I'd like to push wiki changes to an IRC channel (#elinux) on freenode
and I can't seem to get Wikinotify working. The documentation
indicates to set three variables, which I've set to:
$psyctarget = "irc://freenode.net/elinux";
$psychost = "udp://freenode.net";
$psycport = 4404;
Am I missing something?
Thanks
Bill
The full psychnotify.php looks like this:
$psyctarget = "irc://freenode.net/elinux";
$psychost = "udp://freenode.net";
$psycport = 4404;
/* in an ideal world, there is nothing you need to do below here */
function psycnotify($article, $user, $text, $summary, $isminor,
$iswatch, $section) {
global $psyctarget, $psychost;
$url = "http://" . $_SERVER['SERVER_NAME'];
$url .= str_replace("index.php?title=", "index.php/",
substr($_SERVER['REQUEST_URI'], 0, -14));
# header
$s = ":_target\t$psyctarget\n"
# . ":_encoding\tutf-8\n" # PSYC uses UTF-8 anyway
. "\n" # move on from routing layer to application layer
. ":_nick_wiki\t". strToLower($user->mName) ."\n"
. ":_article\t". $article->mTitle->mTextform ."\n"
. ":_page\t$url$section\n";
if ($section) {
$s .= ":_section\t$section\n";
if ($summary && ($p = strpos($summary, " */ ")))
$summary = substr($summary, $p + 4);
}
if ($summary) $s .= ":_summary\t$summary\n";
# method
$mc = "_notice_update_wiki";
if ($isminor) $mc .= "_minor";
$s .= $mc ."\n";
# body
$s .= "(Wiki:[_nick_wiki]) has made a "
. ($isminor ? "minor" : "major")
. " change in [_page]\n";
if ($summary) $s .= "saying: [_summary]\n";
# deliver, as simple as that
$udp = fsockopen($psychost, $psycport);
fwrite($udp, ".\n". $s .".\n");
fclose($udp);
return true;
}
$wgHooks['ArticleSaveComplete'][] = array('psycnotify');