Example #1
0
 public static function GetCategoryUri($categoryid)
 {
     static $categories = null;
     if (is_null($categories)) {
         // Get all URIs and associated categories
         $categories = array();
         $pages = Page::DAOFactory();
         $pages->select()->where('application = ?', 'Downloads');
         foreach ($pages->getAll() as $page) {
             $settings = json_decode($page->get('settings'), true);
             $uri = $page->get('uri');
             if (isset($settings['categoryid']) && !in_array(0, $settings['categoryid'])) {
                 // This news page only includes certain categories
                 foreach ($settings['categoryid'] as $cid) {
                     $categories[$cid] = $uri;
                 }
             } else {
                 // This news page includes all categories
                 $categories[0] = $uri;
             }
         }
     }
     // There is a page that explicitly includes this category
     if (isset($categories[$categoryid])) {
         return $categories[$categoryid];
     }
     // There is a page that includes all categories
     if (isset($categories[0])) {
         return $categories[0];
     }
     // There is no page for this category
     return null;
 }