Example #1
0
 public function executeGetAllSents()
 {
     $param = $this->getAllRequestParameter();
     $limit = !empty($param['limit']) ? $param['limit'] : 20;
     $offset = !empty($param['offset']) ? $param['offset'] : 0;
     /* SET ORDER */
     $order = 'created';
     $this->userInit();
     $user_id = $this->user->getAttribute('user_id', null, 'bo');
     $senderIdAvailable = $this->senderIdAvailable();
     $senderId = array();
     foreach ($senderIdAvailable as $s) {
         $senderId[] = $s->getId();
     }
     /* Get Sent Item */
     $smsCriteria = new Criteria();
     $smsCriteria->add(SmsLogPeer::SENDER_ID, $senderId, Criteria::IN);
     $sentCount = SmsLogPeer::doCount($smsCriteria);
     $smsCriteria->addDescendingOrderByColumn(SmsLogPeer::CREATED);
     $smsCriteria->setLimit($limit);
     $smsCriteria->setOffset($offset);
     $sents = SmsLogPeer::doSelect($smsCriteria);
     /* Mapping lectorId and CommondId */
     $lectorId = array();
     $commonId = array();
     foreach ($sents as $sent) {
         if ($sent->getCreatorType() == 'lector') {
             $lectorId[] = $sent->getCreatorUserId();
         } else {
             if ($sent->getCreatorType() == 'common') {
                 $commonId[] = $sent->getCreatorUserId();
             }
         }
     }
     /* Get lector (employee) */
     $eCrit = new Criteria();
     $eCrit->add(EmployeePeer::ID, $lectorId, Criteria::IN);
     $employee = EmployeePeer::doSelect($eCrit);
     $lector = array();
     foreach ($employee as $e) {
         $lector[$e->getId()] = $e->getName();
     }
     /* Get common (user) */
     $cCrit = new Criteria();
     $cCrit->add(UserPeer::ID, $commonId, Criteria::IN);
     $user = UserPeer::doSelect($cCrit);
     $common = array();
     foreach ($user as $u) {
         $common[$u->getId()] = $u->getLogin();
     }
     /* Mapping Sent Item */
     $output = array();
     foreach ($sents as $sent) {
         $temp = $sent->toArray();
         $temp['created'] = date('d F Y, H:i', strtotime($temp['Created']));
         $temp['send_at'] = date('d F Y, H:i', strtotime($temp['SendAt']));
         $temp['creator_name'] = '';
         if ($sent->getCreatorType() == 'lector') {
             $temp['creator_name'] = $lector[$sent->getCreatorUserId()];
         } else {
             if ($sent->getCreatorType() == 'common') {
                 $temp['creator_name'] = $common[$sent->getCreatorUserId()];
             } else {
                 if ($sent->getCreatorType() == 'system') {
                     $temp['creator_name'] = 'system';
                 }
             }
         }
         $temp['sender_id'] = $sent->getSmsSenderId()->getInitial();
         $output[] = $temp;
     }
     $this->jsonwrapper->print_json(array('success' => 1, 'data' => $output, 'all_data_count' => $sentCount));
 }