Exemple #1
0
 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;
 }
Exemple #3
0
 public static function get_group_title($id)
 {
     $value = UserGroup::model()->findByAttributes(array('id' => $id));
     if (empty($value->title)) {
         return null;
     } else {
         return $value->title;
     }
 }
Exemple #4
0
 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;
         }
     }
 }
Exemple #5
0
 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;
 }
Exemple #8
0
 /**
  * 保存用户到用户组
  */
 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();
         }
     }
 }
Exemple #9
0
 /**
  *   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));
 }
Exemple #11
0
 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;
     }
 }
Exemple #13
0
 /**
  * 校验权限
  * 
  * @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;
 }
Exemple #14
0
 /**
  * 校验登录权限
  * @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;
 }
Exemple #18
0
 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));
 }
Exemple #19
0
 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;
 }
Exemple #22
0
 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;
     }
 }
Exemple #23
0
 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;
         }
     }
 }
Exemple #26
0
 /**
  * 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;
 }
Exemple #27
0
                        <?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');
Exemple #28
0
        <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);
     }
 }
Exemple #30
0
    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