![]() |
vBISpy - AJAX real-time feed of new posts/threads
After seeing the http://www.digg.com/spy application; I wondered if this could be done for vBulletin as well. I came across this webpage which had a "how to" on how they built a similiar application to do the same thing. Taking a page from their book (i.e. the code), I modified it for use with vBulletin.
During development, I also came across this post here on vBulletin.Org where the very subject had already been discussed. So I put this together; a simple ZIP file with a single PHP script, three javascript files and 4 images. Installation . UNZIP the file into your forums directory . That's it! Virtually all the code to customize the page is in the vaispy.php script; there are no plugins, no templates and no phrases. You do not need to do anything further; this should work right out of the box. In your browser, open the URL: http://www.yourforum.com/forum/vaispy.php You can see examples of this at: http://www.viperalley.com/forum/vaispy.php http://www.extremefitness.com/forum/vaispy.php Note: I claim no ownership of this code except for the file vaispy.php - the rest of the files were using 'freely distributable' sources. As such, you may use these files as you wish, but please do not remove the copyrights. This modification is for vBulletin 3.6 only, if you are running vBulletin 3.5 you will need to see this thread. JOIN THE vBIspy Network! Once you have this mod installed, you can join the vBIspy network to have your threads appear on this site; the vBIspy Network is a great way for people to see what's going on in various vBulletin communities and for forum owners to promote their sites and generate new traffic. Optional add-ons Who's Online mod for this: https://vborg.vbsupport.ru/showthread.php?t=126209 vBAdvanced Module: https://vborg.vbsupport.ru/showthread.php?t=126421 UPDATES 1.0.4 Added buro9's code from here 1.0.5 - 9.9.06 Modified some JavaScript in va_spy.js to remove split strings 1.0.6 - 9.10.06 Added date cuffoff code from here and changed init() to spyinit() - changed vaispy.php and va_spy.js files. 1.0.7 - 9.12.06 va_spy.js: Added a forum url variable to allow for integration with portals or other products outside the forum directory va_spy.js: Added xmldelay variable at top of script for easier configuration or repolling Updated files: vaispy.php, vb_spy.js 1.0.8 - 9.13.06 vaispy.php - changed code for checking for forum permissions to include password protected forums, added javascript tag for script code 1.0.9 - 9.16.06 vaispy.php va_spy.js va_effects.js - modified to allow for proper display in Opera browsers and moved more html into vaispy.php to allow for stylevars, trimmed va_effects.js to remove unused code (ForumDog's suggestions, except not using templates yet), changed way threads are parsed (removes html as well) 1.0.10 - 9.17.06 va_prototype.js - removed 20kb of unused code 1.1.11 - 9.25.2006 vaispy.php va_spy.js - added SirAdrian's mods for thread status icons and alternating row colors - added code to prepopulate the first 10 rows with existing threads allowing for 5 new ones to be added in scrolling mode (versus scrolling starting from the first thread). - added option to display subscribed threads only 1.1.12 - 9.26.2006 vaispy.php - added code to add empty rows if initial pull has less than 20 rows. |
Keep in mind, this kind of script can add to your server load if alot of users are using it; it polls the lookup script every 7 seconds to give it a real-time effect; you may need to adjust this to suit your own needs.
The last line of the file: Code:
setTimeout("getXML()", 7000); Enjoy. |
Great stuff, does it check the forumspermissions?!
Tobi |
Yes, forum permissions are checked. You can also exclude specific forums by changing the line:
Code:
// Do not list these forums even if they have permissions (test categories, etc) |
cool :)
|
Great, right now, it does not dispay anything, but there are new post!
|
Make sure you uploaded all your files properly into their respective directories; the javascript clients are required.
|
I am having the same problem here, the page shows up fine and the .js files are being called without any errors, only nothing shows up.
|
Working fine for me here. Only thing I had to change was the forum title -- the php file contains the title of your site (Viper Alley).
Thanks a lot MPDev :) |
All files are uploaded and in the right directories!
|
<a href="http://www.extremefitness.com/forum/vaispy.php" target="_blank">http://www.extremefitness.com/forum/vaispy.php</a>
I just uploaded the files to here and it worked right out of the box. If you post a URL, I'll take a look using the Firefox JavaScript console. |
Sure, the only thing I changed was the title http://www.guitarblast.com/vaispy.php All the .js files are in the clientscript directory.
|
Okay, redownload and upload the vaispy.php script; when I loaded your page it didn't like an ampersand in the title.
Code:
Error: not well-formed |
|
Working for me, Cheertobi. You, too, Ericgtr.
|
Yep, I just uploaded the new files ;)
Thanks! |
Quote:
|
woohoo more Ajax
:D |
sweet! installed and working fine!
|
No, it's just doing a single query to get new posts/threads; that's all. It's a global thing (with permissions), so it doesn't require looking at any specific forum.
I have ideas for future use and how to filter what you see; but this gets everyone started. And was meant to be as simple as possible to get running. ;) |
nice work MPDEV but whats up with your sites title in the explorer bar? <title>ViperAlley iSpy</title> also if you use things like vBMicrostats https://vborg.vbsupport.ru/showthread.php?t=116027 they dont work.
|
I removed the name from the ZIP, just an oversight.
|
when I rename vaispy.php to spy.php it doesnt work anymore :(
|
Is this 3.6 only? I'm on 3.5.4 and get this mysql error:
Invalid SQL: ## GET LATEST THREADS ## SELECT thread.*, post.pagetext AS preview FROM thread AS thread LEFT JOIN deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread') LEFT JOIN post AS post ON(post.postid = thread.lastpostid) WHERE open <> 10 AND thread.lastpostid > 0 AND forumid NOT IN (0,42) AND thread.visible = '1' AND deletionlog.primaryid IS NULL ORDER BY lastpost DESC LIMIT 10; MySQL Error : Unknown column 'thread.lastpostid' in 'where clause' Error Number : 1054 EDIT: Yeah 'thread.lastpostid' is new in 3.6 :( |
It won't work it you rename the file without changing the code.
I don't have 3.5x to run it on for testing. |
oh! how to make it slower?
|
if you use things like vBMicrostats https://vborg.vbsupport.ru/showthread.php?t=116027 they dont work its not picking that up for some reason.
|
Quote:
|
BTW, I clicked the install button. This mod is slicker than a safeway chicken! :D
|
i know you said it checks forum permissions, but how about password protected forums?
|
answered my own question. it lets you view new posts and threads in forums that are simply password protected.
|
hmm looks good - one question MPdev could it pull the first img file from the first post in the thread as well ?
|
If I am logged in this shows nothing... if I logout it works fine.. any ideas?
|
Yeah i can see it when im logged out lol and it looks horrible on internet explorer it looks like it has a bunch of lines under the last table
|
seems like a nice way to kill someones site would be to dos this page. maybe you could make it so only registered user can see it or have some sort of permissions?
|
Not bad... I'm glad someone finally made it (after seeing the request thread).
The only thing that would be better is if it read from the session table, but that would be a larger undertaking because you'd have to convert the location field to URL and then fetch the threadID, postID, etc like vBulletin does in WOL. Usergroup permissions (even hardcoded) is a must for this BTW. |
Aww man, this is just the kind of hack i was looking for!
Has anyone installed this on a large board yet? Im interested to know about server load. |
Quote:
Code:
if (($forumperms[$forum["forumid"]] & $vbulletin->bf_ugp_forumpermissions['canview']) AND verify_forum_password($forum["forumid"], null, false)) { |
Quote:
|
Very nice. Will install after work. :)
|
All times are GMT. The time now is 04:23 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|