Exemplo n.º 1
0
 public function init()
 {
     // регистрация автолоадера
     joosAutoloader::init();
     // сначала инициализация базовой конфигурации
     joosConfig::init();
     // отправка заголовков
     joosDocument::header();
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Вывод древовидного представления комментариев
  *
  * @var $obj Объект комментирования
  */
 public function load_comments_tree($obj)
 {
     joosDocument::instance()->add_js_file(JPATH_SITE_APP . '/components/comments/media/js/comments.js');
     $obj_option = get_class($obj);
     $obj_id = $obj->id;
     $comments_list = modelComments::get_comments($obj_option, $obj_id);
     // список текущих комментариев
     self::render_lists($comments_list, $obj);
     // форма добавления нового комментария
     self::render_form($obj_option, $obj_id);
 }
Exemplo n.º 3
0
 private static function save()
 {
     joosCSRF::check_code(1);
     /**
      *
      * Тут код выполнения задачи
      *
      */
     joosDocument::instance()->set_page_title('Блоги')->add_meta_tag('description', 'Блоги');
     joosBreadcrumbs::instance()->add('Блоги');
     return array();
 }
Exemplo n.º 4
0
 public function view()
 {
     $slug = self::$param['page_name'];
     $page = new modelPages();
     $page->slug = $slug;
     $page->find() ? null : joosPages::page404();
     joosDocument::instance()->set_page_title($page->title)->add_meta_tag('description', $page->meta_description)->add_meta_tag('keywords', $page->meta_keywords)->seo_tag('yandex-vf1', md5(time()))->seo_tag('rating', false);
     // тэг rating - скрываем
     joosBreadcrumbs::instance()->add($page->title);
     // если для текущего действия аквирован счетчик хитов - то обновим его
     joosHit::add('pages', $page->id, 'view');
     // передаём параметры записи и категории в которой находится запись для оформления
     return array('page' => $page);
 }
Exemplo n.º 5
0
 /**
  * Автоматическое определение и запуск метода действия
  * @todo добавить сюда события events ДО, ПОСЛЕ и ВМЕСТО выполнения задачи контроллера
  */
 public function run()
 {
     $router = $this->router = joosCore::instance()->get_router();
     $controller_class_name = 'actions' . ucfirst($router->param('controller'));
     $controller = new $controller_class_name();
     $action = $router->param('action');
     JDEBUG ? joosDebug::add($controller_class_name . '->' . $action) : null;
     if (method_exists($controller_class_name, $action)) {
         $results = $controller->{$action}();
         $page_body = $this->views($results);
         // главное содержимое - стек вывода компонента - mainbody
         joosDocument::set_body($page_body);
         return $this;
     } else {
         //  в контроллере нет запрашиваемого метода
         joosPages::page404('Метод не найден');
     }
 }
Exemplo n.º 6
0
    public static function display($name, $content, $hiddenField, $width, $height, $col, $row, $params)
    {
        /**
         *  tiny: только кнопки изменения стиля текста (жирный, наклонный, подчеркнутый, перечеркнутый, subscript, superscript)
         * compact: тоже, что и tiny + сохранить, отмена/повтор, выравнивание, списки, ссылки, полноэкранный режим
         * normal: compact + копировать/вставить, цвета, отступы, элементы, изображения
         * complete: normal + форматирование, размер и стиль шрифта
         * maxi: complete + таблицы
         */
        $toolbar = isset($params['toolbar']) ? $params['toolbar'] : 'maxi';
        $code_on_ready = <<<EOD
    elRTE.prototype.filter.prototype.replaceTags = false;

        \$().ready(function() {
            \$('#{$name}').elrte({
                cssClass : 'el-rte',
                lang     : 'ru',
                height   : '{$height}',
                width: '{$width}',
                toolbar  : '{$toolbar}',
                fmAllow: true,
                fmOpen: function(callback) {
                    \$('<div id="finder" />').elfinder({
                        url : '/ajax.index.php?option=finder',
                        lang : 'ru',
                        view : 'icons',
                        dialog : { width : 900, modal : true, title : 'elFinder - менеджер файлов' },
                        closeOnEditorCallback : true,
                        editorCallback : callback,
                        places: '',
                        placesFirst : false
                    })
                }

                //cssfiles : ['css/elrte-inner.css']
            });
        });
EOD;
        joosDocument::instance()->add_js_code($code_on_ready);
        return '<div id="finder"></div><textarea name="' . $hiddenField . '" id="' . $hiddenField . '" cols="' . $col . '" rows="' . $row . '" style="width:' . $width . ';height:' . $height . ';">' . $content . '</textarea>';
    }
Exemplo n.º 7
0
 public static function dispatch()
 {
     $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', 'site');
     $class = 'actionsAdmin' . joosInflector::camelize($option);
     self::$active_actions_class = $class;
     self::$option = $option;
     self::$task = $task;
     // подключаем js код библиотеки
     joosDocument::instance()->add_js_file(JPATH_SITE . '/core/libraries/autoadmin/media/js/autoadmin.js');
     !JDEBUG ?: joosDebug::add('joosAutoadmin::dispatch() - ' . $class . '::' . $task);
     // в контроллере можно прописать общие действия необходимые при любых действиях контроллера - они будут вызваны первыми, например подклбчение можделей, скриптов и т.д.
     method_exists($class, 'action_before') ? call_user_func_array($class . '::action_before', array(self::$task)) : null;
     $events_name = sprintf('controller.admin.*');
     joosEvents::has_events($events_name) ? joosEvents::fire_events($events_name, $class, $task) : null;
     $events_name = sprintf('controller.admin.%s.*', $class);
     joosEvents::has_events($events_name) ? joosEvents::fire_events($events_name, $task) : null;
     $events_name = sprintf('controller.admin.%s.%s', $class, $task);
     joosEvents::has_events($events_name) ? joosEvents::fire_events($events_name) : null;
     if (method_exists($class, $task)) {
         $results = call_user_func_array($class . '::' . $task, array($option, $id, $page, $task));
         method_exists($class, 'action_after') ? call_user_func_array($class . '::action_after', array(self::$task)) : null;
     } elseif (method_exists($class, 'index')) {
         $results = call_user_func_array($class . '::index', array($option, $id, $page, $task));
         method_exists($class, 'action_after') ? call_user_func_array($class . '::action_after', array(self::$task)) : null;
     } else {
         throw new joosException('Контроллер :controller, либо требуемая задача :task не найдены.', array(':controller' => $class, ':task' => $task));
     }
     if (is_array($results)) {
         self::views($results, self::$option, self::$task);
     } elseif (is_string($results)) {
         echo $results;
     }
     // если контроллер содержит метод вызываемый после окончания работы основного контроллера, то он тоже вызовется
     method_exists($class, 'action_after') ? call_user_func_array($class . '::action_after', array()) : null;
 }
Exemplo n.º 8
0
 public static function add_to_title()
 {
     joosDocument::instance()->set_page_title(strip_tags(implode(' › ', self::$breadcrumbs)));
 }
Exemplo n.º 9
0
            <?php 
}
?>

            <div class="content">
                <?php 
echo joosDocument::body();
?>
            </div>

            <hr>

            <footer>
                <p>&copy; Company 2012</p>
            </footer>

        </div>

        <div id="modal-output"></div>

    <?php 
joosDocument::instance()->add_js_file(JPATH_SITE . '/media/js/jquery.js', array('first' => true));
if (joosConfig::get('debug_template')) {
    joosDocument::instance()->add_js_file(JTEMPLATE_LIVE . '/js/lib/less-1.3.0.min.js');
}
joosDocument::instance()->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-transition.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-alert.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-modal.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-dropdown.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-scrollspy.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-tab.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-tooltip.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-popover.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-button.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-collapse.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-carousel.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-typeahead.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-typeahead.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/bootstrap/bootstrap-datepicker.js')->add_js_file(JTEMPLATE_LIVE . '/js/plugins/jquery.plugins/jquery.noty.js')->add_js_file(JTEMPLATE_LIVE . '/js/app.js');
echo joosDocument::javascript();
?>
    </body>
</html>
Exemplo n.º 10
0
 public static function init()
 {
     joosDocument::instance()->add_js_file(JPATH_SITE . '/media/js/jquery.plugins/jquery.insertatcaret.js');
 }
Exemplo n.º 11
0
/**
 * @package   Core
 * @copyright Авторские права (C) 2007-2010 Joostina team. Все права защищены.
 * @license   Лицензия http://www.gnu.org/licenses/gpl-2.0.htm GNU/GPL, или help/license.php
 * Joostina! - свободное программное обеспечение распространяемое по условиям лицензии GNU/GPL
 * Для получения информации о используемых расширениях и замечаний об авторском праве, смотрите файл help/copyright.php.
 */
// Установка флага родительского файла
define('_JOOS_CORE', 1);
// корень файлов панели управления
define('JPATH_BASE_ADMIN', __DIR__);
require_once dirname(JPATH_BASE_ADMIN) . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'joostina.php';
require_once JPATH_BASE . DS . 'app' . DS . 'bootstrap.php';
require_once JPATH_BASE . DS . 'core' . DS . 'admin.root.php';
joosDocument::header();
// работа с сессиями начинается до создания главного объекта взаимодействия с ядром
joosCoreAdmin::start();
// стартуем пользователя
joosCoreAdmin::init_user();
if (helperAcl::is_allowed('admin_panel::use')) {
    echo json_encode(array('code' => 500, 'message' => 'Ошибка прав доступа'));
    die;
}
$option = joosRequest::param('option');
ob_start();
// файл обработки Ajax запросов конкретного компонента
$file_com = JPATH_BASE . DS . 'app' . DS . 'components' . DS . $option . DS . 'controller.admin.' . $option . '.ajax.php';
// проверяем, какой файл необходимо подключить, данные берутся из пришедшего GET запроса
if (file_exists($file_com)) {
    include_once $file_com;
Exemplo n.º 12
0
 public function action_before()
 {
     parent::action_before();
     joosDocument::instance()->add_js_file(JPATH_SITE . '/app/components/news/media/js/admin.news.js');
 }
Exemplo n.º 13
0
<?php

/**
 * @package   Joostina
 * @copyright Авторские права (C) 2008-2009 Joostina team. Все права защищены.
 * @license   Лицензия http://www.gnu.org/licenses/gpl-2.0.htm GNU/GPL, или help/license.php
 * Joostina! - свободное программное обеспечение распространяемое по условиям лицензии GNU/GPL
 * Для получения информации о используемых расширениях и замечаний об авторском праве, смотрите файл help/copyright.php.
 */
// запрет прямого доступа
defined('_JOOS_CORE') or exit;
joosDocument::instance()->add_css(JPATH_SITE . '/components/sitemap/media/css/sitemap.css');
?>
<h1>Карта сайта</h1><?php 
foreach ($map->nodes as $space => $nodes) {
    echo '<div class="mapspace space-' . $space . '">';
    echo '<ul>';
    foreach ($nodes as $node) {
        echo '<li>' . $node . '</li>';
    }
    echo '</ul>';
    echo '</div>';
}
Exemplo n.º 14
0
$sysstart = microtime(true);
// корень файлов панели управления
define('JPATH_BASE_ADMIN', __DIR__);
require_once dirname(JPATH_BASE_ADMIN) . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'joostina.php';
require_once JPATH_BASE . DS . 'core' . DS . 'admin.root.php';
joosDocument::header();
// работа с сессиями начинается до создания главного объекта взаимодействия с ядром
joosCoreAdmin::start();
// стартуем пользователя
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 = 'недоступно';
Exemplo n.º 15
0
<?php

defined('_JOOS_CORE') or exit;
joosDocument::instance()->add_js_file(JPATH_SITE_APP . '/vendors/extra/basket/media/js/basket.js');
?>

<article class="post">
    <h1>Товар трам-пам-пам</h1>

    <div style="text-align: center"><img src="/app/vendors/extra/basket/media/images/nikon.jpg" /></div>

    <div class="post-text">
        <p>Professionally reintermediate premium systems with sticky mindshare. Progressively build dynamic web-readiness before excellent meta-services. Quickly foster prospective deliverables with high standards in models. Completely productivate wireless users vis-a-vis diverse partnerships. Efficiently deliver orthogonal web services via transparent e-markets.</p>
        <p>Competently aggregate client-centered architectures without 24/365 information. Enthusiastically fabricate focused process improvements without pandemic manufactured products. Competently reinvent interactive bandwidth for visionary technology. Distinctively incentivize efficient intellectual capital through business "outside the box" thinking. Uniquely expedite premium opportunities through end-to-end sources.</p>
        <p>Assertively initiate timely results via multidisciplinary applications. Dramatically enable distinctive leadership skills rather than premier value. Seamlessly pontificate professional resources before scalable growth strategies. Continually pursue reliable collaboration and idea-sharing before timely total linkage. Credibly revolutionize leveraged process improvements vis-a-vis installed base applications.</p>
        <p>Uniquely benchmark performance.</p>
    </div>

    <a class="btn btn-success joosbasket" data-obj="modelBlogs" data-obj-id="12" href="#"><i class="icon-shopping-cart icon-white"></i> В корзину</a>

</article>
Exemplo n.º 16
0
 public static function init()
 {
     joosDocument::instance()->add_css(JPATH_SITE . '/plugins/editors/jwysiwyg/media/css/jquery.wysiwyg.css')->add_js_file(JPATH_SITE . '/plugins/editors/jwysiwyg/media/js/jquery.wysiwyg.js');
 }
Exemplo n.º 17
0
 public function register()
 {
     joosDocument::instance()->set_page_title('Регистрация');
     joosDocument::$config['seotag'] = false;
     $validator = UserValidations::registration();
     if ($_POST) {
         self::save_register($validator);
     } else {
         return array('user' => new modelUsers(), 'validator' => $validator);
     }
 }
Exemplo n.º 18
0
 public static function head()
 {
     $jdocument = self::instance();
     $meta = joosDocument::get_data('meta');
     $n = count($meta);
     $description = $keywords = false;
     for ($i = 0; $i < $n; $i++) {
         if ($meta[$i][0] == 'keywords') {
             $keywords = $meta[$i][1];
         } else {
             if ($meta[$i][0] == 'description') {
                 $description = $meta[$i][1];
             }
         }
     }
     $description ? null : $jdocument->append_meta_tag('description', joosConfig::get2('info', 'description'));
     $keywords ? null : $jdocument->append_meta_tag('keywords', joosConfig::get2('info', 'keywords'));
     if (joosDocument::$config['seotag'] == true) {
         foreach (self::$seotag as $key => $value) {
             $value != false ? $jdocument->add_meta_tag($key, $value) : null;
         }
     }
     echo $jdocument->get_head();
     // favourites icon
     if (self::$config['favicon'] == true) {
         $icon = JPATH_SITE . '/media/favicon.ico?v=2';
         echo "\t" . '<link rel="shortcut icon" href="' . $icon . '" />' . "\n\t";
     }
 }
Exemplo n.º 19
0
    <?php 
joosModuleAdmin::load_by_name('flash_message');
?>

    <div id="component"><?php 
echo joosDocument::get_body();
?>
</div>

</div>
    <script type="text/javascript">
        var _live_site = '<?php 
echo JPATH_SITE;
?>
';
        var _option = '<?php 
echo joosRequest::param('option');
?>
';
        var _cur_template = '<?php 
echo JTEMPLATE_ADMIN;
?>
';
    </script>
    <?php 
echo joosDocument::footer_data();
?>
</body>
</html>
Exemplo n.º 20
0
 public function action_before()
 {
     joosDocument::instance()->add_css(JPATH_SITE . '/media/js/jquery.plugins/syntax/jquery.snippet.css')->add_js_file(JPATH_SITE . '/media/js/jquery.plugins/syntax/jquery.snippet.js')->add_js_file(JPATH_SITE . '/app/components/coder/media/js/coder.js');
     joosAdminView::set_param('component_title', 'Кодер');
 }