Esempio n. 1
0
 public function getParameterAnnotations(\ReflectionParameter $parameter)
 {
     $class = $parameter->getDeclaringClass() ?: 'Closure';
     $method = $parameter->getDeclaringFunction();
     if (!$method->isUserDefined()) {
         return array();
     }
     $context = 'parameter ' . ($class === 'Closure' ? $class : $class->getName()) . '::' . $method->getName() . '($' . $parameter->getName() . ')';
     if ($class === 'Closure') {
         $this->parser->setImports($this->getClosureImports($method));
     } else {
         $this->parser->setImports($this->getImports($class));
         $this->parser->setIgnoredAnnotationNames($this->getIgnoredAnnotationNames($class));
     }
     $lines = file($method->getFileName());
     $lines = array_slice($lines, $start = $method->getStartLine() - 1, $method->getEndLine() - $start);
     $methodBody = Implode($lines);
     $methodBody = str_replace("\n", null, $methodBody);
     $signature = preg_split('/\\)\\s*\\{/', $methodBody);
     $signature = $signature[0];
     $signature = substr($signature, strpos($signature, "function"));
     if (preg_match_all('/\\/\\*\\*(.*?)\\*\\/' . '.*?\\$(\\w+)/', $signature, $matches)) {
         $docComments = $matches[1];
         $names = $matches[2];
         for ($i = 0, $len = count($names); $i < $len; ++$i) {
             if ($names[$i] === $parameter->name) {
                 return $this->parser->parse($docComments[$i], $context);
             }
         }
     }
     return array();
 }
Esempio n. 2
0
 protected function _CacheBadges(&$Sender)
 {
     $Discussion = $Sender->Data('Discussion');
     $Comments = $Sender->Data('CommentData');
     $TopPostersModule = new TopPostersModule();
     $UserIDList = array();
     if ($Discussion) {
         $UserIDList[$Discussion->InsertUserID] = 1;
     }
     if ($Comments && $Comments->NumRows()) {
         $Comments->DataSeek(-1);
         while ($Comment = $Comments->NextRow()) {
             $UserIDList[$Comment->InsertUserID] = 1;
         }
     }
     $UserBadges = array();
     if (sizeof($UserIDList)) {
         $Limit = Gdn::Config('TopPosters.Limit');
         $Limit = !$Limit || $Limit == 0 ? 10 : $Limit;
         $arrExcludedUsers = Gdn::Config('TopPosters.Excluded');
         $usersExcluded = is_array($arrExcludedUsers) ? ' AND UserID not in (' . Implode(',', $arrExcludedUsers) . ')' : "";
         $TopPostersModule->GetData();
         $Badges = $TopPostersModule->getTopPosters();
         $Badges->DataSeek(-1);
         $i = 1;
         while ($UserBadge = $Badges->NextRow()) {
             $UserBadges[$UserBadge->UserID] = $i++;
         }
     }
     $Sender->SetData('Plugin-Badge-Counts', $UserBadges);
 }
Esempio n. 3
0
 protected function ReadInternal($Buffer, $Length, $SherlockFunction)
 {
     if ($Buffer->Remaining() === 0) {
         throw new InvalidPacketException('Failed to read any data from socket', InvalidPacketException::BUFFER_EMPTY);
     }
     $Header = $Buffer->GetLong();
     if ($Header === -1) {
         // We don't have to do anything
     } else {
         if ($Header === -2) {
             $Packets = [];
             $IsCompressed = false;
             $ReadMore = false;
             do {
                 $RequestID = $Buffer->GetLong();
                 switch ($this->Engine) {
                     case SourceQuery::GOLDSOURCE:
                         $PacketCountAndNumber = $Buffer->GetByte();
                         $PacketCount = $PacketCountAndNumber & 0xf;
                         $PacketNumber = $PacketCountAndNumber >> 4;
                         break;
                     case SourceQuery::SOURCE:
                         $IsCompressed = ($RequestID & 0x80000000) !== 0;
                         $PacketCount = $Buffer->GetByte();
                         $PacketNumber = $Buffer->GetByte() + 1;
                         if ($IsCompressed) {
                             $Buffer->GetLong();
                             // Split size
                             $PacketChecksum = $Buffer->GetUnsignedLong();
                         } else {
                             $Buffer->GetShort();
                             // Split size
                         }
                         break;
                 }
                 $Packets[$PacketNumber] = $Buffer->Get();
                 $ReadMore = $PacketCount > sizeof($Packets);
             } while ($ReadMore && $SherlockFunction($Buffer, $Length));
             $Data = Implode($Packets);
             // TODO: Test this
             if ($IsCompressed) {
                 // Let's make sure this function exists, it's not included in PHP by default
                 if (!Function_Exists('bzdecompress')) {
                     throw new \RuntimeException('Received compressed packet, PHP doesn\'t have Bzip2 library installed, can\'t decompress.');
                 }
                 $Data = bzdecompress($Data);
                 if (CRC32($Data) !== $PacketChecksum) {
                     throw new InvalidPacketException('CRC32 checksum mismatch of uncompressed packet data.', InvalidPacketException::CHECKSUM_MISMATCH);
                 }
             }
             $Buffer->Set(SubStr($Data, 4));
         } else {
             throw new InvalidPacketException('Socket read: Raw packet header mismatch. (0x' . DecHex($Header) . ')', InvalidPacketException::PACKET_HEADER_MISMATCH);
         }
     }
     return $Buffer;
 }
Esempio n. 4
0
 public function Read($Length = 1400)
 {
     $this->Buffer->Set(FRead($this->Socket, $Length));
     if ($this->Buffer->Remaining() > 0 && $this->Buffer->GetLong() == -2) {
         $Packets = array();
         $IsCompressed = false;
         $ReadMore = false;
         do {
             $RequestID = $this->Buffer->GetLong();
             switch ($this->Engine) {
                 case CI_SourceQuery::GOLDSOURCE:
                     $PacketCountAndNumber = $this->Buffer->GetByte();
                     $PacketCount = $PacketCountAndNumber & 0xf;
                     $PacketNumber = $PacketCountAndNumber >> 4;
                     break;
                 case CI_SourceQuery::SOURCE:
                     $IsCompressed = ($RequestID & 0x80000000) != 0;
                     $PacketCount = $this->Buffer->GetByte();
                     $PacketNumber = $this->Buffer->GetByte() + 1;
                     if ($IsCompressed) {
                         $this->Buffer->GetLong();
                         // Split size
                         $PacketChecksum = $this->Buffer->GetUnsignedLong();
                     } else {
                         $this->Buffer->GetShort();
                         // Split size
                     }
                     break;
             }
             $Packets[$PacketNumber] = $this->Buffer->Get();
             $ReadMore = $PacketCount > sizeof($Packets);
         } while ($ReadMore && $this->Sherlock($Length));
         $Buffer = Implode($Packets);
         // TODO: Test this
         if ($IsCompressed) {
             // Let's make sure this function exists, it's not included in PHP by default
             if (!Function_Exists('bzdecompress')) {
                 throw new RuntimeException('Received compressed packet, PHP doesn\'t have Bzip2 library installed, can\'t decompress.');
             }
             $Data = bzdecompress($Data);
             if (CRC32($Data) != $PacketChecksum) {
                 throw new SourceQueryException('CRC32 checksum mismatch of uncompressed packet data.');
             }
         }
         $this->Buffer->Set(SubStr($Buffer, 4));
     }
 }
Esempio n. 5
0
 public function GetData()
 {
     $SQL = Gdn::SQL();
     $Limit = Gdn::Config('TopPosters.Limit');
     $Limit = !$Limit || $Limit == 0 ? 10 : $Limit;
     $Session = Gdn::Session();
     /*
     		$SQL
     			->Select('u.Name, u.CountComments, u.CountDiscussions')
     			->From('User u')			
     			->Where('u.CountComments >','0')
     			->Where('u.CountComments is not null') 
     			->OrderBy('u.CountComments','desc')
     			->Limit($Limit);		
     */
     $arrExcludedUsers = Gdn::Config('TopPosters.Excluded');
     $usersExcluded = is_array($arrExcludedUsers) ? ' AND UserID not in (' . Implode(',', $arrExcludedUsers) . ')' : "";
     $this->_TopPosters = $SQL->Query('SELECT UserID, Name, if(CountDiscussions is NULL,0,CountDiscussions) + if(CountComments is NULL,0,CountComments) as AllPosted FROM ' . $SQL->Database->DatabasePrefix . 'User WHERE 1 ' . $usersExcluded . ' HAVING AllPosted > 0  order by AllPosted desc, Name asc LIMIT ' . $Limit);
 }
Esempio n. 6
0
 static function generate($depth = False)
 {
     # Get current Filter string
     $filter = RawUrlDecode(Get_Query_Var('filter'));
     if (!empty($filter)) {
         $str_filter = $filter;
     } elseif (Is_Singular()) {
         $str_filter = StrToLower(Get_The_Title());
     } else {
         $str_filter = '';
     }
     # Explode Filter string
     $arr_current_filter = empty($str_filter) ? array() : PReg_Split('/(?<!^)(?!$)/u', $str_filter);
     Array_UnShift($arr_current_filter, '');
     $arr_filter = array();
     # This will be the function result
     $filter_part = '';
     # Check if we are inside a taxonomy archive
     $taxonomy_term = Is_Tax() ? Get_Queried_Object() : Null;
     foreach ($arr_current_filter as $filter_letter) {
         $filter_part .= $filter_letter;
         $arr_available_filters = self::getFilters($filter_part, $taxonomy_term);
         if (Count($arr_available_filters) <= 1) {
             break;
         }
         $active_filter_part = MB_SubStr(Implode($arr_current_filter), 0, MB_StrLen($filter_part) + 1);
         $arr_filter_line = array();
         foreach ($arr_available_filters as $available_filter) {
             $arr_filter_line[$available_filter] = (object) array('filter' => MB_StrToUpper(MB_SubStr($available_filter, 0, 1)) . MB_SubStr($available_filter, 1), 'link' => Post_Type::getArchiveLink($available_filter, $taxonomy_term), 'active' => $active_filter_part == $available_filter, 'disabled' => False);
         }
         $arr_filter[] = $arr_filter_line;
         # Check filter depth limit
         if ($depth && Count($arr_filter) >= $depth) {
             break;
         }
     }
     # Run a filter
     $arr_filter = Apply_Filters('glossary_prefix_filter_links', $arr_filter, $depth);
     return $arr_filter;
 }
Esempio n. 7
0
}
#-------------------------------------------------------------------------------
$__USER = $GLOBALS['__USER'];
#-------------------------------------------------------------------------------
$Path = Tree_Path('Groups', (int) $__USER['GroupID'], 'ID');
#-------------------------------------------------------------------------------
switch (ValueOf($Path)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return ERROR | @Trigger_Error(400);
    case 'array':
        #---------------------------------------------------------------------------
        $Result = array();
        #---------------------------------------------------------------------------
        $Where = array(SPrintF("((`GroupID` IN (%s) OR `UserID` = %u) AND `IsActive` = 'yes') OR ((SELECT COUNT(*) FROM `OrdersOwners` WHERE `OrdersOwners`.`ServiceID` = `Services`.`ID` AND `UserID` = %u) > 0)", Implode(',', $Path), $__USER['ID'], $__USER['ID']), "`IsHidden` != 'yes'");
        #---------------------------------------------------------------------------
        $Services = DB_Select('Services', array('ID', 'Code', 'Item', 'ServicesGroupID', 'IsActive', '(SELECT `Name` FROM `ServicesGroups` WHERE `ServicesGroups`.`ID` = `Services`.`ServicesGroupID`) as `ServicesGroupName`', '(SELECT `SortID` FROM `ServicesGroups` WHERE `ServicesGroups`.`ID` = `Services`.`ServicesGroupID`) as `ServicesSortID`'), array('SortOn' => array('ServicesSortID', 'SortID'), 'Where' => $Where));
        #---------------------------------------------------------------------------
        switch (ValueOf($Services)) {
            case 'error':
                return ERROR | @Trigger_Error(500);
            case 'exception':
                return FALSE;
            case 'array':
                #-----------------------------------------------------------------------
                $ServicesGroupID = UniqID();
                #-----------------------------------------------------------------------
                foreach ($Services as $Service) {
                    #---------------------------------------------------------------------
                    if ($Service['ServicesGroupID'] != $ServicesGroupID) {
Esempio n. 8
0
 $Where = array('`Cost` > 0', '`Discont` < 1', '`DaysRemainded` > 0', SPrintF('`OrderID` IN (%s)', Implode(',', $Array)));
 #-------------------------------------------------------------------------------
 $Count = DB_Count('OrdersConsider', array('Where' => $Where));
 if (Is_Error($Count)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 if ($Count) {
     continue;
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 #Debug(SPrintF('[comp/Tasks/GC/ResetOrdersDays]: UserID = %s; OrderIDs = %s',$UserID,Implode(',',$Array)));
 #-------------------------------------------------------------------------------
 # а ещё у него могут быть домены... которые учитываются иначе ... а ещё могут быть услуги настраиваемые вручную...
 $Where = array('`StatusID` = "Suspended" OR `StatusID` = "Active"', SPrintF('`UserID` = %u', $UserID), SPrintF('`ID` NOT IN (%s)', Implode(',', $Array)));
 #-------------------------------------------------------------------------------
 $Count = DB_Count('OrdersOwners', array('Where' => $Where));
 if (Is_Error($Count)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 #Debug(SPrintF('[comp/Tasks/GC/ResetOrdersDays]: OrdersOwners Count = %s',$Count));
 #-------------------------------------------------------------------------------
 if ($Count) {
     continue;
 }
 #-------------------------------------------------------------------------------
 Debug(SPrintF('[comp/Tasks/GC/ResetOrdersDays]: Изменено число оставшихся дней (%u->%u) для заказa OrderID = %s; юзер = %s', $OrderConsider['SumDaysRemainded'], $Settings['ResetDaysTo'], $OrderID, $UserID));
 #-------------------------------------------------------------------------------
 #----------------------------------TRANSACTION----------------------------------
Esempio n. 9
0
/** @author Великодный В.В. (Joonte Ltd.) */
/******************************************************************************/
/******************************************************************************/
$__args_list = array('PaymentSystemID', 'InvoiceID', 'Summ');
/******************************************************************************/
eval(COMP_INIT);
/******************************************************************************/
/******************************************************************************/
$Config = Config();
#-------------------------------------------------------------------------------
$Settings = $Config['Invoices']['PaymentSystems']['Yandex'];
#-------------------------------------------------------------------------------
$Send = $Settings['Send'];
#-------------------------------------------------------------------------------
$Send['Sum'] = Round($Summ / $Settings['Course'], 2);
#-------------------------------------------------------------------------------
$Send['customerNumber'] = $GLOBALS['__USER']['ID'];
#-------------------------------------------------------------------------------
$Send['orderNumber'] = $InvoiceID;
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID);
if (Is_Error($Comp)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$Md5 = array($Send['Sum'], $Send['CurrencyID'], $Send['BankID'], $Send['ShopID'], $Send['orderNumber'], $Send['customerNumber'], $Settings['Hash']);
#-------------------------------------------------------------------------------
$Send['md5'] = Md5(Implode(';', $Md5));
#-------------------------------------------------------------------------------
return $Send;
#-------------------------------------------------------------------------------
Esempio n. 10
0
     return ERROR | @Trigger_Error(500);
 case 'exception':
     #-------------------------------------------------------------------------------
     $Window = JSON_Encode(array('Url' => '/InvoiceMake', 'Args' => array('PaymentSystemID' => $PaymentSystemID, 'StepID' => 2)));
     #-------------------------------------------------------------------------------
     $ContractsTypesIDs = array();
     #-------------------------------------------------------------------------------
     foreach ($ContractsTypes as $ContractTypeID => $IsActive) {
         #-------------------------------------------------------------------------------
         if ($IsActive) {
             $ContractsTypesIDs[] = $ContractTypeID;
         }
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
     $Comp = Comp_Load('www/ContractMake', array('TypesIDs' => Implode(',', $ContractsTypesIDs), 'IsSimple' => TRUE, 'Window' => Base64_Encode($Window)));
     if (Is_Error($Comp)) {
         return ERROR | @Trigger_Error(500);
     }
     #-------------------------------------------------------------------------------
     return $Comp;
     #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 case 'array':
     #-------------------------------------------------------------------------------
     $Table[] = array('Платежная система', $PaymentSystem['Name']);
     #-------------------------------------------------------------------------------
     $Options = array();
     #-------------------------------------------------------------------------------
     foreach ($Contracts as $Contract) {
         #-------------------------------------------------------------------------------
Esempio n. 11
0
    return 'No args...';
}
#-------------------------------------------------------------------------------
$ArgsIDs = array('PAYMENT_ID', 'PAYEE_ACCOUNT', 'PAYMENT_AMOUNT', 'PAYMENT_UNITS', 'PAYMENT_METAL_ID', 'PAYMENT_BATCH_NUM', 'PAYER_ACCOUNT', 'ACTUAL_PAYMENT_OUNCES', 'USD_PER_OUNCE', 'FEEWEIGHT', 'TIMESTAMPGMT', 'V2_HASH');
#-------------------------------------------------------------------------------
foreach ($ArgsIDs as $ArgID) {
    $Args[$ArgID] = @$Args[$ArgID];
}
#-------------------------------------------------------------------------------
$Config = Config();
#-------------------------------------------------------------------------------
$Settings = $Config['Invoices']['PaymentSystems']['Egold'];
#-------------------------------------------------------------------------------
$Hash = array($Args['PAYMENT_ID'], $Args['PAYEE_ACCOUNT'], $Args['PAYMENT_AMOUNT'], $Args['PAYMENT_UNITS'], $Args['PAYMENT_METAL_ID'], $Args['PAYMENT_BATCH_NUM'], $Args['PAYER_ACCOUNT'], StrToUpper(Md5($Settings['Hash'])), $Args['ACTUAL_PAYMENT_OUNCES'], $Args['USD_PER_OUNCE'], $Args['FEEWEIGHT'], $Args['TIMESTAMPGMT']);
#-------------------------------------------------------------------------------
$Hash = StrToUpper(Md5(Implode(':', $Hash)));
#-------------------------------------------------------------------------------
if ($Hash != $Args['V2_HASH']) {
    return ERROR | @Trigger_Error('[comp/www/Merchant/Egold]: проверка подлинности завершилась не удачей');
}
#-------------------------------------------------------------------------------
$Invoice = DB_Select('Invoices', array('ID', 'Summ'), array('UNIQ', 'ID' => $Args['PAYMENT_ID']));
#-------------------------------------------------------------------------------
switch (ValueOf($Invoice)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return ERROR | @Trigger_Error(400);
    case 'array':
        #---------------------------------------------------------------------------
        if (Round($Invoice['Summ'] / $Settings['Course'], 2) != $Args['PAYEE_ACCOUNT']) {
Esempio n. 12
0
 function Extended_Implode($array, $separator = ', ', $last_separator = ' and ')
 {
     $array = (array) $array;
     if (Count($array) == 0) {
         return '';
     }
     if (Count($array) == 1) {
         return $array[0];
     }
     $last_item = Array_pop($array);
     $result = Implode($array, $separator) . $last_separator . $last_item;
     return $result;
 }
Esempio n. 13
0
                 } else {
                     #-------------------------------------------------------------------------------
                     $Array[] = $GLOBALS['TaskReturnInfo'][$Key];
                     #-------------------------------------------------------------------------------
                 }
                 #-------------------------------------------------------------------------------
             }
             #-------------------------------------------------------------------------------
         } else {
             #-------------------------------------------------------------------------------
             $Array[] = $GLOBALS['TaskReturnInfo'];
             #-------------------------------------------------------------------------------
         }
         #-------------------------------------------------------------------------------
         if (SizeOf($Array) > 0) {
             $AddPrameter = SPrintF('[%s]', Implode('; ', $Array));
         }
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
     echo SPrintF("%s in %s: Task #%s have executed [%s] %s\n", Date('Y-m-d', Time()), Date('H:i:s', Time()), $Number, $Task['TypeID'], $AddPrameter);
     #-------------------------------------------------------------------------------
     if (isset($GLOBALS['TaskReturnInfo'])) {
         unset($GLOBALS['TaskReturnInfo']);
     }
     #-------------------------------------------------------------------------------
     break;
     #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 default:
     return ERROR | @Trigger_Error(101);
Esempio n. 14
0
 public function send(Msg $msg)
 {
     // Get template file path.
     $templatePath = SPrintF('Notifies/Email/%s.tpl', $msg->getTemplate());
     $smarty = JSmarty::get();
     $smarty->clearAllAssign();
     if (!$smarty->templateExists($templatePath)) {
         throw new jException('Template file not found: ' . $templatePath);
     }
     $smarty->assign('Config', Config());
     foreach (array_keys($msg->getParams()) as $paramName) {
         $smarty->assign($paramName, $msg->getParam($paramName));
     }
     $message = $smarty->fetch($templatePath);
     try {
         // Debug("msg->getParam('Theme'): "+ $msg->getParam('Theme'));
         if ($msg->getParam('Theme')) {
             // Debug("SET THEME FROM PARAMS");
             $theme = $msg->getParam('Theme');
         } else {
             // Debug("SET THEME FROM TEMPLATE");
             $theme = $smarty->getTemplateVars('Theme');
         }
         // Debug("THEME: "+$theme);
         if (!$theme) {
             $theme = '$Theme';
         }
     } catch (Exception $e) {
         throw new jException(SPrintF("Can't fetch template: %s", $templatePath), $e->getCode(), $e);
     }
     $recipient = $msg->getParam('User');
     if (!$recipient['Email']) {
         throw new jException('E-mail address not found for user: '******'ID']);
     }
     $sender = $msg->getParam('From');
     $emailHeads = array(SPrintF('From: %s', $sender['Email']), 'MIME-Version: 1.0', 'Content-Transfer-Encoding: 8bit', SPrintF('Content-Type: multipart/mixed; boundary="----==--%s"', HOST_ID));
     // added by lissyara 2013-02-13 in 15:45 MSK, for JBS-609
     if ($msg->getParam('Message-ID')) {
         $emailHeads[] = SPrintF('Message-ID: %s', $msg->getParam('Message-ID'));
     }
     $Params = array();
     if ($msg->getParam('Recipient')) {
         $Params[] = $msg->getParam('Recipient');
     } else {
         $Params[] = $recipient['Email'];
     }
     $Params[] = $theme;
     $Params[] = $message;
     $Params[] = Implode("\r\n", $emailHeads);
     $Params[] = $recipient['ID'];
     if ($msg->getParam('EmailAttachments')) {
         $Params[] = $msg->getParam('EmailAttachments');
     } else {
         $Params[] = 'не определено';
     }
     $taskParams = array('UserID' => $recipient['ID'], 'TypeID' => 'Email', 'Params' => $Params);
     $result = Comp_Load('www/Administrator/API/TaskEdit', $taskParams);
     switch (ValueOf($result)) {
         case 'error':
             throw new jException("Couldn't add task to queue: " . $result);
         case 'exception':
             throw new jException("Couldn't add task to queue: " . $result->String);
         case 'array':
             return TRUE;
         default:
             throw new jException("Unexpected error.");
     }
 }
Esempio n. 15
0
            $Count++;
            $SendedIDs[] = $User;
            Array_Shift($SendToIDs);
            #-------------------------------------------------------------------------
            break;
        default:
            return ERROR | @Trigger_Error(101);
    }
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
#Debug(SPrintF('[comp/Tasks/Dispatch]: SendToIDs = %s; SendedIDs = %s;',Implode(',',$SendToIDs),Implode(',',$SendedIDs)));
#-------------------------------------------------------------------------------
# сохраняем параметры задачи
$Task['Params']['SendToIDs'] = Implode(',', Array_Filter($SendToIDs));
$Task['Params']['SendedIDs'] = Implode(',', Array_Filter($SendedIDs));
$UTasks = array('Params' => $Task['Params']);
$IsUpdate = DB_Update('Tasks', $UTasks, array('ID' => $Task['ID']));
#-------------------------------------------------------------------------------
if (Is_Error($IsUpdate)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$GLOBALS['TaskReturnInfo']['Sended'] = array(SizeOf(Array_Filter($SendedIDs)));
$GLOBALS['TaskReturnInfo']['New'] = array($Count);
$GLOBALS['TaskReturnInfo']['Estimated'] = array(SizeOf(Array_Filter($SendToIDs)));
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
if (SizeOf($SendToIDs) > 0) {
    return $ExecuteTime;
Esempio n. 16
0
$IPs[] = $IP;
#-------------------------------------------------------------------------------
$IPs = Array_Unique($IPs);
#-------------------------------------------------------------------------------
$Count = Count($IPs);
#-------------------------------------------------------------------------------
if ($Count > 10) {
    $IPs = Array_Slice($IPs, 0, 9);
}
#-------------------------------------------------------------------------------
if (Mb_StrLen($IP) > $Length) {
    $IP = SPrintF('%s...', Mb_SubStr($IP, 0, $Length));
}
#-------------------------------------------------------------------------------
$A = new Tag('A', array('target' => 'blank', 'href' => SPrintF('http://%s/', $IP)), $IP);
#-------------------------------------------------------------------------------
$LinkID = UniqID('IPs');
#-------------------------------------------------------------------------------
$Links =& Links();
# Коллекция ссылок
$Links[$LinkID] =& $A;
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Form/Prompt', $LinkID, SPrintF('<B>Всего: %u</B><BR />%s', $Count, Implode('<BR />', $IPs)));
if (Is_Error($Comp)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
unset($Links[$LinkID]);
#-------------------------------------------------------------------------------
return $A;
#-------------------------------------------------------------------------------
Esempio n. 17
0
    #-------------------------------------------------------------------------------
    switch (ValueOf($Templates)) {
        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);
    }
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
Esempio n. 18
0
function RuCenter_Contract_Register($Settings, $PepsonID, $Person, $DomainZone)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'KOI8-R', 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Query = array();
    #---------------------------------------------------------------------------
    $RequestID = UniqID('ID');
    #---------------------------------------------------------------------------
    $Query[] = 'lang: ru';
    $Query[] = 'request: contract';
    $Query[] = 'operation: create';
    $Query[] = SPrintF('login: %s', $Settings['Login']);
    $Query[] = SPrintF('password: %s', $Settings['Password']);
    $Query[] = SPrintF('request-id: %s', $RequestID);
    #---------------------------------------------------------------------------
    $Query[] = '';
    #---------------------------------------------------------------------------
    $Query[] = '[contract]';
    $Query[] = SPrintF('password: %s', UniqID());
    $Query[] = SPrintF('tech-password: %s', UniqID());
    $Query[] = 'currency-id: RUR';
    #---------------------------------------------------------------------------
    $Query[] = '';
    #---------------------------------------------------------------------------
    switch ($PepsonID) {
        case 'Natural':
            #-----------------------------------------------------------------------
            $Query[] = 'contract-type: PRS';
            $Query[] = SPrintF('person: %s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname']));
            $Query[] = SPrintF('person-r: %s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']);
            $Query[] = SPrintF('country: %s', isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']);
            $Query[] = SPrintF('phone: %s', $Person['Phone']);
            $Query[] = SPrintF('fax-no: %s', $Person['Fax']);
            $Query[] = SPrintF('birth-date: %s', $Person['BornDate']);
            $Query[] = SPrintF('passport: %s %s выдан %s, %s', $Person['PasportLine'], $Person['PasportNum'], $Person['PasportWhom'], $Person['PasportDate']);
            $Query[] = SPrintF('p-addr: %s, %s, %s, %s %s, %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['pRecipient']);
            $Query[] = SPrintF('e-mail: %s', $Person['Email']);
            break;
        case 'Juridical':
            #-----------------------------------------------------------------------
            $Query[] = 'client-type: ORG';
            $Query[] = SPrintF('org: %s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']));
            $Query[] = SPrintF('org-r: %s', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']));
            $Query[] = SPrintF('country: %s', $Person['jCountry']);
            $Query[] = SPrintF('e-mail: %s', $Person['Email']);
            $Query[] = SPrintF('phone: %s', $Person['Phone']);
            $Query[] = SPrintF('fax-no: %s', $Person['Fax']);
            $Query[] = SPrintF('code: %s', $Person['Inn']);
            $Query[] = SPrintF('kpp: %s', $Person['Kpp']);
            $Query[] = SPrintF('address-r: %s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']);
            $Query[] = SPrintF('p-addr: %s, %s, %s, %s %s, %s "%s"', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']);
            $Query[] = SPrintF('d-addr: %s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']);
            break;
        default:
            return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля');
    }
    #-----------------------------------------------------------------------------
    $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query)));
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[RuCenter_Contract_Register]: не удалось выполнить запрос к серверу');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) {
        return false;
    }
    #-----------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-----------------------------------------------------------------------------
    if (Preg_Match('/State:\\s([0-9]+)/', $Result, $CodeID)) {
        #---------------------------------------------------------------------------
        $CodeID = Next($CodeID);
        #---------------------------------------------------------------------------
        switch ($CodeID) {
            case '200':
                #-----------------------------------------------------------------------
                if (!Preg_Match('/nic-hdl:\\s([0-9]+\\/[A-Z\\-]+)/', $Result, $ContractID)) {
                    return new gException('LOGIN_NOT_FOUND', 'Неудалось получить номер договора');
                } else {
                    $ContractID = Next($ContractID);
                }
                break;
            case '500':
                return FALSE;
            default:
                return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result));
        }
    } else {
        return new gException('WRONG_ANSWER', $Result);
    }
    #-----------------------------------------------------------------------------
    # Делаем паузу перед запросом
    Sleep(10);
    #-----------------------------------------------------------------------------
    if (!In_Array($DomainZone, array('ru', 'su'))) {
        #---------------------------------------------------------------------------
        $Query = array();
        #---------------------------------------------------------------------------
        $RequestID = UniqID('ID');
        #---------------------------------------------------------------------------
        $Query[] = SPrintF('login: %s', $Settings['Login']);
        $Query[] = SPrintF('password: %s', $Settings['Password']);
        $Query[] = SPrintF('subject-contract: %s', $ContractID);
        $Query[] = 'request: contact';
        $Query[] = 'operation: create';
        $Query[] = 'lang: ru';
        $Query[] = SPrintF('request-id: %s', $RequestID);
        #---------------------------------------------------------------------------
        $Query[] = '';
        #---------------------------------------------------------------------------
        $Query[] = '[contact]';
        $Query[] = SPrintF('status:registrant');
        $Query[] = SPrintF('org:');
        $Query[] = SPrintF('name: %s, %s', Translit($Person['Name']), Translit($Person['Lastname']));
        $Query[] = SPrintF('country: %s', isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']);
        $Query[] = SPrintF('region: %s', Translit($Person['pCity']));
        $Query[] = SPrintF('city: %s', Translit($Person['pCity']));
        $Query[] = SPrintF('street: %s', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
        $Query[] = SPrintF('zipcode: %s', $Person['pIndex']);
        $Query[] = SPrintF('phone: %s', $Person['Phone']);
        $Query[] = SPrintF('fax: %s', $Person['Fax']);
        $Query[] = SPrintF('email: %s', $Person['Email']);
        #---------------------------------------------------------------------------
        $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query)));
        if (Is_Error($Result)) {
            return ERROR | @Trigger_Error('[RuCenter_Contract_Register]: не удалось выполнить запрос к серверу');
        }
        #---------------------------------------------------------------------------
        if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) {
            return FALSE;
        }
        #---------------------------------------------------------------------------
        $Result = Trim($Result['Body']);
        #---------------------------------------------------------------------------
        if (Preg_Match('/State:\\s([0-9]+)/', $Result, $CodeID)) {
            #-------------------------------------------------------------------------
            $CodeID = Next($CodeID);
            #-------------------------------------------------------------------------
            switch ($CodeID) {
                case '200':
                    #-----------------------------------------------------------------------
                    if (!Preg_Match('/nic-hdl:([0-9A-Za-z\\-]+)/', $Result, $NicHDL)) {
                        return array('TicketID' => SPrintF('%s:%s', $ContractID, Next($NicHDL)));
                    }
                    #-----------------------------------------------------------------------
                    return new gException('LOGIN_NOT_FOUND', 'Неудалось получить номер договора');
                case '500':
                    return FALSE;
                default:
                    return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result));
            }
        } else {
            return new gException('WRONG_ANSWER', $Result);
        }
    }
    #-----------------------------------------------------------------------------
    return array('TicketID' => $ContractID);
}
Esempio n. 19
0
$Send['URL_RETURN'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID);
$Send['URL_RETURN_OK'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID);
$Send['URL_RETURN_NO'] = SPrintF('%s://%s/Invoices?Error=yes', $Protocol, HOST_ID);
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# а ещё в люобй форме есть CSRF
#$Send['CSRF'] = $GLOBALS['CSRF'];
#-------------------------------------------------------------------------------
# мыло юзера
$Send['Email'] = $__USER['Email'];
#-------------------------------------------------------------------------------
# и телефон, если есть
if ($__USER['Params']['NotificationMethods']['SMS']['Address']) {
    $Send['Phone'] = $__USER['Params']['NotificationMethods']['SMS']['Address'];
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$Array = array($Send['Shop_IDP'], $Send['Order_IDP'], $Send['Subtotal_P'], '', '', '', '', '', '', '', $Settings['Hash']);
#-------------------------------------------------------------------------------
$Hash = array();
#-------------------------------------------------------------------------------
foreach ($Array as $Value) {
    $Hash[] = Md5($Value);
}
#-------------------------------------------------------------------------------
$Send['Signature'] = StrToUpper(Md5(Implode("&", $Hash)));
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
return $Send;
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
Esempio n. 20
0
function __Error_Handler__($Number, $Error, $File, $Line)
{
    #-------------------------------------------------------------------------------
    $Message = SPrintF('[!!%s]-%s в линии %s файла %s', $Number, $Error, $Line, $File);
    #-------------------------------------------------------------------------------
    $__ERR_CODE =& $GLOBALS['__ERR_CODE'];
    #-------------------------------------------------------------------------------
    if ((int) $Error && $__ERR_CODE == 100) {
        $__ERR_CODE = $Error;
    }
    #-------------------------------------------------------------------------------
    Debug(SPrintF('[!] %s', $Message));
    //Debug(SPrintF('[!] %s',debug_print_backtrace()));
    #-------------------------------------------------------------------------------
    //Error_Reporting(E_ALL);
    #-------------------------------------------------------------------------------
    if (Error_Reporting()) {
        #-------------------------------------------------------------------------------
        $JBsErrorID = SPrintF('%s[%s]', HOST_ID, Md5(Implode(':', array($Number, $Error, $Line, $File))));
        #-------------------------------------------------------------------------------
        $__SYSLOG =& $GLOBALS['__SYSLOG'];
        #-------------------------------------------------------------------------------
        $Log = Implode("\n", $__SYSLOG);
        #-------------------------------------------------------------------------------
        Report($JBsErrorID, $JBsErrorID);
        #-------------------------------------------------------------------------------
        foreach (array(SYSTEM_PATH, '/tmp') as $Folder) {
            #-------------------------------------------------------------------------------
            $Path = SPrintF('%s/jbs-errors.log', $Folder);
            #-------------------------------------------------------------------------------
            if (File_Exists($Path)) {
                if (FileSize($Path) > 1024 * 1024) {
                    UnLink($Path);
                }
            }
            #-------------------------------------------------------------------------------
            umask(077);
            #-------------------------------------------------------------------------------
            if (!@File_Put_Contents($Path, SPrintF("%s\n\n%s\n\n", $JBsErrorID, $Log), FILE_APPEND)) {
                #-------------------------------------------------------------------------------
                Debug(SPrintF('[__Error_Handler__]: не удалось осуществить запись ошибки в системный лог (%s)', $Path));
                #-------------------------------------------------------------------------------
                continue;
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
            break;
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
        if (File_Exists(SPrintF('%s/DEBUG.OUT', SYSTEM_PATH)) || !isset($_SERVER["REMOTE_PORT"])) {
            #-------------------------------------------------------------------------------
            exit($Log);
        } else {
            #-------------------------------------------------------------------------------
            $Errors = array(100 => 'Ошибка выполнения', 101 => 'Неизвестный результат', 201 => 'Неверные параметры', 400 => 'Ошибка данных', 500 => 'Системная ошибка', 600 => 'Ошибка политики безопасности', 601 => 'Неверный реферер', 602 => 'Отсутствует реферер', 603 => 'Неверный ключ CSRF', 700 => 'Нарушение политики прав');
            #-------------------------------------------------------------------------------
            $FilePath = SPrintF('%s/hosts/root/templates/modules/Trigger.Error.html', SYSTEM_PATH);
            #-------------------------------------------------------------------------------
            if (Is_Readable($FilePath)) {
                #-------------------------------------------------------------------------------
                $Result = @File_Get_Contents($FilePath);
                #-------------------------------------------------------------------------------
            } else {
                #-------------------------------------------------------------------------------
                $Result = SPrintF("Cannot read error file: %s<BR />\nError: %%s<BR />\n<!--%%s-->\nErrorID: %%s\n<!--%%s-->", $FilePath);
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
            $String = SPrintF('%s (%s)', $Errors[$__ERR_CODE], $__ERR_CODE);
            #-------------------------------------------------------------------------------
            @Header(SPrintF('JBs-ErrorID: %s', $JBsErrorID));
            #-------------------------------------------------------------------------------
            if (isset($_POST['XMLHttpRequest'])) {
                #-------------------------------------------------------------------------------
                $Answer = array('Error' => array('CodeID' => $__ERR_CODE, 'String' => $String), 'Status' => 'Error');
                #-------------------------------------------------------------------------------
                exit(JSON_Encode($Answer));
                #-------------------------------------------------------------------------------
            } else {
                #-------------------------------------------------------------------------------
                exit(SPrintF($Result, $String, $String, $JBsErrorID, Date('Y', Time())));
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
}
Esempio n. 21
0
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    # выдаём данные DNSmanager в ответе
    $XML = '<func name="%s"><arg name="sok">ok</arg><arg name="sync">off</arg><arg name="username">%s</arg><arg name="password">%s</arg><arg name="url">%s</arg></func>';
    #-------------------------------------------------------------------------------
    foreach ($Servers as $Server) {
        foreach (array('slaveserver.edit') as $Func) {
            $Array[] = SPrintF($XML, $Func, $Server['Login'], $Server['Password'], $Server['Params']['Url']);
        }
    }
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# строим выхлопную XML'ину
$Out = SPrintF('<?xml version="1.0" encoding="UTF-8"?><doc>%s</doc>', Implode('', $Array));
Debug(SPrintF('[comp/www/API/ISPswSettingURL]: Out XML = %s', $Out));
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$License = DB_Select('ISPswLicenses', array('LicKey'), array('UNIQ', 'Where' => SPrintF('`elid` = %u', $id)));
switch (ValueOf($License)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return new gException('LICENSE_NOT_FOUND', 'Лицензия не найдена');
    case 'array':
        break;
    default:
        return ERROR | @Trigger_Error(101);
}
#-------------------------------------------------------------------------------
Esempio n. 22
0
 foreach (Array_Keys($Template) as $Key) {
     if ($Key != 'SystemID') {
         continue;
     }
     #-------------------------------------------------------------------------------
     if (Is_Array($Template[$Key])) {
         #-------------------------------------------------------------------------------
         $Script = array('var Settings = {};');
         #-------------------------------------------------------------------------------
         foreach (Array_Keys($Template[$Key]) as $SystemID) {
             $Script[] = SPrintF("Settings['%s'] = %s;", $SystemID, JSON_Encode($Template[$Key][$SystemID]['Settings']));
         }
         #-------------------------------------------------------------------------------
         $Script[] = "function SettingsUpdate(){\nvar \$Form = document.forms['ServerEditForm'];\nvar \$System = Settings[\$Form.{$Key}.value];\nfor(var i in \$System)\n\$Form[i].value = \$System[i];\n}";
         #-------------------------------------------------------------------------------
         $DOM->AddChild('Head', new Tag('SCRIPT', Implode("\n", $Script)));
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Input', array('name' => 'TemplateID', 'type' => 'hidden', 'value' => $TemplateID));
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $Form->AddChild($Comp);
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $Table = array();
Esempio n. 23
0
        #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    default:
        return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
if ($Commit) {
    #-------------------------------------------------------------------------------
    $Tmp = System_Element('tmp');
    if (Is_Error($Tmp)) {
        return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
    }
    #-------------------------------------------------------------------------------
    $IsWrite = IO_Write(SPrintF('%s/LastUpdate.stamp', $Tmp), (string) Time(), TRUE);
    if (Is_Error($IsWrite)) {
        return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
    }
    #-------------------------------------------------------------------------------
    $Event = array('UserID' => $UserID ? $UserID : 10, 'PriorityID' => 'System', 'Text' => 'Обновление биллинга: заменён файловый набор');
    $Event = Comp_Load('Events/EventInsert', $Event);
    if (!$Event) {
        return ERROR | @Trigger_Error(500);
    }
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
return '[OK]';
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
Esempio n. 24
0
     #-------------------------------------------------------------------------------
     $Orders = DB_Select(SPrintF('%sOrdersOwners', $Server['Code']), array('ID', 'Login'), array('Where' => $Where));
     #-------------------------------------------------------------------------------
     switch (ValueOf($Orders)) {
         case 'error':
             return ERROR | @Trigger_Error(500);
         case 'exception':
             # No more...
             break;
         case 'array':
             #-------------------------------------------------------------------------------
             foreach ($Orders as $Order) {
                 #-------------------------------------------------------------------------------
                 $Parked = $Users[$Order['Login']];
                 #-------------------------------------------------------------------------------
                 $IsUpdate = DB_Update(SPrintF('%sOrders', $Server['Code']), array('Domain' => Count($Parked) ? Current($Parked) : 'not-found', 'Parked' => Implode(',', $Parked)), array('ID' => $Order['ID']));
                 if (Is_Error($IsUpdate)) {
                     return ERROR | @Trigger_Error(500);
                 }
                 #-------------------------------------------------------------------------------
             }
             #-------------------------------------------------------------------------------
             break;
             #-------------------------------------------------------------------------------
         #-------------------------------------------------------------------------------
         default:
             return ERROR | @Trigger_Error(101);
     }
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
Esempio n. 25
0
# перебираем полученные данные
foreach (Array_Keys($TUsages) as $ServerID) {
    #-------------------------------------------------------------------------------
    # достаём юзеров из биллинга, и их лимиты
    $Array = array();
    #-------------------------------------------------------------------------------
    foreach (Array_Keys($TUsages[$ServerID]['BUsages']) as $Login) {
        $Array[] = SPrintF("'%s'", $Login);
    }
    #-------------------------------------------------------------------------------
    # однако, массив может получиться пустой
    if (SizeOf($Array) == 0) {
        continue;
    }
    #-------------------------------------------------------------------------------
    $Where = SPrintF('`ServerID` = %u AND `Login` IN (%s)', $ServerID, Implode(',', $Array));
    #-------------------------------------------------------------------------------
    $Columns = array('ID', 'Login', 'UserID', 'Domain', '(SELECT `QuotaCPU` FROM `HostingSchemes` WHERE `HostingSchemes`.`ID` = `HostingOrdersOwners`.`SchemeID`) as `QuotaCPU`', '(SELECT `Name` FROM `HostingSchemes` WHERE `HostingSchemes`.`ID` = `HostingOrdersOwners`.`SchemeID`) as `Scheme`', '(SELECT `Params` FROM `Servers` WHERE `Servers`.`ID` = `HostingOrdersOwners`.`ServerID`) as `Params`');
    #-------------------------------------------------------------------------------
    $HostingOrders = DB_Select('HostingOrdersOwners', $Columns, array('Where' => $Where));
    #-------------------------------------------------------------------------------
    switch (ValueOf($HostingOrders)) {
        case 'error':
            return ERROR | @Trigger_Error(500);
        case 'exception':
            # No more...
            break;
        case 'array':
            #-------------------------------------------------------------------------------
            foreach ($HostingOrders as $HostingOrder) {
                #-------------------------------------------------------------------------------
 function CloseOpenStep()
 {
     $this->serverLogTmpHandle = FOpen($_SERVER["DOCUMENT_ROOT"] . $this->serverLogTmp, "w");
     FWrite($this->serverLogTmpHandle, $this->descrTs . "|" . $this->descrRegion . "|" . Implode(",", $this->descrCollectedExtensions) . "\n");
     FWrite($this->serverLogTmpHandle, $this->logText);
     FClose($this->serverLogTmpHandle);
 }
Esempio n. 27
0
/******************************************************************************/
eval(COMP_INIT);
/******************************************************************************/
/******************************************************************************/
$Config = Config();
#-------------------------------------------------------------------------------
$Settings = $Config['Invoices']['PaymentSystems']['MailRu'];
#-------------------------------------------------------------------------------
$Send = $Settings['Send'];
#-------------------------------------------------------------------------------
$Send['sum'] = Round($Summ / $Settings['Course'], 2);
#-------------------------------------------------------------------------------
$Send['issuer_id'] = $InvoiceID;
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID);
if (Is_Error($Comp)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$__USER = $GLOBALS['__USER'];
$Send['description'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']);
#-------------------------------------------------------------------------------
$Send['message'] = $Send['description'];
#-------------------------------------------------------------------------------
$sha = sha1($Settings['Hash']);
$Hash = array($Send['currency'], $Send['description'], $Send['issuer_id'], $Send['message'], $Send['shop_id'], $Send['sum'], $sha);
#-------------------------------------------------------------------------------
$Send['signature'] = sha1(Implode('', $Hash));
#-------------------------------------------------------------------------------
return $Send;
#-------------------------------------------------------------------------------
Esempio n. 28
0
     break;
     #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 case 'array':
     # All OK, accounts found
     #-------------------------------------------------------------------------------
     #-------------------------------------------------------------------------------
     $Array = array();
     #-------------------------------------------------------------------------------
     foreach ($SchemeAccounts as $Account) {
         $Array[] = $Account['OrderID'];
     }
     #-------------------------------------------------------------------------------
     #-------------------------------------------------------------------------------
     # считаем сумму всех оплаченных дней тарифа
     $Where = array('`DaysRemainded` > 0', '`Discont` < 1', '`Cost` > 0', SPrintF('`OrderID` IN (%s)', Implode(',', $Array)));
     #-------------------------------------------------------------------------------
     $Income = DB_Select('OrdersConsider', array('SUM(`DaysRemainded`*`Cost`*(1-`Discont`)) as `SummRemainded`', 'SUM(`DaysRemainded`) AS `DaysRemainded`'), array('UNIQ', 'Where' => $Where));
     #-------------------------------------------------------------------------------
     switch (ValueOf($Income)) {
         case 'error':
             return ERROR | @Trigger_Error(500);
         case 'exception':
             Debug(SPrintF('[comp/Statistics/VPSSchemesIncome]: no summ for scheme "%s"', $VPSScheme['Name']));
             break;
         case 'array':
             #-------------------------------------------------------------------------------
             # считаем все не-бесплатные аккаунты, по ним будут расчёты цены и доходов
             $Count = DB_Select('OrdersConsider', 'DISTINCT(`OrderID`) AS `OrderID`', array('Where' => $Where));
             #-------------------------------------------------------------------------------
             switch (ValueOf($Count)) {
Esempio n. 29
0
 /**
 * Производит нормализацию объекта
 *
 * Удаляет всю служебную информацию, подргужает компоненты в документ,
 * подготавливает объект к выводу.
 */
 public function Normalize(&$Object = NULL)
 {
     /****************************************************************************/
     $__args_types = array('object,NULL');
     #-----------------------------------------------------------------------------
     $__args__ = Func_Get_Args();
     eval(FUNCTION_INIT);
     /****************************************************************************/
     if (Is_Null($Object)) {
         $Object =& $this->Object;
     }
     #-----------------------------------------------------------------------------
     $Childs =& $Object->Childs;
     #-----------------------------------------------------------------------------
     if (Count($Childs) > 0) {
         #---------------------------------------------------------------------------
         $i = 0;
         #---------------------------------------------------------------------------
         while ($i < Count($ChildsIDs = Array_Keys($Childs))) {
             #-------------------------------------------------------------------------
             $Child =& $Childs[$ChildID = $ChildsIDs[$i]];
             #-------------------------------------------------------------------------
             $Name = $Child->Name;
             #-------------------------------------------------------------------------
             switch ($Name) {
                 case 'NOBODY':
                     #---------------------------------------------------------------------
                     $Object->AddAttribs($Child->Attribs);
                     #---------------------------------------------------------------------
                     $Object->AddText($Child->Text);
                     #---------------------------------------------------------------------
                     Array_Splice($Childs, $ChildID, 1, $Child->Childs);
                     continue 2;
                 case 'COMP':
                     #---------------------------------------------------------------------
                     $Attribs =& $Child->Attribs;
                     #---------------------------------------------------------------------
                     $IsHasChilds = Count($Object->Childs) > 0;
                     #---------------------------------------------------------------------
                     $FunctionID = $IsHasChilds ? 'AddChild' : 'AddText';
                     #---------------------------------------------------------------------
                     $CompPath = (string) @$Attribs['path'];
                     #---------------------------------------------------------------------
                     if (Is_Error(System_Element(SPrintF('comp/%s.comp.php', $CompPath)))) {
                         #-------------------------------------------------------------------
                         $String = SPrintF('Компонент не найден (%s)', $CompPath);
                         #-------------------------------------------------------------------
                         $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String);
                     } else {
                         #-------------------------------------------------------------------
                         $Args = isset($Attribs['args']) ? Explode('|', $Attribs['args']) : array();
                         #-------------------------------------------------------------------
                         Array_UnShift($Args, $CompPath);
                         #-------------------------------------------------------------------
                         $Comp = Call_User_Func_Array('Comp_Load', $Args);
                         #-------------------------------------------------------------------
                         switch ($Type = ValueOf($Comp)) {
                             case 'error':
                                 #---------------------------------------------------------------
                                 $String = SPrintF('Ошибка загрузки компонента (%s)', $CompPath);
                                 #---------------------------------------------------------------
                                 if (isset($Attribs['debug'])) {
                                     $Object->AddChild(new Tag('PRE', Implode("\n", $GLOBALS['__SYSLOG'])));
                                 } else {
                                     $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String);
                                 }
                                 break 2;
                             case 'exception':
                                 #---------------------------------------------------------------
                                 $String = $Comp->String;
                                 #---------------------------------------------------------------
                                 $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String);
                                 break 2;
                             case 'object':
                                 $Child = $Comp;
                                 break 2;
                             case 'string':
                                 #---------------------------------------------------------------
                                 $Object->AddText($Comp);
                                 #---------------------------------------------------------------
                                 Array_Splice($Childs, $ChildID, 1, $Child->Childs);
                                 continue 3;
                             case 'false':
                                 # No more...
                             # No more...
                             case 'true':
                                 # No more...
                                 break 2;
                             default:
                                 #---------------------------------------------------------------
                                 $String = SPrintF('Компонент вернул результат неверного типа (%s)', $Type);
                                 #---------------------------------------------------------------
                                 $Object->{$FunctionID}($IsHasChilds ? new Tag('SPAN', $String) : $String);
                         }
                     }
                 default:
                     # No more...
             }
             #-------------------------------------------------------------------------
             $i++;
             #-------------------------------------------------------------------------
             $this->Normalize($Child);
         }
     }
 }
Esempio n. 30
0
    #-------------------------------------------------------------------------------
    return $Out;
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# получаем список всех сотрудников
$Entrance = Tree_Entrance('Groups', 3000000);
#-------------------------------------------------------------------
switch (ValueOf($Entrance)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return ERROR | @Trigger_Error(400);
    case 'array':
        #---------------------------------------------------------------
        $String = Implode(',', $Entrance);
        #---------------------------------------------------------------
        $Employers = DB_Select('Users', 'ID', array('Where' => SPrintF('`GroupID` IN (%s)', $String)));
        #---------------------------------------------------------------
        switch (ValueOf($Employers)) {
            case 'error':
                return ERROR | @Trigger_Error(500);
            case 'exception':
                return ERROR | @Trigger_Error(400);
            case 'array':
                #---------------------------------------------------------------
                $UserIDs = array();
                #---------------------------------------------------------------
                if ($ShowFired) {
                    #---------------------------------------------------------------
                    # получаем список всех на ком висят тикеты