Example #1
0
/**
* Prints the command & control block at the top
*
* @param    string  $token  CSRF token
* @return   string          HTML for the C&C block
* @todo The moderation items should be displayed with the help of ul/li
* instead of div's. 
*
*/
function commandcontrol($token)
{
    global $_CONF, $_TABLES, $LANG01, $LANG29, $LANG_LOGVIEW, $_IMAGE_TYPE, $_DB_dbms;
    $retval = '';
    $admin_templates = new Template($_CONF['path_layout'] . 'admin/moderation');
    $admin_templates->set_file(array('cc' => 'moderation.thtml', 'ccrow' => 'ccrow.thtml', 'ccitem' => 'ccitem.thtml'));
    $admin_templates->set_var('xhtml', XHTML);
    $admin_templates->set_var('layout_url', $_CONF['layout_url']);
    $admin_templates->set_var('site_url', $_CONF['site_url']);
    $admin_templates->set_var('site_admin_url', $_CONF['site_admin_url']);
    $retval .= COM_startBlock('Geeklog ' . VERSION . ' -- ' . $LANG29[34], '', COM_getBlockTemplate('_admin_block', 'header'));
    $showTrackbackIcon = ($_CONF['trackback_enabled'] || $_CONF['pingback_enabled'] || $_CONF['ping_enabled']) && SEC_hasRights('story.ping');
    $cc_arr = array(array('condition' => SEC_hasRights('story.edit'), 'url' => $_CONF['site_admin_url'] . '/story.php', 'lang' => $LANG01[11], 'image' => '/images/icons/story.'), array('condition' => SEC_hasRights('block.edit'), 'url' => $_CONF['site_admin_url'] . '/block.php', 'lang' => $LANG01[12], 'image' => '/images/icons/block.'), array('condition' => SEC_hasRights('topic.edit'), 'url' => $_CONF['site_admin_url'] . '/topic.php', 'lang' => $LANG01[13], 'image' => '/images/icons/topic.'), array('condition' => SEC_hasRights('user.edit'), 'url' => $_CONF['site_admin_url'] . '/user.php', 'lang' => $LANG01[17], 'image' => '/images/icons/user.'), array('condition' => SEC_hasRights('group.edit'), 'url' => $_CONF['site_admin_url'] . '/group.php', 'lang' => $LANG01[96], 'image' => '/images/icons/group.'), array('condition' => SEC_hasRights('user.mail'), 'url' => $_CONF['site_admin_url'] . '/mail.php', 'lang' => $LANG01[105], 'image' => '/images/icons/mail.'), array('condition' => SEC_hasRights('syndication.edit'), 'url' => $_CONF['site_admin_url'] . '/syndication.php', 'lang' => $LANG01[38], 'image' => '/images/icons/syndication.'), array('condition' => $showTrackbackIcon, 'url' => $_CONF['site_admin_url'] . '/trackback.php', 'lang' => $LANG01[116], 'image' => '/images/icons/trackback.'), array('condition' => SEC_hasRights('plugin.edit'), 'url' => $_CONF['site_admin_url'] . '/plugins.php', 'lang' => $LANG01[98], 'image' => '/images/icons/plugins.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/logview.php', 'lang' => $LANG_LOGVIEW['logview'], 'image' => '/images/icons/logview.'));
    $admin_templates->set_var('cc_icon_width', floor(100 / ICONS_PER_ROW));
    for ($i = 0; $i < count($cc_arr); $i++) {
        if ($cc_arr[$i]['condition']) {
            $item = render_cc_item($admin_templates, $cc_arr[$i]['url'], $_CONF['layout_url'] . $cc_arr[$i]['image'] . $_IMAGE_TYPE, $cc_arr[$i]['lang']);
            $items[$cc_arr[$i]['lang']] = $item;
        }
    }
    // now add the plugins
    $plugins = PLG_getCCOptions();
    for ($i = 0; $i < count($plugins); $i++) {
        $cur_plugin = current($plugins);
        $item = render_cc_item($admin_templates, $cur_plugin->adminurl, $cur_plugin->plugin_image, $cur_plugin->adminlabel);
        $items[$cur_plugin->adminlabel] = $item;
        next($plugins);
    }
    // and finally, add the remaining admin items
    $docsUrl = $_CONF['site_url'] . '/docs/english/index.html';
    if ($_CONF['link_documentation'] == 1) {
        $doclang = COM_getLanguageName();
        $docs = 'docs/' . $doclang . '/index.html';
        if (file_exists($_CONF['path_html'] . $docs)) {
            $docsUrl = $_CONF['site_url'] . '/' . $docs;
        }
    }
    $cc_arr = array(array('condition' => $_CONF['allow_mysqldump'] == 1 && $_DB_dbms == 'mysql' && SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/database.php', 'lang' => $LANG01[103], 'image' => '/images/icons/database.'), array('condition' => $_CONF['link_documentation'] == 1, 'url' => $docsUrl, 'lang' => $LANG01[113], 'image' => '/images/icons/docs.'), array('condition' => SEC_inGroup('Root') && $_CONF['link_versionchecker'] == 1, 'url' => 'http://www.geeklog.net/versionchecker.php?version=' . VERSION, 'lang' => $LANG01[107], 'image' => '/images/icons/versioncheck.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/configuration.php', 'lang' => $LANG01[129], 'image' => '/images/icons/configuration.'));
    for ($i = 0; $i < count($cc_arr); $i++) {
        if ($cc_arr[$i]['condition']) {
            $item = render_cc_item($admin_templates, $cc_arr[$i]['url'], $_CONF['layout_url'] . $cc_arr[$i]['image'] . $_IMAGE_TYPE, $cc_arr[$i]['lang']);
            $items[$cc_arr[$i]['lang']] = $item;
        }
    }
    if ($_CONF['sort_admin']) {
        uksort($items, 'strcasecmp');
    }
    // logout is always the last entry
    $item = render_cc_item($admin_templates, $_CONF['site_url'] . '/users.php?mode=logout', $_CONF['layout_url'] . '/images/icons/logout.' . $_IMAGE_TYPE, $LANG01[35]);
    $items[$LANG01[35]] = $item;
    reset($items);
    $cols = 0;
    $cc_main_options = '';
    foreach ($items as $key => $val) {
        $cc_main_options .= $val . LB;
        $cols++;
        if ($cols == ICONS_PER_ROW) {
            $admin_templates->set_var('cc_main_options', $cc_main_options);
            $admin_templates->parse('cc_rows', 'ccrow', true);
            $admin_templates->clear_var('cc_main_options');
            $cc_main_options = '';
            $cols = 0;
        }
    }
    if ($cols > 0) {
        // "flush out" any unrendered entries
        $admin_templates->set_var('cc_main_options', $cc_main_options);
        $admin_templates->parse('cc_rows', 'ccrow', true);
        $admin_templates->clear_var('cc_main_options');
    }
    $retval .= $admin_templates->finish($admin_templates->parse('output', 'cc'));
    $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
    if (SEC_hasRights('story.moderate')) {
        $retval .= itemlist('story', $token);
    }
    if ($_CONF['listdraftstories'] == 1) {
        if (SEC_hasRights('story.edit')) {
            $retval .= draftlist($token);
        }
    }
    if ($_CONF['commentsubmission'] == 1) {
        if (SEC_hasRights('comment.moderate')) {
            $retval .= itemlist('comment', $token);
        }
    }
    if ($_CONF['usersubmission'] == 1) {
        if (SEC_hasRights('user.edit') && SEC_hasRights('user.delete')) {
            $retval .= userlist($token);
        }
    }
    $retval .= PLG_showModerationList($token);
    return $retval;
}
Example #2
0
/**
* Prints the command & control block at the top
*
* TODO: The moderation items should be displayed with the help of <ul><li>
* instead of div's.
*
*/
function commandcontrol()
{
    global $_CONF, $_TABLES, $LANG01, $LANG_MB01, $LANG_AM, $LANG_LOGO, $LANG29, $LANG_LOGVIEW, $_IMAGE_TYPE, $_DB_dbms;
    $retval = '';
    $admin_templates = new Template($_CONF['path_layout'] . 'admin/moderation');
    $admin_templates->set_file(array('cc' => 'moderation.thtml', 'ccrow' => 'ccrow.thtml', 'ccitem' => 'ccitem.thtml'));
    $admin_templates->set_var('site_admin_url', $_CONF['site_admin_url']);
    $admin_templates->set_var('title', 'glFusion ' . GVERSION . PATCHLEVEL . ' -- ' . $LANG29[34]);
    $retval .= '<h2>glFusion ' . GVERSION . PATCHLEVEL . ' -- ' . $LANG29[34] . '</h2>';
    $showTrackbackIcon = ($_CONF['trackback_enabled'] || $_CONF['pingback_enabled'] || $_CONF['ping_enabled']) && SEC_hasRights('story.ping');
    $cc_arr = array(array('condition' => SEC_hasRights('story.edit'), 'url' => $_CONF['site_admin_url'] . '/story.php', 'lang' => $LANG01[11], 'image' => '/images/icons/story.'), array('condition' => SEC_hasRights('block.edit'), 'url' => $_CONF['site_admin_url'] . '/block.php', 'lang' => $LANG01[12], 'image' => '/images/icons/block.'), array('condition' => SEC_hasRights('topic.edit'), 'url' => $_CONF['site_admin_url'] . '/topic.php', 'lang' => $LANG01[13], 'image' => '/images/icons/topic.'), array('condition' => SEC_hasRights('user.edit'), 'url' => $_CONF['site_admin_url'] . '/user.php', 'lang' => $LANG01[17], 'image' => '/images/icons/user.'), array('condition' => SEC_hasRights('group.edit'), 'url' => $_CONF['site_admin_url'] . '/group.php', 'lang' => $LANG01[96], 'image' => '/images/icons/group.'), array('condition' => SEC_hasRights('user.mail'), 'url' => $_CONF['site_admin_url'] . '/mail.php', 'lang' => $LANG01[105], 'image' => '/images/icons/mail.'), array('condition' => SEC_hasRights('syndication.edit'), 'url' => $_CONF['site_admin_url'] . '/syndication.php', 'lang' => $LANG01[38], 'image' => '/images/icons/syndication.'), array('condition' => $showTrackbackIcon, 'url' => $_CONF['site_admin_url'] . '/trackback.php', 'lang' => $LANG01[116], 'image' => '/images/icons/trackback.'), array('condition' => SEC_hasRights('plugin.edit'), 'url' => $_CONF['site_admin_url'] . '/plugins.php', 'lang' => $LANG01[98], 'image' => '/images/icons/plugins.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/clearctl.php', 'lang' => $LANG01['ctl'], 'image' => '/images/icons/ctl.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/envcheck.php', 'lang' => $LANG01['env_check'], 'image' => '/images/icons/envcheck.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/logview.php', 'lang' => $LANG_LOGVIEW['logview'], 'image' => '/images/icons/logview.'), array('condition' => SEC_hasRights('menu.admin'), 'url' => $_CONF['site_admin_url'] . '/menu.php', 'lang' => $LANG_MB01['menu_builder'], 'image' => '/images/icons/menubuilder.'), array('condition' => SEC_hasRights('logo.admin'), 'url' => $_CONF['site_admin_url'] . '/logo.php', 'lang' => $LANG_LOGO['logo_admin'], 'image' => '/images/icons/logo.'), array('condition' => SEC_hasRights('autotag.admin'), 'url' => $_CONF['site_admin_url'] . '/autotag.php', 'lang' => $LANG_AM['title'], 'image' => '/images/icons/autotag.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/sfs.php', 'lang' => 'SFS User Check', 'image' => '/images/icons/sfs.'));
    $admin_templates->set_var('cc_icon_width', floor(100 / ICONS_PER_ROW));
    for ($i = 0; $i < count($cc_arr); $i++) {
        if ($cc_arr[$i]['condition']) {
            $item = render_cc_item($admin_templates, $cc_arr[$i]['url'], $_CONF['layout_url'] . $cc_arr[$i]['image'] . $_IMAGE_TYPE, $cc_arr[$i]['lang']);
            $items[$cc_arr[$i]['lang']] = $item;
        }
    }
    // now add the plugins
    $plugins = PLG_getCCOptions();
    for ($i = 0; $i < count($plugins); $i++) {
        $cur_plugin = current($plugins);
        $item = render_cc_item($admin_templates, $cur_plugin->adminurl, $cur_plugin->plugin_image, $cur_plugin->adminlabel);
        $items[$cur_plugin->adminlabel] = $item;
        next($plugins);
    }
    // and finally, add the remaining admin items
    $doclang = COM_getLanguageName();
    if (@file_exists($_CONF['path_html'] . 'docs/' . $doclang . '/index.html')) {
        $docUrl = $_CONF['site_url'] . '/docs/' . $doclang . '/index.html';
    } else {
        $docUrl = $_CONF['site_url'] . '/docs/english/index.html';
    }
    $cc_arr = array(array('condition' => $_CONF['allow_mysqldump'] == 1 && $_DB_dbms == 'mysql' && SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/database.php', 'lang' => $LANG01[103], 'image' => '/images/icons/database.'), array('condition' => $_CONF['link_documentation'] == 1, 'url' => $docUrl, 'lang' => $LANG01[113], 'image' => '/images/icons/docs.'), array('condition' => SEC_inGroup('Root') && $_CONF['link_versionchecker'] == 1, 'url' => $_CONF['site_admin_url'] . '/vercheck.php', 'lang' => $LANG01[107], 'image' => '/images/icons/versioncheck.'), array('condition' => SEC_inGroup('Root'), 'url' => $_CONF['site_admin_url'] . '/configuration.php', 'lang' => $LANG01[129], 'image' => '/images/icons/configuration.'), array('condition' => SEC_isModerator(), 'url' => $_CONF['site_admin_url'] . '/moderation.php', 'lang' => $LANG01[10], 'image' => '/images/icons/moderation.'));
    for ($i = 0; $i < count($cc_arr); $i++) {
        if ($cc_arr[$i]['condition']) {
            $item = render_cc_item($admin_templates, $cc_arr[$i]['url'], $_CONF['layout_url'] . $cc_arr[$i]['image'] . $_IMAGE_TYPE, $cc_arr[$i]['lang']);
            $items[$cc_arr[$i]['lang']] = $item;
        }
    }
    if ($_CONF['sort_admin']) {
        uksort($items, 'strcasecmp');
    }
    // logout is always the last entry
    $item = render_cc_item($admin_templates, $_CONF['site_url'] . '/users.php?mode=logout', $_CONF['layout_url'] . '/images/icons/logout.' . $_IMAGE_TYPE, $LANG01[35]);
    $items[$LANG01[35]] = $item;
    reset($items);
    $cols = 0;
    $cc_main_options = '';
    foreach ($items as $key => $val) {
        $cc_main_options .= $val . LB;
        $cols++;
        if ($cols == ICONS_PER_ROW) {
            $admin_templates->set_var('cc_main_options', $cc_main_options);
            $admin_templates->parse('cc_rows', 'ccrow', true);
            $admin_templates->clear_var('cc_main_options');
            $cc_main_options = '';
            $cols = 0;
        }
    }
    if ($cols > 0) {
        // "flush out" any unrendered entries
        $admin_templates->set_var('cc_main_options', $cc_main_options);
        $admin_templates->parse('cc_rows', 'ccrow', true);
        $admin_templates->clear_var('cc_main_options');
    }
    $retval .= $admin_templates->finish($admin_templates->parse('output', 'cc'));
    return $retval;
}