<?php ##################################################################################################### /* exec:~exec-irc-raw|5|0|0|1|@||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~op|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~deop|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~voice|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~devoice|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~invite|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~kick|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~topic|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~mode|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~lockdown|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~alias-info|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% exec:~event-info|5|0|0|1|+||||php scripts/admin.php %%trailing%% %%dest%% %%nick%% %%alias%% */ ##################################################################################################### ini_set("display_errors","on"); require_once("lib.php"); $trailing=trim($argv[1]); $dest=strtolower(trim($argv[2])); $nick=strtolower(trim($argv[3])); $alias=strtolower(trim($argv[4])); $target=$nick; if ($trailing<>"") { $target=$trailing; } switch ($alias) { case "~exec-irc-raw": rawmsg($trailing); break; case "~op": rawmsg("MODE $dest +o $target"); break; case "~deop": if ($target<>get_bot_nick()) { rawmsg("MODE $dest -o $target"); } break; case "~voice": rawmsg("MODE $dest +v $target"); break; case "~devoice": if ($target<>get_bot_nick()) { rawmsg("MODE $dest -v $target"); } break; case "~invite": if ($trailing<>"") { rawmsg("INVITE $trailing :$dest"); } break; case "~kick": if (($target<>$nick) and ($target<>get_bot_nick())) { rawmsg("KICK $dest $target :commanded by $nick"); } break; case "~topic": if ($trailing<>"") { rawmsg("TOPIC $dest :$trailing"); } break; case "~mode": if ($trailing<>"") { rawmsg("MODE $dest $trailing"); } break; case "~lockdown": rawmsg("MODE $dest +ntipm"); break; case "~alias-info": if ($trailing==="") { privmsg(chr(3)."02"."syntax: ~alias-info <alias>"); return; } $exec_list_bucket=get_bucket("<<EXEC_LIST>>"); if ($exec_list_bucket=="") { privmsg(chr(3)."02"." *** error getting exec list bucket"); return; } $exec_list=unserialize($exec_list_bucket); if ($exec_list===False) { privmsg(chr(3)."02"." *** error unserializing exec list bucket"); return; } if (isset($exec_list[$trailing])===False) { privmsg(chr(3)."02"." *** error: alias not found"); return; } $enabled_str="enabled"; if ($exec_list[$trailing]["enabled"]==False) { $enabled_str="disabled"; } $record=$exec_list[$trailing]; privmsg(chr(3)."02"."exec [$enabled_str]: ".$record["alias"]."|".$record["timeout"]."|".$record["repeat"]."|".$record["auto"]."|".$record["empty"]."|".implode(",",$record["accounts"])."|".$record["accounts_wildcard"]."|".implode(",",$record["cmds"])."|".implode(",",$record["dests"])."|".implode(",",$record["bucket_locks"])."|".$record["cmd"]); if (file_exists($exec_list[$trailing]["file"])==True) { $stat=stat($exec_list[$trailing]["file"]); privmsg(chr(3)."02"."file: ".$exec_list[$trailing]["file"]." [modified: ".date("Y-m-d H:i:s",$stat["mtime"]).", size: ".$stat["size"]." bytes]"); } else { privmsg(chr(3)."02"."file: ".$exec_list[$trailing]["file"]." [FILE NOT FOUND]"); } return; case "~event-info": if ($trailing==="") { privmsg(chr(3)."02"."syntax: ~event-info <cmd>"); return; } $trailing=strtoupper($trailing); $events_bucket=get_bucket("<<EXEC_EVENT_HANDLERS>>"); if ($events_bucket=="") { privmsg(chr(3)."02"." *** error getting event handlers bucket"); return; } $events_bucket=base64_decode($events_bucket); if ($events_bucket===False) { privmsg(chr(3)."02"." *** error decoding event handlers bucket"); return; } $events=unserialize($events_bucket); if ($events===False) { privmsg(chr(3)."02"." *** error unserializing event handlers bucket"); return; } $results=array(); for ($i=0;$i<count($events);$i++) { $record=unserialize($events[$i]); if (isset($record[$trailing])==True) { $results[]=$record[$trailing]; } } if (count($results)==0) { privmsg("no events found for cmd \"$trailing\""); } else { for ($i=0;$i<count($results);$i++) { privmsg($results[$i]); } } return; } ##################################################################################################### ?>