Initial Commit
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
header("Cache-Control: no-cache, must-revalidate");
|
||||
header("Expires: Sat, 6 May 1998 03:10:00 GMT");
|
||||
|
||||
/*===============================================*\
|
||||
|| ############################################# ||
|
||||
|| # JAKWEB.CH / Version 2.0.2 # ||
|
||||
|| # ----------------------------------------- # ||
|
||||
|| # Copyright 2021 JAKWEB All Rights Reserved # ||
|
||||
|| ############################################# ||
|
||||
\*===============================================*/
|
||||
|
||||
if (!file_exists('../../config.php')) die('ajax/[available.php] config.php not exist');
|
||||
require_once '../../config.php';
|
||||
|
||||
// Import the user or standard language file
|
||||
if (isset($_SESSION['jak_lcp_lang']) && file_exists(APP_PATH.JAK_OPERATOR_LOC.'/lang/'.$_SESSION['jak_lcp_lang'].'.php')) {
|
||||
include_once(APP_PATH.JAK_OPERATOR_LOC.'/lang/'.$_SESSION['jak_lcp_lang'].'.php');
|
||||
$lang = $_SESSION['jak_lcp_lang'];
|
||||
} else {
|
||||
include_once(APP_PATH.JAK_OPERATOR_LOC.'/lang/'.JAK_LANG.'.php');
|
||||
$lang = JAK_LANG;
|
||||
}
|
||||
|
||||
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !isset($_SESSION['jak_lcp_idhash'])) die(json_encode(array('status' => 0, "html" => $jkl['g79'])));
|
||||
|
||||
if ($_POST['conv'] == "open" || (!is_numeric($_POST['id']) && !is_numeric($_POST['uid']))) die(json_encode(array('status' => 0, "html" => $jkl['g79'])));
|
||||
|
||||
// We sanitize the input
|
||||
$message = strip_tags($_POST['msg']);
|
||||
$message = filter_var($message, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
|
||||
$message = trim($message);
|
||||
|
||||
// Check for empty message
|
||||
if (empty($message)) die(json_encode(array('status' => 0, "html" => $jkl['e1'])));
|
||||
|
||||
// Check for duplicate messages
|
||||
if (isset($_SESSION["oplastmsg"]) && $_SESSION["oplastmsg"] == $message) die(json_encode(array("status" => 0, "html" => $jkl['e45'])));
|
||||
|
||||
$row = $jakdb->get("checkstatus", ["convid", "hide"], ["convid" => $_POST['id']]);
|
||||
|
||||
if (isset($row) && !empty($row)) {
|
||||
|
||||
define('BASE_URL_IMG', str_replace(JAK_OPERATOR_LOC.'/ajax/', '', BASE_URL));
|
||||
|
||||
if (!$row['hide']) {
|
||||
|
||||
if (isset($_POST['msgedit']) && !empty($_POST['msgedit']) && is_numeric($_POST['msgedit'])) {
|
||||
|
||||
// include the PHP library (if not autoloaded)
|
||||
require('../../class/class.emoji.php');
|
||||
|
||||
// update the message
|
||||
$jakdb->update("transcript", ["message" => $message, "editoid" => $_POST['userid'], "edited" => $jakdb->raw("NOW()")], ["AND" => ["id" => $_POST['msgedit'], "convid" => $row['convid']]]);
|
||||
|
||||
// send to client
|
||||
$jakdb->update("checkstatus", ["msgedit" => $_POST['msgedit'], "typeo" => 0], ["convid" => $row['convid']]);
|
||||
|
||||
// Show the edited symbol with the date
|
||||
$showedit = ' | <i class="fa fa-edit"></i> '.JAK_base::jakTimesince(time(), "", JAK_TIMEFORMAT);
|
||||
|
||||
// We convert the urls/br
|
||||
$messageemoji = nl2br(replace_urls($message), false);
|
||||
|
||||
$messageemoji = Emojione\Emojione::toImage($messageemoji);
|
||||
|
||||
die(json_encode(array('status' => 1, 'edit' => $messageemoji, 'editblank' => $message, 'editid' => $_POST['msgedit'], 'showedit' => $showedit)));
|
||||
|
||||
} else {
|
||||
|
||||
// Check if we have to quote
|
||||
$msgquote = 0;
|
||||
if (isset($_POST['msgquote']) && !empty($_POST['msgquote']) && is_numeric($_POST['msgquote'])) $msgquote = $_POST['msgquote'];
|
||||
|
||||
// Check if we have a short code for the message.
|
||||
if (!empty($HD_RESPONSES) && is_array($HD_RESPONSES)) foreach ($HD_RESPONSES as $r) {
|
||||
|
||||
if ($message == $r["short_code"]) {
|
||||
$message = $r["message"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// the last message in a session
|
||||
$_SESSION["oplastmsg"] = $message;
|
||||
|
||||
$jakdb->insert("transcript", [
|
||||
"name" => $_POST['oname'],
|
||||
"message" => $message,
|
||||
"user" => $_POST['userid'].'::'.$_POST['uname'],
|
||||
"operatorid" => $_POST['userid'],
|
||||
"convid" => $row['convid'],
|
||||
"quoted" => $msgquote,
|
||||
"class" => "admin",
|
||||
"time" => $jakdb->raw("NOW()")]);
|
||||
|
||||
if (!empty($_POST['url'])) {
|
||||
|
||||
$jakdb->insert("transcript", [
|
||||
"name" => $_POST['oname'],
|
||||
"message" => $_POST['url'],
|
||||
"user" => $_POST['userid'].'::'.$_POST['uname'],
|
||||
"operatorid" => $_POST['userid'],
|
||||
"convid" => $row['convid'],
|
||||
"class" => "url",
|
||||
"plevel" => 1,
|
||||
"time" => $jakdb->raw("NOW()")]);
|
||||
|
||||
}
|
||||
|
||||
// Update the status after answer
|
||||
$jakdb->update("checkstatus", ["newc" => 1, "typeo" => 0, "newo" => 0, "statuso" => time()], ["convid" => $row['convid']]);
|
||||
|
||||
}
|
||||
|
||||
die(json_encode(array('status' => 1, 'edit' => false)));
|
||||
|
||||
} elseif ($row['hide']) {
|
||||
|
||||
if (!empty($HD_ANSWERS) && is_array($HD_ANSWERS)) foreach ($HD_ANSWERS as $v) {
|
||||
|
||||
if ($v["msgtype"] == 4 && $v["lang"] == $lang) {
|
||||
|
||||
$phold = array("%operator%","%client%","%email%");
|
||||
$replace = array($_POST['oname'], $_POST['uname'], JAK_EMAIL);
|
||||
$message = str_replace($phold, $replace, $v["message"]);
|
||||
|
||||
$jakdb->insert("transcript", [
|
||||
"name" => $_POST['oname'],
|
||||
"message" => $message,
|
||||
"convid" => $row['convid'],
|
||||
"class" => "notice",
|
||||
"time" => $jakdb->raw("NOW()")]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
die(json_encode(array('status' => 1, 'edit' => false)));
|
||||
|
||||
} else {
|
||||
|
||||
die(json_encode(array('status' => 0, "html" => $jkl['e1'])));
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user