コード例 #1
0
ファイル: Comp.php プロジェクト: carriercomm/jbs
function Comp_Load($Element)
{
    /****************************************************************************/
    $__args_types = array('string', '*');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HostsIDs = System_HostsIDs(SPrintF('comp/%s.comp.php', $Element));
    if (Is_Error($HostsIDs)) {
        return ERROR | @Trigger_Error('[Comp_Load]: не возможно найти компонент');
    }
    #-----------------------------------------------------------------------------
    $IsCascade = In_Array(COMP_ALL_HOSTS, $__args__, TRUE);
    #-----------------------------------------------------------------------------
    if ($IsCascade) {
        $HostsIDs = Array_Reverse($HostsIDs);
    }
    #-----------------------------------------------------------------------------
    $Result = array();
    #-----------------------------------------------------------------------------
    foreach ($HostsIDs as $HostID) {
        #---------------------------------------------------------------------------
        $Path = SPrintF('%s/hosts/%s/comp/%s.comp.php', SYSTEM_PATH, $HostID, $Element);
        #---------------------------------------------------------------------------
        if (Is_Dir($Path)) {
            return ERROR | @Trigger_Error('[Comp_Load]: объект не является компонентом');
        }
        #---------------------------------------------------------------------------
        $Args = $__args__;
        #---------------------------------------------------------------------------
        Array_UnShift($Args, $Path);
        #---------------------------------------------------------------------------
        $Comp = Call_User_Func_Array('LoadComp', $Args);
        if (Is_Error($Comp)) {
            return ERROR | @Trigger_Error('[Comp_Load]: не возможно загрузить компонент');
        }
        #---------------------------------------------------------------------------
        if ($IsCascade) {
            $Result[] = $Comp;
        } else {
            #-------------------------------------------------------------------------
            $Result = $Comp;
            #-------------------------------------------------------------------------
            break;
        }
    }
    #-----------------------------------------------------------------------------
    $Loaded =& Link_Get('Comp/Loaded', 'array');
    #-----------------------------------------------------------------------------
    $Loaded[] = $Element;
    #-----------------------------------------------------------------------------
    return $Result;
}
コード例 #2
0
ファイル: DOM.php プロジェクト: carriercomm/jbs
 /**
 * Производит нормализацию объекта
 *
 * Удаляет всю служебную информацию, подргужает компоненты в документ,
 * подготавливает объект к выводу.
 */
 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);
         }
     }
 }
コード例 #3
0
 public function GetDiskUsage()
 {
     /****************************************************************************/
     $__args__ = Func_Get_Args();
     eval(FUNCTION_INIT);
     /****************************************************************************/
     Array_UnShift($__args__, $this->Settings);
     #-----------------------------------------------------------------------------
     $Function = SPrintF('%s_Get_Disk_Usage', $this->SystemID);
     #-----------------------------------------------------------------------------
     if (!Function_Exists($Function)) {
         return new gException('FUNCTION_NOT_SUPPORTED', SPrintF('Функция (%s) не поддерживается API модулем', $Function));
     }
     #-----------------------------------------------------------------------------
     $Result = Call_User_Func_Array($Function, $__args__);
     if (Is_Error($Result)) {
         return ERROR | @Trigger_Error('[HostingServer->GetDiskUsage]: не удалось вызвать целевую функцию');
     }
     #-----------------------------------------------------------------------------
     return $Result;
 }
コード例 #4
0
     case 'exception':
         return $BUsages;
     case 'array':
         break;
     default:
         return ERROR | @Trigger_Error(101);
 }
 #-------------------------------------------------------------------------------
 #Debug(SPrintF('[comp/Tasks/HostingCPUUsage]: BUsage = %s',print_r($BUsages,true)));
 #-------------------------------------------------------------------------------
 $TUsages[$Server['ID']]['BUsages'] = $BUsages;
 #-------------------------------------------------------------------------------
 # достаём за вчера
 $PeriodStart = $PeriodEnd = Date('Y-m-d', Time() - 24 * 3600);
 #-------------------------------------------------------------------------------
 $SUsages = Call_User_Func_Array(array($ClassHostingServer, 'GetCPUUsage'), array($PeriodStart, $PeriodEnd));
 #-------------------------------------------------------------------------------
 switch (ValueOf($SUsages)) {
     case 'error':
         return ERROR | @Trigger_Error(500);
     case 'exception':
         return $SUsages;
     case 'array':
         break;
     default:
         return ERROR | @Trigger_Error(101);
 }
 #-------------------------------------------------------------------------------
 $TUsages[$Server['ID']]['SUsages'] = $SUsages;
 #Debug(SPrintF('[comp/Tasks/HostingCPUUsage]: SUsage = %s',print_r($SUsages,true)));
 #-------------------------------------------------------------------------------
コード例 #5
0
ファイル: VPSCreate.comp.php プロジェクト: carriercomm/jbs
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
Debug(SPrintF('[comp/Tasks/VPSCreate]: DiskTemplate = (%s)', print_r($DiskTemplate, true)));
#-------------------------------------------------------------------------------
$VPSOrder['DiskTemplate'] = $DiskTemplate;
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$IPsPool = Explode("\n", $VPSServer->Settings['Params']['IPsPool']);
#-------------------------------------------------------------------------------
$IP = $IPsPool[Rand(0, Count($IPsPool) - 1)];
#-------------------------------------------------------------------------------
$Args = array($VPSOrder, $IP, $VPSScheme);
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$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)) {
コード例 #6
0
            #-------------------------------------------------------------------------------
            $Args[] = $Profile['TemplateID'];
            #-------------------------------------------------------------------------------
            $Args[] = $Profile['Attribs'];
            #-------------------------------------------------------------------------------
            break;
            #-------------------------------------------------------------------------------
        #-------------------------------------------------------------------------------
        default:
            return ERROR | @Trigger_Error(101);
    }
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$IsCreate = Call_User_Func_Array(array($ClassHostingServer, 'Create'), $Args);
#-------------------------------------------------------------------------------
switch (ValueOf($IsCreate)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return $IsCreate;
    case 'true':
        #-------------------------------------------------------------------------------
        $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'HostingOrders', 'StatusID' => 'Active', 'RowsIDs' => $HostingOrder['ID'], 'Comment' => 'Заказ создан на сервере'));
        #-------------------------------------------------------------------------------
        switch (ValueOf($Comp)) {
            case 'error':
                return ERROR | @Trigger_Error(500);
            case 'exception':
                return ERROR | @Trigger_Error(400);
コード例 #7
0
ファイル: Vertical.comp.php プロジェクト: carriercomm/jbs
 #---------------------------------------------------------------------------
 if (isset($Column['Hidden'])) {
     continue;
 }
 #---------------------------------------------------------------------------
 $Td = new Tag('TD');
 #---------------------------------------------------------------------------
 $Value = isset($Row[$ColumnID]) ? $Row[$ColumnID] : '';
 #---------------------------------------------------------------------------
 if (StrLen($Comp = $Column['Comp'])) {
     #-------------------------------------------------------------------------
     $Args = Table_Super_Replace($Column['Args'], $Replace);
     #-------------------------------------------------------------------------
     Array_UnShift($Args, $Comp);
     #-------------------------------------------------------------------------
     $Value = Call_User_Func_Array('Comp_Load', $Args);
     if (Is_Error($Value)) {
         return ERROR | @Trigger_Error('[comp/Tables/Super]: не удалось отформатировать значение');
     }
 }
 #---------------------------------------------------------------------------
 switch (ValueOf($Value)) {
     case 'object':
         $Td->AddChild($Value);
         break;
     default:
         $Td->AddText($Value);
 }
 #---------------------------------------------------------------------------
 $Attribs = $Column['Attribs'];
 #---------------------------------------------------------------------------
コード例 #8
0
ファイル: TaskExecute.comp.php プロジェクト: carriercomm/jbs
    #-------------------------------------------------------------------------------
    return new gException('TASK_HANDLER_NOT_APPOINTED', 'Заданию не назначен обработчик');
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#--------------------------------TRANSACTION------------------------------------
if (Is_Error(DB_Transaction($TransactionID = UniqID('TaskExecute')))) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$__SYSLOG =& $GLOBALS['__SYSLOG'];
#-------------------------------------------------------------------------------
$Index = Count($__SYSLOG);
#-------------------------------------------------------------------------------
$Result = Call_User_Func_Array('Comp_Load', $Params);
#-------------------------------------------------------------------------------
$Log = Implode("\n", Array_Slice($__SYSLOG, $Index));
#-------------------------------------------------------------------------------
#Debug(SPrintF('[comp/www/Administrator/API/TaskExecute]: Result = %s',print_r($Result,true)));
switch (ValueOf($Result)) {
    case 'error':
        #-------------------------------------------------------------------------------
        if (Is_Error(DB_Roll($TransactionID))) {
            return ERROR | @Trigger_Error(500);
        }
        #-------------------------------------------------------------------------------
        $UTask['Errors'] = $Task['Errors'] + 1;
        #-------------------------------------------------------------------------------
        $UTask['Result'] = SPrintF("%s\n\n%s", $Task['Result'], $Log);
        #-------------------------------------------------------------------------------
コード例 #9
0
        return ERROR | @Trigger_Error(400);
    case 'array':
        break;
    default:
        return ERROR | @Trigger_Error(101);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# надо поправить в массиве имя используемой view
$DNSmanagerScheme['ViewArea'] = $DNSmanagerOrder['Params']['ViewArea'];
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$Args = array($DNSmanagerOrder['Login'], $DNSmanagerOrder['Password'], $DNSmanagerScheme);
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$IsCreate = Call_User_Func_Array(array($ClassDNSmanagerServer, 'Create'), $Args);
#-------------------------------------------------------------------------------
switch (ValueOf($IsCreate)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return $IsCreate;
    case 'true':
        #-------------------------------------------------------------------------------
        $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'DNSmanagerOrders', 'StatusID' => 'Active', 'RowsIDs' => $DNSmanagerOrder['ID'], 'Comment' => 'Заказ создан на сервере'));
        #-------------------------------------------------------------------------------
        switch (ValueOf($Comp)) {
            case 'error':
                return ERROR | @Trigger_Error(500);
            case 'exception':
                return ERROR | @Trigger_Error(400);
コード例 #10
0
ファイル: Tag.class.php プロジェクト: carriercomm/jbs
 function ToArray()
 {
     /****************************************************************************/
     $__args_types = array('string,array');
     #-----------------------------------------------------------------------------
     $__args__ = Func_Get_Args();
     eval(FUNCTION_INIT);
     /****************************************************************************/
     $Names = Array_Merge($__args__, array('ListElement'));
     #-----------------------------------------------------------------------------
     $AttribsIDs = array();
     #-----------------------------------------------------------------------------
     foreach ($__args__ as $__arg__) {
         #---------------------------------------------------------------------------
         if (Is_Array($__arg__)) {
             $AttribsIDs = Array_Merge($AttribsIDs, $__arg__);
         }
     }
     #-----------------------------------------------------------------------------
     $Childs = $this->Childs;
     #-----------------------------------------------------------------------------
     if (Count($Childs) > 0) {
         #---------------------------------------------------------------------------
         $j = 1;
         #---------------------------------------------------------------------------
         $Result = array();
         #---------------------------------------------------------------------------
         foreach ($Childs as $Child) {
             #-------------------------------------------------------------------------
             $Name = $Child->Name;
             #-------------------------------------------------------------------------
             if (In_Array($Name, $Names)) {
                 $Name = SPrintF('%s%06u', $Name, $j++);
             }
             #-------------------------------------------------------------------------
             $Name = $Name != 'UniqID' ? $Name : UniqID('UniqID');
             #-------------------------------------------------------------------------
             $Result[$Name] = Call_User_Func_Array(array($Child, 'ToArray'), $__args__);
             #-------------------------------------------------------------------------
             foreach (Array_Keys($Child->Attribs) as $AttribID) {
                 #-----------------------------------------------------------------------
                 if (In_Array($AttribID, $AttribsIDs)) {
                     #---------------------------------------------------------------------
                     if (!Is_Array($Result[$Name])) {
                         $Result[$Name] = array();
                     }
                     #---------------------------------------------------------------------
                     $Result[$Name][$AttribID] = $Child->Attribs[$AttribID];
                 }
             }
         }
     } else {
         #---------------------------------------------------------------------------
         $Result = $this->Text != '' ? $this->Text : NULL;
         #---------------------------------------------------------------------------
         $Type = 'string';
         #---------------------------------------------------------------------------
         if (isset($this->Attribs['type'])) {
             $Type = $this->Attribs['type'];
         }
         #---------------------------------------------------------------------------
         @SetType($Result, $Type);
     }
     #-----------------------------------------------------------------------------
     return $Result;
 }
コード例 #11
0
 public function DomainCheck()
 {
     /******************************************************************************/
     $__args__ = Func_Get_Args();
     eval(FUNCTION_INIT);
     /******************************************************************************/
     Array_UnShift($__args__, $this->Settings);
     #-------------------------------------------------------------------------------
     Debug('[system/classes/DomainServer.class.php]: function DomainCheck');
     #-------------------------------------------------------------------------------
     $Function = SPrintF('%s_Domain_Check', $this->SystemID);
     #-------------------------------------------------------------------------------
     if (!Function_Exists($Function)) {
         return new gException('FUNCTION_NOT_SUPPORTED', SPrintF('Функция (%s) не поддерживается API модулем', $Function));
     }
     #-------------------------------------------------------------------------------
     $Result = Call_User_Func_Array($Function, $__args__);
     if (Is_Error($Result)) {
         return ERROR | @Trigger_Error('[DomainServer->DomainCheck]: не удалось вызвать целевую функцию');
     }
     #-------------------------------------------------------------------------------
     return $Result;
     #-------------------------------------------------------------------------------
 }
コード例 #12
0
#-------------------------------------------------------------------------------
$User = DB_Select('Users', '*', array('UNIQ', 'ID' => $ExtraIPOrder['UserID']));
#-------------------------------------------------------------------------------
switch (ValueOf($User)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        return ERROR | @Trigger_Error(400);
    case 'array':
        break;
    default:
        return ERROR | @Trigger_Error(101);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$IsCreate = Call_User_Func_Array(array($ExtraIPServer, 'AddIP'), $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('ExtraIPOrders', array('Login' => $IsCreate['IP']), array('ID' => $ExtraIPOrder['ID']));
if (Is_Error($IsUpdate)) {