From 1b41ce83ef9a474216f0357c8585a8085f0bef82 Mon Sep 17 00:00:00 2001 From: Mzhelskiy Maxim Date: Sun, 28 Aug 2011 11:41:59 +0000 Subject: [PATCH] fix install --- install/index.php | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/install/index.php b/install/index.php index 7073d8b3..60764e16 100644 --- a/install/index.php +++ b/install/index.php @@ -1193,7 +1193,16 @@ class Install { /** * Добавляем новый тип топика */ - $this->addEnumTypeDatabase($aParams['prefix'].$sTableName,'topic_type','photoset'); + $this->addEnumTypeDatabase($aParams['prefix'].'topic','topic_type','photoset'); + /** + * Если установлен плагин "page", то обновляем его таблицу + */ + $sTable=$aParams['prefix'].'page'; + if ($this->isTableExistsDatabase($sTable)) { + if (!$this->isFieldExistsDatabase($sTable,'page_auto_br')) { + mysql_query("ALTER TABLE `{$sTable}` ADD `page_auto_br` TINYINT( 1 ) NOT NULL DEFAULT '1'"); + } + } if(count($aErrors)==0) { return array('result'=>true,'errors'=>null); @@ -1222,6 +1231,37 @@ class Install { } } } + /** + * Проверяет существование таблицы + * + * @param unknown_type $sTableName + * @return unknown + */ + public function isTableExistsDatabase($sTableName) { + $sQuery="SHOW TABLES LIKE '{$sTableName}'"; + if ($res=mysql_query($sQuery)) { + return true; + } + return false; + } + /** + * Проверяет существование поля таблицы + * + * @param unknown_type $sTableName + * @param unknown_type $sFieldName + * @return unknown + */ + public function isFieldExistsDatabase($sTableName,$sFieldName) { + $sQuery="SHOW FIELDS FROM `{$sTableName}`"; + if ($res=mysql_query($sQuery)) { + while($aRow = mysql_fetch_assoc($res)) { + if ($aRow['Field'] == $sFieldName){ + return true; + } + } + } + return false; + } /** * Валидирует данные администратора *