コード例 #1
0
ファイル: newsfeeds.php プロジェクト: allenahner/mizzou
function listFeeds($catid)
{
    global $mainframe, $database, $my;
    global $mosConfig_live_site;
    global $Itemid;
    /* Query to retrieve all categories that belong under the contacts section and that are published. */
    $query = "SELECT cc.*, a.catid, COUNT(a.id) AS numlinks" . "\n FROM #__categories AS cc" . "\n LEFT JOIN #__newsfeeds AS a ON a.catid = cc.id" . "\n WHERE a.published = 1" . "\n AND cc.section = 'com_newsfeeds'" . "\n AND cc.published = 1" . "\n AND cc.access <= " . (int) $my->gid . "\n GROUP BY cc.id" . "\n ORDER BY cc.ordering";
    $database->setQuery($query);
    $categories = $database->loadObjectList();
    $rows = array();
    $currentcat = NULL;
    if ($catid) {
        // url links info for category
        $query = "SELECT *" . "\n FROM #__newsfeeds" . "\n WHERE catid = " . (int) $catid . "\n AND published = 1" . "\n ORDER BY ordering";
        $database->setQuery($query);
        $rows = $database->loadObjectList();
        // current category info
        $query = "SELECT id, name, description, image, image_position" . "\n FROM #__categories" . "\n WHERE id = " . (int) $catid . "\n AND published = 1" . "\n AND access <= " . (int) $my->gid;
        $database->setQuery($query);
        $database->loadObject($currentcat);
        /*
        Check if the category is published or if access level allows access
        */
        if (!$currentcat->name) {
            mosNotAuth();
            return;
        }
    }
    // Parameters
    $menu = $mainframe->get('menu');
    $params = new mosParameters($menu->params);
    $params->def('page_title', 1);
    $params->def('header', $menu->name);
    $params->def('pageclass_sfx', '');
    $params->def('headings', 1);
    $params->def('back_button', $mainframe->getCfg('back_button'));
    $params->def('description_text', '');
    $params->def('image', -1);
    $params->def('image_align', 'right');
    $params->def('other_cat_section', 1);
    // Category List Display control
    $params->def('other_cat', 1);
    $params->def('cat_description', 1);
    $params->def('cat_items', 1);
    // Table Display control
    $params->def('headings', 1);
    $params->def('name', 1);
    $params->def('articles', 1);
    $params->def('link', 0);
    if ($catid) {
        $params->set('type', 'category');
    } else {
        $params->set('type', 'section');
    }
    // page description
    $currentcat->descrip = '';
    if (@$currentcat->description != '') {
        $currentcat->descrip = $currentcat->description;
    } else {
        if (!$catid) {
            // show description
            if ($params->get('description')) {
                $currentcat->descrip = $params->get('description_text');
            }
        }
    }
    // page image
    $currentcat->img = '';
    $path = $mosConfig_live_site . '/images/stories/';
    if (@$currentcat->image != '') {
        $currentcat->img = $path . $currentcat->image;
        $currentcat->align = $currentcat->image_position;
    } else {
        if (!$catid) {
            if ($params->get('image') != -1) {
                $currentcat->img = $path . $params->get('image');
                $currentcat->align = $params->get('image_align');
            }
        }
    }
    // page header
    $currentcat->header = '';
    if (@$currentcat->name != '') {
        $currentcat->header = $currentcat->name;
    } else {
        $currentcat->header = $params->get('header');
    }
    // used to show table rows in alternating colours
    $tabclass = array('sectiontableentry1', 'sectiontableentry2');
    $mainframe->SetPageTitle($menu->name);
    HTML_newsfeed::displaylist($categories, $rows, $catid, $currentcat, $params, $tabclass);
}