GameAP:Конфигурация модуля: различия между версиями
Перейти к навигации
Перейти к поиску
Nikita (обсуждение | вклад) (Новая страница: «Конфигурация модуля хранится в двух файлах в корневой директории модуля: * '''module_info.php''' - …») |
Nikita (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
== module_info.php == | == module_info.php == | ||
Путь к файлу должен быть следующим '''application/modules/my_module/module_info.php''' | Путь к файлу должен быть следующим '''application/modules/my_module/module_info.php''' | ||
+ | В php файле должен находиться массив $module_info с информацией о модуле. Информация будет добавлена в БД. | ||
− | Пример содержимого: | + | {| class="wikitable" border="1" |
+ | |- | ||
+ | ! Значение | ||
+ | ! Описание | ||
+ | |- | ||
+ | | '''name''' | ||
+ | | Название модуля | ||
+ | |- | ||
+ | | '''cron_script''' | ||
+ | | Имя cron скрипта (контроллера), который будет выполнен через GameAP Cron. Имя скрипта должно быть уникальное, недопустимо указывать имена существующих моделей и библиотек, например имена "cron", "servers", "users" не подойдут. Оптимальным вариантом будет добавление префикса с названием модуля, например my_module_cron. | ||
+ | |- | ||
+ | | '''description''' | ||
+ | | Подробное описание модуля | ||
+ | |- | ||
+ | | '''version''' | ||
+ | | Версия модуля | ||
+ | |- | ||
+ | | '''show_in_menu''' | ||
+ | | Ссылка на главный контроллер будет отображаться в меню. | ||
+ | |- | ||
+ | | '''access''' | ||
+ | | Доступ к модулю. Пользователям, ниже уровня доступа ссылка отображаться не будет. В модуле необходимо также проводить проверки на уровни доступа. '''user''' - отображение всем пользователям, '''srv_global''' - отображение пользователям с глобальными серверными правами и выше, '''admin''' - отображать только администратору | ||
+ | |- | ||
+ | | '''developer''' | ||
+ | | Имя разработчика модуля | ||
+ | |- | ||
+ | | '''site''' | ||
+ | | Сайт разработчика модуля | ||
+ | |- | ||
+ | | '''email''' | ||
+ | | E-Mail разработчика модуля | ||
+ | |- | ||
+ | | '''copyright''' | ||
+ | | Копирайт | ||
+ | |- | ||
+ | | '''license''' | ||
+ | | Лицензия. Можно указать ссылку на сайт. | ||
+ | |} | ||
+ | |||
+ | |||
+ | '''Пример содержимого:''' | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); | <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); | ||
Строка 27: | Строка 68: | ||
== module_install.php == | == module_install.php == | ||
Скрипт будет выполнен при установке модуля. В скрипте можно обновлять схему для БД. | Скрипт будет выполнен при установке модуля. В скрипте можно обновлять схему для БД. | ||
+ | |||
+ | '''Пример содержимого:''' | ||
+ | <syntaxhighlight lang="php"> | ||
+ | <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); | ||
+ | $this->load->dbforge(); | ||
+ | |||
+ | if (!$this->db->table_exists('content')) { | ||
+ | $fields = array( | ||
+ | 'id' => array( | ||
+ | 'type' => 'INT', | ||
+ | 'constraint' => 16, | ||
+ | 'auto_increment' => TRUE | ||
+ | ), | ||
+ | |||
+ | 'category' => array( | ||
+ | 'type' => 'CHAR', | ||
+ | 'constraint' => 64, | ||
+ | ), | ||
+ | |||
+ | 'page' => array( | ||
+ | 'type' => 'CHAR', | ||
+ | 'constraint' => 64, | ||
+ | ), | ||
+ | |||
+ | 'title' => array( | ||
+ | 'type' => 'CHAR', | ||
+ | 'constraint' => 64, | ||
+ | ), | ||
+ | |||
+ | 'text' => array( | ||
+ | 'type' => 'TEXT', | ||
+ | ), | ||
+ | ); | ||
+ | |||
+ | $this->dbforge->add_field($fields); | ||
+ | $this->dbforge->add_key('id', TRUE); | ||
+ | $this->dbforge->create_table('content'); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | При установке в базе данных будет создана таблица content. |
Версия 02:55, 12 октября 2013
Конфигурация модуля хранится в двух файлах в корневой директории модуля:
- module_info.php - Основные параметры
- module_install.php - Параметры установки модуля
Оба файла должны находиться в корневой директории модуля, например в application/modules/my_module
module_info.php
Путь к файлу должен быть следующим application/modules/my_module/module_info.php В php файле должен находиться массив $module_info с информацией о модуле. Информация будет добавлена в БД.
Значение | Описание |
---|---|
name | Название модуля |
cron_script | Имя cron скрипта (контроллера), который будет выполнен через GameAP Cron. Имя скрипта должно быть уникальное, недопустимо указывать имена существующих моделей и библиотек, например имена "cron", "servers", "users" не подойдут. Оптимальным вариантом будет добавление префикса с названием модуля, например my_module_cron. |
description | Подробное описание модуля |
version | Версия модуля |
show_in_menu | Ссылка на главный контроллер будет отображаться в меню. |
access | Доступ к модулю. Пользователям, ниже уровня доступа ссылка отображаться не будет. В модуле необходимо также проводить проверки на уровни доступа. user - отображение всем пользователям, srv_global - отображение пользователям с глобальными серверными правами и выше, admin - отображать только администратору |
developer | Имя разработчика модуля |
site | Сайт разработчика модуля |
E-Mail разработчика модуля | |
copyright | Копирайт |
license | Лицензия. Можно указать ссылку на сайт. |
Пример содержимого:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
$module_info['name'] = 'My module';
$module_info['cron_script'] = 'cron_commercial';
$module_info['description'] = 'Мой модуль для GameAP';
$module_info['version'] = '1.0';
$module_info['show_in_menu'] = 1;
$module_info['access'] = '90';
$module_info['developer'] = 'ET-NiK';
$module_info['site'] = 'http://hldm.org';
$module_info['email'] = 'nikita@hldm.org';
$module_info['copyright'] = '(c) 2013, ET-NiK (http://hldm.org)';
$module_info['license'] = 'http://www.gameap.ru/license.html';
module_install.php
Скрипт будет выполнен при установке модуля. В скрипте можно обновлять схему для БД.
Пример содержимого:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
$this->load->dbforge();
if (!$this->db->table_exists('content')) {
$fields = array(
'id' => array(
'type' => 'INT',
'constraint' => 16,
'auto_increment' => TRUE
),
'category' => array(
'type' => 'CHAR',
'constraint' => 64,
),
'page' => array(
'type' => 'CHAR',
'constraint' => 64,
),
'title' => array(
'type' => 'CHAR',
'constraint' => 64,
),
'text' => array(
'type' => 'TEXT',
),
);
$this->dbforge->add_field($fields);
$this->dbforge->add_key('id', TRUE);
$this->dbforge->create_table('content');
}
При установке в базе данных будет создана таблица content.