/**
  * GET method to setup member timeline
  * @param string app_token HTTP HEADER
  * @param string lang HTTP HEADER optional parameter used for the response message
  * @param int pzt_member_id
  * @return string response String representation of json object with pzt_member_id value, basic info or error
  */
 public function timelineAction()
 {
     //this is a protected API service
     if ($this->isAccessTokenValid()) {
         //loading dispatcher vars
         $version = $this->dispatcher->getParam("version");
         $id = $this->dispatcher->getParam(0);
         $this->setJsonResponse();
         $meta = array('response_type' => 'error');
         $response = array();
         $lang = $this->getRequestLang();
         $tokens = $this->getAuthTokens();
         $app_token = $tokens['app_token'];
         $member_token = $tokens['member_token'];
         $member_obj = Services::getService('SPztMember')->me(array('app_token' => $app_token, 'member_token' => $member_token), $lang);
         //valid app and member tokens provided
         if (is_object($member_obj) && property_exists($member_obj, 'pzt_member_id')) {
             if ($this->request->isGet()) {
                 $type = $this->dispatcher->getParam(0);
                 $date = $this->dispatcher->getParam(1);
                 $limt = $this->dispatcher->getParam(2);
                 $dirn = $this->dispatcher->getParam(3);
                 $params = array();
                 if (strlen($date) && is_numeric($limt)) {
                     $params = array("date" => $date, "limit" => $limt, "direction" => $dirn);
                 }
                 $message_obj = Services::getService('SPztMessage')->getTimeline($member_obj->pzt_member_id, $type, $params, $lang);
                 if (is_object($message_obj) && count($message_obj)) {
                     $msg_data = array();
                     if ($type == 'menu') {
                         foreach ($message_obj as $msg_key => $msg_record) {
                             $msg_tmp = array('label' => '', 'number' => $msg_record->total, 'date' => $msg_record->date);
                             $msg_data[] = array('type' => 'message', 'body' => $msg_tmp);
                         }
                     } else {
                         foreach ($message_obj as $msg_key => $msg_record) {
                             $msg_tmp = array('subject' => '', 'message' => '', 'delivery_dt' => '', 'media' => array('main' => '', 'others' => ''), 'documents' => array(), 'hearts' => 0, 'comments' => array());
                             $msg_data[] = array('type' => 'message', 'body' => $msg_tmp);
                         }
                     }
                     $meta = array('response_type' => 'success');
                     $response = $msg_data;
                 }
             }
         } else {
             //handling error
             $response = $member_obj;
         }
         echo $this->responseWrapper($meta, $response);
     } else {
         $this->handleInvalidToken();
     }
 }
Пример #2
0
 public function OLDsearch($term, $params, $lang)
 {
     //making sure params have valid data limits
     $default_offset = 0;
     $default_limit = 20;
     $max_limit = 50;
     if (isset($params['offset'])) {
         $params['offset'] = !$params['offset'] || $params['offset'] < 0 ? $default_offset : $params['offset'];
     } else {
         $params['offset'] = $default_offset;
     }
     if (isset($params['limit'])) {
         if (is_numeric($params['limit']) && $params['limit'] > $max_limit) {
             $params['limit'] = $max_limit;
         } else {
             $params['limit'] = !$params['limit'] || $params['limit'] < 0 ? $default_limit : $params['limit'];
         }
     } else {
         $params['limit'] = $default_limit;
     }
     $members = Repositories::getRepository('RPztMember')->search($term, $params);
     if ($members !== false) {
         return $members;
     } else {
         return Services::getService('SPztSysResCode')->getSysResData(true, 'E002-R079', $lang);
     }
 }