LMPX.COM |
Home | Linux | Mysql | PHP | XML | ||
|
|
|||
From: Mirco 'meebey' Bauer Date: Sat Jul 26 05:00:16 2003 Subject: cvs: pearbot /modules pearcmds.php
meebey Sat Jul 26 07:00:16 2003 EDT
Added files:
/pearbot/modules pearcmds.php
Log:
- first import (written by nicos@php.net)
Index: pearbot/modules/pearcmds.php
+++ pearbot/modules/pearcmds.php
<?php
/**
* $Id: pearcmds.php,v 1.1 2003/07/26 11:00:16 meebey Exp $
* $Revision: 1.1 $
* $Author: meebey $
* $Date: 2003/07/26 11:00:16 $
*
* Copyright (c) 2003 Nicolas CHAILLAN <nicos@php.net>
*/
class Net_SmartIRC_module_pearcmds
{
var $name = 'pearcmds';
var $description = '!pear* commands';
var $author = 'Nicolas CHAILLAN <nicos@php.net>';
var $license = 'LGPL';
var $pear_binary = '/usr/local/bin/pear';
var $actionids = array();
function module_init(&$irc)
{
$this->actionids[] = $irc->registerActionhandler(SMARTIRC_TYPE_QUERY|SMARTIRC_TYPE_NOTICE, '^!pear', $this, 'pear');
}
function module_exit(&$irc)
{
foreach ($this->actionids as $value) {
$irc->unregisterActionid($value);
}
}
/* !pear command */
function pear(&$irc, &$data)
{
$irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, 'Helping '.$data->nick.' in private...');
if (!isset($data->messageex[1])) {
$print = $this->pear_help();
}
else {
switch ($data->messageex[1]) {
case 'info':
case 'remote-info':
if (!isset($data->messageex[2]) || empty($data->messageex[2])) {
$irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $data->nick.': syntax: !pear info package');
return;
}
$print = $this->pear_info($data->messageex[2]);
break;
case 'list':
case 'lists':
case 'list-all':
case 'remote-list':
$print = $this->pear_listing();
break;
case 'search':
case 'find':
if (!isset($data->messageex[2]) || empty($data->messageex[2])) {
$irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $data->nick.': syntax: !pear search search_for');
return;
}
$print = $this->pear_search($data->messageex[2]);
break;
case 'help':
default:
$print = $this->pear_help();
break;
}
}
$irc->message(SMARTIRC_TYPE_QUERY, $data->nick, $print);
}
function pear_info($package)
{
passthru($this->pear_binary.' remote-info '.$package, $buf);
$buf = 'This is the PEARbot:\n\nHere are the informations for '.$package.':\n\n'.$buf;
return $buf;
}
function pear_listing()
{
passthru($this->pear_binary.' remote-list', $buf);
$buf = 'This is the PEARbot:\n\nHere are the PEAR\'s packages:\n\n'.$buf;
return $buf;
}
function pear_search($search_for)
{
passthru($this->pear_binary.' search '.$search_for, $buf);
$buf = 'This is the PEARbot:\n\nHere are the PEAR\'s packages that match '.$search_for.':\n\n'.$buf;
return $buf;
}
function pear_help()
{
return 'This is the PEARbot:\n.
PEAR Helps commands:\n
Every commands start with !pear\n
-help: gives this information
-info package: gives the info of a PEAR package
-list: list all packages
-search search_for: searchs all packages that contain search_for.';
}
}
?>
| Navigate in group php.pear.bot at sever news.php.net | |
| Previous | Next |
| © No Copyright You are free to use Anything |
Site Maintained by Zareef Ahmed
Powered By PHP Consultants |