/** * @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; }