<script type="text/javascript"> var WWW_DIR_JAVASCRIPT = '<?php echo erLhcoreClassDesign::baseurl(); ?> '; var WWW_DIR_JAVASCRIPT_FILES = '<?php echo erLhcoreClassDesign::design('sound'); ?> '; var confLH = {}; confLH.back_office_sinterval = 11000; confLH.chat_message_sinterval = 3600; confLH.new_chat_sound_enabled = 1; confLH.new_message_sound_admin_enabled =1; confLH.new_message_sound_user_enabled = 1; </script> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/jquery.js;js/modernizr.js;js/foundation.min.js;js/jquery.colorbox-min.js;js/lh.js;js/jquery.hotkeys-0.7.9.min.js'); ?> "></script>
?> ))) { this.sharehash = chatHash || this.cookieData.hash || this.cookieData.shr; this.addCookieAttribute('shr',this.sharehash); if (typeof TreeMirror == "undefined") { var th = document.getElementsByTagName('head')[0]; var s = document.createElement('script'); s.setAttribute('type','text/javascript'); s.setAttribute('src','<?php echo erLhcoreClassModelChatConfig::fetch('explicit_http_mode')->current_value; ?> //<?php echo $_SERVER['HTTP_HOST']; echo erLhcoreClassDesign::designJS('js/cobrowse/mutation-summary.js;js/cobrowse/tree-mirror.js;js/cobrowse/lhc.js'); ?> '); th.appendChild(s); s.onreadystatechange = s.onload = function(){ inst.startCoBrowse(inst.sharehash); }; } else { try { this.isSharing = true; this.addCookieAttribute('shr',this.sharehash); <?php include erLhcoreClassDesign::designtpl('lhcobrowse/userinit.tpl.php'); ?> } catch(err) { console.log(err);
$paramsOnline = erLhcoreClassExtensionXmppserviceHandler::getNickAndStatusByChat($Result['chat'], $pageUser); ?> <script>var xmppservice = {debug:<?php echo $xmppServiceExtension->settings['debug'] == true ? 'true' : 'false'; ?> ,use_notification:<?php echo $xmppServiceExtension->settings['use_notification'] == true ? 'true' : 'false'; ?> ,nick:<?php echo json_encode($paramsOnline['nick']); ?> ,status:<?php echo json_encode($paramsOnline['status']); ?> ,BOSH_SERVICE : '<?php echo $xmppServiceExtension->settings['bosh_service']; ?> ', USR : <?php echo json_encode($xmppAccount->username); ?> ,PSW : <?php echo json_encode($xmppAccount->password); ?> }</script> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/strope.xmppservice.js;js/xmppservice.js'); ?> "></script> <?php } }
</head> <body<?php isset($Result['pagelayout_css_append']) ? print ' class="' . $Result['pagelayout_css_append'] . '" ' : ''; ?> > <div id="widget-layout" class="row"> <div class="columns large-12"> <?php echo $Result['content']; ?> </div> </div> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/app.js'); ?> "></script> <?php if (isset($Result['dynamic_height'])) { ?> <script> var wasFocused = false; $('input[type="text"]').first().click(function(){if (wasFocused == false){wasFocused=true;$(this).select().focus();}}); $('textarea').first().click(function(){if (wasFocused == false){wasFocused=true;$(this).select();}}); if (!!window.postMessage) { var heightContent = 0; var heightElement = $('#widget-layout'); setInterval(function(){ var currentHeight = heightElement.height(); if (heightContent != currentHeight){
"></script> </head> <body<?php isset($Result['pagelayout_css_append']) ? print ' class="' . $Result['pagelayout_css_append'] . '" ' : ''; ?> > <div id="widget-layout"> <?php echo $Result['content']; ?> </div> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/BookReader/BookReaderJSSimple.js'); ?> "></script> <?php if (isset($Result['dynamic_height'])) { ?> <script> var wasFocused = false; $('input[type="text"]').first().click(function(){if (wasFocused == false){wasFocused=true;$(this).select().focus();}}); $('textarea').first().click(function(){if (wasFocused == false){wasFocused=true;$(this).select();}}); if (!!window.postMessage) { var heightContent = 0; var heightElement = $('#widget-layout'); setInterval(function(){ var currentHeight = heightElement.height();
<script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/angular.min.js;js/checklist-model.min.js;js/angular.lhc.min.js;vendor/metisMenu/metisMenu.min.js;js/sidebar.js'); ?> "></script> <?php echo isset($Result['additional_footer_js']) ? $Result['additional_footer_js'] : '';
/** * Open, parse, and return the template file. * * @param $file string the template file name */ function fetch($fileTemplate = null) { $instance = erLhcoreClassSystem::instance(); $port = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT'] : 80; if (!$fileTemplate) { $fileTemplate = $this->file; } if ($this->cacheEnabled == true && key_exists(md5($fileTemplate . $instance->WWWDirLang . $instance->Language . $port), $this->cacheTemplates)) { try { return $this->fetchExecute($this->cacheTemplates[md5($fileTemplate . $instance->WWWDirLang . $instance->Language . $port)]); } catch (Exception $e) { } } $cfg = erConfigClassLhConfig::getInstance(); $file = erLhcoreClassDesign::designtpl($fileTemplate); if ($this->templatecompile == true) { $contentFile = php_strip_whitespace($file); // Compile templates - 3 level of inclusions for ($i = 0; $i < 9; $i++) { $Matches = array(); preg_match_all('/<\\?php(\\s*)include_once\\(erLhcoreClassDesign::designtpl\\(\'([a-zA-Z0-9-\\.-\\/\\_]+)\'\\)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[2] as $key => $Match) { $contentFile = str_replace($Matches[0][$key], php_strip_whitespace(erLhcoreClassDesign::designtpl($Match)), $contentFile); } //Compile templates inclusions first level. $Matches = array(); preg_match_all('/<\\?php(\\s*)include\\(erLhcoreClassDesign::designtpl\\(\'([a-zA-Z0-9-\\.-\\/\\_]+)\'\\)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[2] as $key => $Match) { $contentFile = str_replace($Matches[0][$key], php_strip_whitespace(erLhcoreClassDesign::designtpl($Match)), $contentFile); } } //Compile image css paths. Etc.. $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassDesign::design\\(\'([a-zA-Z0-9-\\.-\\/\\_]+)\'\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $Match) { $contentFile = str_replace($Matches[0][$key], erLhcoreClassDesign::design($Match), $contentFile); } //Compile translations, pure translations $Matches = array(); preg_match_all('/<\\?php echo erTranslationClassLhTranslation::getInstance\\(\\)->getTranslation\\(\'(.*?)\',\'(.*?)\'\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $TranslateContent) { $contentFile = str_replace($Matches[0][$key], erTranslationClassLhTranslation::getInstance()->getTranslation($TranslateContent, $Matches[2][$key]), $contentFile); } //Translations used in logical conditions $Matches = array(); preg_match_all('/erTranslationClassLhTranslation::getInstance\\(\\)->getTranslation\\(\'(.*?)\',\'(.*?)\'\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $TranslateContent) { $contentFile = str_replace($Matches[0][$key], '\'' . erTranslationClassLhTranslation::getInstance()->getTranslation($TranslateContent, $Matches[2][$key]) . '\'', $contentFile); } // Compile url addresses $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassDesign::baseurl\\((.*?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], erLhcoreClassDesign::baseurl(trim($UrlAddress, '\'')), $contentFile); } // Compile url direct addresses $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassDesign::baseurldirect\\((.*?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], erLhcoreClassDesign::baseurldirect(trim($UrlAddress, '\'')), $contentFile); } // Compile url direct addresses $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassDesign::baseurlsite\\(\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], erLhcoreClassDesign::baseurlsite(), $contentFile); } // Compile css url addresses $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassDesign::designCSS\\((.*?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], erLhcoreClassDesign::designCSS(trim($UrlAddress, '\'')), $contentFile); } // Compile css url addresses $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassDesign::designJS\\((.*?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], erLhcoreClassDesign::designJS(trim($UrlAddress, '\'')), $contentFile); } // Compile url addresses in logical operations $Matches = array(); preg_match_all('/erLhcoreClassDesign::baseurl\\((.*?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], '\'' . erLhcoreClassDesign::baseurl(trim($UrlAddress, '\'')) . '\'', $contentFile); } // Compile url addresses in logical operations $Matches = array(); preg_match_all('/erLhcoreClassDesign::baseurldirect\\((.*?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], '\'' . erLhcoreClassDesign::baseurldirect(trim($UrlAddress, '\'')) . '\'', $contentFile); } // Compile config settings, direct output $Matches = array(); preg_match_all('/<\\?php echo erConfigClassLhConfig::getInstance\\(\\)->getSetting\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?),(\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erConfigClassLhConfig::getInstance()->getSetting($Matches[2][$key], $Matches[5][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = $valueConfig; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile config settings $Matches = array(); preg_match_all('/erConfigClassLhConfig::getInstance\\(\\)->getSetting\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?),(\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erConfigClassLhConfig::getInstance()->getSetting($Matches[2][$key], $Matches[5][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = '\'' . $valueConfig . '\''; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile override config settings, used in title, description override $Matches = array(); preg_match_all('/<\\?php echo erConfigClassLhConfig::getInstance\\(\\)->getOverrideValue\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?),(\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erConfigClassLhConfig::getInstance()->getOverrideValue($Matches[2][$key], $Matches[5][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = $valueConfig; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile override config settings $Matches = array(); preg_match_all('/erConfigClassLhConfig::getInstance\\(\\)->getOverrideValue\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?),(\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erConfigClassLhConfig::getInstance()->getOverrideValue($Matches[2][$key], $Matches[5][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = '\'' . $valueConfig . '\''; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } $Matches = array(); preg_match_all('/<\\?php echo erConfigClassLhConfig::getInstance\\(\\)->getDirLanguage\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erConfigClassLhConfig::getInstance()->getDirLanguage($Matches[2][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = $valueConfig; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile config settings $Matches = array(); preg_match_all('/erConfigClassLhConfig::getInstance\\(\\)->getDirLanguage\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $var) { $valueConfig = erConfigClassLhConfig::getInstance()->getDirLanguage($Matches[2][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = '\'' . $valueConfig . '\''; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } if ($this->cacheDbVariables == true) { // Compile config completely $Matches = array(); preg_match_all('/<\\?php echo erLhcoreClassModelChatConfig::fetch\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->current_value(.*?)\\?\\>/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->current_value; $contentFile = str_replace($Matches[0][$key], $valueConfig, $contentFile); } // Compile config settings in php scripts $Matches = array(); preg_match_all('/erLhcoreClassModelChatConfig::fetch\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->current_value/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->current_value; $valueReplace = ''; $valueReplace = '\'' . str_replace("'", "\\'", $valueConfig) . '\''; $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile config settings in php scripts $Matches = array(); preg_match_all('/erLhcoreClassModelChatConfig::fetch\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->data_value/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->data_value; $valueReplace = var_export($valueConfig, true); $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile config settings array $Matches = array(); preg_match_all('/erLhcoreClassModelChatConfig::fetch\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->data\\[\'([a-zA-Z0-9-\\.-\\/\\_]+)\'\\]/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->data[$Matches[4][$key]]; $valueReplace = ''; $valueReplace = '\'' . str_replace("'", "\\'", $valueConfig) . '\''; $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } } // Compile content language $contentFile = str_replace('<?php echo erLhcoreClassSystem::instance()->ContentLanguage?>', erLhcoreClassSystem::instance()->ContentLanguage, $contentFile); // Compile siteaccess $contentFile = str_replace('erLhcoreClassSystem::instance()->SiteAccess', '\'' . erLhcoreClassSystem::instance()->SiteAccess . '\'', $contentFile); // Atomoc template compilation to avoid concurent request compiling and writing to the same file $fileName = 'cache/compiledtemplates/' . md5(time() . rand(0, 1000) . microtime() . $file . $instance->WWWDirLang . $instance->Language . $port) . '.php'; file_put_contents($fileName, erLhcoreClassTemplate::strip_html($contentFile)); $file = 'cache/compiledtemplates/' . md5($file . $instance->WWWDirLang . $instance->Language . $port) . '.php'; rename($fileName, $file); $this->cacheTemplates[md5($fileTemplate . $instance->WWWDirLang . $instance->Language . $port)] = $file; $this->storeCache(); } return $this->fetchExecute($file); }
<script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/osticket.js'); ?> "></script>
<script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/sugarcrm.js'); ?> "></script>
<?php } ?> </script> <?php if ($nodeJsHelperSettings['use_cdn'] == true) { ?> <script src="https://cdn.socket.io/socket.io-1.1.0.js"></script> <?php } elseif (isset($nodeJsHelperSettings['use_local_socket_io_js']) && $nodeJsHelperSettings['use_local_socket_io_js'] == true) { ?> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/socket.io-1.1.0.js'); ?> "></script> <?php } else { ?> <script src="<?php echo $nodeJsHelperSettings['prefix'], $nodeJsHelperSettings['host'], $nodeJsHelperSettings['port'], $nodeJsHelperSettings['path']; ?> /socket.io/socket.io.js"></script> <?php } ?> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/customjs.js'); ?> "></script> <?php }
confLH.new_message_browser_notification = <?php echo isset($soundData['browser_notification_message']) ? (int) $soundData['browser_notification_message'] : 0; ?> ; confLH.transLation = {'new_chat':'<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('pagelayout/pagelayout', 'New chat request'); ?> '}; confLH.csrf_token = '<?php echo erLhcoreClassUser::instance()->getCSFRToken(); ?> '; confLH.repeat_sound = <?php echo (int) $soundData['repeat_sound']; ?> ; confLH.repeat_sound_delay = <?php echo (int) $soundData['repeat_sound_delay']; ?> ; confLH.show_alert = <?php echo (int) $soundData['show_alert']; ?> ; </script> <script type="text/javascript" src="<?php echo erLhcoreClassDesign::designJS('vendor/jquery/jquery.min.js;vendor/bootstrap/js/bootstrap.min.js;js/modernizr.js;js/lh.min.js;js/jquery.hotkeys-0.7.9.min.js;js/fileupload/jquery.fileupload.min.js;js/jquery.zoom.min.js;js/datepicker.min.js;js/lh/dist/common.js;js/lh/dist/bundle.js;js/EventEmitter.min.js;js/events.js'); ?> "></script> <?php echo isset($Result['additional_header_js']) ? $Result['additional_header_js'] : '';
$data = (array) $startData->data; if (isset($_POST['CancelConfig'])) { erLhcoreClassModule::redirect('system/configuration'); exit; } if (isset($_POST['UpdateConfig']) || isset($_POST['SaveConfig'])) { if (!isset($_POST['csfr_token']) || !$currentUser->validateCSFRToken($_POST['csfr_token'])) { erLhcoreClassModule::redirect('chat/startchatformsettings'); exit; } $Errors = erLhcoreClassAdminChatValidatorHelper::validateStartChatForm($data); if (count($Errors) == 0) { $startData->value = serialize($data); $startData->saveThis(); $tpl->set('updated', true); // Cleanup cache to recompile templates etc. $CacheManager = erConfigClassLhCacheConfig::getInstance(); $CacheManager->expireCache(); if (isset($_POST['SaveConfig'])) { erLhcoreClassModule::redirect('system/configuration'); exit; } } else { $tpl->set('errors', $Errors); } } $tpl->set('start_chat_data', $data); $Result['content'] = $tpl->fetch(); $Result['additional_footer_js'] = '<script src="' . erLhcoreClassDesign::designJS('js/angular.lhc.startchatformgenerator.js') . '"></script>'; $Result['path'] = array(array('url' => erLhcoreClassDesign::baseurl('system/configuration'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('department/departments', 'System configuration')), array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('chat/startchatformsettings', 'Start chat form settings'))); erLhcoreClassChatEventDispatcher::getInstance()->dispatch('chat.startchatformsettings_path', array('result' => &$Result));
<?php $tpl = erLhcoreClassTemplate::getInstance('lhfront/default.tpl.php'); $tpl->set('geo_location_data', erLhcoreClassModelChatConfig::fetch('geo_location_data')->data); $tpl->set('tracking_enabled', erLhcoreClassModelChatConfig::fetch('track_online_visitors')->current_value == 1); /** * Append user departments filter * */ $departmentParams = array(); $userDepartments = erLhcoreClassUserDep::parseUserDepartmetnsForFilter($currentUser->getUserID()); if ($userDepartments !== true) { $departmentParams['filterin']['id'] = $userDepartments; if (!$currentUser->hasAccessTo('lhchat', 'sees_all_online_visitors')) { $filter['filterin']['dep_id'] = $userDepartments; } } $tpl->set('departmentParams', $departmentParams); $Result['content'] = $tpl->fetch(); $Result['additional_footer_js'] = '<script src="' . erLhcoreClassDesign::designJS('js/angular.lhc.online.min.js;vendor/jqueryui/core.min.js;vendor/jqueryui/mouse.min.js;vendor/jqueryui/widget.min.js;vendor/jqueryui/sortable.min.js;js/lhc.dashboard.min.js') . '"></script>'; $Result['hide_right_column'] = erLhcoreClassModelChatConfig::fetch('hide_right_column_frontpage')->current_value == 1;
<?php $tpl = erLhcoreClassTemplate::getInstance('lhform/viewcollected.tpl.php'); $collected = erLhAbstractModelFormCollected::fetch((int) $Params['user_parameters']['collected_id']); $object_trans = $collected->form->getModuleTranslations(); erLhcoreClassFormRenderer::setCollectedInformation($collected->content_array); erLhcoreClassFormRenderer::setCollectedObject($collected); $tpl->set('collected', $collected); $tpl->set('form', $collected->form); $tpl->set('content', $collected->form->content_rendered); $Result['content'] = $tpl->fetch(); $Result['path'] = array(); $Result['path'][] = $object_trans['path']; $Result['path'][] = array('url' => erLhcoreClassDesign::baseurl('abstract/list') . '/Form', 'title' => $object_trans['name']); $Result['path'][] = array('url' => erLhcoreClassDesign::baseurl('form/collected') . '/' . $collected->form->id, 'title' => $collected->form); $Result['path'][] = array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('form/viewcollected', 'Collected information')); $Result['additional_header_css'] = '<link rel="stylesheet" type="text/css" href="' . erLhcoreClassDesign::designCSS('css/jquery-ui-1.10.4.custom.css') . '" />'; $Result['additional_header_js'] = '<script type="text/javascript" language="javascript" src="' . erLhcoreClassDesign::designJS('js/jquery-ui-1.10.4.custom.min.js') . '"></script>';
} $Departament->removeThis(); erLhcoreClassModule::redirect('department/departments'); exit; } if (isset($_POST['Update_departament']) || isset($_POST['Save_departament'])) { if (!isset($_POST['csfr_token']) || !$currentUser->validateCSFRToken($_POST['csfr_token'])) { erLhcoreClassModule::redirect('department/departments'); exit; } $Errors = erLhcoreClassDepartament::validateDepartment($Departament); if (count($Errors) == 0) { erLhcoreClassDepartament::getSession()->update($Departament); $DepartamentCustomWorkHours = erLhcoreClassDepartament::validateDepartmentCustomWorkHours($Departament, $DepartamentCustomWorkHours); if (isset($_POST['Save_departament'])) { erLhcoreClassModule::redirect('department/departments'); exit; } else { $tpl->set('updated', true); } } else { $tpl->set('errors', $Errors); } } $tpl->set('departament', $Departament); $tpl->set('currentUser', $currentUser); $tpl->set('limitDepartments', $userDepartments !== true ? array('filterin' => array('id' => $userDepartments)) : array()); $tpl->set('departamentCustomWorkHours', json_encode(erLhcoreClassDepartament::getDepartamentCustomWorkHoursData($DepartamentCustomWorkHours), JSON_HEX_APOS)); $Result['content'] = $tpl->fetch(); $Result['additional_footer_js'] = '<script src="' . erLhcoreClassDesign::designJS('js/angular.lhc.customdepartmentperiodgenerator.js') . '"></script>'; $Result['path'] = array(array('url' => erLhcoreClassDesign::baseurl('system/configuration'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit', 'System configuration')), array('url' => erLhcoreClassDesign::baseurl('department/departments'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit', 'Departments')), array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('department/edit', 'Edit a department') . ' - ' . $Departament->name));
confLH.new_message_browser_notification = <?php echo isset($soundData['browser_notification_message']) ? (int) $soundData['browser_notification_message'] : 0; ?> ; confLH.transLation = {'new_chat':'<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('pagelayout/pagelayout', 'New chat request'); ?> '}; confLH.csrf_token = '<?php echo erLhcoreClassUser::instance()->getCSFRToken(); ?> '; confLH.repeat_sound = <?php echo (int) $soundData['repeat_sound']; ?> ; confLH.repeat_sound_delay = <?php echo (int) $soundData['repeat_sound_delay']; ?> ; confLH.show_alert = <?php echo (int) $soundData['show_alert']; ?> ; </script> <script type="text/javascript" src="<?php echo erLhcoreClassDesign::designJS('js/jquery.js;js/modernizr.js;js/foundation.min.js;js/jquery.colorbox-min.js;js/lh.min.js;js/jquery.hotkeys-0.7.9.min.js;js/fileupload/jquery.fileupload.min.js;js/jquery.zoom.min.js;js/datepicker.min.js;js/lhc.speak.min.js'); ?> "></script> <?php echo isset($Result['additional_header_js']) ? $Result['additional_header_js'] : '';
{ this.sharehash = chatHash || this.cookieData.hash || this.cookieData.shr; this.sharemode = sharemode || this.cookieData.shrm || 'chat'; this.addCookieAttribute('shr',this.sharehash); this.addCookieAttribute('shrm',this.sharemode); if (typeof TreeMirror == "undefined") { var th = document.getElementsByTagName('head')[0]; var s = document.createElement('script'); s.setAttribute('type','text/javascript'); s.setAttribute('src','<?php echo erLhcoreClassModelChatConfig::fetch('explicit_http_mode')->current_value; ?> //<?php echo $_SERVER['HTTP_HOST']; echo erLhcoreClassDesign::designJS('js/cobrowse/compiled/cobrowse.visitor.min.js'); ?> '); th.appendChild(s); s.onreadystatechange = s.onload = function(){ inst.startCoBrowse(inst.sharehash,this.sharemode); }; } else { try { this.isSharing = true; this.addCookieAttribute('shr',this.sharehash); this.addCookieAttribute('shrm',this.sharemode); <?php include erLhcoreClassDesign::designtpl('lhcobrowse/userinit.tpl.php'); ?> } catch(err) {
<script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/jquery.sceditor.bbcode.js;js/sceditor.js'); ?> "></script>
<?php $tpl = erLhcoreClassTemplate::getInstance('lhtheme/adminnewtheme.tpl.php'); $form = new erLhAbstractModelAdminTheme(); if (ezcInputForm::hasPostData()) { $Errors = erLhcoreClassThemeValidator::validateAdminTheme($form); if (!empty($Errors)) { $tpl->set('errors', $Errors); } else { $form->saveThis(); erLhcoreClassModule::redirect('theme/adminthemes'); exit; } } $tpl->set('form', $form); $Result['content'] = $tpl->fetch(); $Result['additional_footer_js'] = '<script src="' . erLhcoreClassDesign::designJS('js/admintheme.form.angular.js') . '"></script>'; $Result['path'] = array(array('url' => erLhcoreClassDesign::baseurl('theme/index'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('theme/index', 'Themes')), array('url' => erLhcoreClassDesign::baseurl('theme/adminthemes'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('lhtheme/admin', 'Admin themes')), array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('lhtheme/admin', 'New admin theme')));
confLH.new_message_browser_notification = <?php echo isset($soundData['browser_notification_message']) ? (int) $soundData['browser_notification_message'] : 0; ?> ; confLH.transLation = {'new_chat':'<?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('pagelayout/pagelayout', 'New chat request'); ?> '}; confLH.csrf_token = '<?php echo erLhcoreClassUser::instance()->getCSFRToken(); ?> '; confLH.repeat_sound = <?php echo (int) $soundData['repeat_sound']; ?> ; confLH.repeat_sound_delay = <?php echo (int) $soundData['repeat_sound_delay']; ?> ; confLH.show_alert = <?php echo (int) $soundData['show_alert']; ?> ; </script> <script type="text/javascript" src="<?php echo erLhcoreClassDesign::designJS('js/jquery.js;js/modernizr.js;js/foundation.min.js;js/jquery.colorbox-min.js;js/lh.js;js/jquery.hotkeys-0.7.9.min.js;js/fileupload/jquery.ui.widget.js;js/fileupload/jquery.iframe-transport.js;js/fileupload/jquery.fileupload.js;js/jquery.zoom.min.js;js/datepicker.js'); ?> "></script> <?php echo isset($Result['additional_header_js']) ? $Result['additional_header_js'] : '';
$maxrows = isset($Params['user_parameters_unordered']['maxrows']) && is_numeric($Params['user_parameters_unordered']['maxrows']) ? (int) $Params['user_parameters_unordered']['maxrows'] : 50; $filter = array('offset' => 0, 'limit' => $maxrows, 'sort' => 'last_visit DESC', 'filtergt' => array('last_visit' => time() - $timeout)); $department = isset($Params['user_parameters_unordered']['department']) && is_numeric($Params['user_parameters_unordered']['department']) ? (int) $Params['user_parameters_unordered']['department'] : false; if ($department !== false) { $filter['filter']['dep_id'] = $department; } /** * Append user departments filter * */ $departmentParams = array(); $userDepartments = erLhcoreClassUserDep::parseUserDepartmetnsForFilter($currentUser->getUserID()); if ($userDepartments !== true) { $departmentParams['filterin']['id'] = $userDepartments; if (!$currentUser->hasAccessTo('lhchat', 'sees_all_online_visitors')) { $filter['filterin']['dep_id'] = $userDepartments; } } if ($is_ajax == true) { $items = erLhcoreClassModelChatOnlineUser::getList($filter); erLhcoreClassChat::prefillGetAttributes($items, array('online_attr_system_array', 'notes_intro', 'last_check_time_ago', 'visitor_tz_time', 'last_visit_seconds_ago', 'lastactivity_ago', 'time_on_site_front', 'can_view_chat', 'operator_user_send', 'operator_user_string', 'first_visit_front', 'last_visit_front'), array('notes', 'online_attr_system'), array('do_not_clean' => true)); echo json_encode(array_values($items)); exit; } $tpl->set('departmentParams', $departmentParams); $tpl->set('tracking_enabled', erLhcoreClassModelChatConfig::fetch('track_online_visitors')->current_value == 1); $tpl->set('geo_location_data', erLhcoreClassModelChatConfig::fetch('geo_location_data')->data); $Result['content'] = $tpl->fetch(); $Result['path'] = array(array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('chat/onlineusers', 'Online visitors'))); erLhcoreClassChatEventDispatcher::getInstance()->dispatch('chat.onlineusers_path', array('result' => &$Result)); $Result['additional_footer_js'] = '<script src="' . erLhcoreClassDesign::designJS('js/angular.lhc.online.min.js') . '"></script>';
public static function getModuleFile($disableCacheManually = false) { $cfg = erConfigClassLhConfig::getInstance(); $cacheEnabled = $cfg->getSetting('site', 'modulecompile'); if ($cacheEnabled === false || $disableCacheManually === true) { return self::$currentModule[self::$currentView]['script_path']; } else { $instance = erLhcoreClassSystem::instance(); $cacheKey = md5(self::$currentModuleName . '_' . self::$currentView . '_' . $instance->WWWDirLang . '_' . $instance->Language); if (($cacheModules = self::$cacheInstance->restore('moduleCache_' . self::$currentModuleName . '_version_' . self::$cacheVersionSite)) !== false && key_exists($cacheKey, $cacheModules)) { return $cacheModules[$cacheKey]; } $cacheWriter = new erLhcoreClassCacheStorage('cache/cacheconfig/'); if (($cacheModules = $cacheWriter->restore('moduleCache_' . self::$currentModuleName)) == false) { $cacheWriter->store('moduleCache_' . self::$currentModuleName, array()); $cacheModules = array(); } if (key_exists($cacheKey, $cacheModules)) { self::$cacheInstance->store('moduleCache_' . self::$currentModuleName . '_version_' . self::$cacheVersionSite, $cacheModules); return $cacheModules[$cacheKey]; } $file = self::$currentModule[self::$currentView]['script_path']; $contentFile = php_strip_whitespace($file); $Matches = array(); preg_match_all('/erTranslationClassLhTranslation::getInstance\\(\\)->getTranslation\\(\'(.*?)\',(.*?)\'(.*?)\'\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $TranslateContent) { $contentFile = str_replace($Matches[0][$key], '\'' . erTranslationClassLhTranslation::getInstance()->getTranslation($TranslateContent, $Matches[3][$key]) . '\'', $contentFile); } $Matches = array(); preg_match_all('/erLhcoreClassDesign::baseurl\\((.*?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], '\'' . erLhcoreClassDesign::baseurl(trim($UrlAddress, '\'')) . '\'', $contentFile); } // Compile additional JS $Matches = array(); preg_match_all('/erLhcoreClassDesign::designJS\\(\'(.*?)\'\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], '\'' . erLhcoreClassDesign::designJS(trim($UrlAddress, '\'')) . '\'', $contentFile); } $Matches = array(); preg_match_all('/erLhcoreClassDesign::baseurldirect\\((.*?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $contentFile = str_replace($Matches[0][$key], '\'' . erLhcoreClassDesign::baseurldirect(trim($UrlAddress, '\'')) . '\'', $contentFile); } $contentFile = str_replace('erLhcoreClassSystem::instance()->SiteAccess', '\'' . erLhcoreClassSystem::instance()->SiteAccess . '\'', $contentFile); $Matches = array(); preg_match_all('/erConfigClassLhConfig::getInstance\\(\\)->getSetting\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?),(\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erConfigClassLhConfig::getInstance()->getSetting($Matches[2][$key], $Matches[5][$key]); $valueReplace = ''; if (is_bool($valueConfig)) { $valueReplace = $valueConfig == false ? 'false' : 'true'; } elseif (is_integer($valueConfig)) { $valueReplace = $valueConfig; } elseif (is_array($valueConfig)) { $valueReplace = var_export($valueConfig, true); } else { $valueReplace = '\'' . $valueConfig . '\''; } $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } if (self::$cacheDbVariables === true) { $fetchMethods = array('fetch', 'fetchCache'); foreach ($fetchMethods as $fetchMethod) { // Compile config settings $Matches = array(); preg_match_all('/erLhcoreClassModelChatConfig::' . $fetchMethod . '\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->current_value/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->current_value; $valueReplace = ''; $valueReplace = '\'' . str_replace("'", "\\'", $valueConfig) . '\''; $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile config settings in php scripts $Matches = array(); preg_match_all('/erLhcoreClassModelChatConfig::' . $fetchMethod . '\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->data_value/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->data_value; $valueReplace = var_export($valueConfig, true); $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } // Compile config settings array $Matches = array(); preg_match_all('/erLhcoreClassModelChatConfig::' . $fetchMethod . '\\((\\s?)\'([a-zA-Z0-9-\\.-\\/\\_]+)\'(\\s?)\\)->data\\[\'([a-zA-Z0-9-\\.-\\/\\_]+)\'\\]/i', $contentFile, $Matches); foreach ($Matches[1] as $key => $UrlAddress) { $valueConfig = erLhcoreClassModelChatConfig::fetch($Matches[2][$key])->data[$Matches[4][$key]]; $valueReplace = ''; $valueReplace = '\'' . str_replace("'", "\\'", $valueConfig) . '\''; $contentFile = str_replace($Matches[0][$key], $valueReplace, $contentFile); } } } $fileCompiled = 'cache/compiledtemplates/' . md5($file . $instance->WWWDirLang . '_' . $instance->Language) . '.php'; // Atomoc template compilation to avoid concurent request compiling and writing to the same file $fileTemp = 'cache/cacheconfig/' . md5(time() . microtime() . rand(0, 1000) . $file . $instance->WWWDirLang . '_' . $instance->Language) . '.php'; file_put_contents($fileTemp, $contentFile); // Atomic file write rename($fileTemp, $fileCompiled); $cacheModules[$cacheKey] = $fileCompiled; $cacheWriter->store('moduleCache_' . self::$currentModuleName, $cacheModules); self::$cacheInstance->store('moduleCache_' . self::$currentModuleName . '_version_' . self::$cacheVersionSite, $cacheModules); return $fileCompiled; } }
<script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/angular.min.js;js/checklist-model.min.js;js/angular.lhc.min.js'); ?> "></script> <?php echo isset($Result['additional_footer_js']) ? $Result['additional_footer_js'] : '';
<script type="text/javascript"> var WWW_DIR_JAVASCRIPT = '<?php echo erLhcoreClassDesign::baseurl(); ?> '; var WWW_DIR_JAVASCRIPT_FILES = '<?php echo erLhcoreClassDesign::design('sound'); ?> '; var confLH = {}; confLH.back_office_sinterval = 11000; confLH.chat_message_sinterval = 3600; confLH.new_chat_sound_enabled = 1; confLH.new_message_sound_admin_enabled =1; confLH.new_message_sound_user_enabled = 1; </script> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('vendor/jquery/jquery.min.js;js/modernizr.js;js/lh.js;js/jquery.hotkeys-0.7.9.min.js'); ?> "></script>
<div class="container-fluid"> <div class="row"> <div class="col-md-12 pt10"> <?php echo $Result['content']; ?> </div> </div> </div> <?php if (!isset($Result['disable_angular'])) { ?> <script type="text/javascript" language="javascript" src="<?php echo erLhcoreClassDesign::designJS('js/angular.min.js;js/angular.lhc.js'); ?> "></script> <?php } ?> <?php if (erConfigClassLhConfig::getInstance()->getSetting('site', 'debug_output') == true) { $debug = ezcDebug::getInstance(); echo $debug->generateOutput(); } ?> </body> </html>
<script type="text/javascript" src="<?php echo erLhcoreClassDesign::designJS('js/survey.js'); ?> "></script> <?php $fields = $object->getFields(); ?> <?php if (isset($errors)) { ?> <?php include erLhcoreClassDesign::designtpl('lhkernel/validation_error.tpl.php'); } ?> <?php if (isset($updated) && $updated == true) { $msg = erTranslationClassLhTranslation::getInstance()->getTranslation('abstract/abstract_form', 'Updated!'); ?> <?php include erLhcoreClassDesign::designtpl('lhkernel/alert_success.tpl.php'); } ?> <div class="form-group"> <label><?php echo $fields['name']['trans']; ?> </label>