Пример #1
0
 private static function _GetCategoryBases()
 {
     static $categoryids = null;
     static $categoryBases = null;
     if (is_null($categoryBases)) {
         $categoryids = array();
         $categoryBases = array();
         $categories = new Model_News_Category();
         foreach ($categories->select() as $category) {
             $categoryids[] = $category['id'];
         }
         $pages = new Model_Page();
         $pages->where('application = ?', 'News');
         foreach ($pages->select() as $page) {
             if (isset($page['settings']['categoryid']) && is_array($page['settings']['categoryid']) && !in_array(0, $page['settings']['categoryid'])) {
                 foreach ($page['settings']['categoryid'] as $id) {
                     if (!isset($categoryBases[$id])) {
                         $categoryBases[$id] = array();
                     }
                     $categoryBases[$id][] = TYPEF_WEB_DIR . $page['uri'];
                 }
             } else {
                 if (!isset($categoryBases[0])) {
                     $categoryBases[0] = array();
                 }
                 $categoryBases[0][] = TYPEF_WEB_DIR . $page['uri'];
                 foreach ($categoryids as $id) {
                     if (!isset($categoryBases[$id])) {
                         $categoryBases[$id] = array();
                     }
                     $categoryBases[$id][] = TYPEF_WEB_DIR . $page['uri'];
                 }
             }
         }
     }
     return $categoryBases;
 }
Пример #2
0
$categories = array();
$allselected = true;
$pm->setVariable('settingstemplate', '/admin/news/settings.html');
if (isset($_REQUEST['pageid'])) {
    //$rs = $db->prepare('SELECT * FROM #__page WHERE pageid = ?');
    //$rs->execute($_REQUEST['pageid']);
    $row = Model_Page::Get($_REQUEST['pageid']);
    if ($row->exists()) {
        $pm->setVariable('settings', $row['settings']);
        $categories = isset($settings['categoryid']) ? $settings['categoryid'] : array();
        if (!is_array($categories)) {
            $categories = array();
        }
        if (in_array(0, $categories)) {
            $allselected = true;
        } else {
            $allselected = false;
        }
    }
}
//$rs = $db->execute('SELECT * FROM #__news_category ORDER BY categoryname');
$categories = new Model_News_Category();
$categories->order('categoryname');
foreach ($categories->select() as $row) {
    if (!$allselected && isset($row['categoryid']) && is_array($row['categoryid']) && in_array($row['categoryid'], $categories)) {
        $row['selected'] = 'selected';
    } else {
        $row['selected'] = '';
    }
    $pm->addLoop('categories', $row);
}