getMessage(), "\n";
exit -1;
}
spl_autoload_register(function ($class) {
$class = str_replace(array('_', '\\'), '/', $class);
if (file_exists('phar://' . __FILE__ . '/Zend_Stdlib-2.0.0dev20110916/php/' . $class . '.php')) {
include 'phar://' . __FILE__ . '/Zend_Stdlib-2.0.0dev20110916/php/' . $class . '.php';
}
});
$phar = new Phar(__FILE__);
$sig = $phar->getSignature();
define('Zend_Stdlib_SIG', $sig['hash']);
define('Zend_Stdlib_SIGTYPE', $sig['hash_type']);
__HALT_COMPILER(); ?>
w s:110:"Zend_Stdlib-2.0.0dev20110916/.xmlregistry/packages/zfcampus.org!packages/Zend_Stdlib/2.0.0dev20110916-info.xml";n Zend_Stdlib-2.0.0dev20110916/.xmlregistry/packages/zfcampus.org!packages/Zend_Stdlib/2.0.0dev20110916-info.xmlU
isNU
package.xmll isNl f ; Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/ArrayStack.php isN 0c. @ Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/CallbackHandler.phpD isND = Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Dispatchable.php isN z[H J Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Exception/DomainException.php isN q S Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Exception/InvalidArgumentException.php isN # S Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Exception/InvalidCallbackException.php isN }e : Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Exception.php7 isN7 3B 8 Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Message.php isN Gh[ C Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/MessageDescription.php isN >Z[ȶ ; Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Parameters.phpM isNM L߶ F Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/ParametersDescription.php isN d > Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/PriorityQueue.php isN Y_ 8 Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Request.php isN C Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/RequestDescription.php[ isN[ 9 Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/Response.php isN S D Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/ResponseDescription.php] isN] 5¶ A Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/SplPriorityQueue.php[
isN[
2| 9 Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/SplQueue.php isN 0 9 Zend_Stdlib-2.0.0dev20110916/php/Zend/Stdlib/SplStack.php isN ^ ' Zend_Stdlib-2.0.0dev20110916/php/PEAR2/ isN 3 Zend_Stdlib-2.0.0dev20110916/php/PEAR2/MultiErrors/ isN @ Zend_Stdlib-2.0.0dev20110916/php/PEAR2/MultiErrors/Exception.phpN isNN 7
Zend_Stdlibzfcampus.org/packagesPackage Zend_Stdlib summary.
Package detailed description here (found in README)Your Namehandlehandle@php.netyes2011-09-162.0.0dev201109162.0.0dev20110916develdevelNew BSD LicensePackage Zend_Stdlib release notes for version 0.1.0.
Package Zend_Stdlib API release notes for version 0.1.0.5.2.02.0.0a1Zend_Stdlibzfcampus.org/packagesPackage Zend_Stdlib summary.
Package detailed description here (found in README)Your Namehandlehandle@php.netyes2011-09-162.0.0dev201109162.0.0dev20110916develdevelNew BSD LicensePackage Zend_Stdlib release notes for version 0.1.0.
Package Zend_Stdlib API release notes for version 0.1.0.5.2.01.4.8
getArrayCopy();
return new ArrayIterator(array_reverse($array));
}
}
event = $event;
$this->callback = $callback;
$this->options = $options;
}
/**
* Get event to which handler is subscribed
*
* @return string
*/
public function getEvent()
{
return $this->event;
}
/**
* Retrieve registered callback
*
* @return Callback
* @throws Exception\InvalidCallbackException
*/
public function getCallback()
{
if ($this->isValidCallback) {
return $this->callback;
}
$callback = $this->callback;
if (is_string($callback)) {
return $this->validateStringCallback($callback);
}
if (is_array($callback)) {
return $this->validateArrayCallback($callback);
}
if (is_callable($callback)) {
$this->isValidCallback = true;
return $callback;
}
throw new Exception\InvalidCallbackException('Invalid callback provided; not callable');
}
/**
* Invoke handler
*
* @param array $args Arguments to pass to callback
* @return mixed
*/
public function call(array $args = array())
{
$callback = $this->getCallback();
return call_user_func_array($callback, $args);
}
/**
* Get all callback options
*
* @return array
*/
public function getOptions()
{
return $this->options;
}
/**
* Retrieve a single option
*
* @param string $name
* @return mixed
*/
public function getOption($name)
{
if (array_key_exists($name, $this->options)) {
return $this->options[$name];
}
return null;
}
/**
* Validate a string callback
*
* Check first if the string provided is callable. If not see if it is a
* valid class name; if so, determine if the object is invokable.
*
* @param string $callback
* @return Callback
* @throws Exception\InvalidCallbackException
*/
protected function validateStringCallback($callback)
{
if (is_callable($callback)) {
$this->isValidCallback = true;
return $callback;
}
if (!class_exists($callback)) {
throw new Exception\InvalidCallbackException('Provided callback is not a function or a class');
}
// check __invoke before instantiating
if (!method_exists($callback, '__invoke')) {
throw new Exception\InvalidCallbackException('Class provided as a callback does not implement __invoke');
}
$object = new $callback();
$this->callback = $object;
$this->isValidCallback = true;
return $object;
}
/**
* Validate an array callback
*
* @param array $callback
* @return callback
* @throws Exception\InvalidCallbackException
*/
protected function validateArrayCallback(array $callback)
{
$context = $callback[0];
$method = $callback[1];
if (is_string($context)) {
// Dealing with a class/method callback, and class provided is a string classname
if (!class_exists($context)) {
throw new Exception\InvalidCallbackException('Class provided in callback does not exist');
}
// We need to determine if we need to instantiate the class first
$r = new \ReflectionClass($context);
if (!$r->hasMethod($method)) {
// Explicit method does not exist
if (!$r->hasMethod('__callStatic') && !$r->hasMethod('__call')) {
throw new Exception\InvalidCallbackException('Class provided in callback does not define the method requested');
}
if ($r->hasMethod('__callStatic')) {
// We have a __callStatic defined, so the original callback is valid
$this->isValidCallback = true;
return $callback;
}
// We have __call defined, so we need to instantiate the class
// first, and redefine the callback
$object = new $context();
$this->callback = array($object, $method);
$this->isValidCallback = true;
return $this->callback;
}
// Explicit method exists
$rMethod = $r->getMethod($method);
if ($rMethod->isStatic()) {
// Method is static, so original callback is fine
$this->isValidCallback = true;
return $callback;
}
// Method is an instance method; instantiate object and redefine callback
$object = new $context();
$this->callback = array($object, $method);
$this->isValidCallback = true;
return $this->callback;
} elseif (is_callable($callback)) {
// The
$this->isValidCallback = true;
return $callback;
}
throw new Exception\InvalidCallbackException('Method provided in callback does not exist in object');
}
}
metadata[$spec] = $value;
return $this;
}
if (!is_array($spec) && !$spec instanceof Traversable) {
throw new Exception\InvalidArgumentException(sprintf(
'Expected a string, array, or Traversable argument in first position; received "%s"',
(is_object($spec) ? get_class($spec) : gettype($spec))
));
}
foreach ($spec as $key => $value) {
$this->metadata[$key] = $value;
}
return $this;
}
/**
* Retrieve all metadata or a single metadatum as specified by key
*
* @param null|string|int $key
* @param null|mixed $default
* @return mixed
*/
public function getMetadata($key = null, $default = null)
{
if (null === $key) {
return $this->metadata;
}
if (!is_scalar($key)) {
throw new Exception\InvalidArgumentException('Non-scalar argument provided for key');
}
if (array_key_exists($key, $this->metadata)) {
return $this->metadata[$key];
}
return $default;
}
/**
* Set message content
*
* @param mixed $value
* @return Message
*/
public function setContent($value)
{
$this->content = $value;
return $this;
}
/**
* Get message content
*
* @return mixed
*/
public function getContent()
{
return $this->content;
}
/**
* @return string
*/
public function toString()
{
$request = '';
foreach ($this->getMetadata() as $key => $value) {
$request .= sprintf(
"%s: %s\r\n",
(string) $key,
(string) $value
);
}
$request .= "\r\n" . $this->getContent();
return $request;
}
}
exchangeArray($values);
}
/**
* Populate from query string
*
* @param string $string
* @return void
*/
public function fromString($string)
{
$array = array();
parse_str($string, $array);
$this->fromArray($array);
}
/**
* Serialize to native PHP array
*
* @return array
*/
public function toArray()
{
return $this->getArrayCopy();
}
/**
* Serialize to query string
*
* @return string
*/
public function toString()
{
return http_build_query($this);
}
/**
* Retrieve by key
*
* Returns null if the key does not exist.
*
* @param string $name
* @return mixed
*/
public function offsetGet($name)
{
if (isset($this[$name])) {
return parent::offsetGet($name);
}
return null;
}
/**
* @param string $name
* @param mixed $default optional default value
* @return mixed
*/
public function get($name, $default = null)
{
if (isset($this[$name])) {
return parent::offsetGet($name);
}
return $default;
}
/**
* @param string $name
* @param mixed $value
* @return $this
*/
public function set($name, $value)
{
$this[$name] = $value;
return $this;
}
}
items[] = array(
'data' => $data,
'priority' => $priority,
);
$this->getQueue()->insert($data, $priority);
return $this;
}
/**
* Remove an item from the queue
*
* This is different than {@link extract()}; its purpose is to dequeue an
* item.
*
* This operation is potentially expensive, as it requires
* re-initialization and re-population of the inner queue.
*
* Note: this removes the first item matching the provided item found. If
* the same item has been added multiple times, it will not remove other
* instances.
*
* @param mixed $datum
* @return boolean False if the item was not found, true otherwise.
*/
public function remove($datum)
{
$found = false;
foreach ($this->items as $key => $item) {
if ($item['data'] === $datum) {
$found = true;
break;
}
}
if ($found) {
unset($this->items[$key]);
$this->queue = null;
$queue = $this->getQueue();
foreach ($this->items as $item) {
$queue->insert($item['data'], $item['priority']);
}
return true;
}
return false;
}
/**
* Is the queue empty?
*
* @return bool
*/
public function isEmpty()
{
return (0 === $this->count());
}
/**
* How many items are in the queue?
*
* @return int
*/
public function count()
{
return count($this->items);
}
/**
* Peek at the top node in the queue, based on priority.
*
* @return mixed
*/
public function top()
{
return $this->getIterator()->top();
}
/**
* Extract a node from the inner queue and sift up
*
* @return mixed
*/
public function extract()
{
return $this->getQueue()->extract();
}
/**
* Retrieve the inner iterator
*
* SplPriorityQueue acts as a heap, which typically implies that as items
* are iterated, they are also removed. This does not work for situations
* where the queue may be iterated multiple times. As such, this class
* aggregates the values, and also injects an SplPriorityQueue. This method
* retrieves the inner queue object, and clones it for purposes of
* iteration.
*
* @return SplPriorityQueue
*/
public function getIterator()
{
$queue = $this->getQueue();
return clone $queue;
}
/**
* Serialize the data structure
*
* @return string
*/
public function serialize()
{
return serialize($this->items);
}
/**
* Unserialize a string into a PriorityQueue object
*
* Serialization format is compatible with {@link Zend\Stdlib\SplPriorityQueue}
*
* @param string $data
* @return void
*/
public function unserialize($data)
{
foreach (unserialize($data) as $item) {
$this->insert($item['data'], $item['priority']);
}
}
/**
* Serialize to an array
*
* By default, returns only the item data, and in the order registered (not
* sorted). You may provide one of the EXTR_* flags as an argument, allowing
* the ability to return priorities or both data and priority.
*
* @param int $flag
* @return array
*/
public function toArray($flag = self::EXTR_DATA)
{
switch ($flag) {
case self::EXTR_BOTH:
return $this->items;
break;
case self::EXTR_PRIORITY:
return array_map(function($item) {
return $item['priority'];
}, $this->items);
case self::EXTR_DATA:
default:
return array_map(function($item) {
return $item['data'];
}, $this->items);
}
}
/**
* Specify the internal queue class
*
* Please see {@link getIterator()} for details on the necessity of an
* internal queue class. The class provided should extend SplPriorityQueue.
*
* @param string $class
* @return PriorityQueue
*/
public function setInternalQueueClass($class)
{
$this->queueClass = (string) $class;
return $this;
}
/**
* Does the queue contain the given datum?
*
* @param mixed $datum
* @return bool
*/
public function contains($datum)
{
foreach ($this->items as $item) {
if ($item['data'] === $datum) {
return true;
}
}
return false;
}
/**
* Does the queue have an item with the given priority?
*
* @param int $priority
* @return bool
*/
public function hasPriority($priority)
{
foreach ($this->items as $item) {
if ($item['priority'] === $priority) {
return true;
}
}
return false;
}
/**
* Get the inner priority queue instance
*
* @return SplPriorityQueue
*/
protected function getQueue()
{
if (null === $this->queue) {
$this->queue = new $this->queueClass();
if (!$this->queue instanceof \SplPriorityQueue) {
throw new \DomainException(sprintf(
'PriorityQueue expects an internal queue of type SplPriorityQueue; received "%s"',
get_class($this->queue)
));
}
}
return $this->queue;
}
}
serial--);
}
parent::insert($datum, $priority);
}
/**
* Serialize to an array
*
* Array will be priority => data pairs
*
* @return array
*/
public function toArray()
{
$this->setExtractFlags(self::EXTR_BOTH);
$array = array();
while ($this->valid()) {
$array[] = $this->current();
$this->next();
}
$this->setExtractFlags(self::EXTR_DATA);
// Iterating through a priority queue removes items
foreach ($array as $item) {
$this->insert($item['data'], $item['priority']);
}
// Return only the data
$return = array();
foreach ($array as $item) {
$return[] = $item['data'];
}
return $return;
}
/**
* Serialize
*
* @return string
*/
public function serialize()
{
$data = array();
$this->setExtractFlags(self::EXTR_BOTH);
while ($this->valid()) {
$data[] = $this->current();
$this->next();
}
$this->setExtractFlags(self::EXTR_DATA);
// Iterating through a priority queue removes items
foreach ($data as $item) {
$this->insert($item['data'], $item['priority']);
}
return serialize($data);
}
/**
* Deserialize
*
* @param string $data
* @return void
*/
public function unserialize($data)
{
foreach (unserialize($data) as $item) {
$this->insert($item['data'], $item['priority']);
}
}
}
toArray());
}
/**
* Unserialize
*
* @param string $data
* @return void
*/
public function unserialize($data)
{
foreach (unserialize($data) as $item) {
$this->push($item);
}
}
}
toArray());
}
/**
* Unserialize
*
* @param string $data
* @return void
*/
public function unserialize($data)
{
foreach (unserialize($data) as $item) {
$this->unshift($item);
}
}
}