function __construct() { if (strstr(UserGroupPerm, 'bureaucrat')) { $this->bureaucrat = true; } awcsforum_funcs::get_table_names(array('awc_f_cats', 'awc_f_forums')); $this->UserGroupPerm = explode(',', UserGroupPerm); }
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 }
function __construct() { awcsforum_funcs::get_table_names(array('awc_f_anns', 'awc_f_polls', 'awc_f_posts', 'awc_f_forums', 'awc_f_cats', 'awc_f_threads', 'awc_f_watchthreads', 'awc_f_watchforums')); // Get all the forums d-base table names, check for table pre-fix }
function ShowThreads($id) { global $LimitJump_top, $LimitJump_bot, $awcUser; global $wgOut, $wgUser, $WhoWhere, $awc_tables, $numthreadcols, $tplt; $perm = new awcs_forum_perm_checks(); $thread_tools = new awcs_forum_thread_list_tools(); $word_headers = array('replies' => get_awcsforum_word('word_replies'), 'views' => get_awcsforum_word('views'), 'last_action' => get_awcsforum_word('last_action'), 'started_by' => get_awcsforum_word('thread_title_started_by')); $word = array('replies' => get_awcsforum_word('word_replies'), 'views' => get_awcsforum_word('views'), 'last_action' => get_awcsforum_word('last_action'), 'started_by' => get_awcsforum_word('forum_started_by')); $f_id = (int) $id; $sql = $this->rDB->selectSQLText(array('awc_f_forums', 'awc_f_cats'), array('f_name, f_desc, f_top_tmplt, f_parentid, f_id, f_threads, f_wiki_read_perm, f_wiki_write_perm, f_passworded, cat_name'), "f_id={$f_id}", __METHOD__, array('OFFSET' => '0', 'LIMIT' => '1'), array('awc_f_cats' => array('LEFT JOIN', 'cat_id=f_parentid'))); $res = $this->rDB->query($sql); $r = $this->rDB->fetchRow($res); $this->rDB->freeResult($res); $forum_info = array(); $forum_info['f_name'] = $r['f_name']; $forum_info['f_desc'] = $r['f_desc']; $forum_info['f_top_tmplt'] = $r['f_top_tmplt']; $forum_info['cid'] = $r['f_parentid']; $forum_info['cat_name'] = $r['cat_name']; $forum_info['fid'] = $r['f_id']; $forum_info['f_threads'] = $r['f_threads']; $forum_info['f_wiki_write_perm'] = $r['f_wiki_write_perm']; $forum_info['f_wiki_read_perm'] = $r['f_wiki_read_perm']; $forum_info['f_passworded'] = $r['f_passworded']; $WhoWhere['type'] = 'forum'; $WhoWhere['where'] = 'cid' . $r['f_parentid'] . '|fid' . $r['f_id'] . '||awc-split||' . $forum_info['f_name']; $WhoWhere['perm'] = $forum_info['f_wiki_read_perm']; unset($r, $res); // check for Forums Subscriptions if ($awcUser->isLoggedIn and $this->cf_forumsubscrip == '1') { $m_forum_subsrib = array(); $m_forum_subsrib = $awcUser->m_forum_subsrib; if (!empty($m_forum_subsrib)) { if (!array_key_exists($id, $m_forum_subsrib)) { $word_subscribe = get_awcsforum_word('word_subscribe'); $options_menu = null; } else { $word_subscribe = get_awcsforum_word('word_unsubscrib'); $options_menu = get_awcsforum_word('word_youraresubscribed'); if ($awcUser->m_forum_subsrib[$id] == '') { $dbw = wfGetDB(DB_MASTER); $awcUser->m_forum_subsrib[$id] = 'seen'; awcsforum_funcs::get_table_names(array('awc_f_mems', 'awc_f_watchforums')); $sql = "UPDATE {$awc_tables['awc_f_watchforums']} f \r\r\n JOIN {$awc_tables['awc_f_mems']} m\r\r\n ON f.wtchf_mem_id=m.m_id \r\r\n SET f.wtchf_sent=0, m.m_forum_subsrib='" . serialize($awcUser->m_forum_subsrib) . "' \r\r\n WHERE f.wtchf_forum_id = {$id} AND f.wtchf_mem_id = {$awcUser->mId}"; $dbw->query($sql); } } } else { $word_subscribe = get_awcsforum_word('word_subscribe'); $options_menu = null; } } $ann_threads = '<form name="mod_form" enctype="multipart/form-data" action="' . awc_url . 'mod/" method="post"> <input name="todo" type="hidden" value="mod_thread">'; # query for Announcement threads... $totalAnnocments = 0; $sql = "SELECT t.t_id,t.t_ann,t.t_pin,t.t_status,t.t_poll,t.t_name,t.t_starter,t.t_starterid,t.t_topics,t.t_hits,t.t_lastdate, t.t_lastuser, t.t_lastuserid, t.t_forumid \r\r\n\t\t\t\tFROM {$awc_tables['awc_f_anns']} a\r\r\n INNER JOIN {$awc_tables['awc_f_threads']} t ON a.ann_id=t.t_id \r\r\n\t\t\t\tORDER BY t.t_lastdate DESC, t.t_name DESC "; $res = $this->rDB->query($sql); $a = null; $sa = null; $to_skin = array(); while ($r = $this->rDB->fetchObject($res)) { $a++; if ($a == 1) { // create announcements header $to_skin['col_5_isSearch_forum_name'] = ''; $to_skin['tr_id'] = 'id="annc"'; $to_skin['first_col_name'] = get_awcsforum_word('announcement'); $ann_threads .= $tplt->phase($word_headers, $to_skin, 'thread_list_header'); unset($to_skin); } /* check if threads being looped are part of the current forum if so, count them for the "math" in the thread-display-limit */ if ($r->forum_id == $id) { $totalAnnocments++; } $to_skin = $thread_tools->loop_thread_list($r); $ann_threads .= $tplt->phase($word, $to_skin, 'thread_list_rows'); // unset($to_skin); } $this->rDB->freeResult($res); unset($r, $res); if ($a >= 1) { $ann_threads .= "</table><br />"; } $can_read = $perm->can_read($forum_info['f_wiki_read_perm']); if (!$can_read) { global $wgOut; $wgOut->addHTML($ann_threads); return awcs_forum_error('no_forum_read_perm'); } if (!isset($awcUser->pw)) { $awcUser->pw[0] = 0; } if ($perm->is_password($forum_info['f_passworded']) and !in_array($id, $awcUser->pw)) { // show Announcement's then password field Set_AWC_Forum_SubTitle($forum_info['f_name'], $forum_info['f_desc'], ''); Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sc/id' . $forum_info['cid'] . '">' . $forum_info['cat_name'] . '</a>'); Set_AWC_Forum_BreadCrumbs(strtr($forum_info['f_name'], "_", " "), true); global $wgOut; $password_field = '<br /><hr />' . get_awcsforum_word('forum_passworded') . '<hr />'; $password_field .= '</form><form action="' . awc_url . 'fpw" method="post" enctype="multipart/form-data"> <input name="fid" type="hidden" value="' . $id . '"> <input name="pw" type="password" size="20"> <input type="submit" value="' . get_awcsforum_word('submit') . '"> </form><br /><br />'; $wgOut->addHTML($ann_threads . $password_field); return; } $post_button = ''; if ($awcUser->canPost and $perm->can_post($forum_info['f_wiki_write_perm'])) { $word1['start_new_thread'] = str_replace(' ', ' ', get_awcsforum_word('start_new_thread')); $info['url'] = awc_url . 'post/todo_new_t/id' . $id; $post_button = $tplt->phase($word1, $info, 'forum:start_new_thread'); } $tplt->kill('forum:start_new_thread'); // add templet after anncoments... todo if (strlen($forum_info['f_top_tmplt']) > 1) { $ann_threads .= add_tmpl_to_skin($forum_info['f_top_tmplt']); } $TotalPosts = intval($forum_info['f_threads'] - $totalAnnocments); $total['TotalPosts'] = $TotalPosts; $limit = GetLimit($total, 'cat'); if ($awcUser->isLoggedIn and $this->cf_forumsubscrip == '1') { $info['url'] = awc_url . 'post/fsub/id' . $id; $word1['subscrib'] = $word_subscribe; $sb = $tplt->phase($word1, $info, 'forum:subscrib_to_forum'); } else { $sb = null; } unset($word1); $tplt->kill('forum:subscrib_to_forum'); // add tplt, start new thread button, subscrib, page jumps $info['jump'] = $LimitJump_top; $info['new_thread_button'] = $post_button; $info['subscrib_button'] = $sb; $html = $tplt->phase('', $info, 'thread_list_header_menu', true); unset($info); $info['col_5_isSearch_forum_name'] = ''; $info['tr_id'] = null; $info['first_col_name'] = UserPerm >= 2 ? '<INPUT type="checkbox" name="checkbox_toggle" onChange="return checkall_toggle(\'mod_form\',\'tID[]\', this.checked)"> ' : null; $info['first_col_name'] .= get_awcsforum_word('thread_title'); $html .= $tplt->phase($word_headers, $info, 'thread_list_header', true); unset($info, $word_headers); $limit = str_replace('LIMIT ', '', $limit); $limitSPLIT = explode(',', $limit); $offset = isset($limitSPLIT[0]) ? $limitSPLIT[0] : 0; $limit = isset($limitSPLIT[1]) ? $limitSPLIT[1] : 15; $t_forumid = (int) $id; $sql = $this->rDB->selectSQLText(array('awc_f_threads'), array('t_id,t_ann,t_pin,t_status,t_poll,t_name,t_starter,t_starterid,t_topics,t_hits,t_lastdate,t_lastuser,t_lastuserid'), "t_forumid={$t_forumid} AND t_ann=0", __METHOD__, array('OFFSET' => $offset, 'LIMIT' => $limit, 'ORDER BY' => 't_pin DESC, t_lastdate DESC,t_name')); $res = $this->rDB->query($sql); $isThreads = false; $thread_tools->thread_count = 0; while ($r = $this->rDB->fetchObject($res)) { $isThreads = true; $to_tplt = $thread_tools->loop_thread_list($r); $html .= $tplt->phase($word, $to_tplt, 'thread_list_rows'); } $this->rDB->freeResult($res); unset($r, $res); $tplt->kill('thread_list_rows'); if (!$isThreads) { // keep this here... $tplt->add_tplts(array("'empty_forum'"), true); $info['new_thread_button'] = $post_button; $info['subscrib_button'] = $sb; $word['empty_forum'] = get_awcsforum_word('word_emptyforum'); $html = $tplt->phase($word, $info, 'empty_forum', true); } $html .= "</table>"; $e = array(); $e['fID'] = $id; $e['cID'] = $forum_info['cid']; Set_AWC_Forum_SubTitle($forum_info['f_name'], $forum_info['f_desc'], $e); unset($e); Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sc/id' . $forum_info['cid'] . '">' . $forum_info['cat_name'] . '</a>'); $BreadCrumb = Set_AWC_Forum_BreadCrumbs(strtr($forum_info['f_name'], "_", " "), true); # # $info['page_jumps'] = $LimitJump_bot ? $LimitJump_bot : null; if (UserPerm >= 2) { $words['ann'] = get_awcsforum_word('thread_makeAnnouncement'); $words['unann'] = get_awcsforum_word('thread_UnMakeAnnouncement'); $mod['ann'] = UserPerm >= 10 ? $tplt->phase($words, '', 'thread_listing_mod_drop_ann') : null; $tplt->kill('thread_listing_mod_drop_ann'); $words['pinn'] = get_awcsforum_word('pinned_word'); $words['unpinn'] = get_awcsforum_word('pinnedUn_word'); $words['lock'] = get_awcsforum_word('lockThread_word'); $words['unlock'] = get_awcsforum_word('lockThreadUn_word'); $words['move'] = get_awcsforum_word('mod_movethread'); $words['delete'] = get_awcsforum_word('delete'); $words['mod_options'] = get_awcsforum_word('mod_post'); $info['page_jumps'] = ' ' . $tplt->phase($words, $mod, 'thread_listing_mod_drop', true) . $info['page_jumps']; unset($words, $mod); } $info['BreadCrumb'] = $BreadCrumb; $html .= $tplt->phase($word, $info, 'bottom_page_jumps', true); return $ann_threads . $html . '</form>'; }