<?php require_once dirname(__FILE__) . "/../string.php"; require_once dirname(__FILE__) . "/irc.php"; print "<meta http-equiv='refresh' content='15; URL=\"" . purlencode($PHP_SELF) . "?NICKNAME={$NICKNAME}\"' />"; $r = mysql_fetch_all(mysql_query("SELECT * FROM windows WHERE nickname = '{$NICKNAME}'")); $w = get_windows(); foreach ($w as $window) { $o .= td("<a href='{$SCRIPT_NAME}/Windows/" . purlencode($window) . "?NICKNAME={$NICKNAME}' target='window'>{$window}</a>"); } $o .= td("<a href='{$SCRIPT_NAME}/Logoff?NICKNAME={$NICKNAME}' target='_top'>Log Off</a>"); $o .= td("<a href='{$PHP_SELF}?NICKNAME={$NICKNAME}'>Refresh</a>"); print table(tr($o));
exit; } } while (!$quit) { $r = fetch_queue($NICKNAME, $window, FALSE, 0); foreach ($r as $row) { if ($row['type'] == 'quit') { out("Connection closed: " . $row['data']); $quit = TRUE; } out(format_message($row)); } //$quit = TRUE; usleep(1000000); } print "<br /><a href='" . purlencode($PHP_SELF) . "'>Refresh</a>\n"; function format_message($row) { $msg = irc_split_message($row['data']); extract($msg); switch ($command) { case 'PRIVMSG': if ($message[0] == "") { $o = "* " . format_nick($origin) . " " . str_replace("ACTION", '', $message); } else { $o = "<" . format_nick($origin) . "> {$message}"; } break; case 'NICK': $o = format_nick($origin) . " is now known as\n\t\t\t\t" . format_nick($message); break;
print ul(join('', $items)); } $items = array(); } if (++$dates > $recentchanges) { break; } if ($form != 'rss') { print heading(WIKI_HEADINGLEVEL, date('F d, Y', $stats[9])); } } if ($form == 'rss') { $temp = rcs_get_revisions($WIKI_PAGEDIR . $entry); $ver = key($temp); $items[] = "<item rdf:about='http://" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . "/" . purlencode($entry) . ($ver ? ";{$ver}" : "") . "'>\n\t\t\t\t\t\t\t<title>{$entry}</title>\n\t\t\t\t\t\t\t<link>http://" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . "/" . purlencode($entry) . ($ver ? ";{$ver}" : "") . "</link>\n\t\t\t\t\t\t\t<dc:date>" . ts_2_iso8601($stats[9]) . "</dc:date>\n\t\t\t\t\t\t\t<description/>\n\t\t\t\t\t\t</item>"; $itemptrs[] = "<rdf:li rdf:resource='http://" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . "/" . purlencode($entry) . ($ver ? ";{$ver}" : "") . "'/>"; } else { if (defined('RECENTCHANGES_HACK')) { if ($temp = wiki_recentchanges_hack(date('Y-m-d', $stats[9]))) { $items[] = $temp; } } if (is_dir($WIKI_PAGEDIR . $entry)) { $items[] = li(hyperlink($_SERVER['SCRIPT_NAME'] . '/' . $WIKI_REPOSITORY . "{$entry}?recentchanges", $entry . '/') . ($form == 'long' ? date(' H:i:s T', $stats[9]) : "")); } else { $ver = rcs_get_revisions($WIKI_PAGEDIR . $entry); $ver = key($ver); $items[] = li(wiki_link($_SERVER['SCRIPT_NAME'] . '/' . $WIKI_REPOSITORY . $entry, $entry, false, $ver) . ($form == 'long' ? date(' H:i:s T', $stats[9]) : "")); } } $lastdate = $date;
function script_name() { return purlencode($_SERVER['SCRIPT_NAME']); }
} elseif ($parts[0] == 'Frameset') { print "<html>\n\t\t\t\t\t<head><title>NBTSC Web IRC</title></head>\n\t\t\t\t\t<frameset rows='50,*' border='0'>\n\t\t\t\t\t\t<frameset cols='*,70' border='0'>\n\t\t\t\t\t\t\t<frame src='{$SCRIPT_NAME}/Windows?NICKNAME={$NICKNAME}' name='windowlist' border='0' />\n\t\t\t\t\t\t\t<frame src='http://{$SERVER_NAME}:8080{$SCRIPT_NAME}/Daemon?NICKNAME={$NICKNAME}' name='daemon' border='0' />\n\t\t\t\t\t\t</frameset>\n\t\t\t\t\t\t<frame src='{$SCRIPT_NAME}/Windows/Status?NICKNAME={$NICKNAME}' name='window' border='0' />\n\t\t\t\t\t</frameset>\n\t\t\t\t</html>\n\n"; } elseif ($parts[0] == 'Queue') { if ($parts[1]) { $window = $parts[1]; require dirname(__FILE__) . "/read.php"; } else { print "please select a window"; } } elseif ($parts[0] == 'Inputbox') { if ($parts[1]) { $window = $parts[1]; if ($REQUEST_METHOD == 'POST') { sendtoirc($NICKNAME, $window, $input); # print("Sent $input; click <a href='$PHP_SELF'>here</a> to continue"); http_302(purlencode($PHP_SELF) . "?NICKNAME={$NICKNAME}"); exit; } else { require dirname(__FILE__) . "/write.php"; } } else { print "please select a window"; } } elseif ($parts[0] == 'Daemon') { chdir(dirname(__FILE__)); system("NICKNAME={$NICKNAME} ./daemon > /dev/null &"); echo 'Connected'; } elseif ($parts[0] == 'Logoff') { sendtoirc($NICKNAME, $window, 'QUIT :Logging off'); http_302($SCRIPT_NAME); exit;
function utf8purlencode($s) { return purlencode(utf8_encode($s)); }
<?php print "<form action='" . purlencode($PHP_SELF) . "' method='POST' name='inputform'>"; print "{$NICKNAME}: <input type='text' size='50' name='input' />"; print "<input type='hidden' name='NICKNAME' value='{$NICKNAME}' />"; print "<input type='submit' value='send' />"; print "<script language='javascript'> " . "document.forms['inputform'].input.focus(); " . "</script>"; print "</form>";