示例#1
0
 /**
  *
  * @return joosDocument
  */
 public static function instance()
 {
     if (self::$instance === null) {
         self::$instance = new self();
         self::$data['title'] = array(joosConfig::get2('info', 'title'));
     }
     return self::$instance;
 }
示例#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);
 }
示例#3
0
 private static function save()
 {
     joosCSRF::check_code(1);
     /**
      *
      * Тут код выполнения задачи
      *
      */
     joosDocument::instance()->set_page_title('Блоги')->add_meta_tag('description', 'Блоги');
     joosBreadcrumbs::instance()->add('Блоги');
     return array();
 }
示例#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);
 }
示例#5
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>';
    }
示例#6
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;
 }
示例#7
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);
     }
 }
示例#8
0
 public static function add_to_title()
 {
     joosDocument::instance()->set_page_title(strip_tags(implode(' › ', self::$breadcrumbs)));
 }
示例#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>
示例#10
0
 public static function init()
 {
     joosDocument::instance()->add_js_file(JPATH_SITE . '/media/js/jquery.plugins/jquery.insertatcaret.js');
 }
示例#11
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');
 }
示例#12
0
            <!--[2]#bottom::BEGIN-->
            <div id="bottom">
                <div class="wrapper">

                </div>
            </div>
            <!--[2]#bottom::END-->

        </div>
        <!--[1]#wrapper::END-->

        <!--[1]#footer::BEGIN-->
        <div id="footer">
            <div class="wrapper">

                <div class="b-copyrights">
                    <a href="mailto:info@joostina.ru" id="email_us">Написать письмо</a>
                    Joostina CMS &copy; 2007-2012
                </div>
            </div>
        </div>
        <!--[1]#footer::END-->

        <?php 
joosDocument::instance()->add_js_file(JPATH_SITE . '/media/js/jquery.js', array('first' => true));
echo joosDocument::javascript();
echo joosDocument::footer_data();
?>
    </body>
</html>
示例#13
0
<?php

/**
 * @JoostFREE
 * @package   Joostina
 * @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.
 */
// запрет прямого доступа
defined("_JOOS_CORE") or exit;
joosDocument::instance()->add_css(JPATH_SITE . '/app/templates/' . JTEMPLATE_ADMIN . '/media/css/app.css?ver=1')->add_js_file(JPATH_SITE . "/media/js/jquery.js", array("first" => true))->add_js_file(JPATH_SITE . "/media/js/administrator.login.js");
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title><?php 
echo "Панель управления Joostina CMS";
?>
</title>
    <meta http-equiv="Content-Type" content="text/html;  charset=UTF-8"/>
    <link rel="shortcut icon" href="<?php 
echo JPATH_SITE;
?>
/media/favicon.ico"/>
    <?php 
echo joosDocument::stylesheet();
?>
    <meta name="robots" content="noindex"/>
示例#14
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>';
}
示例#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>
示例#16
0
 public function action_before()
 {
     parent::action_before();
     joosDocument::instance()->add_js_file(JPATH_SITE . '/app/components/news/media/js/admin.news.js');
 }
示例#17
0
<?php

/**
 * @JoostIN
 * @package Joostina
 */
// запрет прямого доступа
defined('_JOOS_CORE') or exit;
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
joosDocument::instance()->add_css(JPATH_SITE . '/app/templates/' . JTEMPLATE_ADMIN . '/media/css/app.css?ver=1')->add_js_file(JPATH_SITE . '/media/js/jquery.js', array('first' => true))->add_js_file(JPATH_SITE . '/app/templates/' . JTEMPLATE_ADMIN . '/media/js/bootstrap.min.js')->add_js_file(JPATH_SITE . '/media/js/jquery-ui.js')->add_js_file(JPATH_SITE . '/media/js/jquery.plugins/jquery.hotkeys.js')->add_js_file(JPATH_SITE . '/media/js/jquery.plugins/jquery.tiptip.js')->add_js_file(JPATH_SITE . '/app/templates/' . JTEMPLATE_ADMIN . '/media/js/app.administrator.js');
joosDocument::instance()->add_css(JPATH_SITE . '/media/js/jquery.plugins/jquery.noty/jquery.noty.css')->add_css(JPATH_SITE . '/media/js/jquery.plugins/jquery.noty/noty_theme_default.css')->add_css(JPATH_SITE . '/media/js/jquery.plugins/jquery.noty/noty_theme_twitter.css')->add_js_file(JPATH_SITE . '/media/js/jquery.plugins/jquery.noty.js');
// для панели управления расширенные тэги индексации не нужны
joosDocument::$config['seotag'] = FALSE;
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <?php 
echo joosDocument::head();
?>
    <?php 
echo joosDocument::stylesheet();
?>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
    <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
 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', 'Кодер');
 }