diff --git a/install/convert.sql b/install/convert.sql index 3e2d050e..0062effb 100644 --- a/install/convert.sql +++ b/install/convert.sql @@ -119,9 +119,6 @@ CREATE TABLE `prefix_notify_task` ( PRIMARY KEY ( `notify_task_id` ) ) ENGINE=InnoDB DEFAULT CHARSET = utf8; -ALTER TABLE `prefix_blog_user` - DROP `is_moderator`, - DROP `is_administrator`; ALTER TABLE `prefix_blog_user` ADD `user_role` INT( 3 ) NOT NULL ; ALTER TABLE `prefix_blog_user` CHANGE `user_role` `user_role` INT( 3 ) DEFAULT '1'; diff --git a/install/index.php b/install/index.php index 3f1f1181..bf24f1e3 100644 --- a/install/index.php +++ b/install/index.php @@ -1391,6 +1391,19 @@ class Install { mysql_free_result($aResults); } + /** + * Конвертируем пользователей блогов в роли + */ + $sTable=$aParams['prefix'].'blog_user'; + mysql_query("UPDATE {$sTable} SET user_role = 1 WHERE is_moderator = 0 AND is_administrator = 0 "); + mysql_query("UPDATE {$sTable} SET user_role = 2 WHERE is_moderator = 1 "); + mysql_query("UPDATE {$sTable} SET user_role = 4 WHERE is_administrator = 1 "); + /** + * Удаляем старые поля + */ + if(!mysql_query("ALTER TABLE `{$sTable}` DROP `is_moderator`, DROP `is_administrator`;")) $aErrors[] = mysql_error(); + + if(count($aErrors)==0) { return array('result'=>true,'errors'=>null); }