From 4ac9fa081a7c045f6a9f1cfc529d82423f485b2e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 8 Dec 2013 09:55:49 +0100 Subject: Update to MediaWiki 1.22.0 --- includes/rcfeed/RedisPubSubFeedEngine.php | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 includes/rcfeed/RedisPubSubFeedEngine.php (limited to 'includes/rcfeed/RedisPubSubFeedEngine.php') diff --git a/includes/rcfeed/RedisPubSubFeedEngine.php b/includes/rcfeed/RedisPubSubFeedEngine.php new file mode 100644 index 00000000..4bcc1337 --- /dev/null +++ b/includes/rcfeed/RedisPubSubFeedEngine.php @@ -0,0 +1,41 @@ + 'JSONRCFeedFormatter', + * 'uri' => "redis://127.0.0.1:6379/rc.$wgDBname", + * ); + * + * @since 1.22 + */ + public function send( array $feed, $line ) { + $parsed = parse_url( $feed['uri'] ); + $server = $parsed['host']; + $options = array( 'serializer' => 'none' ); + $channel = 'rc'; + + if ( isset( $parsed['port'] ) ) { + $server .= ":{$parsed['port']}"; + } + if ( isset( $parsed['query'] ) ) { + parse_str( $parsed['query'], $options ); + } + if ( isset( $parsed['pass'] ) ) { + $options['password'] = $parsed['pass']; + } + if ( isset( $parsed['path'] ) ) { + $channel = str_replace( '/', '.', ltrim( $parsed['path'], '/' ) ); + } + $pool = RedisConnectionPool::singleton( $options ); + $conn = $pool->getConnection( $server ); + $conn->publish( $channel, $line ); + } +} -- cgit v1.2.2