Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Beta Releases

Reply
 
Thread Tools
IRCBrowse - no Eggdrop + no FTP!! Details »»
IRCBrowse - no Eggdrop + no FTP!!
Version: 1.00, by feldon23 feldon23 is offline
Developer Last Online: Jan 2023 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 02-08-2003 Last Update: Never Installs: 30
Is in Beta Stage  
No support by the author.

I looked at the "IRCUsers" hack written by eyeball (aka supreemball) using the ftp mirc script coded by Rich@home.nl and I thought wow this is cool. Then I looked at what's involved.

*It modifies global.php, meaning that EVERY PAGE of your forum loads this information even though only index.php uses it.

*It adds 1,150 lines of code to your mIRC.

*Requires 24/7 FTP access


So I thought, why not have vBulletin AND mIRC interface with a PHP file?
Thank you eyeball and Rich for the inspiration to write this!

I don't have a photo/snapshot because the PHP script runs "silent" and how the output looks all depends on your vB template.

The PHP script provides the # of total chatters, the highest # of chatters ever, and a formatted (customizable in the PHP script) comma-delimited list of users in the chat which you can insert anywhere in your templates (an example template under forumhome is provided).

The mIRC script opens a socket to your web server (HTTP) and does an "HTTP GET" to request the ircbrowse.php script. The secret is, it puts all the data in the Query line after the URL and then just ignores the page it gets back from the web server and closes the socket. This is all password-protected.

This is my first hack posted here so please be gentle.

This hack is operating on:

SereneScreen Aquarium Forum
Anime System

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 02-10-2003, 12:10 PM
feldon23's Avatar
feldon23 feldon23 is offline
 
Join Date: Oct 2001
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Sirius said:
So the chat u use can only be used for their network? cause i wanna be able to use it for Aniverse and have forum users click the chan name and it connect with the java applet u have. I've seen them before but I like the way yours looks the best.
The webmaster backpack java applet only works with webchat servers. Actually, what you see on my forum is incredibly stripped down. I turned off most of the buttons to make it easy for first-time chatters.

Quote:
hey whats it mean when someone says run the file from AdminCP to install?

That was in the instructions of one of the hacks i'm trying to install and i have no clue how to do that.
Because of the complexity of installing some hacks (modifying 20-30 files), people have started to write smart installers to automate the process. If you look around, you'll see that more and more hacks come as "vbHacker installable". My IRCBrowse hack does not have an installer because you only modify one file to use it.

Quote:
Also what is Query's and how do i do them. Will need step by step on this one cause have not a single clue what it is, what it does, how to do it, or where to do it at^_^
You know I have been doing PHP for about a month now, I just haven't gotten round to using MySQL much.

A query is how you get information FROM or write information TO the MySQL database your forum (or website) runs on. Queries can be incredibly complex, grabbing a ton of cross-linked information from various parts of the database and recombining it into a temporary array which is then merged with HTML to display a forum page or other such tasks.

The reason why we talk about queries is that each MySQL query, no matter how simple or complex, adds to the load your server uses. But in many cases you do not have a choice. Each PHP page needs to do MySQL queries to get the information necessary to display the forum home, or a forum thread list, or to do a search, or to handle attachments, etc.

If you want to know how many users registered on your forum today and a MySQL query has not already been done to grab this information and provide it to the PHP script that's running, you'll have to do a query for it.

You can imagine that if someone comes out with a hack that does 5-10 queries and someone else does the same hack but it only does 1 query or even piggybacks on queries ALREADY being done on the page, then we'll probably favor that version of the hack!

Take your time, there's no rush to learn this stuff.
Reply With Quote
  #23  
Old 02-10-2003, 12:31 PM
NuclioN's Avatar
NuclioN NuclioN is offline
 
Join Date: Aug 2002
Posts: 955
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

// This is the key you send from mIRC and vBulletin to make sure this script is not
// called by outsiders

What key?
Reply With Quote
  #24  
Old 02-10-2003, 12:40 PM
feldon23's Avatar
feldon23 feldon23 is offline
 
Join Date: Oct 2001
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Make up a key number and put the same one in both places (mIRC and vBulletin), like 3049 or 2179.
Reply With Quote
  #25  
Old 02-10-2003, 03:28 PM
Velocd's Avatar
Velocd Velocd is offline
 
Join Date: Mar 2002
Location: CA University
Posts: 1,696
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
VeloCD, you can imagine that adding the topic would be a huge stumbling block for URL length. A topic like this (from "A Fish Called Wanda"):
"It's k-k-k-Ken and he's c-c-c-coming to k-k-k-kill me!"

would expand to something like:
%26It's%20k-k-k-Ken%20and%20he%25s%20c-c-c-coming%20to%20k-k-k-kill%20me!%26
My coding in mIRC is very limited, and I'm not familar with the functions used there unlike PHP, but if you could somehow use a function similar to serialize() and unserialize(), you could convert the long and lengthy strings into byte-stream representations.

Maybe there is a related function in the C language iRC uses that is similar to serialize?
Reply With Quote
  #26  
Old 02-10-2003, 03:30 PM
feldon23's Avatar
feldon23 feldon23 is offline
 
Join Date: Oct 2001
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another possibility is to learn the protocols to do a POST method.
Reply With Quote
  #27  
Old 02-11-2003, 07:36 AM
w596 w596 is offline
 
Join Date: Jul 2002
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey feldon23, You ROCK!!! Great Hack
Reply With Quote
  #28  
Old 02-12-2003, 08:15 PM
Gryphon's Avatar
Gryphon Gryphon is offline
 
Join Date: Oct 2001
Location: Seattle, WA
Posts: 617
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

My server is running php 4.0.6, I could not get this hack to work until I changed $_GET to $HTTP_GET_VARS and $_SERVER to $HTTP_SERVER_VARS, all it kept saying was "Nothing to do."

Works like a charm now.
Reply With Quote
  #29  
Old 02-12-2003, 08:24 PM
feldon23's Avatar
feldon23 feldon23 is offline
 
Join Date: Oct 2001
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry bout that. $_GET was added in 4.1. I will make it compatible with PHP3 & 4 in the next version.

Also going to try to allow for unlimited chatters.
Reply With Quote
  #30  
Old 02-12-2003, 08:45 PM
Gryphon's Avatar
Gryphon Gryphon is offline
 
Join Date: Oct 2001
Location: Seattle, WA
Posts: 617
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I idle on about 15 channels across two servers, and the same channel that I wish to display exists on both servers. If someone joins or drops and such, it updates correctly; however after a few minutes it shows just my name. I assume this is displaying the channel from the other server of which I am the only one on it?

*(Edit added)
I plan on running it on a bot that is in about three channels on one server, just thought it would be nice if it worked otherwise, thanks.
Reply With Quote
  #31  
Old 02-12-2003, 10:01 PM
feldon23's Avatar
feldon23 feldon23 is offline
 
Join Date: Oct 2001
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well no amount of huffing and puffing will make QUIT work on a specific channel. And specifying a channel won't help your situation.

At this time, my script does not work predictably if you are joined in the same chat channel name on multiple servers.

I'll look into what's involved in abstracting my script such that you can specify which chat server's channel to respond to. Am I right to assume that you would never be joined to 2 different servers on the SAME chat network, such as having 2 joins to EFNet?

You can tell what chat network each of your Server windows is connected to by typing //echo $network in each one and looking at the result.

If you want, I can look at supporting this for 1.1. Already for 1.1, I hope to have:
-unlimited chatters
-passing the topic
-support for PHP 3 + 4

I really don't want this script to get too complex.
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:35 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05315 seconds
  • Memory Usage 2,310KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete