Биллинговая система Nodeny

Главная категория => Модули NodenyPlus => Тема начата: sov от 04 Сентября 2013, 12:48:07



Название: Улучшить install.pl -x
Отправлено: sov от 04 Сентября 2013, 12:48:07
Я тут активно правлю Н+ под свои требования, и столкнулся с тем, что одни и те-же файлы правятся не только у меня, но и в модулях других разработчиков.
А поскольку код я перепахиваю довольно сильно, простыми вставками в район хуков не обойтись - приходится делать new.

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

Допустим, ввести ещё один необязательный параметр order:
#<ACTION> file=>'web/users.pl',hook=>'new',order=>'2'
Чем меньше число, тем раньше загружать модуль. При отсутствии параметра считать его равным, допустим, 100.

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


Название: Re: Улучшить install.pl -x
Отправлено: Efendy от 04 Сентября 2013, 19:23:35
уже есть такая фича, только она работает иначе: указывается после какого модуля должен запустится данный модуль. Пример:

Код:
#<ACTION> file=>'web/yamap.pl',hook=>'filtr_url',require=>['yamap']

можно перечислять модули через запятую


Название: Re: Улучшить install.pl -x
Отправлено: sov от 04 Сентября 2013, 21:21:33
уже есть такая фича
Ясно, спасибо.

Другой вопрос. У меня есть куча исправлений вот такого рода:
[ 'бонусы'              => 'p.category=2'   ],
меняю на
[ 'безналичный платёж'          => 'p.category=2'   ],

или
my $for_adm = _('[] [] [] [] []', Adm->get($from_adm)->admin, $cash, $cfg::gr, $msg, Adm->get($to_adm)->admin);
на
my $for_adm = _('[] [] [] [] []', Adm->get($from_adm)->admin, $msg, $cash, $cfg::gr, Adm->get($to_adm)->admin);

Можно, конечно, использовать для таких замен diff/patch, но лучше, если такая штука будет сразу встроена в install.pl.

И сразу ещё вопрос - планируете-ли вынести весь текст в отдельные языковые файлы?


Название: Re: Улучшить install.pl -x
Отправлено: Efendy от 05 Сентября 2013, 14:25:43
Такую "штуку" я могу реализовать если ты расскажешь как она будет работать). Применять обычный патч - это делать не буду т.к. код может меняться и будут патчи только к определенной ревизии. Ну, или выпускать релиз надо...

Перенести тексты в языковые файлы можно, но их там просто дофигища, когда это делать...


Название: Re: Улучшить install.pl -x
Отправлено: sov от 05 Сентября 2013, 18:12:01
Такую "штуку" я могу реализовать если ты расскажешь как она будет работать). Применять обычный патч - это делать не буду т.к. код может меняться и будут патчи только к определенной ревизии.
Сначала применяются все исправления из модулей, а затем отрабатывает эта "штука" - проходит по получившемуся результату и тупо меняет одни строки на другие.

Ведь от замены
[ 'бонусы'              => 'p.category=2'   ],
на
[ 'безналичный платёж'          => 'p.category=2'   ],
код не перестанет работать.

А таких исправлений лично у меня довольно много. Как-то так сложилось, что у нас с вами одно и то-же обзывается немного разными словами. И ввиду отсутствия языковых файлов, приходится вносить исправления прямо в коде :(

Думаю, для поддержания принятой системы исправлений, правки должны вноситься только в фантомные файлы, а если для нужного файла фантома ещё нет - он должен создаваться.