технарь
Профессионал
Сообщений: 1825
Регистрация: 12.2011
|
Для начала определимся с терминологией:
element или tag: в теги заключены инструкции для установщика, указывающие, что ему делать, например <install></install>
attribute или property: дополнительный параметр в тегах, конкретизирующий инструкцию
inline: код или текст, который будет подлежать замене
file: имя файла, который подлежит изменению
location или path: путь к файлу или директории
Так же следует пояснить смысл некоторых переменных
$boarddir: Корневой каталог форума. Обычно это каталог, в котором расположен index.php
$sourcedir: Путь к каталогу Sources в котором расположены основные файлы движка (например Post.php, Admin.php и другие)
$avatardir: Путь к каталогу Avatars в котором расположены аватары.
$themedir: Путь к каталогу с текущей темой оформления
$themes_dir: Путь к каталогу со всеми темами
$imagesdir: Путь к директории с рисунками, используемые в выбранной теме
$languagedir: Путь к директории с языковыми файлами
$smileysdir: Путь к директории со смайлами
package-info.xml
Все элементы не являются обязательными и не содержат атрибутов, если это не указано явным образом.
<package-info></package-info>
Головной тег. Должен охватывать все остальные элементы в файле.
Атрибуты:
xmlns: по умолчанию "http://www.simplemachines.org/xml/package-info"; не обязателен
<id></id>
Contains the id of the package. Should be in the format of [username]:[package name]. For instance sleepy:LeetMod When submitting a mod to the mod site, the username should be your username from www.simplemachines.org
<name></name>
Contains the name of the package.
<type></type>
The type of package - "avatar", "language", or "modification".
<version></version>
The package's current version.
<install></install>, <upgrade></upgrade>, and <uninstall></uninstall>
Actions taken on installation. The elements and their attributes are the same for the install, upgrade, and uninstall elements.
Attributes:
for: What versions to install/upgrade/uninstall for. Comma delimited string with ranges such as "1.0-1.5,2.0"; optional
from: Upgrade Only; What mod versions they are upgrading from. Comma delimited string with ranges such as "1.0-1.5,2.0"; optional
Теги:
<readme></readme> или <readme /> (используется только если type="file")
Текст с описанием или имя файла, содержащего описание
Не обязателен: Да
Атрибуты:
lang: указание для какого языка использовать; не обязателен
parsebbc: следует ли анализировать в файле bbcode; не обязателен; по умолчанию - false
type: тип "inline" или "file"; по умолчанию "file"; не обязателен
Примеры:
<readme type="inline" parsebbc="true" lang="russian">[center][glow=black,2,300][size=16pt]Это текст описания[/size][/glow]</readme>
<readme type="file" parsebbc="true">readme.txt</readme>
<code></code> or <code /> (for use with type="file" only)
Filename of a php file to be executed.
Deprecated use in SMF 2.0, please use <database> in SMF 2.0 or higher
Optional: Yes
Attributes:
type: "inline" or "file"; defaults to "file"; optional
<database></database> or <database /> (for use with type="file" only)
Filename of a database code to be executed.
Only exists in SMF 2.0 or higher
Optional: Yes
Attributes:
type: "inline" or "file"; defaults to "file"; optional
<modification></modification> or <modification /> (for use with type="file" only)
Instructions to take for a modification.
Optional: Yes
Attributes:
type: if "inline", you may use the <file>, <operation>, <search>, and <add> elements listed in the modification.xml documentation."inline" or "file"; defaults to "file"; optional
reverse: reverse the instructions; "true" or "false"; defaults to "false"; optional
format: this documentation only covers xml formatted modifications and it is recommended that you use this format; "xml" or "boardmod"; defaults to "xml"; optional
<create-dir />
Create a new directory.
Optional: Yes
Attributes:
name: the name of the directory
destination: the path of the directory where you want to create this new directory
<create-file />
Create a blank file.
Optional: Yes
Attributes:
name: the name of the file
destination: the path of the directory where you want to create this new file
<require-dir />
Require a directory and all files in it from inside the package.
Optional: Yes
Attributes:
from: the path to the directory
name: the name of the directory
destination: the path of where you want to put this directory
<require-file />
Require a file from inside the package.
Optional: Yes
Attributes:
from: the path to the file
name: the name of the file
destination: the path of where you want to put this file
<move-dir />
Move an entire directory. May also be used to rename a directory by moving it to it's parent directory with a different name.
Optional: Yes
Attributes:
from: the path of the directory you want to move
name: the name of the directory
destination: the path to where you want to put the directory
<move-file />
Move a file. May also be used to rename a file by moving it to it's parent directory with a different name.
Optional: Yes
Attributes:
from: the path of the file you want to move
name: the name of the file
destination: the path to where you want to put the file
<remove-dir />
Remove a directory and all files in it.
Optional: Yes
Attributes:
name: the name and path of the directory to be removed
<remove-file />
Remove a file.
Optional: Yes
Attributes:
name: the name and path of the file to be removed
<redirect></redirect> or <redirect />
Redirect after install/upgrade/uninstall.
Optional: Yes
Attributes:
url: the url to redirect to; Required. "$boardurl", "$scripturl", and "$session_id" are accepted.
type: inline or file. Whether to use a file or inline text for redirect text.
timeout: Time until the redirect occurs. Default: 5 seconds
Например:
<redirect url="?action=admin;area=maintain;sa=routine;activity=cleancache" timeout="3000"></redirect> |