Skip to content
General IRCX

Channel List

A TG007 community discussion started by DJ24966.

Discussion 25 posts
Page 1 of 2
Open
Topic #11502 · 25 published posts · 9,451 views

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

http://www.tg007.net/forum/index.php?showtopic=2538

 

please do a search next time, there are quite a few topics about on this.

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 Nov 6, 2008 6:14 PM by DJ24966

Did you take out the opening PHP tag? Why would # be at the bottom of the page?

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

try changing all the php opening tags to <?php because it seems as if your host doesn't like <?

I can get rid of the errors by doing that. However I still get no room list.

Are you actually sending the information out? Sounds like localhost won't let you make any outgoing PHP calls. That could be PHP or Apache.

I'm running this all from the same PC, using Wamp, Apache, MySQL, and PHP.

 

I used paper a few years ago, and it worked, but paper is junk as well all know.

 

How can I tell if it's actually sending the info out?

 

Sorry for the noob questions.

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.

Anybody at all?

 

Page URL: http://chatterup.webhop.net/roomlist.php

Edited Nov 7, 2008 10:01 PM by DJ24966

if you are going to be doing this, you should learn php, learn IRC, and in general, learn to program. the problems with the code seems to just be some small syntactical issues...

try...

<?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="#<?php echo $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;"><?php echo $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="#<?php echo $color; ?>"> <a href="./chat.php?action=Chat&rmname=[EN]<?php echo $chan[1]; ?>">
      <?php echo $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="#<?php echo $color; ?>"> 
      <?php echo $topic; ?></td>
  </tr>
                      <?php
                }
            }
        }
        fclose($fp);
    }
?>
</table>
</body>
</html>

Edited Nov 7, 2008 11:52 PM by The Gate Keeper

PHP is just one of my weak points, other languages are fine... however, I still have this error using your code.

 

Parse error: syntax error, unexpected $end in C:\wamp\www\roomlistfix.php on line 82

modified previous post. Sorry.

 

Added: what languages do you know? If you've learn a traditional/more commericalized language such as C/C++/C#/Java, php should come to you in a snap. And even mIRC...

Edited Nov 7, 2008 11:58 PM by The Gate Keeper

Thanks alot. Seems to be working fine.

 

Sorry for all the hassle.

1 last thing, Lets say I have a java applet, what would I change in order for it to carry over and join the selected room. I know I would change the chat.php link to the location of the applet.

 

I tried this on the applet page, but it does not seem to work.

 

<param name="rmname="<?php echo $rmname; ?>"

it would depend on the java applet... You need to see how to join rooms with your java applet (or whatever you use), and go from there.

Ok, one of our coders is building ours, but for testing we are using PJIRC.

 

Not sure if anybody here has used it, or knows anything about it.

one of our coders... I've got to tell you, there isn't much that you can do but learn the languages that you are utilizing.

google rent a coder :rolleyes: