Joostina CMS / CMF v2.* API
  • Docs
  • Package
  • Class
  • Tree
  • Todo
Overview

Packages

  • Components
    • Acls
      • Models
        • Admin
        • Site
    • BlogCategory
      • Models
        • Admin
        • Site
    • Blogs
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Coder
      • Controllers
        • Admin
      • Models
        • Admin
    • Comments
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • CommentsCounter
      • Models
        • Admin
        • Site
    • Mainpage
      • Controllers
        • Site
    • News
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Pages
      • Controllers
        • Admin
        • Site
      • Models
        • Site
    • Search
      • Controllers
        • Site
    • Site
      • Controllers
        • Admin
        • Site
    • Sitemap
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
    • Test
      • Controllers
        • Site
    • Torrents
      • Controllers
        • Site
    • Users
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
  • Compression
  • Core
    • Libraries
      • Arhive
      • Array
      • Attached
      • Autoadmin
      • Autoloader
      • Benchmark
      • Breadcrumbs
      • Cache
      • Config
      • Cookie
      • Csrf
      • Database
        • Drivers
          • Interfaces
      • Datetime
      • Debug
      • Editor
      • Events
      • File
      • Filter
      • Flashmessage
      • Folder
      • Hit
      • Html
      • Image
      • Inflector
      • Inputfilter
      • Libraries
      • Mail
      • Module
      • Nestedset
      • Pager
      • Pages
      • Params
      • Randomizer
      • Request
      • RobotLoader
      • Route
      • Security
      • Session
      • Static
      • String
      • Text
      • Trash
      • Validate
  • Email
  • Extra
    • Libraries
      • Basket
  • Joostina
    • Controller
    • Core
    • Document
  • JSMin
  • Libraries
    • Extra
      • Basket
        • Models
          • Site
  • None
  • Plugins
    • Autoadmin
    • Editor
    • Sitemap
  • SimpleMail
  • Vendors
    • Libraries
      • Email

Classes

  • pluginSitemapBlog
  • pluginSitemapContent
  1: <?php
  2: 
  3: /**
  4:  * @package   Joostina
  5:  * @copyright Авторские права (C) 2008-2009 Joostina team. Все права защищены.
  6:  * @license   Лицензия http://www.gnu.org/licenses/gpl-2.0.htm GNU/GPL, или help/license.php
  7:  * Joostina! - свободное программное обеспечение распространяемое по условиям лицензии GNU/GPL
  8:  * Для получения информации о используемых расширениях и замечаний об авторском праве, смотрите файл help/copyright.php.
  9:  */
 10: // запрет прямого доступа
 11: defined('_JOOS_CORE') or exit();
 12: 
 13: /**
 14:  * Формирует карту контента
 15:  *
 16:  * @version    1.0
 17:  * @package    Plugins
 18:  * @subpackage Sitemap
 19:  * @category   Sitemap
 20:  * @author     Joostina Team <info@joostina.ru>
 21:  * @copyright  (C) 2007-2012 Joostina Team
 22:  * @license    MIT License http://www.opensource.org/licenses/mit-license.php
 23:  * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
 24:  *
 25:  * */
 26: class pluginSitemapContent
 27: {
 28:     public static function get_params()
 29:     {
 30:         $params = array('xml_show_articles' => false);
 31: 
 32:         return $params;
 33:     }
 34: 
 35:     public static function get_mapdata_scheme($params = array())
 36:     {
 37:         return array(//map_block
 38:             array('id' => 'index',
 39:                 'link' => '',
 40:                 'title' => 'Бренды',
 41:                 'level' => 1,
 42:                 'type' => 'single',
 43:                 'priority' => 0.5,
 44:                 'changefreq' => 'daily'), //map_block
 45:             array('id' => 'categories',
 46:                 'link' => '',
 47:                 'title' => '',
 48:                 'level' => 2,
 49:                 'type' => 'list',
 50:                 'call_from' => 'contentMap::lists',
 51:                 'call_params' => $params,
 52:                 'priority' => 0.5,
 53:                 'changefreq' => 'daily'),);
 54:     }
 55: 
 56:     public static function lists($params = array())
 57:     {
 58:         $cats = new modelCategories;
 59:         $cats = $cats->get_list(array('where' => '`group` = "content" AND state = 1',
 60:             'key' => 'id',
 61:             'order' => 'lft ASC'));
 62: 
 63:         $cats_ids = array_keys($cats);
 64: 
 65:         if ($params['xml']) {
 66:             $items = new modelContent;
 67:             $items = $items->get_list(array('where' => 'state = 1 AND category_id IN (' . implode(', ', $cats_ids) . ')'));
 68: 
 69:             $items_by_cats = array();
 70:             foreach ($items as $item) {
 71:                 $item->loc = joosRoute::href('content_view', array('slug' => $item->slug));
 72:                 $item->lastmod = $item->created_at;
 73: 
 74:                 $items_by_cats[$item->category_id][] = $item;
 75:             }
 76:         }
 77: 
 78:         $results = array();
 79: 
 80:         foreach ($cats as $cat) {
 81:             $cat->loc = joosRoute::href('category_view', array('id' => $cat->id,
 82:                         'slug' => $cat->slug));
 83:             $cat->lastmod = date('Y-m-d');
 84:             $cat->title = $cat->name;
 85:             $cat->level = $cat->level + 1;
 86:             $results[] = $cat;
 87: 
 88:             if ($params['xml']) {
 89:                 if (isset($items_by_cats[$cat->id])) {
 90:                     foreach ($items_by_cats[$cat->id] as $item) {
 91:                         $item->level = $cat->level + 1;
 92:                         $results[] = $item;
 93:                     }
 94:                 }
 95:             }
 96:         }
 97: 
 98:         return $results;
 99:     }
100: 
101: }
102: 
Joostina CMS / CMF v2.* API API documentation generated by ApiGen 2.6.1 – Template adapted by @olvlv and Joostina Team