public function hasPermission($name) { global $mysqli; $permission = SitePermission::findByName($name); if ($permission) { $query = "SELECT * FROM site_permission_role WHERE permission_id=" . $permission->getId() . " AND role_id=" . $this->getId(); if ($mysqli->query($query)->fetch_object()) { return true; } } return false; }
<?php // handle submission if (isset($_POST['submit'])) { SitePermissionRole::truncate(); foreach ($_POST as $key => $val) { if (strstr($key, 'role_')) { $tokens = explode('_', $key); $role_id = (int) $tokens[1]; foreach ($val as $permission_id => $v) { $spr = new SitePermissionRole(); $spr->setRoleId($role_id); $spr->setPermissionId($permission_id); $spr->save(); } } } Message::register(new Message(Message::SUCCESS, 'Permissions updated successfully!')); HTML::forwardBackToReferer(); } $html = new HTML(); $html->renderOut('core/backend/html_header', array('title' => i18n(array('en' => 'Manage permission', 'zh' => '管理权限'))), true); $html->output('<div id="wrapper">'); $html->renderOut('core/backend/header'); $html->renderOut('siteuser/backend/permission/manage', array('permissions' => SitePermission::findAll(), 'roles' => SiteRole::findAll()), true); $html->output('</div>'); $html->renderOut('core/backend/html_footer'); exit;
//- create tables if not exits echo " - Create table 'site_user' "; echo SiteUser::createTableIfNotExist() ? "success\n" : "fail\n"; } //-- SitePermission:Clear cache if ($command == "cc") { if ($arg1 == "all" || $arg1 == "siteuser") { echo " - Drop table 'site_permission' "; echo SitePermission::dropTable() ? "success\n" : "fail\n"; } } //-- SitePermission:Import DB if ($command == "import" && $arg1 == "db" && (is_null($arg2) || $arg2 == "site_permission")) { //- create tables if not exits echo " - Create table 'site_permission' "; echo SitePermission::createTableIfNotExist() ? "success\n" : "fail\n"; } //-- SiteRole:Clear cache if ($command == "cc") { if ($arg1 == "all" || $arg1 == "siteuser") { echo " - Drop table 'site_role' "; echo SiteRole::dropTable() ? "success\n" : "fail\n"; } } //-- SiteRole:Import DB if ($command == "import" && $arg1 == "db" && (is_null($arg2) || $arg2 == "site_role")) { //- create tables if not exits echo " - Create table 'site_role' "; echo SiteRole::createTableIfNotExist() ? "success\n" : "fail\n"; } //-- SitePermissionRole:Clear cache
require_permission('管理用户权限'); /** prepare vars **/ $myuser = MySiteUser::getCurrentUser(); /** handle submission **/ if (isset($_POST['submit'])) { SitePermissionRole::truncate(); foreach ($_POST as $key => $val) { if (strstr($key, 'role_')) { $tokens = explode('_', $key); $role_id = (int) $tokens[1]; foreach ($val as $permission_id => $v) { $spr = new SitePermissionRole(); $spr->setRoleId($role_id); $spr->setPermissionId($permission_id); $spr->save(); } } } Message::register(new Message(Message::SUCCESS, '用户权限更新成功!')); HTML::forwardBackToReferer(); } /** presentation **/ $html = new HTML(); $html->renderOut('site/components/html_header', array('title' => '管理用户权限', 'body_class' => 'permission')); $html->renderOut('site/components/mainnav', array('user' => $myuser)); $html->output('<div id="page-wrapper" class="gray-bg">'); $html->renderOut('site/components/topnav', array('user' => $myuser)); $html->renderOut('site/components/page_header', array('title' => '管理用户权限', 'breadcrumb' => array('首页' => uri(''), '客户管理' => '#', '管理用户权限' => '#'))); $html->renderOut('site/siteuser_permission', array('permissions' => SitePermission::findAll(), 'roles' => SiteRole::findAll())); $html->output('</div>'); $html->renderOut('site/components/html_footer');