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.