Thread: pjirc chatroom
View Single Post
  #2  
Old 05-21-2006, 07:46 PM
Brad Brad is offline
 
Join Date: Nov 2001
Posts: 4,765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Users will still have to register with irc, and you can't prevent people that aren't registered on the forum from entering the channel if the server details get out.

However you can 'pick up' on their forum username, and it will be used when they join the irc if it's not already in use. You can also prevent unregisted users from using the java client.

A very simple integration follows, you can extend on this and make it look just like the one we use here if you want.

First create a new php file, call it 'chat.php' and upload it to the /forum/ directory. Here is the php code for that file:

PHP Code:
<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''chat');

// pre-cache templates used by all actions
$globaltemplates = array(
    
'CHAT',
);

// require globals
require_once('./global.php');

if (!
$vbulletin->userinfo['userid'])
{
    
print_no_permission();
}

// Strip username for irc
// clean username
$nonalnum ereg_replace("[^ [:alnum:]]"""$vbulletin->userinfo['username']);
$clname preg_replace('#^[0-9]{1,}#'''$nonalnum);
$name ereg_replace(" ""_"$clname);

// ###### Do nav bar
$navbits = array("chat.php?$session[sessionurl]=> 'Chat');
$navbits construct_navbits($navbits);
eval(
'$navbar = "' fetch_template('navbar') . '";');

eval(
'print_output("' fetch_template('CHAT') . '");');
?>
Then create a new template call CHAT via the admin cp, using this code:

HTML Code:
<applet codebase="/path/to/pjirc" code="IRCApplet.class" archive="irc.jar,pixx.jar" width=100% height=450>
	<param codebase="/path/to/pjirc" name="CABINETS" value="irc.cab,securedirc.cab,pixx.cab">
	<param name="nick" value="$name">
	<param name="alternatenick" value="guest????">
	<param name="fullname" value="mysite_java">
	<param name="host" value="irc.yourirc.org">
	<param name="gui" value="pixx">
	<param name="quitmessage" value="User Quit">
	<param name="asl" value="false">
	<param name="style:bitmapsmileys" value="false">
	<param name="style:floatingasl" value="false">
	<param name="pixx:highlight" value="true">
	<param name="pixx:highlightnick" value="true">
	<param name="command1" value="/join #mychannel">
</applet>
That will integrate the applet, making it look like the rest of the forum is up to you.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01085 seconds
  • Memory Usage 1,795KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_html
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete