Current Path : /var/www/html/clients/nsmk.e-nk.ru/application/maxsite/plugins/guestbook/ |
Current File : /var/www/html/clients/nsmk.e-nk.ru/application/maxsite/plugins/guestbook/index.php |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /** * MaxSite CMS * (c) http://max-3000.com/ */ # функция автоподключения плагина function guestbook_autoload($args = array()) { mso_create_allow('guestbook_edit', t('Админ-доступ к гостевой книге', __FILE__)); mso_hook_add('admin_init', 'guestbook_admin_init'); # хук на админку mso_hook_add('custom_page_404', 'guestbook_custom_page_404'); # хук для подключения к шаблону } # функция выполняется при активации (вкл) плагина function guestbook_activate($args = array()) { $CI = & get_instance(); if ( !$CI->db->table_exists('guestbook')) // нет таблицы guestbook { $charset = $CI->db->char_set ? $CI->db->char_set : 'utf8'; $collate = $CI->db->dbcollat ? $CI->db->dbcollat : 'utf8_general_ci'; $charset_collate = ' DEFAULT CHARACTER SET ' . $charset . ' COLLATE ' . $collate; $sql = " CREATE TABLE " . $CI->db->dbprefix . "guestbook ( guestbook_id bigint(20) NOT NULL auto_increment, guestbook_ip varchar(255) NOT NULL default '', guestbook_browser varchar(255) NOT NULL default '', guestbook_date datetime default NULL, guestbook_approved bigint(20) NOT NULL default '0', guestbook_name varchar(255) NOT NULL default '', guestbook_text longtext, guestbook_title varchar(255) NOT NULL default '', guestbook_email varchar(255) NOT NULL default '', guestbook_icq varchar(255) NOT NULL default '', guestbook_site varchar(255) NOT NULL default '', guestbook_phone varchar(255) NOT NULL default '', guestbook_custom1 varchar(255) NOT NULL default '', guestbook_custom2 varchar(255) NOT NULL default '', guestbook_custom3 varchar(255) NOT NULL default '', guestbook_custom4 varchar(255) NOT NULL default '', guestbook_custom5 varchar(255) NOT NULL default '', PRIMARY KEY (guestbook_id) )" . $charset_collate; $CI->db->query($sql); } return $args; } # функция выполняется при деинстяляции плагина function guestbook_uninstall($args = array()) { mso_delete_option('plugin_guestbook', 'plugins'); // удалим созданные опции mso_remove_allow('guestbook_edit'); // удалим созданные разрешения // удалим таблицу $CI = &get_instance(); $CI->load->dbforge(); $CI->dbforge->drop_table('guestbook'); return $args; } # функция выполняется при указаном хуке admin_init function guestbook_admin_init($args = array()) { if ( !mso_check_allow('guestbook_edit') ) { return $args; } $this_plugin_url = 'guestbook'; // url и hook # добавляем свой пункт в меню админки # первый параметр - группа в меню # второй - это действие/адрес в url - http://сайт/admin/demo # можно использовать добавочный, например demo/edit = http://сайт/admin/demo/edit # Третий - название ссылки mso_admin_menu_add('plugins', $this_plugin_url, t('Гостевая книга', __FILE__)); # прописываем для указаного admin_url_ + $this_plugin_url - (он будет в url) # связанную функцию именно она будет вызываться, когда # будет идти обращение по адресу http://сайт/admin/guestbook mso_admin_url_hook ($this_plugin_url, 'guestbook_admin_page'); return $args; } # функция вызываемая при хуке, указанном в mso_admin_url_hook function guestbook_admin_page($args = array()) { # выносим админские функции отдельно в файл if ( !mso_check_allow('guestbook_edit') ) { echo t('Доступ запрещен', 'plugins'); return $args; } mso_hook_add_dinamic( 'mso_admin_header', ' return $args . "' . t('Гостевая книга', __FILE__) . '"; ' ); mso_hook_add_dinamic( 'admin_title', ' return "' . t('Гостевая книга', __FILE__) . ' - " . $args; ' ); if ( mso_segment(3) == 'edit') require(getinfo('plugins_dir') . 'guestbook/edit.php'); elseif ( mso_segment(3) == 'editone') require(getinfo('plugins_dir') . 'guestbook/editone.php'); else require(getinfo('plugins_dir') . 'guestbook/admin.php'); } # подключаем свой файл к шаблону function guestbook_custom_page_404($args = false) { $options = mso_get_option('plugin_guestbook', 'plugins', array()); if ( !isset($options['slug']) ) $options['slug'] = 'guestbook'; if ( mso_segment(1)==$options['slug'] ) { require( getinfo('plugins_dir') . 'guestbook/guestbook.php' ); // подключили свой файл вывода return true; // выходим с true } return $args; } ?>