/** * Counts news articles, either all or by category or archive date, published or un-published * * @param string $category The categorylink of the category to count * @param string $published "published" for an published articles, * "unpublished" for an unpublised articles, * "all" for all articles * @return array */ function countArticles($category = '', $published = 'published', $count_subcat_articles = true) { deprecated_function_notify(gettext('Count the articles instead.')); global $_zp_post_date; if (zp_loggedin(ZENPAGE_NEWS_RIGHTS)) { $published = "all"; } else { $published = "published"; } $show = ""; if (empty($category)) { switch ($published) { case "published": $show = " WHERE `show` = 1 AND date <= '" . date('Y-m-d H:i:s') . "'"; break; case "unpublished": $show = " WHERE `show` = 0 AND date <= '" . date('Y-m-d H:i:s') . "'"; break; case "all": $show = ""; break; } // date archive query addition if (in_context(ZP_ZENPAGE_NEWS_DATE)) { $postdate = $_zp_post_date; if (empty($show)) { $and = " WHERE "; } else { $and = " AND "; } $datesearch = $and . "date LIKE '{$postdate}%'"; } else { $datesearch = ""; } $result = query("SELECT COUNT(*) FROM " . prefix('news') . $show . $datesearch); $row = db_fetch_row($result); $count = $row[0]; return $count; } else { $catobj = new ZenpageCategory($category); switch ($published) { case "published": $show = " AND news.show = 1 AND news.date <= '" . date('Y-m-d H:i:s') . "'"; break; case "unpublished": $show = " AND news.show = 0 AND news.date <= '" . date('Y-m-d H:i:s') . "'"; break; case "all": $show = ""; break; } if ($count_subcat_articles) { $subcats = $catobj->getSubCategories(); } if ($subcats && $count_subcat_articles) { $cat = " (cat.cat_id = '" . $catobj->getID() . "'"; foreach ($subcats as $subcat) { $subcatobj = new ZenpageCategory($subcat); $cat .= "OR cat.cat_id = '" . $subcatobj->getID() . "' "; } $cat .= ") AND cat.news_id = news.id "; } else { $cat = " cat.cat_id = '" . $catobj->getID() . "' AND cat.news_id = news.id "; } $result = query_full_array("SELECT DISTINCT news.titlelink FROM " . prefix('news2cat') . " as cat, " . prefix('news') . " as news WHERE " . $cat . $show); $count = count($result); return $count; } }
/** * * Returns an array of News article IDs belonging to the search categories */ function subsetNewsCategories() { global $_zp_zenpage; if (!is_array($this->category_list)) { return false; } $cat = ''; $list = $_zp_zenpage->getAllCategories(); foreach ($list as $category) { if (in_array($category['title'], $this->category_list)) { $catobj = new ZenpageCategory($category['titlelink']); $cat .= ' `cat_id`=' . $catobj->get('id') . ' OR'; $subcats = $catobj->getSubCategories(); if ($subcats) { foreach ($subcats as $subcat) { $catobj = new ZenpageCategory($subcat); $cat .= ' `cat_id`=' . $catobj->get('id') . ' OR'; } } } } $sql = 'SELECT DISTINCT `news_id` FROM ' . prefix('news2cat') . ' WHERE ' . substr($cat, 0, -3); $result = query_full_array($sql); $list = array(); foreach ($result as $row) { $list[] = $row['news_id']; } return $list; }
case 'show': $('.body').hide(); state = 'hide'; $('#show_hide').html('Expand all'); break; } } </script> <p class="buttons"><a href="javascript:accordian()"><span id="show_hide">Expand all</span></a></p> <br clear="left" /> <?php global $_zp_current_category; $currentcat = $_zp_current_category; $catobj = new ZenpageCategory('troubleshooting'); $cats = $catobj->getSubCategories(); ?> <ol class="index"> <?php foreach ($cats as $key => $cat) { $catobj = new ZenpageCategory($cat); $_zp_current_category = $catobj; $articles = $catobj->getArticles(); if (!empty($articles)) { $h4 = $catobj->getTitle(); ?> <li><a href="#<?php echo $catobj->getTitlelink(); ?> "><?php echo $h4;