1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-05-19 01:08:19 +03:00

fix plugin page activate

This commit is contained in:
Mzhelskiy Maxim 2010-05-04 11:24:15 +00:00
parent 03fa413eb8
commit b2bae8f4d8
3 changed files with 42 additions and 0 deletions

View file

@ -182,6 +182,21 @@ abstract class Plugin extends Object {
return array('result'=>false,'errors'=>$aErrors);
}
/**
* Проверяет наличие таблицы в БД
*
* @param unknown_type $sTableName
* @return unknown
*/
protected function isTableExists($sTableName) {
$sTableName = str_replace('prefix_', Config::Get('db.table.prefix'), $sTableName);
$sQuery="SHOW TABLES LIKE '{$sTableName}'";
if ($aRows=$this->Database_GetConnect()->select($sQuery)) {
return true;
}
return false;
}
public function __call($sName,$aArgs) {
return Engine::getInstance()->_CallModule($sName,$aArgs);
}

View file

@ -22,6 +22,12 @@ class PluginPage extends Plugin {
* Создание таблицы в базе данных при ее отсутствии.
*/
public function Activate() {
if (!$this->isTableExists('prefix_page')) {
/**
* При активации выполняем SQL дамп
*/
$this->ExportSQL(dirname(__FILE__).'/dump.sql');
}
return true;
}

21
plugins/page/dump.sql Normal file
View file

@ -0,0 +1,21 @@
CREATE TABLE IF NOT EXISTS `prefix_page` (
`page_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`page_pid` int(11) unsigned DEFAULT NULL,
`page_url` varchar(50) NOT NULL,
`page_url_full` varchar(254) NOT NULL,
`page_title` varchar(200) NOT NULL,
`page_text` text NOT NULL,
`page_date_add` datetime NOT NULL,
`page_date_edit` datetime DEFAULT NULL,
`page_seo_keywords` varchar(250) DEFAULT NULL,
`page_seo_description` varchar(250) DEFAULT NULL,
`page_active` tinyint(1) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`page_id`),
KEY `page_pid` (`page_pid`),
KEY `page_url_full` (`page_url_full`,`page_active`),
KEY `page_title` (`page_title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
INSERT INTO `prefix_page` (`page_id`, `page_pid`, `page_url`, `page_url_full`, `page_title`, `page_text`, `page_date_add`, `page_date_edit`, `page_seo_keywords`, `page_seo_description`, `page_active`) VALUES
(1, NULL, 'about', 'about', 'About', 'edit this page http://yousite/page/admin/', '2008-11-05 01:03:46', NULL, '', '', 1);