Esempio n. 1
0
 /**
  *  Enter Admin, choose what to do in SWITCH
  * 
  * URL command lines<br />
  * Special:AWCforum/admin/threads_to_wiki<br />
  * Special:AWCforum/admin/wfInitStats (runs wiki /maintenance/initStats.inc)<br />
  * Special:AWCforum/admin/re_forum_stats<br />
  * Special:AWCforum/admin/user_recount_all<br />
  * @parameter string $action
  * @uses awc_admin_skin
  * @since Version 2.5.8
  */
 function enterAdmin($action)
 {
     global $wgRequest, $ADskin, $awc, $wgOut, $awc_admin_lang, $wgUser, $WhoWhere, $action_url, $awc_ver;
     $WhoWhere['type'] = 'forum';
     $WhoWhere['where'] = 'admin||awc-split||admin';
     require_once awc_dir . 'dBase.php';
     require awc_dir . 'includes/admin/admin_funk.php';
     require awc_dir . 'skins/admin_skin.php';
     $ADskin = new awc_admin_skin();
     if (version_compare(awcs_forum_ver_current, awcs_forum_ver, '=')) {
         Set_AWC_Forum_SubTitle(get_awcsforum_word('admin_setPagetitle'), get_awcsforum_word('admin_setSubtitle'));
         Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'admin' . '">' . get_awcsforum_word('admin_word') . '</a>');
     }
     $spl = explode("/", $action);
     $todo = isset($spl[1]) ? str_replace("todo_", "", $spl[1]) : $wgRequest->getVal('todo');
     $id = isset($spl[2]) ? str_replace("id", "", $spl[2]) : $wgRequest->getVal('id');
     $move_id = $wgRequest->getVal('move_id');
     define('what_page', $todo);
     switch ($todo) {
         // url commands
         case 'threads_to_wiki':
             if (!in_array('bureaucrat', $wgUser->getGroups())) {
                 die("need to be a bureaucrat");
             }
             if (!isset($spl[2]) or !is_numeric($spl[2])) {
                 return $wgOut->addHTML("<br><br><center>Need a count-number<br><br>");
             }
             self::threads_to_wiki($spl[2]);
             break;
         case 'wfInitStats':
             if (!in_array('bureaucrat', $wgUser->getGroups())) {
                 die("need to be a bureaucrat");
             }
             global $IP;
             require $IP . '/maintenance/initStats.inc';
             wfInitStats();
             break;
         case 'dev':
             if (!in_array('bureaucrat', $wgUser->getGroups())) {
                 die("need to be a bureaucrat");
             }
             require awc_dir . 'includes/admin/admin_dev.php';
             return awcs_forum_dev_func();
             break;
         case 're_forum_stats':
             if (!in_array('bureaucrat', $wgUser->getGroups())) {
                 die("need to be a bureaucrat");
             }
             return self::re_forum_stats();
             break;
         case 'user_recount_all':
             if (!in_array('bureaucrat', $wgUser->getGroups())) {
                 die("need to be a bureaucrat");
             }
             self::user_recount_all();
             break;
             // END url commands..
         // END url commands..
         case 'tplt':
             require awc_dir . 'includes/admin/admin_tplt.php';
             awcs_forum_admin_tplt($action);
             break;
         case 'theme':
             require awc_dir . 'includes/admin/admin_theme.php';
             awcsforum_admin_theme_func();
             break;
         case 'awc_lang':
             require awc_dir . 'includes/admin/admin_lang_funk.php';
             $awc_lang_class = new awc_admin_lang_cls($action);
             unset($awc_lang_class);
             #$awc_lang_class->awc_admin_lang_cls();
             break;
         case 'css':
             require awc_dir . 'includes/admin/admin_css_funk.php';
             awcs_forum_admin_css($action);
             break;
         case 'cat':
             require awc_dir . 'includes/admin/admin_cat.php';
             awcsf_admin_categories_func();
             break;
         case 'forum':
             require awc_dir . 'includes/admin/admin_forum.php';
             awcsf_admin_forum_func();
             break;
         case 'mem_title':
             require awc_dir . 'includes/admin/admin_memtitle.php';
             awcsf_admin_membertitle_func();
             break;
         case 'maintenance':
             self::get_maintenance();
             break;
         case 'do_prune':
             if (in_array('bureaucrat', $wgUser->getGroups())) {
                 $this->do_prune();
             }
             break;
         case 'do_Trecount':
             self::do_Trecount();
             break;
         case 'do_Precount':
             self::do_Precount();
             break;
         case 'config_forum':
             self::do_config_forum();
             break;
         case 'admin_get_config':
             self::do_get_config($id);
             break;
         case 'mem_lookup':
             awcsforum_funcs::get_page_lang(array('lang_txt_mem'));
             self::mem_lookup();
             break;
         case 'save_sig':
         case 'CheckAvatraSize':
         case 'miscusersettings':
             self::save_userinfo($todo);
             break;
         case 'user_recount':
             self::user_recount();
             break;
         case 'delete_file':
             self::delete_file($wgRequest->getVal('todo'));
             break;
         case 'get_updates':
             self::get_updates();
             break;
         case 'forum_update':
             self::forum_update();
             break;
         case 'forum_autoupdate':
             self::forum_autoupdate();
             break;
         case 'get_autoupdate':
             self::get_autoupdate();
             break;
         case 'autoupdate_unpack_and_update':
             self::autoupdate_unpack_and_update();
             break;
         case 'get_emotions':
             self::emotions_get();
             break;
         case 'edit_emotions':
             self::emotions_edit();
             break;
         case 'add_emotions':
             self::emotions_add();
             break;
         default:
             self::main();
             break;
     }
 }
Esempio n. 2
0
 function q_thread($s, $dbr)
 {
     global $awc, $wikieits, $total_thread_count, $thread_title_for_search, $awc_tables, $tplt;
     $perm = new awcs_forum_perm_checks();
     $perm_sql = $perm->forum_sql();
     // if(strlen($s) > 0 AND strlen($perm_sql) > 0) $perm_sql .= ' AND ' ;
     $sql = "SELECT awc_f_posts.p_id, awc_f_posts.p_title, awc_f_posts.p_post, awc_f_posts.p_user, awc_f_posts.p_userid, awc_f_posts.p_editwhy, awc_f_posts.p_editwho, awc_f_posts.p_editdate, awc_f_posts.p_date,\r\r\n                {$awc_tables['awc_f_threads']}.t_id, {$awc_tables['awc_f_threads']}.t_ann, {$awc_tables['awc_f_threads']}.t_pin, {$awc_tables['awc_f_threads']}.t_status, {$awc_tables['awc_f_threads']}.t_name, {$awc_tables['awc_f_threads']}.t_topics, {$awc_tables['awc_f_threads']}.t_hits, {$awc_tables['awc_f_threads']}.t_perm, {$awc_tables['awc_f_threads']}.t_poll, {$awc_tables['awc_f_threads']}.t_wiki_pageid, {$awc_tables['awc_f_threads']}.t_lastdate, \r\r\n                {$awc_tables['awc_f_forums']}.f_posting_mesage_tmpt, {$awc_tables['awc_f_forums']}.f_name, {$awc_tables['awc_f_forums']}.f_id, {$awc_tables['awc_f_forums']}.f_wiki_write_perm, {$awc_tables['awc_f_forums']}.f_passworded, \r\r\n                {$awc_tables['awc_f_cats']}.cat_name, {$awc_tables['awc_f_cats']}.cat_id\r\r\n                    FROM {$awc_tables['awc_f_threads']}\r\r\n                    JOIN {$awc_tables['awc_f_posts']} awc_f_posts\r\r\n                        ON {$awc_tables['awc_f_threads']}.t_id=awc_f_posts.p_threadid\r\r\n                    JOIN {$awc_tables['awc_f_forums']}\r\r\n                        ON {$awc_tables['awc_f_threads']}.t_forumid={$awc_tables['awc_f_forums']}.f_id\r\r\n                    JOIN {$awc_tables['awc_f_cats']} \r\r\n                        ON {$awc_tables['awc_f_forums']}.f_parentid={$awc_tables['awc_f_cats']}.cat_id\r\r\n                    WHERE {$perm_sql} {$s} AND {$awc_tables['awc_f_forums']}.f_passworded = 0\r\r\n                    ORDER BY awc_f_posts.p_thread_start DESC, awc_f_posts.p_date";
     $sql = str_replace('AND   AND', ' AND ', $sql);
     $sql = str_replace('WHERE   AND', 'WHERE ', $sql);
     // awc_pdie($s);
     global $wgOut;
     require_once awc_dir . 'includes/post_phase.php';
     require_once awc_dir . 'includes/thread_funk.php';
     $post_cls = new awcs_forum_post_phase();
     $res = $dbr->query($sql);
     $post_table = null;
     while ($r = $dbr->fetchObject($res)) {
         ++$total_thread_count;
         $thread_title_for_search = '<b>' . $r->t_name . '</b>';
         $tplt_info['edit_buttons'] = null;
         $tplt_info['sig_display'] = null;
         $tplt_info['user_options'] = null;
         $tplt_info['post_avatar'] = null;
         $tplt_info['admin_lookup'] = null;
         $tplt_info['profile_link'] = null;
         $tplt_info['m_pm'] = null;
         $tplt_info['wikiedits_count_link'] = null;
         $tplt_info['topics_count_link'] = null;
         $tplt_info['post_count_link'] = null;
         $tplt_info['group'] = null;
         $tplt_info['post_edited_on'] = null;
         $tplt_info['wikiedits_count_link'] = null;
         $word = null;
         $tplt_info['user_name'] = $r->p_user;
         $tplt_info['post_title'] = $r->p_title;
         // $tplt_info['post_edited_on'] =  $r->p_editdate;
         $tplt_info['date'] = $r->p_date;
         $tplt_info['post'] = $post_cls->phase_post($r->p_post, '', false);
         // $tplt_info['post'] =  awc_wikipase($r->p_post, $wgOut);
         // $tplt_info['post'] =  $r->p_post ;
         $tplt_info['avatarwidth'] = 0;
         $post_table .= $tplt->phase($word, $tplt_info, 'post_table');
     }
     $wgOut->addHTML($post_table);
     $end = ', ' . get_awcsforum_word('word_inThread') . ' ' . $thread_title_for_search;
     $title = str_replace("|\$|", $total_thread_count, get_awcsforum_word('search_SearchResultsFound')) . ": {$this->searchword}" . $end;
     Set_AWC_Forum_SubTitle(get_awcsforum_word('search_SearchResults'), $title);
     // die($post_table);
     return;
     require awc_dir . 'thread.php';
     require awc_dir . 'includes/thread_funk.php';
     $threads = new awcforum_threads();
     $threads->awc_url = $awc['link'];
     $threads->cookie_expir = $awc['config']['cfl_Post_cookie_postcountexpire'];
     $threads->quick_height = $awc['config']['cfl_Post_quickpost_box_height'];
     // isset($awc['config']['wikieits']) ? $threads->wikieits = $awc['config']['wikieits'] : $threads->wikieits=null;
     // $wikieits = $threads->wikieits;
     # die($this->searchword);
     global $wgRequest;
     $wgRequest->data['action'] .= 'sw:' . $this->searchword;
     # die(print_r($wgRequest));
     $threads->GetPosts($this->tID, $sql);
     $end = ', ' . get_awcsforum_word('word_inThread') . ' ' . $thread_title_for_search;
     $title = str_replace("|\$|", $total_thread_count, get_awcsforum_word('search_SearchResultsFound')) . ": {$this->searchword}" . $end;
     Set_AWC_Forum_SubTitle(get_awcsforum_word('search_SearchResults'), $title);
     return;
 }
Esempio n. 3
0
    function GetPosts($tID, $sql2 = '', $single_post = false)
    {
        global $LimitJump_top, $LimitJump_bot, $total_thread_count, $thread_title_for_search;
        global $wgOut, $wgRequest, $wgCookieExpiration, $wgCookiePath, $wgCookieDomain;
        global $WhoWhere, $awc_tables, $tplt;
        global $awcUser;
        if (!$awcUser->canRead) {
            return $wgOut->loginToUse();
        }
        $perm = new awcs_forum_perm_checks();
        $post_cls = new awcs_forum_post_phase();
        if ($single_post) {
            $post_cls->single_post = true;
        }
        $word = null;
        $i = null;
        $html = null;
        $e = array();
        $tPass = array();
        if ($sql2 == '') {
            $check_subscribe = self::check_subscribe($tID);
            if ($check_subscribe != 'no') {
                $e = $check_subscribe['e'];
                $tPass = $check_subscribe['tPass'];
                $subscribe_info = $check_subscribe['subscribe_info'];
            } else {
                $tPass['subscrib_links'] = null;
            }
        } else {
            $tPass['subscrib_links'] = null;
            $tplt->kill('subscrib_links');
        }
        $dbr = wfGetDB(DB_SLAVE);
        $this->display_mem_titles = 1;
        if ($this->display_mem_titles) {
            $sql = "SELECT * FROM {$awc_tables['awc_f_member_titles']} ORDER BY memtitle_postcount ASC";
            $res = $dbr->query($sql);
            while ($r = $dbr->fetchObject($res)) {
                $post_cls->mem_post_title[$r->memtitle_id] = array('count' => $r->memtitle_postcount, 'title' => $r->memtitle_title, 'img' => $r->memtitle_img, 'css' => $r->memtitle_css);
            }
            unset($res, $r);
        } else {
            $post_cls->mem_post_title[0] = 'do_not_show';
        }
        // get number of threads so we can make the Page Blocks
        # do something different, maybe move to sessions ro somehting
        $sql = $dbr->selectSQLText(array('awc_f_threads'), array('t_topics, t_postid'), "t_id={$tID}", __METHOD__, array('OFFSET' => '0', 'LIMIT' => '1'));
        $limit = '';
        $tPass['page_jumps'] = null;
        if ($sql2 == '') {
            #$sql = "SELECT p_id FROM {$awc_tables['awc_f_posts']} WHERE p_id = $tID ";
            $res = $dbr->query($sql);
            $r = $dbr->fetchRow($res);
            $ex['TotalPosts'] = $r['t_topics'];
            $dbr->freeResult($res);
            $total['TotalPosts'] = $ex['TotalPosts'];
            $total['last'] = $r['t_postid'];
            $limit = GetLimit($total, 'thread');
            $tPass['page_jumps'] = $LimitJump_top;
            #die($LimitJump_bot);
        } else {
            # $ex['sql2'] = $sql2;
        }
        # DIE($limit);
        $limit_is_there = false;
        # sw: highlightsearchword
        $action = $wgRequest->action;
        $spl = explode("/", $action);
        $search_word = null;
        # loop through "action" to find seach word
        foreach ($spl as $k => $value) {
            if (stristr($value, 'limit')) {
                $post_cls->has_limit = true;
            }
            if (substr($value, 0, 3) == "sw:") {
                $sw1 = explode("sw:", $value);
                $search_word = $sw1[1];
                break;
            }
        }
        $search_word = str_replace("_", " ", $search_word);
        $spl2 = explode(" ", $search_word);
        # loop through seach word's
        foreach ($spl2 as $k => $value) {
            $sw[] = $value;
        }
        $perm_where = $perm->cat_forum_sql();
        $limit = awcsforum_funcs::limitSplit($limit);
        # awc_pdie($limit);
        $sql = $dbr->selectSQLText(array('awc_f_threads', 'awc_f_posts', 'awc_f_forums', 'awc_f_cats'), array('p_id, p_title, p_post, p_user, p_userid, p_editwhy, p_editwho, p_editdate, p_date,
                t_id, t_ann, t_pin, t_status, t_name, t_topics, t_hits, t_perm, t_poll, t_wiki_pageid, t_lastdate, t_pollopen,
                f_posting_mesage_tmpt, f_name, f_id, f_wiki_write_perm, f_wiki_read_perm, f_passworded, cat_name, cat_id'), "{$perm_where} t_id = {$tID}", __METHOD__, array('OFFSET' => $limit['offset'], 'LIMIT' => $limit['limit'], 'ORDER BY' => 'p_thread_start DESC, p_date ASC'), array('awc_f_posts' => array('JOIN', 't_id=p_threadid'), 'awc_f_forums' => array('JOIN', 't_forumid=f_id'), 'awc_f_cats' => array('JOIN', 'f_parentid=cat_id')));
        # die($sql);
        if (strlen($sql2) > 0) {
            $sql = $sql2;
        }
        $res = $dbr->query($sql);
        $i = 0;
        $out = array();
        # $e['html'] = null;
        while ($r = $dbr->fetchObject($res)) {
            ++$i;
            if ($i == 1) {
                # awc_pdie($r);
                // stuff this stuff here so its not looped...
                $WhoWhere['where'] = 'cid' . $r->cat_id . '|fid' . $r->f_id . '|tid' . $r->t_id . '||awc-split||' . $r->t_name;
                $WhoWhere['perm'] = isset($r->f_wiki_read_perm) ? $r->f_wiki_read_perm : '';
                $thread_title = $r->t_name;
                $t_status = $r->t_status;
                $f_posting_mesage_tmpt = isset($r->f_posting_mesage_tmpt) ? $r->f_posting_mesage_tmpt : '';
                $f_wiki_write_perm = isset($r->f_wiki_write_perm) ? $r->f_wiki_write_perm : '';
                if (!$awcUser->guest and awcsforum_funcs::wikidate($r->t_lastdate) > $_SESSION['awc_startTime']) {
                    $_SESSION['awc_rActive'][$r->t_id] = awcsforum_funcs::wikidate($r->t_lastdate);
                }
                $e['PostTitle'] = $r->t_name;
                $e['num_topics'] = $r->t_topics;
                $f_name = $r->f_name;
                $fID = $r->f_id;
                $t_wiki_pageid = $r->t_wiki_pageid;
                if (!isset($awcUser->pw)) {
                    $awcUser->pw[0] = 0;
                }
                #die(">" . $r->f_id);
                if ($perm->is_password($r->f_passworded) and !in_array($r->f_id, $awcUser->pw)) {
                    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="' . $r->f_id . '">
				                <input name="pw" type="password" size="20">
				                <input type="submit" value="' . get_awcsforum_word('submit') . '">
				                </form><br /><br />';
                    $wgOut->addHTML($password_field);
                    return;
                }
                $this->forum_perm_can_post = false;
                if ($awcUser->canPost and $perm->can_post($f_wiki_write_perm)) {
                    $this->forum_perm_can_post = true;
                    $post_cls->forum_perm_can_post = true;
                }
                // end stuffed...
                if (!$single_post) {
                    Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sc/id' . $r->cat_id . '">' . $r->cat_name . '</a>');
                    $BreadCrumb = Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sf/id' . $r->f_id . '">' . $r->f_name . '</a>', true);
                    $t = null;
                    if ($r->t_ann == "1") {
                        $t = get_awcsforum_word('thread_makeAnnouncement') . " ";
                        $e['ann'] = true;
                    }
                    if ($r->t_status == "1") {
                        $t = get_awcsforum_word('1indicator_locked') . " ";
                        $e['lock'] = true;
                    }
                    if ($r->t_pin == "1") {
                        $t = get_awcsforum_word('1indicator_sticky') . " ";
                        $e['sticky'] = true;
                    }
                    if ($r->t_pin == "1" and $r->t_status == "1") {
                        $t = get_awcsforum_word('1indicator_lockSticky') . " ";
                    }
                    $e['tID'] = $r->t_id;
                    $e['fID'] = $r->f_id;
                    $e['cID'] = $r->cat_id;
                    $e['pID'] = $r->p_id;
                    Set_AWC_Forum_SubTitle($r->t_name, $t . get_awcsforum_word('word_viewed') . " " . $r->t_hits . " " . get_awcsforum_word('word_times') . ", " . get_awcsforum_word('word_Withatotalof') . " " . $r->t_topics . " " . get_awcsforum_word('word_posts'), $e);
                    $tPass['mod_buttons'] = null;
                    if (UserPerm >= 2) {
                        $e['ann'] = $r->t_ann == '1' ? 'checked' : null;
                        $e['sticky'] = $r->t_pin == '1' ? 'checked' : null;
                        $e['lock'] = $r->t_status == '1' ? 'checked' : null;
                        $e['threadname'] = awcsforum_funcs::awc_html_entity_decode($thread_title);
                        $word['pinned_word'] = get_awcsforum_word('pinned_word');
                        $word['lockThread_word'] = get_awcsforum_word('lockThread_word');
                        $word['mod_movethread'] = get_awcsforum_word('mod_movethread');
                        $word['thread_makeAnnouncement'] = get_awcsforum_word('thread_makeAnnouncement');
                        $word['mod_post'] = get_awcsforum_word('mod_post');
                        if ($r->t_ann != "1" || UserPerm == 10) {
                            #$to_skin['mod_buttons'] = ModFormStart($r->t_id, $r->p_id, $r->f_id, awc_url, $r->t_name, $total_topics) ;
                        }
                        #if (UserPerm == 10) $to_skin['mod_buttons'] .= IsAnnonc($r->t_ann);
                        if (UserPerm == 10) {
                            $e['ann'] = $tplt->phase($word, $e, 'mod_thread_dropdown_ann', true);
                        } else {
                            $e['ann'] = '';
                        }
                        if ((UserPerm >= 2 and $r->t_ann != "1") || UserPerm == 10) {
                            $tPass['mod_buttons'] = $tplt->phase($word, $e, 'mod_thread_dropdown', true);
                        }
                        unset($word);
                    }
                    if ($this->userID != '0') {
                        $tPass['options_menu'] = null;
                        $word['word_thread_options_button'] = get_awcsforum_word('word_thread_options_button');
                        $tPass['thread_options'] = $tplt->phase($word, $tPass, 'options_dropdown', true);
                    } else {
                        $tplt->kill('options_dropdown');
                        $tPass['thread_options'] = null;
                    }
                    # $tPass['page_jumps'] // is set above...
                    $html = $tplt->phase($word, $tPass, 'thread_header', true);
                    unset($info, $word, $tPass);
                    #awc_pdie($tplt_info);
                } else {
                    // single
                    Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sc/id' . $r->cat_id . '">' . $r->cat_name . '</a>');
                    Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sf/id' . $r->f_id . '">' . $r->f_name . '</a>');
                    Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'st/id' . $r->t_id . '">' . awcsforum_funcs::awc_html_entity_decode($r->t_name) . '</a>', TRUE);
                    $e = array();
                    $e['tID'] = $r->p_threadid;
                    $e['fID'] = $r->f_id;
                    $e['cID'] = $r->cat_id;
                    $tPass['page_jumps'] = "<b><a href='" . awc_url . "st/id" . $r->t_id . "'>" . get_awcsforum_word('click_here_for_full_thread') . "</a></b>";
                    $tPass['thread_options'] = null;
                    $html = $tplt->phase($word, $tPass, 'thread_header', true);
                    Set_AWC_Forum_SubTitle($r->t_name, get_awcsforum_word('single_post_sub_title'), $e);
                }
                if ($r->t_poll and !$single_post) {
                    $poll = $post_cls->display_poll($tID);
                    $html = $poll . $html;
                }
            }
            // unset($_SESSION['awc_nActive'][$r->p_id]);
            #if($r->p_wikipage_id != '0') $p_wikipage_id[] = $r->p_wikipage_id ;
            $post_cls->load_post_phase_info($r);
            //  awc_pdie($post_cls);
            $html .= $post_cls->display_post();
        }
        # end SQL loop...
        unset($post_cls);
        if ($i == 0) {
            return;
        }
        $dbr->freeResult($res);
        unset($dbr, $res, $r);
        /*
                    if($this->cf_add_post_text_to_wiki){
                        $dbw = wfGetDB( DB_MASTER );
                        $wp_ids = implode(',',$p_wikipage_id);
                        $wiki_page = $dbw->tableName( 'page' );
                        $dbw->query( "UPDATE {$wiki_page} SET page_counter = page_counter + 1 
                                        WHERE page_id IN ($wp_ids)" );
                    }
        */
        # unset($r, $this, $user_get, $ex, $sql);
        if (!$single_post and strlen($sql2) == 0) {
            $total_thread_count = $i;
            $thread_title_for_search = $thread_title;
            $yes = false;
            # $awc_ViewForum = $_COOKIE['awc_forum_ThreadView'] ;
            $awc_ViewForum = isset($_COOKIE['awc_forum_ThreadView']) ? $_COOKIE['awc_forum_ThreadView'] : null;
            $spl = explode(",", $awc_ViewForum);
            foreach ($spl as $fid) {
                if ($tID == $fid) {
                    $yes = true;
                }
            }
            if (!$yes) {
                $dbw = wfGetDB(DB_MASTER);
                $dbw->query("UPDATE {$awc_tables['awc_f_threads']} SET t_hits = t_hits + 1 WHERE t_id = {$tID}");
                $expir = $this->cookie_expir;
                if ($expir >= 1) {
                    $expir = $expir * 60 * 60;
                }
                $exp = time() + $expir;
                # $exp = time() + $wgCookieExpiration;
                setcookie('awc_forum_ThreadView', $awc_ViewForum . "," . $tID, $exp, $wgCookiePath, $wgCookieDomain);
                #$_SESSION['awc_forum_ThreadView'] = $awc_ViewForum ;
                unset($dbw);
            }
            # die($LimitJump_top);
            # $html = $e['html'];
            $info['page_jumps'] = $LimitJump_bot ? $LimitJump_bot : null;
            $info['BreadCrumb'] = $BreadCrumb;
            $html .= $tplt->phase('', $info, 'bottom_page_jumps', true);
        }
        $wgOut->addHTML($html);
        //forum-wiki-perm
        //if ($awcUser->canPost AND $t_status == "0" || UserPerm >= 2 && $i AND !$single_post){
        if ((strlen($sql2) == 0 and $awcUser->canPost and $this->forum_perm_can_post and $t_status == "0" and !$single_post) || (UserPerm >= 2 && $i and !$single_post)) {
            require awc_dir . '/includes/post_box.php';
            $posting_box = new awcs_forum_posting_box();
            $posting_box->quick_box = true;
            $posting_box->f_posting_mesage_tmpt = strlen($f_posting_mesage_tmpt) > 1 ? add_tmpl_to_skin($f_posting_mesage_tmpt) : null;
            #$posting_box->Thread_Title = awcsforum_funcs::awc_html_entity_decode($thread_title);
            $posting_box->Thread_Title = awcsforum_funcs::awc_htmlentities($thread_title);
            $posting_box->tbRows = $this->quick_height;
            $posting_box->Show_ann_sticky_lock = false;
            $posting_box->f_name = urlencode($f_name);
            $posting_box->fID = $fID;
            $posting_box->tID = $tID;
            $posting_box->t_wiki_pageid = $t_wiki_pageid;
            $posting_box->javaCheck = 'onsubmit="return check_quickPost()"';
            $posting_box->url = awc_url . 'post/todo_' . urlencode('add_post');
            //awc_pdie($subscribe_info);
            if (!$awcUser->guest) {
                $posting_box->subscribed_email = $subscribe_info['values']['subscribed_email'];
                $posting_box->subscribed_list = $subscribe_info['values']['subscribed_list'];
                $posting_box->subscribed_no = $subscribe_info['values']['subscribed_no'];
            }
            $html = $posting_box->box();
            unset($posting_box);
            $wgOut->addHTML($html);
        }
        return;
    }
Esempio n. 4
0
 function credits()
 {
     global $wgOut, $awc_tables;
     Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('word_credits'), true);
     Set_AWC_Forum_SubTitle(get_awcsforum_word('word_credits'), get_awcsforum_word('word_specialthanks'));
     $dbr = wfGetDB(DB_SLAVE);
     $sql = "SELECT lang_name, lang_owner_info FROM {$awc_tables['awc_f_langs']}";
     $res = $dbr->query($sql);
     while ($r = $dbr->fetchObject($res)) {
         $lang_info[$r->lang_name]['lang_owner_info'] = unserialize($r->lang_owner_info);
     }
     get_awcsforum_word('word_awcthanks') == '' ? $ty = "AWC would like to thank..." : ($ty = get_awcsforum_word('word_awcthanks'));
     $wgOut->addHTML('<br /><b>' . $ty . '</b><hr>');
     get_awcsforum_word('word_thanksforthesmilies') == '' ? $htpc = "Has been a GREAT help !" : ($htpc = get_awcsforum_word('word_beenagreatehelp'));
     $wgOut->addHTML('<br /><a target="blank" href="">HTPC</a> ' . $htpc);
     get_awcsforum_word('word_thanksforthesmilies') == '' ? $smilies = "Thanks for the smilies" : ($smilies = get_awcsforum_word('word_thanksforthesmilies'));
     $wgOut->addHTML('<br /><hr><a target="blank" href="http://www.greghilton.com">Greg Hilton</a> ' . $smilies);
     $wgOut->addHTML('<br /><br /><hr><b>' . get_awcsforum_word('word_langtranslate') . '</b><hr>');
     foreach ($lang_info as $k => $v) {
         $wgOut->addHTML($k . ' - ' . $lang_info[$k]['lang_owner_info']['lang_owner_when'] . '<br />' . $lang_info[$k]['lang_owner_info']['lang_owner'] . '<br /><a target="blank" href="http://' . str_replace('http://', '', $lang_info[$k]['lang_owner_info']['lang_owner_contact']) . '">' . $lang_info[$k]['lang_owner_info']['lang_owner_contact'] . '</a><br /><br />');
         # die(print_r($lang_info));
     }
     $wgOut->addHTML('<br /><hr>');
 }
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
}
Esempio n. 6
0
 function GetQuote($pID)
 {
     global $wgOut, $wgRequest, $awc_tables, $awcUser;
     // forum-wiki-perm move to top
     if (!$awcUser->canPost) {
         return $wgOut->loginToUse();
     }
     $rDB = wfGetDB(DB_SLAVE);
     $res = $rDB->query("SELECT p.*, t.t_wiki_pageid, t.t_id, t.t_name, t.t_ann, t.t_pin, t.t_status, t.t_topics, f.f_name, f.f_wiki_write_perm\r\r\n                                FROM {$awc_tables['awc_f_posts']} p, {$awc_tables['awc_f_threads']} t, {$awc_tables['awc_f_forums']} f \r\r\n                                WHERE p.p_id={$pID} AND f.f_id=p.p_forumid AND p.p_threadid=t.t_id LIMIT 1");
     $r = $rDB->fetchRow($res);
     $perm = new awcs_forum_perm_checks();
     if (!$awcUser->canPost or !$perm->can_post($r['f_wiki_write_perm'])) {
         return awcs_forum_error('no_forum_read_perm');
     }
     $title = $r['p_title'];
     if ($title == "") {
         $title = $r['t_name'];
     }
     $title = awcsforum_funcs::awc_html_entity_decode($title);
     $ptitle = awcsforum_funcs::awc_html_entity_decode($r['p_title']);
     $ttitle = awcsforum_funcs::awc_html_entity_decode($r['t_name']);
     $this->ThreadTitle = $ttitle;
     $this->f_name = $r['f_name'];
     $this->t_wiki_pageid = $r['t_wiki_pageid'];
     $this->tID = $r['t_id'];
     $this->fID = $r['p_forumid'];
     if ($r['t_ann']) {
         $t_ann = "checked";
     }
     if ($r['t_pin']) {
         $t_pin = "checked";
     }
     if ($r['t_status']) {
         $t_status = "checked";
     }
     $this->post = "[QUOTE=" . $r['p_user'] . " [[Special:AWCforum/sp/id" . $pID . "|" . awcsforum_funcs::convert_date($r['p_date'], "1") . "]]]" . $r['p_post'] . "[/quote]" . chr(10);
     Set_AWC_Forum_SubTitle(get_awcsforum_word('word_quoting'), $ptitle);
     Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('word_quoting'));
     Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'st/id' . $r['p_threadid'] . '">' . $ttitle . '</a>', true);
     return self::preview_show('quote');
 }
Esempio n. 7
0
 function DisplayUserInfo_for_admin()
 {
     global $wgOut, $awcs_forum_config;
     if ($this->todo_url == 'member_options') {
         Set_AWC_Forum_SubTitle(get_awcsforum_word('mem_memCP'), $this->membername);
     }
     if ($this->todo_url == 'member_options') {
         Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('mem_memCP'));
         Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . $this->todo_url . '">' . get_awcsforum_word('word_mem') . '</a>');
         Set_AWC_Forum_BreadCrumbs($this->membername, true);
     }
     $html = '';
     /*
                 $user_get = array();
                 $user_get[] = 'm_id';
                 $user_get[] = 'm_idname';
                 $user_get[] = 'm_sig';
                 $user_get[] = 'm_viewaadv';
                 $user_get[] = 'm_displaysig';
                 $user_get[] = 'm_displaysigonce';
                 $user_get[] = 'm_adv';
                 $user_get[] = 'm_advtag';
                 $user_get[] = 'm_displaysigonce';
                 $info = GetMemInfo($this->m_id, $user_get);
                 unset($user_get);
     */
     $sig_is = isset($this->mem_info['m_sig']) ? $this->mem_info['m_sig'] : '';
     #$m_viewaadv = isset($this->mem_info['m_viewaadv']) ? $this->mem_info['m_viewaadv'] == '1'?'checked' : '' : '' ;
     #$m_displaysig = isset($this->mem_info['m_displaysig']) ? $this->mem_info['m_displaysig'] == '1'? 'checked' : '' : '' ;
     #$m_displysigonce = isset($this->mem_info['m_displaysigonce']) ? $this->mem_info['m_displaysigonce'] == '1'? 'checked' : '' : '' ;
     if (isset($this->mem_info['m_adv'])) {
         $m_adv = '<DIV align="center"><img align="left" src="' . $this->mem_info['m_adv'] . '" border="0" height="' . $this->mem_info['m_advh'] . '" width="' . $this->mem_info['m_advw'] . '" align="middle"/></div>';
         $m_advURL = $this->mem_info['m_adv'];
         $m_advtag = $this->mem_info['m_advtag'];
         if ($m_advtag == '') {
             $m_advtag = $m_advURL;
         }
     } else {
         $m_adv = '';
         $m_advURL = '';
         $m_advtag = '';
     }
     # start table...
     #$html = '<a href="http://wiki.anotherwebcom.com/Category:MediaWiki:Forum" target="new"><img src="http://anotherwebcom.com/awc_forum_update.gif"></a>';
     $html = '<p align="right"><a href="http://wiki.anotherwebcom.com/Category:MediaWiki:Forum" target="new"><img src="http://anotherwebcom.com/awc_forum_update.gif"></a></p>';
     $html .= '<br /><table width="100%" class="forum_posts" cellpadding="0" cellspacing="0">';
     $html .= '<tr><td valign="top"> ';
     # MISC User Settings ...
     #$html .= '<form action="'.awc_url. $this->todo_url . 'miscusersettings" method="post">';
     #$html .= '<input name="mem_name" type="hidden" value="'.$this->membername.'">' ;
     #$html .= '<input name="m_id" type="hidden" value="'.$this->m_id.'">' ;
     #$html .= '<INPUT TYPE=CHECKBOX NAME="m_viewaadv" '. $m_viewaadv.'> ' .get_awcsforum_word('mem_showAdv') . "<br />" ;
     # $html .= '<INPUT TYPE=CHECKBOX NAME="m_displaysig" '.$m_displaysig.'> ' .get_awcsforum_word('mem_showsigs') . "<br />" ;
     # $html .= '<INPUT TYPE=CHECKBOX NAME="m_displaysigonce" '.$m_displysigonce.'> ' .get_awcsforum_word('mem_showsigsonlyonce') . "<br />" ;
     #$html .= '<input type="submit" value="'.get_awcsforum_word('submit').'"></form><br /><hr>';
     # Avatar stuff ...
     $html .= get_awcsforum_word('mem_advatarsize') . ' ' . $awcs_forum_config->cf_AvatraSize . '<hr>';
     if ($awcs_forum_config->cf_advatar_no_url == '0') {
         $html .= get_awcsforum_word('mem_advatar_no_url') . '<br />';
     }
     if ($awcs_forum_config->cf_advatar_no_wiki == '0') {
         $html .= get_awcsforum_word('mem_advatar_no_wiki') . '<br />';
     }
     $html .= $m_adv . ' <br /> ';
     $html .= ' <form enctype="multipart/form-data" id="get_advatar" name="get_advatar" action="' . awc_url . $this->todo_url . 'CheckAvatraSize" method="post">';
     $html .= ' <input name="mem_name" type="hidden" value="' . $this->membername . '">';
     $html .= ' <input name="m_id" type="hidden" value="' . $this->m_id . '">';
     $html .= ' <input name="path" type="text" value="' . $m_advtag . '" size="100"><br />';
     if ($this->upload == '1') {
         $html .= ' <input name="uploaded" type="file" size="87" /><br />';
     }
     $html .= ' <INPUT TYPE=CHECKBOX NAME="clear_ad"> ' . get_awcsforum_word('mem_delete_advatar') . '<br />';
     $html .= ' <input type="submit" value="' . get_awcsforum_word('submit') . '"></form><br /><br />';
     $html .= '</td></tr>';
     $html .= '<tr><td>';
     $html .= '<form action="' . awc_url . $this->todo_url . 'save_sig" method="post">';
     $html .= '<br /><br /><table width="100%" class="forum_posts" cellpadding="0" cellspacing="0">';
     $html .= '<tr><td>' . get_awcsforum_word('mem_word_sig') . '</td></tr>';
     $html .= '<tr><td class="mem_name">';
     $html .= convert($wgOut->parse($sig_is));
     $html .= '</tr></td></table>';
     $html .= '<table class="dl_maintable" cellpadding="0" cellspacing="0"><tr>';
     $html .= '<td width="100%" align="left">';
     $html .= $this->WikiToolBar;
     $html .= '<input name="mem_name" type="hidden" value="' . $this->membername . '">';
     $html .= '<input name="m_id" type="hidden" value="' . $this->m_id . '">';
     $html .= '<textarea name="wpTextbox1" id="wpTextbox1" cols="98%" rows="10" wrap="virtual" class="post_box" onKeyDown="limitText(this.form.wpTextbox1,this.form.countdown,' . $this->sig_length . ');" 
 onKeyUp="limitText(this.form.wpTextbox1,this.form.countdown,' . $this->sig_length . ');"">' . $sig_is . '</textarea>';
     $html .= '<br />';
     $html .= ' <input type="submit" value="' . get_awcsforum_word('submit') . '">  ' . get_awcsforum_word('cf_SigLength') . ' ' . $this->sig_length . ' / <input readonly type="text" name="countdown" size="3" value="100"></form>';
     $html .= '</td>';
     $html .= '</tr></table></form>';
     $html .= '</td></tr>';
     $html .= '</table><br /><br />';
     return $html;
 }
Esempio n. 8
0
 function splitmerge_get($id)
 {
     global $wgOut, $tplt, $awc_tables;
     if (UserPerm < 2) {
         return $wgOut->loginToUse();
     }
     $id = $id[0];
     awcsforum_funcs::get_page_lang(array('lang_txt_thread'));
     // get lang difinitions...
     Set_AWC_Forum_SubTitle(get_awcsforum_word('word_split_merge'), '');
     Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('word_split_merge'), true);
     $dbr = wfGetDB(DB_SLAVE);
     $r = $dbr->selectRow('awc_f_posts', array('p_title'), "p_id={$id}", __METHOD__, array('OFFSET' => 0, 'LIMIT' => 1));
     $title = $r->p_title;
     unset($r);
     $sql = "SELECT f_id, f_name FROM {$awc_tables['awc_f_forums']} WHERE f_perm <= '" . UserPerm . "' ORDER BY f_order ASC ";
     $info['forums_dropdown'] = '<select name="fID">';
     $res = $dbr->query($sql);
     while ($r = $dbr->fetchObject($res)) {
         $info['forums_dropdown'] .= '<option value="' . $r->f_id . '">' . $r->f_name . '</option>';
     }
     $dbr->freeResult($res);
     unset($dbr, $r, $res);
     $info['forums_dropdown'] .= '</select>';
     $info['pID'] = $id;
     $word['word_create_new_thread'] = get_awcsforum_word('word_create_new_thread');
     $word['word_thread_title_for_new_thread'] = get_awcsforum_word('word_thread_title_for_new_thread');
     $word['submit'] = get_awcsforum_word('submit');
     $word['word_merge_this_post_to_this_thread'] = get_awcsforum_word('word_merge_this_post_to_this_thread');
     $tplt->add_tplts(array("'split_and_merge'"), true);
     $out = $tplt->phase($word, $info, 'split_and_merge', true);
     $wgOut->addHTML($out);
 }
Esempio n. 9
0
function awcs_forum_error($err)
{
    global $wgOut, $awcs_forum_config, $wgSitename, $tplt;
    awcsforum_funcs::get_page_lang(array('lang_txt_errormsg'));
    // get lang difinitions...
    $tplt->add_tplts(array("'error_table'"), true);
    $Tforum_name = str_replace('|$|', ' ' . $wgSitename . ' ', $awcs_forum_config->name);
    Set_AWC_Forum_SubTitle($Tforum_name, get_awcsforum_word('word_Error'));
    Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('word_Error'), true);
    $error = get_awcsforum_word($err);
    if ($error == '') {
        $error = $err;
    }
    $info['error'] = $error;
    $word['word_Error'] = get_awcsforum_word('word_Error');
    $html = $tplt->phase($word, $info, 'error_table', true);
    $wgOut->addHTML($html);
}
Esempio n. 10
0
 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(' ', '&nbsp;', 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>';
 }