Файловый менеджер - Редактировать - /home/lmsyaran/public_html/joomla3/plugins/chat/send_by_bale/classes/bale_webhook.php.bak_farhad_stable
Назад
<?php define('_JEXEC', 1); define('JPATH_BASE', dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/'); require_once JPATH_BASE . 'includes/defines.php'; require_once JPATH_BASE . 'includes/framework.php'; require_once __DIR__ . '/send.php'; class bale_webhook extends send { public static function when_receive_webhook() { $param = file_get_contents('php://input'); $param = json_decode($param); $first_name = $param->message->from->first_name; $chat_id = $param->message->chat->id; $message_id = $param->message->message_id; $message = $param->message->text; $type = $param->message->chat->type; if (isset($param->callback_query)) { self::callback($param); return; } $password = "3a4V4yK)uaM7"; $message = openssl_decrypt($message, "AES-128-ECB", $password); $validate_mobile= self::validate($message); // $filename = __DIR__ . "/log.txt"; // file_put_contents($filename, "param = " . print_r($param, true)."\n", FILE_APPEND); if (!$validate_mobile) { $text = "{$first_name} عزیز لطفا توکن مربوط به حساب کاربری خود را به درستی وارد نمایید"; } else { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('id'); $query->from($db->quoteName('#__send_by_bale', 's')); $query->where($db->quoteName('s.bale_id').'='.$db->quote($chat_id)); $query->where($db->quoteName('s.mobile').'='.$db->quote($message)); $db->setQuery($query); $result = $db->loadObject(); if (!empty($result)) { $text = "{$first_name} عزیز اتصال بله به سامانه ارم مشاور برای شما از قبل برقرار گردیده."; } else { $query = $db->getQuery(true); $columns = array('mobile', 'bale_id'); $values = array($db->quote($message), $db->quote($chat_id)); $query ->insert('#__send_by_bale') ->columns($columns) ->values(implode(',', $values)); $db->setQuery($query); $db->execute(); $text = "{$first_name} عزیز اتصال بله به سامانه ارم مشاور برای شما برقرار گردید."; if ((!file_exists(JPATH_SITE . '/libraries/CBLib/CBLib/Core/CBLib.php')) || (!file_exists(JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php'))) { echo 'CB not installed(bale_webhook.php file of send_by_bale plugin)'; return false; } $query = "describe #__comprofiler"; $db->setQuery($query); $comprofiler_col = $db->loadObjectList('Field'); if (!empty($comprofiler_col['cb_balechatid']) && !empty($comprofiler_col['cb_mobilenumber'])) { $query = $db->getQuery(true); $fields = array( $db->quoteName('cb_balechatid') . ' = ' . $db->quote($chat_id) ); $conditions = array( $db->quoteName('cb_mobilenumber') . ' ='. $db->quote($message) ); $query->update($db->quoteName('#__comprofiler'))->set($fields)->where($conditions); $db->setQuery($query); $db->execute(); } } } //if ($type== 'group') // $text= "سلام {$first_name} شناسه عددی گروه {$chat_id} میباشد "; //elseif ($type== 'private') // $text= "سلام {$first_name} شناسه عددی شما {$chat_id} میباشد "; $data = [[ 'chat_id' => $chat_id, 'text' => $text ]]; self::send_bale_message($data); } public static function validate($message) { preg_match('/^[0][1-9][0-9]{9}$/', $message, $output_array); if (empty($output_array)) return false; return true; } public static function callback($param) { $app = JFactory::getApplication('site'); $data= explode('|', $param->callback_query->data); if ($data[0]== 'emergency_accept') { $current_user_id= $data[1]; $consultant_user_id= $data[2]; $bale_id= $param->callback_query->from->id; $message_id= $param->callback_query->message->message_id; $message= $param->callback_query->message->text; include_once(JPATH_ADMINISTRATOR . '/components/com_comprofiler/plugin.foundation.php'); $cbUser = &CBuser::getInstance($current_user_id); $user = $cbUser->getUserData(); $step= (int)$user->get('cb_emergency_step'); if ($step== 0) { $data = [[ 'chat_id' => $bale_id, 'text' => 'این درخواست در حال حاضر بسته شده است و امکان ثبت درخواست برای آن وجود ندارد', 'message_id'=> $message_id ]]; self::send_bale_message($data, 'edit'); return true; } $queue_consultants= unserialize(!empty($user->get('cb_queue_consultants'))? $user->get('cb_queue_consultants'): 'a:0:{}'); if (in_array($consultant_user_id, $queue_consultants)) { return ; } if (empty($queue_consultants)) { $user->set('cb_emergency_step', 2); } $queue_consultants[]= $consultant_user_id; $user->set('cb_queue_consultants', serialize($queue_consultants)); $r= $user->store(); $data = [[ 'chat_id' => $bale_id, 'text' => $message, 'message_id'=> $message_id, "reply_markup"=> [ "inline_keyboard"=>[ [['text'=> "درخواست شما ثبت شد", "callback_data"=> ""]] ] ] ]]; self::send_bale_message($data, 'edit'); return true; } } } bale_webhook::when_receive_webhook();
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка