Файл: adultscript-2.0.3-pro/files/libraries/framework/helper.php
Строк: 20
<?php
defined('_VALID') or die('Restricted Access!');
class VHelper
{
private static $helpers = array();
private static $objects = array();
public static function load($key, $object=FALSE)
{
if ($object === TRUE && isset(self::$objects[$key])) {
return self::$objects[$key];
}
if (!isset(self::$helpers[$key])) {
$parts = explode('.', $key);
if (!isset($parts['0']) OR !isset($parts['1'])) {
die('Invalid helper key format!');
}
$type = $parts['0'];
if ($type == 'library') {
$helper_name = $parts['1'];
$helper_file = LIBRARY_DIR.'/helpers/'.$helper_name.'.php';
} elseif ($type == 'module') {
if (isset($parts['2'])) {
$helper_module = $parts['1'];
$helper_name = $parts['2'];
$helper_file = MODULES_DIR.'/'.$helper_module.'/helpers/'.$helper_name.'.php';
}
} elseif ($type == 'admin') {
$helper_module = $parts['1'];
$helper_name = $parts['2'];
$helper_file = ADMIN_DIR.'/modules/'.$helper_module.'/helpers/'.$helper_name.'.php';
} elseif ($type == 'profile') {
$helper_name = $parts['1'];
$helper_file = BASE_DIR.'/profile/helpers/'.$helper_name.'.php';
}
if (!isset($helper_file)) {
die('Invalid helper key specified!');
}
if (file_exists($helper_file) && is_file($helper_file)) {
self::$helpers[$key] = 1;
require $helper_file;
if ($object === TRUE) {
$class = 'VHelper_';
if (isset($helper_module)) {
$class .= $helper_module.'_';
}
$class .= $helper_name;
self::$objects[$key] = new $class();
return self::$objects[$key];
}
} else {
die('Failed to load helper ('.$key.')! Aborting!');
}
}
}
}
?>