ZebroidДокументацияAPIСоздание скриптов установки CMS

Создание скриптов установки CMS

Создание скриптов не очень простое задание. Вы должны хорошо разбираться в механизме установки нужной вам CMS и иметь некоторые навыки создание скриптов автопостинга Zebroid.

Скрипты состоят из следующих файлов и папок:

  • Папка engine — в ней находятся разные версии CMS
  • Папка extra upload — в ней находятся файлы и папки которые необходимо дополнительно залить на FTP после заливки CMS
  • Папка plugins — в ней находятся плагины
  • Папка templates — в ней находятся шаблоны
  • Файл icon.png — иконка CMS 16х16
  • Файл settings.ini — файл с настройками заливки шаблонов и плагинов (формат файла описан ниже)
  • Файл ftp_rights.txt — файл с описанием того, каким файлам и папка какие необходимо установить права. Формат файла простой: через табуляцию записывается путь к папке/файлу и цифровой идентификатор прав, которые необходимо установить
  • Файл ftp_delete.txt — список файлов и папок которые необходимо удалить после установки. Наличие слеша в конце пути является обязательным признаком папки
  • Файл macroses.txt — список макросов для скриптов (формат файла описан ниже)
  • Файл cms install.zcs — файл со скриптом установки CMS (формат файла описан ниже)
  • Файл plugin-template install.zcs — файл со скриптом установки плагинов и шаблонов (формат файла описан ниже)

Формат файла settings.ini (на примере настроенного для WordPress):

[Plugins]
upload_folder=wp-content/plugins/
upload_type=folder_content
script_single_exec=1
[Templates]
upload_folder=wp-content/themes/
preview_filename=screenshot.*
upload_type=folder

  • upload_folder (секция [Plugins]) — путь к папке для заливки плагинов
  • upload_type (секция [Plugins]) — тип заливки. Есть несколько типов: folder — каждый плагин находится в отдельной папке, папки необходимо заливать на FTP целиком; folder_content — каждый файл находится в отдельной папке, но на сервер нужно заливать только содержимое папки; file — каждый плагин — это отдельный файл
  • script_single_exec (секция [Plugins]) — необходимо установить 1 если скрипт для активации всех плагинов запускается только один раз и 0 — если для каждого плагина необходимо отдельно запускать скрипт
  • upload_folder (секция [Templates]) — путь к папке для заливки шаблонов
  • preview_filename (секция [Templates]) — файл с миниатюрой шаблона (если такой есть). Можно задать расширение в виде *, тогда программа будет брать первый файл с подходящим именем
  • upload_type (секция [Templates]) — аналогично upload_type в секции [Plugins]

Формат файла macroses.txt:

ИМЯ_МАКРОСА=ОПИСАНИЕ|ЗНАЧЕНИЕ_ПО_УМОЛЧАНИЮ

Имя макроса может быть любым. Это по сути то, что программа ищет перед запуском скрипта, чтобы заменить на значение. Описание — это то, что увидеть пользователь в списке доп. полей которые ему необходимо заполнить при создании аккаунта. Значение по умолчанию — это значение, которое установлено до того, как пользователь введет своё.

Пример:

URL=Адрес блога|httр://

Формат файла cms install.zcs

program CMSInstall;
procedure BeforeFTPUpload();
begin
  // Функция, которая запускается перед экспортом по FTP (необходима для правки файлов конфигурации перед заливкой)
end;
procedure AfterFTPUpload();
begin
  // Функция, которая запускается после заливки по FTP (используется для заполнение полей веб установщика CMS)
end;

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

Формат файла plugin-template install.zcs

program AdditInastall;
procedure LogIn();
begin
  // Функция которая отвечает за вход в админку сайта после установки CMS и перед установкой плагинов/шаблонов
end;
procedure InstallPlugin(name:string);
begin
  // Функция установки (активации) плагинов. В качестве параметре передается имя плагина в таком же виде, как он выглядит в списке плагинов Зеброида. Если выбран режим "script_single_exec" - тогда передается пустой параметр 
end;
procedure InstallTemplate(name:string);
begin
  // Функция установки (активации) шаблонов. В качестве параметре передается имя шаблона в таком же виде, как он выглядит в списке шаблонов Зеброида
end;

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