1: <?php
2:
3: 4: 5: 6: 7: 8:
9: class MessageController extends BaseController {
10:
11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 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: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 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:
93: return 0;
94: } elseif (!checkdate($mesSegunda, $diaSegunda, $anyoSegunda)) {
95:
96: return 0;
97: } else {
98: return $diasPrimeraJuliano - $diasSegundaJuliano;
99: }
100: }
101:
102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 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: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 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: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 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: