���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/alphpwcp/public_html/us/alphachat/modules/lhchat/start.php
���ѧ٧ѧ�
<?php header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time() + 60 * 60 * 8) . ' GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); $tpl = erLhcoreClassTemplate::getInstance( isset($templateOverride) ? $templateOverride : 'lhchat/start.tpl.php'); $dep = false; if (is_array($Params['user_parameters_unordered']['department'])) { $parametersDepartment = erLhcoreClassChat::extractDepartment($Params['user_parameters_unordered']['department']); $Params['user_parameters_unordered']['department'] = $parametersDepartment['system']; $dep = $Params['user_parameters_unordered']['department']; $Result['chat_args']['departments'] = $dep; } $startDataDepartment = false; if (is_array($dep) && !empty($dep) && count($dep) == 1) { $dep_id = $dep[0]; $startDataDepartment = erLhcoreClassModelChatStartSettings::findOne(array('customfilter' => array("((`dep_ids` != '' AND JSON_CONTAINS(`dep_ids`,'" . (int)$dep_id . "','$')) OR department_id = " . (int)$dep_id . ")" ))); if ($startDataDepartment instanceof erLhcoreClassModelChatStartSettings) { $startDataFields = $startDataDepartment->data_array; } $Result['chat_args']['dep_id'] = $dep_id; $tpl->set('dep_id',$dep_id); } if ($startDataDepartment === false) { $startData = erLhcoreClassModelChatConfig::fetch('start_chat_data'); $start_data_fields = $startDataFields = (array)$startData->data; } if (!isset($demoMode) && isset($startDataFields['requires_dep']) && $startDataFields['requires_dep'] == true && empty($dep)) { $Result['pagelayout'] = 'userchat'; $tpl = erLhcoreClassTemplate::getInstance( 'lhkernel/alert_info.tpl.php'); $tpl->set('msg',erTranslationClassLhTranslation::getInstance()->getTranslation('chat/start','Department is required!')); $tpl->set('hide_close_icon',true); $Result['hide_close_window'] = true; $Result['content'] = $tpl->fetch(); return $Result; } if ($Params['user_parameters_unordered']['vid'] == 'undefined') { $Params['user_parameters_unordered']['vid'] = null; } if (!isset($demoMode) && isset($startDataFields['disable_start_chat']) && $startDataFields['disable_start_chat'] == true && empty($Params['user_parameters_unordered']['vid']) && (!is_numeric($Params['user_parameters_unordered']['id']) || $Params['user_parameters_unordered']['hash'] == '')) { $Result['pagelayout'] = 'userchat'; $tpl = erLhcoreClassTemplate::getInstance( 'lhkernel/alert_info.tpl.php'); $tpl->set('msg',erTranslationClassLhTranslation::getInstance()->getTranslation('chat/start','Disabled!')); $tpl->set('hide_close_icon',true); $Result['hide_close_window'] = true; $Result['content'] = $tpl->fetch(); return $Result; } $vid = $Params['user_parameters_unordered']['vid'] != '' ? $Params['user_parameters_unordered']['vid'] : null; if (empty($vid) && !((isset($_GET['cd']) && $_GET['cd'] == 1) || erLhcoreClassModelChatConfig::fetch('track_online_visitors')->current_value != 1)) { // Incorrect mod_rewrite rule as fetch was for an image. if ((isset($_SERVER['HTTP_SEC_FETCH_DEST']) && $_SERVER['HTTP_SEC_FETCH_DEST'] == 'image') || (isset($_SERVER['HTTP_USER_AGENT']) && erLhcoreClassModelChatOnlineUser::isBot($_SERVER['HTTP_USER_AGENT'])) ) { http_response_code(404); exit; } if (isset($_COOKIE['lhc_vid']) && $_COOKIE['lhc_vid'] != 'undefined') { $vid = $_COOKIE['lhc_vid']; } else { $vid = substr(sha1(mt_rand() . microtime()),0,20); } setcookie("lhc_vid", $vid, time()+60*60*24*365, '/', '', erLhcoreClassSystem::$httpsMode, true); $userInstance = erLhcoreClassModelChatOnlineUser::handleRequest(array('tag' => isset($_GET['tag']) ? $_GET['tag'] : false, 'uactiv' => 1, 'wopen' => 0, 'tpl' => & $tpl, 'tz' => (isset($_GET['tz']) ? $_GET['tz'] : null), 'message_seen_timeout' => erLhcoreClassModelChatConfig::fetch('message_seen_timeout')->current_value, 'department' =>( is_array($Params['user_parameters_unordered']['department']) ? $Params['user_parameters_unordered']['department'] : array()), 'identifier' => (isset($_GET['idnt']) ? (string)$_GET['idnt'] : ''), 'pages_count' => true, 'vid' => $vid, 'check_message_operator' => false, 'pro_active_limitation' => erLhcoreClassModelChatConfig::fetch('pro_active_limitation')->current_value, 'pro_active_invite' => false)); } elseif (!empty($vid)) { $userInstance = erLhcoreClassModelChatOnlineUser::fetchByVid($vid); } $themeArray = []; if (isset($Params['user_parameters_unordered']['theme'])) { $themeArray = explode(',', $Params['user_parameters_unordered']['theme']); } $setTheme = false; if (count($themeArray) > 1 && isset($userInstance) && $userInstance !== false) { $userAttributes = $userInstance->online_attr_system_array; if (isset($userAttributes['lhc_theme']) && in_array($userAttributes['lhc_theme'], $themeArray) && isset($userAttributes['lhc_theme_exp']) && $userAttributes['lhc_theme_exp'] > time()) { $Params['user_parameters_unordered']['theme'] = $userAttributes['lhc_theme']; } else { $setTheme = true; $Params['user_parameters_unordered']['theme'] = $themeArray[array_rand($themeArray)]; } } elseif (count($themeArray) > 1) { $Params['user_parameters_unordered']['theme'] = $themeArray[array_rand($themeArray)]; } if (isset($Params['user_parameters_unordered']['theme']) && ($themeId = erLhcoreClassChat::extractTheme($Params['user_parameters_unordered']['theme'])) !== false) { $Params['user_parameters_unordered']['theme'] = $themeId; } if (!is_numeric($Params['user_parameters_unordered']['theme'])) { if (isset($dep_id) && $dep_id > 0) { $departmentObject = erLhcoreClassModelDepartament::fetch($dep_id); if (is_object($departmentObject)) { if (isset($departmentObject->bot_configuration_array['theme_ind']) && $departmentObject->bot_configuration_array['theme_ind'] != 0) { $Params['user_parameters_unordered']['theme'] = explode(',', $departmentObject->bot_configuration_array['theme_ind']); } if (!isset($Params['user_parameters_unordered']['theme']) && isset($departmentObject->bot_configuration_array['theme_default']) && $departmentObject->bot_configuration_array['theme_default'] != 0) { $Params['user_parameters_unordered']['theme'] = explode(',', $departmentObject->bot_configuration_array['theme_default']); } if (isset($Params['user_parameters_unordered']['theme']) && count($Params['user_parameters_unordered']['theme']) > 1 && isset($userInstance) && $userInstance !== false) { $userAttributes = $userInstance->online_attr_system_array; if (isset($userAttributes['lhc_theme']) && in_array($userAttributes['lhc_theme'],$Params['user_parameters_unordered']['theme']) && isset($userAttributes['lhc_theme_exp']) && $userAttributes['lhc_theme_exp'] > time()) { $Params['user_parameters_unordered']['theme'] = $userAttributes['lhc_theme']; } else { $setTheme = true; $Params['user_parameters_unordered']['theme'] =$Params['user_parameters_unordered']['theme'][array_rand($Params['user_parameters_unordered']['theme'])]; } } elseif (isset($Params['user_parameters_unordered']['theme'])) { $Params['user_parameters_unordered']['theme'] = $Params['user_parameters_unordered']['theme'][array_rand($Params['user_parameters_unordered']['theme'])]; } } } if (!is_numeric($Params['user_parameters_unordered']['theme'])) { $defaultTheme = erLhcoreClassModelChatConfig::fetch('default_theme_id')->current_value; if ($defaultTheme != '0' && $defaultTheme != '') { $themeArray = explode(',', $defaultTheme); if (count($themeArray) > 1 && isset($userInstance) && $userInstance !== false) { $userAttributes = $userInstance->online_attr_system_array; if (isset($userAttributes['lhc_theme']) && in_array($userAttributes['lhc_theme'], $themeArray) && isset($userAttributes['lhc_theme_exp']) && $userAttributes['lhc_theme_exp'] > time()) { $Params['user_parameters_unordered']['theme'] = $userAttributes['lhc_theme']; } else { $setTheme = true; $Params['user_parameters_unordered']['theme'] = $themeArray[array_rand($themeArray)]; } } else { $Params['user_parameters_unordered']['theme'] = $themeArray[array_rand($themeArray)]; } } } } $online = erLhcoreClassChat::isOnline($dep, false, array( 'online_timeout' => (int) erLhcoreClassModelChatConfig::fetch('sync_sound_settings')->data['online_timeout'], 'ignore_user_status' => (int)erLhcoreClassModelChatConfig::fetch('ignore_user_status')->current_value )); $leaveamessage = $Params['user_parameters_unordered']['leaveamessage'] === 'true' || (isset($startDataFields['force_leave_a_message']) && $startDataFields['force_leave_a_message'] == true); $tpl->set('leaveamessage',$leaveamessage); $tpl->set('department',is_array($Params['user_parameters_unordered']['department']) ? $parametersDepartment['argument'] : array()); $tpl->set('id',$Params['user_parameters_unordered']['id'] > 0 ? (int)$Params['user_parameters_unordered']['id'] : null); $tpl->set('hash',$Params['user_parameters_unordered']['hash'] != '' ? $Params['user_parameters_unordered']['hash'] : null); $tpl->set('isMobile',$Params['user_parameters_unordered']['mobile'] == 'true'); $tpl->set('theme',$Params['user_parameters_unordered']['theme'] > 0 ? (int)$Params['user_parameters_unordered']['theme'] : null); $tpl->set('vid',$vid); $tpl->set('identifier',$Params['user_parameters_unordered']['identifier'] != '' ? $Params['user_parameters_unordered']['identifier'] : null); $tpl->set('inv',$Params['user_parameters_unordered']['inv'] != '' ? $Params['user_parameters_unordered']['inv'] : null); $tpl->set('survey',$Params['user_parameters_unordered']['survey'] != '' ? $Params['user_parameters_unordered']['survey'] : null); $tpl->set('priority',$Params['user_parameters_unordered']['priority'] != '' ? $Params['user_parameters_unordered']['priority'] : null); $tpl->set('operator',$Params['user_parameters_unordered']['operator'] != '' ? (int)$Params['user_parameters_unordered']['operator'] : null); $tpl->set('bot',$Params['user_parameters_unordered']['bot'] != '' ? (int)$Params['user_parameters_unordered']['bot'] : null); $tpl->set('trigger',$Params['user_parameters_unordered']['trigger'] != '' ? (int)$Params['user_parameters_unordered']['trigger'] : null); $tpl->set('online',$online); $tpl->set('font_size',$Params['user_parameters_unordered']['fs'] != '' ? (int)$Params['user_parameters_unordered']['fs'] : null); $tpl->set('mode',$Params['user_parameters_unordered']['mode'] != '' && in_array($Params['user_parameters_unordered']['mode'],['embed','popup','widget']) ? $Params['user_parameters_unordered']['mode'] : 'popup'); $tpl->set('sound',is_numeric($Params['user_parameters_unordered']['sound']) ? (int)$Params['user_parameters_unordered']['sound'] : (int) erLhcoreClassModelChatConfig::fetch('sync_sound_settings')->data['new_message_sound_user_enabled']); $tpl->set('app_scope', 'lhc'); $tpl->set('vars_encrypted', $Params['user_parameters_unordered']['encrypted'] === 'true'); if ($Params['user_parameters_unordered']['scope'] != ''){ $Result['app_scope'] = strip_tags($Params['user_parameters_unordered']['scope']); $tpl->set('app_scope', strip_tags($Params['user_parameters_unordered']['scope'])); } $ts = time(); $tpl->set('captcha',array( 'hash' => sha1(erLhcoreClassIPDetect::getIP() . $ts . erConfigClassLhConfig::getInstance()->getSetting( 'site', 'secrethash' )), 'ts' => $ts )); $referrer = erLhcoreClassModelChatOnlineUser::getReferer(); $tpl->set('domain_lhc',null); if (!empty($referrer)) { $partsReferer = parse_url($referrer); if (isset($partsReferer['host'])) { $tpl->set('domain_lhc',$partsReferer['host']); } } // Prefill by get if (isset($_GET['prefill']) && is_array($_GET['prefill']) && !empty($_GET['prefill'])) { $prefillOptions = array(); foreach ($_GET['prefill'] as $field => $value) { if ($field == 'email') { $prefillOptions[] = array('Email' => $value); } else if ($field == 'username') { $prefillOptions[] = array('Username' => $value); }else if ($field == 'phone') { $prefillOptions[] = array('Phone' => $value); } else if ($field == 'question') { $prefillOptions[] = array('Question' => $value); } } $tpl->set('prefill',$prefillOptions); } if (isset($_GET['value_items_admin']) && is_array($_GET['value_items_admin']) && !empty($_GET['value_items_admin'])) { $options = array(); foreach ($_GET['value_items_admin'] as $field => $value) { $options[] = array('index' => $field, 'value' => $value); } $tpl->set('prefill_admin',$options); } if (isset($_GET['name']) && is_array($_GET['name']) && !empty($_GET['name'])) { $attributes = array(); foreach ($_GET['name'] as $index => $value) { $attributes[] = array( 'show' => (((isset($_GET['sh'][$index]) && ($_GET['sh'][$index] == 'on' || $_GET['sh'][$index] == 'off')) ? $_GET['sh'][$index] : 'b')), 'value' => $_GET['value'][$index], 'index' => $index, 'name' => $value, 'class' => 'form-control form-control-sm', 'type' => isset($_GET['type'][$index]) ? $_GET['type'][$index] : 'hidden', 'identifier' => ('additional_' . $index), 'placeholder' => (isset($_GET['placeholder'][$index]) ? $_GET['placeholder'][$index] : ''), 'width' => (isset($_GET['size'][$index]) ? $_GET['size'][$index] : 6), 'encrypted' => (isset($_GET['encattr'][$index]) && $_GET['encattr'][$index] === 't'), 'required' => (isset($_GET['req'][$index]) && $_GET['req'][$index] === 't'), 'label' => $value, ); } $tpl->set('custom_fields',$attributes); } if (isset($_GET['jsvar']) && is_array($_GET['jsvar']) && !empty($_GET['jsvar'])) { $tpl->set('jsVars',$_GET['jsvar']); } if (isset($Params['user_parameters_unordered']['theme']) && is_numeric($Params['user_parameters_unordered']['theme'])) { $themeObject = erLhAbstractModelWidgetTheme::fetch($Params['user_parameters_unordered']['theme']); if ($themeObject instanceof erLhAbstractModelWidgetTheme) { if ($setTheme === true && isset($themeObject->bot_configuration_array['theme_expires']) && (int)$themeObject->bot_configuration_array['theme_expires'] > 0 && isset($userInstance) && $userInstance !== false) { $userAttributes['lhc_theme'] = $Params['user_parameters_unordered']['theme']; $userAttributes['lhc_theme_exp'] = time() + $themeObject->bot_configuration_array['theme_expires']; $userInstance->online_attr_system_array = $userAttributes; $userInstance->online_attr_system = json_encode($userAttributes); $userInstance->updateThis(['update' => ['online_attr_system']]); } $Result['theme'] = $themeObject; $Result['theme_v'] = $themeObject->modified; } else { $Result['theme_v'] = time(); } } if ($Params['user_parameters_unordered']['mobile'] == 'true') { $Result['mobile'] = true; } $Result['content'] = $tpl->fetch(); if ($leaveamessage === false && $online === false){ $Result['pagelayout'] = 'userchat'; } else { if (isset($Result['theme']) && is_object($Result['theme'])) { $Result['theme_obj'] = $Result['theme']; $Result['theme'] = $Result['theme']->alias != '' ? $Result['theme']->alias : $Result['theme']->id; } $Result['pagelayout'] = 'userchat2'; } if (isset($pagelayoutOverride)) { $Result['pagelayout'] = $pagelayoutOverride; } ?>
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0.02 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�