コード例 #1
0
ファイル: class.plugins.php プロジェクト: SjayLiFe/CTRev
 /**
  * Функция проверяет, был ли переопределён "стандартный" класс
  * @param string $class имя базового класса
  * @param bool $name только имя?
  * @return object|string необходимый объект
  */
 public function get_class($class, $name = false)
 {
     $this->include_redefined($class);
     if ($this->state) {
         if (function_exists('load_aliases') && !$this->aliases_inited) {
             load_aliases();
             $this->aliases_inited = true;
         }
         if (class_exists($this->redefined[$class], false)) {
             $class = $this->redefined[$class];
         }
     }
     if (!$name && $class instanceof pluginable_object) {
         if (!$this->pluginable[$class]) {
             $this->pluginable[$class] = new $class();
         }
         return clone $this->pluginable[$class];
     }
     return $name ? $class : new $class();
 }
コード例 #2
0
ファイル: functions.php プロジェクト: SjayLiFe/CTRev
 /**
  * Создание алиаса к классу
  * @param string $original имя оригинального класса
  * @param string $alias имя алиаса
  * @return bool true, если успешно создали алиас
  */
 function class_alias($original, $alias)
 {
     if (!class_exists($original, false)) {
         return false;
     }
     $p = ROOT . CLASS_ALIASES;
     $f = file_get_contents($p);
     $string = "if (!class_exists('" . $alias . "') && class_exists('" . $original . "')){class " . $alias . " extends " . $original . "{}}\n";
     if (mb_strpos($f, $string) === false) {
         if (class_exists($alias)) {
             return true;
         }
         if (!!validword($alias)) {
             return false;
         }
         $f = mb_substr($f, 0, mb_strlen($f) - 2);
         $f .= $string . '?>';
     } else {
         return true;
     }
     file_put_contents($p, $f);
     load_aliases();
     return true;
 }