vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Latest Threads on Forumhome with Ajax. (https://vborg.vbsupport.ru/showthread.php?t=104838)

Lizard King 01-08-2006 11:44 PM

Latest Threads on Forumhome with Ajax.
 
I am trying to add Ajax to Chris M's Latest Threads on Forumhome plugin because i found this is a great add on for forumhome. My problem i am not a coder at all maybe i can call myself as a beginner :smoke:
I've read a lot of tutorials about Ajax and here is the part which i am stuck at. The threadbits i am trying to get is a plugin :) and i need a php to recall the data. Is there a way to skip this part ?
Code:

                <script language="JavaScript" type="text/javascript">
                        var sendReq = getXmlHttpRequestObject();
                        var receiveReq = getXmlHttpRequestObject();
                        var lastMessage = 0;
                        var mTimer;
                        //Function for initializating the page.
                        function startthreads() {
                                document.getElementById('threadbits').focus();
                                getthreadbits();
                        }               
                        function getXmlHttpRequestObject() {
                                if (window.XMLHttpRequest) {
                                        return new XMLHttpRequest();
                                } else if(window.ActiveXObject) {
                                        return new ActiveXObject("Microsoft.XMLHTTP");
                                } else {
                                        document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
                                }
                        }
                       
                        //Gets the current messages from the server
                        function getthreadbits() {
                                if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
                                        receiveReq.open("GET", 'whatinhere' + lastthread, true);
                                        receiveReq.onreadystatechange = handleReceivethreads;
                                        receiveReq.send(null);
                                }                       
                        }</script>



Help will be really appriciated.

Blackhat 01-31-2006 12:47 PM

Any update on this modification? I'm very interested to hear more about this :)

Parham 06-01-2006 12:42 PM

any news on this ?!

ZGeek 06-26-2006 01:19 PM

want!

-=Sniper=- 06-29-2006 06:09 PM

ok, this should work

install https://vborg.vbsupport.ru/showthread.php?t=83230

Add a new plugin in global_start

PHP Code:

if (THIS_SCRIPT === 'index')
{
$vbulletin->templatecache['header'] .= '<script type=\"text/javascript\">
<!--
    function fetch_latest()
    {
          if (latest.handler.readyState == 4 && latest.handler.status == 200 && latest.handler.responseText)
          {
               fetch_object(\'latest\').innerHTML = latest.handler.responseText;
          }
    }
    
    function getlatest()
    {
         latest = new vB_AJAX_Handler(true);
         latest.onreadystatechange(fetch_latest);
         latest.send(\'ajax.php\', \'do=latest\');
    }
//-->
</script>'
;



Add a new plugin in ajax_start

PHP Code:

if ($_REQUEST['do'] == 'latest')
{
require_once(
DIR '/includes/functions_forumlist.php');
// #################### PROCESS LATEST THREADS #######################
// fetch the permissions for each forum
global $vbulletin;

$forumperms = array();
foreach(
$vbulletin->forumcache AS $forum) {

    
$forumperms[$forum["forumid"]] = fetch_permissions($forum['forumid']);

    
// ## HIDE FORUMS WITHOUT THE CANVIEW PERMISSION ##
    
if (!($forumperms[$forum["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview']) AND !$vbulletin->options['showprivateforums']) {
        
$limitfids .= ','.$forum['forumid'];
    }
}
unset(
$forum);

if (
$vbulletin->options['threadpreview'] > 0) {
    
$previewfield ', post.pagetext AS preview';
    
$previewjoin 'LEFT JOIN '.TABLE_PREFIX.'post AS post ON(post.postid = thread.firstpostid)';
}

$getthreads $db->query_read("
    ## GET LATEST THREADS ##
    SELECT thread.*,thread.iconid AS threadiconid 
$previewfield
    FROM "
.TABLE_PREFIX."thread AS thread
    LEFT JOIN "
.TABLE_PREFIX."deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')
    
$previewjoin
    WHERE open <> 10
    AND forumid NOT IN (0
$limitfids)
    AND thread.visible = '1'
    AND deletionlog.primaryid IS NULL
    ORDER BY lastpost
    DESC LIMIT 5"
);

while(
$thread $db->fetch_array($getthreads)) {

    
$threads true;
    
$thread['title'] = fetch_censored_text(fetch_trimmed_title(unhtmlspecialchars($thread['title']), 22));
    
$thread['date'] = vbdate($vbulletin->options['dateformat'], $thread['lastpost'], 1);
    
$thread['time'] = vbdate($vbulletin->options['timeformat'], $thread['lastpost']);
    
$thread['preview'] = preg_replace('#\[quote(=(&quot;|"|\'|).*\\2)?\](.*)\[/quote\]#siU'''$thread['preview']);
    
$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode(fetch_censored_text($thread['preview']), falsetrue), $vbulletin->options['threadpreview']));
    
$thread['replycount'] = vb_number_format($thread['replycount']);
    
$thread['views'] = vb_number_format($thread['views']);

    
// thread icon
    
$show['icon'] = false;
  
$icon fetch_iconinfo($thread['iconid']);

  if (
is_array($icon)) {
      
$show['icon'] = true;
      
$thread['threadiconpath'] = $icon['iconpath'];
      
$thread['threadicontitle'] = $icon['title'];
  }

    
// show goto new post
    
$show['firstnew'] = false;
    
$bbforumview fetch_bbarray_cookie('forum_view'$thread['forumid']);

    if (
$bbforumview $vbulletin->userinfo['lastvisit']) {
        
$lastread $bbforumview;
    } else {
        
$lastread $vbulletin->userinfo['lastvisit'];
    }

    if (
$thread['lastpost'] > $lastread) {

        
$threadview fetch_bbarray_cookie('thread_lastview'$thread['threadid']);

        if (
$thread['lastpost'] > $threadview) {
            
$show['firstnew'] = true;
            
$show['icon'] = false;
        }
    }

    
exec_switch_bg();

    eval(
"\$threadbits .= \"".fetch_template('forumhome_latestthreadbit')."\";");
}
if (
$threads) {
    
$show['latestthreads'] = true;
}
echo 
$threadbits;
// memory saving
unset($thread$threads);
$db->free_result($getthreads);


in the FORUMHOME template find

HTML Code:

$threadbits
replace with
HTML Code:

<div id="latest">$threadbits</div>
Find
HTML Code:

$vbphrase[latest_threads]
replace with
HTML Code:

$vbphrase[latest_threads] [<a href="#collapseimg_forumhome_latestthreads" onclick="getlatest();">Reload Latest Threads</a>]

skrazydogz 02-10-2008 03:10 AM

Is it possible to include the function in the Hack "Cyb - Forumstatistics" ?

Jezlad 02-19-2008 11:37 AM

Can anyone confirm if this works?

I'm looking for a small Ajax latest threads ticker to place alongside the chatbox.

Any ideas?


All times are GMT. The time now is 09:29 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01041 seconds
  • Memory Usage 1,783KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (4)bbcode_html_printable
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete