#------------------------------------------------------------------------------- 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); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $__SYSLOG =& $GLOBALS['__SYSLOG']; #------------------------------------------------------------------------------- $Index = Count($__SYSLOG); #------------------------------------------------------------------------------- $Result = Call_User_Func_Array('Comp_Load', $Params); #------------------------------------------------------------------------------- $Log = Implode("\n", Array_Slice($__SYSLOG, $Index)); #------------------------------------------------------------------------------- #Debug(SPrintF('[comp/www/Administrator/API/TaskExecute]: Result = %s',print_r($Result,true))); switch (ValueOf($Result)) { case 'error':
#------------------------------------------------------------------------- $Group = DB_Select('Groups', 'ID', array('UNIQ', 'Where' => "`IsDefault` = 'yes'")); #------------------------------------------------------------------------- switch (ValueOf($Group)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': $IUser['GroupID'] = $Group['ID']; break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('Import')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $UserID = DB_Insert('Users', $IUser); if (Is_Error($UserID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $Contracts = $User['Contracts']; #------------------------------------------------------------------------- $Contracts = Is_Array($Contracts) ? $Contracts : array(); #------------------------------------------------------------------------- foreach ($Contracts as $Contract) { #----------------------------------------------------------------------- $TypeID = $Contract['TypeID'];
/******************************************************************************/ /******************************************************************************/ $Where = SPrintF("`StatusID` = 'Waiting' AND `StatusDate` < UNIX_TIMESTAMP( ) - %d *86400", $Params['Invoices']['DaysBeforeDeleted']); #------------------------------------------------------------------------------- $Invoices = DB_Select('InvoicesOwners', array('ID', 'UserID'), array('SortOn' => 'CreateDate', 'IsDesc' => TRUE, 'Where' => $Where)); switch (ValueOf($Invoices)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return TRUE; case 'array': #--------------------------------------------------------------------------- foreach ($Invoices as $Invoice) { Debug(SPrintF("[Tasks/GC/SetDeletedWaitingInvoice]: Отмена счёта #%d.", $Invoice['ID'])); #----------------------------------TRANSACTION---------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('comp/Tasks/GC/SetDeletedWaitingInvoice')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'Invoices', 'StatusID' => 'Rejected', 'RowsIDs' => $Invoice['ID'], 'Comment' => SPrintF('Автоматическая отмена счёта, неоплачен более %d дней', $Params['Invoices']['DaysBeforeDeleted']))); #------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'array': $Event = array('UserID' => $Invoice['UserID'], 'PriorityID' => 'Billing', 'Text' => SPrintF('Автоматическая отмена счёта #%d, неоплачен более %d дней', $Invoice['ID'], $Params['Invoices']['DaysBeforeDeleted'])); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); } break; default: return ERROR | @Trigger_Error(500);
return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- foreach ($DomainOrders as $DomainOrder) { #------------------------------------------------------------------------------- if (!($DomainOrder['StatusID'] == 'ForTransfer' || $DomainOrder['StatusID'] == 'OnTransfer' && In_Array($DomainOrder['Name'], array('ru', 'su', 'рф')))) { #------------------------------------------------------------------------------- Debug(SPrintF("[Tasks/GC/DeleteDomainForTransfer]: Домен не попал в условие: '%s.%s', статус: '%s'", $DomainOrder['DomainName'], $DomainOrder['Name'], $DomainOrder['StatusID'])); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- Debug(SPrintF("[Tasks/GC/DeleteDomainForTransfer]: Удаление домена '%s.%s', статус '%s'", $DomainOrder['DomainName'], $DomainOrder['Name'], $DomainOrder['StatusID'])); #----------------------------------TRANSACTION---------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('comp/Tasks/GC/DeleteDomainForTransfer')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'DomainOrders', 'StatusID' => 'Deleted', 'RowsIDs' => $DomainOrder['ID'], 'Comment' => SPrintF('Заказ домена не был перенесён к регистратору %s, более 180 дней', $DomainOrder['Params']['Name']))); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'array': #------------------------------------------------------------------------------- $Event = array('UserID' => $DomainOrder['UserID'], 'PriorityID' => 'Hosting', 'Text' => SPrintF('Автоматическое удаление домена (%s.%s), находится в статусе "%s" более 180 дней', $DomainOrder['DomainName'], $DomainOrder['Name'], $DomainOrder['StatusID'])); $Event = Comp_Load('Events/EventInsert', $Event); #------------------------------------------------------------------------------- if (!$Event) { return ERROR | @Trigger_Error(500); } #-------------------------------------------------------------------------------
$Theme = (string) @$Args['Theme']; $Message = (string) @$Args['Message']; #------------------------------------------------------------------------------- if (Is_Error(System_Load('modules/Authorisation.mod', 'libs/Upload.php'))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (!$Theme) { return new gException('THEME_IS_EMPTY', 'Введите тему обсуждения'); } #------------------------------------------------------------------------------- if (!$Message) { return new gException('MESSAGE_IS_EMPTY', 'Введите сообщение'); } #------------------------------------------------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('EdeskEdit')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $IEdesk = array('UserID' => $__USER['ID'], 'TargetGroupID' => 1, 'TargetUserID' => 1, 'PriorityID' => 'Low', 'Theme' => $Theme, 'UpdateDate' => Time()); #------------------------------------------------------------------------------- $EdeskID = DB_Insert('Edesks', $IEdesk); if (Is_Error($EdeskID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'Edesks', 'StatusID' => 'Opened', 'RowsIDs' => $EdeskID)); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) {
<?php #------------------------------------------------------------------------------- /** @author Alex Keda, for www.host-food.ru */ /******************************************************************************/ /******************************************************************************/ #------------------------------------------------------------------------------- #---------------------------TRANSACTION----------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('Dedicated')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $CPUtype = array('Opteron' => 'AMD Opteron', 'Athlon' => 'AMD Athlon', 'Phenom' => 'AMD Phenom', 'Sempron' => 'AMD Sempron', 'Xeon' => 'Intel Xeon', 'Nehalem' => 'Intel Nehalem', 'PentiumD' => 'Pentium D', 'i5' => 'Intel Core i5', 'i3' => 'Intel Core i3', 'c2' => 'Intel Core 2 Duo', 'c4' => 'Intel Core 2 Quad', 'p4' => 'Intel Pentium IV', 'Celeron' => 'Intel Celeron', 'Atom' => 'Intel Atom', 'PIII' => 'Intel Pentium 3'); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Schemes = DB_Select('DSSchemes', '*'); #------------------------------------------------------------------------------- switch (ValueOf($Schemes)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': #------------------------------------------------------------------------------- $IsUpdate = FALSE; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'array': #------------------------------------------------------------------------------- $IsUpdate = TRUE;
continue; } #--------------------------------------------------------------------- $Columns = array('MIN(`CreateDate`) as `CreateDate`', 'ContractID', 'Month', 'ServiceID', 'Comment', 'SUM(`Amount`) as `Amount`', 'Cost', 'Discont'); #--------------------------------------------------------------------- $WorksComplite = DB_Select('WorksComplite', $Columns, array('GroupBy' => array('ContractID', 'ServiceID', 'Comment', 'Cost', 'Discont'), 'Where' => SPrintF('`ContractID` = %u', $Contract['ID']))); #--------------------------------------------------------------------- switch (ValueOf($WorksComplite)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #---------------------------TRANSACTION--------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('WorksComplite')))) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- $IsDelete = DB_Delete('WorksComplite', array('Where' => SPrintF('`ContractID` = %u', $Contract['ID']))); if (Is_Error($IsDelete)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- foreach ($WorksComplite as $WorkComplite) { #--------------------------------------------------------------- $IsInsert = DB_Insert('WorksComplite', $WorkComplite); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } }
#------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # заказ существует, он неактивен $ExistsOrderID = $ExistsOrder['ID']; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # реализация JBS-940 if (Is_Error(DB_Transaction($TransactionID = UniqID('CostPay')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Comp = Comp_Load('Services/Bonuses', $Scheme['MinDaysPay'], $ServiceID, $SchemeID, $Order['Row']['UserID'], '0.00', $Scheme['CostDay'], FALSE); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (Is_Error(DB_Roll($TransactionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $CostPay = Round($Comp['CostPay'], 2); #------------------------------------------------------------------------------- if ($CostPay > 0 && $IsZeroPriceOrder) {
return ERROR | @Trigger_Error(500); case 'exception': return new gException('FIELDS_NOT_DEFINED', 'Поля услуги не определены'); case 'array': break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Config = Config(); #------------------------------------------------------------------------------- $Validators = $Config['Services']['Fields']['Validators']; #------------------------------------------------------------------------------- #---------------------------TRANSACTION----------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('ServiceOrder')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($ContractID != $Order['ContractID']) { #------------------------------------------------------------------------------- $Contract = DB_Select('Contracts', 'ID', array('UNIQ', 'ID' => $ContractID)); #------------------------------------------------------------------------------- switch (ValueOf($Contract)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': break;
#------------------------------------------------------------------------------- if (Is_Null($Task)) { return 'Пожалуйста, попробуйте повторить попытку позже'; } #------------------------------------------------------------------------------- unset($Links[$LinkID]); return 3600; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'true': #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Tasks/SMS]: Отправка успешна, ответ шлюза: %s', $SMS->success)); #------------------------------------------------------------------------------- if (!$ChargeFree && isset($After)) { #------------------------------TRANSACTION-------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('PostingSMS')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsUpdated = DB_Update('Contracts', array('Balance' => $After), array('ID' => $ContractID)); if (Is_Error($IsUpdated)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IPosting = array('ContractID' => $ContractID, 'ServiceID' => '2000', 'Comment' => "SMS уведомление ({$SMSCount} шт)", 'Before' => $Contract['Balance'], 'After' => $After); #------------------------------------------------------------------------------- $PostingID = DB_Insert('Postings', $IPosting); if (Is_Error($PostingID)) { return ERROR | @Trigger_Error(500); } #-------------------------------------------------------------------------------
case 'false': return ERROR | @Trigger_Error(700); case 'true': break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Password = Comp_Load('Passwords/Generator'); if (Is_Error($Password)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #-------------------------TRANSACTION------------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('DNSmanagerOrder')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Where = SPrintF("`ContractID` = %u AND `TypeID` = 'DNSmanagerRules'", $Contract['ID']); #------------------------------------------------------------------------------- $Count = DB_Count('ContractsEnclosures', array('Where' => $Where)); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if ($Count < 1) { #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/ContractEnclosureMake', array('ContractID' => $Contract['ID'], 'TypeID' => 'DNSmanagerRules')); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) {
# нет групп, нечего делать break; case 'array': #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Is_Array($VPSServersGroups)) { #------------------------------------------------------------------------------- #---------------------------TRANSACTION----------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('VPSServers')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $iServersGroups = array(); #------------------------------------------------------------------------------- $ServersGroups = DB_Select('ServersGroups', 'ID', array('Where' => '`ServiceID` = 30000')); #------------------------------------------------------------------------------- switch (ValueOf($ServersGroups)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': break; case 'array': #-------------------------------------------------------------------------------
} if ($ToContract['TypeID'] == "NaturalPartner") { return new gException('ATTEMPT_TRANSFER_TO_Juridical', 'Переводы на партнёрский договор запрещены'); } # проверяем баланс договора с кторого переводим if ($FromContract['Balance'] < $Summ) { $fSumm = Comp_Load('Formats/Currency', $FromContract['Balance']); if (Is_Error($fSumm)) { return ERROR | @Trigger_Error(500); } return new gException('CONTRACT_BALLANCE_TOO_LOW', 'На балансе выбранного договора слишком мало средств. Введите сумму меньшую или равную ' . $fSumm); } #------------------------------------------------------------------- #------------------------------------------------------------------- #-----------------------------TRANSACTION------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('ContractFundsTransfer')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- $NumberFrom = Comp_Load('Formats/Contract/Number', $FromContract['ID']); if (Is_Error($NumberFrom)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- $NumberTo = Comp_Load('Formats/Contract/Number', $ToContract['ID']); if (Is_Error($NumberTo)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- # снимаем с одного договора деньгу #Debug(print_r($GLOBALS, true));
$Config = Config(); #------------------------------------------------------------------------------- $PaymentSystems = $Config['Invoices']['PaymentSystems']; #------------------------------------------------------------------------------- if (!isset($PaymentSystems[$PaymentSystemID])) { return new gException('PAYMENT_SYSTEM_NOT_FOUND', 'Платежная система не найдена'); } #------------------------------------------------------------------------------- $PaymentSystem = $PaymentSystems[$PaymentSystemID]; #------------------------------------------------------------------------------- if (!$PaymentSystem['ContractsTypes'][$Contract['TypeID']]) { return new gException('WRONG_CONTRACT_TYPE', 'Данный вид договора не может быть использован для выписывания счета данного типа'); } #------------------------------------------------------------------------------- #-----------------------------TRANSACTION--------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('InvoiceMake')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IInvoice = array('ContractID' => $Contract['ID'], 'PaymentSystemID' => $PaymentSystemID); #------------------------------------------------------------------------------- $InvoiceID = DB_Insert('Invoices', $IInvoice); if (Is_Error($InvoiceID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Where = SPrintF('`ContractID` = %u', $Contract['ID']); #------------------------------------------------------------------------------- $Basket = DB_Select('BasketOwners', array('ID', 'ServiceID', 'Comment', 'OrderID', 'Amount', 'Summ'), array('Where' => $Where)); #-------------------------------------------------------------------------------
} #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$Source) { return new gException('NO_SOURCE', 'Не указана исходная платёжная система'); } #------------------------------------------------------------------------------- if (!$Destination) { return new gException('NO_DESTINATION', 'Не указана система оплаты'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $UCollation = array('IsActive' => $IsActive, 'Source' => $Source, 'Destination' => $Destination, 'Image' => $Image, 'Prompt' => $Prompt, 'Description' => $Description, 'AdminNotice' => $AdminNotice, 'SortID' => $SortID); #------------------------------------------------------------------------------- #-----------------------------TRANSACTION--------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('CollationEdit')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Answer = array('Status' => 'Ok'); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($CollationID) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('PaymentSystemsCollation', $UCollation, array('ID' => $CollationID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else {
return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------- $Where = SPrintF('`OrderID` = %u AND `DaysRemainded` > 0', $ISPswOrder['OrderID']); #--------------------------------------------------------------------- $OrdersConsider = DB_Select('OrdersConsider', '*', array('Where' => $Where)); #--------------------------------------------------------------------- switch (ValueOf($OrdersConsider)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #----------------------------------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('OrdersConsider')))) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- foreach ($OrdersConsider as $ConsiderItem) { #--------------------------------------------------------------- $IWorkComplite = array('ContractID' => $Contract['ID'], 'Month' => $CurrentMonth, 'ServiceID' => $ISPswOrder['ServiceID'], 'Comment' => SPrintF('№%s', $Number), 'Amount' => $ConsiderItem['DaysConsidered'], 'Cost' => $ConsiderItem['Cost'], 'Discont' => $ConsiderItem['Discont']); #--------------------------------------------------------------- $IsInsert = DB_Insert('WorksComplite', $IWorkComplite); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- $IsUpdate = DB_Update('OrdersConsider', array('DaysConsidered' => 0), array('ID' => $ConsiderItem['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500);
# помечаем в локальной базе как свободные те которые уже больше 30 дней свободны (или 31?) #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # обновляем IP адреса заказов лицензий, у которых есть сслыка на elid $ISPswOrders = DB_Select('ISPswOrdersOwners', array('ID', 'OrderID', 'IP', 'LicenseID'), array('Where' => '`StatusID` = "Active"')); #------------------------------------------------------------------------------- switch (ValueOf($ISPswOrders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #------------------------------------------------------------------------------- #----------------------------------TRANSACTION---------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('comp/Tasks/GC/ISPswCheckLicenses')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- foreach ($ISPswOrders as $ISPswOrder) { #------------------------------------------------------------------------------- if ($ISPswOrder['LicenseID']) { #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # выбираем данные лицензии на которую ссылается заказ $License = DB_Select('ISPswLicensesOwners', array('ID', 'IP', 'StatusID'), array('UNIQ', 'ID' => $ISPswOrder['LicenseID'])); #------------------------------------------------------------------------------- switch (ValueOf($License)) { case 'error': return ERROR | @Trigger_Error(500);
/******************************************************************************/ /******************************************************************************/ $Where = SPrintF("`StatusID` = 'Rejected' AND `StatusDate` < UNIX_TIMESTAMP( ) - %d *86400", $Params['Invoices']['DaysBeforeErase']); #------------------------------------------------------------------------------- $Invoices = DB_Select('InvoicesOwners', array('ID', 'UserID'), array('SortOn' => 'CreateDate', 'IsDesc' => TRUE, 'Where' => $Where)); switch (ValueOf($Invoices)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return TRUE; case 'array': #--------------------------------------------------------------------------- foreach ($Invoices as $Invoice) { Debug(SPrintF("[Tasks/GC/EraseDeletedInvoice]: Удаление счёта #%d.", $Invoice['ID'])); #----------------------------------TRANSACTION---------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('comp/Tasks/GC/EraseDeletedInvoice')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $Comp = Comp_Load('www/API/Delete', array('TableID' => 'Invoices', 'RowsIDs' => $Invoice['ID'])); #------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'array': $Event = array('UserID' => $Invoice['UserID'], 'PriorityID' => 'Billing', 'Text' => SPrintF('Отменённый счёт #%d автоматически удалён, оплата не поступила в течение %d дней.', $Invoice['ID'], $Params['Invoices']['DaysBeforeErase'])); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); } break; default: return ERROR | @Trigger_Error(500);
<?php #------------------------------------------------------------------------------- /** @author Alex Keda, for www.host-food.ru */ /******************************************************************************/ /******************************************************************************/ $RS = array(); #------------------------------------------------------------------------------- #---------------------------TRANSACTION----------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('Registrators')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $ServersGroups = DB_Select('ServersGroups', 'ID', array('Where' => '`ServiceID` = 20000')); #------------------------------------------------------------------------------- switch (ValueOf($ServersGroups)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': break; case 'array': #------------------------------------------------------------------------------- foreach ($ServersGroups as $ServersGroup) { #------------------------------------------------------------------------------- $IsDelete = DB_Delete('Servers', array('Where' => SPrintF('`ServersGroupID` = %u', $ServersGroup['ID']))); if (Is_Error($IsDelete)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsDelete = DB_Delete('ServersGroups', array('ID' => $ServersGroup['ID']));
#------------------------------------------------------------------------------- $Parent = $Exception; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (isset($Exception)) { return new gException('FIELDS_WRONG_FILLED', 'Не верно заполнены поля', $Exception); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Replace = Array_ToLine($Attribs, '%'); #------------------------------------------------------------------------------- #-----------------------------TRANSACTION--------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('ServerEdit')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $UServer['Params'] = $Attribs; #------------------------------------------------------------------------------- $Answer = array('Status' => 'Ok'); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($IsDefault) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Servers', array('IsDefault' => FALSE), array('Where' => SPrintF('`ServersGroupID` = %u', $ServersGroupID))); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Is_Array($HostingServersGroups)) { #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $HS = array(); #------------------------------------------------------------------------------- #---------------------------TRANSACTION----------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('HostingServers')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $iServersGroups = array(); #------------------------------------------------------------------------------- $ServersGroups = DB_Select('ServersGroups', 'ID', array('Where' => '`ServiceID` = 10000')); #------------------------------------------------------------------------------- switch (ValueOf($ServersGroups)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': break; case 'array': #-------------------------------------------------------------------------------
#------------------------------------------------------------------- # проверяем, это первая оплата или нет? если не первая, то минимальное число дней MinDaysProlong Debug(SPrintF('[comp/www/HostingOrderPay]: ранее оплачено за заказ %s', $HostingOrder['PayedSumm'])); if ($HostingOrder['PayedSumm'] > 0) { $MinDaysPay = $HostingScheme['MinDaysProlong']; } else { $MinDaysPay = $HostingScheme['MinDaysPay']; } #------------------------------------------------------------------- Debug(SPrintF('[comp/www/HostingOrderPay]: минимальное число дней %s', $MinDaysPay)); #------------------------------------------------------------------- if ($DaysPay < $MinDaysPay || $DaysPay > $HostingScheme['MaxDaysPay']) { return new gException('WRONG_DAYS_PAY', 'Неверное кол-во дней оплаты'); } #-------------------------TRANSACTION------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('HostingOrderPay')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- #------------------------------------------------------------------- $Comp = Comp_Load('Services/Politics', $HostingOrder['UserID'], $HostingOrder['GroupID'], $HostingOrder['ServiceID'], $HostingScheme['ID'], $DaysPay, SPrintF('Hosting/%s', $HostingOrder['Login'])); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- #------------------------------------------------------------------- $HostingOrderID = (int) $HostingOrder['ID']; #------------------------------------------------------------------- $CostPay = 0.0; #------------------------------------------------------------------- $DaysRemainded = $DaysPay;
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($ISPswOrder['SchemeID'] == $NewScheme['ID']) { return new gException('SCHEMES_MATCHED', 'Старый и новый тарифные планы совпадают'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$NewScheme['IsSchemeChangeable']) { return new gException('SCHEME_NOT_CHANGEABLE', 'Выбранный тариф не позволяет переход'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $ISPswOrderID = (int) $ISPswOrder['ID']; #------------------------------------------------------------------------------- #--------------------------TRANSACTION------------------------------------------ if (Is_Error(DB_Transaction($TransactionID = UniqID('ISPswOrderSchemeChange')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsAdd = Comp_Load('www/Administrator/API/TaskEdit', array('UserID' => $ISPswOrder['UserID'], 'TypeID' => 'ISPswSchemeChange', 'Params' => array($ISPswOrderID, $ISPswOrder['SchemeID']))); #------------------------------------------------------------------------------- switch (ValueOf($IsAdd)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': break; default: return ERROR | @Trigger_Error(101); }
case 'array': #--------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #--------------------------------------------------------------------------- $IsPermission = Permission_Check('ContractRead', (int) $__USER['ID'], (int) $Contract['UserID']); #--------------------------------------------------------------------------- switch (ValueOf($IsPermission)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'false': return ERROR | @Trigger_Error(700); case 'true': #-----------------------------TRANSACTION------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('ContractEnclosureMake')))) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------- $IContractEnclosure = array('ContractID' => $Contract['ID'], 'TypeID' => $TypeID); #----------------------------------------------------------------------- $ContractEnclosureID = DB_Insert('ContractsEnclosures', $IContractEnclosure); if (Is_Error($ContractEnclosureID)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------- $Comp = Comp_Load('Contracts/Enclosures/Build', $ContractEnclosureID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #-----------------------------------------------------------------------
#------------------------------------------------------------------- # проверяем, это первая оплата или нет? если не первая, то минимальное число дней MinDaysProlong Debug(SPrintF('[comp/www/API/VPSOrderPay]: ранее оплачено за заказ %s', $VPSOrder['PayedSumm'])); if ($VPSOrder['PayedSumm'] > 0) { $MinDaysPay = $VPSScheme['MinDaysProlong']; } else { $MinDaysPay = $VPSScheme['MinDaysPay']; } #------------------------------------------------------------------- Debug(SPrintF('[comp/www/VPSOrderPay]: минимальное число дней %s', $MinDaysPay)); #------------------------------------------------------------------- if ($DaysPay < $MinDaysPay || $DaysPay > $VPSScheme['MaxDaysPay']) { return new gException('WRONG_DAYS_PAY', 'Неверное кол-во дней оплаты'); } #-------------------------TRANSACTION------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('VPSOrderPay')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- #------------------------------------------------------------------- $Comp = Comp_Load('Services/Politics', $VPSOrder['UserID'], $VPSOrder['GroupID'], $VPSOrder['ServiceID'], $VPSScheme['ID'], $DaysPay, SPrintF('VPS/%s', $VPSOrder['Login'])); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- #------------------------------------------------------------------- $VPSOrderID = (int) $VPSOrder['ID']; #------------------------------------------------------------------- $CostPay = 0.0; #------------------------------------------------------------------- $DaysRemainded = $DaysPay;
/******************************************************************************/ $__args_list = array('Invoice'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ if ($Invoice['IsPosted']) { #------------------------------------------------------------------------------- Debug(SprintF('[comp/Triggers/Statuses/Invoices/Payed]: IsPosted = TRUE')); #------------------------------------------------------------------------------- return TRUE; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #----------------------------------TRANSACTION---------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('comp/Triggers/Statuses/Invoices/Payed')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Number = Comp_Load('Formats/Invoice/Number', $Invoice['ID']); if (Is_Error($Number)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsUpdate = Comp_Load('www/Administrator/API/PostingMake', array('ContractID' => $Invoice['ContractID'], 'Summ' => $Invoice['Summ'], 'ServiceID' => 1000, 'Comment' => SPrintF('по счёту №%s', $Number))); #------------------------------------------------------------------------------- switch (ValueOf($IsUpdate)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400);
#------------------------------------------------------------------------------- $Count = DB_Count('OrdersOwners', array('Where' => $Where)); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #Debug(SPrintF('[comp/Tasks/GC/ResetOrdersDays]: OrdersOwners Count = %s',$Count)); #------------------------------------------------------------------------------- if ($Count) { continue; } #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Tasks/GC/ResetOrdersDays]: Изменено число оставшихся дней (%u->%u) для заказa OrderID = %s; юзер = %s', $OrderConsider['SumDaysRemainded'], $Settings['ResetDaysTo'], $OrderID, $UserID)); #------------------------------------------------------------------------------- #----------------------------------TRANSACTION---------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('ResetOrdersDays')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # удаляем весь учёт для заказа, где скидка 100% или цена 0 $IsDelete = DB_Delete('OrdersConsider', array('Where' => SPrintF('`OrderID` = %u', $OrderID))); if (Is_Error($IsDelete)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # втыкаем новый учёт, на нужное число дней $IOrdersConsider = array('OrderID' => $OrderID, 'DaysReserved' => IntVal($Settings['ResetDaysTo']), 'Cost' => 0); #------------------------------------------------------------------------------- $OrdersConsiderID = DB_Insert('OrdersConsider', $IOrdersConsider); if (Is_Error($OrdersConsiderID)) {
if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if ($Count) { return new gException('PROMOCODE_ALREADY_EXTINGUISHED', 'Промокод уже был использован'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $ICode = array('PromoCodeID' => $PromoCode['ID'], 'UserID' => $GLOBALS['__USER']['ID'], 'CreateDate' => Time()); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IBonus = array('UserID' => $GLOBALS['__USER']['ID'], 'ServiceID' => $PromoCode['ServiceID'], 'SchemeID' => $PromoCode['SchemeID'], 'SchemesGroupID' => $PromoCode['SchemesGroupID'], 'DaysReserved' => $PromoCode['DaysDiscont'], 'Discont' => $PromoCode['Discont'], 'Comment' => SPrintF('Активация промокода "%s"', $Code)); #------------------------------------------------------------------------------- #-------------------------------TRANSACTION------------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('PromoCodesExtinguished')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # фтыкаем в таблицу погашеных промокодов $IsInsert = DB_Insert('PromoCodesExtinguished', $ICode); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # втыкаем бонусы в таблицу бонусов $IsInsert = DB_Insert('Bonuses', $IBonus); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500);
#------------------------------------------------------------------------------- $StatusID = 'Payed'; #------------------------------------------------------------------------------- $Comment = 'Оплачен (выполнена финансовая транзакция или заказ оплачен в электронной платёжной системе)'; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'canceled': #------------------------------------------------------------------------------- $StatusID = 'Rejected'; #------------------------------------------------------------------------------- $Comment = 'Отменён (выполнена транзакция разблокировки средств или выполнена операция по возврату платежа после списания средств)'; #------------------------------------------------------------------------------- #----------------------------------TRANSACTION---------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('Merchant/Uniteller')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # ставим счёт как неоплаченный # плохая идея. появляется кнопка про оплату, а оплатить нельзя - юнителлер не даёт #$IsUpdate = DB_Update('Invoices',Array('IsPosted'=>FALSE),Array('ID'=>$Invoice['ID'])); #if(Is_Error($IsUpdate)) # return ERROR | @Trigger_Error(500); #------------------------------------------------------------------------------- # вычитаем сумму счёта из договора, на который счёт. $Contract = DB_Select('ContractsOwners', 'Balance', array('UNIQ', 'ID' => $Invoice['ContractID'])); switch (ValueOf($Contract)) { case 'error': return ERROR | @Trigger_Error(500);
#------------------------------------------------------------------- $Document = $DOM->Build(); if (Is_Error($Document)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- $Replace = Array_ToLine($Replace); #------------------------------------------------------------------- foreach (Array_Keys($Replace) as $LinkID) { #----------------------------------------------------------------- $Text = (string) $Replace[$LinkID]; #----------------------------------------------------------------- $Document = Str_Replace(SPrintF('%%%s%%', $LinkID), $Text ? $Text : '-', $Document); } #------------------------TRANSACTION-------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('ContractBuld')))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- $IsUpdate = DB_Update('Contracts', array('Customer' => $Customer['Name']), array('ID' => $ContractID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------- if (!SaveUploadedFile('Contracts', $ContractID, $Document)) { return new gException('CANNOT_SAVE_UPLOADED_FILE', 'Не удалось сохранить загруженный файл'); } #------------------------------------------------------------------- $ContractsEnclosures = DB_Select('ContractsEnclosures', 'ID', array('Where' => SPrintF('`ContractID` = %u', $ContractID))); #------------------------------------------------------------------- switch (ValueOf($ContractsEnclosures)) {