Beispiel #1
0
function forum_admin_list()
{
    global $_TABLES, $LANG_ADMIN, $LANG_GF00, $LANG_GF91, $LANG_GF06, $_CONF, $_FF_CONF;
    USES_lib_admin();
    $retval = '';
    $selected = '';
    $menu_arr = array();
    $admin_list = new Template($_CONF['path'] . 'plugins/forum/templates/admin/');
    $admin_list->set_file('admin-list', 'index.thtml');
    $admin_list->set_var('block_start', COM_startBlock($LANG_GF91['gfstats']));
    $menu_arr = FF_adminNav($LANG_GF06['1']);
    $admin_list->set_var('admin_menu', ADMIN_createMenu($menu_arr, $LANG_GF00['instructions'], $_CONF['site_url'] . '/forum/images/forum.png'));
    // CATEGORIES
    $numcats = DB_query("SELECT id FROM {$_TABLES['ff_categories']}");
    $totalcats = DB_numRows($numcats);
    // FORUMS
    $numforums = DB_query("SELECT forum_id FROM {$_TABLES['ff_forums']}");
    $totalforums = DB_numRows($numforums);
    // TOPICS
    $numtopics = DB_query("SELECT id FROM {$_TABLES['ff_topic']} WHERE pid = 0");
    $totaltopics = DB_numRows($numtopics);
    // POSTS
    $numposts = DB_query("SELECT id FROM {$_TABLES['ff_topic']}");
    $totalposts = DB_numRows($numposts);
    // VIEWS
    $numviews = DB_query("SELECT SUM(views) AS TOTAL FROM {$_TABLES['ff_topic']}");
    $totalviews = DB_fetchArray($numviews);
    // AVERAGE POSTS
    if ($totalposts != 0) {
        $avgcposts = $totalposts / $totalcats;
        $avgcposts = round($avgcposts);
        $avgfposts = $totalposts / $totalforums;
        $avgfposts = round($avgfposts);
        $avgtposts = $totalposts / $totaltopics;
        $avgtposts = round($avgtposts);
    } else {
        $avgcposts = 0;
        $avgfposts = 0;
        $avgtposts = 0;
    }
    // AVERAGE VIEWS
    if ($totalviews['TOTAL'] != 0) {
        $avgcviews = $totalviews['TOTAL'] / $totalcats;
        $avgcviews = round($avgcviews);
        $avgfviews = $totalviews['TOTAL'] / $totalforums;
        $avgfviews = round($avgfviews);
        $avgtviews = $totalviews['TOTAL'] / $totaltopics;
        $avgtviews = round($avgtviews);
    } else {
        $avgcviews = 0;
        $avgfviews = 0;
        $avgtviews = 0;
    }
    $admin_list->set_var(array('statsmsg' => $LANG_GF91['statsmsg'], 'totalcatsmsg' => $LANG_GF91['totalcats'], 'totalcats' => $totalcats, 'totalforumsmsg' => $LANG_GF91['totalforums'], 'totalforums' => $totalforums, 'totaltopicsmsg' => $LANG_GF91['totaltopics'], 'totaltopics' => $totaltopics, 'totalpostsmsg' => $LANG_GF91['totalposts'], 'totalposts' => $totalposts, 'totalviewsmsg' => $LANG_GF91['totalviews'], 'totalviews' => $totalviews['TOTAL'], 'category' => $LANG_GF91['category'], 'forum' => $LANG_GF91['forum'], 'topic' => $LANG_GF91['topic'], 'avgpmsg' => $LANG_GF91['avgpmsg'], 'avgcposts' => $avgcposts, 'avgfposts' => $avgfposts, 'avgtposts' => $avgtposts, 'avgvmsg' => $LANG_GF91['avgvmsg'], 'avgcviews' => $avgcviews, 'avgfviews' => $avgfviews, 'avgtviews' => $avgtviews));
    $admin_list->set_var('block_end', COM_endBlock());
    $admin_list->parse('output', 'admin-list');
    $retval .= $admin_list->finish($admin_list->get_var('output'));
    return $retval;
}
Beispiel #2
0
function board_edit_forum($id, $statusText = '')
{
    global $_CONF, $_FF_CONF, $_TABLES, $LANG_GF00, $LANG_GF01, $LANG_GF06, $LANG_GF93, $LANG_ADMIN;
    $retval = '';
    $menu_arr = array();
    $filter = sanitizer::getInstance();
    $T = new Template($_CONF['path'] . 'plugins/forum/templates/admin/');
    $T->set_file('boards_edtforum', 'boards_edtforum.thtml');
    $T->set_var('block_start', COM_startBlock($LANG_GF93['gfboard'], '', COM_getBlockTemplate('_admin_block', 'header')));
    $menu_arr = FF_adminNav();
    $T->set_var('admin_menu', ADMIN_createMenu($menu_arr, $LANG_GF00['instructions'], $_CONF['site_url'] . '/forum/images/forum.png'));
    if (empty($statusText)) {
        // first time in - pull data from database...
        $sql = "SELECT forum_name,forum_cat,forum_dscp,grp_id,use_attachment_grpid,forum_order,is_hidden,is_readonly,no_newposts ";
        $sql .= "FROM {$_TABLES['ff_forums']} WHERE forum_id=" . (int) $id;
        $resForum = DB_query($sql);
        list($forum_name, $forum_category, $forum_dscp, $privgroup, $attachgroup, $forum_order, $is_hidden, $is_readonly, $no_newposts) = DB_fetchArray($resForum);
    } else {
        // grab the posted data
        $forum_name = $_POST['name'];
        $forum_category = COM_applyFilter($_POST['category'], true);
        $forum_dscp = $_POST['dscp'];
        $privgroup = COM_applyFilter($_POST['privgroup'], true);
        $attachgroup = COM_applyFilter($_POST['attachmentgroup'], true);
        $forum_order = 0;
        $is_hidden = isset($_POST['is_hidden']) ? 1 : 0;
        $is_readonly = isset($_POST['is_readonly']) ? 1 : 0;
        $no_newposts = isset($_POST['no_newposts']) ? 1 : 0;
        $forum_name = $filter->editableText($forum_name);
        $forum_dscp = $filter->editableText($forum_dscp);
    }
    $title = sprintf($LANG_GF93['editforumnote'], $forum_name);
    // build select lists
    $resGroups = DB_query("SELECT DISTINCT grp_id,grp_name FROM {$_TABLES['groups']} ORDER BY grp_name ASC ");
    $nrows = DB_numRows($resGroups);
    $grouplist = '';
    $attachgrouplist = '';
    while (list($grp, $name) = DB_fetchArray($resGroups)) {
        if ($grp == $privgroup) {
            $grouplist .= '<option value="' . $grp . '" selected="selected">' . $name . '</option>';
        } else {
            $grouplist .= '<option value="' . $grp . '">' . ucfirst($name) . '</option>';
        }
        if ($grp == $attachgroup) {
            $attachgrouplist .= '<option value="' . $grp . '" selected="selected">' . ucfirst($name) . '</option>';
        } else {
            $attachgrouplist .= '<option value="' . $grp . '">' . ucfirst($name) . '</option>';
        }
    }
    $catSelect = '<select name="category">';
    $catResult = DB_query("SELECT * FROM {$_TABLES['ff_categories']} ORDER BY cat_order ASC");
    while (($C = DB_fetchArray($catResult)) != FALSE) {
        $catSelect .= '<option value="' . $C['id'] . '" ' . ($C['id'] == $forum_category ? ' selected="selected"' : '') . '>' . $C['cat_name'] . '</option>';
    }
    $catSelect .= '</select>';
    $order_select = '<option value="0">' . 'First Position' . '</option>' . LB;
    $result = DB_query("SELECT forum_id,forum_name,forum_order FROM {$_TABLES['ff_forums']} WHERE forum_cat=" . (int) $forum_category . " ORDER BY forum_order ASC");
    $order = 10;
    while ($row = DB_fetchArray($result)) {
        if ($forum_order != $order) {
            $test_order = $order + 10;
            $order_select .= '<option value="' . $row['forum_id'] . '"' . ($forum_order == $test_order ? ' selected="selected"' : '') . '>' . $row['forum_name'] . '</option>' . LB;
        }
        $order += 10;
    }
    $T->set_var(array('order_list' => $order_select, 'phpself' => $_CONF['site_admin_url'] . '/plugins/forum/boards.php', 's_form_action' => $_CONF['site_admin_url'] . '/plugins/forum/boards.php', 'title' => sprintf($LANG_GF93['editforumnote'], $forum_name), 'cat_select' => $catSelect, 'lang_category' => $LANG_GF01['category'], 'id' => $id, 'mode' => 'saveeditforum', 'category_id' => $forum_category, 'forum_name' => $forum_name, 'forum_dscp' => $forum_dscp, 'forum_order' => $forum_order, 'chk_hidden' => $is_hidden ? 'checked="checked"' : '', 'chk_readonly' => $is_readonly ? 'checked="checked"' : '', 'chk_newposts' => $no_newposts ? 'checked="checked"' : '', 'LANG_DESCRIPTION' => $LANG_GF01['DESCRIPTION'], 'LANG_NAME' => $LANG_GF01['NAME'], 'LANG_GROUPACCESS' => $LANG_GF93['groupaccess'], 'LANG_ATTACHACCESS' => $LANG_GF93['attachaccess'], 'LANG_readonly' => $LANG_GF93['readonly'], 'LANG_readonlydscp' => $LANG_GF93['readonlydscp'], 'LANG_hidden' => $LANG_GF93['hidden'], 'LANG_hiddendscp' => $LANG_GF93['hiddendscp'], 'LANG_hideposts' => $LANG_GF93['hideposts'], 'LANG_hidepostsdscp' => $LANG_GF93['hidepostsdscp'], 'grouplist' => $grouplist, 'attachmentgrouplist' => $attachgrouplist, 'LANG_SAVE' => $LANG_GF01['SAVE'], 'LANG_CANCEL' => $LANG_GF01['CANCEL'], 'block_end' => COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')), 'status_text' => $statusText));
    $T->parse('output', 'boards_edtforum');
    $retval .= $T->finish($T->get_var('output'));
    return $retval;
}