Beispiel #1
0
 /**
  * @param array $items
  * @param array $options
  * @param array $extend_data
  * @return array
  */
 public function prepareView($items, $options = array(), $extend_data = array())
 {
     $extend_options = array_merge($this->extend_options, $options);
     $extend_data = array_merge($this->extend_data, (array) $extend_data);
     foreach ($items as &$item) {
         blogHelper::extendIcon($item);
         if (!isset($extend_options['link']) || $extend_options['link']) {
             $item['link'] = blogBlog::getUrl($item, true);
         }
         if (!empty($extend_options['escape'])) {
             $item['name'] = htmlspecialchars($item['name'], ENT_QUOTES, 'utf-8');
             $item['link'] = htmlspecialchars($item['link'], ENT_QUOTES, 'utf-8');
         }
         unset($item);
     }
     if (isset($options['new']) && $options['new']) {
         $post_model = new blogPostModel();
         $blog_activity = blogActivity::getInstance();
         $posts_update = $post_model->getAddedPostCount(blogActivity::getUserActivity(), array_keys($items), true);
         if ($posts_update) {
             foreach ($posts_update as $blog_id => $new) {
                 if (isset($items[$blog_id])) {
                     $items[$blog_id]['new_post'] = 0;
                     $post_ids = explode(':', $new);
                     foreach ($post_ids as $post_id) {
                         if ($blog_activity->isNew("b.{$blog_id}", $post_id, isset($options['expire']) ? $options['expire'] : null)) {
                             ++$items[$blog_id]['new_post'];
                         }
                     }
                     if (!$items[$blog_id]['new_post']) {
                         unset($items[$blog_id]['new_post']);
                     }
                 }
             }
         }
     }
     /**
      * Prepare blog data
      * Extend each blog item via plugins data
      * @event prepare_blogs_frontend
      * @event prepare_blogs_backend
      * @param array $items
      * @param int $items[]['id']
      * @return void
      */
     wa()->event('prepare_blogs_' . wa()->getEnv(), $items);
     return $items;
 }
    public function frontendSidebar($params)
    {
        $output = array();
        $category_id = isset($params['category']) ? $params['category'] : false;
        if ($categories = blogCategory::getAll()) {
            $output['sidebar'] = '<ul class="menu-v categories">';
            $wa = wa();
            foreach ($categories as $category) {
                blogHelper::extendIcon($category);
                $category['link'] = $wa->getRouteUrl('blog/frontend', array('category' => urlencode($category['url'])), true);
                $category['name'] = htmlentities($category['name'], ENT_QUOTES, 'utf-8');
                $selected = $category_id && $category_id == $category['url'] ? ' class="selected"' : '';
                $output['sidebar'] .= <<<HTML
<li{$selected}>
<a href="{$category['link']}" title="{$category['name']}">{$category['name']}</a>
</li>
HTML;
            }
            $output['sidebar'] .= '</ul>';
        }
        return $output;
    }