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 pm_send() { global $wgRequest, $wgOut, $awc_tables, $action_url; $preview = $wgRequest->getVal('preview'); $post = $wgRequest->getVal('wpTextbox1'); $title = $wgRequest->getVal('t_title'); $send_to = $wgRequest->getVal('send_to'); #$savetosent = $wgRequest->getVal( 'savetosent' ); $savetosent = $wgRequest->getVal('savetosent'); $savetosent = $savetosent == 'on' ? 'checked' : ''; $sendto_ids = array(); $sendto_names = null; $sendto = explode(';', $send_to); $sendto = array_map('trim', $sendto); if ((UserPerm == 2 and count($sendto) > $this->modPMsendlimit) || (UserPerm == 1 and count($sendto) > $this->userPMsendlimit)) { $preview = true; $l = null; UserPerm == 2 ? $l = $this->modPMsendlimit : ($l = $this->userPMsendlimit); $info['error'] = get_awcsforum_word('mem_pm_sendtomanypeople') . ' ' . $l; } $dbr = wfGetDB(DB_SLAVE); if (strlen($preview) == 0) { $info['error'] = null; $user_table = $dbr->tableName('user'); if (!isset($awcUser->mem_send_pm_body_in_email) or $awcUser->mem_send_thread_body_in_email == '0') { $this->cf_send_post_body_in_email = 0; } foreach ($sendto as $n => $user) { $sql = "SELECT w.user_id, w.user_email, f.m_pmoptions, f.m_idname \r\r\n FROM {$user_table} w\r\r\n LEFT JOIN {$awc_tables['awc_f_mems']} f\r\r\n ON w.user_name=f.m_idname\r\r\n WHERE w.user_name='" . $user . "'\r\r\n LIMIT 1"; $res = $dbr->query($sql); $r = $dbr->fetchRow($res); if (!isset($r['user_id'])) { $sql = "SELECT w.user_id, w.user_email, f.m_pmoptions, f.m_idname \r\r\n FROM {$user_table} w\r\r\n LEFT JOIN {$awc_tables['awc_f_mems']} f\r\r\n ON w.user_name=f.m_idname\r\r\n WHERE w.user_name='" . str_replace('_', ' ', $user) . "'\r\r\n LIMIT 1"; $res = $dbr->query($sql); $r = $dbr->fetchRow($res); } if (!isset($r['user_id'])) { $info['error'] .= get_awcsforum_word('mem_pm_sendnouserbythatname') . ' ' . $user . '<br />'; $preview = true; } else { $sendto_names .= ', ' . $user; $pmoptions = isset($r['m_pmoptions']) ? unserialize($r['m_pmoptions']) : 'no_email'; $sendto_ids[$r['user_id']]['forum_username'] = isset($r['m_idname']) ? $r['m_idname'] : 'no_name'; $sendto_ids[$r['user_id']]['pass_pm_text'] = '0'; if ($pmoptions != 'no_email') { if ($pmoptions['m_pmnewemail'] == '1' and isset($r['user_email']) and !empty($r['user_email'])) { $sendto_ids[$r['user_id']]['email'] = $r['user_email']; $sendto_ids[$r['user_id']]['pass_pm_text'] = $pmoptions['m_pm_text_in_email']; } else { $sendto_ids[$r['user_id']]['email'] = 'no_email'; } } else { $sendto_ids[$r['user_id']]['email'] = 'no_email'; } $sendto_ids[$r['user_id']]['name'] = $user; $sendto_ids[$r['user_id']]['id'] = $r['user_id']; } $dbr->freeResult($res); } } if (strlen($preview) > 1 or strlen($info['error']) > 1) { Set_AWC_Forum_SubTitle(get_awcsforum_word('mem_memCP'), $this->membername); Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('mem_pm_sendpm'), true); if (strlen($info['error']) > 1) { $out['body_info'] .= "<br /><b><center>" . $info['error'] . "</center></b><br /><hr />"; } $post_cls = new awcs_forum_post_phase(); $post_box = new awcs_forum_posting_box(); $post_cls->p_userid = $this->m_id; $post_cls->p_user = $this->membername; $post_cls->p_title = $title; $post_cls->p_post = $post; $post_cls->p_date = $dbr->timestamp(); $post_cls->p_id = $r['pm_id']; $post_cls->only_one_post = true; $post_cls->pm_links = null; $out['body_info'] .= $post_cls->display_post(true); $m_pmautosave = get_awcsforum_word('mem_pm_savesenttosavesfolder') . '<INPUT TYPE=CHECKBOX NAME="savetosent" ' . $savetosent . '><br />'; $post_box->user_options = $m_pmautosave; $post_box->is_pm = true; $post_box->post = $post; $post_box->title = $title; $post_box->thread_subscribe = false; $post_box->quick_box = false; $post_box->box_width = "75%"; $post_box->javaCheck = 'onsubmit="return check_NewThread()"'; $post_box->url = awc_url . 'member_options/sendpm'; $post_box->mem_pm_sendto = get_awcsforum_word('mem_pm_sendto'); $post_box->mem_pm_sendto .= ' <input name="send_to" id="send_to" type="text" value="' . $send_to . '" size="75%"><hr />'; $post_box->mem_pm_sendto .= "<div id='ajax_pmnames' name='ajax_pmnames'></div>"; // 2.5.8 $post_box->mem_pm_sendto .= get_awcsforum_word('words_send_to_multi_users') . ' '; if (UserPerm < 2) { $post_box->mem_pm_sendto .= $awcs_forum_config->cf_mem_maxpmsendusers . '<hr />'; } else { $post_box->mem_pm_sendto .= $awcs_forum_config->cf_mod_maxpmsendusers . '<hr />'; } $out['body_info'] .= $post_box->box(); return self::display_memcp($out['body_info']); } $sendto_names = substr($sendto_names, 1); require awc_dir . 'pm.php'; #die(print_r($sendto_ids)); awcforum_pm::sendpm($sendto_ids, $title, $post, $savetosent, $sendto_names); }