/** * * ZPanel - A Cross-Platform Open-Source Web Hosting Control panel. * * @package ZPanel * @version $Id$ * @author Bobby Allen - ballen@zpanelcp.com * @copyright (c) 2008-2011 ZPanel Group - http://www.zpanelcp.com/ * @license http://opensource.org/licenses/gpl-3.0.html GNU Public License v3 * * This program (ZPanel) is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ function BuildApp($a, $useraccount, $packageinfo, $quotainfo, $permissionset, $personalinfo) { $body = $a; include 'conf/zcnf.php'; # Lets work out what template we are going to need to use.. $template_path = 'templates/' . GetSystemOption('zpanel_template'); $templatefile = $template_path . '/template.php'; $fd = fopen($templatefile, 'r'); $fileContents = fread($fd, filesize($templatefile)); fclose($fd); $file = $body; $fd = fopen($file, 'r'); $bodycontent = fread($fd, filesize($file)); fclose($fd); function TemplateReplace($content, $bodycontent, $template_path, $useraccount, $packageinfo, $quotainfo, $permissionset, $personalinfo) { include 'conf/zcnf.php'; include 'lang/' . GetSystemOption('zpanel_lang') . '.php'; $fileContents = str_replace('{{usage:domains}}', GetQuotaUsages('domains', $useraccount['ac_id_pk']), $content); $fileContents = str_replace('{{usage:subdomains}}', GetQuotaUsages('subdomains', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:parkeddomains}}', GetQuotaUsages('parkeddomains', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:mailboxes}}', GetQuotaUsages('mailboxes', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:forwarders}}', GetQuotaUsages('forwarders', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:distlists}}', GetQuotaUsages('distlists', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:ftpaccounts}}', GetQuotaUsages('ftpaccounts', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:mysql}}', GetQuotaUsages('mysql', $useraccount['ac_id_pk']), $fileContents); $fileContents = str_replace('{{usage:diskspace}}', FormatFileSize(GetQuotaUsages('diskspace', $useraccount['ac_id_pk'])), $fileContents); $fileContents = str_replace('{{usage:bandwidth}}', FormatFileSize(GetQuotaUsages('bandwidth', $useraccount['ac_id_pk'])), $fileContents); $fileContents = str_replace('{{quota:domains}}', $quotainfo['qt_domains_in'], $fileContents); $fileContents = str_replace('{{quota:subdomains}}', $quotainfo['qt_subdomains_in'], $fileContents); $fileContents = str_replace('{{quota:parkeddomains}}', $quotainfo['qt_parkeddomains_in'], $fileContents); $fileContents = str_replace('{{quota:mailboxes}}', $quotainfo['qt_mailboxes_in'], $fileContents); $fileContents = str_replace('{{quota:forwarders}}', $quotainfo['qt_fowarders_in'], $fileContents); $fileContents = str_replace('{{quota:distlists}}', $quotainfo['qt_distlists_in'], $fileContents); $fileContents = str_replace('{{quota:ftpaccounts}}', $quotainfo['qt_ftpaccounts_in'], $fileContents); $fileContents = str_replace('{{quota:mysql}}', $quotainfo['qt_mysql_in'], $fileContents); $fileContents = str_replace('{{quota:diskspace}}', FormatFileSize($quotainfo['qt_diskspace_bi']), $fileContents); $fileContents = str_replace('{{quota:bandwidth}}', FormatFileSize($quotainfo['qt_bandwidth_bi']), $fileContents); $fileContents = str_replace('{{progbar:diskspace}}', "<img src=\"inc/zProgressBar.php?used=" . GetQuotaUsages('diskspace', $useraccount['ac_id_pk']) . "&total=" . $quotainfo['qt_diskspace_bi'] . "\">", $fileContents); $fileContents = str_replace('{{progbar:bandwidth}}', "<img src=\"inc/zProgressBar.php?used=" . GetQuotaUsages('bandwidth', $useraccount['ac_id_pk']) . "&total=" . $quotainfo['qt_bandwidth_bi'] . "\">", $fileContents); $fileContents = str_replace('{{server:company}}', GetSystemOption('sever_company'), $fileContents); $fileContents = str_replace('{{server:serverip}}', $_SERVER['SERVER_ADDR'], $fileContents); $fileContents = str_replace('{{server:userip}}', $_SERVER['REMOTE_ADDR'], $fileContents); $fileContents = str_replace('{{server:uptime}}', GetServerUptime(), $fileContents); $fileContents = str_replace('{{server:verapache}}', ShowApacheVersion(), $fileContents); $fileContents = str_replace('{{server:verphp}}', ShowPHPVersion(), $fileContents); $fileContents = str_replace('{{server:verkernal}}', ShowKernelVersion(ShowServerPlatform()), $fileContents); $fileContents = str_replace('{{server:vermysql}}', ShowMySQLVersion(), $fileContents); $fileContents = str_replace('{{server:veros}}', ShowServerPlatform(), $fileContents); $fileContents = str_replace('{{server:osname}}', ShowServerOSName(), $fileContents); $fileContents = str_replace('{{server:oslogo}}', "<img src=\"lib/emblems/os_icons/" . ShowServerOSName() . ".png\" title=\"This server is running " . ShowServerOSName() . "\">", $fileContents); $fileContents = str_replace('{{server:verzpanel}}', GetSystemOption('zpanel_version'), $fileContents); $fileContents = str_replace('{{link:home}}', "<a href=\"./\">" . $lang['215'] . "</a>", $fileContents); $fileContents = str_replace('{{link:logout}}', "<a href=\"./login.php?logout\">" . $lang['216'] . "</a>", $fileContents); $fileContents = str_replace('{{zp:templatepath}}', $template_path, $fileContents); $fileContents = str_replace('{{account:username}}', $useraccount['ac_user_vc'], $fileContents); $fileContents = str_replace('{{account:email}}', $personalinfo['ap_email_vc'], $fileContents); $fileContents = str_replace('{{account:created}}', date(GetSystemOption('zpanel_df'), $useraccount['ac_created_ts']), $fileContents); $fileContents = str_replace('{{account:fullname}}', $personalinfo['ap_fullname_vc'], $fileContents); $fileContents = str_replace('{{package:name}}', $packageinfo['pk_name_vc'], $fileContents); $fileContents = str_replace('{{account:type}}', ShowAccountType($permissionset), $fileContents); $fileContents = str_replace('{{zp:content}}', $bodycontent, $fileContents); return $fileContents; } $templatecontent = TemplateReplace($fileContents, $bodycontent, $template_path, $useraccount, $packageinfo, $quotainfo, $permissionset, $personalinfo); return eval('?>' . $templatecontent . ''); }
} #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Clause = DB_Select('Clauses', '*', array('UNIQ', 'Where' => "`Partition` = 'CreateTicket/LOCK_OVERLIMITS'")); #------------------------------------------------------------------------------- switch (ValueOf($Clause)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': Debug(SPrintF('[comp/Tasks/HostingCPUUsage]: Статья для создания тикета не обнаружена: CreateTicket/LOCK_OVERLIMITS')); break; case 'array': #------------------------------------------------------------------------------- # готовим тикет $ITicket = array('Theme' => $Clause['Title'], 'PriorityID' => 'Low', 'Flags' => 'CloseOnSee', 'TargetGroupID' => 3100000, 'TargetUserID' => 100, 'UserID' => $HostingOrder['UserID'], 'Message' => TemplateReplace(Strip_Tags($Clause['Text']), $Params, FALSE)); #------------------------------------------------------------------------------- $IsAdd = Comp_Load('www/API/TicketEdit', $ITicket); if (Is_Error($IsAdd)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } #-------------------------------------------------------------------------------
//} #------------------------------------------------------------------------------- $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Standard.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/DOM.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/HTTP.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/CheckBox.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/FormEdit.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/CtrlEnterEvent.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Ajax/Window.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Ajax/AutoComplite.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{others/jQuery/core.js}'))); #------------------------------------------------------------------------------- $DOM->AddChild('Head', new Tag('LINK', array('rel' => 'stylesheet', 'type' => 'text/css', 'href' => 'SRC:{others/jQuery/smoothness/jquery-ui-custom.css}'))); #------------------------------------------------------------------------------- $DOM->AddHTML('Floating', TemplateReplace('Triggers.DOM.Before.Base.TABLE')); #------------------------------------------------------------------------------- $DOM->AddHTML('Floating', TemplateReplace('Triggers.DOM.Before.Base.DIV')); #------------------------------------------------------------------------------- if (isset($_COOKIE['Eval'])) { #------------------------------------------------------------------------------- $Eval = $_COOKIE['Eval']; #------------------------------------------------------------------------------- $DOM->AddAttribs('Body', array('onload' => $Eval)); #------------------------------------------------------------------------------- if (!SetCookie('Eval', $Eval, Time() - 86400, '/')) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $Settings = $Config['Interface']['Administrator']['Notes']['Events']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$Settings['ShowUnReaded']) { return $Result; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Result = array(); #------------------------------------------------------------------------------- $Count = DB_Count('Events', array('Where' => "`IsReaded` != 'yes'")); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if ($Count) { #------------------------------------------------------------------------------- $Result = array(); #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.Administrator.Events', array('Count' => $Count))); #------------------------------------------------------------------------------- $Result = array($NoBody); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
function CreatePage() { global $template, $_GET, $zpaneldirectory, $user, $config, $settings, $package, $DB; if (!isset($_GET['page'])) { $body = "main.php"; } else { if (!isset($_GET['ext']) || $_GET['ext'] == '') { if ($_GET['page'] == "main") { $body = "main.php"; } else { $body = "modules/" . $_GET['cat'] . "/" . $_GET['page'] . "/index.php"; //Load module information require "modules/" . $_GET['cat'] . "/" . $_GET['page'] . "/modinfo.zp.php"; } } else { $body = "modules/" . $_GET['cat'] . "/" . $_GET['page'] . "/" . $_GET['ext'] . ".php"; //Load module information require "modules/" . $_GET['cat'] . "/" . $_GET['page'] . "/modinfo.zp.php"; } } // Get Template $templatefile = $template['path'] . '/template.php'; $fd = fopen($templatefile, 'r'); $fileContents = fread($fd, filesize($templatefile)); fclose($fd); // Get Content $file = $body; $fd = fopen($file, 'r'); $content = fread($fd, filesize($file)); fclose($fd); // Get Header $headerfile = 'includes/pagehead.php'; $fd = fopen($headerfile, 'r'); $pageheader = fread($fd, filesize($headerfile)); fclose($fd); // Load xajax functions include_once 'ajax_functions.php'; # # Replace template variables # function TemplateReplace($content, $type, $body = 0) { global $user, $config, $settings, $template, $package, $DB, $pageheader, $xajax; if ($type == 'template') { global $bodycontent; } // Look for if statements $fileContents = str_replace('{if:tech}', '<?php if ($user[\'tech\']) {?>', $content); $fileContents = str_replace('{if:linux}', '<?php if (OS() == \'Linux\') {?>', $fileContents); $fileContents = str_replace('{if:windows}', '<?php if (OS() == \'Windows\') {?>', $fileContents); $fileContents = str_replace('{if!linux}', '<?php if (OS() != \'Linux\') {?>', $fileContents); $fileContents = str_replace('{if!windows}', '<?php if (OS() != \'Windows\') {?>', $fileContents); $fileContents = str_replace('{/if}', '<?php } ?>', $fileContents); // User Information $usrvars = $DB->GetAll('SHOW COLUMNS FROM accounts'); foreach ($usrvars as $var) { $fileContents = str_replace('{user:'******'}', $user[$var[0]], $fileContents); } // Plan Information $pkgvars = $DB->GetAll('SHOW COLUMNS FROM packages'); foreach ($pkgvars as $var) { $fileContents = str_replace('{package:' . $var[0] . '}', $package[$var[0]], $fileContents); } // Usage Information $fileContents = str_replace('{usage:ftp}', UsageInfo('ftp'), $fileContents); $fileContents = str_replace('{usage:space}', UsageInfo('space'), $fileContents); $fileContents = str_replace('{usage:domains}', UsageInfo('domains'), $fileContents); $fileContents = str_replace('{usage:subdomains}', UsageInfo('subdomains'), $fileContents); $fileContents = str_replace('{usage:parked}', UsageInfo('parkeddomains'), $fileContents); $fileContents = str_replace('{usage:sql}', UsageInfo('mysql'), $fileContents); // Final Content $fileContents = str_replace('{company}', $config['company'], $fileContents) or die('Ooops'); $fileContents = str_replace('{apachever}', ApacheVer(), $fileContents); $fileContents = str_replace('{phpver}', phpversion(), $fileContents); $fileContents = str_replace('{kernelver}', KernelVer(), $fileContents); $fileContents = str_replace('{mysqlver}', $DB->GetOne('SELECT version( ) ;'), $fileContents); $fileContents = str_replace('{operatingsystem}', OS(), $fileContents); $fileContents = str_replace('{templatepath}', $template['path'], $fileContents); $fileContents = str_replace('{zpanelheader}', '<?php include(\'includes/pagehead.php\'); ?>', $fileContents); if ($type == 'template') { $fileContents = str_replace('{content}', $body, $fileContents); } return $fileContents; } $bodycontent = TemplateReplace($content, 'body'); $templatecontent = TemplateReplace($fileContents, 'template', $bodycontent); $finalcontents = str_replace('<' . '?php', '<' . '?', $templatecontent); $finalcontents = '?' . '>' . trim($finalcontents) . '<' . '?'; return eval($finalcontents); }
return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- $Table[] = new Tag('DIV', array('align' => 'center'), $Comp); } #----------------------------------------------------------------- $Comp = Comp_Load('Formats/Currency', $CostPay); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- $Table[] = array('Всего к оплате', $Comp); #----------------------------------------------------------------- $Div = new Tag('DIV', array('align' => 'right', 'class' => 'Standard')); #------------------------------------------------------------------------------- $Div->AddHTML(TemplateReplace('www.ServiceOrderPay', array('ServiceCode' => 'VPS'))); #----------------------------------------------------------------- $Table[] = $Div; #----------------------------------------------------------------- $Table[] = new Tag('DIV', array('align' => 'right', 'style' => 'font-size:10px;'), $CostPay > $VPSOrder['ContractBalance'] ? '[заказ будет добавлен в корзину]' : '[заказ будет оплачен с баланса договора]'); #----------------------------------------------------------------- $Div = new Tag('DIV', array('align' => 'right')); #----------------------------------------------------------------- if ($IsChange) { #--------------------------------------------------------------- $Comp = Comp_Load('Form/Input', array('type' => 'button', 'onclick' => 'WindowPrev();', 'value' => 'Изменить период')); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- $Div->AddChild($Comp);
break; case 'array': #------------------------------------------------------------------------------- $bill_list = ""; #------------------------------------------------------------------------------- foreach ($Items as $Item) { #------------------------------------------------------------------------- #Debug("[comp/Tasks/GC/QIWI]: processing invoice #" . $Item['ID']); $bill_list .= "\t\t" . SPrintF('<bill txn-id="%s"/>', $Item['ID']) . "\n"; #------------------------------------------------------------------------- $NumInvoices++; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # create request $Result = TemplateReplace('Tasks.QIWI', array('Settings' => $Settings, 'bill_list' => $bill_list), FALSE); #Debug(SPrintF('[comp/Tasks/GC/QIWI]: Result = %s',print_r($Result,true))); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # calculate encrypt key $PasswordMD5 = md5($Settings['Hash'], true); #------------------------------------------------------------------------------- $salt = md5($Settings['Send']['from'] . bin2hex($PasswordMD5), true); #------------------------------------------------------------------------------- $key = Str_Pad($PasswordMD5, 24, '\\0'); #------------------------------------------------------------------------------- # XOR calculating for ($i = 8; $i < 24; $i++) { #------------------------------------------------------------------------------- if ($i >= 16) { #-------------------------------------------------------------------------------
if (!Comp_IsLoaded('Upload')) { #------------------------------------------------------------------------------- $Links =& Links(); #------------------------------------------------------------------------------- $DOM =& $Links['DOM']; #------------------------------------------------------------------------------- $Script = new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Upload.js}')); #------------------------------------------------------------------------------- $DOM->AddChild('Head', $Script); #------------------------------------------------------------------------------- $Comp = Comp_Load('Css', array('Upload')); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- foreach ($Comp as $Css) { $DOM->AddChild('Head', $Css); } #------------------------------------------------------------------------------- $DOM->AddHTML('Floating', TemplateReplace('Upload.DIV')); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Table = new Tag('TABLE', array('width' => '200', 'cellspacing' => 0)); #------------------------------------------------------------------------------- $Table->AddHTML(TemplateReplace('Upload.Button', array('Name' => $Name, 'Info' => $Info ? $Info : '-', 'MaxFileSize' => $Settings['MaxFileSize']))); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Table; #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $Percent = $Bonus['Discont'] * 100; #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Notes/User/Bonuses]: Code = %s; Percent = %s', $Bonus['Code'], $Percent)); #------------------------------------------------------------------------------- if ($Percent < $Settings['Percent']) { continue; } #------------------------------------------------------------------------------- if (Is_Null($Bonus['NameShort'])) { #------------------------------------------------------------------------------- $Bonus['NameShort'] = 'Любой сервис'; $Bonus['Code'] = 'Hosting'; $Bonus['Measure'] = 'шт.'; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Params = array('Bonus' => $Bonus, 'Percent' => $Percent); #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); $NoBody->AddHTML(TemplateReplace('Notes.User.Bonuses', $Params)); $Result[] = $NoBody; unset($NoBody); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $LastExecuted = File_Get_Contents($Marker); #------------------------------------------------------------------------------- $LastExecuted = StrToTime($LastExecuted); #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Notes/Administrator/CheckCronRun]: LastExecuted = %s', Date('Y-m-d H:i:s', $LastExecuted))); #------------------------------------------------------------------------------- if ($LastExecuted < Time() - $Settings['CronDownTime']) { $Array = array('Message' => SPrintF('Последнее задание было выполнено <B>%s в %s</B>', Date('Y-m-d', $LastExecuted), Date('H:i:s', $LastExecuted))); } } else { #------------------------------------------------------------------------------- $Array = array('Message' => SPrintF('Планировщик ни разу не запускался в штатном режиме, или, отсутствует доступ к файлу <BR /><B>%s</B>', $Marker)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (isset($Array)) { #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.Administrator.CheckCronRun', $Array)); #------------------------------------------------------------------------------- $Result[] = $NoBody; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
return $Result; } #------------------------------------------------------------------------------- if (!Is_Array($Cached)) { return $Result; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Array = Explode(',', $Settings['ExcludeIPs']); #------------------------------------------------------------------------------- foreach ($Array as $IP) { if (Trim($IP) == $Cached['EnterIP']) { return $Result; } } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($Cached['EnterIP'] != $GLOBALS['__USER']['EnterIP']) { #------------------------------------------------------------------------------- $Params = array('EnterIP' => $Cached['EnterIP'], 'IP' => $GLOBALS['__USER']['EnterIP'], 'EnterDate' => Date('Y-m-d H:i:s', $Cached['EnterDate'])); #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); $NoBody->AddHTML(TemplateReplace('Notes.CheckEnterIP', $Params)); $Result[] = $NoBody; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
$DomainOrder = DB_Select('DomainOrdersOwners', $Columns, array('UNIQ', 'Where' => SPrintF('`OrderID` = %u', $Order['ID']))); switch (ValueOf($DomainOrder)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $Params['TransferDaysRemainded'] = Ceil(($DomainOrder['StatusDate'] + 180 * 24 * 3600 - Time()) / (24 * 3600)); $Params['DomainOrder'] = $DomainOrder; #------------------------------------------------------------------------------- if (In_Array($DomainOrder['Name'], array('ru', 'su', 'рф'))) { #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.User.NoticeOrders.OnTransfer.USSR', $Params)); #------------------------------------------------------------------------------- $Result[] = $NoBody; #------------------------------------------------------------------------------- } else { # ничё? } #------------------------------------------------------------------------- break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- } else { # ничё не делаем?
#------------------------------------------------------------------------------- /** @author Alex Keda, for www.host-food.ru **/ /******************************************************************************/ /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Result = array(); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Interface']['Administrator']['Notes']['CheckUserID']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$Settings['MakeCheckUserID']) { return $Result; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($GLOBALS['__USER']['ID'] != 100) { return $Result; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); $NoBody->AddHTML(TemplateReplace('Notes.Administrator.CheckUserID')); $Result[] = $NoBody; #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
function GenerateBulkWO($params) { global $WOIPTeams; $loc = rmabs(__FILE__ . "GenerateBulkWO"); $sql = 'SELECT * FROM AllActiveUsersView ORDER BY LastName, FirstName'; $result = SqlQuery($loc, $sql); $d = array(); $num = 0; $matchtags = ArrayFromSlashStr($params["FilterTags"]); if (empty($matchtags)) { $matchtags = array("Worker"); } $title_template = $params["Title"]; $nerr = 0; $nok = 0; $wid0 = 0; $wid1 = 0; $num = 0; while ($userinfo = $result->fetch_assoc()) { // Decide if this person should get a WO. $taglist = ArrayFromSlashStr($userinfo["Tags"]); if (TagMatch(array("Guest"), $taglist)) { continue; } // Guests NEVER get one. if (!TagMatch($matchtags, $taglist)) { continue; } // We passed the test, this person gets one! // Figure out the receiving IPT. $ipt = $userinfo["IPT"]; if (empty($ipt)) { $ipt = $WOIPTeams[8]; } // Hopefully this is management. $params["Receiver"] = $ipt; $num++; $snum = sprintf("%d", $num); $params["Title"] = TemplateReplace($title_template, $snum, "##"); $rwo = CreateNewWorkOrder($params); $wid = $rwo[0]; if ($wid == 0) { // failed. log_error($loc, array("Failed to Create Bulk WO. Reason: " . $rwo[1], 'WO Title: ' . $params["Title"])); $nerr++; continue; } // Add assingment MakeAssignment($wid, $userinfo["UserID"]); if ($nok == 0) { $wid0 = $wid; } $wid1 = $wid; $nok++; } $msg = 'Number of WOs Created = ' . $nok . '. Number of Failures = ' . $nerr . '.'; $msg .= " WID=" . $wid0 . " to " . $wid1 . "."; log_msg($loc, "Bulk WO Created. WIDs " . $wid0 . " to " . $wid1); return $msg; }
$Prefix = $Item['IsActive'] ? 'Active' : 'UnActive'; #------------------------------------------------------------------------------- $A = new Tag('A', array('href' => $Item['Href']), $Item['Text']); #----------------------------------------------------------------------------- if (isset($Item['Prompt'])) { #--------------------------------------------------------------------------- $LinkID = UniqID('ID'); #--------------------------------------------------------------------------- $Links =& Links(); #--------------------------------------------------------------------------- $Links[$LinkID] =& $A; #--------------------------------------------------------------------------- $Comp = Comp_Load('Form/Prompt', $LinkID, $Item['Prompt']); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- unset($Links[$LinkID]); } #----------------------------------------------------------------------------- $Td->AddHTML(TemplateReplace('Tab.Table2', array('Prefix' => $Prefix, 'Href' => $A->ToXMLString()))); #----------------------------------------------------------------------------- $Tr->AddChild($Td); } #------------------------------------------------------------------------------- $Tr->AddChild(new Tag('TD', array('width' => '10px'))); #------------------------------------------------------------------------------- $DOM->AddChild('TabMenu', $Tr); #------------------------------------------------------------------------------- return $DOM->Object; #-------------------------------------------------------------------------------
if (Is_Null($Time)) { $Time = Time(); } #------------------------------------------------------------------------------- $Links = Links(); # Коллекция ссылок $DOM =& $Links['DOM']; #------------------------------------------------------------------------------- if (!Comp_IsLoaded('jQuery/DatePicker')) { #----------------------------------------------------------------------------- $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{others/jQuery/ui.core.js}'))); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{others/jQuery/ui.datepicker.js}'))); #$DOM->AddChild('Head',new Tag('SCRIPT',Array('type'=>'text/javascript','src'=>'SRC:{others/jQuery/datepicker-ru.js}'))); #------------------------------------------------------------------------------- #Debug(TemplateReplace('jQuery.DatePicker',Array(),FALSE)); $DOM->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript'), TemplateReplace('jQuery.DatePicker', array(), FALSE))); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $UniqID = UniqID(); #------------------------------------------------------------------------------- $DOM->AddAttribs('Body', array('onload' => SPrintF("\$('#%s').datepicker({dateFormat:'[yy/mm/dd]',firstDay:0,showAnim:'slideDown',beforeShow:DatePickerBeforeShow,onClose:DatePickerOnClose,onSelect:function(sDate){ DatePickerSelect('%s',sDate,'%s'); },showOn:'button',duration:'fast'});", $Field, $Field, $UniqID))); #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Date/Standard', $Time); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Tr = new Tag('TR', new Tag('TD', array('id' => $UniqID, 'class' => 'Standard', 'style' => 'white-space:nowrap;', 'width' => 130), $Comp)); #------------------------------------------------------------------------------- $Comp = Comp_Load('Form/Input', array('id' => $Field, 'name' => $Field, 'type' => 'hidden', 'value' => Date('[Y/m/d]', $Time)));
$Script = new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Pages/Basket.js}')); #------------------------------------------------------------------------------- $DOM->AddChild('Head', $Script); #------------------------------------------------------------------------------- $Columns = array('ID', 'ServiceID', 'ContractID', 'OrderID', 'Summ', 'Amount', 'Comment', '(SELECT `Measure` FROM `Services` WHERE `Services`.`ID` = `ServiceID`) as `Measure`', '(SELECT `Code` FROM `Services` WHERE `Services`.`ID` = `ServiceID`) as `ServiceCode`', '(SELECT `Customer` FROM `Contracts` WHERE `Contracts`.`ID` = `ContractID`) as `Customer`'); #------------------------------------------------------------------------------- $Basket = DB_Select('BasketOwners', $Columns, array('Where' => SPrintF('`UserID` = %u', $GLOBALS['__USER']['ID']), 'SortOn' => 'ContractID')); #------------------------------------------------------------------------------- switch (ValueOf($Basket)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': #--------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #--------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('www.Basket')); #--------------------------------------------------------------------------- $Comp = Comp_Load('Information', $NoBody, 'Notice'); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- $DOM->AddChild('Into', $Comp); break; case 'array': #--------------------------------------------------------------------------- $ContractID = UniqID(); #--------------------------------------------------------------------------- $Rows = array(); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Basket); $i++) {
$IDNAConverter = new IDNAConvert(); #------------------------------------------------------------------------------- $Email = SPrintF('%s@%s', $Pieces[0], $IDNAConverter->encode($Pieces[1])); #------------------------------------------------------------------------------- if (!Preg_Match($Regulars['Email'], $Email)) { continue; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Used = Prev($Box); #------------------------------------------------------------------------------- $Usage = $Used / $Total * 100; #------------------------------------------------------------------------------- if ($Usage > $Settings['EmailBoxesNotifiesPercent']) { #------------------------------------------------------------------------------- $IsAdd = Comp_Load('www/Administrator/API/TaskEdit', array('UserID' => $HostingOrder['UserID'], 'TypeID' => 'Email', 'Params' => array($Email, 'Квота почтового ящика', TemplateReplace('Tasks.GC.EmailBoxesNotifies', array('Email' => $Email, 'Usage' => $Usage), FALSE), Implode("\n", $Heads)))); #------------------------------------------------------------------------------- switch (ValueOf($IsAdd)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': # No more... break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $Settings = $Config['Interface']['Administrator']['Notes']['Tasks']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$Settings['ShowUnExecuted']) { return $Result; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Result = array(); #------------------------------------------------------------------------------- $Count = DB_Count('Tasks', array('Where' => "(`IsActive` = 'no' OR `Errors` > 0) AND `IsExecuted` = 'no'")); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if ($Count) { #------------------------------------------------------------------------------- $Result = array(); #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.Administrator.Tasks', array('Tasks' => $Count))); #------------------------------------------------------------------------------- $Result = array($NoBody); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- case 'true': break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Params['Links'] = isset($Span) ? $Span->ToXMLString() : '-'; #------------------------------------------------------------------------------- $Table = new Tag('TABLE', array('class' => 'EdeskMessage', 'cellspacing' => 5, 'height' => '100%', 'width' => '100%')); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # JBS-1177 а код в подписи-то выполняется ... #$Params['User']['Sign'] = Nl2Br(HtmlSpecialChars($Params['User']['Sign'])); $Params['User']['Sign'] = Comp_Load('Edesks/Text', array('String' => $Params['User']['Sign'], 'IsLockText' => $OwnerID != @$GLOBALS['__USER']['ID'])); if (Is_Error($Text)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # JBS-1178 да и в имени пользователя - тоже $Params['User']['Name'] = Nl2Br(HtmlSpecialChars($Params['User']['Name'])); #------------------------------------------------------------------------------- $Table->AddHTML(TemplateReplace(SPrintF('Edesks.Message.TABLE.%s', $__USER['Params']['Settings']['EdesksDisplay'] == 'Left' ? 'Left' : 'Right'), $Params)); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Table; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (XML_HTTP_REQUEST) { return new gException('PAGE_NOT_FOUND', 'Страница не найдена [404]'); } #------------------------------------------------------------------------------- if (Is_Error(System_Load('classes/DOM.class.php'))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $DOM = new DOM(); #------------------------------------------------------------------------------- $Links =& Links(); #------------------------------------------------------------------------------- $Links['DOM'] =& $DOM; #------------------------------------------------------------------------------- if (Is_Error($DOM->Load('Main'))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $DOM->AddText('Title', 'Страница не найдена [404]'); #------------------------------------------------------------------------------- $DOM->AddHTML('Into', TemplateReplace('www.404')); #------------------------------------------------------------------------------- $Out = $DOM->Build(); #------------------------------------------------------------------------------- if (Is_Error($Out)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return $Out; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- switch (ValueOf($Profiles)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #------------------------------------------------------------------------------- $Result = array(); #------------------------------------------------------------------------------- foreach ($Profiles as $Profile) { #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.User.Profiles', $Profile)); #------------------------------------------------------------------------------- $Result[] = $NoBody; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- switch (ValueOf($Users)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #------------------------------------------------------------------------------- $Table = new Tag('TABLE', array('class' => 'Standard', 'cellspacing' => 5), new Tag('CAPTION', 'Сейчас в сети')); #------------------------------------------------------------------------------- $Block = new Tag('TR'); #------------------------------------------------------------------------------- foreach ($Users as $User) { #------------------------------------------------------------------------------- $Block->AddHTML(TemplateReplace('www.TicketEdit', $User)); #------------------------------------------------------------------------------- if (Count($Block->Childs) % 2 == 0) { #------------------------------------------------------------------------------- $Table->AddChild($Block); #------------------------------------------------------------------------------- $Block = new Tag('TR'); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (Count($Block->Childs)) { $Table->AddChild($Block); } #-------------------------------------------------------------------------------
$Items = Styles_Menu($MenuPath); if (Is_Error($Items)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Items =& $Items['Items']; #------------------------------------------------------------------------------- $Tr->AddChild(new Tag('TD', array('width' => 5))); #------------------------------------------------------------------------------- foreach ($Items as $Item) { #------------------------------------------------------------------------------- $Td = new Tag('TD', array('valign' => 'bottom')); #------------------------------------------------------------------------------- $Prefix = $Item['IsActive'] ? 'Active' : 'UnActive'; #------------------------------------------------------------------------------- $Section = new DOM(TemplateReplace('TopPanel')); #------------------------------------------------------------------------------- $Section->AddAttribs('TopPanelTabLeft', array('src' => SPrintF('SRC:{Images/TopPanelTabLeft%s.png}', $Prefix))); #------------------------------------------------------------------------------- $IsPick = !$Item['IsActive'] && isset($Item['Pick']); #------------------------------------------------------------------------------- $Section->AddAttribs('TopPanelTabCenter', array('style' => SPrintF('background-image:url(%s);', SPrintF('SRC:{Images/TopPanelTabCenter%s.png}', $IsPick ? SPrintF('%sPick', $Prefix) : $Prefix)))); #------------------------------------------------------------------------------- $Adding = new Tag('A', array('href' => $Item['Href']), $Item['Text']); #------------------------------------------------------------------------------- $Adding->AddAttribs(array('class' => $IsPick ? 'TopPanelPick' : 'TopPanel')); #------------------------------------------------------------------------------- if (isset($Item['Comp'])) { #------------------------------------------------------------------------------- $Adding = Comp_Load($Item['Comp'], $Adding); if (Is_Error($Adding)) {
#------------------------------------------------------------------------------- # нету подходящих профилей $NoBody->AddHTML(TemplateReplace('Notes.User.OrdersTransfer.Contracts', $Params)); $NoBody->AddChild(new Tag('STRONG', new Tag('A', array('href' => "javascript:ShowWindow('/ContractMake');"), '[создать договор]'))); #------------------------------------------------------------------------------- $Result[] = $NoBody; #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'array': # No more... break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.User.OrdersTransfer.Message', $Params)); $NoBody->AddChild(new Tag('STRONG', new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/API/OrdersTransfer',{OrdersTransferID:%u});", $OrdersTransfer['ID'])), '[принять заказ]'))); #------------------------------------------------------------------------------- $Result[] = $NoBody; #------------------------------------------------------------------------------- } break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'PaymentSuccess': #----------------------------------------------------------------------- $Comp = Comp_Load('Users/Init', 100); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'Invoices', 'StatusID' => 'Payed', 'RowsIDs' => $InvoiceID, 'Comment' => 'Автоматическое зачисление')); #----------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': #------------------------------------------------------------------------------- return TemplateReplace('www.Merchant.Yandex', array('Args' => $Args, 'Date' => $Date), FALSE); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } default: return ERROR | @Trigger_Error(101); } default: return ERROR | @Trigger_Error(101); } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $currentVersion = VERSION; #------------------------------------------------------------------------------- $opts = array('http' => array('timeout' => 2)); $context = stream_context_create($opts); $versionInfoJson = @file_get_contents("http://joonte.com/public/version", false, $context); #Debug(SprintF('[comp/Notes/Administrator/CheckVersion]: versionInfoJson = %s',$versionInfoJson)); #------------------------------------------------------------------------------- $versionInfo = @json_decode($versionInfoJson, true); #------------------------------------------------------------------------------- if ($versionInfoJson && $versionInfo) { #------------------------------------------------------------------------------- if (!isset($versionInfo['version'])) { return $Result; } #------------------------------------------------------------------------------- $LastVersion = $versionInfo['version']; #------------------------------------------------------------------------------- if ($LastVersion != $currentVersion) { #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); $NoBody->AddHTML(TemplateReplace('Notes.Administrator.CheckVersion', array('LastVersion' => $LastVersion))); $Result[] = $NoBody; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- return $Result; #-------------------------------------------------------------------------------
/** @author Alex Keda, for www.host-food.ru */ /******************************************************************************/ /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Result = array(); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Interface']['Administrator']['Notes']['CheckCache']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$Settings['MakeCheckCache']) { return $Result; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!CacheManager::isEnabled()) { #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); $NoBody->AddHTML(TemplateReplace('Notes.Administrator.CheckCache')); $Result[] = $NoBody; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
} #------------------------------------------------------------------------------- if (!isset($GLOBALS['__USER']) && $_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR']) { #------------------------------------------------------------------------------- $Table[] = 'Защита от автоматических регистраций'; #------------------------------------------------------------------------------- $Table[] = array(new Tag('NOBODY', new Tag('SPAN', 'Защитный код'), new Tag('BR'), new Tag('SPAN', array('class' => 'Comment'), 'Цифры на изображении')), new Tag('DIV', $Img, new Tag('SPAN', ' = '), $Comp)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!isset($GLOBALS['__USER'])) { #------------------------------------------------------------------------------- $Div = new Tag('DIV', array('class' => 'Standard', 'align' => 'right')); #------------------------------------------------------------------------------- $Div->AddHTML(TemplateReplace('www.UserRegister')); #------------------------------------------------------------------------------- $Table[] = $Div; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Comp = Comp_Load('Form/Input', array('type' => 'button', 'onclick' => "if(PasswordCheck(this.form,'Password')) UserRegister();", 'value' => 'Регистрация')); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Table[] = $Comp; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Comp = Comp_Load('Tables/Standard', $Table); if (Is_Error($Comp)) {
if ($Config['Other']['Modules']['Security']['IsNoReferer']) { return $Result; } #------------------------------------------------------------------------------- $CacheID = Md5(SPrintF('no-referer-%s-%s', $GLOBALS['__USER']['ID'], $_SERVER['REMOTE_ADDR'])); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!isset($_SERVER["HTTP_REFERER"])) { #------------------------------------------------------------------------------- $Count = IntVal(CacheManager::get($CacheID)); #------------------------------------------------------------------------------- if ($Count > 2) { #------------------------------------------------------------------------------- $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $NoBody->AddHTML(TemplateReplace('Notes.User.CheckReferer')); #------------------------------------------------------------------------------- $Result[] = $NoBody; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Count++; #------------------------------------------------------------------------------- CacheManager::add($CacheID, $Count, 600); #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Notes/User/CheckReferer]: HTTP_REFERER is not set for IP = %s, Count = %u', $_SERVER['REMOTE_ADDR'], $Count)); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- CacheManager::add($CacheID, 0, 600); #-------------------------------------------------------------------------------