Exemplo n.º 1
0
 function preview_show($post_or_thread_or_misc)
 {
     global $wgOut, $wgRequest, $awc_tables;
     include_once awc_dir . 'includes/post_phase.php';
     $post_cls = new awcs_forum_post_phase();
     require awc_dir . 'includes/post_box.php';
     $posting_box = new awcs_forum_posting_box();
     $posting_box->Thread_Title = $this->ThreadTitle;
     $posting_box->f_name = $this->f_name;
     $f_posting_mesage_tmpt = null;
     $f_name = null;
     if ($post_or_thread_or_misc == 'thread') {
         $rDB = wfGetDB(DB_SLAVE);
         $r = $rDB->selectRow('awc_f_forums', array('f_name', 'f_posting_mesage_tmpt'), array('f_id' => $this->fID));
         $f_name = $r->f_name;
         $f_posting_mesage_tmpt = $r->f_posting_mesage_tmpt;
         unset($r);
         Set_AWC_Forum_SubTitle(get_awcsforum_word('posting_Preview_word') . ': ' . str_replace('_', ' ', $this->title), '', '');
         Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sf/id' . $this->fID . '">' . strtr($f_name, "_", " ") . '</a>');
         Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('posting_Preview_word'), true);
         $posting_box->Show_ann_sticky_lock = true;
         $posting_box->url = awc_url . 'post/todo_add_thread';
         $posting_box->javaCheck = 'onsubmit="return check_NewThread()"';
     }
     if ($post_or_thread_or_misc == 'post') {
         Set_AWC_Forum_SubTitle(get_awcsforum_word('word_postingreply'), get_awcsforum_word('word_postingreplyfor') . " " . $this->ThreadTitle);
         Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'sf/id' . $this->fID . '">' . $this->f_name . '</a>');
         Set_AWC_Forum_BreadCrumbs('<a href="' . awc_url . 'st/id' . $this->tID . '">' . $this->ThreadTitle . '</a>');
         Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('posting_Preview_word'), true);
         $posting_box->Show_ann_sticky_lock = false;
         $posting_box->javaCheck = 'onsubmit="return check_quickPost()"';
         $posting_box->url = awc_url . 'post/todo_add_post';
     }
     if ($post_or_thread_or_misc == 'quote') {
         $posting_box->Show_ann_sticky_lock = false;
         $posting_box->javaCheck = 'onsubmit="return check_quickPost()"';
         $posting_box->url = awc_url . 'post/todo_add_post';
         $this->subscribe = isset($this->m_thread_subsrib[$this->tID]) ? $this->m_thread_subsrib[$this->tID] : '';
     }
     if ($post_or_thread_or_misc == 'edit') {
         $posting_box->Show_ann_sticky_lock = false;
         $posting_box->javaCheck = $this->javaCheck;
         $posting_box->url = awc_url . 'post/todo_edit_post';
         $posting_box->preview_button = true;
         $posting_box->isThread = $this->isThread;
     }
     $post_cls->preview = true;
     $post_cls->p_userid = $this->cur_memID;
     $post_cls->p_user = $this->cur_memName;
     $post_cls->p_post = $this->post;
     $post_cls->p_title = $this->title;
     $post_cls->p_date = awcsforum_funcs::date_seperated(wfTimestampNow());
     $post_cls->ann = $this->ann;
     $post_cls->sticky = $this->sticky;
     $post_cls->lock = $this->lock;
     $post_cls->member_title = '';
     $post_cls->member_title = '';
     $html = $post_cls->display_post();
     $wgOut->addHTML($html);
     switch ($this->subscribe) {
         case 'no':
             $posting_box->subscribed_no = 'selected';
             break;
         case 'email':
             $posting_box->subscribed_email = 'selected';
             break;
         case 'list':
             $posting_box->subscribed_list = 'selected';
             break;
     }
     $posting_box->subscribe = $this->subscribe;
     if (strlen($f_posting_mesage_tmpt) > 2) {
         $posting_box->f_posting_mesage_tmpt = awc_wikipase($f_posting_mesage_tmpt, $wgOut);
     }
     $posting_box->f_name = urlencode($f_name);
     #$posting_box->Thread_Title = awcsforum_funcs::awc_html_entity_decode($this->title);
     $posting_box->title = $this->title;
     $posting_box->post = $this->post;
     if ($this->f_name) {
         $posting_box->f_name = urlencode($this->f_name);
     }
     $posting_box->fID = $this->fID;
     $posting_box->tID = $this->tID;
     $posting_box->pID = $this->pID;
     $posting_box->t_wiki_pageid = $this->t_wiki_pageid;
     //$e['do_poll'] = $is_poll;
     $posting_box->ann = $this->ann;
     $posting_box->sticky = $this->sticky;
     $posting_box->lock = $this->lock;
     $posting_box->quick_box = false;
     $html = $posting_box->box();
     $wgOut->addHTML($html);
     return;
 }
Exemplo n.º 2
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;
    }
Exemplo n.º 3
0
 function pm_create($info = '')
 {
     global $wgOut, $wgRequest, $action_url, $awcs_forum_config;
     Set_AWC_Forum_SubTitle(get_awcsforum_word('mem_memCP'), $this->membername);
     Set_AWC_Forum_BreadCrumbs(get_awcsforum_word('mem_pm_sendpm'), true);
     $info['send_to'] = $wgRequest->getVal('send_to') != '' ? $wgRequest->getVal('send_to') : null;
     # awc_pdie($action_url);
     if ($info['send_to'] == null) {
         if (isset($action_url[2]) and !empty($action_url[2])) {
             $info['send_to'] = $action_url[2];
         }
     }
     $post_box = new awcs_forum_posting_box();
     $m_pmautosave = get_awcsforum_word('mem_pm_savesenttosavesfolder') . '<INPUT TYPE=CHECKBOX NAME="savetosent"><br />';
     if (isset($this->mem_info['m_pmoptions']['m_pmautosave'])) {
         if ($this->mem_info['m_pmoptions']['m_pmautosave'] == '1') {
             $m_pmautosave = get_awcsforum_word('mem_pm_savesenttosavesfolder') . '<INPUT TYPE=CHECKBOX NAME="savetosent" checked><br />';
         }
     }
     $post_box->user_options = $m_pmautosave;
     $post_box->is_pm = true;
     $post_box->post = $post_replay;
     $post_box->title = $info['pm_title'];
     $post_box->thread_subscribe = false;
     $post_box->quick_box = false;
     $post_box->box_width = "75%";
     // <input name="send_to" type="text" value="" size="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" type="hidden" value="' . $action_url[3] . '" >';
     $post_box->mem_pm_sendto .= ' <input name="send_to" id="send_to" type="text" value="' . $info['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();
     self::display_memcp($out['body_info']);
 }