аction
RPG
стратегии
симуляторы
adventure/quest
десткие
некомпьютерные
прочие



Новости

Обзоры

Preview

Сheat-коды

Советы бывалого

Советы проходимца

Кузница

Музей

Вокруг игр

Интернет

Справочник

Галерея
Портал для ленивых 5
Том/Doc/КЕРТИС
Серия: 1, 2, 3, 4, 5
14.06.2004  
   

Жарко, да? Вот и мне жарко — сейчас бы на пляж, в речку нырнуть… Ан нет. Писать надо. Да еще к тому же не обычный обзор, а статью, претендующую на какое-то интеллектуальное наполнение :-). Одно радует: данная статья, собственно, как я обещал, будет последней в цикле. Кажется, все, что нужно рассказать, я уже рассказал, или дорасскажу сегодня. Остальное, если будет время и желание, вы сможете выучить и без моей скромной помощи: моя задача — не научить вас всем премудростям порталостроения, а всего-навсего указать направление движения, придав необходимое ускорение :-). Надеюсь мне это хоть немного удалось.

Но хватит лирики, пора приступать к работе — надеюсь, когда вы будете читать данную статью, на улице не будет так жарко. Итак, на чем мы там остановились? На установках модификаций? Тогда продолжим. Тем более, что тема очень даже важная и интересная.

Но, сначала небольшое пояснение: тут получил несколько писем, в которых люди модифицировали файлы (ставили туда русский текст), а получали нечто оригинальное, например, 'page_title' => "¦ющ яюью•эшъ". Неплохая надпись, да? Правда не совсем понятная :-). На самом деле, выглядеть она должна так 'page_title' => "Мой помощник". Так в чем трабл? Кто сказал «в кодировке»? Ты? Молодец, вырастешь, будешь умным, как Маньяк. Действительно, судя по всему, внося изменения, вы пользовались FAR`ом. Как я и советовал, впрочем. Но Фар по умолчанию открывает файлы в DOS-кодировке. Спасет вас клавиша F8, меняющая кодировку (убедитесь, что вместо надписи DOS вверху появилась надпись Win), либо другой редактор. Редакторов, кстати, на свете уйма, но нас интересует бесплатный, легкий в использовании и, очень желательно, на русском языке — правильно? В результате, испробовав несколько различных вариантов, я остановился на редакторе под оригинальным названием TEA. Не буду утверждать, что это самый хороший редактор — не люблю обманывать, но он довольно легок в обращении и обладает рядом полезных функций. Скачать его можно тут: http://www.softbox.ru/?a=21&i=463, или там: http://soft.ks.ua/freesoftware/298. Из полезных функций данного редактора отмечу Сравнение. Что это за зверь? Поясню. К примеру, у нас имеется два файла, предположим, forums.php, но файлы разные. В одном из них имеются неправильные строки. Как их найти? Можно, конечно, внимательно прочитать неправильный файл… А можно просто использовать функцию сравнения двух файлов — редактор подсветит вам все расхождения. Смотрите, мол! Кстати, именно благодаря данному редактору я нашел-таки ошибку в одном из файлов форума, которую не мог найти недели две :-).

Ладно, с редактированием, кажется, разобрались, пора вернуться к модифицированию, так? Поскольку большинство модов разрабатываются там, у них, то и язык, на котором они написаны, не наш :-). Впрочем, это вас особо волновать не должно — как я уже говорил, знания PHP от вас не потребуется, а что касается владения вражьей мовой, то вполне достаточно знать значения нескольких выражений. Вот их я сейчас и опишу:

Open filename.php — по нашему это значит «открыть filename.php», где filename, естественно, — название файла.

Find — «найдите» — тут все понятно: в файле filename.php ищем указанный кусок кода. В нашем прошлом примере это была строчка 'buddy' => "browsebuddy".

К сожалению, довольно часто нам бывает нужно найти кусок, состоящий из нескольких строк. Например:

Сразу скажу: поиск тут не поможет. Что делать? Сначала ищем первую строку, потом посмотрим, не повторяется ли она несколько раз, и, ясное дело, сравним остальные строки. Тут нужно быть очень аккуратным, дабы не вставить кусок кода туда, где он совсем не нужен :-).

Add below, under that, after that — «вставьте после» — это значит, что после найденного нами отрывка — ага, того, который 'buddy' => "browsebuddy" — вставляем 'rep' => "Reputation".

Тут, кстати, есть еще один полезный совет — комментарии. Сделали изменения, поставили новый мод? Закомментируйте это. Примерно так:

'rep_cantchange' => "Администратор запретил Вам изменять репутацию других пользователей",

Что я сделал? Я вставил в файл lang/*/lang_error.php код для модификации под названием… правильно, Reputation — на нашем форуме данная фишка называется «репутация», или просто «репа». И, для удобства, закомментировал. Теперь, если мне придется вносить изменения в репутацию или я захочу ее вообще убрать — пожалуйста, нет ничего проще. Это необязательное правило, просто так будет удобней.

Кстати, комментировать в php можно тремя способами:

• используя двойной слеш // — все, что за ним и до конца строки, считается комментарием;

• используя # — все что следует далее и до конца строки, считается комментарием;

• /* комментарий */ — могут быть многострочными.

Угадайте, каким способом пользовался я :-)?

Поехали дальше.

Add before — «добавить перед». Смотри предыдущий пункт :-).

Replace with — «заменить на» — необходимо заменить найденный отрывок указанным. Помните, в прошлой статье это мы уже проходили:

1.2. Открыть файл sources/functions.php

Найти:

Заменить на:

Напоминаю, именно при замене нужно быть особенно осторожным и внимательным! Семь раз проверь, один раз замени. И убедись, что ты заменяешь именно нужный кусок кода, а не просто похожий! После замены (впрочем, равно как и после других изменений) сразу запусти форум и проверь его на работоспособность, чтобы потом не размышлять, в каком из сотни файлов ты напортачил.

Кстати, для сравнения кода стоит можно использовать программку типа AraxisMerge. Скачать ее можно тут: http://www.araxis.com. Правда, это триал-версия, и для скачивания нужно зарегистриться… Можете поискать другие варианты через поисковики. Наверняка есть и другие места, где можно скачать эту утилиту. В любом случае, рекомендую!

Помните еще одну вещь: версия вашего форума может отличаться от той, для которой написан хак — лично я часто сталкиваюсь с данным траблом. У нас, на МиК Портале мы используем Русский Модифицированный IPB v1.2, к тому же снабженный немалым количеством различных хаков и модификаций. Стандартные моды, увы, пишут, как правило, к немодифицированному и совсем не русскому Invision Power Board, код которого весьма и весьма отличается. К примеру, не так давно, устанавливая очередной хак, я столкнулся с проблемой, что нужных мне строчек, ПОСЛЕ которых нужно вставить кусок кода, просто не существует . Что делать в таком случае? Первое: поискать похожие строки — вполне вероятно, что вы (или кто другой) уже вносили изменения, но не закомментировали их. Нашли? Нет? Тогда нам нужен немодифицированный файл из стандартной IPB-поставки — давайте откроем его и посмотрим, где этот код ДОЛЖЕН находиться! Нашли? Смотрим, что у нас там. Сравниваем. Молимся и вставляем код ПРИМЕРНО туда :-). Не вышло? Тогда ищем ПОХОЖИЙ кусок кода в том файле, который собираемся изменять. Нашли? Теперь сравниваем куски — если код отличается только в том, что относится к хаку, можем заменять, в противном случае нужно внести в оригинальный код только изменения, касающиеся устанавливаемого хака. Сложно? Увы. Это действительно сложно… Впрочем, с подобными проблемами я столкнулся только несколько раз и, немного поломав голову, таки смог их решить. И НЕ ЗАБУДЬТЕ ЗАКОММЕНТИРОВАТЬ ИЗМЕНЕНИЯ!!!

Например, так:

Фух, с этим все. Что там у нас дальше? Ах, это… ладно.

Изменение шаблонов стиля

Тут ничего особенно отличающегося от изменения файлов нет. Единственное, что необходимо учесть, так это то, что если на вашем форуме больше одного шаблона (скина), то вносить изменения нужно во все — иначе пользователи, пользующиеся другим скином, их просто не увидят. Правда, и тут имеются исключения — к примеру, в данный момент я тестирую на форуме форумную RPG. Она, правда, оказалась глючной, так что, вероятно, скоро я ее уберу, но дело не в этом. Дело в том, что ряду людей игра не нравилась, как не нравилось и то, что изменился скин форума, поэтому для них я поставил отдельный шаблон — без РПГ. Все остальные изменения в шаблонах совпадают.

Что у нас дальше по программе? Ах… конечно!

Закачка новых файлов на сервер

Самое простое. Советую пользоваться хорошим FTP-клиентом. Повторюсь: лично я пользуюсь Cute FTP Pro 2.0. Скачать его можно тут: ftp://ftp.cuteftp.com/pub/cuteftppro/cuteftppro.exe, а русификацию найти здесь: http://almatsoft.narod.ru/rus.htm, или там: http://papa16.narod.ru/rusifik122.htm. Пользуйтесь!

И последняя стадия нашего безумия — тоже необязательно, но полезно.

Ведение журнала об установленных хаках

Этот момент также важен и полезен, как и комментирование изменяемого кода. Заведите себе журнальный файл и вписывайте в него по меньшей мере название хака, версию, дату установки. Также туда можно вписывать изменения в базе данных, модифицированные файлы, другую полезную информацию. Этот файл вам пригодится при переходе на новые версии скрипта, а также для удаления хаков.

Вот пример подобного файла (не моего, увы, — я, как человек порывистый и слегка безалаберный, сначала делаю, а потом думаю :-). И обычно забываю записать свои действия. От чего потом часто страдаю):

Фух!

Представляете, пока писал, так и жара прошла, прохладно на улице. Клево! Пивка, что ли, попить? Или, может, новый хак на форум поставить :-)?

Заключение

Вот, собственно, на этом я хочу закончить. Как мне кажется. Ничего важного я не забыл, все рассказал. Если вы внимательно читали данный цикл, то вполне способны самостоятельно поставить себе Портал или настроить и модифировать форум. Ну а если что-то не получается — спрашивайте. Если смогу — отвечу.

Кстати, пока я писал цикл, на свет появилась прикольная вещь — Комплект Денвер + PHP-NUKE 7.3 RUS. Вот что написано автором:

Данный комплект предназначен и рекомендуется новичкам!!! Все устанавливается одним кликом, создаются ярлыки управения Денвером и порталом и т.д. Надеюсь, он поможет многим новичкам хотя бы понять, ЧТО такое Php-Nuke ! :-)

Со своей стороны скажу: да. Интересная штука и полезная. Особенно для тех, кто только принялся за освоение Нюки. Качайте ее отсюда: http://download.rus-phpnuke.com/_DenverNuke.exe.

Ну, и напоследок напомню важные ссылки:

PHP-Nuke по-русски — http://www.rus-phpnuke.com/index.php

Русская поддержка IPB — http://www.ibresource.ru

Российский сайт форума phpBB — http://myphpbb.com.ru.

На этом все. Дерзайте.

P.S. Продолжение цикла возможно, но только в случае, если у вас появится много вопросов, или вы обнаружите что-то, о чем я забыл рассказать, хотя это стоило бы сделать. Так что все в ваших руках :-).

А пока… Стройте.

Серия: 1, 2, 3, 4, 5



 

© 1998-2002, ИД "Мой Компьютер". Тексты статей. © 2002, Федор Сергеев. Дизайн. Графика. © 2002, Николай Угаров (xKO). Дизайн, программирование

         bigmir)net TOP 100