public function login() { if (\Ip\Internal\Admin\Backend::userId()) { //user has already been logged in \Ip\Internal\Content\Service::setManagementMode(1); return new \Ip\Response\Redirect(ipHomeUrl()); } // If none of the administrator exist, we create default one and log in user $administrators = \Ip\Internal\Administrators\Model::getAll(); if (empty($administrators)) { $adminUsername = '******'; $adminEmail = ipGetOptionLang('Config.websiteEmail'); $adminPassword = Model::randString(8); $adminId = \Ip\Internal\Administrators\Service::add($adminUsername, $adminEmail, $adminPassword); \Ip\Internal\AdminPermissionsModel::addPermission('Super admin', $adminId); // Set variable to know that user is autogenerated ipStorage()->set('Ip', 'adminIsAutogenerated', $adminPassword); // Logging in new admin $model = Model::instance(); if ($model->login($adminUsername, $adminPassword)) { \Ip\Internal\System\Model::sendUsageStatistics(array('action' => 'Install.adminIsAutogenerated')); $redirectUrl = ipHomeUrl(); return new \Ip\Response\Redirect($redirectUrl); } else { \Ip\Internal\System\Model::sendUsageStatistics(array('action' => 'Install.adminIsAutogeneratedFailed')); // todo: handle errors // $errors = $model->getErrors(); } } $content = ipView('view/login.php', array('loginForm' => FormHelper::getLoginForm())); ipAddJs('Ip/Internal/Admin/assets/login.js'); $response = ipResponse(); $response->setLayout('Ip/Internal/Admin/view/loginLayout.php'); $response->setLayoutVariable('content', $content); ipAddJs('assets/languageSelect.js'); $response->setLayoutVariable('languageSelectForm', FormHelper::getLanguageSelectForm()); return $response; }
public static function update_3() { $table = ipTable('permission'); $sql = "\n CREATE TABLE IF NOT EXISTS {$table} (\n `administratorId` int(11) DEFAULT NULL,\n `permission` varchar(255) NOT NULL DEFAULT '',\n PRIMARY KEY (`administratorId`, `permission`)\n ) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n "; ipDb()->execute($sql); $permissions = $permissions = ipDb()->selectColumn('permission', 'permission', array()); if (empty($permissions)) { $administrators = \Ip\Internal\Administrators\Model::getAll(); foreach ($administrators as $administrator) { \Ip\Internal\AdminPermissionsModel::addPermission('Super admin', $administrator['id']); } } }
public static function insertAdmin($user, $email, $pass) { $adminId = \Ip\Internal\Administrators\Service::add($user, $email, $pass); \Ip\Internal\AdminPermissionsModel::addPermission('Super admin', $adminId); }
public function setAdminPermission() { ipRequest()->mustBePost(); $post = ipRequest()->getPost(); if (!isset($post['permission']) || !isset($post['value']) || !isset($post['adminId'])) { throw new \Ip\Exception('Missing required parameters'); } $permission = $post['permission']; $value = $post['value']; $adminId = $post['adminId']; if ($value) { \Ip\Internal\AdminPermissionsModel::addPermission($permission, $adminId); } else { \Ip\Internal\AdminPermissionsModel::removePermission($permission, $adminId); } $data = array('status' => 'ok'); return new \Ip\Response\Json($data); }