mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Удаление таблицы user_administrator, теперь флаг админа хранится в поле user_admin таблицы user
This commit is contained in:
parent
a2b4091cc7
commit
2d0e1685e1
|
@ -149,6 +149,16 @@ class ModuleUser_EntityUser extends Entity
|
|||
return $this->_getDataOne('user_mail');
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает флаг админа
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getAdmin()
|
||||
{
|
||||
return $this->_getDataOne('user_admin');
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает дату регистрации
|
||||
*
|
||||
|
@ -515,7 +525,7 @@ class ModuleUser_EntityUser extends Entity
|
|||
*/
|
||||
public function isAdministrator()
|
||||
{
|
||||
return $this->_getDataOne('user_is_administrator');
|
||||
return $this->getAdmin();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -631,6 +641,16 @@ class ModuleUser_EntityUser extends Entity
|
|||
$this->_aData['user_mail'] = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает флаг админа
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setAdmin($data)
|
||||
{
|
||||
$this->_aData['user_admin'] = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает дату регистрации
|
||||
*
|
||||
|
|
|
@ -66,6 +66,7 @@ class ModuleUser_MapperUser extends Mapper
|
|||
SET
|
||||
user_password = ? ,
|
||||
user_mail = ? ,
|
||||
user_admin = ? ,
|
||||
user_date_activate = ? ,
|
||||
user_date_comment_last = ? ,
|
||||
user_rating = ? ,
|
||||
|
@ -92,6 +93,7 @@ class ModuleUser_MapperUser extends Mapper
|
|||
";
|
||||
$res = $this->oDb->query($sql, $oUser->getPassword(),
|
||||
$oUser->getMail(),
|
||||
$oUser->getAdmin(),
|
||||
$oUser->getDateActivate(),
|
||||
$oUser->getDateCommentLast(),
|
||||
$oUser->getRating(),
|
||||
|
@ -218,11 +220,9 @@ class ModuleUser_MapperUser extends Mapper
|
|||
}
|
||||
|
||||
$sql = "SELECT
|
||||
u.* ,
|
||||
IF(ua.user_id IS NULL,0,1) as user_is_administrator
|
||||
u.*
|
||||
FROM
|
||||
" . Config::Get('db.table.user') . " as u
|
||||
LEFT JOIN " . Config::Get('db.table.user_administrator') . " AS ua ON u.user_id=ua.user_id
|
||||
WHERE
|
||||
u.user_id IN(?a)
|
||||
ORDER BY FIELD(u.user_id,?a) ";
|
||||
|
|
|
@ -283,7 +283,6 @@ $config['db']['table']['prefix'] = 'prefix_';
|
|||
|
||||
$config['db']['table']['user'] = '___db.table.prefix___user';
|
||||
$config['db']['table']['blog'] = '___db.table.prefix___blog';
|
||||
$config['db']['table']['blog_category'] = '___db.table.prefix___blog_category';
|
||||
$config['db']['table']['topic'] = '___db.table.prefix___topic';
|
||||
$config['db']['table']['topic_tag'] = '___db.table.prefix___topic_tag';
|
||||
$config['db']['table']['topic_type'] = '___db.table.prefix___topic_type';
|
||||
|
@ -298,7 +297,6 @@ $config['db']['table']['talk_user'] = '___db.table.prefix___talk_user';
|
|||
$config['db']['table']['talk_blacklist'] = '___db.table.prefix___talk_blacklist';
|
||||
$config['db']['table']['friend'] = '___db.table.prefix___friend';
|
||||
$config['db']['table']['topic_content'] = '___db.table.prefix___topic_content';
|
||||
$config['db']['table']['user_administrator'] = '___db.table.prefix___user_administrator';
|
||||
$config['db']['table']['comment_online'] = '___db.table.prefix___comment_online';
|
||||
$config['db']['table']['invite'] = '___db.table.prefix___invite';
|
||||
$config['db']['table']['page'] = '___db.table.prefix___page';
|
||||
|
|
|
@ -25,7 +25,7 @@ class InstallStepInstallAdmin extends InstallStep
|
|||
return $this->addError(InstallCore::getLang('steps.installAdmin.errors.passwd'));
|
||||
}
|
||||
/**
|
||||
* Полчаем данные коннекта к БД из конфига
|
||||
* Получаем данные коннекта к БД из конфига
|
||||
*/
|
||||
InstallConfig::$sFileConfig = dirname(INSTALL_DIR) . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.local.php';
|
||||
/**
|
||||
|
@ -50,6 +50,7 @@ class InstallStepInstallAdmin extends InstallStep
|
|||
UPDATE `{$sPrefix}user`
|
||||
SET
|
||||
`user_mail` = '{$sMail}',
|
||||
`user_admin` = '1',
|
||||
`user_password` = '" . md5($sPasswd) . "'
|
||||
WHERE `user_id` = 1";
|
||||
|
||||
|
|
|
@ -520,6 +520,17 @@ class InstallStepUpdateVersion extends InstallStep
|
|||
* Конвертируем аватарки и фото пользователей
|
||||
* Дополнительно добавляем роль для прав
|
||||
*/
|
||||
/**
|
||||
* Получаем текущий список админов
|
||||
*/
|
||||
$aUserAdmin=array();
|
||||
if ($this->dbCheckTable("prefix_user_administrator")) {
|
||||
if ($aAdmins = $this->dbSelect("SELECT * FROM prefix_user_administrator ")) {
|
||||
foreach ($aAdmins as $aRow) {
|
||||
$aUserAdmin[]=$aRow['user_id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
$iPage = 1;
|
||||
$iLimitCount = 50;
|
||||
$iLimitStart = 0;
|
||||
|
@ -632,12 +643,27 @@ class InstallStepUpdateVersion extends InstallStep
|
|||
$sTzName = $this->convertTzOffsetToName($aUser['user_settings_timezone']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Админы
|
||||
*/
|
||||
$isAdmin=0;
|
||||
if (in_array($aUser['user_id'],$aUserAdmin) or $aUser['user_admin']) {
|
||||
$isAdmin=1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Сохраняем в БД
|
||||
*/
|
||||
$sAvatar = mysqli_escape_string($this->rDbLink, $sAvatar);
|
||||
$sPhoto = mysqli_escape_string($this->rDbLink, $sPhoto);
|
||||
$this->dbQuery("UPDATE prefix_user SET user_settings_timezone = " . ($sTzName ? "'{$sTzName}'" : 'null') . " , user_profile_avatar = '{$sAvatar}', user_profile_foto = '{$sPhoto}' WHERE user_id ='{$aUser['user_id']}'");
|
||||
$this->dbQuery("UPDATE prefix_user SET user_admin = '{$isAdmin}' , user_settings_timezone = " . ($sTzName ? "'{$sTzName}'" : 'null') . " , user_profile_avatar = '{$sAvatar}', user_profile_foto = '{$sPhoto}' WHERE user_id ='{$aUser['user_id']}'");
|
||||
|
||||
/**
|
||||
* Удаляем таблицы
|
||||
*/
|
||||
if ($this->dbCheckTable("prefix_user_administrator")) {
|
||||
$this->dbQuery('DROP TABLE prefix_user_administrator');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -743,4 +743,5 @@ INSERT INTO `prefix_topic_type` (`id`, `name`, `name_many`, `code`, `allow_remov
|
|||
|
||||
|
||||
-- 17.12.2014
|
||||
ALTER TABLE `prefix_user` CHANGE `user_settings_timezone` `user_settings_timezone` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
|
||||
ALTER TABLE `prefix_user` CHANGE `user_settings_timezone` `user_settings_timezone` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
|
||||
ALTER TABLE `prefix_user` ADD `user_admin` TINYINT(1) NOT NULL DEFAULT '0' AFTER `user_mail`, ADD INDEX (`user_admin`) ;
|
Loading…
Reference in a new issue