Overview

Packages

  • controladores
  • modelos
  • None
  • PHP

Classes

  • Activity
  • ActivityController
  • AuthController
  • BaseController
  • Course
  • DatabaseSeeder
  • ExampleTest
  • Guardian
  • HomeController
  • Message
  • MessageController
  • OptStudentCriteriaGrade
  • Period
  • Profile
  • SchoolSetup
  • Student
  • StudentCriteriaGrade
  • StudentSubjectSubperiodAverage
  • StudentSubjectSubperiodAverageController
  • SubPeriod
  • TestCase
  • User
  • UserController

Exceptions

  • Exception
  • InvalidArgumentException
  • LogicException

Functions

  • ws_response
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: 
  3: /**
  4:  * Controlador para la gestion de mensajes
  5:  * @package controladores
  6:  * @author David Castro
  7:  * @since  2016-02-24
  8:  */
  9: class MessageController extends BaseController {
 10: 
 11:     /**
 12:      * Metodo para devolver los mensajes de los usuarios
 13:      *
 14:      * @param string  $page
 15:      * @param string $status
 16:      * 
 17:      * @return  mensajes de la bandeja de mensajes de cada usuario
 18:      * @throws  InvalidArgumentException
 19:      * @since   2016-02-24
 20:      * @author  David Castro
 21:      *
 22:      * @edit    2016-02-24<br />
 23:      *          David Castro<br />
 24:      *          documentacion del metodo<br/>
 25:      *          #edit1
 26:      */
 27:     public function postInbox() {
 28:         try {
 29:             $serial_usr = JWTAuth::getPayload(JWTAuth::getToken())->get('sub');
 30:             $validator = Validator::make(Input::all(), Message::rulesInbox());
 31:             $user = User::find($serial_usr);
 32:             $page = Input::get('page');
 33:             $status = Input::get('status');
 34:             if ($validator->fails()) {
 35:                 return ws_response(true, Input::get('page') . '-' . Input::get('status'), $validator->errors()->getMessages(), 200);
 36:             }
 37:             $messages = $user->messageInbox($page, $status);
 38:             foreach ($messages as $message) {
 39:                 $string_date_hour = explode(" ", $message->send_date_msg);
 40:                 $message_date = ($string_date_hour[0]);
 41:                 $hour = $string_date_hour[1];
 42:                 $actual_date = (date('d-m-Y'));
 43:                 $dias_diferencias = $this->compararFechas($actual_date, $message_date);
 44:                 if ($dias_diferencias == 0) {
 45:                     $message->send_date_msg = $hour;
 46:                 } else if ($dias_diferencias < 365) {
 47:                     $array_message_date = explode("-", $message_date);
 48:                     $day_message_date = $array_message_date[0];
 49:                     $month_message_date = $array_message_date[1];
 50:                     $arrayMonths = array('01' => 'Ene', '02' => 'Feb', '03' => 'Mar', '04' => 'Abr', '05' => 'May', '06' => 'Jun', '07' => 'Jul', '08' => 'Ago', '09' => 'Sep', '10' => 'Oct', '11' => 'Nov', '12' => 'Dic');
 51:                     $new_format_message_date = $day_message_date . ' ' . $arrayMonths[$month_message_date];
 52:                     $message->send_date_msg = $new_format_message_date;
 53:                 } else if ($dias_diferencias > 365) {
 54:                     $message->send_date_msg = $message_date;
 55:                 }
 56:                 $message->message_msg = substr(strip_tags($message->message_msg), 0, 70);
 57:             }
 58:             return ws_response(false, $messages, 'Inbox', 200);
 59:         } catch (Exception $ex) {
 60:             return ws_response(true, null, 'ERROR ' . $ex->getCode() . '! ' . $ex->getMessage(), 500);
 61:         }
 62:     }
 63: 
 64:     /**
 65:      * Metodo para la comparacion de las fechas
 66:      *
 67:      * @param   date $primera
 68:      * @param   date $segunda
 69:      * 
 70:      * @return  diferencia entre fechas
 71:      * @throws  InvalidArgumentException
 72:      * @since   2016-02-24
 73:      * @author  David Castro
 74:      *
 75:      * @edit    2016-02-24<br />
 76:      *          David Castro<br />
 77:      *          documentacion del metodo<br/>
 78:      *          #edit1
 79:      */
 80:     function compararFechas($primera, $segunda) {
 81:         $valoresPrimera = explode("-", $primera);
 82:         $valoresSegunda = explode("-", $segunda);
 83:         $diaPrimera = $valoresPrimera[0];
 84:         $mesPrimera = $valoresPrimera[1];
 85:         $anyoPrimera = $valoresPrimera[2];
 86:         $diaSegunda = $valoresSegunda[0];
 87:         $mesSegunda = $valoresSegunda[1];
 88:         $anyoSegunda = $valoresSegunda[2];
 89:         $diasPrimeraJuliano = gregoriantojd($mesPrimera, $diaPrimera, $anyoPrimera);
 90:         $diasSegundaJuliano = gregoriantojd($mesSegunda, $diaSegunda, $anyoSegunda);
 91:         if (!checkdate($mesPrimera, $diaPrimera, $anyoPrimera)) {
 92:             // "La fecha ".$primera." no es valida";
 93:             return 0;
 94:         } elseif (!checkdate($mesSegunda, $diaSegunda, $anyoSegunda)) {
 95:             // "La fecha ".$segunda." no es valida";
 96:             return 0;
 97:         } else {
 98:             return $diasPrimeraJuliano - $diasSegundaJuliano;
 99:         }
100:     }
101: 
102:     /**
103:      * Metodo para los mensajes no leidos de los usuarios
104:      *
105:      * @param   void
106:      * 
107:      * @return  array $message
108:      * @throws  InvalidArgumentException
109:      * @since   2016-02-24
110:      * @author  David Castro
111:      *
112:      * @edit    2016-02-24<br />
113:      *          David Castro<br />
114:      *          documentacion del metodo<br/>
115:      *          #edit1
116:      */
117:     public function postUnreadmessagesbyuser() {
118:         try {
119:             $serial_usr = JWTAuth::getPayload(JWTAuth::getToken())->get('sub');
120:             $user = User::find($serial_usr);
121:             $messages = $user->unreadMessages();
122:             return ws_response(false, $messages[0], 'Messages', 200);
123:         } catch (Exception $ex) {
124:             return ws_response(true, null, 'ERROR ' . $ex->getCode() . '! ' . $ex->getMessage(), 500);
125:         }
126:     }
127: 
128:     /**
129:      * Metodo para cambio de estado de los mensajes
130:      *
131:      * @param   integer $serial_msg
132:      * @param   string $status
133:      * 
134:      * @return  $message
135:      * @throws  InvalidArgumentException
136:      * @since   2016-02-24
137:      * @author  David Castro
138:      *
139:      * @edit    2016-02-24<br />
140:      *          David Castro<br />
141:      *          documentacion del metodo<br/>
142:      *          #edit1
143:      */
144:     public function postChangestatemessage() {
145:         try {
146:             $serial_usr = JWTAuth::getPayload(JWTAuth::getToken())->get('sub');
147:             $serial_msg = Input::get('serial_msg');
148:             $status = Input::get('status');
149:             $user = User::find($serial_usr);
150:             $validator = Validator::make(Input::all(), Message::rulesChangestatemessage());
151:             if ($validator->fails()) {
152:                 return ws_response(true, Input::get('serial_msg') . '-' . Input::get('status'), $validator->errors()->getMessages(), 200);
153:             }
154:             $message = $user->changeStateMessage($serial_msg, $status);
155:             return ws_response(false, $message, 'CHANGE STATE MESSAGE!', 200);
156:         } catch (Exception $ex) {
157:             return ws_response(true, null, 'ERROR ' . $ex->getCode() . '! ' . $ex->getMessage(), 500);
158:         }
159:     }
160: 
161:     /**
162:      * Metodo para ver detalle de los mensajes
163:      *
164:      * @param   integer $serial_msg
165:      * 
166:      * @return  string message
167:      * @throws  InvalidArgumentException
168:      * @since   2016-02-24
169:      * @author  David Castro
170:      *
171:      * @edit    2016-02-24<br />
172:      *          David Castro<br />
173:      *          documentacion del metodo<br/>
174:      *          #edit1
175:      */
176:     public function postDetailsmessage() {
177:         try {
178:             $serial_usr = JWTAuth::getPayload(JWTAuth::getToken())->get('sub');
179:             $serial_msg = Input::get('serial_msg');
180:             $user = User::find($serial_usr);
181:             $validator = Validator::make(Input::all(), Message::rulesDetailsmessage());
182:             if ($validator->fails()) {
183:                 return ws_response(true, Input::get('serial_msg'), $validator->errors()->getMessages(), 200);
184:             }
185:             $message = $user->DetailsMessage($serial_msg);
186:             $message->message_msg = strip_tags($message->message_msg);
187:             return ws_response(false, $message, 'Detail Message', 200);
188:         } catch (Exception $ex) {
189:             return ws_response(true, null, 'ERROR ' . $ex->getCode() . '! ' . $ex->getMessage(), 500);
190:         }
191:     }
192: 
193: }
194: 
learnbox_ws API documentation generated by ApiGen