function Comp_Load($Element) { /****************************************************************************/ $__args_types = array('string', '*'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $HostsIDs = System_HostsIDs(SPrintF('comp/%s.comp.php', $Element)); if (Is_Error($HostsIDs)) { return ERROR | @Trigger_Error('[Comp_Load]: не возможно найти компонент'); } #----------------------------------------------------------------------------- $IsCascade = In_Array(COMP_ALL_HOSTS, $__args__, TRUE); #----------------------------------------------------------------------------- if ($IsCascade) { $HostsIDs = Array_Reverse($HostsIDs); } #----------------------------------------------------------------------------- $Result = array(); #----------------------------------------------------------------------------- foreach ($HostsIDs as $HostID) { #--------------------------------------------------------------------------- $Path = SPrintF('%s/hosts/%s/comp/%s.comp.php', SYSTEM_PATH, $HostID, $Element); #--------------------------------------------------------------------------- if (Is_Dir($Path)) { return ERROR | @Trigger_Error('[Comp_Load]: объект не является компонентом'); } #--------------------------------------------------------------------------- $Args = $__args__; #--------------------------------------------------------------------------- Array_UnShift($Args, $Path); #--------------------------------------------------------------------------- $Comp = Call_User_Func_Array('LoadComp', $Args); if (Is_Error($Comp)) { return ERROR | @Trigger_Error('[Comp_Load]: не возможно загрузить компонент'); } #--------------------------------------------------------------------------- if ($IsCascade) { $Result[] = $Comp; } else { #------------------------------------------------------------------------- $Result = $Comp; #------------------------------------------------------------------------- break; } } #----------------------------------------------------------------------------- $Loaded =& Link_Get('Comp/Loaded', 'array'); #----------------------------------------------------------------------------- $Loaded[] = $Element; #----------------------------------------------------------------------------- return $Result; }
static function generate($depth = False) { # Get current Filter string $filter = RawUrlDecode(Get_Query_Var('filter')); if (!empty($filter)) { $str_filter = $filter; } elseif (Is_Singular()) { $str_filter = StrToLower(Get_The_Title()); } else { $str_filter = ''; } # Explode Filter string $arr_current_filter = empty($str_filter) ? array() : PReg_Split('/(?<!^)(?!$)/u', $str_filter); Array_UnShift($arr_current_filter, ''); $arr_filter = array(); # This will be the function result $filter_part = ''; # Check if we are inside a taxonomy archive $taxonomy_term = Is_Tax() ? Get_Queried_Object() : Null; foreach ($arr_current_filter as $filter_letter) { $filter_part .= $filter_letter; $arr_available_filters = self::getFilters($filter_part, $taxonomy_term); if (Count($arr_available_filters) <= 1) { break; } $active_filter_part = MB_SubStr(Implode($arr_current_filter), 0, MB_StrLen($filter_part) + 1); $arr_filter_line = array(); foreach ($arr_available_filters as $available_filter) { $arr_filter_line[$available_filter] = (object) array('filter' => MB_StrToUpper(MB_SubStr($available_filter, 0, 1)) . MB_SubStr($available_filter, 1), 'link' => Post_Type::getArchiveLink($available_filter, $taxonomy_term), 'active' => $active_filter_part == $available_filter, 'disabled' => False); } $arr_filter[] = $arr_filter_line; # Check filter depth limit if ($depth && Count($arr_filter) >= $depth) { break; } } # Run a filter $arr_filter = Apply_Filters('glossary_prefix_filter_links', $arr_filter, $depth); return $arr_filter; }
public function GetUsers() { /******************************************************************************/ $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /******************************************************************************/ Array_UnShift($__args__, $this->Settings); #------------------------------------------------------------------------------- $Function = SPrintF('%s_Get_Users', $this->SystemID); #------------------------------------------------------------------------------- if (!Function_Exists($Function)) { return new gException('FUNCTION_NOT_SUPPORTED', SPrintF('Функция (%s) не поддерживается API модулем', $Function)); } #------------------------------------------------------------------------------- $Result = Call_User_Func_Array($Function, $__args__); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[ISPswServer->GetUsers]: не удалось вызвать целевую функцию'); } #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- }
/** * Creates tables. * * @author vvelikodny */ $__args_list = array('TemplateID', 'Addition'); eval(COMP_INIT); $Chain = array(); $PatternID = $TemplateID; do { $Pattern = System_XML(SPrintF('tables/%s.xml', $PatternID)); if (Is_Error($Pattern)) { return ERROR | @Trigger_Error(500); } Array_UnShift($Chain, $Pattern); $PatternID = isset($Pattern['RootID']) ? $Pattern['RootID'] : FALSE; } while ($PatternID); if (!Is_Null($Addition)) { $Chain[] = $Addition; } $Template = System_XML('tables/Common.xml'); if (Is_Error($Template)) { return ERROR | @Trigger_Error(500); } foreach ($Chain as $Pattern) { if (isset($Pattern['Cut'])) { Array_Cut($Template, $Pattern['Cut']); } Array_Union($Template, $Pattern); }
/** * Производит нормализацию объекта * * Удаляет всю служебную информацию, подргужает компоненты в документ, * подготавливает объект к выводу. */ public function Normalize(&$Object = NULL) { /****************************************************************************/ $__args_types = array('object,NULL'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ if (Is_Null($Object)) { $Object =& $this->Object; } #----------------------------------------------------------------------------- $Childs =& $Object->Childs; #----------------------------------------------------------------------------- if (Count($Childs) > 0) { #--------------------------------------------------------------------------- $i = 0; #--------------------------------------------------------------------------- while ($i < Count($ChildsIDs = Array_Keys($Childs))) { #------------------------------------------------------------------------- $Child =& $Childs[$ChildID = $ChildsIDs[$i]]; #------------------------------------------------------------------------- $Name = $Child->Name; #------------------------------------------------------------------------- switch ($Name) { case 'NOBODY': #--------------------------------------------------------------------- $Object->AddAttribs($Child->Attribs); #--------------------------------------------------------------------- $Object->AddText($Child->Text); #--------------------------------------------------------------------- Array_Splice($Childs, $ChildID, 1, $Child->Childs); continue 2; case 'COMP': #--------------------------------------------------------------------- $Attribs =& $Child->Attribs; #--------------------------------------------------------------------- $IsHasChilds = Count($Object->Childs) > 0; #--------------------------------------------------------------------- $FunctionID = $IsHasChilds ? 'AddChild' : 'AddText'; #--------------------------------------------------------------------- $CompPath = (string) @$Attribs['path']; #--------------------------------------------------------------------- if (Is_Error(System_Element(SPrintF('comp/%s.comp.php', $CompPath)))) { #------------------------------------------------------------------- $String = SPrintF('Компонент не найден (%s)', $CompPath); #------------------------------------------------------------------- $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String); } else { #------------------------------------------------------------------- $Args = isset($Attribs['args']) ? Explode('|', $Attribs['args']) : array(); #------------------------------------------------------------------- Array_UnShift($Args, $CompPath); #------------------------------------------------------------------- $Comp = Call_User_Func_Array('Comp_Load', $Args); #------------------------------------------------------------------- switch ($Type = ValueOf($Comp)) { case 'error': #--------------------------------------------------------------- $String = SPrintF('Ошибка загрузки компонента (%s)', $CompPath); #--------------------------------------------------------------- if (isset($Attribs['debug'])) { $Object->AddChild(new Tag('PRE', Implode("\n", $GLOBALS['__SYSLOG']))); } else { $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String); } break 2; case 'exception': #--------------------------------------------------------------- $String = $Comp->String; #--------------------------------------------------------------- $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String); break 2; case 'object': $Child = $Comp; break 2; case 'string': #--------------------------------------------------------------- $Object->AddText($Comp); #--------------------------------------------------------------- Array_Splice($Childs, $ChildID, 1, $Child->Childs); continue 3; case 'false': # No more... # No more... case 'true': # No more... break 2; default: #--------------------------------------------------------------- $String = SPrintF('Компонент вернул результат неверного типа (%s)', $Type); #--------------------------------------------------------------- $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String); } } default: # No more... } #------------------------------------------------------------------------- $i++; #------------------------------------------------------------------------- $this->Normalize($Child); } } }
#--------------------------------------------------------------------------- $Column = $Columns[$ColumnID]; #--------------------------------------------------------------------------- if (isset($Column['Hidden'])) { continue; } #--------------------------------------------------------------------------- $Td = new Tag('TD'); #--------------------------------------------------------------------------- $Value = isset($Row[$ColumnID]) ? $Row[$ColumnID] : ''; #--------------------------------------------------------------------------- if (StrLen($Comp = $Column['Comp'])) { #------------------------------------------------------------------------- $Args = Table_Super_Replace($Column['Args'], $Replace); #------------------------------------------------------------------------- Array_UnShift($Args, $Comp); #------------------------------------------------------------------------- $Value = Call_User_Func_Array('Comp_Load', $Args); if (Is_Error($Value)) { return ERROR | @Trigger_Error('[comp/Tables/Super]: не удалось отформатировать значение'); } } #--------------------------------------------------------------------------- switch (ValueOf($Value)) { case 'object': $Td->AddChild($Value); break; default: $Td->AddText($Value); } #---------------------------------------------------------------------------
return ERROR | @Trigger_Error(500); } $Table[] = array('Плата за установку', $Comp); $CostPay += $VPSScheme['CostInstall']; } } #----------------------------------------------------------------- if (Count($Bonuses)) { #--------------------------------------------------------------- $Tr = new Tag('TR'); #--------------------------------------------------------------- foreach (array('Дней', 'Скидка') as $Text) { $Tr->AddChild(new Tag('TD', array('class' => 'Head'), $Text)); } #--------------------------------------------------------------- Array_UnShift($Bonuses, $Tr); #--------------------------------------------------------------- $Comp = Comp_Load('Tables/Extended', $Bonuses, 'Бонусы'); if (Is_Error($Comp)) { 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);
#------------------------------------------------------------------------- $UserID = $User['ID']; #------------------------------------------------------------------------- if (!In_Array($UserID, $UsersIDs)) { #----------------------------------------------------------------------- $IsPermission = Permission_Check('UserSwitch', (int) $__USER['ID'], (int) $UserID); #----------------------------------------------------------------------- switch (ValueOf($IsPermission)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'false': return new gException('USER_MANAGMENT_DISABLED', 'Управление пользователем запрещено'); case 'true': Array_UnShift($UsersIDs, $UserID); break; default: return ERROR | @Trigger_Error(101); } } else { #----------------------------------------------------------------------- $Temp = $UsersIDs[$Index = Array_Search($UserID, $UsersIDs)]; #----------------------------------------------------------------------- $UsersIDs[$Index] = Current($UsersIDs); $UsersIDs[0] = $Temp; } break; default: return ERROR | @Trigger_Error(101); }
function Styles_Menu($Path) { /****************************************************************************/ $__args_types = array('string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Result = $Chain = array(); #----------------------------------------------------------------------------- do { #--------------------------------------------------------------------------- $Menu = Styles_XML(SPrintF('Menus/%s.xml', $Path)); if (Is_Error($Menu)) { return ERROR | @Trigger_Error('[Styles_Menu]: не удалось загрузить файл меню'); } #--------------------------------------------------------------------------- Array_UnShift($Chain, $Menu); #--------------------------------------------------------------------------- $Path = isset($Menu['RootID']) ? $Menu['RootID'] : FALSE; #--------------------------------------------------------------------------- } while ($Path); #----------------------------------------------------------------------------- foreach ($Chain as $Menu) { Array_Union($Result, $Menu); } #----------------------------------------------------------------------------- $Items =& $Result['Items']; #----------------------------------------------------------------------------- if (isset($Result['Comp'])) { #--------------------------------------------------------------------------- $Comp = Comp_Load($Result['Comp']); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- if (Is_Array($Comp)) { Array_Union($Items, $Comp); } } #----------------------------------------------------------------------------- foreach (Array_Keys($Items) as $ItemID) { #--------------------------------------------------------------------------- $Item =& $Items[$ItemID]; #--------------------------------------------------------------------------- if (!Is_Array($Item)) { continue; } #--------------------------------------------------------------------------- if (isset($Item['UnActive'])) { unset($Items[$ItemID]); } #--------------------------------------------------------------------------- $IsActive = FALSE; #--------------------------------------------------------------------------- foreach ($Item['Paths'] as $Path) { #------------------------------------------------------------------------- $IsActive = Preg_Match(SPrintF('/%s/', $Path), $GLOBALS['__URI']) || Preg_Match(SPrintF('/%s/', $Path), $_SERVER['REQUEST_URI']); #------------------------------------------------------------------------- if ($IsActive) { break; } } #--------------------------------------------------------------------------- $Item['IsActive'] = $IsActive; } #----------------------------------------------------------------------------- KSort($Items); #----------------------------------------------------------------------------- return $Result; }
continue; } #------------------------------------------------------------------------- $pCity = $Attribs['pCity']; #------------------------------------------------------------------------- if (!$pCity) { continue; } #------------------------------------------------------------------------- $FilterID = Md5($pCity); #------------------------------------------------------------------------- if (!isset($Filters[$FilterID])) { $Filters[$FilterID] = array('Name' => $pCity, 'UsersIDs' => array()); } #------------------------------------------------------------------------- $Filters[$FilterID]['UsersIDs'][] = $Profile['UserID']; } #--------------------------------------------------------------------------- foreach ($Filters as $FilterID => $Filter) { $Filters[$FilterID]['UsersIDs'] = Array_Unique($Filters[$FilterID]['UsersIDs']); } #--------------------------------------------------------------------------- Array_UnShift($Filters, 'Города'); #--------------------------------------------------------------------------- return $Filters; default: return ERROR | @Trigger_Error(101); } } return FALSE; #-------------------------------------------------------------------------------
} #------------------------------------------------------------------------------- $Row = Current($Rows); #------------------------------------------------------------------------------- if (!$Row['IsLocked']) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $UTask = array(); #------------------------------------------------------------------------------- $Params = (array) $Task['Params']; #------------------------------------------------------------------------------- Array_UnShift($Params, $Task); #------------------------------------------------------------------------------- Array_UnShift($Params, $Path = SPrintF('Tasks/%s', $Task['TypeID'])); #------------------------------------------------------------------------------- if (Is_Error(System_Element(SPrintF('comp/%s.comp.php', $Path)))) { #------------------------------------------------------------------------------- $FreeLock = DB_Query(SPrintF("SELECT RELEASE_LOCK('Tasks%s')", $TaskID)); if (Is_Error($FreeLock)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return new gException('TASK_HANDLER_NOT_APPOINTED', 'Заданию не назначен обработчик'); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #--------------------------------TRANSACTION------------------------------------ if (Is_Error(DB_Transaction($TransactionID = UniqID('TaskExecute')))) { return ERROR | @Trigger_Error(500);
function Wizard_ToString($Amount, $Base = 'RUR') { /****************************************************************************/ $__args_types = array('double', 'string', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Base = System_XML(SPrintF('config/%s.xml', $Base)); if (Is_Error($Base)) { return ERROR | @Trigger_Error('[Wizard_ToString]: не удалось загрузить шаблоны'); } #----------------------------------------------------------------------------- $Discharges = $Base['Discharges']; #----------------------------------------------------------------------------- $Result = array(); #----------------------------------------------------------------------------- $j = 0; #----------------------------------------------------------------------------- $Integer = (int) $Amount; #----------------------------------------------------------------------------- while ($Integer > 0) { #--------------------------------------------------------------------------- $Section = array(); #--------------------------------------------------------------------------- $Discharge = $Discharges[SPrintF('ID%u', $j++)]; #--------------------------------------------------------------------------- $Integer = $Integer / $Base['Separate']; #--------------------------------------------------------------------------- $String = SPrintF(SPrintF('%%0%uu', StrLen($Base['Separate']) - 1), (string) Round(($Integer - (int) $Integer) * 1000)); #--------------------------------------------------------------------------- $Char0 = $String[0]; $Char1 = $String[1]; $Char2 = $String[2]; #--------------------------------------------------------------------------- $Digit = $Char0; #--------------------------------------------------------------------------- if ($Digit) { $Section[] = $Discharge[SPrintF('ID%u', $Digit)]['ID2']; } #--------------------------------------------------------------------------- $Digit = SPrintF('%s%s', $Char1, $Char2); #--------------------------------------------------------------------------- $IsSimple = $Digit < 20 && $Digit > 10; #--------------------------------------------------------------------------- $Digit = $Char1; #--------------------------------------------------------------------------- if ($Digit) { $Section[] = $Discharge[$IsSimple ? SPrintF('ID%u', $Char2) : SPrintF('ID%u', $Digit)][$IsSimple ? 'ID3' : 'ID1']; } #--------------------------------------------------------------------------- if (!$IsSimple) { #------------------------------------------------------------------------- $Digit = $Char2; #------------------------------------------------------------------------- if ($Digit) { $Section[] = $Discharge[SPrintF('ID%s', $Digit)]['ID0']; } } #--------------------------------------------------------------------------- $Section[] = $Discharge[SPrintF('ID%u', $String[2])][SPrintF('ID%u', 9 - ($IsSimple ? -1 : 2))]; #--------------------------------------------------------------------------- Array_UnShift($Result, Implode(' ', $Section)); #--------------------------------------------------------------------------- $Integer = (int) $Integer; } #----------------------------------------------------------------------------- return SPrintF('%s %02u %s', Implode(' ', $Result), Round(($Amount - (int) $Amount) * 100), $Base['Residue']); }
#------------------------------------------------------------------------------- $Lines = Max(10, $Lines); #------------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Logs = SPrintF('%s/logs', $Tmp); #------------------------------------------------------------------------------- $Command = SPrintF('tail -n %u %s/%s', $Lines, $Logs, $Log); #------------------------------------------------------------------------------- if ($Search) { $Command .= SPrintF(' | grep %s', EscapeShellArg($Search)); } #------------------------------------------------------------------------------- $Command .= ' 2>&1'; #------------------------------------------------------------------------------- Exec($Command, $Result); #------------------------------------------------------------------------------- Array_UnShift($Result, SPrintF("%s\n", $Command)); #------------------------------------------------------------------------------- if ($IsWrap) { #----------------------------------------------------------------------------- for ($i = 0; $i < Count($Result); $i++) { $Result[$i] = WordWrap($Result[$i], 100, "\n", TRUE); } } #------------------------------------------------------------------------------- return Implode("\n", $Result); #-------------------------------------------------------------------------------
# Ищем обработчик и если он есть вызываем его if (!Is_Error(System_Element(SPrintF('comp/Tasks/GC/%s.comp.php', $NowTask)))) { #--------------------------------------------------------------------------- Debug(SPrintF("[Tasks/GC]: Выполняем %s", $NowTask)); $GLOBALS['TaskReturnInfo'] = $NowTask; #--------------------------------------------------------------------------- $__SYSLOG =& $GLOBALS['__SYSLOG']; #--------------------------------------------------------------------------- $Index = Count($__SYSLOG); #--------------------------------------------------------------------------- # $Params = (array)$TaskParams; # Array_UnShift($Params,$TaskParams); # Array_UnShift($Params,$Path = SPrintF('Tasks/GC/%s',$NowTask)); $Params = $Settings; Array_UnShift($Params, $Settings); Array_UnShift($Params, $Path = SPrintF('Tasks/GC/%s', $NowTask)); #--------------------------------------------------------------------------- $Result = Call_User_Func_Array('Comp_Load', $Params); #--------------------------------------------------------------------------- $Log = Implode("\n", Array_Slice($__SYSLOG, $Index)); #--------------------------------------------------------------------------- switch (ValueOf($Result)) { case 'error': $TaskResult = array('Task' => $NowTask, 'State' => 'ERROR', 'Text' => 'Задача вернула ошибку.'); break; case 'true': $TaskResult = array('Task' => $NowTask, 'State' => 'DONE', 'Text' => 'Задача выполнена.'); break; case 'integer': $TaskResult = array('Task' => $NowTask, 'State' => 'DONE', 'Text' => 'Задача будет продолжена.'); $TaskCount = $Result;
#------------------------------------------------------------------------------- $Path = Tree_Path('Groups', (int) $User['GroupID'], 'ID'); #------------------------------------------------------------------------------- switch (ValueOf($Path)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- Array_UnShift($Path, $User['ID']); #------------------------------------------------------------------------------- $Result = array(); #------------------------------------------------------------------------------- for ($i = Count($Path) - 1; $i >= 0; $i--) { #------------------------------------------------------------------------------- $GroupID = $Path[$i]; #------------------------------------------------------------------------------- $Where = $Condition; #------------------------------------------------------------------------------- $Where[] = $i ? SPrintF('`GroupID` = %u', $GroupID) : SPrintF('`UserID` = %u', $GroupID); #------------------------------------------------------------------------------- $Schemes = DB_Select($TableID, '*', array('Where' => $Where)); #------------------------------------------------------------------------------- switch (ValueOf($Schemes)) { case 'error':
return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $CostPay = Round($CostPay, 2); #------------------------------------------------------------------------------- $Table[] = array('Количество лет', $YearsPay); #------------------------------------------------------------------------------- if (Count($DomainBonuses)) { #------------------------------------------------------------------------------- $Tr = new Tag('TR'); #------------------------------------------------------------------------------- foreach (array('Лет', 'Скидка') as $Text) { $Tr->AddChild(new Tag('TD', array('class' => 'Head'), $Text)); } #------------------------------------------------------------------------------- Array_UnShift($DomainBonuses, $Tr); #------------------------------------------------------------------------------- $Comp = Comp_Load('Tables/Extended', $DomainBonuses, 'Бонусы', array('style' => '100%')); if (Is_Error($Comp)) { 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); } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (!File_Exists($Folder)) { #------------------------------------------------------------------------------- if (!@MkDir($Folder, 0755, TRUE)) { Error(SPrintF('Не возможно создать директорию (%s)', $Folder)); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (!Count($__ERRORS)) { #------------------------------------------------------------------------------- $File = SPrintF('%s/hosts/%s/host.ini', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- if (!File_Exists($File)) { #------------------------------------------------------------------------------- Array_UnShift($HostsIDs, HOST_ID); #------------------------------------------------------------------------------- if (!File_Put_Contents($File, SPrintF("HostsIDs=%s\nmemcached.port=11211", Implode(',', $HostsIDs)))) { Error(SPrintF('Ошибка записи файла (%s)', $File)); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Link = SPrintF('%s/hosts/%s/tmp/public', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- if (!File_Exists($Link)) { #------------------------------------------------------------------------------- if (!@MkDir($Link, 0755, TRUE)) { Error(SPrintF('Не возможно создать директорию (%s)', $Link)); } #-------------------------------------------------------------------------------
} #------------------------------------------------------------------------------- if (!$IsLoad) { #------------------------------------------------------------------------------- $Session->Data['UsersIDs'] = array(); #------------------------------------------------------------------------------- if (!SetCookie('SessionID', $SessionID, Time() + 2678400, '/')) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (!SetCookie('Email', $Email, Time() + 2678400, '/')) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $IsUpdated = DB_Update('Users', array('EnterDate' => Time(), 'EnterIP' => $_SERVER['REMOTE_ADDR']), array('ID' => $UserID)); if (Is_Error($IsUpdated)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- Array_UnShift($Session->Data['UsersIDs'], $UserID); #------------------------------------------------------------------------------- if (Is_Error($Session->Save())) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok', 'SessionID' => $SessionID, 'Home' => $Eval ? SPrintF('/Home?Eval=%s', $Eval) : '/Home', 'ContractID' => $ContractID, 'UserID' => $UserID); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------