Scalr_Scripting_Manager::getScriptingBuiltinVariables PHP Метод

getScriptingBuiltinVariables() публичный статический Метод

public static getScriptingBuiltinVariables ( )
    public static function getScriptingBuiltinVariables()
    {
        if (!self::$BUILTIN_VARIABLES_LOADED) {
            $ReflectEVENT_TYPE = new ReflectionClass("EVENT_TYPE");
            $event_types = $ReflectEVENT_TYPE->getConstants();
            foreach ($event_types as $event_type) {
                if (class_exists("{$event_type}Event")) {
                    $ReflectClass = new ReflectionClass("{$event_type}Event");
                    $retval = $ReflectClass->getMethod("GetScriptingVars")->invoke(null);
                    if (!empty($retval)) {
                        foreach ($retval as $k => $v) {
                            if (!self::$BUILTIN_VARIABLES[$k]) {
                                self::$BUILTIN_VARIABLES[$k] = array("PropName" => $v, "EventName" => "{$event_type}");
                            } else {
                                if (!is_array(self::$BUILTIN_VARIABLES[$k]['EventName'])) {
                                    $events = array(self::$BUILTIN_VARIABLES[$k]['EventName']);
                                } else {
                                    $events = self::$BUILTIN_VARIABLES[$k]['EventName'];
                                }
                                $events[] = $event_type;
                                self::$BUILTIN_VARIABLES[$k] = array("PropName" => $v, "EventName" => $events);
                            }
                        }
                    }
                }
            }
            foreach (self::$BUILTIN_VARIABLES as $k => $v) {
                self::$BUILTIN_VARIABLES["event_{$k}"] = $v;
            }
            self::$BUILTIN_VARIABLES_LOADED = true;
        }
        return self::$BUILTIN_VARIABLES;
    }

Usage Example

Пример #1
0
 public function setRevision($script, $version = null)
 {
     if ($version == null) {
         $version = $this->getLatestRevision() + 1;
     }
     $variables = array();
     $builtin = array_keys(Scalr_Scripting_Manager::getScriptingBuiltinVariables());
     foreach ((array) $this->getCustomVariables($script) as $var) {
         if (!in_array($var, $builtin)) {
             $variables[$var] = ucwords(str_replace("_", " ", $var));
         }
     }
     $variables = serialize($variables);
     $this->db->Execute('INSERT INTO `script_revisions` SET
             scriptid = ?,
             revision = ?,
             script = ?,
             variables = ?,
             dtcreated = NOW()
         ON DUPLICATE KEY UPDATE
             script = ?,
             variables = ?,
             dtcreated = NOW()
         ', array($this->id, $version, $script, $variables, $script, $variables));
 }
All Usage Examples Of Scalr_Scripting_Manager::getScriptingBuiltinVariables