Форум сетевых администраторов
Показаны 6 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Хаки от Netadmin или "Сделай сам" (http://netadmin.ws/forum/forumdisplay.php?forumid=76)
-- Оболочка для разработки и инсталляции хаков - Hack Manager (http://netadmin.ws/forum/showthread.php?threadid=9669)


Помещено DimonT 12-10-2004 в 14:44:

Оболочка для разработки и инсталляции хаков - Hack Manager

Данный хак представляет собой не что иное, как инструмент для инсталляции других хаков (нечто вроде InstallShield). Создание такой системы преследует 2 цели: во-первых, можно легко отслеживать, что и где в движке форума вы когда-либо меняли, во-вторых, большинство замен можно делать с помощью скрипта, не копаясь руками в файлах, что облегчает установку хаков на порядок. (а также снимает с автора хака задачу написания своего инсталлятора)

Из похожих хаков мне известен только Hack Tracking Log (HTL), но он мне не нравится по многим причинам: излишне запутан и громоздок, при этом не умеет автоматически выполнять замены в файлах/темплейтах, и много чего еще..

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


Для каждой модификации система хранит состояние - установлена она или нет. Хак считается полностью установленным, если установлены все его модификации.

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

По ходу инсталляции выводится отчет о всех проделанных изменениях, а также об ошибках, если таковые возникают (самый распространенный случай - не удалось найти в файле требуемый фрагмент кода). Очевидно, что для внесения каких-либо изменений в файлы PHP должен обладать правами записи на них; в случае отсутствия таких прав, автоматические файловые модификации невозможны.

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

Фичи

__________________
вот так вот...

ICQ 937160


Помещено MCTarakan 12-10-2004 в 17:10:

DimonT ну ты крут! осталось писать хаки под эту систему!

__________________
yMC.ru - хомяк музыканта


Помещено DimonT 12-10-2004 в 17:18:

в архиве есть 2 штуки моего собственного написания, плюс я во время теста HTL-импортера переделал несколько старых хаков с вб.орг (private attachments, who downloaded и еще что-то..) под 3.0.3 с проверкой, чтобы на свежеустановленный форум ставилось все автоматом без ошибок... но их тут не выкладываю, потому как правилами вроде это запрещено

__________________
вот так вот...

ICQ 937160


Помещено phprus 13-10-2004 в 11:07:

DimonT
Насколько надежен этот хак? Можно ли его ставить на форум и не бояться сбоев? и как быть с уже истановленными хаками? твоя оболочка их распознает?


Помещено DimonT 14-10-2004 в 08:29:

от непосредственно установки тебе явно ничего плохого не будет, плохо может быть лишь от автоустановки криво написанных хаков.
да и то, если в хаке нет необратимых замен типа "в файле ... все буквы a заменить на b", запросов "DROP DATABASE ..." и тому подобного идиотизма, легко можно вернуть все в исходное состояние деинсталляцией хака.

уже установленные вручную хаки система, разумеется, не распознает, у нее же нет копии оригинальных vBшных файлов, чтобы находить различия.
(но ты можешь сам эти различия вынести в новый хак и поставить галочку "already installed", тогда этот хак можно будет автоматом деинсталлировать, а также можно будет легко поделиться им с другими )

__________________
вот так вот...

ICQ 937160


Помещено uT)Dev1L 30-10-2004 в 20:19:

Ну вот написал хак молодец 5+ тебе за это, а под него даже не существует хаков кроме твоих. Америкосам все равно по барабну что ты там написал как они писали ручками так наверно и будут


Формат времени GMT. Текущее время 11:32.
Показаны 6 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.