Jump to content

Channel List


DJ24966

Recommended Posts

Is it possible to create a PHP page that will display all of the current channels on my server, and all the user to simply click the channel he, or she wants to join, and have it go from there?

 

I'm pretty sure it can be done, but I've tried to no avail, and to be honest, I'm stuck in a corner, and can't get out!

 

Any help would be much appreciated.

 

Thank you

Link to comment
Share on other sites

  • Replies 24
  • Created
  • Last Reply

Top Posters In This Topic

I had searched and found various topics, but must have over looked this one. I'll see if it works.

 

Thanks

 

Also, it does not seem to work for me.

 

This is displayed at the top of the page.

#
\n"; } else { fputs($fp,"USER $botnick $botnick 127.0.0.1 :php\n"); $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); while (!feof($fp)) { usleep(50); $fget = @fgets($fp, 128); //echo "$fget
\n"; $match = explode(" ", $fget); $fget = ereg_replace ("\n", "", $fget); $fget = ereg_replace ("\r", "", $fget); if ($match[1] == "001") { fputs($fp,"LIST\n"); } else if ($match[0] == "PING") { fputs($fp, "PONG :" . $match[1]); } else if ($match[1] == "433") { $nick = $botnick . rand(10000,99999); fputs($fp,"NICK $nick\n"); } else if ($match[1] == "323") { fputs($fp, "QUIT :bye!\n"); break; } else if ($match[1] == "322") { $match[3] = ereg_replace ("#", "", $match[3]); if (eregi ("$channel(.*)", $match[3], $chan)) { $topic = explode(":", $fget); unset($topic[0]); unset($topic[1]); $topic = implode(":", $topic); $topic = explode(" ", $topic); unset($topic[0]); $topic = implode(" ", $topic); if ($color == "FFFFCC") { $color = "FFFFFF"; } else { $color = "FFFFCC"; } ?>

 

It seems like it knows a room is there, but where the text should be, it just shows a green bar all the way across.

Edited by DJ24966
Link to comment
Share on other sites

This is what I have, exactly as it was from the topic.

 

<?

/*
################ VSIRC Roomlister v1.0 ################
IRC Roomlister..
This script is created by M.Kollaard and M.D.Bakker
For information you can always send a email to:
([email protected]) or ([email protected])
Copyrighted (c) 2003-2008 VSNetworks©
When you modify the contents in this script
Please Add THe Copyrights Line..
Have Fun with it...
################ VSIRC ServiceBot v1.2 ################
*/

//set_time_limit(off);
$botnick = "phpbot";
$server = "irc.yourdomain.net";
$port = "6667";
$channel = "\[JF\]";
?>
<html>

<head>
<meta http-equiv="Content-Language" content="nl">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>

<body>

<p>#<?=stripslashes($channel);?></p>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td width="8%" bgcolor="#00CCFF"> Users:</td>
<td width="15%" bgcolor="#00CCFF"> Roomname:</td>
<td width="77%" bgcolor="#00CCFF"> Topic:</td>
</tr>
<?

$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs($fp,"USER $botnick $botnick 127.0.0.1 :php\n");
$nick = $botnick . rand(10000,99999);
fputs($fp,"NICK $nick\n");
while (!feof($fp)) {
usleep(50);
$fget = @fgets($fp, 128);
//echo "$fget <br>\n";
$match = explode(" ", $fget);
$fget = ereg_replace ("\n", "", $fget);
$fget = ereg_replace ("\r", "", $fget);
if ($match[1] == "001") {
fputs($fp,"LIST\n");

} else if ($match[0] == "PING") {
fputs($fp, "PONG :" . $match[1]);
} else if ($match[1] == "433") {
$nick = $botnick . rand(10000,99999);
fputs($fp,"NICK $nick\n");
} else if ($match[1] == "323") {
fputs($fp, "QUIT :bye!\n");
break;
} else if ($match[1] == "322") {
$match[3] = ereg_replace ("#", "", $match[3]);
if (eregi ("$channel(.*)", $match[3], $chan)) {
$topic = explode(":", $fget);
unset($topic[0]);
unset($topic[1]);
$topic = implode(":", $topic);
$topic = explode(" ", $topic);
unset($topic[0]);
$topic = implode(" ", $topic);
if ($color == "FFFFCC") { $color = "FFFFFF"; } else { $color = "FFFFCC"; }
?>
<tr>
<td width="8%" bgcolor="#<?=$color?>"> <?=$match[4]; ?></td>
<td width="15%" bgcolor="#<?=$color?>"> <a href="chat.php?catagory=JF&room=<?=$chan[1]; ?>"><?=$chan[1]; ?></a></td>
<td width="77%" bgcolor="#<?=$color?>"> <?=$topic;?></td>
</tr>
<?
}
}
}
fclose($fp);
}
?>

</table>

</body>

</html>

 

Here is a screenshot of what my loaded page looks like.

 

http://i33.tinypic.com/21kw86x.jpg

Link to comment
Share on other sites

Update.

 

I'm now using the following code.

<?php
$botnick = "Chatterup";
$server = "chatterup.webhop.net";
$port = "6667";
$channel = "";
?>
<html>
<head>
<meta http-equiv="Content-Language" content="en">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Room List</title>
</head>
<body>
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" id="AutoNumber1" style="border-collapse: collapse">
<tr>
<td width="8%" height="20" align="center" valign="middle" bgcolor="#FFFFCC" style="border-left:1px solid #333333;border-bottom:1px solid;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> Users</td>
<td width="15%" height="20" align="left" valign="middle" bgcolor="#FFFFCC" style="border-bottom:1px solid;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> Roomname:</td>
<td width="77%" height="20" align="left" valign="middle" bgcolor="#FFFFCC" style="border-right:1px solid #333333;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"> Topic:</td>
</tr>
<?php
$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fputs($fp,"USER $botnick $botnick 127.0.0.1 :php\n");
$nick = $botnick . rand(10000,99999);
fputs($fp,"NICK $nick\n");
while (!feof($fp)) {
usleep(50);
$fget = @fgets($fp, 128);
echo "$fget <br>\n";
$match = explode(" ", $fget);
$fget = ereg_replace ("\n", "", $fget);
$fget = ereg_replace ("\r", "", $fget);
if ($match[1] == "001") {
fputs($fp,"LIST\n");
} else if ($match[0] == "PING") {
fputs($fp, "PONG :" . $match[1]);
} else if ($match[1] == "433") {
$nick = $botnick . rand(10000,99999);
fputs($fp,"NICK $nick\n");
} else if ($match[1] == "323") {
fputs($fp, "QUIT :bye!\n");
break;
} else if ($match[1] == "322") {
$match[3] = ereg_replace ("#", "", $match[3]);
if (eregi ("$channel(.*)", $match[3], $chan)) {
$topic = explode(":", $fget);
unset($topic[0]);
unset($topic[1]);
$topic = implode(":", $topic);
if ($color == "FBFBF7") { $color = "FFFFFF"; } else { $color = "FBFBF7"; }
?>
<tr>
<td width="8%" align="center" valign="middle" bgcolor="#<?=$color?>" style="border-top:1px solid #333333;border-left:1px solid #333333;border-bottom:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;">
<?=$match[4]; ?>
</td>
<td width="15%" style="border-bottom:1px solid #333333;bordertop:1px solid #333333;border-top:1px solid #333333;FONT-FAMILY: verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;" bgcolor="#<?=$color?>"> <a href="./chat.php?action=Chat&rmname=[EN]<?=$chan[1]; ?>"><?=$chan[1]; ?></a></td>
<td width="77%" style="border-right:1px solid #333333;border-bottom:1px solid #333333;FONT-FAMILY:;border-top:1px solid #333333; verdana;FONT-SIZE: 8pt;TEXT-DECORATION: none;"bgcolor="#<?=$color?>"> <?=$topic; ?></td>
</tr>
<?php
}
}
}
fclose($fp);
}
?>
</table>
</body>
</html>

 

The page loads fine, and the table acts like 2 rooms are open, however, there is no text printed out.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...