} #------------------------------------------------------------------------------- Sort($PatchesIDs); #------------------------------------------------------------------------------- $LastPatchDB = DB_Select('Config', 'Value', array('UNIQ', 'Where' => SPrintF("`Param` = 'LastPatchDB' AND `HostID` = '%s'", $HostID))); #------------------------------------------------------------------------------- switch (ValueOf($LastPatchDB)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': #------------------------------------------------------------------------------- $LastPatchDB = IntVal(End($PatchesIDs)); #------------------------------------------------------------------------------- echo SPrintF("Установка максимального патча базы данных (%u) хоста (%s)\n", $LastPatchDB, $HostID); #------------------------------------------------------------------------------- $InInsert = DB_Insert('Config', array('HostID' => $HostID, 'Param' => 'LastPatchDB', 'Value' => $LastPatchDB)); if (Is_Error($InInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'array': #------------------------------------------------------------------------------- $LastPatchDB = IntVal($LastPatchDB['Value']); #------------------------------------------------------------------------------- echo SPrintF("Последний патч базы данных хоста (%s) (%u)\n", $HostID, $LastPatchDB); #------------------------------------------------------------------------------- foreach ($PatchesIDs as $PatchID) { #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (isset($Config['Tasks']['Types']['CheckEmail']['CheckEmailLogin'])) { #------------------------------------------------------------------------------- $CheckEmail = $Config['Tasks']['Types']['CheckEmail']; Debug(SPrintF('[patches/hosting/files/1000014.php]: CheckEmail = %s', print_r($CheckEmail, true))); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsDelete = DB_Delete('Servers', array('Where' => '`TemplateID` = "EmailClient"')); if (Is_Error($IsDelete)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Server = array('TemplateID' => 'EmailClient', 'IsActive' => TRUE, 'IsDefault' => TRUE, 'Protocol' => isset($CheckEmail['UseSSL']) ? $CheckEmail['UseSSL'] ? 'ssl' : 'tcp' : 'ssl', 'Address' => isset($CheckEmail['CheckEmailServer']) ? $CheckEmail['CheckEmailServer'] : 'pop.yandex.ru', 'Port' => 110, 'Login' => isset($CheckEmail['CheckEmailLogin']) ? $CheckEmail['CheckEmailLogin'] : '', 'Password' => isset($CheckEmail['CheckEmailPassword']) ? $CheckEmail['CheckEmailPassword'] : '', 'Params' => array('Method' => isset($CheckEmail['CheckEmailProtocol']) ? $CheckEmail['CheckEmailProtocol'] : 'pop3'), 'AdminNotice' => 'Используется учётная запись от которой шлёт сообщения биллинг (пользователь с идентификатором 100)', 'SortID' => 100000, 'Monitoring' => "POP3=110\nPOP3S=995\nIMAP4=143\nIMAP4S=993"); #------------------------------------------------------------------------------- $IsInsert = DB_Insert('Servers', $Server); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- unset($Config['Tasks']['Types']['CheckEmail']['UseSSL']); unset($Config['Tasks']['Types']['CheckEmail']['CheckEmailServer']); unset($Config['Tasks']['Types']['CheckEmail']['CheckEmailLogin']); unset($Config['Tasks']['Types']['CheckEmail']['CheckEmailPassword']); unset($Config['Tasks']['Types']['CheckEmail']['CheckEmailProtocol']); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $File = IO_Write($ConfigPath, To_XML_String($Config), TRUE);
#----------------------------------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)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsUpdate = DB_Update('OrdersConsider', array('DaysConsidered' => 0), array('ID' => $OrdersConsiderID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # снимаем галку про автопродление $IsUpdate = DB_Update('Orders', array('IsAutoProlong' => FALSE), array('ID' => $OrderID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #-------------------------------------------------------------------------------
$Rating = (int) @$Args['Rating']; #------------------------------------------------------------------------------- $Count = DB_Count('Clauses', array('ID' => $ClauseID)); if (Is_Error($Count)) { return ERROR | Trigger_Error(500); } #------------------------------------------------------------------------------- if (!$Count) { return new gException('CLAUSE_NOT_FOUND', 'Указанная статья не найдена'); } #------------------------------------------------------------------------------- if ($Rating < 1 || $Rating > 5) { return new gException('WRONG_RATTING', 'Неверный рейтинг'); } #------------------------------------------------------------------------------- $IsInsert = DB_Insert('ClausesRating', array('ClauseID' => $ClauseID, 'IP' => $_SERVER['REMOTE_ADDR'], 'Rating' => $Rating)); if (Is_Error($IsInsert)) { return ERROR | Trigger_Error(500); } #------------------------------------------------------------------------------- $ClauseRating = DB_Select('ClausesRating', array('AVG(`Rating`) as `Rating`'), array('UNIQ', 'Where' => SPrintF('`ClauseID` = %u', $ClauseID), 'GroupBy' => 'ClauseID')); #------------------------------------------------------------------------------- switch (ValueOf($ClauseRating)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': return array('Status' => 'Ok', 'Rating' => SPrintF('%01.2f', $ClauseRating['Rating'])); default: return ERROR | @Trigger_Error(101);
#--------------------------------------------------------------------------- switch (ValueOf($Upload)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #----------------------------------------------------------------------- $IEdeskMessage['FileName'] = $Upload['Name']; break; default: return ERROR | @Trigger_Error(101); } #--------------------------------------------------------------------------- $MessageID = DB_Insert('EdesksMessages', $IEdeskMessage); if (Is_Error($MessageID)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- if (isset($IEdeskMessage['FileName'])) { if (!SaveUploadedFile('EdesksMessages', $MessageID, $Upload['Data'])) { return new gException('CANNOT_SAVE_UPLOADED_FILE', 'Не удалось сохранить загруженный файл'); } } #--------------------------------------------------------------------------- $Users = DB_Select('Users', 'ID', array('Where' => SPrintF('`ID` != %u AND `ID` > 50', $__USER['ID']))); #--------------------------------------------------------------------------- switch (ValueOf($Users)) { case 'error': return ERROR | @Trigger_Error(500);
#------------------------------------------------------------------------------- if (!$MinDaysPay) { return new gException('MIN_DAYS_PAY_NOT_DEFINED', 'Минимальное кол-во дней оплаты не указано'); } #------------------------------------------------------------------------------- if ($MinDaysProlong > $MinDaysPay) { return new gException('WRONG_MIN_DAYS_PROLONG', 'Минимальное число дней продления не может быть больше минимального числа дней оплаты'); } #------------------------------------------------------------------------------- if ($MinDaysPay > $MaxDaysPay) { return new gException('WRONG_MIN_DAYS_PAY', 'Минимальное кол-во дней оплаты не можеть быть больше максимального'); } #------------------------------------------------------------------------------- $IHostingScheme = array('GroupID' => $GroupID, 'UserID' => $UserID, 'Name' => $Name, 'PackageID' => $PackageID, 'CostDay' => $CostDay, 'CostMonth' => $CostMonth, 'ServersGroupID' => $ServersGroupID, 'HardServerID' => $HardServerID, 'Comment' => $Comment, 'IsReselling' => $IsReselling, 'IsActive' => $IsActive, 'IsProlong' => $IsProlong, 'IsSchemeChangeable' => $IsSchemeChangeable, 'IsSchemeChange' => $IsSchemeChange, 'MinDaysPay' => $MinDaysPay, 'MinDaysProlong' => $MinDaysProlong, 'MaxDaysPay' => $MaxDaysPay, 'MaxOrders' => $MaxOrders, 'MinOrdersPeriod' => $MinOrdersPeriod, 'SortID' => $SortID, 'QuotaDisk' => $QuotaDisk, 'QuotaEmail' => $QuotaEmail, 'QuotaDomains' => $QuotaDomains, 'QuotaFTP' => $QuotaFTP, 'QuotaParkDomains' => $QuotaParkDomains, 'QuotaSubDomains' => $QuotaSubDomains, 'QuotaDBs' => $QuotaDBs, 'QuotaTraffic' => $QuotaTraffic, 'QuotaEmailAutoResp' => $QuotaEmailAutoResp, 'QuotaEmailLists' => $QuotaEmailLists, 'QuotaEmailForwards' => $QuotaEmailForwards, 'QuotaUsers' => $QuotaUsers, 'IsShellAccess' => $IsShellAccess, 'IsSSLAccess' => $IsSSLAccess, 'IsCGIAccess' => $IsCGIAccess, 'IsDnsControll' => $IsDnsControll, 'QuotaWWWDomains' => $QuotaWWWDomains, 'QuotaEmailDomains' => $QuotaEmailDomains, 'QuotaUsersDBs' => $QuotaUsersDBs, 'QuotaCPU' => $QuotaCPU, 'MaxExecutionTime' => $MaxExecutionTime, 'QuotaMEM' => $QuotaMEM, 'QuotaPROC' => $QuotaPROC, 'QuotaMPMworkers' => $QuotaMPMworkers, 'mysqlquerieslimit' => $mysqlquerieslimit, 'mysqlupdateslimit' => $mysqlupdateslimit, 'mysqlconnectlimit' => $mysqlconnectlimit, 'mysqluserconnectlimit' => $mysqluserconnectlimit, 'mailrate' => $mailrate, 'IsSSIAccess' => $IsSSIAccess, 'IsPHPModAccess' => $IsPHPModAccess, 'IsPHPCGIAccess' => $IsPHPCGIAccess, 'IsPHPFastCGIAccess' => $IsPHPFastCGIAccess, 'IsPHPSafeMode' => $IsPHPSafeMode, 'QuotaAddonDomains' => $QuotaAddonDomains, 'QuotaWebUsers' => $QuotaWebUsers, 'QuotaEmailBox' => $QuotaEmailBox, 'QuotaEmailGroups' => $QuotaEmailGroups, 'QuotaWebApp' => $QuotaWebApp, 'IsCreateDomains' => $IsCreateDomains, 'IsManageHosting' => $IsManageHosting, 'IsManageQuota' => $IsManageQuota, 'IsManageSubdomains' => $IsManageSubdomains, 'IsChangeLimits' => $IsChangeLimits, 'IsManageLog' => $IsManageLog, 'IsManageCrontab' => $IsManageCrontab, 'IsManageAnonFtp' => $IsManageAnonFtp, 'IsManageWebapps' => $IsManageWebapps, 'IsManageMaillists' => $IsManageMaillists, 'IsManageDrWeb' => $IsManageDrWeb, 'IsMakeDumps' => $IsMakeDumps, 'IsSiteBuilder' => $IsSiteBuilder, 'IsRemoteInterface' => $IsRemoteInterface, 'IsManagePerformance' => $IsManagePerformance, 'IsCpAccess' => $IsCpAccess, 'IsManageDomainAliases' => $IsManageDomainAliases, 'IsManageIISAppPool' => $IsManageIISAppPool, 'IsDashBoard' => $IsDashBoard, 'IsStdGIU' => $IsStdGIU, 'IsManageDashboard' => $IsManageDashboard, 'IsManageSubFtp' => $IsManageSubFtp, 'ISManageSpamFilter' => $ISManageSpamFilter, 'IsLocalBackups' => $IsLocalBackups, 'IsFtpBackups' => $IsFtpBackups, 'IsAnonimousFTP' => $IsAnonimousFTP, 'IsPHPAccess' => $IsPHPAccess, 'IsSpamAssasing' => $IsSpamAssasing, 'IsCatchAll' => $IsCatchAll, 'IsSystemInfo' => $IsSystemInfo, 'field1' => $field1, 'field2' => $field2, 'field3' => $field3); #------------------------------------------------------------------------------- if ($HostingSchemeID) { #----------------------------------------------------------------------------- $IsUpdate = DB_Update('HostingSchemes', $IHostingScheme, array('ID' => $HostingSchemeID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } else { #----------------------------------------------------------------------------- $IsInsert = DB_Insert('HostingSchemes', $IHostingScheme); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } } #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #-------------------------------------------------------------------------------
# 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); } } #----------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- break; default: return ERROR | @Trigger_Error(101); } break; default:
$Answer = array('Status' => 'Ok'); #------------------------------------------------------------------------------ #------------------------------------------------------------------------------- $Clause = array('GroupID' => $GroupID, 'PublicDate' => $PublicDate, 'Partition' => $Partition, 'Title' => $Title, 'IsXML' => $IsXML, 'IsDOM' => $IsDOM, 'IsPublish' => $IsPublish, 'Text' => $Text); #------------------------------------------------------------------------------- if ($ClauseID) { #----------------------------------------------------------------------------- $Clause['ChangedDate'] = Time(); $Clause['EditorID'] = $__USER['ID']; #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Clauses', $Clause, array('ID' => $ClauseID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Clause['AuthorID'] = $__USER['ID']; #------------------------------------------------------------------------------- $ClauseID = DB_Insert('Clauses', $Clause); if (Is_Error($ClauseID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Answer['ClauseID'] = $ClauseID; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Answer; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (!$MinDaysPay) { return new gException('MIN_DAYS_PAY_NOT_DEFINED', 'Минимальное кол-во дней оплаты не указано'); } #------------------------------------------------------------------------------- if ($MinDaysProlong > $MinDaysPay) { return new gException('WRONG_MIN_DAYS_PROLONG', 'Минимальное число дней продления не может быть больше минимального числа дней оплаты'); } #------------------------------------------------------------------------------- if ($MinDaysPay > $MaxDaysPay) { return new gException('WRONG_MIN_DAYS_PAY', 'Минимальное кол-во дней оплаты не можеть быть больше максимального'); } #------------------------------------------------------------------------------- $IVPSScheme = array('GroupID' => $GroupID, 'UserID' => $UserID, 'Name' => $Name, 'PackageID' => $PackageID, 'CostDay' => $CostDay, 'CostMonth' => $CostMonth, 'CostInstall' => $CostInstall, 'ServersGroupID' => $ServersGroupID, 'Comment' => $Comment, 'IsReselling' => $IsReselling, 'IsActive' => $IsActive, 'IsProlong' => $IsProlong, 'IsSchemeChangeable' => $IsSchemeChangeable, 'IsSchemeChange' => $IsSchemeChange, 'MinDaysPay' => $MinDaysPay, 'MinDaysProlong' => $MinDaysProlong, 'MaxDaysPay' => $MaxDaysPay, 'MaxOrders' => $MaxOrders, 'MinOrdersPeriod' => $MinOrdersPeriod, 'SortID' => $SortID, 'vdslimit' => $vdslimit, 'disklimit' => $disklimit, 'maxdesc' => $maxdesc, 'blkiotune' => $blkiotune, 'isolimitsize' => $isolimitsize, 'isolimitnum' => $isolimitnum, 'snapshot_limit' => $snapshot_limit, 'maxswap' => $maxswap, 'traf' => $traf, 'chrate' => $chrate, 'QuotaUsers' => $QuotaUsers, 'cpu' => $cpu, 'ncpu' => $ncpu, 'mem' => $mem, 'bmem' => $bmem, 'proc' => $proc, 'ipalias' => $ipalias, 'extns' => $extns, 'limitpvtdns' => $limitpvtdns, 'limitpubdns' => $limitpubdns, 'backup' => $backup); #------------------------------------------------------------------------------- if ($VPSSchemeID) { #----------------------------------------------------------------------------- $IsUpdate = DB_Update('VPSSchemes', $IVPSScheme, array('ID' => $VPSSchemeID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } else { #----------------------------------------------------------------------------- $IsInsert = DB_Insert('VPSSchemes', $IVPSScheme); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } } #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (isset($Config['Domains']['Registrators'])) { #----------------------------------------------------------------------------- $Registrators = $Config['Domains']['Registrators']; #----------------------------------------------------------------------------- foreach (Array_Keys($Registrators) as $TypeID) { #--------------------------------------------------------------------------- $Type = $Registrators[$TypeID]; #--------------------------------------------------------------------------- if (!$Type['Login']) { continue; } #--------------------------------------------------------------------------- $Http = $Type['Http']; #--------------------------------------------------------------------------- $IRow = array('Name' => $TypeID, 'TypeID' => $TypeID, 'Address' => $Http['Address'], 'Port' => $Http['Port'], 'Protocol' => $Http['Protocol'], 'Login' => $Type['Login'], 'Password' => $Type['Password']); #--------------------------------------------------------------------------- $RegistratorID = DB_Insert('Registrators', $IRow); if (Is_Error($RegistratorID)) { return ERROR | Trigger_Error(500); } #--------------------------------------------------------------------------- $IsUpdate = DB_Update('DomainsSchemes', array('RegistratorID' => $RegistratorID), array('Where' => SPrintF("`RegistratorID` = '%s'", $TypeID))); if (Is_Error($IsUpdate)) { return ERROR | Trigger_Error(500); } } } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
default: return ERROR | @Trigger_Error(101); } } #------------------------------------------------------------------------------- $OrderID = DB_Insert('Orders', array('ContractID' => $Contract['ID'], 'ServiceID' => $Server['ServiceID'], 'ServerID' => $Server['ID'], 'Params' => array('ViewArea' => $ViewArea))); if (Is_Error($OrderID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Login = SPrintF('%s%s', $Server['Params']['Prefix'], $OrderID); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IDNSmanagerOrder = array('OrderID' => $OrderID, 'SchemeID' => $DNSmanagerScheme['ID'], 'Login' => $Login, 'Password' => $Password); #------------------------------------------------------------------------------- $DNSmanagerOrderID = DB_Insert('DNSmanagerOrders', $IDNSmanagerOrder); if (Is_Error($DNSmanagerOrderID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'DNSmanagerOrders', 'StatusID' => 'Waiting', 'RowsIDs' => $DNSmanagerOrderID, 'Comment' => $Comment ? $Comment : 'Заказ создан и ожидает оплаты')); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return $Comp; case 'array': break; default: return ERROR | @Trigger_Error(101);
return new gException('WRONG_MIN_DAYS_PROLONG', 'Минимальное число дней продления не может быть больше минимального числа дней оплаты'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($MinDaysPay > $MaxDaysPay) { return new gException('WRONG_MIN_DAYS_PAY', 'Минимальное кол-во дней оплаты не можеть быть больше максимального'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IDSScheme = array('GroupID' => $GroupID, 'UserID' => $UserID, 'Name' => $Name, 'PackageID' => $PackageID, 'CostDay' => $CostDay, 'CostMonth' => $CostMonth, 'CostInstall' => $CostInstall, 'ServerID' => $ServerID, 'IsActive' => $IsActive, 'IsBroken' => $IsBroken, 'IsProlong' => $IsProlong, 'MinDaysPay' => $MinDaysPay, 'MinDaysProlong' => $MinDaysProlong, 'MaxDaysPay' => $MaxDaysPay, 'MaxOrders' => $MaxOrders, 'MinOrdersPeriod' => $MinOrdersPeriod, 'SortID' => $SortID, 'CPU' => $CPU, 'ram' => $ram, 'raid' => $raid, 'disks' => $disks, 'chrate' => $chrate, 'trafflimit' => $trafflimit, 'traffcorrelation' => $traffcorrelation, 'OS' => $OS, 'Switch' => $Switch, 'UserNotice' => $UserNotice, 'AdminNotice' => $AdminNotice); #------------------------------------------------------------------------------- if ($DSSchemeID) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('DSSchemes', $IDSScheme, array('ID' => $DSSchemeID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $IsInsert = DB_Insert('DSSchemes', $IDSScheme); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
return new gException('WRONG_MIN_DAYS_PROLONG', 'Минимальное число дней продления не может быть больше минимального числа дней оплаты'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($MinDaysPay > $MaxDaysPay) { return new gException('WRONG_MIN_DAYS_PAY', 'Минимальное кол-во дней оплаты не можеть быть больше максимального'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IDNSmanagerScheme = array('GroupID' => $GroupID, 'UserID' => $UserID, 'Name' => $Name, 'PackageID' => $PackageID, 'CostDay' => $CostDay, 'CostMonth' => $CostMonth, 'ServersGroupID' => $ServersGroupID, 'HardServerID' => $HardServerID, 'Comment' => $Comment, 'IsReselling' => $IsReselling, 'IsActive' => $IsActive, 'IsProlong' => $IsProlong, 'IsSchemeChangeable' => $IsSchemeChangeable, 'IsSchemeChange' => $IsSchemeChange, 'MinDaysPay' => $MinDaysPay, 'MinDaysProlong' => $MinDaysProlong, 'MaxDaysPay' => $MaxDaysPay, 'MaxOrders' => $MaxOrders, 'MinOrdersPeriod' => $MinOrdersPeriod, 'SortID' => $SortID, 'Reseller' => $Reseller, 'ViewArea' => $ViewArea, 'DomainLimit' => $DomainLimit); #------------------------------------------------------------------------------- if ($DNSmanagerSchemeID) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('DNSmanagerSchemes', $IDNSmanagerScheme, array('ID' => $DNSmanagerSchemeID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $IsInsert = DB_Insert('DNSmanagerSchemes', $IDNSmanagerScheme); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
break; default: return ERROR | @Trigger_Error(101); } } #--------------------------------------------------------------- $OrderID = DB_Insert('Orders', array('ContractID' => $Contract['ID'], 'ServerID' => $Server['ID'], 'Params' => array('DiskTemplate' => $DiskTemplate), 'ServiceID' => 30000)); if (Is_Error($OrderID)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- $Login = SPrintF('%s%s', $Server['Params']['Prefix'], $OrderID); #--------------------------------------------------------------- $IVPSOrder = array('OrderID' => $OrderID, 'SchemeID' => $VPSScheme['ID'], 'Login' => $Login, 'Password' => $Password, 'Domain' => SPrintF('%s.%s', $Login, $Server['Params']['Domain'])); #--------------------------------------------------------------- $VPSOrderID = DB_Insert('VPSOrders', $IVPSOrder); if (Is_Error($VPSOrderID)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'VPSOrders', 'StatusID' => 'Waiting', 'RowsIDs' => $VPSOrderID, 'Comment' => $Comment ? $Comment : 'Заказ создан и ожидает оплаты')); #--------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': #return ERROR | @Trigger_Error(400); return $Comp; case 'array': #----------------------------------------------------------- $Event = array('UserID' => $Contract['UserID'], 'PriorityID' => 'Billing', 'Text' => SPrintF('Сформирована заявка на заказ VPS логин (%s), тариф (%s)', $Login, $VPSScheme['Name']));
$Epoches = 3; #------------------------------------------------------------------------------- $Incomes = array(); #------------------------------------------------------------------------------- $Orders = DB_Select(array('VPSOrders', 'Orders', 'Contracts'), array('ContractID', 'Balance', 'OrderID', 'Customer', 'Login', 'Domain', '(UNIX_TIMESTAMP() + `DaysRemainded`*86400) as `ExpirationDate`', '(SELECT `MinDaysPay` FROM `VPSSchemes` WHERE `VPSSchemes`.`ID` = `VPSOrders`.`SchemeID`) as `MinDaysPay`', '(SELECT `CostDay` FROM `VPSSchemes` WHERE `VPSSchemes`.`ID` = `VPSOrders`.`SchemeID`) as `CostDay`'), array('Where' => SPrintF('(UNIX_TIMESTAMP() + `DaysRemainded`*86400) < %u AND `Orders`.`ID` = `VPSOrders`.`OrderID` AND `Contracts`.`ID` = `Orders`.`ContractID`', MkTime(0, 0, 1, Date('n') + $Epoches)), 'SortOn' => 'ExpirationDate')); #------------------------------------------------------------------------------- switch (ValueOf($Orders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return $Result; case 'array': #--------------------------------------------------------------------------- foreach ($Orders as $Order) { #------------------------------------------------------------------------- $IsInsert = DB_Insert($UniqID, $Order); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $Incomes[$Order['OrderID']] = $Order; } break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- $sMonth = Date('Y') * 12 + Date('n'); #------------------------------------------------------------------------------- $Head = array(new Tag('TD', array('class' => 'Head'), 'Клиент'), new Tag('TD', array('class' => 'Head'), 'Логин'), new Tag('TD', array('class' => 'Head'), 'Домен')); #-------------------------------------------------------------------------------
return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- return $Answer; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } else { $Contract = DB_Select('Contracts', 'ID', array('UNIQ', 'Where' => SPrintF("`UserID` = %u AND `TypeID` = 'NaturalPartner'", $__USER['ID']))); #------------------------------------------------------------------------------- switch (ValueOf($Contract)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': $ContractID = DB_Insert('Contracts', $dContract); if (Is_Error($ContractID)) { return ERROR | @Trigger_Error(500); } $Answer = array('Status' => 'Ok', 'ContractID' => $ContractID); break; case 'array': #--------------------------------------------------------------------------- $ContractID = (int) $Contract['ID']; $Answer = array('Status' => 'Ok', 'ContractID' => $ContractID); break; default: return ERROR | @Trigger_Error(101); } # set status $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'Contracts', 'StatusID' => $StatusID, 'RowsIDs' => $ContractID));
#------------------------------------------------------------------------------- $IService = array('GroupID' => $GroupID, 'UserID' => $UserID, 'ServicesGroupID' => $ServicesGroupID, 'Name' => $Name, 'NameShort' => $NameShort, 'Item' => $Item, 'Measure' => $Measure, 'ConsiderTypeID' => $ConsiderTypeID, 'CostOn' => $CostOn, 'Cost' => $Cost, 'PartnersRewardPercent' => $PartnersRewardPercent, 'IsActive' => $IsActive, 'IsProlong' => $IsProlong, 'IsConditionally' => $IsConditionally, 'IsAutoInvoicing' => $IsAutoInvoicing, 'Params' => array('Statuses' => $Statuses), 'SortID' => $SortID); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Answer = array('Status' => 'Ok'); #------------------------------------------------------------------------------- if ($ServiceID) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Services', $IService, array('ID' => $ServiceID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $ServiceID = DB_Insert('Services', $IService); if (Is_Error($ServiceID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Answer['ServiceID'] = $ServiceID; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Upload = Upload_Get('Emblem'); #------------------------------------------------------------------------------- switch (ValueOf($Upload)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception':
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); } #----------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'ContractsEnclosures', 'StatusID' => 'Waiting', 'RowsIDs' => $ContractEnclosureID)); #----------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception':
#------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- # тарифа нет, если не разрешено автодобавление - топаем на след. круг цикла if (!$Settings['IsDomainSchemeCreate']) { continue; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Scheme = array('CreateDate' => Time(), 'GroupID' => 1, 'UserID' => 1, 'Name' => $Key, 'IsProlong' => TRUE, 'IsTransfer' => TRUE, 'CostOrder' => $NewPriceReg, 'CostProlong' => $NewPriceProlong, 'CostTransfer' => $NewPriceTransfer, 'ServerID' => $Registrator['ID'], 'MinOrderYears' => $Prices[$Key]['min.period'], 'MaxActionYears' => $Prices[$Key]['max.period'], 'SortID' => 20000); #------------------------------------------------------------------------------- $IsInsert = DB_Insert('DomainSchemes', $Scheme); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Message = SPrintF('Для регистратора %s добавлен новый тарифный план: %s', $Registrator['Params']['Name'], $Key); #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Tasks/GC/DomainCheckPriceList]: %s', $Message)); #------------------------------------------------------------------------------- if ($Settings['IsEvent']) { #------------------------------------------------------------------------------- $Event = array('Text' => $Message, 'PriorityID' => 'Notice', 'IsReaded' => FALSE); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); }
/** * Custom shutdown function. */ function __ShutDown_Function__() { #------------------------------------------------------------------------------- // Catch Fatal Errors. $lastError = error_get_last(); #------------------------------------------------------------------------------- if ($lastError != NULL) { #------------------------------------------------------------------------------- $Message = SPrintF('[%s]-%s в линии %s файла %s', $lastError['type'], $lastError['message'], $lastError['line'], $lastError['file']); #------------------------------------------------------------------------------- Debug(SPrintF('[!] %s', $Message)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # added by lissyara 2011-10-12 in 16:15 MSK, for JBS-173 #Debug("[JBs core]:" . print_r($GLOBALS, true)); list($Micro, $Seconds) = Explode(' ', MicroTime()); #------------------------------------------------------------------------------- $WorkTimeTmp = (double) $Micro + (double) $Seconds - START_TIME; #------------------------------------------------------------------------------- $UserData = array('CreateDate' => Time(), 'UserID' => isset($GLOBALS['__USER']) ? $GLOBALS['__USER']['ID'] : 10, 'REMOTE_ADDR' => isset($GLOBALS['_SERVER']['REMOTE_ADDR']) ? $GLOBALS['_SERVER']['REMOTE_ADDR'] : '', 'REQUEST_URI' => isset($GLOBALS['_SERVER']['REQUEST_URI']) ? $GLOBALS['_SERVER']['REQUEST_URI'] : '', 'HTTP_REFERER' => isset($GLOBALS['_SERVER']['HTTP_REFERER']) ? $GLOBALS['_SERVER']['HTTP_REFERER'] : '', 'HTTP_USER_AGENT' => isset($GLOBALS['_SERVER']['HTTP_USER_AGENT']) ? $GLOBALS['_SERVER']['HTTP_USER_AGENT'] : '', 'WORK_TIME' => $WorkTimeTmp, 'TIME_MYSQL' => $GLOBALS['__TIME_MYSQL'], 'COUNTER_MYSQL' => $GLOBALS['__COUNTER_MYSQL'], 'COUNTER_COMPS' => $GLOBALS['__COUNTER_COMPS']); #------------------------------------------------------------------------------- if ($GLOBALS['_SERVER']['REQUEST_URI'] != '/API/Events') { #------------------------------------------------------------------------------- $IsInsert = DB_Insert('RequestLog', $UserData); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- list($Micro, $Seconds) = Explode(' ', MicroTime()); #------------------------------------------------------------------------------- if (!Define('WORK_TIME', (double) $Micro + (double) $Seconds - START_TIME)) { exit('[JBs core]: не удалось определить константу (WORK_TIME)'); } #------------------------------------------------------------------------------- Debug(SPrintF('[JBs core]: система работала: %s', WORK_TIME)); #------------------------------------------------------------------------------- # added by lissyara, 2011-10-11 in 15:27 MSK Debug(SPrintF('[JBs core]: время работы MySQL: %s [%s%%]', $GLOBALS['__TIME_MYSQL'], Round($GLOBALS['__TIME_MYSQL'] / WORK_TIME * 100, 2))); #------------------------------------------------------------------------------- Debug(SPrintF('[JBs core]: запросов к MySQL: %u', $GLOBALS['__COUNTER_MYSQL'])); #------------------------------------------------------------------------------- Debug(SPrintF('[JBs core]: загружено компонентов: %u', $GLOBALS['__COUNTER_COMPS'])); #------------------------------------------------------------------------------- Debug(''); Debug(''); Debug(''); Debug(''); #------------------------------------------------------------------------------- }
case 'exception': # No more... break; case 'array': #------------------------------------------------------------------------------- $ITicketMessage['FileName'] = $Upload['Name']; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $MessageID = DB_Insert('EdesksMessages', $ITicketMessage); if (Is_Error($MessageID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (isset($ITicketMessage['FileName'])) { if (!SaveUploadedFile('EdesksMessages', $MessageID, $Upload['Data'])) { return new gException('CANNOT_SAVE_UPLOADED_FILE', 'Не удалось сохранить загруженный файл'); } } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($__USER['ID'] != (int) $Ticket['UserID']) { #------------------------------------------------------------------------------- $Count = DB_Count('EdesksMessages', array('Where' => SPrintF('`EdeskID` = %d AND `UserID` != %u', $Ticket['ID'], (int) $Ticket['UserID']))); if (Is_Error($Count)) {
$UpTimes = DB_Select('ServersUpTime', array('ServerID', 'Service', 'TestDate', 'Day', 'Month', 'Year', 'AVG(`UpTime`) as `UpTime`', 'Count(`UpTime`) as `Count`'), array('GroupBy' => array('ServerID', 'Service', 'Day', 'Month', 'Year'))); #------------------------------------------------------------------------------- switch (ValueOf($UpTimes)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more.. break; case 'array': #--------------------------------------------------------------------------- foreach ($UpTimes as $UpTime) { #------------------------------------------------------------------------- $IsDelete = DB_Delete('ServersUpTime', array('Where' => SPrintF("`Day` = %u AND `Month` = %u AND `Year` = %u AND `ServerID` = %u AND `Service` = '%s'", $UpTime['Day'], $UpTime['Month'], $UpTime['Year'], $UpTime['ServerID'], $UpTime['Service']))); if (Is_Error($IsDelete)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $IPage = array('ServerID' => $UpTime['ServerID'], 'Service' => $UpTime['Service'], 'TestDate' => $UpTime['TestDate'], 'Day' => $UpTime['Day'], 'Month' => $UpTime['Month'], 'Year' => $UpTime['Year'], 'UpTime' => $UpTime['UpTime'], 'Count' => $UpTime['Count']); #----------------------------------------------------------------------- $IsInsert = DB_Insert('ServersUpTime', $IPage); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } } break; default: return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
return ERROR | @Trigger_Error(500); case 'exception': continue 2; case 'array': # No more... break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- foreach ($HostingServers as $HostingServer) { #------------------------------------------------------------------------------- $Server = array('TemplateID' => 'Hosting', 'ServersGroupID' => $ServersGroupID, 'IsActive' => TRUE, 'IsDefault' => $HostingServer['IsDefault'], 'Protocol' => $HostingServer['Protocol'], 'Address' => $HostingServer['Address'], 'Port' => $HostingServer['Port'], 'Login' => $HostingServer['Login'], 'Password' => $HostingServer['Password'], 'Params' => array('SystemID' => $HostingServer['SystemID'], 'IP' => $HostingServer['IP'], 'BalancingFactor' => $HostingServer['BalancingFactor'], 'IsAutoBalancing' => $HostingServer['IsAutoBalancing'], 'Domain' => $HostingServer['Domain'], 'Prefix' => $HostingServer['Prefix'], 'Theme' => $HostingServer['Theme'], 'Language' => $HostingServer['Language'], 'Url' => $HostingServer['Url'], 'Ns1Name' => $HostingServer['Ns1Name'], 'Ns2Name' => $HostingServer['Ns2Name'], 'Ns3Name' => $HostingServer['Ns3Name'], 'Ns4Name' => $HostingServer['Ns4Name'], 'IPsPool' => $HostingServer['IPsPool'], 'MySQL' => $HostingServer['MySQL']), 'AdminNotice' => $HostingServer['Notice'], 'SortID' => 10000, 'IsOK' => $HostingServer['IsOK'], 'Monitoring' => $HostingServer['Services']); #------------------------------------------------------------------------------- $ServerID = DB_Insert('Servers', $Server); if (Is_Error($ServerID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # соответствие старых идентификаторов новым $HS[$HostingServer['ID']] = $ServerID; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Orders = DB_Select('HostingOrders', array('ID', 'OrderID'), array('Where' => SPrintF('`ServerID` = %u', $HostingServer['ID']))); #------------------------------------------------------------------------------- switch (ValueOf($Orders)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception':
#------------------------------------------------------------------------------- #-------------------------------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); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # Проверяем, не надо ли сделать юзера рефералом if ($PromoCode['OwnerID'] > 2000) { $User = DB_Select('Users', '*', array('UNIQ', 'ID' => $GLOBALS['__USER']['ID'])); #------------------------------------------------------------------------------- switch (ValueOf($User)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array':
$IBasket = array('OrderID' => $VPSOrder['OrderID'], 'Comment' => SPrintF('Тариф: %s, с %s по %s', $VPSScheme['Name'], $sDate, $tDate), 'Amount' => $DaysPay, 'Summ' => $CostPay); #----------------------------------------------------------------- $Count = DB_Count('Basket', array('Where' => SPrintF('`OrderID` = %u', $VPSOrder['OrderID']))); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- if ($Count) { #--------------------------------------------------------------- $IsInsert = DB_Update('Basket', $IBasket, array('Where' => SPrintF('`OrderID` = %u', $VPSOrder['OrderID']))); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } } else { #--------------------------------------------------------------- $IsInsert = DB_Insert('Basket', $IBasket); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } } #----------------------------------------------------------------- $Comp = Comp_Load('Basket/Update', $VPSOrder['UserID'], $VPSOrder['OrderID']); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- return array('Status' => 'UseBasket'); } else { #----------------------------------------------------------------- $Comp = Comp_Load('Formats/Order/Number', $VPSOrder['OrderID']); if (Is_Error($Comp)) {
} #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Answer = array('Status' => 'Ok'); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($CollationID) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('PaymentSystemsCollation', $UCollation, array('ID' => $CollationID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $CollationID = DB_Insert('PaymentSystemsCollation', $UCollation); if (Is_Error($CollationID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Answer['CollationID'] = $CollationID; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($Window) {
if (!isset($pAttribs[$AttribID])) { $pAttribs[$AttribID] = $tAttribs[$AttribID]['Value']; } } #--------------------------------------------------------------------- $Replace = Array_ToLine($pAttribs, '%'); #--------------------------------------------------------------------- $ProfileName = $Template['ProfileName']; #--------------------------------------------------------------------- foreach (Array_Keys($Replace) as $Key) { $ProfileName = Str_Replace($Key, $Replace[$Key], $ProfileName); } #--------------------------------------------------------------------- $IProfile = array('CreateDate' => GetTime($Profile['CreateDate']), 'UserID' => $UserID, 'TemplateID' => $Profile['TemplateID'], 'Name' => $ProfileName, 'Attribs' => $pAttribs, 'StatusID' => 'Checked', 'StatusDate' => GetTime($Profile['CreateDate'])); #--------------------------------------------------------------------- $ProfileID = DB_Insert('Profiles', $IProfile); if (Is_Error($ProfileID)) { return ERROR | @Trigger_Error(500); } } } #------------------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- echo "Успешно импортирован\n"; break; case 'array': echo "Уже существует\n"; continue 2;
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'exception': #------------------------------------------------------------------------------- # нет такой лицензии в нашем биллинге Debug(SPrintF('[comp/Tasks/ISPswCheckLicenses]: not found license #%s', $License['id'])); #------------------------------------------------------------------------------- $Event = array('UserID' => 100, 'PriorityID' => 'Error', 'Text' => SPrintF('Найдена неучтённая лицензия ISPsystem #%u, продукт (%s), период (%s), IP (%s)', $License['id'], $License['pricelist_id'], $License['period'], $License['ip']), 'IsReaded' => FALSE); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- #------------------------------------------------------------------------------- # вносим лицензию в БД $IsInsert = DB_Insert('ISPswLicenses', array('pricelist_id' => $License['pricelist_id'], 'period' => $License['period'], 'addon' => $addon, 'IP' => $License['ip'], 'remoteip' => isset($License['remoteip']) ? $License['remoteip'] : '', 'elid' => $License['id'], 'LicKey' => $License['lickey'], 'IsInternal' => 'no', 'IsUsed' => 'no', 'ISPname' => isset($License['licname']) ? $License['licname'] : 'Имя не задано', 'StatusID' => $StatusID, 'CreateDate' => Time(), 'ip_change_date' => StrToTime($License['ip_change_date']), 'lickey_change_date' => StrToTime($License['lickey_change_date']), 'StatusDate' => Time(), 'ExpireDate' => $ExpireDate, 'Flag' => 'Locked')); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'array': #------------------------------------------------------------------------------- # лицензия в биллинге есть Debug(SPrintF('[comp/Tasks/ISPswCheckLicenses]: found license #%u', $License['id'])); #------------------------------------------------------------------------------- if (StrLen($License['lickey']) < 2 && $License['pricelist_id'] > 1000) { #------------------------------------------------------------------------------- # у лицензии нет ключа. Вешаем ахтунг...
$After = $Contract['Balance'] - $Invoice['Summ']; #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Contracts', array('Balance' => $After), array('ID' => $Invoice['ContractID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # заносим запись в историю операций с контрактами $Number = Comp_Load('Formats/Invoice/Number', $Invoice['ID']); if (Is_Error($Number)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IPosting = array('ContractID' => $Invoice['ContractID'], 'ServiceID' => 2000, 'Comment' => SPrintF('Возврат средств зачисленных по счёту #%u (транзакция отменена)', $Number), 'Before' => $Contract['Balance'], 'After' => $After); #------------------------------------------------------------------------------- $PostingID = DB_Insert('Postings', $IPosting); if (Is_Error($PostingID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Event = array('UserID' => $Invoice['UserID'], 'PriorityID' => 'Billing', 'IsReaded' => FALSE, 'Text' => SPrintF('Осуществлён автоматический возврат средств по счёту #%u, процессинговый центр прислал статус "%s"', $Number, $Args['Status'])); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- foreach (Array_Keys($Wheres) as $Key) { #------------------------------------------------------------------------------- $Where = $Wheres[$Key]; #------------------------------------------------------------------------------- $Where[] = SPrintF('`SchemeID` = %u', $Scheme['ID']); #------------------------------------------------------------------------------- $Count = DB_Count(SPrintF('%sOrdersOwners', $Service['Code']), array('Where' => $Where)); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Statistics[$Key] = $Count; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $IsInsert = DB_Insert('Statistics', $Statistics); if (Is_Error($IsInsert)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # TODO услуги настроенные вручную - тоже надо #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return TRUE; #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------