function _post_save_vote(&$data, &$msg) { $msg->voteHash = md5(strtolower(substr($data['text'], 1))); // but if this person already voted, we need to unregister these previous votes DB_Update('UPDATE ' . getTableName('messages') . ' SET m_votehash = "", m_deleted = "Y" WHERE m_parent = ? AND m_author = ?', array($msg->parentKey, $msg->authorEntity->key())); DB_Update('DELETE FROM ' . getTableName('votes') . ' WHERE v_msg = ?', array($msg->parentKey)); // update the vote summary foreach (DB_GetList('SELECT COUNT(*) as votecount,m_data,m_id,m_votehash as count FROM ' . getTableName('messages') . ' WHERE m_parent = ? AND m_deleted = "N" AND m_type="post" AND m_votehash != "" GROUP BY m_votehash') as $vds) { $msgData = HubbubMessage::unpackData($vds); // get the some exemplary votes for this $voterList = array(); foreach (DB_GetList('SELECT m_author FROM ' . getTableName('messages') . ' WHERE m_parent = ? AND m_votehash = ? ORDER BY m_created DESC LIMIT 3', array($msg->parentKey, $vds['m_votehash'])) as $vex) { $voterList[] = $vex; } // if this is also what this message votes for, add it to the list if ($this->{$msg}->voteHash == $vds['m_votehash']) { $voterList[] = getDefault($msg->authorKey, $msg->ownerKey); } // make the vote summary dataset $voteDS = array('v_msg' => $msg->parentKey, 'v_choice' => $vds['m_votehash'], 'v_text' => $msgData['text'], 'v_voters' => implode(',', $voterList), 'v_count' => $vds['votecount']); DB_UpdateDataset('votes', $voteDS); } }
function DB_UpdateField($tableName, $rowId, $fieldName, $value) { if (is_array($value)) { $value = $value[$fieldName]; } $keys = DB_GetKeys($tableName); DB_Update('UPDATE ' . getTableName($tableName) . ' SET `' . $fieldName . '` = "' . DB_Safe($value) . '" WHERE `' . $keys[0] . '` = ' . ($rowId + 0)); }
$Notice = DB_Select(SPrintF('%sOwners', $TableID), array('ID', 'UserNotice', 'UserID'), array('UNIQ', 'ID' => $RowID)); #------------------------------------------------------------------------------- switch (ValueOf($Notice)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': #------------------------------------------------------------------------------- if ($GLOBALS['__USER']['ID'] != $Notice['UserID']) { if (!$GLOBALS['__USER']['IsAdmin']) { return ERROR | @Trigger_Error(700); } } #------------------------------------------------------------------------------- break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsUpdate = DB_Update($TableID, array('UserNotice' => $UserNotice), array('ID' => $RowID)); #------------------------------------------------------------------------------- if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function clearAllTables() { $this->skipView = true; foreach(explode(',', 'auditlog,connections,entities,idaccounts,localgroups,messages,nvstore,servers,usagestats,users,votes') as $table) DB_Update('TRUNCATE '.getTableName($table)); }
$ISPswLicenseID = (int) @$Args['ISPswLicenseID']; $Flag = (string) @$Args['Flag']; #$pricelist_id = (integer) @$Args['pricelist_id']; #$period = (string) @$Args['period']; #$addon = (integer) @$Args['addon']; $IsInternal = (bool) @$Args['IsInternal']; $IsUsed = (bool) @$Args['IsUsed']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Count = DB_Count('ISPswLicenses', array('ID' => $ISPswLicenseID)); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if (!$Count) { return new gException('LICENSE_NOT_FOUND', 'Лицензия не найдена'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IISPswLicense = array('Flag' => $Flag, 'IsInternal' => $IsInternal, 'IsUsed' => $IsUsed); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsUpdate = DB_Update('ISPswLicenses', $IISPswLicense, array('ID' => $ISPswLicenseID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $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); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsUpdate = DB_Update('ISPswOrders', array('SchemeID' => $NewSchemeID), array('ID' => $ISPswOrderID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'ISPswOrders', 'StatusID' => 'SchemeChange', 'RowsIDs' => $ISPswOrderID, 'Comment' => "Смена тарифа [" . $OldScheme['Name'] . "->" . $NewScheme['Name'] . "]")); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': #------------------------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) {
#------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #обновляем HostingSchemes.HardServerID $HostingSchemes = DB_Select('HostingSchemes', array('ID', 'HardServerID', 'tmpHardServerID'), array('Where' => '`HardServerID` > 0')); #------------------------------------------------------------------------------- switch (ValueOf($HostingSchemes)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': break; case 'array': #------------------------------------------------------------------------------- foreach ($HostingSchemes as $HostingScheme) { #------------------------------------------------------------------------------- $HS[$HostingServer['ID']] = $ServerID; $IsUpdate = DB_Update('HostingSchemes', array('HardServerID' => $HS[$HostingScheme['tmpHardServerID']]), array('ID' => $HostingScheme['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsQuery = DB_Query('ALTER TABLE `HostingOrders` DROP FOREIGN KEY `HostingOrdersServerID`');
#------------------------------------------------------------------------------- $IsCreate = Call_User_Func_Array(array($VPSServer, 'Create'), $Args); #------------------------------------------------------------------------------- switch (ValueOf($IsCreate)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return $IsCreate; case 'array': break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- # вносим адрес в базу $IsUpdate = DB_Update('VPSOrders', array('IP' => $IsCreate['IP']), array('ID' => $VPSOrder['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error('[comp/Tasks/VPSCreate]: не удалось прописать IP адрес для виртуального сервера'); } #------------------------------------------------------------------------------- # вписываем адрес в массив, чтоб не лазить в базу $VPSOrder['IP'] = $IsCreate['IP']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'VPSOrders', 'StatusID' => 'Active', 'RowsIDs' => $VPSOrder['ID'], 'Comment' => 'Заказ создан на сервере')); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400);
#----------------------------------------------------------------------- $ExpirationDate = $Order['ExpirationDate'] + $Order['MinDaysPay'] * 86400; #----------------------------------------------------------------------- $IsUpdate = DB_Update($UniqID, array('ExpirationDate' => $ExpirationDate), array('ID' => $Order['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } break; default: return ERROR | @Trigger_Error(101); } #----------------------------------------------------------------------------- foreach ($Balances as $ContractID => $Balance) { #--------------------------------------------------------------------------- $IsUpdate = DB_Update($UniqID, array('Balance' => $Balance), array('Where' => SPrintF('`ContractID` = %u', $ContractID))); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } } #------------------------------------------------------------------------------- $Table[] = $Head; #------------------------------------------------------------------------------- foreach ($Incomes as $Income) { #----------------------------------------------------------------------------- $Line = array($Income['Customer'], $Income['Login'], $Income['Domain']); #----------------------------------------------------------------------------- for ($Month = $sMonth; $Month <= $sMonth + $Epoches; $Month++) { #--------------------------------------------------------------------------- if (isset($Income[$Month])) {
case 'ForProlong': #------------------------------------------------------------------------------- $IsProlong = $Server->DomainProlong($DomainOrder['DomainName'], $DomainOrder['DomainZone'], (int) $DomainOrder['YearsRemainded'], $DomainOrder['PersonID'], $DomainOrder['DomainID']); #------------------------------------------------------------------------------- switch (ValueOf($IsProlong)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return new gException('TRANSFER_TO_OPERATOR', 'Задание не может быть выполнено автоматически и передано оператору'); case 'false': return 300; case 'array': #------------------------------------------------------------------------------- $Task['Params']['TicketID'] = $IsProlong['TicketID']; #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Tasks', array('Params' => $Task['Params']), array('ID' => $Task['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'DomainOrders', 'StatusID' => 'OnProlong', 'RowsIDs' => $DomainOrderID, 'Comment' => 'Регистратор принял заявку на продление доменного имени')); #------------------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': return 300; default: return ERROR | @Trigger_Error(101);
#------------------------------------------------------------------------------- case 'true': #------------------------------------------------------------------------------- if (isset($IsInternal)) { #------------------------------------------------------------------------------- if (In_Array($DomainOrder['StatusID'], array('Active', 'Suspended', 'ForTransfer', 'OnTransfer'))) { #------------------------------------------------------------------------------- # add admin message $Event = array('UserID' => 1, 'PriorityID' => 'Error', 'Text' => SPrintF('Домен %s.%s является свободным, невозможно обновить информацию WhoIs', $DomainOrder['DomainName'], $DomainOrder['SchemeName']), 'IsReaded' => $IsReaded); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # update last whois update date $IsUpdate = DB_Update('DomainOrders', array('UpdateDate' => Time()), array('ID' => $DomainOrder['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- return TRUE; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- return new gException('DOMAIN_IS_FREE', SPrintF('Доменное имя %s.%s является свободным', $DomainOrder['DomainName'], $DomainOrder['SchemeName'])); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- # заказ ссылается на несуществующую лицензию. вывешиваем ахтунг $Event = array('UserID' => 100, 'PriorityID' => 'Error', 'Text' => SPrintF('Заказ ПО #%s ссылается на несуществующую лицензию #%s', $ISPswOrder['OrderID'], $ISPswOrder['LicenseID']), 'IsReaded' => FALSE); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'array': #------------------------------------------------------------------------------- if ($License['IP'] != $ISPswOrder['IP']) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('ISPswOrders', array('IP' => $License['IP']), array('ID' => $ISPswOrder['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } else { #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $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 { #------------------------------------------------------------------------------- $CollationID = DB_Insert('PaymentSystemsCollation', $UCollation); if (Is_Error($CollationID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Answer['CollationID'] = $CollationID; #------------------------------------------------------------------------------- } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (IntVal($User['OwnerID']) > 0 && $PromoCode['ForceOwner'] || IntVal($User['OwnerID']) == 0) { $IsUpdate = DB_Update('Users', array('OwnerID' => $PromoCode['OwnerID']), array('ID' => $GLOBALS['__USER']['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # считаем число заюзанных промокодов $Count = DB_Count('PromoCodesExtinguished', array('Where' => SPrintF('`PromoCodeID` = %u', $PromoCode['ID']))); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # обновляем число заюзанных промокодов # TODO подумать надо ли это. можно просто SELECT по двум таблицам гонять и не парится $IsUpdate = DB_Update('PromoCodes', array('CurrentAmount' => $Count), array('ID' => $PromoCode['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Status' => 'Ok'); #-------------------------------------------------------------------------------
return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- break; case 'array': # No more... break; default: return ERROR | @Trigger_Error(101); } } } break; default: return ERROR | @Trigger_Error(101); } #--------------------------------------------------------------------------- $IsUpdate = DB_Update('Invoices', array('IsPosted' => TRUE), array('ID' => $Invoice['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- return TRUE; default: return ERROR | @Trigger_Error(101); } #-------------------------------------------------------------------------------
case 'error': # No more... break; case 'exception': # No more... break; case 'array': Debug(print_r($Templates, true)); #------------------------------------------------------------------------------- if (SizeOf($Templates) < 1) { continue 2; } #------------------------------------------------------------------------------- $iServer['Params']['DiskTemplate'] = Implode("\n", $Templates); #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Servers', array('Params' => $iServer['Params']), array('ID' => $iServer['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return TRUE;
#------------------------------------------------------------------------------- $Tr->AddChild(new Tag('TD', $Comp)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- # add SeenByPersonal/LastSeenBy fields $IsUpdate = DB_Update('Edesks', array('SeenByPersonal' => Time(), 'LastSeenBy' => $__USER['ID']), array('ID' => $TicketID)); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Table[] = new Tag('TABLE', $Tr); #------------------------------------------------------------------------------- if ($__USER['ID'] == $Ticket['UserID']) { # ordinar user #------------------------------------------------------------------------------- $color = "white"; $PlaceHolder = "Введите ваше сообщение"; #------------------------------------------------------------------------------- } else {
return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # добавляем новую колонку к таблице $IsQuery = DB_Query('ALTER TABLE `DSSchemes` ADD `CPU` VARCHAR(128) NOT NULL AFTER `SortID`'); if (Is_Error($IsQuery)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($IsUpdate) { #------------------------------------------------------------------------------- foreach ($Schemes as $Scheme) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('DSSchemes', array('CPU' => SPrintF('%sx %s %s (%s cores)', $Scheme['numcpu'], $CPUtype[$Scheme['cputype']], $Scheme['cpufreq'], $Scheme['numcores'])), array('ID' => $Scheme['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # Удаляем колонки foreach (array('cputype', 'cpuarch', 'numcpu', 'numcores', 'cpufreq') as $Column) { #------------------------------------------------------------------------------- $IsQuery = DB_Query(SPrintF('ALTER TABLE `DSSchemes` DROP `%s`', $Column)); if (Is_Error($IsQuery)) { return ERROR | @Trigger_Error(500);
<?php include "class_include.php"; switch ($_POST['mod']) { case "notice": $message = $_POST['message']; $message = urlencode($message); $sql = DB_Update("setting", array("notice" => $message)); break; case "permission": $off = $_POST["off"]; $sql = DB_Update("setting", array("permission" => $off)); break; } $result = DB_Query($sql, $con); if ($result) { System_messagebox("操作成功!", "success", "/admin"); } else { DB_printerror(DB_Error($con)); }
return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $DomainSchemes = DB_Select('DomainSchemes', array('ID', 'ServerID', 'tmpServerID'), array('Where' => '`ServerID` > 0')); #------------------------------------------------------------------------------- switch (ValueOf($DomainSchemes)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': break; case 'array': #------------------------------------------------------------------------------- foreach ($DomainSchemes as $DomainScheme) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('DomainSchemes', array('ServerID' => $RS[$DomainScheme['tmpServerID']]), array('ID' => $DomainScheme['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # удаляем Registrators
$IOrdersTransfer = DB_Select('OrdersTransfer', array('*', '(SELECT `NameShort` FROM `Services` WHERE `Services`.`ID` = `OrdersTransfer`.`ServiceID`) AS `NameShort`', '(SELECT `Code` FROM `Services` WHERE `Services`.`ID` = `OrdersTransfer`.`ServiceID`) AS `Code`'), array('Where' => $Where)); #------------------------------------------------------------------------------- switch (ValueOf($IOrdersTransfer)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #------------------------------------------------------------------------------- foreach ($IOrdersTransfer as $OrdersTransfer) { #------------------------------------------------------------------------------- # проверяем, не прошло ли время передачи аккаунта? if ($OrdersTransfer['CreateDate'] + 24 * 3600 < Time()) { # помечаем как выполненную $IsUpdate = DB_Update('OrdersTransfer', array('IsExecuted' => TRUE), array('ID' => $OrdersTransfer['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # достаём данные передающей стороны $User = DB_Select('Users', array('ID', 'Email'), array('UNIQ', 'ID' => $OrdersTransfer['UserID'])); #------------------------------------------------------------------------------- switch (ValueOf($User)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception':
#------------------------------------------------------------------------------- if ($Count) { return new gException('DUPLICATE_SERVICE_ITEM', SPrintF('Услуга с именем "%s" для раздела меню уже есть. Выберите другое имя услуги для меню', $Item)); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- #Debug(SPrintF('[comp/www/Administrator/API/ServiceEdit]: Statuses = %s',print_r($Statuses,true))); #------------------------------------------------------------------------------- $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; #------------------------------------------------------------------------------- } #-------------------------------------------------------------------------------
#----------------------------------------------------------------- $IsUpdate = Comp_Load('www/Administrator/API/PostingMake', array('ContractID' => $VPSOrder['ContractID'], 'Summ' => -$CostPay, 'ServiceID' => $VPSOrder['ServiceID'], 'Comment' => SPrintF('№%s на %s дн.', $Comp, $DaysPay))); #----------------------------------------------------------------- switch (ValueOf($IsUpdate)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': #------------------------------------------------------------- if (Is_Error(DB_Roll($TransactionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------- return $IsUpdate; case 'array': #------------------------------------------------------------- $IsUpdate = DB_Update('Orders', array('IsPayed' => TRUE), array('ID' => $VPSOrder['OrderID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------- switch ($StatusID) { case 'Waiting': #--------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'VPSOrders', 'StatusID' => 'OnCreate', 'RowsIDs' => $VPSOrderID, 'Comment' => $PayMessage ? $PayMessage : 'Заказ оплачен')); #--------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array':
#------------------------------------------------------------------------------- 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'); #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- # втыкаем новый учёт, на нужное число дней $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); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Is_Error(DB_Commit($TransactionID))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($Settings['IsEvent']) { #------------------------------------------------------------------------------- $Event = array('Text' => SPrintF('Изменено число оставшихся дней (%u->%u) для услуги #%u', $OrderConsider['SumDaysRemainded'], $Settings['ResetDaysTo'], $OrderID), 'PriorityID' => 'Error', 'IsReaded' => FALSE, 'UserID' => $UserID); #------------------------------------------------------------------------------- $Event = Comp_Load('Events/EventInsert', $Event);
#------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # перенос #------------------------------------------------------------------------------- $Deviation = $Schemes[$Key]['CostTransfer'] * (100 + $Settings['DomainPriceDeviationPercent']) / 100 - $Schemes[$Key]['CostTransfer']; #------------------------------------------------------------------------------- if ($Deviation < $Settings['DomainPriceDeviationSumm']) { $Deviation = $Settings['DomainPriceDeviationSumm']; } #------------------------------------------------------------------------------- if (Abs($Schemes[$Key]['CostTransfer'] - $NewPriceTransfer) > $Deviation) { #------------------------------------------------------------------------------- # прописываем новую цену в базе данных $IsUpdate = DB_Update('DomainSchemes', array('CostTransfer' => $NewPriceTransfer), array('ID' => $Schemes[$Key]['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Message = SPrintF('%s/%s: цена переноса изменена %s->%s', $Registrator['Params']['Name'], $Key, IntVal($Schemes[$Key]['CostTransfer']), $NewPriceTransfer); #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Tasks/GC/DomainCheckPriceList]: %s', $Message)); #------------------------------------------------------------------------------- if ($Settings['IsEvent'] && $Schemes[$Key]['IsActive']) { #------------------------------------------------------------------------------- $Event = array('Text' => $Message, 'PriorityID' => 'Notice', 'IsReaded' => FALSE); $Event = Comp_Load('Events/EventInsert', $Event); if (!$Event) { 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); case 'exception': return ERROR | @Trigger_Error(400); case 'array': break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- $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);
foreach ($Profiles as $Profile) { #------------------------------------------------------------------------- $Attribs = $Profile['Attribs']; #------------------------------------------------------------------------- $TemplateID = $Profile['TemplateID']; #------------------------------------------------------------------------- $Template = System_XML(SPrintF('profiles/%s.xml', $TemplateID)); if (Is_Error($Template)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------- $Replace = Array_ToLine($Attribs, '%'); #------------------------------------------------------------------------- $ProfileName = $Template['ProfileName']; #------------------------------------------------------------------------- foreach (Array_Keys($Replace) as $Key) { $ProfileName = Str_Replace($Key, $Replace[$Key], $ProfileName); } #------------------------------------------------------------------------- $IsUpdate = DB_Update('Profiles', array('Name' => $ProfileName), array('ID' => $Profile['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
$NewUserID = $MaxUserID['ID']; } #------------------------------------------------------------------------------- foreach ($OldUserIDs as $OldUserID) { $NewUserID++; # меняем ID юзера $IsUpdate = DB_Update('Users', array('ID' => $NewUserID), array('ID' => $OldUserID['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # Events $IsUpdate = DB_Update('Events', array('UserID' => $NewUserID), array('Where' => SPrintF('`UserID` = %u', $OldUserID['ID']))); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } # RequestLog $IsUpdate = DB_Update('RequestLog', array('UserID' => $NewUserID), array('Where' => SPrintF('`UserID` = %u', $OldUserID['ID']))); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } } #------------------------------------------------------------------------------- $MaxID = DB_Query(SPrintF('ALTER TABLE `Users` AUTO_INCREMENT=%u;', $NewUserID + 2)); if (Is_Error($MaxID)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
} #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- // no message, but, may be need change flag? if ($__USER['ID'] != (int) $Ticket['UserID']) { #------------------------------------------------------------------------------- $u_array = array('UpdateDate' => Time(), 'Flags' => $Flags); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $u_array = array('UpdateDate' => Time()); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $IsUpdate = DB_Update('Edesks', $u_array, array('ID' => $Ticket['ID'])); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $StatusID = $Ticket['StatusID']; #------------------------------------------------------------------------------- $StatusID = $IsClose ? 'Closed' : ($Ticket['UserID'] != $__USER['ID'] ? 'Opened' : ($StatusID != 'Newest' ? 'Working' : 'Newest')); #------------------------------------------------------------------------------- if ($StatusID != $Ticket['StatusID']) { #------------------------------------------------------------------------------- $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'Edesks', 'StatusID' => $StatusID, 'IsNotNotify' => TRUE, 'RowsIDs' => $Ticket['ID'])); #-------------------------------------------------------------------------------