function RuCenter_Check_Task($Settings, $TicketID) { /****************************************************************************/ $__args_types = array('array', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'KOI8-R', 'IsLogging' => $Settings['Params']['IsLogging']); #----------------------------------------------------------------------------- $Query = array(); #----------------------------------------------------------------------------- $RequestID = UniqID('ID'); #----------------------------------------------------------------------------- $Query[] = 'lang: ru'; $Query[] = SPrintF('login: %s', $Settings['Login']); $Query[] = SPrintF('password: %s', $Settings['Password']); $Query[] = 'request: order'; $Query[] = 'operation: get'; $Query[] = SPrintF('request-id: %s', $RequestID); #----------------------------------------------------------------------------- $Query[] = ''; #----------------------------------------------------------------------------- $Query[] = '[order]'; $Query[] = SPrintF('order_id: %s', $TicketID); #----------------------------------------------------------------------------- $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query))); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[RuCenter_Check_Task]: не удалось выполнить запрос к серверу'); } #----------------------------------------------------------------------------- if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) { return false; } #----------------------------------------------------------------------------- $Result = Trim($Result['Body']); #----------------------------------------------------------------------------- if (Preg_Match('/State:\\s([0-9]+)\\s/', $Result, $CodeID)) { #--------------------------------------------------------------------------- $CodeID = Next($CodeID); #--------------------------------------------------------------------------- switch ($CodeID) { case '200': #----------------------------------------------------------------------- if (Preg_Match_All('/state:(waiting|failed|running|completed|deleted)/', $Result, $Matches)) { #--------------------------------------------------------------------- $Matches = Next($Matches); #--------------------------------------------------------------------- switch (End($Matches)) { case 'waiting': return FALSE; case 'running': return FALSE; case 'completed': return array('DomainID' => 0); case 'failed': return new gException('OPERATION_FAILED', 'Произошла ошибка'); case 'deleted': return new gException('ORDER_DELETED', 'Заказ отозван клиентом (партнером)'); default: return new gException('WRONG_ERROR', 'Неизвестный статус заказа'); } } break; case '500': return FALSE; default: return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result)); } } #----------------------------------------------------------------------------- return new gException('WRONG_ANSWER', $Result); }
case 'array': #--------------------------------------------------------- if ($ServiceField['TypeID'] != 'Select') { continue; } #--------------------------------------------------------- $Options = Explode("\n", $ServiceField['Options']); #--------------------------------------------------------- if (Count($Options)) { #------------------------------------------------------- foreach ($Options as $Option) { #----------------------------------------------------- $Option = Explode("=", $Option); #----------------------------------------------------- if (Current($Option) == $Value) { $Cost += (double) End($Option); } } } break; default: return ERROR | @Trigger_Error(101); } } break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------- $CostPay = $Cost * $AmountPay; #-------------------------------------------------------------------
$PatchesIDs = IO_Scan($Folder); if (Is_Error($PatchesIDs)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (!Count($PatchesIDs)) { continue; } #------------------------------------------------------------------------------- Sort($PatchesIDs); #------------------------------------------------------------------------------- $File = SPrintF('%s/hosts/%s/.LastPatchFiles', SYSTEM_PATH, $HostID); #------------------------------------------------------------------------------- if (!File_Exists($File)) { #------------------------------------------------------------------------------- $LastPatchFiles = IntVal(End($PatchesIDs)); #------------------------------------------------------------------------------- $IsWrite = IO_Write($File, (string) $LastPatchFiles, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $LastPatchFiles = IO_Read($File); if (Is_Error($LastPatchFiles)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $LastPatchFiles = IntVal($LastPatchFiles); #-------------------------------------------------------------------------------
$VPSOrders = DB_Select(array('Orders', 'VPSOrders'), array('OrderID', 'COUNT(*) as `Count`', 'GET_QUARTER_FROM_TIMESTAMP(`OrderDate`) as `Quarter`', 'OrderDate', 'YEAR(FROM_UNIXTIME(`OrderDate`)) as Year'), array('Where' => '`VPSOrders`.`OrderID` = `Orders`.`ID` AND ' . $Where, 'GroupBy' => array('Quarter', 'Year'), 'SortOn' => 'OrderDate')); #----------------------------------------------------------------------------- switch (ValueOf($VPSOrders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #-------------------------------------------------------------------------- $Table = array(array(new Tag('TD', array('class' => 'Head'), 'Квартал'), new Tag('TD', array('class' => 'Head'), 'Кол-во'))); #------------------------------------------------------------------------- $Order = Current($VPSOrders); $sQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Order = End($VPSOrders); $eQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Quarters = array(); #------------------------------------------------------------------------- foreach ($VPSOrders as $Order) { $Quarters[$Order['Quarter'] + $Order['Year'] * 4] = $Order; } #------------------------------------------------------------------------- $Labels = $Line = array(); #------------------------------------------------------------------------- $CurrentYear = 0; #------------------------------------------------------------------------- for ($Quarter = $sQuarter; $Quarter <= $eQuarter; $Quarter++) { #----------------------------------------------------------------------- $Order = isset($Quarters[$Quarter]) ? $Quarters[$Quarter] : array('Quarter' => $Quarter - (int) ($Quarter / 4) * 4, 'Year' => (int) ($Quarter / 4), 'Count' => 0, 'OrderID' => '-');
$ExtraIPOrders = DB_Select(array('Orders', 'ExtraIPOrders'), array('OrderID', 'COUNT(*) as `Count`', 'GET_QUARTER_FROM_TIMESTAMP(`OrderDate`) as `Quarter`', 'OrderDate', 'YEAR(FROM_UNIXTIME(`OrderDate`)) as Year'), array('Where' => '`ExtraIPOrders`.`OrderID` = `Orders`.`ID` AND ' . $Where, 'GroupBy' => array('Quarter', 'Year'), 'SortOn' => 'OrderDate')); #----------------------------------------------------------------------------- switch (ValueOf($ExtraIPOrders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #-------------------------------------------------------------------------- $Table = array(array(new Tag('TD', array('class' => 'Head'), 'Квартал'), new Tag('TD', array('class' => 'Head'), 'Кол-во'))); #------------------------------------------------------------------------- $Order = Current($ExtraIPOrders); $sQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Order = End($ExtraIPOrders); $eQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Quarters = array(); #------------------------------------------------------------------------- foreach ($ExtraIPOrders as $Order) { $Quarters[$Order['Quarter'] + $Order['Year'] * 4] = $Order; } #------------------------------------------------------------------------- $Labels = $Line = array(); #------------------------------------------------------------------------- $CurrentYear = 0; #------------------------------------------------------------------------- for ($Quarter = $sQuarter; $Quarter <= $eQuarter; $Quarter++) { #----------------------------------------------------------------------- $Order = isset($Quarters[$Quarter]) ? $Quarters[$Quarter] : array('Quarter' => $Quarter - (int) ($Quarter / 4) * 4, 'Year' => (int) ($Quarter / 4), 'Count' => 0, 'OrderID' => '-');
function MasterName_Contract_Register($Settings, $PepsonID, $Person, $DomainZone) { /****************************************************************************/ $__args_types = array('array', 'string', 'array', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'CP1251', 'IsLogging' => $Settings['Params']['IsLogging']); #----------------------------------------------------------------------------- $Query = array(); #----------------------------------------------------------------------------- $Query[] = '[request]'; $Query[] = SPrintF('login: %s', $Settings['Login']); $Query[] = SPrintF('password: %s', $Settings['Password']); $Query[] = 'action: create_client'; #----------------------------------------------------------------------------- $RequestID = UniqID('ID'); #----------------------------------------------------------------------------- $Query[] = SPrintF('request-id: %s', $RequestID); #----------------------------------------------------------------------------- $Query[] = ''; #----------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #------------------------------------------------------------------------- $Query[] = '[client]'; #------------------------------------------------------------------------- $Query[] = 'client-type: ФИЗЛИЦО'; $Query[] = $Person['PasportCountry'] != 'RU' ? 'non-resident:' : 'resident:'; #------------------------------------------------------------------------- $Query[] = SPrintF('person-r: %s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']); $Query[] = SPrintF('person: %s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])); $Query[] = SPrintF('email: %s', $Person['Email']); #------------------------------------------------------------------------- $Phone = $Person['Phone']; #------------------------------------------------------------------------- $Query[] = SPrintF('phone: %s', $Phone); #------------------------------------------------------------------------- $Fax = $Person['Fax']; #------------------------------------------------------------------------- $Query[] = SPrintF('fax: %s', $Fax ? $Fax : $Phone); #------------------------------------------------------------------------- $BornDate = Explode('.', $Person['BornDate']); #------------------------------------------------------------------------- $Query[] = SPrintF('birth-date: %s-%s-%s', End($BornDate), Prev($BornDate), Prev($BornDate)); #------------------------------------------------------------------------- $PasportLine = Preg_Split('/^([0-9]{2})/', $Person['PasportLine'], -1, PREG_SPLIT_DELIM_CAPTURE); #------------------------------------------------------------------------- $Query[] = SPrintF('passport-series: %s %s', Next($PasportLine), Next($PasportLine)); $Query[] = SPrintF('passport-number: %s', $Person['PasportNum']); #------------------------------------------------------------------------- $PasportDate = Explode('.', $Person['PasportDate']); #------------------------------------------------------------------------- $Query[] = SPrintF('passport-date: %s-%s-%s', End($PasportDate), Prev($PasportDate), Prev($PasportDate)); $Query[] = SPrintF('passport-org: %s', $Person['PasportWhom']); #------------------------------------------------------------------------- $Query[] = SPrintF('post-country: %s', $Person['pCountry']); $Query[] = SPrintF('post-region: %s', $Person['pState']); $Query[] = SPrintF('post-zip-code: %s', $Person['pIndex']); $Query[] = SPrintF('post-city: %s', $Person['pCity']); $Query[] = SPrintF('post-street: %s %s, %s', $Person['pType'], $Person['pAddress'], $Person['pRecipient']); #------------------------------------------------------------------------- $Query[] = SPrintF('reg-country: %s', $Person['pCountry']); $Query[] = SPrintF('reg-region: %s', $Person['pState']); $Query[] = SPrintF('reg-city: %s', $Person['pCity']); $Query[] = SPrintF('reg-street: %s %s', $Person['pType'], $Person['pAddress']); break; case 'Juridical': #------------------------------------------------------------------------- $Query[] = '[client]'; #------------------------------------------------------------------------- $Query[] = 'client-type: ЮРЛИЦО'; $Query[] = 'resident:'; #------------------------------------------------------------------------- $Query[] = SPrintF('ownership: %s', $Person['CompanyFormFull']); $Query[] = SPrintF('org-r: %s', $Person['CompanyName']); #------------------------------------------------------------------------- $Query[] = SPrintF('org: %s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); $Query[] = SPrintF('email: %s', $Person['Email']); #------------------------------------------------------------------------- $Phone = $Person['Phone']; #------------------------------------------------------------------------- $Query[] = SPrintF('phone: %s', $Phone); #------------------------------------------------------------------------- $Fax = $Person['Fax']; #------------------------------------------------------------------------- $Query[] = SPrintF('fax: %s', $Fax ? $Fax : $Phone); $Query[] = SPrintF('contact: %s %s %s', $Person['dSourname'], $Person['dName'], $Person['dLastname']); $Query[] = SPrintF('inn: %s', $Person['Inn']); $Query[] = SPrintF('kpp: %s', $Person['Kpp']); #------------------------------------------------------------------------- $Query[] = SPrintF('post-country: %s', $Person['pCountry']); $Query[] = SPrintF('post-zip-code: %s', $Person['pIndex']); $Query[] = SPrintF('post-region: %s', $Person['pState']); $Query[] = SPrintF('post-city: %s', $Person['pCity']); $Query[] = SPrintF('post-street: %s %s, %s "%s"', $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']); #------------------------------------------------------------------------- $Query[] = SPrintF('jur-country: %s', $Person['jCountry']); $Query[] = SPrintF('jur-zip-code: %s', $Person['jIndex']); $Query[] = SPrintF('jur-region: %s', $Person['jState']); $Query[] = SPrintF('jur-city: %s', $Person['jCity']); $Query[] = SPrintF('jur-street: %s %s', $Person['jType'], $Person['jAddress']); #------------------------------------------------------------------------- $Query[] = SPrintF('real-country: %s', $Person['jCountry']); $Query[] = SPrintF('real-zip-code: %s', $Person['jIndex']); $Query[] = SPrintF('real-region: %s', $Person['jState']); $Query[] = SPrintF('real-city: %s', $Person['jCity']); $Query[] = SPrintF('real-street: %s %s', $Person['pType'], $Person['jAddress']); break; default: return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля'); } #----------------------------------------------------------------------------- $Query = array('request' => Implode("\n", $Query)); #----------------------------------------------------------------------------- $Result = HTTP_Send('/partner_gateway', $HTTP, array(), $Query); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[MasterName_Contract_Register]:не удалось выполнить запрос к серверу'); } #----------------------------------------------------------------------------- $Result = Trim($Result['Body']); #----------------------------------------------------------------------------- if (Preg_Match('/status:\\s([0-9]+)\\s/', $Result, $CodeID)) { #--------------------------------------------------------------------------- $CodeID = Next($CodeID); #--------------------------------------------------------------------------- switch ($CodeID) { case '200': # No more... # No more... case '201': # No more... # No more... case '202': return array('TicketID' => $RequestID); case '203': return new gException('REQUEST_FAILED', 'Обработка запроса завершилась с ошибкой'); case '400': return new gException('BAD_REQUEST', 'Неверный формат запроса'); case '401': return new gException('AUTH_ERROR', 'Ошибка авторизации'); case '402': return new gException('DATA_ERROR', 'Ошибка в данных запроса'); case '403': return new gException('FORBIDDEN', 'Доступ к запрашиваемому объекту запрещен'); case '404': return new gException('NOT_FOUND', 'Запрашиваемый объект не найден'); case '405': return new gException('INVALID_REQUEST', 'Невозможно выполнить запрос'); case '500': return new gException('SERVER_ERROR', 'Внутренняя ошибка сервера'); default: return new gException('WRONG_ERROR', 'Неизвестный статус ошибки'); } } #----------------------------------------------------------------------------- return new gException('WRONG_ANSWER', $Result); }
$ISPswOrders = DB_Select(array('Orders', 'ISPswOrders'), array('OrderID', 'COUNT(*) as `Count`', 'GET_QUARTER_FROM_TIMESTAMP(`OrderDate`) as `Quarter`', 'OrderDate', 'YEAR(FROM_UNIXTIME(`OrderDate`)) as Year'), array('Where' => '`ISPswOrders`.`OrderID` = `Orders`.`ID` AND ' . $Where, 'GroupBy' => array('Quarter', 'Year'), 'SortOn' => 'OrderDate')); #----------------------------------------------------------------------------- switch (ValueOf($ISPswOrders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #-------------------------------------------------------------------------- $Table = array(array(new Tag('TD', array('class' => 'Head'), 'Квартал'), new Tag('TD', array('class' => 'Head'), 'Кол-во'))); #------------------------------------------------------------------------- $Order = Current($ISPswOrders); $sQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Order = End($ISPswOrders); $eQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Quarters = array(); #------------------------------------------------------------------------- foreach ($ISPswOrders as $Order) { $Quarters[$Order['Quarter'] + $Order['Year'] * 4] = $Order; } #------------------------------------------------------------------------- $Labels = $Line = array(); #------------------------------------------------------------------------- $CurrentYear = 0; #------------------------------------------------------------------------- for ($Quarter = $sQuarter; $Quarter <= $eQuarter; $Quarter++) { #----------------------------------------------------------------------- $Order = isset($Quarters[$Quarter]) ? $Quarters[$Quarter] : array('Quarter' => $Quarter - (int) ($Quarter / 4) * 4, 'Year' => (int) ($Quarter / 4), 'Count' => 0, 'OrderID' => '-');
$HostingOrders = DB_Select(array('Orders', 'HostingOrders'), array('OrderID', 'COUNT(*) as `Count`', 'GET_QUARTER_FROM_TIMESTAMP(`OrderDate`) as `Quarter`', 'OrderDate', 'YEAR(FROM_UNIXTIME(`OrderDate`)) as Year'), array('Where' => '`HostingOrders`.`OrderID` = `Orders`.`ID` AND ' . $Where, 'GroupBy' => array('Quarter', 'Year'), 'SortOn' => 'OrderDate')); #----------------------------------------------------------------------------- switch (ValueOf($HostingOrders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #-------------------------------------------------------------------------- $Table = array(array(new Tag('TD', array('class' => 'Head'), 'Квартал'), new Tag('TD', array('class' => 'Head'), 'Кол-во'))); #------------------------------------------------------------------------- $Order = Current($HostingOrders); $sQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Order = End($HostingOrders); $eQuarter = $Order['Quarter'] + $Order['Year'] * 4; #------------------------------------------------------------------------- $Quarters = array(); #------------------------------------------------------------------------- foreach ($HostingOrders as $Order) { $Quarters[$Order['Quarter'] + $Order['Year'] * 4] = $Order; } #------------------------------------------------------------------------- $Labels = $Line = array(); #------------------------------------------------------------------------- $CurrentYear = 0; #------------------------------------------------------------------------- for ($Quarter = $sQuarter; $Quarter <= $eQuarter; $Quarter++) { #----------------------------------------------------------------------- $Order = isset($Quarters[$Quarter]) ? $Quarters[$Quarter] : array('Quarter' => $Quarter - (int) ($Quarter / 4) * 4, 'Year' => (int) ($Quarter / 4), 'Count' => 0, 'OrderID' => '-');