Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [pbx]# diff -c -b phpagi-asmanager.php-orig phpagi-asmanager.php
- *** phpagi-asmanager.php-orig 2011-11-29 14:01:41.000000000 -0500
- --- phpagi-asmanager.php 2014-02-22 00:33:19.762533912 -0500
- ***************
- *** 180,185 ****
- --- 180,188 ----
- // store parameter in $parameters
- $parameters[substr($buffer, 0, $a)] = substr($buffer, $a + 2);
- }
- + // FNORD
- + //error_log("print_r(buffer)=" . print_r($buffer, TRUE));
- + //error_log("print_r(this->socket)=" . print_r($this->socket, TRUE));
- $buffer = trim(fgets($this->socket, 4096));
- }
- ***************
- *** 805,811 ****
- {
- $ret = false;
- $e = strtolower($parameters['Event']);
- ! $this->log("Got event.. $e");
- $handler = '';
- if(isset($this->event_handlers[$e])) $handler = $this->event_handlers[$e];
- --- 808,814 ----
- {
- $ret = false;
- $e = strtolower($parameters['Event']);
- ! //$this->log("Got event.. " . print_r($parameters, true) . "\n");
- $handler = '';
- if(isset($this->event_handlers[$e])) $handler = $this->event_handlers[$e];
- ***************
- *** 813,824 ****
- if(function_exists($handler))
- {
- ! $this->log("Execute handler $handler");
- $ret = $handler($e, $parameters, $this->server, $this->port);
- }
- else
- ! $this->log("No event handler for event '$e'");
- return $ret;
- }
- }
- ?>
- --- 816,893 ----
- if(function_exists($handler))
- {
- ! //$this->log("Execute handler $handler");
- $ret = $handler($e, $parameters, $this->server, $this->port);
- }
- else
- ! //$this->log("No event handler for event '$e'");
- return $ret;
- }
- +
- + /**
- + *
- + *
- + *
- + *
- + *
- + * @param boolean
- + * @return array of parameters, empty array on timeout, and false on error
- + */
- + function wait_response2($time_max = 0)
- + {
- + $time_end = time() + $time_max;
- + stream_set_timeout($this->socket, 10);
- + while(true)
- + {
- + $type = NULL;
- + $parameters = array();
- +
- + $buffer = trim(fgets($this->socket, 4096));
- + while($buffer != '')
- + {
- + $a = strpos($buffer, ':');
- + if($a)
- + {
- + if(!count($parameters)) // first line in a response?
- + {
- + $type = strtolower(substr($buffer, 0, $a));
- + if(substr($buffer, $a + 2) == 'Follows')
- + {
- + // A follows response means there is a miltiline field that follows.
- + $parameters['data'] = '';
- + $buff = fgets($this->socket, 4096);
- + while(substr($buff, 0, 6) != '--END ')
- + {
- + $parameters['data'] .= $buff;
- + $buff = fgets($this->socket, 4096);
- + }
- + }
- + }
- +
- + // store parameter in $parameters
- + $parameters[substr($buffer, 0, $a)] = substr($buffer, $a + 2);
- + }
- + $buffer = trim(fgets($this->socket, 4096));
- + }
- +
- + // process response
- + switch($type)
- + {
- + case 'event':
- + $this->process_event($parameters);
- + break;
- + case 'response':
- + return $parameters;
- + break;
- + default:
- + //$this->log('Unhandled response packet from Manager: ' . print_r($parameters, true));
- + break;
- + }
- + if (time() > $time_end) {
- + break;
- + }
- + }
- + }
- +
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement