예제 #1
0
파일: admin.trash.php 프로젝트: cwcw/cms
/**
* Compiles a list of trash items
*/
function viewTrash($option)
{
    global $database, $mainframe, $mosConfig_list_limit;
    require_once $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php';
    $limit = $mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mosConfig_list_limit);
    $limitstart = $mainframe->getUserStateFromRequest("view{" . $option . "}limitstart", 'limitstart', 0);
    // get the total number of content
    $query = "SELECT count(*)" . "\n FROM #__content AS c" . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" . "\n WHERE c.state = '-2'";
    $database->setQuery($query);
    $total_content = $database->loadResult();
    $pageNav_content = new mosPageNav($total_content, $limitstart, $limit);
    // Query content items
    $query = "SELECT c.*, g.name AS groupname, cc.name AS catname, s.name AS sectname" . "\n FROM #__content AS c" . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" . "\n INNER JOIN #__groups AS g ON g.id = c.access" . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" . "\n WHERE c.state = '-2'" . "\n ORDER BY s.name, cc.name, c.title" . "\n LIMIT " . $pageNav_content->limitstart . ", " . $pageNav_content->limit . "";
    $database->setQuery($query);
    $contents = $database->loadObjectList();
    $query = "SELECT count(*)" . "\n FROM #__menu AS m" . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" . "\n WHERE m.published = -2";
    $database->setQuery($query);
    $total_menu = $database->loadResult();
    //$total_menu = count( $total_menu );
    $pageNav_menu = new mosPageNav($total_menu, $limitstart, $limit);
    // Query menu items
    $query = "SELECT m.*" . "\n FROM #__menu AS m" . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" . "\n WHERE m.published = -2" . "\n ORDER BY m.menutype, m.ordering, m.ordering, m.name" . "\n LIMIT " . $pageNav_menu->limitstart . ", " . $pageNav_menu->limit . "";
    $database->setQuery($query);
    $menus = $database->loadObjectList();
    for ($i = 0; $i < $total_content; $i++) {
        if ($contents[$i]->sectionid == 0 && $contents[$i]->catid == 0) {
            $contents[$i]->sectname = 'Typed Content';
        }
    }
    HTML_trash::showList($option, $contents, $menus, $pageNav_content, $pageNav_menu);
}
예제 #2
0
/**
* Compiles a list of trash items
*/
function viewTrash($option)
{
    global $database, $mainframe, $mosConfig_list_limit;
    $catid = $mainframe->getUserStateFromRequest("catid{$option}", 'catid', 'content');
    $limit = intval($mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mosConfig_list_limit));
    $limitstart = intval($mainframe->getUserStateFromRequest("view{$option}limitstart", 'limitstart', 0));
    require_once $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php';
    if ($catid == "content") {
        // get the total number of content
        $query = "SELECT count(*)" . "\n FROM #__content AS c" . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope = 'content'" . "\n WHERE c.state = -2";
        $database->setQuery($query);
        $total = $database->loadResult();
        $pageNav = new mosPageNav($total, $limitstart, $limit);
        // Query content items
        $query = "SELECT c.*, g.name AS groupname, cc.name AS catname, s.name AS sectname" . "\n FROM #__content AS c" . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" . "\n INNER JOIN #__groups AS g ON g.id = c.access" . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" . "\n WHERE c.state = -2" . "\n ORDER BY s.name, cc.name, c.title";
        $database->setQuery($query, $pageNav->limitstart, $pageNav->limit);
        $content = $database->loadObjectList();
        $num = $total;
        if ($limit < $total) {
            $num = $limit;
        }
        for ($i = 0; $i < $num - 1; $i++) {
            if ($content[$i]->sectionid == 0 && $content[$i]->catid == 0) {
                $content[$i]->sectname = 'Static Content';
            }
        }
    } else {
        // get the total number of menu
        $query = "SELECT count(*)" . "\n FROM #__menu AS m" . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" . "\n WHERE m.published = -2";
        $database->setQuery($query);
        $total = $database->loadResult();
        $pageNav = new mosPageNav($total, $limitstart, $limit);
        // Query menu items
        $query = "SELECT m.name AS title, m.menutype AS sectname, m.type AS catname, m.id AS id" . "\n FROM #__menu AS m" . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" . "\n WHERE m.published = -2" . "\n ORDER BY m.menutype, m.ordering, m.ordering, m.name";
        $database->setQuery($query, $pageNav->limitstart, $pageNav->limit);
        $content = $database->loadObjectList();
    }
    // Build the select list
    $listselect = array();
    $listselect[] = mosHTML::makeOption('content', 'Content Items');
    $listselect[] = mosHTML::makeOption('menu', 'Menu Items');
    $selected = "all";
    $list = mosHTML::selectList($listselect, 'catid', 'class="inputbox" size="1" ' . 'onchange="document.adminForm.submit();"', 'value', 'text', $catid);
    HTML_trash::showList($option, $content, $pageNav, $list, $catid);
}