GameAP:Конфигурация модуля

Материал из HLDM Wiki
Перейти к: навигация, поиск

Документация для разработчиков

Конфигурация модуля хранится в двух файлах в корневой директории модуля:

  • 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 Сайт разработчика модуля
email 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.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты
Ресурсы сообщества