public function actionChangeStatus(array $ids, $value = 0) { $value = $value == 1 ? true : false; $criteria = new CDbCriteria(); $criteria->addInCondition('id', $ids); UserGroup::model()->updateAll(array('status' => $value), $criteria); }
public function getUserRole($id) { $model = User::model()->findByPk($id); $group_id = $model->user_group_id; $menu = UserGroup::model()->findByPk($group_id); return $menu->role; }
public static function get_group_title($id) { $value = UserGroup::model()->findByAttributes(array('id' => $id)); if (empty($value->title)) { return null; } else { return $value->title; } }
public function init() { parent::init(); //用户组 $group_list = UserGroup::model()->findAll(); if ($group_list) { foreach ($group_list as $g) { $this->group_list[$g['id']] = $g->attributes; } } }
public function getGroupText() { if (class_exists('BUser', false) && method_exists('BUser', 'getGroupTextExt')) { return $this->getGroupTextExt(); } $group = UserGroup::model()->findByPk($this->user_group_id); if (!is_null($group)) { return $group->name; } return ''; }
public function handleUserGroup($event) { $usergroup = array(); $records = UserGroup::model()->findAll(array("order" => "creditslower ASC")); if (!empty($records)) { foreach ($records as $record) { $group = $record->attributes; $usergroup[$group["gid"]] = $group; } } Syscache::model()->modify("usergroup", $usergroup); }
/** * 判断数据是否存在 * * return \$this->model */ public function loadModel() { if ($this->model === null) { if (isset($_GET['id'])) { $this->model = UserGroup::model()->findbyPk($_GET['id']); } if ($this->model === null) { throw new CHttpException(404, Yii::t('common', 'The requested page does not exist.')); } } return $this->model; }
/** * 保存用户到用户组 */ static function UserGroupSave($user_id, $group) { \Yii::app()->db->createCommand()->update('users', array('yourself' => $_POST['self'] ? 1 : 0), 'id=:id', array('id' => $user_id)); if ($group) { UserGroup::model()->deleteAllByAttributes(array('user_id' => $user_id)); foreach ($group as $group_id) { $model = new UserGroup(); $model->group_id = $group_id; $model->user_id = $user_id; $model->save(); } } }
/** * This validator method checks if provided usergroup name is free (not existing) or not. * @return boolean true if user doesn't exist, otherwise false. */ public function checkGroupNameFree($attribute, $params) { // Do not perform this check on update if (!$this->isNewRecord) { return true; } // Find group with such name $group = UserGroup::model()->find('name=:name', array(':name' => $this->name)); if ($group == Null) { return true; } // Such a group name already exists. $this->addError('name', 'Such a group name already exists.'); return false; }
public function run($id) { $controller = $this->getController(); $this->_setting = $controller->_setting; $this->_stylePath = $controller->_stylePath; $this->_static_public = $controller->_static_public; $myself = false; //加载css,js Yii::app()->clientScript->registerCssFile($this->_stylePath . "/css/user.css"); Yii::app()->clientScript->registerScriptFile($this->_static_public . "/js/jquery/jquery.js"); //用户信息 $user = User::model()->findByPk($id); //当前登录用户 $uid = Yii::app()->user->id; if (!$user) { throw new CHttpException(404, Yii::t('common', 'The requested page does not exist.')); exit; } else { $data = array(); $group = UserGroup::model()->findByPk($user->groupid); $data['uid'] = $user->uid; $data['username'] = $user->username; $data['email'] = $user->email; $data['register_ip'] = $user->register_ip; $data['last_login_ip'] = $user->last_login_ip; $data['group_name'] = $group->group_name; $data['mobile'] = $user->mobile; $data['web'] = $user->web; $data['qq'] = $user->qq; $data['addtime'] = $user->addtime; $data['avatar'] = $user->avatar; $data['sign'] = $user->sign; //SEO $controller->_seoTitle = $user->username . ' - ' . Yii::t('common', 'User Space') . ' - ' . $this->_setting['site_name']; //判断是否是自己 if ($uid == $user->uid) { $myself = true; } //判断是否是好友 $friend_mod = new Friend(); $friend = $friend_mod->find('uid1=:uid AND uid2=:friendid', array(':uid' => $uid, ':friendid' => $user->uid)); if (!$friend) { $friend = $friend_mod->find('uid1=:uid AND uid2=:friendid', array(':uid' => $user->uid, ':friendid' => $uid)); } } $controller->render('user_space', array('user' => $data, 'myself' => $myself, 'friend' => $friend)); }
public function actionUpdate($id) { $model = User::model()->findByPk($id); if (!is_object($model)) { throw new CException("Specified user doesn't exists."); return; } if (isset($_POST['User'])) { $model->attributes = $_POST['User']; if ($model->validate() && $model->save()) { $this->redirect(array('index')); } } $statusOptions = array(0 => Yii::t('common', 'Disabled'), 1 => Yii::t('common', 'Enabled')); $userGroups = CHtml::listData(UserGroup::model()->findAll(), "user_group_id", "name"); $this->render('update', array('model' => $model, 'statusOptions' => $statusOptions, 'userGroups' => $userGroups)); }
/** * Test if a user is in a group * @param int $gid * @return boolean */ public function isInUserGroup($gid) { $oUsergroup = UserGroup::model()->findByPk($gid); // The group doesn't exist anymore if (!is_object($oUsergroup)) { return false; } $users = $oUsergroup->users; foreach ($users as $user) { $aUids[] = $user->uid; } if (in_array($this->id, $aUids)) { return true; } else { return false; } }
/** * 校验权限 * * @param string $acl * @return boolean */ public function checkAcl($acl = '') { $bool = false; $groupid = Yii::app()->user->groupid; if ($groupid && $acl) { $group = UserGroup::model()->findByPk($groupid); if ($group->acl) { if ($groupid == User::AdminGroupID && $group->acl == 'Administrator') { $bool = true; } else { $acl = str_replace('/', '|', $acl); $bool = strstr($group->acl, $acl) ? true : false; } } } return $bool; }
/** * 校验登录权限 * @param string $groupid * @param string $acl * @return boolean */ public function checkAcl($groupid = '', $acl = '') { $bool = false; if ($groupid && $acl) { $group = UserGroup::model()->findByPk($groupid); if ($group->acl) { if ($groupid == $this->_adminGroupID && $group->acl == 'Administrator') { $bool = true; } else { $acl = str_replace('/', '|', $acl); if (strstr($group->acl, $acl)) { $bool = true; } } } } return $bool; }
public function actionEdit($id) { $user_groups = UserGroup::model()->findAll(); $user_group_data = array(); foreach ($user_groups as $user_group) { $user_group_data[$user_group->user_group_id] = $user_group->name; } $user = $this->loadModel($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['User'])) { $_POST['User']['last_login'] = date('Y-m-d H:i:s'); $user->attributes = $_POST['User']; if ($user->save()) { $this->redirect(array('site/index')); } } $this->render('edit', array('user' => $user, 'user_group_data' => $user_group_data)); }
public function actionUpdate($new = false) { if ($_GET['id'] == 1) { throw new CHttpException(403); } $model = $new === true ? new UserGroup() : UserGroup::model()->findByPk($_GET['id']); $this->pageName = Yii::t('app', 'GROUP'); $this->breadcrumbs = array($this->pageName => Yii::app()->createUrl('admin/users/'), $new === true ? Yii::t('app', 'CREATE', 1) : Yii::t('app', 'UPDATE', 1)); if (isset($_POST['UserGroup'])) { // print_r($_POST['UserGroup']['access_action']); // die; $model->attributes = $_POST['UserGroup']; if ($model->validate()) { $model->save(); $this->redirect(array('index')); } } $this->render('update', array('model' => $model)); }
/** * Authenticates a user. * The example implementation makes sure if the username and password * are both 'demo'. * In practical applications, this should be changed to authenticate * against some persistent user identity storage (e.g. database). * @param $admin * @return boolean whether authentication succeeds. */ public function authenticate() { $user = User::model()->find('username=:username', array(':username' => $this->username)); if ($user === null) { $this->errorCode = self::ERROR_USERNAME_INVALID; } else { $this->id = $user->uid; //把用户信息存入SESSION $group = UserGroup::model()->findByPk($user->groupid); $this->setState('status', $user->status); $this->setState('nickname', $user->nickname ? $user->nickname : $user->username); $this->setState('groupid', $user->groupid); $this->setState('groupname', $group->group_name); $this->setState('email', $user->email); $this->username = $user->username; $this->errorCode = self::ERROR_NONE; } return $this->errorCode == self::ERROR_NONE; }
public function actionIndex() { parent::auth(); $this->layout = false; $this->pageTitle = Yii::t('common', 'Admin Manage'); //后台头部一级菜单 $FirstMenus = array(array('url' => '', 'name' => Yii::t('admin', 'BM_Home')), array('url' => '', 'name' => Yii::t('admin', 'BM_Setting')), array('url' => '', 'name' => Yii::t('admin', 'BM_Catalog')), array('url' => '', 'name' => Yii::t('admin', 'BM_Content')), array('url' => '', 'name' => Yii::t('admin', 'BM_User')), array('url' => '', 'name' => Yii::t('admin', 'BM_Trade')), array('url' => '', 'name' => Yii::t('admin', 'BM_Ad')), array('url' => '', 'name' => Yii::t('admin', 'BM_Tools'))); //后台左侧二级菜单 $SecMenus = array(array(array('url' => $this->createUrl('default/home'), 'name' => Yii::t('admin', 'System Home'))), array(array('url' => $this->createUrl('setting/index'), 'name' => Yii::t('admin', 'Web Set')), array('url' => $this->createUrl('setting/seo'), 'name' => Yii::t('admin', 'SEO Set')), array('url' => $this->createUrl('setting/upload'), 'name' => Yii::t('admin', 'Upload Set')), array('url' => $this->createUrl('setting/access'), 'name' => Yii::t('admin', 'Access Set')), array('url' => $this->createUrl('setting/custom'), 'name' => Yii::t('admin', 'Custom Set'))), array(array('url' => $this->createUrl('catalog/index'), 'name' => Yii::t('admin', 'Catalog Manage')), array('url' => $this->createUrl('menu/index'), 'name' => Yii::t('admin', 'Menu Manage'))), array(array('url' => $this->createUrl('notice/index'), 'name' => Yii::t('admin', 'Notice Manage')), array('url' => $this->createUrl('page/index'), 'name' => Yii::t('admin', 'Page Manage')), array('url' => $this->createUrl('attach/index'), 'name' => Yii::t('admin', 'Attach Manage')), array('url' => $this->createUrl('link/index'), 'name' => Yii::t('admin', 'Link Manage'))), array(array('url' => $this->createUrl('user/index'), 'name' => Yii::t('admin', 'User List')), array('url' => $this->createUrl('user/admin'), 'name' => Yii::t('admin', 'Admin List')), array('url' => $this->createUrl('user/group'), 'name' => Yii::t('admin', 'Group Manage')), array('url' => $this->createUrl('question/index'), 'name' => Yii::t('admin', 'Question List'))), array(array('url' => $this->createUrl('trade/recharge'), 'name' => Yii::t('admin', 'Recharge Manage')), array('url' => $this->createUrl('trade/withdraw'), 'name' => Yii::t('admin', 'Withdraw Manage')), array('url' => $this->createUrl('trade/income'), 'name' => Yii::t('admin', 'Income Manage'))), array(array('url' => $this->createUrl('ad/index'), 'name' => Yii::t('admin', 'Ads Manage')), array('url' => $this->createUrl('adPosition/index'), 'name' => Yii::t('admin', 'Adposition Manage'))), array(array('url' => $this->createUrl('database/index'), 'name' => Yii::t('admin', 'Database Manage')), array('url' => $this->createUrl('cache/index'), 'name' => Yii::t('admin', 'Cache Manage')), array('url' => $this->createUrl('zip/index'), 'name' => Yii::t('admin', 'Zip Manage')))); //只显示授权的菜单 $groupid = Yii::app()->user->groupid; $group = UserGroup::model()->findByPk($groupid); if ($groupid != $this->_adminGroupID) { //非超级管理员 $acls = explode(',', $group->acl); $loginkey = array_search('default|login', $acls); //删除login授权 $acls[$loginkey] = 'default|home'; foreach ($acls as $av) { $av = str_replace('|', '/', $av); $tmpacls[] = $this->createUrl($av); } foreach ($SecMenus as $sk => $sv) { foreach ($sv as $sek => $sev) { if (in_array($sev['url'], $tmpacls)) { $OAuthSecMenus[$sk][$sek] = $sev; } } if (!$OAuthSecMenus[$sk]) { unset($FirstMenus[$sk]); } } } else { $OAuthSecMenus = $SecMenus; } //取左侧菜单第一个菜单作为头部菜单的链接 foreach ($FirstMenus as $key => $val) { $OAuthSecMenus[$key] && ($firstUrl = reset($OAuthSecMenus[$key])); $FirstMenus[$key]['url'] = $firstUrl['url']; } $this->render('index', array('FirstMenus' => $FirstMenus, 'SecMenus' => $OAuthSecMenus)); }
public function run() { $this->controller->layout = false; $this->controller->pageTitle = Yii::t('common', 'Admin Manage'); //后台头部一级菜单 $FirstMenus = array(array('url' => '', 'name' => Yii::t('admin', 'BM_Home')), array('url' => '', 'name' => Yii::t('admin', 'BM_Setting')), array('url' => '', 'name' => Yii::t('admin', 'BM_Catalog')), array('url' => '', 'name' => Yii::t('admin', 'BM_Content')), array('url' => '', 'name' => Yii::t('admin', 'BM_User')), array('url' => '', 'name' => Yii::t('admin', 'BM_Ad')), array('url' => '', 'name' => Yii::t('admin', 'BM_Component')), array('url' => '', 'name' => Yii::t('admin', 'BM_Model')), array('url' => '', 'name' => Yii::t('admin', 'BM_BackUp')), array('url' => '', 'name' => Yii::t('admin', 'BM_Oauth'))); //后台左侧二级菜单 $SecMenus = array(array(array('url' => $this->controller->createUrl('default/home'), 'name' => Yii::t('admin', 'System Home')), array('url' => $this->controller->createUrl('cache/index'), 'name' => Yii::t('admin', 'Cache Manage'))), array(array('url' => $this->controller->createUrl('setting/index'), 'name' => Yii::t('admin', 'Web Set')), array('url' => $this->controller->createUrl('setting/seo'), 'name' => Yii::t('admin', 'SEO Set')), array('url' => $this->controller->createUrl('setting/template'), 'name' => Yii::t('admin', 'Template Set')), array('url' => $this->controller->createUrl('setting/email'), 'name' => Yii::t('admin', 'Email Set')), array('url' => $this->controller->createUrl('setting/cache'), 'name' => Yii::t('admin', 'Cache Set')), array('url' => $this->controller->createUrl('setting/access'), 'name' => Yii::t('admin', 'Access Set')), array('url' => $this->controller->createUrl('setting/custom'), 'name' => Yii::t('admin', 'Custom Set'))), array(array('url' => $this->controller->createUrl('catalog/index'), 'name' => Yii::t('admin', 'Catalog Manage')), array('url' => $this->controller->createUrl('menu/index'), 'name' => Yii::t('admin', 'Menu Manage')), array('url' => $this->controller->createUrl('special/index'), 'name' => Yii::t('admin', 'Special Manage'))), array(array('url' => $this->controller->createUrl('post/index'), 'name' => Yii::t('admin', 'Article Manage')), array('url' => $this->controller->createUrl('image/index'), 'name' => Yii::t('admin', 'Image Manage')), array('url' => $this->controller->createUrl('soft/index'), 'name' => Yii::t('admin', 'Soft Manage')), array('url' => $this->controller->createUrl('video/index'), 'name' => Yii::t('admin', 'Video Manage')), array('url' => $this->controller->createUrl('page/index'), 'name' => Yii::t('admin', 'Page Manage')), array('url' => $this->controller->createUrl('recommend/index'), 'name' => Yii::t('admin', 'Recommend Manage')), array('url' => $this->controller->createUrl('recommendPosition/index'), 'name' => Yii::t('admin', 'RecommendPosition Manage'))), array(array('url' => $this->controller->createUrl('user/index'), 'name' => Yii::t('admin', 'User List')), array('url' => $this->controller->createUrl('user/admin'), 'name' => Yii::t('admin', 'Admin List')), array('url' => $this->controller->createUrl('usergroup/index'), 'name' => Yii::t('admin', 'Group Manage')), array('url' => $this->controller->createUrl('question/index'), 'name' => Yii::t('admin', 'Question List'))), array(array('url' => $this->controller->createUrl('ad/index'), 'name' => Yii::t('admin', 'Ads Manage')), array('url' => $this->controller->createUrl('adPosition/index'), 'name' => Yii::t('admin', 'Adposition Manage'))), array(array('url' => $this->controller->createUrl('link/index'), 'name' => Yii::t('admin', 'Link Manage')), array('url' => $this->controller->createUrl('comment/index'), 'name' => Yii::t('admin', 'Comment Manage')), array('url' => $this->controller->createUrl('reply/index'), 'name' => Yii::t('admin', 'Reply Manage')), array('url' => $this->controller->createUrl('tag/index'), 'name' => Yii::t('admin', 'Tags Manage')), array('url' => $this->controller->createUrl('maillog/index'), 'name' => Yii::t('admin', 'Maillog Manage'))), array(array('url' => $this->controller->createUrl('modeltype/index'), 'name' => Yii::t('admin', 'Modeltype Manage'))), array(array('url' => $this->controller->createUrl('database/index'), 'name' => Yii::t('admin', 'Database Manage')), array('url' => $this->controller->createUrl('zip/index'), 'name' => Yii::t('admin', 'Zip Manage'))), array(array('url' => $this->controller->createUrl('oAuth/index'), 'name' => Yii::t('admin', 'OAuth Manage')))); //只显示授权的菜单 $groupid = Yii::app()->user->groupid; $group = UserGroup::model()->findByPk($groupid); $OAuthSecMenus = array(); if ($groupid != User::AdminGroupID) { //非超级管理员 $acls = explode(',', $group->acl); $loginkey = array_search('default|login', $acls); //删除login授权 $acls[$loginkey] = 'default|home'; foreach ($acls as $av) { $av = str_replace('|', '/', $av); $tmpacls[] = $this->controller->createUrl($av); } foreach ($SecMenus as $sk => $sv) { foreach ($sv as $sek => $sev) { if (in_array($sev['url'], $tmpacls)) { $OAuthSecMenus[$sk][$sek] = $sev; } } if (!$OAuthSecMenus[$sk]) { unset($FirstMenus[$sk]); } } } else { $OAuthSecMenus = $SecMenus; } //取左侧菜单第一个菜单作为头部菜单的链接 foreach ($FirstMenus as $key => $val) { $OAuthSecMenus[$key] && ($firstUrl = reset($OAuthSecMenus[$key])); $FirstMenus[$key]['url'] = $firstUrl['url']; } $this->controller->render('index', array('FirstMenus' => $FirstMenus, 'SecMenus' => $OAuthSecMenus)); }
public function actionIndex() { parent::auth(); $this->layout = false; $this->pageTitle = Yii::t('common', 'Admin Manage'); //后台头部一级菜单 $FirstMenus = array('0' => array('url' => '', 'name' => Yii::t('admin', 'BM_Home')), '3' => array('url' => '', 'name' => Yii::t('admin', 'BM_Content')), '4' => array('url' => '', 'name' => Yii::t('admin', 'BM_User')), '8' => array('url' => '', 'name' => Yii::t('admin', 'BM_Tools'))); //后台左侧二级菜单 $SecMenus = array('0' => array(array('url' => $this->createUrl('default/home'), 'name' => Yii::t('admin', 'System Home'))), '3' => array(array('url' => $this->createUrl('post/index'), 'name' => Yii::t('admin', 'Post Manage')), array('url' => $this->createUrl('goods/index'), 'name' => Yii::t('admin', 'Goods Manage')), array('url' => $this->createUrl('goodsPlan/index'), 'name' => Yii::t('admin', 'Goods Plan Manage')), array('url' => $this->createUrl('orders/index'), 'name' => Yii::t('admin', 'Orders Manage')), array('url' => $this->createUrl('page/index'), 'name' => Yii::t('admin', 'Page Manage'))), '4' => array(array('url' => $this->createUrl('user/index'), 'name' => Yii::t('admin', 'User List')), array('url' => $this->createUrl('user/admin'), 'name' => Yii::t('admin', 'Admin List')), array('url' => $this->createUrl('user/group'), 'name' => Yii::t('admin', 'Group Manage'))), '8' => array(array('url' => $this->createUrl('cache/index'), 'name' => Yii::t('admin', 'Cache Manage')))); //只显示授权的菜单 $groupid = Yii::app()->user->groupid; $group = UserGroup::model()->findByPk($groupid); if ($groupid != $this->_adminGroupID) { //非超级管理员 $acls = explode(',', $group->acl); $loginkey = array_search('default|login', $acls); //删除login授权 $acls[$loginkey] = 'default|home'; foreach ($acls as $ak => $av) { $av = str_replace('|', '/', $av); $tmpacls[] = $this->createUrl($av); } foreach ($SecMenus as $sk => $sv) { foreach ($sv as $sek => $sev) { if (in_array($sev['url'], $tmpacls)) { $OAuthSecMenus[$sk][$sek] = $sev; } } if (!$OAuthSecMenus[$sk]) { unset($FirstMenus[$sk]); } } } else { $OAuthSecMenus = $SecMenus; } //取左侧菜单第一个菜单作为头部菜单的链接 foreach ($FirstMenus as $key => $val) { $OAuthSecMenus[$key] && ($firstUrl = reset($OAuthSecMenus[$key])); $FirstMenus[$key]['url'] = $firstUrl['url']; } $this->render('index', array('FirstMenus' => $FirstMenus, 'SecMenus' => $OAuthSecMenus)); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = UserGroup::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function getUsergroupname() { $usergroupid = $this->usergroup; // Can't use switch because of empty case if (empty($usergroupid) || $usergroupid == '-2') { return gT('Only Superadmin'); } elseif ($usergroupid == '-1') { return gT('Everybody'); } elseif ($usergroupid == '-3') { return gT('Nobody'); } else { $oUsergroup = UserGroup::model()->findByPk($usergroupid); // The group doesn't exist anymore if (!is_object($oUsergroup)) { return gT("Can't find user group!"); } return $oUsergroup->name; } }
public function testGetBugStatusFilterLabel() { // Find group Admins $model = UserGroup::model()->find('name="Admin"'); $this->assertTrue($model != Null); // Ensure the default bug status filter is 'open' $this->assertTrue($model->getDefaultBugStatusFilterLabel() == 'Open bugs'); // Find group QA $model = UserGroup::model()->find('name="QA"'); $this->assertTrue($model != Null); // Ensure the default bug status filter is 'verify' $this->assertTrue($model->getDefaultBugStatusFilterLabel() == 'Bugs to verify'); }
/** * Deletes a particular model. * If deletion is successful, the browser will be redirected to the 'index' page. */ public function actionDelete($id) { if (Yii::app()->request->isPostRequest) { // we only allow deletion via POST request $model = $this->loadModel($id, 'Customer'); $profile = Profile::model()->findByPk($model->id); Yii::app()->session['cid'] = $model->id; $criteria = new CDbCriteria(); $criteria->condition = 'profile_id=:profile_id'; $criteria->params = array(':profile_id' => $model->id); UserGroup::model()->deleteAll($criteria); // Make sure profile exists if ($profile) { $profile->delete(); } $model->delete(); // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_POST['ajax'])) { $this->redirect(array('/user/admin')); } } else { throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.'); } }
protected function canSeeBox($box = '') { $box = $box == '' ? $this : $box; if ($box->usergroup == '-1') { return true; } elseif (empty($box->usergroup) || $box->usergroup == '-2') { if (Permission::model()->hasGlobalPermission('superadmin', 'read') ? 1 : 0) { return true; } else { return false; } } elseif ($usergroupid == '-3') { return false; } else { $oUsergroup = UserGroup::model()->findByPk($box->usergroup); // The group doesn't exist anymore, so only admin can see it if (!is_object($oUsergroup)) { if (Permission::model()->hasGlobalPermission('superadmin', 'read') ? 1 : 0) { return true; } else { return false; } } if (Yii::app()->user->isInUserGroup($box->usergroup)) { return true; } } }
/** * Count the number of users that have access to this acl * * @param int $level * @return int */ public function countUsers($level = Acl::READ_PERMISSION) { //Either user_id in go_acl is 0 or user_id in go_users_groups is NULL. //We can add them up to get a distinct count. // SELECT count(distinct a.user_id+IFNULL(ug.user_id,0)) from go_acl a //left JOIN `go_users_groups` ug ON (a.group_id=ug.group_id) //where acl_id=19260 and level>1 $findParams = \GO\Base\Db\FindParams::newInstance()->single()->select('count(distinct t.user_id+IFNULL(ug.user_id,0)) AS count')->join(UserGroup::model()->tableName(), \GO\Base\Db\FindCriteria::newInstance()->addCondition('group_id', 'ug.group_id', '=', 't', true, true), 'ug', 'LEFT'); $findParams->getCriteria()->addCondition('acl_id', $this->id)->addCondition('level', $level, '>='); $model = AclUsersGroups::model()->find($findParams); return $model->count; }
<?php echo $form->hiddenField($model, 'page', array()); ?> <?php } ?> </div> <div class="form-group"> <label class='control-label col-sm-2'><?php echo $form->labelEx($model, 'usergroup'); ?> </label> <div class='col-sm-2'> <?php $options_array = CHtml::listData(UserGroup::model()->findAll(), 'ugid', 'name'); $options_array[-1] = gT('Everybody'); $options_array[-2] = gT('Only admin'); $options_array[-3] = gT('Nobody'); ?> <?php echo $form->dropDownList($model, 'usergroup', $options_array, array('class' => 'form-control', 'options' => array($model['usergroup'] => array('selected' => true)))); ?> </div> <?php if ($form->error($model, 'usergroup')) { ?> <div class="col-sm-2 text-danger"> <?php echo $form->error($model, 'usergroup');
<h5>Manage Admin User</h5> <div class="widget-toolbar"> <a data-action="settings" href="#"><i class="icon-cog"></i></a> <a data-action="reload" href="#"><i class="icon-refresh"></i></a> <a data-action="collapse" href="#"><i class="icon-chevron-up"></i></a> <a data-action="close" href="#"><i class="icon-remove"></i></a> </div> <div class="widget-toolbar"> <?php echo CHtml::link('<i class="icon-search"></i>', '#', array('class' => 'search-button', 'data-rel' => 'tooltip', 'title' => 'Search', 'data-placement' => 'bottom')); ?> </div> <div class="widget-toolbar"> <?php echo CHtml::link('<i class="icon-plus"></i>', array('create'), array('data-rel' => 'tooltip', 'title' => 'Add', 'data-placement' => 'bottom')); ?> </div> </div><!--/.widget-header --> <div class="widget-body"> <div class="widget-main"> <div class="search-form" style="display:none"> <?php $this->renderPartial('_search', array('model' => $model)); ?> </div><!-- search-form --> <?php $this->widget('bootstrap.widgets.TbGridView', array('type' => TbHtml::GRID_TYPE_HOVER, 'id' => 'user-admin-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array(array('name' => 'profile_picture', 'type' => 'raw', 'value' => 'CHtml::link(UserAdmin::get_picture_grid($data->id), array("view","id"=>$data->id))', 'htmlOptions' => array('style' => "text-align:left;width:50px;", 'title' => 'Picture', 'class' => 'ace-thumbnails')), array('name' => 'name', 'type' => 'raw', 'value' => 'CHtml::link(CHtml::encode($data->name), array("view","id"=>$data->id))', 'htmlOptions' => array('style' => "text-align:left;", 'title' => 'Name')), 'username', array('name' => 'email', 'type' => 'raw', 'value' => 'CHtml::mailto(CHtml::encode($data->email), $email=CHtml::encode($data->name)." <".CHtml::encode($data->email).">")', 'htmlOptions' => array('style' => "text-align:left;", 'rel' => 'tooltip', 'data-original-title' => 'Email')), array('name' => 'registerDate', 'value' => 'UserAdmin::get_date($data->registerDate)', 'filter' => $this->widget('zii.widgets.jui.CJuiDatePicker', array('model' => $model, 'attribute' => 'registerDate', 'htmlOptions' => array('id' => 'datepicker1', 'size' => '10'), 'i18nScriptFile' => 'jquery.ui.datepicker-en.js', 'defaultOptions' => array('showOn' => 'focus', 'dateFormat' => 'yy-mm-dd', 'showOtherMonths' => true, 'selectOtherMonths' => true, 'changeMonth' => true, 'changeYear' => true, 'showButtonPanel' => false)), true), 'htmlOptions' => array('style' => "text-align:center;")), array('header' => 'Group', 'name' => 'title', 'type' => 'raw', 'filter' => CHtml::activeDropDownList($model, 'group_id', CHtml::listData(UserGroup::model()->findAll(array('order' => 'id')), 'id', 'title'), array('empty' => 'All')), 'value' => '$data->UserGroup->title', 'htmlOptions' => array('style' => 'text-align:left;', 'title' => 'Group')), array('name' => 'status', 'type' => 'raw', 'filter' => CHtml::activeDropDownList($model, 'status', CHtml::listData(UserStatus::model()->findAll(array("order" => "status")), 'id', 'status'), array('empty' => 'All')), 'value' => '$data->UserStatus->status', 'htmlOptions' => array('style' => "text-align:left;", 'title' => 'Status')), array('header' => 'Actions', 'class' => 'bootstrap.widgets.TbButtonColumn')))); ?> </div> </div><!--/.widget-body --> </div><!--/.widget-box -->
public function actionIndex() { $formSubmit = EnvUtil::submitCheck("userGroupSubmit"); if ($formSubmit) { $groups = $_POST["groups"]; $newGroups = isset($_POST["newgroups"]) ? $_POST["newgroups"] : array(); $groupNewAdd = DashboardUtil::arrayFlipKeys($newGroups); foreach ($groupNewAdd as $k => $v) { if (!$v["title"]) { unset($groupNewAdd[$k]); } elseif (!$v["creditshigher"]) { $this->error(Ibos::lang("Usergroups update creditshigher invalid")); } } $groupNewKeys = array_keys($groups); $maxGroupId = max($groupNewKeys); foreach ($groupNewAdd as $k => $v) { $groups[$k + $maxGroupId + 1] = $v; } $orderArray = array(); if (is_array($groups)) { foreach ($groups as $id => $group) { if ($id == 0 && (!$group["title"] || $group["creditshigher"] == "")) { unset($groups[$id]); } else { $orderArray[$group["creditshigher"]] = $id; } } } if (empty($orderArray) || 0 <= min(array_flip($orderArray))) { $this->error(Ibos::lang("Usergroups update credits invalid")); } ksort($orderArray); $rangeArray = array(); $lowerLimit = array_keys($orderArray); for ($i = 0; $i < count($lowerLimit); $i++) { $rangeArray[$orderArray[$lowerLimit[$i]]] = array("creditshigher" => isset($lowerLimit[$i - 1]) ? $lowerLimit[$i] : -999999999, "creditslower" => isset($lowerLimit[$i + 1]) ? $lowerLimit[$i + 1] : 999999999); } foreach ($groups as $id => $group) { $creditshigherNew = $rangeArray[$id]["creditshigher"]; $creditslowerNew = $rangeArray[$id]["creditslower"]; if ($creditshigherNew == $creditslowerNew) { $this->error(Ibos::lang("Usergroups update credits duplicate")); } if (in_array($id, $groupNewKeys)) { UserGroup::model()->modify($id, array("title" => $group["title"], "creditshigher" => $creditshigherNew, "creditslower" => $creditslowerNew)); } else { if ($group["title"] && $group["creditshigher"] != "") { $data = array("title" => $group["title"], "creditshigher" => $creditshigherNew, "creditslower" => $creditslowerNew); UserGroup::model()->add($data); } } } $removeId = $_POST["removeId"]; if (!empty($removeId)) { UserGroup::model()->deleteById($removeId); } CacheUtil::update(array("UserGroup")); $this->success(Ibos::lang("Save succeed", "message")); } else { $groups = UserGroup::model()->fetchAll(array("order" => "creditshigher")); $data = array("data" => $groups); $this->render("index", $data); } }
echo $row->uid; ?> " /><?php echo $row->uid; ?> </td> <td><?php echo $row->username; ?> <br /> <?php echo $row->email; ?> </td> <td><?php $group = UserGroup::model()->findByPk($row->groupid); echo $group->group_name; ?> </td> <td ><?php if ($row->status == 0) { ?> <span class="red"><img src="<?php echo $this->module->assetsUrl; ?> /images/error.png" align="absmiddle" />锁定</span> <?php } elseif ($row->status == 1) { ?> 正常 <?php