コード例 #1
0
function load_awcs_forum()
{
    # $START = processing_time(); // Used for testing speed... $RESULT at bottom...
    global $wgRequest, $wgOut, $wgScriptPath;
    global $awc, $awcUser, $awc_tables, $awc_ver, $ForumStat, $awcs_forum_config, $WhoWhere, $action_url, $tplt;
    global $awc_url, $wiki_url, $style_path, $button_path, $awc__url;
    require_once awc_dir . "includes/funcs.php";
    require_once awc_dir . "includes/gen_funk.php";
    require_once awc_dir . "includes/gen_class.php";
    // awcs_forum_config, awcs_forum_user, awcs_forum_stats,
    $WhoWhere = null;
    define('awc_path', $wgScriptPath . awcForumPath);
    define('emo_path', awc_path . 'images/emotions/default/');
    define('button_path', awc_path . 'images/buttons/default/');
    $style_path = awc_path . 'skins/';
    // used in awcs_forum_skin_templetes::phase() for "find and replace"
    $button_path = button_path;
    // used in awcs_forum_skin_templetes::phase() for "find and replace"
    $wiki_url = awcsf_wiki_url;
    // used in awcs_forum_skin_templetes::phase() for "find and replace"
    $awc_url = awc_url;
    // used in awcs_forum_skin_templetes::phase() function for "find and replace"
    $awc__url = $awc_url;
    if (!isset($awcUser)) {
        $awcUser = new awcs_forum_user();
    }
    $wgRequest->action = null;
    $clean_todo = null;
    $clean_todo_arr = $wgRequest->getVal('title');
    $clean_todo_arr = rawurldecode($clean_todo_arr);
    $clean_todo_arr = explode('/', $clean_todo_arr);
    if (isset($clean_todo_arr[1]) and (!isset($_GET['action']) or !isset($_POST['action']))) {
        $count_to = count($clean_todo_arr) - 1;
        for ($i = 1; $i <= $count_to; ++$i) {
            $clean_todo .= $clean_todo_arr[$i] . "/";
        }
        $wgRequest->action = $clean_todo;
    }
    $action = $wgRequest->getVal('action');
    if ($action == null) {
        $action = $clean_todo;
    } else {
        $action = str_replace('%2F', '/', $action);
        $wgRequest->action = $action;
    }
    $action_spl = explode("/", $action);
    #$todo = $action_spl[0];
    $action_url = array();
    $action_url['all'] = $action;
    $action_url['what_file'] = $action_spl[0];
    if (isset($action_spl[1])) {
        if (strstr($action_spl[1], "id")) {
            $action_url['id'] = str_replace(array('_', 'id', 'id_'), '', $action_spl[1]);
        } else {
            $action_url['section'] = $action_spl[1];
            $action_url['id'] = $wgRequest->getVal('id');
        }
    } else {
        $action_url['id'] = $wgRequest->getVal('id');
    }
    if (isset($action_spl[2])) {
        $action_url['todo'] = $action_spl[2];
    }
    foreach ($action_spl as $act) {
        if (strstr($act, "id_")) {
            $action_url['id'] = str_replace(array('_', 'id', 'id_'), '', $act);
        } else {
            $action_url[] = $act;
        }
    }
    if ($wgRequest->action == "install_forum" and in_array('sysop', $awcUser->mGroups)) {
        require awc_dir . "updates/install/install_forum.php";
        return;
    }
    if (!isset($awcs_forum_config)) {
        $awcs_forum_config = new awcs_forum_config();
        // gen_class.php
    }
    if ($awcs_forum_config->get_config() === false) {
        $out = $awcs_forum_config->get_install();
        $wgOut->addHTML($out);
        return;
    }
    # die("k,h");
    //  Note:
    // This needs to be after the awcs_forum_config()
    // for some reason the unserialize() gets messed with the default CSS and cant read it correctly
    if (awcs_forum_convert_latin) {
        $dbw = wfGetDB(DB_MASTER);
        $dbw->query("SET NAMES latin1");
        unset($dbw);
    }
    /*                             
        // Check to see if forum is installed by checking of the Dbase config table is there...
        if(!$awcs_forum_config->installed){
            $out =  $awcs_forum_config->get_install() ;
            $wgOut->addHTML($out);
            return ;
        }
    */
    // ckeck forum version...
    if (version_compare(awcs_forum_ver_current, awcs_forum_ver, '<')) {
        global $wgRequest;
        if (!strstr($wgRequest->action, "admin/forum_update") and !strstr($wgRequest->action, "admin/get_updates")) {
            if (!in_array('sysop', $awcUser->mGroups)) {
                awcs_forum_wfLoadExtensionMessages('AWCforum_genral_forum');
                $wgOut->addHTML("<center>" . wfMsg('awcsf_updating') . "<br /> <b>" . wfMsg('awcsf_sysops_login') . "</b></center>");
                return;
            }
            die(header('Location: ' . awc_url . 'admin/forum_update'));
        }
    }
    if (isset($awcs_forum_config->cf_header_import) and !empty($awcs_forum_config->cf_header_import)) {
        $header = awc_wikipase($awcs_forum_config->cf_header_import, $wgOut);
        $wgOut->addHTML($header);
    }
    // load this after config_config
    require awc_dir . "includes/load/load_skin_tplts.php";
    if (!isset($tplt)) {
        require awc_dir . 'admin.php';
        awcsforum_funcs::get_table_names(array('awc_f_cats'), true);
        // Get all the forums d-base table names, check for table pre-fix
        awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_admin'));
        // get lang difinitions...
        $admin = new awcforum_forumAdmin();
        $admin->enterAdmin($action);
        return;
    }
    // load lang difinistions and get sql table names
    switch ($action_url['what_file']) {
        case 'search':
            require awc_dir . 'search.php';
            awcsforum_funcs::get_table_names(array('awc_f_threads', 'awc_f_posts', 'awc_f_forums', 'awc_f_cats'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search'));
            // get lang difinitions...
            break;
        case 'post':
            require awc_dir . 'post.php';
            awcsforum_funcs::get_table_names(array('awc_f_polls', 'awc_f_posts', 'awc_f_forums', 'awc_f_threads', 'awc_f_watchthreads', 'awc_f_watchforums'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_thread', 'lang_txt_redirects'));
            // get lang difinitions...
            break;
        case 'st':
        case 'sp':
        case 'last_post':
        case 'delete_post':
        case 'delete_thread':
            require awc_dir . 'thread.php';
            awcsforum_funcs::get_table_names(array('awc_f_posts', 'awc_f_threads', 'awc_f_polls', 'awc_f_forums', 'awc_f_member_titles', 'awc_f_cats'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_thread'));
            // get lang difinitions...
            break;
        case 'member_options':
            require awc_dir . 'members.php';
            awcsforum_funcs::get_table_names(array('awc_f_watchthreads', 'awc_f_watchforums', 'awc_f_threads', 'awc_f_pms_info', 'awc_f_pms', 'awc_f_mems', 'awc_f_threads'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_mem', 'lang_txt_redirects'));
            // get lang difinitions...
            break;
        case 'admin':
            require awc_dir . 'admin.php';
            awcsforum_funcs::get_table_names(array('awc_f_cats'), true);
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_admin', 'lang_txt_redirects'));
            // get lang difinitions...
            break;
        case 'pm':
            require awc_dir . 'pm.php';
            awcsforum_funcs::get_table_names(array('awc_f_mems'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_mem'));
            // get lang difinitions...
            break;
        case 'mem_profile':
        case 'credits':
        case 'whoshere':
            require awc_dir . 'misc.php';
            awcsforum_funcs::get_table_names(array('awc_f_langs', 'awc_f_sessions'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_mem'));
            // get lang difinitions...
            break;
        case 'mod':
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search', 'lang_txt_thread', 'lang_txt_redirects'));
            // get lang difinitions...
            break;
        case 'sc':
        case 'sf':
        case 'subf':
        default:
            require awc_dir . 'forum.php';
            awcsforum_funcs::get_table_names(array('awc_f_cats', 'awc_f_forums', 'awc_f_anns', 'awc_f_threads'));
            // Get all the forums d-base table names, check for table pre-fix
            awcsforum_funcs::get_page_lang(array('lang_txt_forum', 'lang_txt_search'));
            // get lang difinitions...
            break;
    }
    $awcs_forum_config->ver = isset($awcs_forum_config->cf_forumversion) ? $awcs_forum_config->cf_forumversion : '2.x.x';
    $awcs_forum_config->ver = str_replace('.', '', $awcs_forum_config->ver);
    // need a check, some servers will drop the last zero from the version, version needs to be three digets
    #strlen($awc_ver) == 2 ? $awc_ver = $awc_ver . '0' : $awc_ver = $awc_ver ;
    $awcs_forum_config->ver = !isset($awcs_forum_config->ver[2]) ? $awcs_forum_config->ver . '0' : $awcs_forum_config->ver;
    $awc_ver = $awcs_forum_config->ver;
    $info['url'] = awc_url;
    // Need a check here for Admin Setting....
    if (isset($awcs_forum_config->cf_use_forum_stats) and $awcs_forum_config->cf_use_forum_stats == '1') {
        $ForumStat = new awcs_forum_stats();
        $ForumStat->get_stats();
    }
    // need to do something here....
    // PM check, display pop-up or not, set MemCP text for top menu
    if ($awcUser->mId != '0') {
        $awcUser->get_mem_forum_options();
        // set
        if (isset($awcUser->m_pmunread)) {
            $info['user_title'] = $awcUser->m_pmunread == 0 || $awcUser->m_pmunread == '' ? get_awcsforum_word('word_MemOpts') . '' : get_awcsforum_word('word_MemOpts') . ' <b>' . $awcUser->m_pmunread . '</b> ' . get_awcsforum_word('word_unreadpms');
            $pms = $awcUser->m_pmunread . ' ' . get_awcsforum_word('word_unreadpms');
        } else {
            $info['user_title'] = get_awcsforum_word('word_MemOpts');
            $pms = '';
        }
        $info['user_name'] = urlencode($awcUser->mName) . '/' . $awcUser->mId;
        $word['word_recent_posts'] = get_awcsforum_word('word_recent_posts');
        $word['word_gotomempc'] = get_awcsforum_word('word_gotomempc');
        $word['word_gotopms'] = get_awcsforum_word('word_gotopms');
        $word['word_gotosig'] = get_awcsforum_word('word_gotosig');
        $word['word_gotoavatar'] = get_awcsforum_word('word_gotoavatar');
        $word['word_subscribe_email'] = get_awcsforum_word('word_subscribe_email');
        $word['word_subscribe_memcp'] = get_awcsforum_word('word_subscribe_memcp');
        $word['word_threads'] = get_awcsforum_word('word_threads');
        $word['word_posts'] = get_awcsforum_word('word_posts');
        $word['word_MemClearIndicators'] = get_awcsforum_word('word_MemClearIndicators');
        $info['mem_links'] = $tplt->phase($word, $info, 'top_menu_user_links');
    } else {
        $pms = '';
        $mem_title = null;
        $info['mem_links'] = null;
    }
    $tplt->kill('top_menu_user_links');
    $awcs_forum_config->get_css();
    //$wgOut->addScript('<script type="text/javascript" src="'. awc_path . 'awc.js"></script>');
    $wgOut->mScripts .= '<script type="text/javascript" src="' . awc_path . 'awc.js"></script>';
    if (UserPerm == 10) {
        $word['word_AdminCP'] = get_awcsforum_word('word_AdminCP');
        $word['word_AdminCP'] = strlen($word['word_AdminCP']) < 2 ? "Admin Control Panel" : $word['word_AdminCP'];
        $info['admin_link'] = $tplt->phase($word, '', 'top_menu_admin_link');
    } else {
        $info['admin_link'] = null;
    }
    $tplt->kill('top_menu_admin_link');
    if (CanSearch()) {
        $word['search'] = get_awcsforum_word('search_search');
        $info['search_link'] = $tplt->phase($word, '', 'top_menu_search_link');
    } else {
        $info['search_link'] = null;
    }
    $tplt->kill('top_menu_search_link');
    $word['word_todays_posts'] = get_awcsforum_word('word_todays_posts');
    $info['todays_posts'] = $tplt->phase($word, '', 'top_menu_todays_posts_link', true);
    $word['word_credits'] = get_awcsforum_word('word_credits');
    $top_menu_links = $tplt->phase($word, $info, 'top_menu_top', true);
    $wgOut->addHTML($top_menu_links);
    if ($awcUser->mId != '0') {
        if (isset($awcUser->m_pmpop) and isset($awcUser->m_pmoptions['m_pmpop'])) {
            if ($awcUser->m_pmpop == '1' and $awcUser->m_pmoptions['m_pmpop'] == '1' and $action_url['what_file'] != 'member_options') {
                $wgOut->addHTML('<script type= "text/javascript">  alert("' . get_awcsforum_word('word_newpm') . '"); </script>');
            }
        }
    }
    # $wgOut->addHTML('<hr>');
    global $wgSitename;
    $awcs_forum_config->forum_name = !empty($awcs_forum_config->cf__forumname) ? str_replace('|$|', ' ' . $wgSitename . ' ', $awcs_forum_config->cf__forumname) : $wgSitename . ' ' . get_awcsforum_word('word_forum');
    $awcs_forum_config->forum_subtitle = isset($awcs_forum_config->cf__forumsubtitle) ? $awcs_forum_config->cf__forumsubtitle : '';
    if (!$awcUser->canRead and $action_url['what_file'] != 'credits') {
        global $wgSitename;
        $Tforum_name = str_replace('|$|', ' ' . $wgSitename . ' ', $awcs_forum_config->cf__forumname);
        Set_AWC_Forum_SubTitle($awcs_forum_config->forum_name, $awcs_forum_config->forum_name);
        $wgOut->loginToUse();
        get_awcsforum_word('word_standalongforumextension') == '' ? $awc_info = 'Stand Alone Forum Extension' : ($awc_info = get_awcsforum_word('word_standalongforumextension'));
        $wgOut->addHTML("\r" . '<br /><hr><center> <a href="http://wiki.anotherwebcom.com" target="_blank" title="PHP, Visual Basic  scripts and programs">AWC\'s</a>: <b>' . $awcs_forum_config->cf_forumversion . '</b> MediaWiki - ' . $awc_info . '</center>' . "\r");
        return;
    }
    #
    switch ($action_url['what_file']) {
        case 'mod':
            require awc_dir . 'includes/mod_post.php';
            awcs_forum_mod_options();
            break;
        case 'whoshere':
            //$WhoWhere = 'whoshere' ;
            $WhoWhere['type'] = 'forum';
            $WhoWhere['where'] = 'whoshere||awc-split||whoshere';
            $whoshere = new awcforum_misc();
            $whoshere->whoshere();
            break;
        case 'search':
            awcs_forum_search();
            #$search = new awcforum_search();
            #$search->enter_search($action);
            break;
        case 'post':
            awcs_forum_post();
            #$post=new awcsforum_post_cls();
            #$post->enter_post($action);
            break;
        case 'st':
        case 'sp':
        case 'last_post':
        case 'delete_post':
        case 'delete_thread':
            awcs_forum_threads($action);
            break;
        case 'member_options':
            awcs_forum_members($action);
            break;
        case 'admin':
            $admin = new awcforum_forumAdmin();
            $admin->enterAdmin($action);
            break;
        case 'pm':
            $pm = new awcforum_pm();
            $pm->enter_pm($action);
            break;
        case 'mem_profile':
        case 'credits':
            $pm = new awcforum_misc();
            $pm->enter_misc($action);
            break;
        case 'feed':
            //awc_pdie($action_url);
            $title = str_replace('feed/', '', $action_url['all']);
            $rss = new FeedItem($title, 'Description', awc_url . $title);
            awc_pdie($rss);
            break;
        case 'sc':
        case 'sf':
        case 'subf':
        case 'fpw':
        default:
            awcs_forum_listing();
            break;
    }
    $awc_info = get_awcsforum_word('word_standalongforumextension') == '' ? 'Stand Alone Forum Extension' : get_awcsforum_word('word_standalongforumextension');
    // admin check needed
    if (isset($awcs_forum_config->cf_show_whoes_here) and $awcs_forum_config->cf_show_whoes_here == '1') {
        $whos_here = new awcs_forum_whos_here();
        $whos_here->load_ses($action);
        $word = array('word_forum_stats_whos_here' => get_awcsforum_word('word_forum_stats_whos_here'), 'members' => get_awcsforum_word('word_members'), 'guests' => get_awcsforum_word('word_guests'), 'word_forum_stats_bots' => get_awcsforum_word('word_forum_stats_bots'));
        $info['names'] = substr($whos_here->whos_here['names'], 0, -2);
        $info['num_mems'] = $whos_here->whos_here['mems'];
        $info['num_guests'] = $whos_here->whos_here['guests'];
        $info['num_bots'] = $whos_here->whos_here['bots'];
        $footer_whoshere = $tplt->phase($word, $info, 'footer_whoshere', true);
        $wgOut->addHTML($footer_whoshere);
        unset($word, $info);
    }
    #require(awc_dir . 'dBase.php');
    #$dBase = new awcforum_cls_dBase();
    # die("done");
    /*  
     * top poster, replier, most posts in thread, most viewed thrread.
     */
    global $css_ver_info;
    if ($css_ver_info != null) {
        $css_ver_info = get_awcsforum_word('word_css_style_by') . " {$css_ver_info}";
    }
    // Read the top please... http://google.com/search?q=Special:AWCforum will bring up your site sooner or later...
    $wgOut->addHTML('<br /><hr>
            <center>
                <a href="http://wiki.anotherwebcom.com" target="_blank" title="PHP, Visual Basic  scripts and programs">AWC\'s</a>:
                 <b>' . $awcs_forum_config->cf_forumversion . '</b> MediaWiki - ' . $awc_info . '<br />' . $css_ver_info . '</center>');
    $wgOut->setRobotpolicy($awcs_forum_config->cf_setRobotpolicy);
    if (isset($ForumStat)) {
        $ForumStat->doUpdate();
    }
    if ($awcUser->mId != '0') {
        $now = awcsforum_funcs::wikidate(wfTimestampNow());
        if (isset($awcs_forum_config->cf_save_recent_in_dabase) and $awcs_forum_config->cf_save_recent_in_dabase == '1') {
            $dbw = wfGetDB(DB_MASTER);
            $dbw->update('awc_f_mems', array('m_lasttouch' => wfTimestampNow(), 'm_lasthere' => $now), array('m_id' => $awcUser->mId), '');
        } else {
            global $wgCookieExpiration, $wgCookiePath, $wgCookieDomain;
            $exp = time() + $wgCookieExpiration;
            setcookie('awc_startTime', $now, $exp, $wgCookiePath, $wgCookieDomain);
        }
    }
    # $wgOut->setSubtitle( 'Time Test: ' .  processing_time($START) . ' Memory Peek= ' . memory_get_peak_usage(true) . ' memory_get_usage= ' . memory_get_usage()  ) ;  # testing
}
コード例 #2
0
/**
* Trigged when Wiki displays a page
* Displays Forum Menu and Who's Here
* 
* @uses awcs_forum_user
* @uses awcs_forum_wfLoadExtensionMessages
* @uses awcs_forum_stats
* @uses get_stats
* @uses awcs_forums_whos_here_skin_wiki
* @uses doUpdate
* @todo find out why this is being called multi-times by other extensions... http://wiki.anotherwebcom.com/Special:AWCforum/sp/id4778
* 
*/
function AWC_FORUMS_BeforePageDisplay_Menu_WhoesHere(&$out)
{
    global $awcsf_menu_whoeshere_beforepagedisplay;
    // find out why this is being called multi-times by other extensions...
    // http://wiki.anotherwebcom.com/Special:AWCforum/sp/id4778
    if ($awcsf_menu_whoeshere_beforepagedisplay == 'yes') {
        return true;
    }
    $awcsf_menu_whoeshere_beforepagedisplay = 'yes';
    if (awcs_forum_nav_bar or show_whos_here_in_WIKI) {
        global $awcUser, $wgUser;
        require_once awc_dir . "includes/gen_class.php";
        require_once awc_dir . "includes/funcs.php";
        if (!isset($awcUser)) {
            $awcUser = new awcs_forum_user();
        }
    }
    if (awcs_forum_nav_bar) {
        // <awc_forum_menu_tag>
        $current_sidebar = wfMsgForContent('sidebar');
        // get current wiki-nav
        awcs_forum_wfLoadExtensionMessages('AWCforum_menu');
        $sidebar = "\n* " . wfMsg('awcf_forum_menu') . " \n";
        if (!$wgUser->isLoggedIn()) {
            // Add Admin options here...
            /** @todo make config or AdminCP options here */
            $sidebar .= "** Special:AWCforum|" . wfMsg('awcf_forum') . " \n\n";
            $sidebar .= "** Special:AWCforum/search|" . wfMsg('awcf_search') . " \n\n";
            $sidebar .= "** Special:AWCforum/search/todate|" . wfMsg('awcf_todays_posts') . " \n\n";
        } else {
            /*
            require_once(awc_dir . "includes/gen_class.php");
            require_once(awc_dir . "includes/funcs.php");
                               
            
            global $awcUser;
                              // awc_pdie($awcUser);
            if(!isset($awcUser)) $awcUser = new awcs_forum_user();
            */
            if (empty($awcUser) or $awcUser->has_mem_info == false) {
                $awcUser->get_mem_forum_options();
                // set
            }
            # die();
            if (isset($awcUser->m_pmunread)) {
                $user_title = '(' . $awcUser->m_pmunread . ')';
                if (isset($awcUser->m_pmpop) and isset($awcUser->m_pmoptions['m_pmpop'])) {
                    if ($awcUser->m_pmpop == '1' and $awcUser->m_pmoptions['m_pmpop'] == '1') {
                        global $wgOut, $wgTitle;
                        if ($wgTitle->mDbkeyform != 'AWCforum') {
                            $wgOut->addHTML('<script type= "text/javascript">  alert("' . wfMsg('awcf__newpm') . '"); </script>');
                        }
                    }
                }
            } else {
                $user_title = '0';
            }
            $user_title .= ' ' . wfMsg('awcf_unreadpms');
            $mOps = isset($awcUser->m_menu_options) ? $awcUser->m_menu_options : null;
            if (!is_array($mOps) or !isset($mOps) or empty($mOps)) {
                $mOps['pms'] = true;
                $mOps['recent'] = true;
                $mOps['mythreads'] = true;
                $mOps['myposts'] = true;
                $mOps['subemail'] = true;
                $mOps['sublist'] = true;
                $mOps['search'] = true;
                $mOps['today'] = true;
                $mOps['forum'] = true;
            }
            if ($mOps['forum']) {
                $sidebar .= "** Special:AWCforum|" . wfMsg('awcf_forum') . "\n";
            }
            if ($mOps['search']) {
                $sidebar .= "** Special:AWCforum/search|" . wfMsg('awcf_search') . "\n";
            }
            if ($mOps['today']) {
                $sidebar .= "** Special:AWCforum/search/todate|" . wfMsg('awcf_todays_posts') . "\n";
            }
            if ($mOps['pms']) {
                $sidebar .= "** Special:AWCforum/member_options/pminbox|" . $user_title . "\n";
            }
            if ($mOps['recent']) {
                $sidebar .= "** Special:AWCforum/search/recent|" . wfMsg('awcf_recent') . "\n";
            }
            if ($mOps['mythreads']) {
                $sidebar .= "** Special:AWCforum/search/memtopics/" . $wgUser->mName . "/" . $awcUser->mId . "|" . wfMsg('awcf_my_threads') . "\n";
            }
            if ($mOps['myposts']) {
                $sidebar .= "** Special:AWCforum/search/memposts/" . $wgUser->mName . "/" . $awcUser->mId . "|" . wfMsg('awcf_my_posts') . "\n";
            }
            if ($mOps['subemail']) {
                $sidebar .= "** Special:AWCforum/member_options/threadsubscribe_email|" . wfMsg('awcf_sub_email') . "\n";
            }
            if ($mOps['sublist']) {
                $sidebar .= "** Special:AWCforum/member_options/threadsubscribe_list|" . wfMsg('awcf_sub_list') . "\n";
            }
            $sidebar .= "\n";
        }
        if (strstr($current_sidebar, '<awc_forum_menu_tag>')) {
            $sidebar = str_replace('<awc_forum_menu_tag>', $sidebar, $current_sidebar);
        } elseif (awcs_forum_nav_bar_top) {
            $sidebar = $sidebar . $current_sidebar;
        } else {
            $sidebar = $current_sidebar . $sidebar;
        }
        global $wgMessageCache;
        /** @todo work on site notice bug */
        //die(print_r($sidebar));
        # $sitenotice = $wgMessageCache->mCache[awcs_forum_lang_default]['Sitenotice'];
        // http://wiki.anotherwebcom.com/Special:AWCforum/st/id1188
        $wgMessageCache->disable();
        $wgMessageCache->addMessages(array('sidebar' => $sidebar));
        //$wgMessageCache->enable();
    }
    if (show_whos_here_in_WIKI == false) {
        return true;
    }
    global $wgTitle;
    if ($wgTitle->mDbkeyform == 'AWCforum') {
        return true;
    }
    awcs_forum_wfLoadExtensionMessages('AWCforum_whoes_here');
    global $WhoWhere, $ForumStat;
    //$WhoWhere = null;
    $WhoWhere['type'] = 'wiki';
    $WhoWhere['where'] = $wgTitle->mTextform;
    if ($wgTitle->mNamespace == '-1') {
        $WhoWhere['type'] = 'wiki';
        $WhoWhere['where'] = "Special:{$WhoWhere['where']}";
    } elseif ($wgTitle->mNamespace != '0') {
        global $wgCanonicalNamespaceNames;
        $WhoWhere['type'] = 'wiki';
        $WhoWhere['where'] = $wgCanonicalNamespaceNames[$wgTitle->mNamespace] . ":{$WhoWhere['where']}";
    }
    $awcUser->mName = $wgUser->mName;
    $awcUser->mId = $wgUser->mId;
    // require_once(awc_dir . "includes/gen_class.php");
    // require_once(awc_dir . "includes/funcs.php");
    // need this to update the MaxUsers at once
    if (!isset($ForumStat)) {
        $ForumStat = new awcs_forum_stats();
        $ForumStat->get_stats();
    }
    $WhoWhere['type'] = 'wiki';
    $WhoWhere['where'] = $WhoWhere['where'];
    global $whos_here;
    if (!isset($whos_here)) {
        $whos_here = new awcs_forum_whos_here();
    }
    if (isset($whos_here->installed) and $whos_here->installed == true) {
        $whos_here->load_ses($WhoWhere);
        $out->mBodytext .= '<br /><br /><br />' . awcs_forums_whos_here_skin_wiki($whos_here->whos_here);
    }
    $ForumStat->doUpdate();
    return true;
}