add_action('silex_action','the_messenger'); function general_title(){ echo "General Notification"; } function help_title(){ echo "Help Notification"; } function order_title(){ echo "Order Notification"; } // Define the CSS function general_css() { ?> get('/messenger/general', function (Request $request) { global $hooks; $hooks->add_action('the_title',"general_title"); $hooks->add_action('global_css',"general_css"); $hooks->add_action('global_js',"general_js"); the_head(); include 'general.tpl.php'; the_footer(); return ""; }); $app->post('/messenger/get-general', function (Request $request) { global $db; $id = $request->get('id'); include 'general.list.php'; return ""; }); $app->get('/messenger/help', function (Request $request) { global $hooks; $hooks->add_action('the_title',"help_title"); $hooks->add_action('global_css',"help_css"); $hooks->add_action('global_js',"help_js"); the_head(); include 'help.tpl.php'; the_footer(); return ""; }); $app->post('/messenger/get-help', function (Request $request) { global $db; $id = $request->get('id'); include 'help.list.php'; return ""; }); $app->post('/messenger/updateGroupName', function(Request $request) { global $db; $chat_name = $request->get('value'); $room_id = $request->get('pk'); $db->bind("chat_name", $chat_name); $db->bind("room_id", $room_id); $updateGroupName = $db->query("UPDATE `notice_rooms` SET `chat_name` = :chat_name WHERE room_id = :room_id"); if ($updateGroupName) { return new Response("SUCCESS", 200); } else { return new Response('FAILED', 201); } }); $app->post('/messenger/send-help', function(Request $request) { global $db; $user_id = $request->get('user_id'); $text = $request->get('text'); //create messages $db->bind("message", $text); $db->bind("chat_type", "1"); $db->bind("from_id", $user_id); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id) VALUES (:message,:chat_type,:from_id)"); $message_id = $db->lastInsertId(); //create room for user_id $db->bind("owner_id", $user_id); $checkRoom = $db->query("SELECT * FROM notice_rooms WHERE owner_id = :owner_id and room_type = 'help'"); if(count($checkRoom) == 0){ $db->bind("owner_id", $user_id); $createRoom = $db->query("INSERT INTO notice_rooms(chat_name,owner_id,room_type) VALUES ('Help', :owner_id, 'help')"); $room_id = $db->lastInsertId(); }else{ $room_id = $checkRoom[0]["room_id"]; } //create members for room (current user) $db->bind("user_id", $user_id); $db->bind("room_id", $room_id); $checkMembers = $db->query("SELECT * FROM notice_members WHERE user_id = :user_id and room_id = :room_id"); if(count($checkMembers) == 0){ $db->bind("user_id", $user_id); $db->bind("room_id", $room_id); $createMembers = $db->query("INSERT INTO notice_members(room_id,user_id,status) VALUES (:room_id, :user_id, 1)"); } //create members for room (administrator) $db->bind("user_id", "1"); $db->bind("room_id", $room_id); $checkMembers = $db->query("SELECT * FROM notice_members WHERE user_id = :user_id and room_id = :room_id"); if(count($checkMembers) == 0){ $db->bind("user_id", "1"); $db->bind("room_id", $room_id); $createMembers = $db->query("INSERT INTO notice_members(room_id,user_id,status) VALUES (:room_id, :user_id, 1)"); } //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); //create unread status $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $db->bind("user_id", "1"); $createUnread = $db->query("INSERT INTO notice_unread(room_id,message_id, user_id) VALUES (:room_id, :message_id, :user_id)"); $html .= '
  • '; $html .= '
    '; $html .= ''; $html .= '
    '; $html .= ''; $html .= '
    '; $html .= '
  • '; return $html; }); $app->get('/messenger/order/{id}', function ($id) use ($app) { global $hooks; global $room_id; global $image; $room_id = $id; $image = showImage($_SESSION['user_id']); if (!roomIDExist($room_id) && !userInRoom($room_id, $_SESSION['user_id'])) { unset($room_id); return $app->redirect('/messenger/general'); } $hooks->add_action('the_title',"order_title"); $hooks->add_action('global_css',"order_css"); $hooks->add_action('global_js',"order_js"); the_head(); include 'order.tpl.php'; the_footer(); return ""; }); $app->post('/messenger/get-order', function (Request $request) { global $db; $id = $request->get('id'); $room_id = $request->get('room_id'); include 'order.list.php'; return ""; }); $app->get('/messenger/order_list', function(Request $request) { include 'order_list.php'; return ''; }); $app->post('/messenger/send-order', function(Request $request) { global $db; $user_id = $request->get('user_id'); $text = $request->get('text'); $room_id = $request->get('room_id'); $reply_id = $request->get('reply_id'); if($reply_id >= 0){ }else{ $reply_id = NULL; } //create messages if($reply_id ){ $db->bind("message", $text); $db->bind("chat_type", "1"); $db->bind("from_id", $user_id); $db->bind("reply_id", $reply_id); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id,reply_id) VALUES (:message,:chat_type,:from_id, :reply_id)"); }else{ $db->bind("message", $text); $db->bind("chat_type", "1"); $db->bind("from_id", $user_id); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id) VALUES (:message,:chat_type,:from_id)"); } $message_id = $db->lastInsertId(); //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); //create unread status $MembersInRoom = getUserInRoom($room_id); foreach ($MembersInRoom as $key => $value){ if($value['user_id'] <> $_SESSION['user_id']){ $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $db->bind("user_id", $value['user_id']); $createMembers = $db->query("INSERT INTO notice_unread(room_id,message_id,user_id, status) VALUES (:room_id, :message_id,:user_id, 0)"); } } $html .= '
  • '; $html .= '
    '.($_SESSION['user_id'] == 1 ? "Bot" : (getProfileData($user_id, "first_name") <> "" ? getProfileData($user_id, "first_name") : get_data($user_id, "username"))).' '.date("H:i").'
    '.$text .'
    '; $html .= '
  • '; return $html; }); $app->post('/messenger/recall', function(Request $request) { global $db; $reply_id = $request->get('reply_id'); $username = ($_SESSION['role'] == 0 ? $_SESSION['username'] : (getProfileData($_SESSION["user_id"], "first_name") <> "" ? getProfileData($_SESSION["user_id"], "first_name") : $_SESSION['username'])); $message = $username . " have recalled a message."; $db->bind("message", $message); $db->bind("reply_id", $reply_id); $data = $db->query("UPDATE `notice_messages` SET message = :message, chat_type = 1, isRecall = 1, file = null, file_name = null, mime = null, decision_type = null, decision = 0, warehouse_arrangement_id = null WHERE message_id = :reply_id"); if ($data) { return new Response("SUCCESS", 200); } else { return new Response('FAILED', 201); } }); $app->post('/messenger/get-reply-content', function(Request $request) { global $db; $reply_id = $request->get('reply_id'); $db->bind("reply_id", $reply_id); $data = $db->query("SELECT notice_messages.file as file, notice_messages.file_name as file_name, notice_messages.message_id as message_id, notice_messages.message_id as message_id, notice_messages.message as message, notice_messages.from_id as from_id, notice_messages.created_on as created_on, notice_messages.chat_type as chat_type, notice_messages.mime as mime FROM `notice_messages` join notice_room_message on notice_messages.message_id = notice_room_message.message_id WHERE notice_messages.message_id = :reply_id"); if($data[0]["from_id"] == $_SESSION['user_id'] ){ $class="out"; }else{ $class="in"; } $html = ""; $html .= ''; $html .= ''; return $html; }); $app->post('/messenger/add-member', function(Request $request) { global $db; $room_id = $request->get('room_id'); $user_ids = $request->get('user_ids'); foreach ($user_ids as $key => $user_id) { $db->bind("user_id", $user_id); $db->bind("room_id", $room_id); $db->bind("roles", "1"); $createMembers = $db->query("INSERT INTO notice_members(room_id,user_id,status, roles) VALUES (:room_id, :user_id, 1, :roles)"); } if ($createMembers) { return new Response("SUCCESS", 200); } else { return new Response('FAILED', 201); } }); $app->post('/messenger/add-group', function(Request $request) { global $db; $so_id = $request->get('order_id'); $chat_name = getSOData($so_id,"order_no"); $owner_id = $_SESSION['user_id']; $room_type = "order"; $db->bind("order_id", $so_id); $db->bind("chat_name",$chat_name); $db->bind("owner_id", $_SESSION['user_id']); $db->bind("room_type", "order"); $createRoom = $db->query("INSERT INTO notice_rooms(chat_name,owner_id,order_id,room_type) VALUES ( :chat_name, :owner_id, :order_id, :room_type)"); $room_id = $db->lastInsertId(); $user_ids = $request->get('user_ids'); foreach ($user_ids as $key => $user_id) { $db->bind("user_id", $user_id); $db->bind("room_id", $room_id); $db->bind("roles", "0"); $createMembers = $db->query("INSERT INTO notice_members(room_id,user_id,status, roles) VALUES (:room_id, :user_id, 1, :roles)"); } if ($createMembers) { return new Response("SUCCESS", 200); } else { return new Response('FAILED', 201); } }); $app->post('/messenger/order/decision-request-update', function(Request $request) { global $db; $message_id = $request->get('message_id'); $decision = $request->get('decision'); if( $request->get('reason') && $request->get('scheduled_date')){ $reason = $request->get('reason'); $scheduled_date = $request->get('scheduled_date'); } if($request->get('id')){ $DAID = $request->get('id'); } $db->bind("message_id", $message_id); $data = $db->query("SELECT * FROM `notice_room_message` WHERE message_id = :message_id"); $room_id = $data[0]["room_id"]; $db->bind("message_id", $message_id); $db->bind("decision", $decision); $data = $db->query("UPDATE `notice_messages` SET decision = :decision WHERE message_id = :message_id"); $decision_type = getMessageData($message_id, "decision_type"); if($decision_type == 1){ $warehouse_arrangement_id = getMessageData($message_id, "warehouse_arrangement_id"); if($decision == 1){ $db->bind("status", "2"); $db->bind("warehouse_arrangement_id", $warehouse_arrangement_id); $data = $db->query("UPDATE `warehouse_arrangements` SET status = :status WHERE id = :warehouse_arrangement_id"); }else{ $db->bind("status", "3"); $db->bind("warehouse_arrangement_id", $warehouse_arrangement_id); $data = $db->query("UPDATE `warehouse_arrangements` SET status = :status WHERE id = :warehouse_arrangement_id"); } //create messages if($decision == 1){ $text = (getProfileData($_SESSION['user_id'], "first_name") <> "" ? getProfileData($_SESSION['user_id'], "first_name") : get_data($_SESSION['user_id'], "username")) . " have agreed to accept this decision request."; }else{ $text = (getProfileData($_SESSION['user_id'], "first_name") <> "" ? getProfileData($_SESSION['user_id'], "first_name") : get_data($_SESSION['user_id'], "username")) . " have agreed to declined this decision request."; } $db->bind("message", $text); $db->bind("chat_type", "1"); $db->bind("from_id", $_SESSION['user_id']); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id) VALUES (:message,:chat_type,:from_id)"); $message_id = $db->lastInsertId(); //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); //create unread status $MembersInRoom = getUserInRoom($room_id); foreach ($MembersInRoom as $key => $value){ if($value['user_id'] <> $_SESSION['user_id']){ $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $db->bind("user_id", $value['user_id']); $createMembers = $db->query("INSERT INTO notice_unread(room_id,message_id,user_id, status) VALUES (:room_id, :message_id,:user_id, 0)"); } } }else{ $delivery_arrangement_id = getMessageData($message_id, "delivery_arrangement_id"); if($decision == 1){ $db->bind("status", "2"); $db->bind("delivery_arrangement_id", $delivery_arrangement_id); $data = $db->query("UPDATE `delivery_arrangements` SET status = :status WHERE id = :delivery_arrangement_id"); //create messages $text = (getProfileData($_SESSION['user_id'], "first_name") <> "" ? getProfileData($_SESSION['user_id'], "first_name") : get_data($_SESSION['user_id'], "username")) . " have agreed to accept this decision request."; $db->bind("message", $text); $db->bind("chat_type", "1"); $db->bind("from_id", $_SESSION['user_id']); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id) VALUES (:message,:chat_type,:from_id)"); $message_id = $db->lastInsertId(); //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); //create unread status $MembersInRoom = getUserInRoom($room_id); foreach ($MembersInRoom as $key => $value){ if($value['user_id'] <> $_SESSION['user_id']){ $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $db->bind("user_id", $value['user_id']); $createMembers = $db->query("INSERT INTO notice_unread(room_id,message_id,user_id, status) VALUES (:room_id, :message_id,:user_id, 0)"); } } //create messages $db->bind("message", "Have you received your goods?"); $db->bind("chat_type", "13"); $db->bind("decision", 0); $db->bind("decision_type", 1); $db->bind("delivery_arrangement_id", $delivery_arrangement_id); $db->bind("from_id", $_SESSION['user_id']); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id, decision, decision_type, delivery_arrangement_id) VALUES (:message,:chat_type,:from_id, :decision, :decision_type, :delivery_arrangement_id)"); $message_id = $db->lastInsertId(); //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); }else{ $db->bind("status", "5"); $db->bind("delivery_arrangement_id", $delivery_arrangement_id); $data = $db->query("UPDATE `delivery_arrangements` SET status = :status WHERE id = :delivery_arrangement_id"); //create messages $text = (getProfileData($_SESSION['user_id'], "first_name") <> "" ? getProfileData($_SESSION['user_id'], "first_name") : get_data($_SESSION['user_id'], "username")) . " have agreed to accept this decision request."; $db->bind("message", $text); $db->bind("chat_type", "1"); $db->bind("from_id", $_SESSION['user_id']); $createMessage = $db->query("INSERT INTO notice_messages(message,chat_type,from_id) VALUES (:message,:chat_type,:from_id)"); $message_id = $db->lastInsertId(); //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); //create unread status $MembersInRoom = getUserInRoom($room_id); foreach ($MembersInRoom as $key => $value){ if($value['user_id'] <> $_SESSION['user_id']){ $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $db->bind("user_id", $value['user_id']); $createMembers = $db->query("INSERT INTO notice_unread(room_id,message_id,user_id, status) VALUES (:room_id, :message_id,:user_id, 0)"); } } } } return new Response("SUCCESS", 200); }); $app->post('/messenger/order/get-warehouse-arrangement', function(Request $request) { global $db; $warehouse_arrangement_id = $request->get('id'); $message_id = $request->get('message_id'); $html = '
    '; $WAItems = getWAItems(getWADatafromWAID($warehouse_arrangement_id, "so_id")); $x = 1; foreach($WAItems as $key => $WAItem){ $html .= ($WAItem['status'] == 1 ? "" : "") .""; $x++; } $html .= '
    No Description Total Ctn (Nominal) Total Ctn (Actual) CBM (Nominal) CBM (Actual) Weight (Nominal) Weight (Actual) Status Photo
    ".$x." ".getSOItem($WAItem['so_item_id'], "description")." ".getSOItem($WAItem['so_item_id'], "packaging_quantity")." ".$WAItem['actual_ctn']." ".getSOItem($WAItem['so_item_id'], 'packaging_height') . "x" . getSOItem($WAItem['so_item_id'], 'packaging_width') . "x" . getSOItem($WAItem['so_item_id'], 'packaging_depth')." ".$WAItem['actual_height_ctn'] . "x" . $WAItem['actual_width_ctn'] . "x" . $WAItem['actual_depth_ctn']." ".getSOItem($WAItem['so_item_id'], "packaging_gross")." ".$WAItem['actual_weight_ctn']." ".($WAItem['status'] == 1 ? "Unmatched" : "Matched")." null ? $WAItem['image'] : "https://www.placehold.it/200/EFEFEF/AAAAAA&text=no+image") ."'>

    '.getWADatafromWAID($warehouse_arrangement_id,"remarks").'

    '; return($html); }); $app->post('/messenger/order/get-delivery-arrangement', function(Request $request) { global $db; $delivery_arrangement_id = $request->get('id'); $message_id = $request->get('message_id'); $delivery_type = getDADataFromDAID($delivery_arrangement_id, "delivery_type"); if(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 1){ $delivery_type = "Inhouse Services"; }elseif(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 2){ $delivery_type = "Courier Services"; }elseif(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 3){ $delivery_type = "Outsource Services"; }elseif(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 4){ $delivery_type = "Self Collect"; } $html = ""; $html .= '

    Delivery Arrangement Details

    '. $delivery_type .'

    '; if(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 1 || getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 3 ){ $html .= '

    '. getDADataFromDAID($delivery_arrangement_id, "delivery_date").'

    '. getDADataFromDAID($delivery_arrangement_id, "driver_contact_person").'

    '. getDADataFromDAID($delivery_arrangement_id, "driver_contact_person_no").'

    '. getDADataFromDAID($delivery_arrangement_id, "vehicle_no").'

    '; }elseif(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 2){ $html .= '

    '. getDADataFromDAID($delivery_arrangement_id, "courier_service_name").'

    '. getDADataFromDAID($delivery_arrangement_id, "tracking_no").'

    '; }elseif(getDADataFromDAID($delivery_arrangement_id, "delivery_type") == 4){ $html .= '

    '. get_warehouse(getDADataFromDAID($delivery_arrangement_id, "warehouse_id"), "warehouse_name").'

    '. getDADataFromDAID($delivery_arrangement_id, "warehouse_contact_person").'

    '. getDADataFromDAID($delivery_arrangement_id, "warehouse_contact_person_no").'

    '. getDADataFromDAID($delivery_arrangement_id, "warehouse_address").'

    '. getDADataFromDAID($delivery_arrangement_id, "warehouse_zip").' '. getDADataFromDAID($delivery_arrangement_id, "warehouse_city").'

    '. getDADataFromDAID($delivery_arrangement_id, "warehouse_state").'

    '; } $html .= '
    '; return($html); }); $app->post('/messenger/get-staff', function(Request $request) { global $db; $room_id = $request->get('room_id'); $branch_id = $_SESSION['branch_id']; $company_id = $_SESSION['company_id']; $current_user = $_SESSION['user_id']; $a = 0; // $db->bind("company_id", $company_id); // $db->bind("branch_id", $branch_id); $db->bind("room_id", $room_id); $db->bind("current_user", $current_user); // $data = $db->query("SELECT * FROM `user_company` WHERE branch_id = :branch_id and company_id = :company_id and user_id not in (select user_id from notice_members where room_id = :room_id) and user_id <> :current_user"); $data = $db->query("SELECT * FROM `user_friend` WHERE friend_id not in (select user_id from notice_members where room_id = :room_id) and user_id = :current_user"); if(count($data) == 0){ $table = ""; }else{ $table = " "; foreach($data as $key => $value){ if(get_data($value['friend_id'], "group_id") == get_data($value['user_id'], "group_id")){ $table .= ""; $a++; } } if($a == 0){ $table .= ""; } $table .= ""; } return $table; }); $app->post('/messenger/get-all-staff', function(Request $request) { global $db; $room_id = $request->get('room_id'); $so_id = getRoomData($room_id, "order_id"); if($_SESSION['role'] == 1){ $importer_id = getSOData(getRoomData($room_id, "order_id"), "company_id"); $importer_branch_id = getSOData(getRoomData($room_id, "order_id"), "branch_id"); $forwarder_id = getSOData(getRoomData($room_id, "order_id"), "forwarder_id"); } $db->bind("importer_id", $importer_id); $db->bind("importer_branch_id", $importer_branch_id); $db->bind("forwarder_id", $forwarder_id); $data = $db->query("SELECT * FROM `user_company` WHERE company_id = :forwarder_id or (company_id = :importer_id or branch_id =:importer_branch_id)"); if(count($data) == 0){ $table = ""; }else{ $table = " "; foreach($data as $key => $value){ $table .= ""; } $table .= ""; } return $table; }); $app->post('/messenger/send-file', function(Request $request) { global $db; $user_id = $request->get('user_id'); $file = $request->get('file'); $file_name = $request->get('file_name'); $mime = $request->get('mime'); $room_id = $request->get('room_id'); $text = (getProfileData($user_id, "first_name") <> "" ? getProfileData($user_id, "first_name") : get_data($user_id, "username")) . " has uploaded " .$file_name; if($mime == "image/aces" || $mime == "image/cis-cod" || $mime == "image/x-icon" || $mime == "image/x-portable-anymap" || $mime == "image/x-portable-bitmap" || $mime == "image/x-portable-graymap" || $mime == "image/x-cmu-raster" || $mime == "image/tiff" || $mime == "image/pipeg" || $mime == "image/bmp" || $mime == "image/cgm" || $mime == "image/dicom-rle" || $mime == "image/emf" || $mime == "image/example" || $mime == "image/fits" || $mime == "image/g3fax" || $mime == "image/gif" || $mime == "image/ief" || $mime == "image/jls" || $mime == "image/jp2" || $mime == "image/jpg" || $mime == "image/jpeg" || $mime == "image/jpm" || $mime == "image/jpx" || $mime == "image/ktx" || $mime == "image/naplps" || $mime == "image/png" || $mime == "image/prs.btif" || $mime == "image/prs.pti" || $mime == "image/pwg-raster" || $mime == "image/svg+xml" || $mime == "image/t38" || $mime == "image/tiff" || $mime == "image/tiff-fx" || $mime == "image/vnd.adobe.photoshop" || $mime == "image/vnd.airzip.accelerator.azv" || $mime == "image/vnd.cns.inf2" || $mime == "image/vnd.dece.graphic" || $mime == "image/vnd-djvu" || $mime == "image/vnd.dwg" || $mime == "image/vnd.dxf" || $mime == "image/vnd.dvb.subtitle" || $mime == "image/vnd.fastbidsheet" || $mime == "image/vnd.fpx" || $mime == "image/vnd.fst" || $mime == "image/vnd.fujixerox.edmics-mmr" || $mime == "image/vnd.fujixerox.edmics-rlc" || $mime == "image/vnd.globalgraphics.pgb" || $mime == "image/vnd.microsoft.icon" || $mime == "image/vnd.mix" || $mime == "image/vnd.ms-modi" || $mime == "image/vnd.mozilla.apng" || $mime == "image/vnd.net-fpx" || $mime == "image/vnd.radiance" || $mime == "image/vnd.sealed-png" || $mime == "image/vnd.sealedmedia.softseal-gif" || $mime == "image/vnd.sealedmedia.softseal-jpg" || $mime == "image/vnd-svf" || $mime == "image/vnd.tencent.tap" || $mime == "image/vnd.valve.source.texture" || $mime == "image/vnd-wap-wbmp" || $mime == "image/vnd.xiff" || $mime == "image/vnd.zbrush.pcx" || $mime == "image/wmf" || $mime == "image/emf" || $mime == "image/wmf"){ //image $chat_type = "2"; }elseif($mime == "application/msword" || $mime == "application/pdf" || $mime == "application/vnd.ms-excel.addin.macroEnabled.12" || $mime == "application/vnd.ms-excel.sheet.binary.macroEnabled.12" || $mime == "application/vnd.ms-excel.sheet.macroEnabled.12" || $mime == "application/vnd.ms-excel.template.macroEnabled.12" || $mime == "application/vnd.ms-excel" || $mime == "application/vnd.ms-powerpoint.addin.macroEnabled.12" || $mime == "application/vnd.ms-powerpoint.presentation.macroEnabled.12" || $mime == "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" || $mime == "application/vnd.ms-powerpoint" || $mime == "application/vnd.ms-word.document.macroEnabled.12" || $mime == "application/vnd.ms-word.template.macroEnabled.12" || $mime == "application/vnd.openxmlformats-officedocument.presentationml.presentation" || $mime == "application/vnd.openxmlformats-officedocument.presentationml.slideshow" || $mime == "application/vnd.openxmlformats-officedocument.presentationml.template" || $mime == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" || $mime == "application/vnd.openxmlformats-officedocument.spreadsheetml.template" || $mime == "application/vnd.openxmlformats-officedocument.wordprocessingml.document" || $mime == "application/vnd.openxmlformats-officedocument.wordprocessingml.template" || $mime == "application/x-7z-compressed" || $mime == "application/x-rar-compressed" || $mime == "application/zip" || $mime == "text/csv"){ //document $chat_type = "3"; }elseif($mime == "audio/basic" || $mime == "audio/basic" || $mime == "audio/mid" || $mime == "audio/mid" || $mime == "audio/mpeg" || $mime == "audio/x-aiff" || $mime == "audio/x-aiff" || $mime == "audio/x-aiff" || $mime == "audio/x-mpegurl" || $mime == "audio/x-pn-realaudio" || $mime == "audio/x-pn-realaudio" || $mime == "audio/x-wav"){ //audio $chat_type = "4"; }elseif($mime == "video/mpeg" || $mime == "video/mp4" || $mime == "video/quicktime" || $mime == "video/x-la-asf" || $mime == "video/x-ms-asf" || $mime == "video/x-msvideo" || $mime == "video/x-sgi-movie" || $mime == "video/x-flv" || $mime == "video/3gpp" || $mime == "video/x-ms-wmv"){ //video $chat_type = "5"; }else{ $chat_type = "999"; } //create messages $db->bind("message", $text); $db->bind("file", $file); $db->bind("file_name", $file_name); $db->bind("mime", $mime); $db->bind("chat_type", $chat_type); $db->bind("from_id", $user_id); $createMessage = $db->query("INSERT INTO notice_messages(message,file,file_name,mime,chat_type,from_id) VALUES (:message,:file,:file_name,:mime,:chat_type,:from_id)"); $message_id = $db->lastInsertId(); //connecting messages with room $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $createMembers = $db->query("INSERT INTO notice_room_message(room_id,message_id) VALUES (:room_id, :message_id)"); //create unread status $MembersInRoom = getUserInRoom($room_id); foreach ($MembersInRoom as $key => $value){ $db->bind("room_id", $room_id); $db->bind("message_id", $message_id); $db->bind("user_id", $value['user_id']); $createMembers = $db->query("INSERT INTO notice_unread(room_id,message_id,user_id, status) VALUES (:room_id, :message_id,:user_id, 0)"); } if($chat_type == "2"){ $html .= '
  • '; $html .= '
    '.($_SESSION['user_id'] == 1 ? "Bot" : (getProfileData($user_id, "first_name") <> "" ? getProfileData($user_id, "first_name") : get_data($user_id, "username"))).' '.date("H:i").'
    '.$text .'
    >
    '; $html .= '
  • '; }elseif($chat_type == "3"){ $html .= '
  • '; $html .= '
    '.($_SESSION['user_id'] == 1 ? "Bot" : (getProfileData($user_id, "first_name") <> "" ? getProfileData($user_id, "first_name") : get_data($user_id, "username"))).' '.date("H:i").'
    '.$text .'
    '; $html .= '
  • '; }elseif($chat_type == "4"){ $html .= '
  • '; $html .= '
    '.($_SESSION['user_id'] == 1 ? "Bot" : (getProfileData($user_id, "first_name") <> "" ? getProfileData($user_id, "first_name") : get_data($user_id, "username"))).' '.date("H:i").'
    '.$text .'
    '; $html .= '
  • '; }elseif($chat_type == "5"){ $html .= '
  • '; $html .= '
    '.($_SESSION['user_id'] == 1 ? "Bot" : (getProfileData($user_id, "first_name") <> "" ? getProfileData($user_id, "first_name") : get_data($user_id, "username"))).' '.date("H:i").'
    '.$text .'
    '; $html .= '
  • '; } return $html; }); } include 'messenger.func.php';