コード例 #1
0
ファイル: Users.php プロジェクト: HaldunA/phpwebsite
 public function updateGroup()
 {
     $db = new PHPWS_DB('users_groups');
     $db->addWhere('user_id', $this->id);
     $db->addColumn('id');
     $result = $db->select('one');
     if (PHPWS_Error::logIfError($result)) {
         PHPWS_Error::log($result);
         return PHPWS_Error::get(USER_ERROR, 'users', 'updateGroup');
     }
     if (empty($result)) {
         $group = new PHPWS_Group();
         $group->setUserId($this->id);
     } else {
         $group = new PHPWS_Group($result);
     }
     $group->setName($this->getUsername());
     $group->setActive($this->isActive());
     $result = $group->save();
     if (PHPWS_Error::logIfError($result)) {
         $this->kill();
         return PHPWS_Error::get(USER_ERROR, 'users', 'updateGroup');
     } else {
         return true;
     }
 }
コード例 #2
0
 public static function manageMembers(PHPWS_Group $group)
 {
     javascript('member_complete', null, 'mod/users/', true, true);
     $form = new PHPWS_Form('memberList');
     $form->addHidden('module', 'users');
     $form->addHidden('action', 'admin');
     $form->addHidden('command', 'postMembers');
     $form->addHidden('group_id', $group->getId());
     $form->addText('search_member');
     $form->setLabel('search_member', dgettext('users', 'Add Member'));
     $form->addSubmit('search', dgettext('users', 'Add'));
     $template['NAME_LABEL'] = dgettext('users', 'Group name');
     $template['GROUPNAME'] = $group->getName();
     if (isset($_POST['search_member'])) {
         $_SESSION['Last_Member_Search'] = preg_replace('/[\\W]+/', '', $_POST['search_member']);
         $db = new PHPWS_DB('users_groups');
         $db->addWhere('name', $_SESSION['Last_Member_Search']);
         $db->addWhere('name', $group->name, '!=');
         $db->addColumn('id');
         $result = $db->select('one');
         if (isset($result)) {
             if (PHPWS_Error::isError($result)) {
                 PHPWS_Error::log($result);
             } else {
                 $group->addMember($result);
                 $group->save();
                 unset($_SESSION['Last_Member_Search']);
             }
         }
     }
     if (isset($_SESSION['Last_Member_Search'])) {
         $result = User_Form::getLikeGroups($_SESSION['Last_Member_Search'], $group);
         if (isset($result)) {
             $template['LIKE_GROUPS'] = $result;
             $template['LIKE_INSTRUCTION'] = dgettext('users', 'Member not found.') . ' ' . dgettext('users', 'Closest matches below.');
         } else {
             $template['LIKE_INSTRUCTION'] = dgettext('users', 'Member not found.') . ' ' . dgettext('users', 'No matches found.');
         }
     }
     $template = $form->getTemplate(TRUE, TRUE, $template);
     $vars['action'] = 'admin';
     $vars['group_id'] = $group->id;
     $vars['command'] = 'edit_group';
     $title = dgettext('users', 'Edit group name');
     $links[] = PHPWS_Text::secureLink(Icon::show('edit') . " {$title}", 'users', $vars, null, $title, 'btn btn-default');
     $title = dgettext('users', 'Edit Group Permissions');
     $vars['command'] = 'setGroupPermissions';
     $links[] = PHPWS_Text::secureLink(Icon::show('permission') . " {$title}", 'users', $vars, null, $title, 'btn btn-default');
     $template['LINKS'] = implode(' ', $links);
     $template['CURRENT_MEMBERS_LBL'] = dgettext('users', 'Current Members');
     $template['CURRENT_MEMBERS'] = User_Form::getMemberList($group);
     $result = PHPWS_Template::process($template, 'users', 'forms/memberForm.tpl');
     return $result;
 }
コード例 #3
0
ファイル: Action.php プロジェクト: HaldunA/phpwebsite
 public static function assignDefaultGroup(PHPWS_User $user)
 {
     $db = new PHPWS_DB('users_auth_scripts');
     $db->addColumn('default_group');
     $db->addColumn('id');
     $db->setIndexBy('id');
     $scripts = $db->select('col');
     $default_group = $scripts[$user->authorize];
     $group = new PHPWS_Group($default_group);
     if (!$group->id) {
         return false;
     }
     $group->addMember($user->_user_group);
     $group->save();
     return true;
 }