Пример #1
0
 public static function instance()
 {
     if (self::$instance === null) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Пример #2
0
 public static function instance($tagsArray = array(), $attrArray = array(), $tagsMethod = 0, $attrMethod = 0, $xssAuto = 1)
 {
     !JDEBUG ?: joosDebug::inc('joosInputFilter::instance');
     if (self::$instance === null) {
         self::$instance = new self($tagsArray, $attrArray, $tagsMethod, $attrMethod, $xssAuto);
     }
     return self::$instance;
 }
Пример #3
0
 /**
  * Получение инстанции для работы с базой данных
  * @return joosDatabaseMysqli - объект базы данных
  */
 public static function instance()
 {
     // отметка получения инстенции базы данных
     JDEBUG ? joosDebug::inc('joosDatabaseMysqli::instance()') : null;
     if (self::$instance === NULL) {
         $db_config = joosConfig::get('db');
         $database = new self($db_config['host'], $db_config['user'], $db_config['password'], $db_config['name']);
         if ($database->_error_num) {
             $error_message = $database->_error_msg;
             joosPages::error_database($error_message);
         }
         self::$instance = $database;
     }
     return self::$instance;
 }
Пример #4
0
 public static function show_debug()
 {
     // вывод лога отладки
     // подсчет израсходованной памяти
     if (defined('JOOS_MEMORY_START')) {
         $mem_usage = memory_get_usage() - JOOS_MEMORY_START;
         $mem_usage = joosFile::convert_size($mem_usage);
     } else {
         $mem_usage = 'Недоступно';
     }
     // подсчет времени генерации страницы
     joosDebug::add_top(round(microtime(true) - JOOS_START, 5));
     joosDebug::add_top($mem_usage);
     // вывод итогового лога отлатчика
     joosDebug::get();
 }
Пример #5
0
 public static function dispatch_ajax()
 {
     $id = joosRequest::int('id', 0);
     $page = joosRequest::int('page', false, $_GET);
     $page = $page ? $page : 0;
     $id = $id ? $id : $page;
     $task = joosRequest::param('task', 'index');
     $option = joosRequest::param('option');
     $class = 'actionsAjaxAdmin' . ucfirst($option);
     JDEBUG ? joosDebug::add($class . '::' . $task) : null;
     // в контроллере можно прописать общие действия необходимые при любых действиях контроллера - они будут вызваны первыми, например подклбчение можделей, скриптов и т.д.
     method_exists($class, 'action_before') ? call_user_func_array($class . '::action_before', array()) : null;
     $events_name = sprintf('ajax.controller.admin.*');
     joosEvents::has_events($events_name) ? joosEvents::fire_events($events_name, $class, $task) : null;
     $events_name = sprintf('ajax.controller.admin.%s.*', $class);
     joosEvents::has_events($events_name) ? joosEvents::fire_events($events_name, $task) : null;
     $events_name = sprintf('ajax.controller.admin.%s.%s', $class, $task);
     joosEvents::has_events($events_name) ? joosEvents::fire_events($events_name) : null;
     if (method_exists($class, $task)) {
         $result = call_user_func_array($class . '::' . $task, array($option, $id, $page, $task));
     } else {
         $result = call_user_func_array($class . '::index', array($option, $id, $page, $task));
     }
     // контроллер может содержать метод вызываемый после окончания работы основного контроллера, но тоже вызовется
     method_exists($class, 'action_after') ? call_user_func_array($class . '::action_after', array($task, $result)) : null;
     if (is_array($result)) {
         echo json_encode($result);
     } elseif (is_string($result)) {
         echo $result;
     }
 }
Пример #6
0
 /**
  * Проверка наличия созданных задач на событие
  *
  * @param string $events_name название обытия
  *
  * @return bool результат наличия событий
  */
 public static function has_events($event_name)
 {
     joosDebug::log('Проверка наличия событий :event_name', array(':event_name' => $event_name));
     return isset(self::$events[$event_name]) && count(self::$events[$event_name]) > 0;
 }
Пример #7
0
// стартуем пользователя
joosCoreAdmin::init_user();
if (helperAcl::is_allowed('admin_panel::init') !== true) {
    joosRoute::redirect(JPATH_SITE_ADMIN, 'В доступе отказано');
}
ob_start();
joosAutoadmin::dispatch();
joosDocument::set_body(ob_get_clean());
ob_start();
// начало вывода html
// загрузка файла шаблона
$template_file = JPATH_BASE . DS . 'app' . DS . 'templates' . DS . JTEMPLATE_ADMIN . DS . 'index.php';
if (file_exists($template_file)) {
    require_once $template_file;
} else {
    throw new joosException('Файл index.php шаблона :template_name не найден', array(':template_name' => JTEMPLATE_ADMIN));
}
// подсчет времени генерации страницы
if (JDEBUG) {
    if (defined('_MEM_USAGE_START')) {
        $mem_usage = joosFile::convert_size(memory_get_usage() - _MEM_USAGE_START);
    } else {
        $mem_usage = 'недоступно';
    }
    // подсчет времени генерации страницы
    joosDebug::add_top(round(microtime(true) - $sysstart, 5));
    joosDebug::add_top($mem_usage);
    // информация отладки, число запросов в БД
    joosDebug::get();
}
ob_end_flush();
Пример #8
0
/**
 * Убрать, заменить везде и использовать как joosDebug::dump($var);
 * @deprecated
 */
function _xdump($var)
{
    joosDebug::dump($var);
}