4 //deb("FROM IPC CLIENT:\n$data\n-----");
5 $d = json_decode($data, 1);
6 //deb('Processed data: '.print_r($d, 1));
9 $buffer[] = json_encode($d['args']);
13 // The 'read' command adds this web client to the read buffer queue
14 if(!in_array($cl, $ipc_read)) $ipc_read[] = $cl;
24 deb('Connecting with: '.print_r($args, 1));
25 if(!isset($args['server'], $args['port'], $args['ssl'], $args['nick'])){
26 $buffer[] = json_encode(array('error'=>'invalid_args'));
30 /*if($config['memcache_use']){
31 $conf_key = 'kiwi_conf_'.$args['server'];
32 $conf = (int)GLOB::$mc->get($conf_key);
34 $c = @unserialize($conf);
36 //$hostname = GET HOSTNAME HERE
38 $kiwi = "WEBIRC {$c['password']} {$c['user']} $hostname $ip";
42 deb("ARGSLOL: ".print_r($app_args, 1));
44 if(isset($app_args['remote_host'])) $opts['ident'] = md5($app_args['remote_host']);
46 $bot = new IRCConnection("irc://{$args['nick']}@{$args['server']}:{$args['port']}", $kiwi, $opts);
47 if(isset($args['channels'])) $bot->chans
= explode(',', $args['channels']);
51 $buffer[] = json_encode(array('event'=>'server_connect', 'connected'=>false, 'host'=>$args['server']));
59 if(!isset($args['channel'])){
60 $buffer[] = json_encode(array('error'=>'invalid_args'));
63 $chans = explode(',', $args['channel']);
71 deb('msg with: '.print_r($args, 1));
72 if(!isset($args['target'],$args['msg'])){
73 $buffer[] = json_encode(array('error'=>'invalid_args'));
76 $bot->SendMessage($args['target'], $args['msg']);
77 $buffer[] = json_encode($data);
83 deb('action with: '.print_r($args, 1));
84 if(!isset($args['target'],$args['msg'])){
85 $buffer[] = json_encode(array('error'=>'invalid_args'));
88 $bot->SendMessage($args['target'], chr(1)."ACTION {$args['msg']}".chr(1));
89 $buffer[] = json_encode($data);
95 if(!isset($args['data'])){
96 $buffer[] = json_encode(array('error'=>'invalid_args'));
99 $bot->stream
->Write("{$args['data']}\r\n");
100 //$bot->SendMessage($args['target'], $args['msg']);
106 $send_debug = !$send_debug;
109 'msg' => 'Debugging '.($send_debug)?
'on':'off',
112 $buffer[] = json_encode($data);
117 // Clear the current buffer as we're gonna send only scrollback
120 // Send the settings and channels over
122 $data = array('event'=>'sync');
123 $data['nick'] = $bot->nick
;
124 $data['tabviews'] = array();
126 foreach($bot->chanlist
as $chan_name => $chan){
127 $data['tabviews'][] = array('name'=>$chan_name, 'userlist'=>$chan['userlist']);
129 $buffer[] = json_encode($data);
132 // Send the message scrollback
133 foreach($bot->scrollback
as $line) $buffer[] = json_encode($line);
134 //$bot->scrollback = array();
136 $data = array('error'=>'no_data');
139 $buffer[] = json_encode($data);