public function __get($name)
 {
     $shorts = static::__shortcuts();
     if (isset($shorts[$name])) {
         if (is_array($shorts[$name])) {
             return registry::register($shorts[$name][0], $shorts[$name][1]);
         } else {
             return registry::register($shorts[$name]);
         }
     }
     if (is_int(array_search($name, $shorts))) {
         if (isset(registry::$aliases[$name])) {
             if (is_array(registry::$aliases[$name])) {
                 return registry::register(registry::$aliases[$name][0], registry::$aliases[$name][1]);
             } else {
                 return registry::register(registry::$aliases[$name]);
             }
         } elseif (registry::class_exists($name)) {
             return registry::register($name);
         }
     }
     if ($const = registry::get_const($name)) {
         return $const;
     }
     return null;
 }
 public function __get($name)
 {
     $deps = registry::get_const('short_' . get_class($this));
     if (isset($deps[$name])) {
         if (is_array($deps[$name])) {
             return registry::register($deps[$name][0], $deps[$name][1]);
         } else {
             return registry::register($deps[$name]);
         }
     }
     if (is_array($deps) && is_int(array_search($name, $deps))) {
         if (isset(registry::$aliases[$name])) {
             if (is_array(registry::$aliases[$name])) {
                 return registry::register(registry::$aliases[$name][0], registry::$aliases[$name][1]);
             } else {
                 return registry::register(registry::$aliases[$name]);
             }
         } elseif (registry::class_exists($name)) {
             return registry::register($name);
         }
     }
     if ($const = registry::get_const($name)) {
         return $const;
     }
     return null;
 }
Exemple #3
0
 public function __get($name)
 {
     if (isset($this->_class_index[$name])) {
         $obj = registry::grab($this->_class_index[$name][0], $this->_class_index[$name][1]);
         if ($obj) {
             return $obj;
         }
     }
     if (!$this->_shorts_loaded) {
         $this->_shorts = static::__shortcuts();
         $this->_shorts_loaded = true;
     }
     $obj = false;
     if (isset($this->_shorts[$name])) {
         if (is_array($this->_shorts[$name])) {
             $obj = registry::register($this->_shorts[$name][0], $this->_shorts[$name][1]);
         } else {
             $obj = registry::register($this->_shorts[$name]);
         }
     } elseif (isset(registry::$aliases[$name])) {
         if (is_array(registry::$aliases[$name])) {
             $obj = registry::register(registry::$aliases[$name][0], registry::$aliases[$name][1]);
         } else {
             $obj = registry::register(registry::$aliases[$name]);
         }
     } elseif (registry::class_exists($name)) {
         $obj = registry::register($name);
     }
     if ($obj) {
         $this->_class_index[$name] = array(get_class($obj), $obj->class_hash);
         return $obj;
     }
     if ($const = registry::get_const($name)) {
         return $const;
     }
     return null;
 }
 public static function destruct($class, $class_hash = '')
 {
     if (self::$destruct_started) {
         return;
     }
     self::$destruct_started = true;
     self::$all_deps = array();
     foreach (array_keys(self::$loaded) as $classname) {
         $deps = $classname::__dependencies();
         if (!empty($deps)) {
             foreach ($deps as $name) {
                 if (isset(registry::$aliases[$name])) {
                     if (is_array(registry::$aliases[$name])) {
                         $dep_class = registry::$aliases[$name][0];
                     } else {
                         $dep_class = registry::$aliases[$name];
                     }
                 } elseif (registry::class_exists($name)) {
                     $dep_class = $name;
                 }
                 self::$all_deps[$dep_class][] = $classname;
             }
         }
     }
     self::_destruct($class, $class_hash);
     self::$destruct_started = false;
 }
Exemple #5
0
 /**
  *	shortcut for the return value of a field
  *
  *	@param string	$name:		name of the field
  *	@param array	$options:	any options for the field
  *	@return mixed				returns the input-value of the field
  */
 public static function value($name, $options, $lang_prefix = false)
 {
     if (empty($options['type'])) {
         $options['type'] = '';
     }
     $class_name = 'h' . $options['type'];
     if (!registry::class_exists($class_name)) {
         return null;
     }
     $class = new $class_name($name, $options);
     // choose language var
     if (!isset($options['lang'])) {
         $lang = $lang_prefix ? $lang_prefix . 'f_' . $name : $name;
     } else {
         $lang = $options['lang'];
     }
     // direct language string?
     if (!empty($options['dir_lang'])) {
         $language = $options['dir_lang'];
     } else {
         $language = register('user')->lang($lang, false, false) ? register('user')->lang($lang) : (register('game')->glang($lang) ? register('game')->glang($lang) : $lang);
     }
     $class->_lang = $language;
     if (!empty($options['encrypt'])) {
         return register('encrypt')->encrypt($class->inpval());
     }
     return $class->inpval();
 }