Esempio n. 1
0
 /**
  *
  * Отыскивает по ключевому запросу пользователя
  *
  * @param string $query
  */
 public function search($query)
 {
     $results = array();
     try {
         $items = UsersDBManager::searchByLogin($query);
         foreach ($items as $row) {
             $results[] = array('id' => $row['id'], 'login' => $row['login'], 'email' => $row['email']);
         }
     } catch (Exception $e) {
         $results[] = array('id' => 0, 'login' => 'nothing ', 'email' => 'found');
     }
     print json_encode($results);
     die;
 }
Esempio n. 2
0
 protected function searchUsers()
 {
     try {
         ACLUser::checkCurrentUserGrants([\UserAccount::PermissionName]);
         $items = \UsersDBManager::searchByLogin($this->searchPhrase);
     } catch (\Exception $e) {
         $items = [];
     }
     foreach ($items as $row) {
         $route = CMS::getInstance()->getDispatcher()->getNamed('dashboard.users.manage');
         $add = new SearchResultModel();
         $add->title = $row['login'];
         $add->icon = 'glyphicon glyphicon-user';
         $add->link = $route->buildUrl() . '?id=' . $row['id'];
         $this->results[] = $add;
     }
 }
Esempio n. 3
0
 public function main($nPage = 0)
 {
     // Получаем элементы
     try {
         $aItem = UsersDBManager::selectPaged($nPage, PAGE_SIZE);
         $nItemCount = UsersDBManager::$nItemCount;
     } catch (Exception $e) {
         $this->jump('./');
     }
     //
     $szTitle = 'Список пользователей.';
     if (!empty($nPage)) {
         $szTitle .= ' Страница #' . intval($nPage);
     }
     $aBegin = array('Пользователи' => '#', $szTitle => '#');
     $aButton = array('Добавить пользователя' => './manage?insert=1');
     $aTableHeader = array(array(' ', '5'), array('Логин', '50'), array('Дата последней активности', '20'), array('Редактировать', 10));
     //
     $design = CMSDesign::getInstance();
     $design->begin($aBegin, $szTitle);
     $design->documentBegin();
     $design->header($szTitle);
     $design->buttons($aButton);
     $design->formBegin();
     $design->paging($nPage, ceil($nItemCount / PAGE_SIZE));
     $design->tableBegin();
     $design->tableHeader($aTableHeader);
     foreach ($aItem as $row) {
         $design->rowBegin();
         $design->listCell(sprintf('<input type="checkbox" name="id[]" value="%d"/>', $row['id']));
         $design->listCell(sprintf('<a href="manage?id=%d">%s</a>', $row['id'], $row['login']));
         $design->listCell($row['last_activity_date']);
         $design->editCell('manage?id=' . $row['id']);
         $design->rowEnd();
     }
     $design->tableEnd();
     $design->paging($nPage, ceil($nItemCount / PAGE_SIZE));
     $design->submit('delete', 'Удалить', 'Вы уверены, что хотите удалить этих пользователей?');
     $design->formEnd();
     $design->documentEnd();
     $design->end();
     $this->output();
 }
Esempio n. 4
0
 /**
  *   Возвращает определенную страницу пейджинга
  *   @return
  */
 public static function selectPaged($nCurrentPage, $nPageSize)
 {
     $nCurrentPage = intval($nCurrentPage);
     $nPageSize = intval($nPageSize);
     if ($nPageSize <= 0) {
         throw new Exception('Dimensions overflow. PageSize = "' . $nPageSize . '"');
     }
     if ($nCurrentPage < 0) {
         throw new Exception('Dimensions overflow. CurrentPage = "' . $nCurrentPage . '"');
     }
     $sql = 'SELECT SQL_CALC_FOUND_ROWS * FROM `%s` ORDER by `login` ASC LIMIT %d,%d ';
     $sql = sprintf($sql, USERS_TABLE, $nCurrentPage * $nPageSize, $nPageSize);
     $aData = DB::query($sql);
     $aFound = DB::get('SELECT FOUND_ROWS() as `found`');
     self::$nItemCount = $aFound['found'];
     self::$nPageCount = ceil($aFound['found'] / $nPageSize);
     // Проверяем на допустимые диапазоны поданные страницы
     if (self::$nPageCount <= $nCurrentPage && $nCurrentPage != 0) {
         throw new Exception('Incorrect page number "' . $nCurrentPage . '"');
     }
     return $aData;
 }
Esempio n. 5
0
 /**
  * @param $id
  *
  * @return UserAccount
  * @throws NotFoundException
  */
 public static function getById($id)
 {
     $data = UsersDBManager::get($id);
     $result = new UserAccount($data);
     return $result;
 }
Esempio n. 6
0
 protected static function insertIntoDB($aData)
 {
     $nId = UsersDBManager::insertProfile($aData['login'], $aData);
     return $nId;
 }