Example #1
0
 /**
  * Get list of users
  */
 public static function getPage($page = 0)
 {
     $app = \Slim\Slim::getInstance();
     $dao = new UserDAO();
     if (!$dao->hasRole('ADMIN')) {
         return $app->status(403);
     }
     $app->expires(time());
     $query = $_GET;
     $query['deleted'] = (int) $query['deleted'];
     $pager = new Pager(MAINURL . '/users/', 25);
     $pager->setPage($page);
     $query = $pager->getQueryArray($query);
     $list = $dao->getList($query);
     $pager->setCount(count($list['list']));
     if (isset($list['total'])) {
         $pager->setTotal($list['total']);
     }
     $app->view->set('menu', 'users');
     $app->view->set('query', $query);
     $app->view->set('result', $list);
     $app->view->set('pager', $pager);
     $app->view->set('app', $app);
     $app->render('users/list.twig.html');
 }
Example #2
0
 /**
  * Get list of senders
  *
  * @param number $page
  */
 public static function getPage($page = 0)
 {
     $app = \Slim\Slim::getInstance();
     $dao = new SenderDAO();
     $userDAO = new UserDAO();
     $app->expires(time());
     $strong = \Strong\Strong::getInstance();
     $userStrong = $strong->getUser();
     $query = $_GET;
     if (!$userDAO->hasRole('ADMIN')) {
         $query['user_id'] = $userStrong['id'];
     }
     $pager = new Pager(MAINURL . '/senders/', 25);
     $pager->setPage($page);
     $query = $pager->getQueryArray($query);
     $list = $dao->getList($query);
     $pager->setCount(count($list['list']));
     if (isset($list['total'])) {
         $pager->setTotal($list['total']);
     }
     $ownerList = $dao->getList(array(user_id => $userStrong['id']));
     $app->view->set('menu', 'senders');
     $app->view->set('query', $query);
     $app->view->set('result', $list);
     $app->view->set('user_result', $ownerList);
     $app->view->set('pager', $pager);
     $app->view->set('users', $userDAO->getList());
     $app->render('senders/list.twig.html');
 }
Example #3
0
 /**
  * Get list of messages 
  */
 public static function getPage($page = 0)
 {
     $app = \Slim\Slim::getInstance();
     $dao = new MessageDAO();
     $userDAO = new UserDAO();
     $users = $userDAO->getList();
     $groupDAO = new GroupDAO();
     $groupsQuery = array();
     $senderDAO = new SenderDAO();
     $sendersQuery = array();
     if (!$userDAO->hasRole('ADMIN')) {
         $strong = \Strong\Strong::getInstance();
         $user = $strong->getUser();
         $groupsQuery['user_id'] = $user['id'];
         $sendersQuery['user_id'] = $user['id'];
     }
     $groups = $groupDAO->getList($groupsQuery);
     if (0 == $groups['total']) {
         return $app->redirect(MAINURL . '/groups');
     }
     $senders = $senderDAO->getList($sendersQuery);
     if (0 == $senders['total']) {
         return $app->redirect(MAINURL . '/senders');
     }
     $app->expires(time());
     $query = $_GET;
     if (!$userDAO->hasRole('ADMIN')) {
         $strong = \Strong\Strong::getInstance();
         $user = $strong->getUser();
         $query['user_id'] = $user['id'];
     }
     $pager = new Pager(MAINURL . '/messages/', 25);
     $pager->setPage($page);
     $query = $pager->getQueryArray($query);
     $list = $dao->getList($query);
     $pager->setCount(count($list['list']));
     if (isset($list['total'])) {
         $pager->setTotal($list['total']);
     }
     foreach ($list['list'] as $k => $v) {
         $list['list'][$k]->dataHuman = self::getHumanUrl($v);
     }
     $app->view->set('menu', 'messages');
     $app->view->set('result', $list);
     $app->view->set('pager', $pager);
     $app->view->set('groups', $groups);
     $app->view->set('senders', $senders);
     $app->view->set('users', $users);
     $app->render('messages/list.twig.html');
 }
Example #4
0
 /**
  * Get list of messages
  */
 public static function getPage($page = 0)
 {
     $app = \Slim\Slim::getInstance();
     $app->expires(time());
     $userDAO = new UserDAO();
     $groupDAO = new GroupDAO();
     $groupsQuery = array();
     if (!$userDAO->hasRole('ADMIN')) {
         $strong = \Strong\Strong::getInstance();
         $user = $strong->getUser();
         $groupsQuery['user_id'] = $user['id'];
     }
     $groups = $groupDAO->getList($groupsQuery);
     if (0 == $groups['total']) {
         return $app->redirect(MAINURL . '/groups');
     }
     $chatDAO = new ChatDAO();
     $query = $_GET;
     $query['from'] = preg_replace('![^0-9]*!', '', $query['search']);
     if (!$userDAO->hasRole('ADMIN')) {
         $strong = \Strong\Strong::getInstance();
         $user = $strong->getUser();
         $query['user_id'] = $user['id'];
     }
     $pager = new Pager(MAINURL . '/inbox/', 25);
     $pager->setPage($page);
     $query = $pager->getQueryArray($query);
     $list = $chatDAO->getList($query);
     $pager->setCount(count($list['list']));
     if (isset($list['total'])) {
         $pager->setTotal($list['total']);
     }
     $app->view->set('menu', 'inbox');
     $app->view->set('query', $query);
     $app->view->set('result', $list);
     $app->view->set('pager', $pager);
     $app->render('inbox/list.twig.html');
 }
Example #5
0
 /**
  * Get edit group form
  * 
  * @param number $id
  */
 public static function getEditPage($id)
 {
     $app = \Slim\Slim::getInstance();
     $dao = new GroupDAO();
     $userDAO = new UserDAO();
     $app->expires(time());
     $item = $dao->fetch($id);
     if (empty($item)) {
         return $app->notFound();
     }
     $numbers = $dao->getNumbers($item->getId());
     $pager1 = new Pager(MAINURL . '/groups/edit/' . $item->getId(), 50);
     $pager1->setQueryMode('page1');
     $pager1->setPage($_GET['page1']);
     $pager2 = new Pager(MAINURL . '/groups/edit/' . $item->getId(), 50);
     $pager2->setQueryMode('page2');
     $pager2->setPage($_GET['page2']);
     $totalRegistered = 0;
     $totalUnregistered = 0;
     $numbersRegistered = array();
     $numbersUnregistered = array();
     $start1 = $pager1->getPageSize() * $pager1->getPage();
     $end1 = $start1 + $pager1->getPageSize();
     $start2 = $pager2->getPageSize() * $pager2->getPage();
     $end2 = $start2 + $pager2->getPageSize();
     $cntRegistered = 0;
     $cntUnregistered = 0;
     foreach ($numbers as $k => $v) {
         if (!empty($v['synced'])) {
             if ($cntRegistered >= $start1 && $cntRegistered < $end1) {
                 $numbersRegistered[$k] = $v;
             }
             $cntRegistered++;
             $totalRegistered++;
         } else {
             if ($cntUnregistered >= $start2 && $cntUnregistered < $end2) {
                 $numbersUnregistered[$k] = $v;
             }
             $cntUnregistered++;
             $totalUnregistered++;
         }
     }
     $pager1->setTotal($totalRegistered);
     $pager1->setCount(count($numbersRegistered));
     $pager2->setTotal($totalUnregistered);
     $pager2->setCount(count($numbersUnregistered));
     $senderDAO = new SenderDAO();
     $strong = \Strong\Strong::getInstance();
     $user = $strong->getUser();
     $senders = $senderDAO->getList(array(user_id => $user['id']));
     $app->view->set('senders', $senders);
     $app->view->set('menu', 'groups');
     $app->view->set('id', $id);
     $app->view->set('item', $item);
     $app->view->set('pager1', $pager1);
     $app->view->set('pager2', $pager2);
     $app->view->set('users', $userDAO->getList());
     $app->view->set('numbersRegistered', $numbersRegistered);
     $app->view->set('numbersUnregistered', $numbersUnregistered);
     $app->view->set('duplicates', $dao->getDuplicates($item->getId()));
     $app->render('groups/edit.twig.html');
 }
Example #6
0
 public static function getInboxPage($page = 0)
 {
     $app = \Slim\Slim::getInstance();
     $limit = 25;
     if ($_GET['format'] == 'csv') {
         $page = 0;
         $limit = 10000;
     }
     $userDAO = new UserDAO();
     $chatDAO = new ChatDAO();
     $formUtils = new FormUtils();
     $startTime = $formUtils->toTimestamp($_GET['start_date'] . ' 00:00');
     $endTime = $formUtils->toTimestamp($_GET['end_date'] . ' 23:59');
     if ($endTime <= 0) {
         $endTime = time();
     }
     if ($startTime <= 0) {
         $startTime = $endTime - 7 * 24 * 3600;
     }
     $app->view->set('start_date', $startTime);
     $app->view->set('end_date', $endTime);
     $query = $_GET;
     $query['start_date'] = $startTime;
     $query['end_date'] = $endTime;
     if (!$userDAO->hasRole('ADMIN')) {
         $strong = \Strong\Strong::getInstance();
         $user = $strong->getUser();
         $query['user_id'] = $user['id'];
     }
     $pager = new Pager(MAINURL . '/reports/inbox/?' . http_build_query($_GET), $limit);
     $pager->setPage($page);
     $query = $pager->getQueryArray($query);
     $list = $chatDAO->getList($query);
     $pager->setCount(count($list['list']));
     if (isset($list['total'])) {
         $pager->setTotal($list['total']);
     }
     $reportTable = array();
     foreach ($list['list'] as $message) {
         $reportTable[] = $message;
     }
     $app->view->set('menu', 'reports');
     $app->view->set('reportTable', array_values($reportTable));
     $app->view->set('query', $query);
     $app->view->set('pager', $pager);
     if ($_GET['format'] == 'csv') {
         header("Content-type: text/csv");
         header("Content-disposition: attachment; filename=inbox.csv");
         $app->render('reports/inbox.twig.csv');
     } else {
         $app->render('reports/inbox.twig.html');
     }
 }