Adamw has uploaded a new change for review. https://gerrit.wikimedia.org/r/115813
Change subject: Use stomp submodule ...................................................................... Use stomp submodule Change-Id: Ib0b87ad30ec2455ac4d283a0885f6f3ac3cebf52 --- A .gitmodules M DonationInterface.php D activemq_stomp/Stomp.php D activemq_stomp/Stomp/Exception.php D activemq_stomp/Stomp/Frame.php D activemq_stomp/Stomp/Message.php D activemq_stomp/Stomp/Message/Bytes.php D activemq_stomp/Stomp/Message/Map.php M activemq_stomp/activemq_stomp.php A activemq_stomp/stomp 10 files changed, 6 insertions(+), 885 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface refs/changes/13/115813/1 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..da855d3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "activemq_stomp/stomp"] + path = activemq_stomp/stomp + url = https://gerrit.wikimedia.org/r/wikimedia/fundraising/stomp diff --git a/DonationInterface.php b/DonationInterface.php index 6705e95..a10515c 100644 --- a/DonationInterface.php +++ b/DonationInterface.php @@ -1005,7 +1005,7 @@ //---Stomp functions--- if ($optionalParts['Stomp'] === true){ require_once( $donationinterface_dir . 'activemq_stomp/activemq_stomp.php' ); - $wgAutoloadClasses['Stomp'] = $donationinterface_dir . 'activemq_stomp/Stomp.php'; + require_once( $donationinterface_dir . 'activemq_stomp/stomp/vendor/autoload.php' ); } function efDonationInterfaceUnitTests( &$files ) { diff --git a/activemq_stomp/Stomp.php b/activemq_stomp/Stomp.php deleted file mode 100644 index bc8c0fc..0000000 --- a/activemq_stomp/Stomp.php +++ /dev/null @@ -1,606 +0,0 @@ -<?php -/** - * - * Copyright 2005-2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* vim: set expandtab tabstop=3 shiftwidth=3: */ - -require_once 'Stomp/Frame.php'; - -/** - * A Stomp Connection - * - * - * @package Stomp - * @author Hiram Chirino <hi...@hiramchirino.com> - * @author Dejan Bosanac <de...@nighttale.net> - * @author Michael Caplan <mcap...@labnet.net> - * @version $Revision: 43 $ - */ -class Stomp -{ - /** - * Perform request synchronously - * - * @var boolean - */ - public $sync = false; - - /** - * Default prefetch size - * - * @var int - */ - public $prefetchSize = 1; - - /** - * Client id used for durable subscriptions - * - * @var string - */ - public $clientId = null; - - protected $_brokerUri = null; - protected $_socket = null; - protected $_hosts = array(); - protected $_params = array(); - protected $_subscriptions = array(); - protected $_defaultPort = 61613; - protected $_currentHost = - 1; - protected $_attempts = 10; - protected $_username = ''; - protected $_password = ''; - protected $_sessionId; - protected $_read_timeout_seconds = 60; - protected $_read_timeout_milliseconds = 0; - - /** - * Constructor - * - * @param string $brokerUri Broker URL - * @throws Stomp_Exception - */ - public function __construct ( $brokerUri ) - { - $this->_brokerUri = $brokerUri; - $this->_init(); - } - /** - * Initialize connection - * - * @throws Stomp_Exception - */ - protected function _init () - { - $pattern = "|^(([a-zA-Z]+)://)+\(*([a-zA-Z0-9\.:/i,-]+)\)*\??([a-zA-Z0-9=]*)$|i"; - if ( preg_match( $pattern, $this->_brokerUri, $regs ) ) { - $scheme = $regs[2]; - $hosts = $regs[3]; - $params = $regs[4]; - if ( $scheme != "failover" ) { - $this->_processUrl( $this->_brokerUri ); - } else { - $urls = explode( ",", $hosts ); - foreach ( $urls as $url ) { - $this->_processUrl( $url ); - } - } - if ( $params != null ) { - parse_str( $params, $this->_params ); - } - } else { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( "Bad Broker URL {$this->_brokerUri}" ); - } - } - /** - * Process broker URL - * - * @param string $url Broker URL - * @throws Stomp_Exception - * @return boolean - */ - protected function _processUrl ( $url ) - { - $parsed = parse_url( $url ); - if ( $parsed ) { - $parsed['port'] = isset( $parsed['port'] ) ? $parsed['port'] : null; - array_push( $this->_hosts, array( $parsed['host'] , $parsed['port'] , $parsed['scheme'] ) ); - } else { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( "Bad Broker URL $url" ); - } - } - /** - * Make socket connection to the server - * - * @throws Stomp_Exception - */ - protected function _makeConnection () - { - if ( count( $this->_hosts ) == 0 ) { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( "No broker defined" ); - } - - // force disconnect, if previous established connection exists - $this->disconnect(); - - $i = $this->_currentHost; - $att = 0; - $connected = false; - while ( ! $connected && $att ++ < $this->_attempts ) { - if ( isset( $this->_params['randomize'] ) && $this->_params['randomize'] == 'true' ) { - $i = rand( 0, count( $this->_hosts ) - 1 ); - } else { - $i = ( $i + 1 ) % count( $this->_hosts ); - } - $broker = $this->_hosts[$i]; - $host = $broker[0]; - $port = $broker[1]; - $scheme = $broker[2]; - if ( $port == null ) { - $port = $this->_defaultPort; - } - if ( $this->_socket != null ) { - fclose( $this->_socket ); - $this->_socket = null; - } - $this->_socket = @fsockopen( $scheme . '://' . $host, $port ); - if ( !is_resource( $this->_socket ) && $att >= $this->_attempts && !array_key_exists( $i + 1, $this->_hosts ) ) { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( "Could not connect to $host:$port ($att/{$this->_attempts})" ); - } elseif ( is_resource( $this->_socket ) ) { - $connected = true; - $this->_currentHost = $i; - break; - } - } - if ( ! $connected ) { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( "Could not connect to a broker" ); - } - } - /** - * Connect to server - * - * @param string $username - * @param string $password - * @return boolean - * @throws Stomp_Exception - */ - public function connect ( $username = '', $password = '' ) - { - $this->_makeConnection(); - if ( $username != '' ) { - $this->_username = $username; - } - if ( $password != '' ) { - $this->_password = $password; - } - $headers = array( 'login' => $this->_username , 'passcode' => $this->_password ); - if ( $this->clientId != null ) { - $headers["client-id"] = $this->clientId; - } - $frame = new Stomp_Frame( "CONNECT", $headers ); - $this->_writeFrame( $frame ); - $frame = $this->readFrame(); - if ( $frame instanceof Stomp_Frame && $frame->command == 'CONNECTED' ) { - $this->_sessionId = $frame->headers["session"]; - return true; - } else { - require_once 'Stomp/Exception.php'; - if ( $frame instanceof Stomp_Frame ) { - throw new Stomp_Exception( "Unexpected command: {$frame->command}", 0, $frame->body ); - } else { - throw new Stomp_Exception( "Connection not acknowledged" ); - } - } - } - - /** - * Check if client session has ben established - * - * @return boolean - */ - public function isConnected () - { - return !empty( $this->_sessionId ) && is_resource( $this->_socket ); - } - /** - * Current stomp session ID - * - * @return string - */ - public function getSessionId() - { - return $this->_sessionId; - } - /** - * Send a message to a destination in the messaging system - * - * @param string $destination Destination queue - * @param string|Stomp_Frame $msg Message - * @param array $properties - * @param boolean $sync Perform request synchronously - * @return boolean - */ - public function send ( $destination, $msg, $properties = null, $sync = null ) - { - if ( $msg instanceof Stomp_Frame ) { - $msg->headers['destination'] = $destination; - $msg->headers = array_merge( $msg->headers, $properties ); - $frame = $msg; - } else { - $headers = $properties; - $headers['destination'] = $destination; - $frame = new Stomp_Frame( 'SEND', $headers, $msg ); - } - $this->_prepareReceipt( $frame, $sync ); - $this->_writeFrame( $frame ); - return $this->_waitForReceipt( $frame, $sync ); - } - /** - * Prepair frame receipt - * - * @param Stomp_Frame $frame - * @param boolean $sync - */ - protected function _prepareReceipt ( Stomp_Frame $frame, $sync ) - { - $receive = $this->sync; - if ( $sync !== null ) { - $receive = $sync; - } - if ( $receive == true ) { - $frame->headers['receipt'] = md5( microtime() ); - } - } - /** - * Wait for receipt - * - * @param Stomp_Frame $frame - * @param boolean $sync - * @return boolean - * @throws Stomp_Exception - */ - protected function _waitForReceipt ( Stomp_Frame $frame, $sync ) - { - - $receive = $this->sync; - if ( $sync !== null ) { - $receive = $sync; - } - if ( $receive == true ) { - $id = ( isset( $frame->headers['receipt'] ) ) ? $frame->headers['receipt'] : null; - if ( $id == null ) { - return true; - } - $frame = $this->readFrame(); - if ( $frame instanceof Stomp_Frame && $frame->command == 'RECEIPT' ) { - if ( $frame->headers['receipt-id'] == $id ) { - return true; - } else { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( "Unexpected receipt id {$frame->headers['receipt-id']}", 0, $frame->body ); - } - } else { - require_once 'Stomp/Exception.php'; - if ( $frame instanceof Stomp_Frame ) { - throw new Stomp_Exception( "Unexpected command {$frame->command}", 0, $frame->body ); - } else { - throw new Stomp_Exception( "Receipt not received" ); - } - } - } - return true; - } - /** - * Register to listen to a given destination - * - * @param string $destination Destination queue - * @param array $properties - * @param boolean $sync Perform request synchronously - * @return boolean - * @throws Stomp_Exception - */ - public function subscribe ( $destination, $properties = null, $sync = null ) - { - $headers = array( 'ack' => 'client' ); - $headers['activemq.prefetchSize'] = $this->prefetchSize; - if ( $this->clientId != null ) { - $headers["activemq.subcriptionName"] = $this->clientId; - } - if ( isset( $properties ) ) { - foreach ( $properties as $name => $value ) { - $headers[$name] = $value; - } - } - $headers['destination'] = $destination; - $frame = new Stomp_Frame( 'SUBSCRIBE', $headers ); - $this->_prepareReceipt( $frame, $sync ); - $this->_writeFrame( $frame ); - if ( $this->_waitForReceipt( $frame, $sync ) == true ) { - $this->_subscriptions[$destination] = $properties; - return true; - } else { - return false; - } - } - /** - * Remove an existing subscription - * - * @param string $destination - * @param array $properties - * @param boolean $sync Perform request synchronously - * @return boolean - * @throws Stomp_Exception - */ - public function unsubscribe ( $destination, $properties = null, $sync = null ) - { - $headers = array(); - if ( isset( $properties ) ) { - foreach ( $properties as $name => $value ) { - $headers[$name] = $value; - } - } - $headers['destination'] = $destination; - $frame = new Stomp_Frame( 'UNSUBSCRIBE', $headers ); - $this->_prepareReceipt( $frame, $sync ); - $this->_writeFrame( $frame ); - if ( $this->_waitForReceipt( $frame, $sync ) == true ) { - unset( $this->_subscriptions[$destination] ); - return true; - } else { - return false; - } - } - /** - * Start a transaction - * - * @param string $transactionId - * @param boolean $sync Perform request synchronously - * @return boolean - * @throws Stomp_Exception - */ - public function begin ( $transactionId = null, $sync = null ) - { - $headers = array(); - if ( isset( $transactionId ) ) { - $headers['transaction'] = $transactionId; - } - $frame = new Stomp_Frame( 'BEGIN', $headers ); - $this->_prepareReceipt( $frame, $sync ); - $this->_writeFrame( $frame ); - return $this->_waitForReceipt( $frame, $sync ); - } - /** - * Commit a transaction in progress - * - * @param string $transactionId - * @param boolean $sync Perform request synchronously - * @return boolean - * @throws Stomp_Exception - */ - public function commit ( $transactionId = null, $sync = null ) - { - $headers = array(); - if ( isset( $transactionId ) ) { - $headers['transaction'] = $transactionId; - } - $frame = new Stomp_Frame( 'COMMIT', $headers ); - $this->_prepareReceipt( $frame, $sync ); - $this->_writeFrame( $frame ); - return $this->_waitForReceipt( $frame, $sync ); - } - /** - * Roll back a transaction in progress - * - * @param string $transactionId - * @param boolean $sync Perform request synchronously - */ - public function abort ( $transactionId = null, $sync = null ) - { - $headers = array(); - if ( isset( $transactionId ) ) { - $headers['transaction'] = $transactionId; - } - $frame = new Stomp_Frame( 'ABORT', $headers ); - $this->_prepareReceipt( $frame, $sync ); - $this->_writeFrame( $frame ); - return $this->_waitForReceipt( $frame, $sync ); - } - /** - * Acknowledge consumption of a message from a subscription - * Note: This operation is always asynchronous - * - * @param string|Stomp_Frame $message Message ID - * @param string $transactionId - * @return boolean - * @throws Stomp_Exception - */ - public function ack ( $message, $transactionId = null ) - { - if ( $message instanceof Stomp_Frame ) { - $frame = new Stomp_Frame( 'ACK', $message->headers ); - $this->_writeFrame( $frame ); - return true; - } else { - $headers = array(); - if ( isset( $transactionId ) ) { - $headers['transaction'] = $transactionId; - } - $headers['message-id'] = $message; - $frame = new Stomp_Frame( 'ACK', $headers ); - $this->_writeFrame( $frame ); - return true; - } - } - /** - * Graceful disconnect from the server - * - */ - public function disconnect () - { - if ( $this->clientId != null ) { - $headers["client-id"] = $this->clientId; - } else { - $headers = array(); - } - - if ( is_resource( $this->_socket ) ) { - $this->_writeFrame( new Stomp_Frame( 'DISCONNECT', $headers ) ); - fclose( $this->_socket ); - } - $this->_socket = null; - $this->_sessionId = null; - $this->_currentHost = -1; - $this->_subscriptions = array(); - $this->_username = ''; - $this->_password = ''; - } - - /** - * Write frame to server - * - * @param Stomp_Frame $stompFrame - * @throws Stomp_Exception - */ - protected function _writeFrame ( Stomp_Frame $stompFrame ) - { - if ( !is_resource( $this->_socket ) ) { - require_once 'Stomp/Exception.php'; - throw new Stomp_Exception( 'Socket connection hasn\'t been established' ); - } - - $data = $stompFrame->__toString(); - - $r = fwrite( $this->_socket, $data, strlen( $data ) ); - if ( $r === false || $r == 0 ) { - $this->_reconnect(); - $this->_writeFrame( $stompFrame ); - } - } - - /** - * Set timeout to wait for content to read - * - * @param int $seconds Seconds to wait for a frame - * @param int $milliseconds Milliseconds to wait for a frame - */ - public function setReadTimeout( $seconds, $milliseconds = 0 ) - { - $this->_read_timeout_seconds = $seconds; - $this->_read_timeout_milliseconds = $milliseconds; - } - - /** - * Read responce frame from server - * - * @return Stomp_Frame|Stomp_Message_Map|boolean False when no frame to read - */ - public function readFrame () - { - if ( !$this->hasFrameToRead() ) { - return false; - } - - stream_set_timeout( $this->_socket, 5 ); - $rb = 1024; - $data = ''; - do { - $read = fgets( $this->_socket, $rb ); - $info = stream_get_meta_data( $this->_socket ); - if ( $info['timed_out'] ) { - return FALSE; - } - // if ($read === false) { - // $this->_reconnect(); - // return $this->readFrame(); - // } - $data .= $read; - $len = strlen( $data ); - } while ( $read && ( $len < 2 || ! ( $data[$len - 2] == "\x00" && $data[$len - 1] == "\n" ) ) ); - - list ( $header, $body ) = explode( "\n\n", $data, 2 ); - $header = explode( "\n", $header ); - $headers = array(); - $command = null; - foreach ( $header as $v ) { - if ( isset( $command ) ) { - list ( $name, $value ) = explode( ':', $v, 2 ); - $headers[$name] = $value; - } else { - $command = $v; - } - } - $frame = new Stomp_Frame( $command, $headers, trim( $body ) ); - - if ( isset( $frame->headers['amq-msg-type'] ) && $frame->headers['amq-msg-type'] == 'MapMessage' ) { - require_once 'Stomp/Message/Map.php'; - return new Stomp_Message_Map( $frame ); - } else { - return $frame; - } - } - - /** - * Check if there is a frame to read - * - * @return boolean - */ - public function hasFrameToRead() - { - return true; // http://bugs.php.net/bug.php?id=46024 - - /*$read = array($this->_socket); - $write = null; - $except = null; - - $has_frame_to_read = stream_select($read, $write, $except, $this->_read_timeout_seconds, $this->_read_timeout_milliseconds); - - if ($has_frame_to_read === false) { - throw new Stomp_Exception('Check failed to determin if the socket is readable'); - } elseif ($has_frame_to_read > 0) { - return true; - } else { - return false; - }*/ - } - - /** - * Reconnects and renews subscriptions (if there were any) - * Call this method when you detect connection problems - */ - protected function _reconnect () - { - $subscriptions = $this->_subscriptions; - - $this->connect( $this->_username, $this->_password ); - foreach ( $subscriptions as $dest => $properties ) { - $this->subscribe( $dest, $properties ); - } - } - /** - * Graceful object desruction - * - */ - public function __destruct() - { - $this->disconnect(); - } -} -?> diff --git a/activemq_stomp/Stomp/Exception.php b/activemq_stomp/Stomp/Exception.php deleted file mode 100644 index 72f684e..0000000 --- a/activemq_stomp/Stomp/Exception.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * - * Copyright 2005-2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* vim: set expandtab tabstop=3 shiftwidth=3: */ - -/** - * A Stomp Connection - * - * - * @package Stomp - * @author Michael Caplan <mcap...@labnet.net> - * @version $Revision: 23 $ - */ -class Stomp_Exception extends Exception -{ - protected $_details; - - /** - * Constructor - * - * @param string $message Error message - * @param int $code Error code - * @param string $details Stomp server error details - */ - public function __construct( $message = null, $code = 0, $details = '' ) - { - $this->_details = $details; - //$message = "Stomp Error. Check host connection. Details suppressed for security."; - parent::__construct( $message, $code ); - } - - /** - * Stomp server error details - * - * @return string - */ - public function getDetails() - { - return $this->_details; - - } - -} -?> \ No newline at end of file diff --git a/activemq_stomp/Stomp/Frame.php b/activemq_stomp/Stomp/Frame.php deleted file mode 100644 index efe8116..0000000 --- a/activemq_stomp/Stomp/Frame.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * - * Copyright 2005-2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* vim: set expandtab tabstop=3 shiftwidth=3: */ - -/** - * Stomp Frames are messages that are sent and received on a StompConnection. - * - * @package Stomp - * @author Hiram Chirino <hi...@hiramchirino.com> - * @author Dejan Bosanac <de...@nighttale.net> - * @author Michael Caplan <mcap...@labnet.net> - * @version $Revision: 36 $ - */ -class Stomp_Frame -{ - public $command; - public $headers = array(); - public $body; - - /** - * Constructor - * - * @param string $command - * @param array $headers - * @param string $body - */ - public function __construct ( $command = null, $headers = null, $body = null ) - { - $this->_init( $command, $headers, $body ); - } - - protected function _init ( $command = null, $headers = null, $body = null ) - { - $this->command = $command; - if ( $headers != null ) { - $this->headers = $headers; - } - $this->body = $body; - - if ( $this->command == 'ERROR' ) { - require_once 'Exception.php'; - throw new Stomp_Exception( $this->headers['message'], 0, $this->body ); - } - } - - /** - * Convert frame to transportable string - * - * @return string - */ - public function __toString() - { - $data = $this->command . "\n"; - - foreach ( $this->headers as $name => $value ) { - $data .= $name . ": " . $value . "\n"; - } - - $data .= "\n"; - $data .= $this->body; - return $data . "\x00\n"; - } -} -?> diff --git a/activemq_stomp/Stomp/Message.php b/activemq_stomp/Stomp/Message.php deleted file mode 100644 index 0dc4678..0000000 --- a/activemq_stomp/Stomp/Message.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php -/** - * - * Copyright 2005-2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* vim: set expandtab tabstop=3 shiftwidth=3: */ - -require_once 'Stomp/Frame.php'; - -/** - * Basic text stomp message - * - * @package Stomp - * @author Dejan Bosanac <de...@nighttale.net> - * @version $Revision: 23 $ - */ -class Stomp_Message extends Stomp_Frame -{ - public function __construct ( $body, $headers = null ) - { - $this->_init( "SEND", $headers, $body ); - } -} -?> \ No newline at end of file diff --git a/activemq_stomp/Stomp/Message/Bytes.php b/activemq_stomp/Stomp/Message/Bytes.php deleted file mode 100644 index 7ec8c16..0000000 --- a/activemq_stomp/Stomp/Message/Bytes.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * - * Copyright 2005-2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* vim: set expandtab tabstop=3 shiftwidth=3: */ - -require_once 'Stomp/Message.php'; - -/** - * Message that contains a stream of uninterpreted bytes - * - * @package Stomp - * @author Dejan Bosanac <de...@nighttale.net> - * @version $Revision: 23 $ - */ -class Stomp_Message_Bytes extends Stomp_Message -{ - /** - * Constructor - * - * @param string $body - * @param array $headers - */ - function __construct ( $body, $headers = null ) - { - $this->_init( "SEND", $headers, $body ); - if ( $this->headers == null ) { - $this->headers = array(); - } - $this->headers['content-length'] = count( $body ); - } -} -?> \ No newline at end of file diff --git a/activemq_stomp/Stomp/Message/Map.php b/activemq_stomp/Stomp/Message/Map.php deleted file mode 100644 index 9d7d4b2..0000000 --- a/activemq_stomp/Stomp/Message/Map.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php -/** - * - * Copyright 2005-2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* vim: set expandtab tabstop=3 shiftwidth=3: */ - -require_once 'Stomp/Message.php'; - -/** - * Message that contains a set of name-value pairs - * - * @package Stomp - * @author Dejan Bosanac <de...@nighttale.net> - * @version $Revision: 23 $ - */ -class Stomp_Message_Map extends Stomp_Message -{ - public $map; - - /** - * Constructor - * - * @param Stomp_Frame|string $msg - * @param array $headers - */ - function __construct ( $msg, $headers = null ) - { - if ( $msg instanceof Stomp_Frame ) { - $this->_init( $msg->command, $msg->headers, $msg->body ); - $this->map = json_decode( $msg->body ); - } else { - $this->_init( "SEND", $headers, $msg ); - if ( $this->headers == null ) { - $this->headers = array(); - } - $this->headers['amq-msg-type'] = 'MapMessage'; - $this->body = json_encode( $msg ); - } - } -} -?> \ No newline at end of file diff --git a/activemq_stomp/activemq_stomp.php b/activemq_stomp/activemq_stomp.php index cea419a..f042f2c 100644 --- a/activemq_stomp/activemq_stomp.php +++ b/activemq_stomp/activemq_stomp.php @@ -1,5 +1,7 @@ <?php +use FuseSource\Stomp\Stomp; + # Alert the user that this is not a valid entry point to MediaWiki if they try to access the special pages file directly. if ( !defined( 'MEDIAWIKI' ) ) { echo <<<EOT diff --git a/activemq_stomp/stomp b/activemq_stomp/stomp new file mode 160000 index 0000000..77b5f3f --- /dev/null +++ b/activemq_stomp/stomp +Subproject commit 77b5f3f66500ab89bc34ded13fd176abee747cec -- To view, visit https://gerrit.wikimedia.org/r/115813 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib0b87ad30ec2455ac4d283a0885f6f3ac3cebf52 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/DonationInterface Gerrit-Branch: master Gerrit-Owner: Adamw <awi...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits