public function read($thread_id)
 {
     if (Utils::isOperator(Auth::user()->id)) {
         $canned_messages = CannedMessages::where('operator_id', Auth::user()->id);
     } else {
         $canned_messages = CannedMessages::all();
     }
     $this->data['canned_messages'] = $canned_messages;
     $thread = MessageThread::where('id', $thread_id)->first();
     $messages = MessageThread::getServerMessages($thread_id, 0);
     $geo_info = ThreadGeoInfo::where('thread_id', $thread_id)->first();
     $this->data['geo'] = $geo_info;
     $this->data['geo_pages'] = json_decode($geo_info->all_pages);
     $this->data['message_str'] = $messages["messages_str"];
     $this->data['last_message_id'] = $messages["last_message_id"];
     $this->data['thread'] = $thread;
     $this->data['closed_conversation'] = 1;
     return View::make('conversations.messages', $this->data);
 }
 public function read($thread_id)
 {
     if (Utils::isOperator(Auth::user()->id)) {
         $canned_messages = CannedMessages::where('operator_id', Auth::user()->id)->get();
     } elseif (Utils::isDepartmentAdmin(Auth::user()->id)) {
         $department_admin = DepartmentAdmins::where('user_id', Auth::user()->id)->first();
         $operator_ids = OperatorsDepartment::where('department_id', $department_admin->department_id)->lists("user_id");
         if (sizeof($operator_ids) > 0) {
             $canned_messages = CannedMessages::whereIn('operator_id', $operator_ids)->get();
         } else {
             $canned_messages = [];
         }
     } else {
         $canned_messages = CannedMessages::all();
     }
     $this->data['canned_messages'] = $canned_messages;
     $ticket = Tickets::where('thread_id', $thread_id)->first();
     $thread = MessageThread::find($thread_id);
     if ($ticket->customer_id > 0) {
         $ticket->customer = User::find($ticket->customer_id);
     }
     $messages = MessageThread::getTicketMessages($thread_id, 0);
     $geo_info = ThreadGeoInfo::where('thread_id', $thread_id)->first();
     $this->data['geo'] = $geo_info;
     $this->data['message_str'] = $messages["messages_str"];
     $this->data['last_message_id'] = $messages["last_message_id"];
     $this->data['thread'] = $thread;
     $this->data['ticket'] = $ticket;
     return View::make('tickets.customers_read', $this->data);
 }