Exemplo n.º 1
0
 public function search_members()
 {
     $keywords = $this->get('keywords');
     if ($keywords != '') {
         $this->userList->filterByKeywords($keywords);
     }
 }
Exemplo n.º 2
0
 public function testActiveUsers()
 {
     $ui = UserInfo::getByID(2);
     $ui->deactivate();
     $this->assertEquals(2, $this->list->getTotalResults());
     $this->list->includeInactiveUsers();
     $this->assertEquals(3, $this->list->getTotalResults());
     $this->list->filterByIsActive(0);
     $this->assertEquals(1, $this->list->getTotalResults());
 }
Exemplo n.º 3
0
 public function getInstalledTargetItems(Batch $batch)
 {
     $ul = new UserList();
     $ul->sortByUserName();
     $users = $ul->getResults();
     $items = array();
     foreach ($users as $user) {
         $item = new TargetItem($this);
         $item->setItemId($user->getUserID());
         $item->setItemName($user->getUserDisplayName());
         $items[] = $item;
     }
     return $items;
 }
 public function reset_passwords()
 {
     if (!$this->validateForm()) {
         return;
     }
     \Core::make('config/database')->save(self::PASSWORD_RESET_MESSAGE_KEY, $this->post('resetMessage'));
     $users = new UserList();
     foreach ($users->getResults() as $userInfo) {
         if ($userInfo instanceof UserInfo) {
             $userInfo->resetUserPassword();
             $userInfo->markAsPasswordReset();
         }
     }
     $this->redirect('/');
 }
Exemplo n.º 5
0
 public function testAutomatedGroupsBase()
 {
     require_once dirname(__FILE__) . '/fixtures/TestGroup.php';
     $g = Group::add('Test Group', '');
     // gonna pull all users with vowels in their names in this group.
     $g->setAutomationOptions(true, false, false);
     $groupControllers = \Group::getAutomatedOnRegisterGroupControllers();
     $this->assertEquals(1, count($groupControllers));
     $users = array(array('aembler', '*****@*****.**'), array('ffjdhbn', '*****@*****.**'), array('ffbOkj', '*****@*****.**'), array('kkytnz', '*****@*****.**'), array('zzvnv', '*****@*****.**'), array('qqwenz', '*****@*****.**'), array('mmnvb', '*****@*****.**'));
     foreach ($users as $user) {
         $this->createUser($user[0], $user[1]);
     }
     $ul = new UserList();
     $ul->filterByGroupID($g->getGroupID());
     $ul->sortByUserName();
     $users1 = $ul->getResults();
     $ul = new UserList();
     $ul->filterByNoGroup();
     $ul->sortByUserName();
     $users2 = $ul->getResults();
     $this->assertEquals(3, count($users1));
     $this->assertEquals(4, count($users2));
 }
Exemplo n.º 6
0
 public function search()
 {
     $dh = Loader::helper('concrete/user');
     if (!$dh->canAccessUserSearchInterface()) {
         return false;
     }
     if ($_REQUEST['submitSearch']) {
         $this->searchRequest->resetSearchRequest();
     }
     $req = $this->searchRequest->getSearchRequest();
     $columns = UserSearchColumnSet::getCurrent();
     if (!$this->userList->getActiveSortColumn()) {
         $col = $columns->getDefaultSortColumn();
         $this->userList->sanitizedSortBy($col->getColumnKey(), $col->getColumnDefaultSortDirection());
     }
     $this->userList->includeInactiveUsers();
     $this->userList->includeUnvalidatedUsers();
     $columns = UserSearchColumnSet::getCurrent();
     $this->set('columns', $columns);
     if ($req['keywords'] != '') {
         $this->userList->filterByKeywords($req['keywords']);
     }
     if ($req['numResults'] && Loader::helper('validation/numbers')->integer($req['numResults'])) {
         $this->userList->setItemsPerPage($req['numResults']);
     }
     $u = new User();
     if (!$u->isSuperUser()) {
         $gIDs = array(-1);
         $gs = new GroupList();
         $groups = $gs->getResults();
         foreach ($groups as $g) {
             $gp = new Permissions($g);
             if ($gp->canSearchUsersInGroup()) {
                 $gIDs[] = $g->getGroupID();
             }
         }
         $this->userList->getQueryObject()->leftJoin("u", "UserGroups", "ugRequired", "ugRequired.uID = u.uID");
         $groups = 'ugRequired.gID in (' . implode(',', $gIDs) . ')';
         $gg = Group::getByID(REGISTERED_GROUP_ID);
         $ggp = new Permissions($gg);
         if ($ggp->canSearchUsersInGroup()) {
             $null = 'ugRequired.gID is null';
         }
         $this->userList->getQueryObject()->select('distinct (u.uID)');
         $expr = $this->userList->getQueryObject()->expr()->orX($groups, $null);
         $this->userList->getQueryObject()->andwhere($expr);
     }
     $filterGIDs = array();
     if (isset($req['gID']) && is_array($req['gID'])) {
         foreach ($req['gID'] as $gID) {
             $g = Group::getByID($gID);
             if (is_object($g)) {
                 $gp = new Permissions($g);
                 if ($gp->canSearchUsersInGroup()) {
                     $filterGIDs[] = $g->getGroupID();
                 }
             }
         }
     }
     foreach ($filterGIDs as $gID) {
         $this->userList->filterByGroupID($gID);
     }
     if (is_array($req['field'])) {
         foreach ($req['field'] as $i => $item) {
             $this->fields[] = $this->getField($item);
             // due to the way the form is setup, index will always be one more than the arrays
             if ($item != '') {
                 switch ($item) {
                     case 'is_active':
                         if ($req['active'] === '0') {
                             $this->userList->filterByIsActive(0);
                         } elseif ($req['active'] === '1') {
                             $this->userList->filterByIsActive(1);
                         }
                         break;
                     case "date_added":
                         $wdt = Loader::helper('form/date_time');
                         /* @var $wdt \Concrete\Core\Form\Service\Widget\DateTime */
                         $dateFrom = $wdt->translate('date_added_from', $_REQUEST);
                         if ($dateFrom) {
                             $this->userList->filterByDateAdded($dateFrom, '>=');
                         }
                         $dateTo = $wdt->translate('date_added_to', $_REQUEST);
                         if ($dateTo) {
                             if (preg_match('/^(.+\\d+:\\d+):00$/', $dateTo, $m)) {
                                 $dateTo = $m[1] . ':59';
                             }
                             $this->userList->filterByDateAdded($dateTo, '<=');
                         }
                         break;
                     case "group_set":
                         $gsID = $_REQUEST['gsID'];
                         $gs = GroupSet::getByID($gsID);
                         $groupsetids = array(-1);
                         if (is_object($gs)) {
                             $groups = $gs->getGroups();
                         }
                         $this->userList->addToQuery('left join UserGroups ugs on u.uID = ugs.uID');
                         foreach ($groups as $g) {
                             if ($pk->validate($g) && !in_array($g->getGroupID(), $groupsetids)) {
                                 $groupsetids[] = $g->getGroupID();
                             }
                         }
                         $instr = 'ugs.gID in (' . implode(',', $groupsetids) . ')';
                         $this->userList->filter(false, $instr);
                         break;
                     default:
                         $akID = $item;
                         $fak = UserAttributeKey::getByID($akID);
                         $type = $fak->getAttributeType();
                         $cnt = $type->getController();
                         $cnt->setAttributeKey($fak);
                         $cnt->searchForm($this->userList);
                         break;
                 }
             }
         }
     }
     $ilr = new UserSearchResult($columns, $this->userList, URL::to('/ccm/system/search/users/submit'), $this->fields);
     $this->result = $ilr;
 }
Exemplo n.º 7
0
 private function getEmailAdressesByGroupId($gId)
 {
     $db = \Database::connection();
     $grp = new UserList();
     $grp->filterByGroupID($gId);
     $list = $grp->getResultIDs();
     $mailads = array();
     foreach ($list as $uID) {
         array_push($mailads, $db->fetchColumn('SELECT uEmail FROM Users WHERE uID = ?', [$uID]));
     }
     return $mailads;
 }
Exemplo n.º 8
0
 /**
  * @deprecated
  */
 public function get()
 {
     return parent::get();
 }
Exemplo n.º 9
0
 public function __construct()
 {
     parent::__construct();
 }