Установщик сторонних модулей

Если у вас есть модуль, которым вы хотите поделиться - пишите в этот раздел

Модератор: core team

welcometohellman
Новенький
Сообщения: 9
Зарегистрирован: Пт янв 10, 2014 4:42 pm

Сообщение welcometohellman » Сб янв 25, 2014 12:44 am

xoma писал(а):
welcometohellman писал(а):https://github.com/welcometohell/modinstaller

Взял на себя смелость продолжить начинание на основе работы helldog, ибо задача для меня была актуальна. Надеюсь никто не в обиде :) Прошу потыкать носом в матчасть, для Yii не писал никогда.. Ну и дальше что с этим делать посоветуйте..? (кроме загрузки по url, это понятно)
и да, там .zip. Так надо)



Отлично! Потестим! Какой алгоритм обработки если ставим модуль, а он уже есть ?


Переводики да, надо) сделаю) А вот что делать если модуль уже установлен с таким именем, то сейчас просто выдается ошибка что такой уже есть. Вот хотелось бы посоветоваться как дальше действовать?

Rain
Новенький
Сообщения: 7
Зарегистрирован: Пт окт 25, 2013 4:39 pm

Сообщение Rain » Сб янв 25, 2014 11:51 am

welcometohellman писал(а):
xoma писал(а):
welcometohellman писал(а):https://github.com/welcometohell/modinstaller

Взял на себя смелость продолжить начинание на основе работы helldog, ибо задача для меня была актуальна. Надеюсь никто не в обиде :) Прошу потыкать носом в матчасть, для Yii не писал никогда.. Ну и дальше что с этим делать посоветуйте..? (кроме загрузки по url, это понятно)
и да, там .zip. Так надо)



Отлично! Потестим! Какой алгоритм обработки если ставим модуль, а он уже есть ?


Переводики да, надо) сделаю) А вот что делать если модуль уже установлен с таким именем, то сейчас просто выдается ошибка что такой уже есть. Вот хотелось бы посоветоваться как дальше действовать?

Могу предложить только вариант с обновлением:


$module = Yii::app()->getModule('page');
$author = $module->getAuthor();
$version = $module->getVersion();

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

Если автор другой, то нужно вывести сообщение о том, что уже установлен такой модуль и предложить заменить на новый, либо оставить прежний
Если пользователь выбирает замену модуля, тогда старый нужно будет деинсталировать и удалить файлы, и записать новые

В приложении для примера привел реализацию от WebLigo
В каждом архиве модуля есть файл package.json, где полное описание модуля
Какие изменения, какие файлы куда копировать (полные пути), и прочая информация..
В Yupe это уже почти все реализовано (<Name>Module.php)
Последний раз редактировалось Rain Сб янв 25, 2014 12:39 pm, всего редактировалось 1 раз.


Вернуться в «Дополнительные модули»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя