Ejegg has uploaded a new change for review.
https://gerrit.wikimedia.org/r/180894
Change subject: Use Composer-managed Stomp and Minfraud classes
......................................................................
Use Composer-managed Stomp and Minfraud classes
Note that this also updates Minfraud's api to 1.60
Change-Id: I4ffad6f45ea2a3b749804a14309379285715ac39
---
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
D extras/custom_filters/filters/minfraud/ccfd/COPYING
D extras/custom_filters/filters/minfraud/ccfd/Changes
D extras/custom_filters/filters/minfraud/ccfd/README.md
D extras/custom_filters/filters/minfraud/ccfd/composer.json
D extras/custom_filters/filters/minfraud/ccfd/src/CreditCardFraudDetection.php
D extras/custom_filters/filters/minfraud/ccfd/src/HTTPBase.php
D extras/custom_filters/filters/minfraud/ccfd/src/TelephoneVerification.php
M extras/custom_filters/filters/minfraud/minfraud.body.php
16 files changed, 4 insertions(+), 2,017 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface
refs/changes/94/180894/1
diff --git a/DonationInterface.php b/DonationInterface.php
index 7ea87e8..876bc5d 100644
--- a/DonationInterface.php
+++ b/DonationInterface.php
@@ -35,6 +35,9 @@
$wgDonationInterfaceTestMode = false;
}
+// 3rd party dependencies managed by Composer, such as Stomp and Minfraud
+include_once( 'vendor/autoload.php' );
+
/**
* Figure out what we've got enabled.
*/
@@ -100,31 +103,11 @@
*/
$wgDonationInterfaceClassMap = array();
-$wgAutoloadClasses['CurrencyRates'] = $donationinterface_dir .
'gateway_common/CurrencyRates.php';
-$wgAutoloadClasses['DonationData'] = $donationinterface_dir .
'gateway_common/DonationData.php';
-$wgAutoloadClasses['EncodingMangler'] = $donationinterface_dir .
'gateway_common/EncodingMangler.php';
-$wgAutoloadClasses['GatewayAdapter'] = $donationinterface_dir .
'gateway_common/gateway.adapter.php';
-$wgAutoloadClasses['GatewayPage'] = $donationinterface_dir .
'gateway_common/GatewayPage.php';
-$wgAutoloadClasses['GatewayType'] = $donationinterface_dir .
'gateway_common/gateway.adapter.php';
-$wgAutoloadClasses['DataValidator'] = $donationinterface_dir .
'gateway_common/DataValidator.php';
-$wgAutoloadClasses['PaymentMethod'] = $donationinterface_dir .
'gateway_common/PaymentMethod.php';
$wgAutoloadClasses['StateAbbreviations'] = $donationinterface_dir .
'gateway_forms/includes/stateAbbreviations.inc';
-$wgAutoloadClasses['WmfFramework_Mediawiki'] = $donationinterface_dir .
'gateway_common/WmfFramework.mediawiki.php';
-require_once( 'gateway_common/WmfFramework.php' );
//load all possible form classes
$wgAutoloadClasses['Gateway_Form'] = $donationinterface_dir .
'gateway_forms/Form.php';
$wgAutoloadClasses['Gateway_Form_RapidHtml'] = $donationinterface_dir .
'gateway_forms/RapidHtml.php';
-
-//GlobalCollect gateway classes
-if ( $optionalParts['GlobalCollect'] === true ){
- $wgDonationInterfaceClassMap['globalcollect'] = 'GlobalCollectAdapter';
- $wgAutoloadClasses['GlobalCollectGateway'] = $donationinterface_dir .
'globalcollect_gateway/globalcollect_gateway.body.php';
- $wgAutoloadClasses['GlobalCollectGatewayResult'] =
$donationinterface_dir .
'globalcollect_gateway/globalcollect_resultswitcher.body.php';
-
- $wgAutoloadClasses['GlobalCollectAdapter'] = $donationinterface_dir .
'globalcollect_gateway/globalcollect.adapter.php';
- $wgAutoloadClasses['GlobalCollectOrphanAdapter'] = __DIR__ .
'/globalcollect_gateway/scripts/orphan_adapter.php';
-}
//PayflowPro gateway classes
if ( $optionalParts['PayflowPro'] === true ){
@@ -133,33 +116,8 @@
$wgAutoloadClasses['PayflowProAdapter'] = $donationinterface_dir .
'payflowpro_gateway/payflowpro.adapter.php';
}
-if ( $optionalParts['Amazon'] === true ){
- $wgDonationInterfaceClassMap['amazon'] = 'AmazonAdapter';
- $wgAutoloadClasses['AmazonGateway'] = $donationinterface_dir .
'amazon_gateway/amazon_gateway.body.php';
- $wgAutoloadClasses['AmazonAdapter'] = $donationinterface_dir .
'amazon_gateway/amazon.adapter.php';
-}
-
-if ( $optionalParts['Adyen'] === true ){
- $wgDonationInterfaceClassMap['adyen'] = 'AdyenAdapter';
- $wgAutoloadClasses['AdyenGateway'] = $donationinterface_dir .
'adyen_gateway/adyen_gateway.body.php';
- $wgAutoloadClasses['AdyenGatewayResult'] = $donationinterface_dir .
'adyen_gateway/adyen_resultswitcher.body.php';
- $wgAutoloadClasses['AdyenAdapter'] = $donationinterface_dir .
'adyen_gateway/adyen.adapter.php';
-}
-
-if ( $optionalParts['Paypal'] === true ){
- $wgDonationInterfaceClassMap['paypal'] = 'PaypalAdapter';
- $wgAutoloadClasses['PaypalGateway'] = $donationinterface_dir .
'paypal_gateway/paypal_gateway.body.php';
- $wgAutoloadClasses['PaypalGatewayResult'] = $donationinterface_dir .
'paypal_gateway/paypal_resultswitcher.body.php';
- $wgAutoloadClasses['PaypalAdapter'] = $donationinterface_dir .
'paypal_gateway/paypal.adapter.php';
-}
-
if ( $optionalParts['WorldPay'] === true ){
- $wgDonationInterfaceClassMap['worldpay'] = 'WorldPayAdapter';
- $wgAutoloadClasses['WorldPayGateway'] = $donationinterface_dir .
'worldpay_gateway/worldpay_gateway.body.php';
- $wgAutoloadClasses['WorldPayAdapter'] = $donationinterface_dir .
'worldpay_gateway/worldpay.adapter.php';
-
$wgAPIModules['di_wp_validate'] = 'WorldPayValidateApi';
- $wgAutoloadClasses['WorldPayValidateApi'] = $donationinterface_dir .
'worldpay_gateway/worldpay.api.php';
}
@@ -1104,7 +1062,6 @@
//---Stomp functions---
if ($optionalParts['Stomp'] === true){
require_once( $donationinterface_dir .
'activemq_stomp/activemq_stomp.php' );
- $wgAutoloadClasses['Stomp'] = $donationinterface_dir .
'activemq_stomp/Stomp.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 <[email protected]>
- * @author Dejan Bosanac <[email protected]>
- * @author Michael Caplan <[email protected]>
- * @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 <[email protected]>
- * @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 <[email protected]>
- * @author Dejan Bosanac <[email protected]>
- * @author Michael Caplan <[email protected]>
- * @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 <[email protected]>
- * @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 <[email protected]>
- * @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 <[email protected]>
- * @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 f1a926c..828bfb9 100644
--- a/activemq_stomp/activemq_stomp.php
+++ b/activemq_stomp/activemq_stomp.php
@@ -1,4 +1,5 @@
<?php
+use FuseSource\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' ) ) {
diff --git a/extras/custom_filters/filters/minfraud/ccfd/COPYING
b/extras/custom_filters/filters/minfraud/ccfd/COPYING
deleted file mode 100644
index 84f5523..0000000
--- a/extras/custom_filters/filters/minfraud/ccfd/COPYING
+++ /dev/null
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/extras/custom_filters/filters/minfraud/ccfd/Changes
b/extras/custom_filters/filters/minfraud/ccfd/Changes
deleted file mode 100644
index e09f6e3..0000000
--- a/extras/custom_filters/filters/minfraud/ccfd/Changes
+++ /dev/null
@@ -1,62 +0,0 @@
-Revision history for MaxMind CreditCardFraudDetection PHP API
-
-1.54 Sept 1st 2013
-
- - Remove custom DNS cache support. ( Boris Zentner )
- - Fixed Composer require issue. ( james-lsn )
-
-1.53 Jun 24th 2013
- - Removed deprecated use of `ereg`.
- - Added Composer support.
- - Reorganized source package.
-
-1.52 Aug 8th 2012
- - Allow all input fields supported by minFraud 1.4 (Boris Zentner)
- - Remove LocationVerification example and API (Boris Zentner)
-
-1.50 March 13th 2012
- - Check countryMatch instead of score. Score is not avail as of
- minfraud_version 1.3 and might be empty. (Boris Zentner)
-
-1.49 Februar 19th 2009
- - Add minfraud3.maxmind.com to the server list ( Boris Zentner )
-
-1.48 October 3th 2008
- - Add new optional fields user_agent and accept_language for CCFD requests
( Boris Zentner )
-
-1.47 April 25th 2008
- - Changed license from GPL to LGPL
-
-1.46 October 4th 2007
- - Replaced www.maxmind.com and www2.maxmind.com with minfraud1.maxmind.com
and minfraud2.maxmind.com
-
-1.43 October 3rd 2006
- - Added support for new input fields, usernameMD5 and passwordMD5
- - Changed require ("HTTPBase.php") to require_once ("HTTPBase.php")
- in case both CCFD and Telephone Verification files are used (Mike
Mallinson)
-
-1.4 August 8th 2005
- - Added support for Telephone Verification
- - Use POST method instead of GET method, fixes bug where query string
- was truncated
- - Added support for bypassing DNS using IP addresses
- - Added shipCity shipRegion shipPostal shipCountry to list of input fields
-
-1.3 February 9th 2005
- - Added requested_type, forwardedIP, emailMD5, shipAddr,
- txnID, sessionID to list of input fields
- - Added LocationVerification.php
- - Replaced global variables with class fields (David Recordon)
-
-1.2 July 2nd 2004
- - Added binName, binPhone, custPhone to list of input fields
-
-1.1 June 8th 2004
- - Replaced h1 and h2 servers with www and www2 (all ending with
maxmind.com)
- - Fixed URL encoding bug
- - Fixed curl code
- - Added debug and timeout options
- - Failover if score field not set
-
-1.0 May 5st 2004
- - original version
diff --git a/extras/custom_filters/filters/minfraud/ccfd/README.md
b/extras/custom_filters/filters/minfraud/ccfd/README.md
deleted file mode 100644
index a5fee58..0000000
--- a/extras/custom_filters/filters/minfraud/ccfd/README.md
+++ /dev/null
@@ -1,124 +0,0 @@
-# Maxmind minFraud PHP API #
-
-## Installing with Composer ##
-
-### Define Your Dependencies ###
-
-We recommend installing this package with [Composer](http://getcomposer.org/).
-To do this, add ```minfraud/http``` to your ```composer.json``` file.
-
-```json
-{
- "require": {
- "minfraud/http": "~1.54"
- }
-}
-```
-
-### Install Composer ###
-
-Run in your project root:
-
-```
-curl -s http://getcomposer.org/installer | php
-```
-
-### Install Dependencies ###
-
-Run in your project root:
-
-```
-php composer.phar install
-```
-
-### Require Autoloader ###
-
-You can autoload all dependencies by adding this to your code:
-```
-require 'vendor/autoload.php';
-```
-
-## Installing without Composer ##
-
-Place the files in the `src` directory in the `include_path` as specified in
-your `php.ini` file or place them in the same directory as your PHP scripts.
-
-## Example Scripts ##
-
-See `examples/minfraud.php` for complete example how to use this API with the
-minFraud service.
-
-See `examples/telephone-verification.php` for complete example how to use
-this API with the Telephone Verification service.
-
-These scripts can be run from the shell.
-
-## Usage ##
-
-```php
-<?php
-require_once 'vendor/autoload.php';
-
-$inputs = array(
- "license_key" => "YOUR_LICENSE_KEY_HERE",
- "i" => "24.24.24.24",
- "city" => "New York",
- "region" => "NY",
- "postal" => "11434",
- "country" => "US",
- // Other inputs from http://dev.maxmind.com/minfraud/
-);
-
-$ccfs = new CreditCardFraudDetection;
-$ccfs->input($inputs);
-$ccfs->query();
-$outputs = $ccfs->output();
-
-print_r($outputs)
-```
-### $ccfs->isSecure ###
-
-If isSecure is set to 0 then it uses regular HTTP. If isSecure is set to 1
-then it uses Secure HTTPS (requires Curl PHP binding)
-
-### $ccfs->input($hash) ###
-
-Takes a hash and uses it as input for the server. See
-http://dev.maxmind.com/minfraud/ for details on input fields.
-
-### $ccfs->query() ###
- Queries the server with the fields passed to the input method
- and stores the output.
-
-### $ccfs->output();
-
-Returns the output from the server. See http://dev.maxmind.com/minfraud/
-for details on output fields.
-
-## Secure HTTPS ##
-
-Secure HTTPS is off by default. If you want secure HTTPS then you need to have
-the Curl PHP binding, the curl library and the OpenSSL library.
-
-You can download the curl libary at:
-http://curl.haxx.se/download.html
-http://curl.haxx.se/docs/install.html for installation details
-
-It is recommended that you install these packages in this order:
-
-1. OpenSSL library
-2. Curl library
-3. Curl PHP binding
-
-Once you have installed these, you can turn on Secure HTTPS by setting:
-
-```php
-$ccfs->isSecure = 1;
-```
-where `$ccfs` is the CreditCardFraudDetection object.
-
-===============================
-Copyright (c) 2013, MaxMind, Inc
-
-All rights reserved. This package is licensed under the LGPL. For details
-see the COPYING file.
diff --git a/extras/custom_filters/filters/minfraud/ccfd/composer.json
b/extras/custom_filters/filters/minfraud/ccfd/composer.json
deleted file mode 100644
index 6dc3dfc..0000000
--- a/extras/custom_filters/filters/minfraud/ccfd/composer.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "minfraud/http",
- "description": "MaxMind minFraud HTTP API",
- "keywords": [ "fraud", "minfraud", "maxmind" ],
- "homepage": "https://github.com/maxmind/ccfd-api-php",
- "type": "library",
- "license": "LGPL-2.1+",
- "authors": [
- {
- "name": "MaxMind, Inc.",
- "email": "[email protected]",
- "homepage": "http://www.maxmind.com/"
- }
- ],
- "autoload": {
- "files": [
- "src/HTTPBase.php",
- "src/CreditCardFraudDetection.php",
- "src/TelephoneVerification.php"
- ]
- }
-}
diff --git
a/extras/custom_filters/filters/minfraud/ccfd/src/CreditCardFraudDetection.php
b/extras/custom_filters/filters/minfraud/ccfd/src/CreditCardFraudDetection.php
deleted file mode 100644
index 5b6b5ba..0000000
---
a/extras/custom_filters/filters/minfraud/ccfd/src/CreditCardFraudDetection.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/* CreditCardFraudDetection.php
- *
- * Copyright (C) 2008 MaxMind, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-require_once ("HTTPBase.php");
-class CreditCardFraudDetection extends HTTPBase {
- public $server;
- public $numservers;
- public $API_VERSION;
-
- function CreditCardFraudDetection() {
- $this->HTTPBase();
- $this->isSecure = 1; // use HTTPS by default
-
- //set the allowed_fields hash
- $this->allowed_fields["i"] = 1;
- $this->allowed_fields["domain"] = 1;
- $this->allowed_fields["city"] = 1;
- $this->allowed_fields["region"] = 1;
- $this->allowed_fields["postal"] = 1;
- $this->allowed_fields["country"] = 1;
- $this->allowed_fields["bin"] = 1;
- $this->allowed_fields["binName"] = 1;
- $this->allowed_fields["binPhone"] = 1;
- $this->allowed_fields["custPhone"] = 1;
- $this->allowed_fields["license_key"] = 1;
- $this->allowed_fields["requested_type"] = 1;
- $this->allowed_fields["forwardedIP"] = 1;
- $this->allowed_fields["emailMD5"] = 1;
- $this->allowed_fields["shipAddr"] = 1;
- $this->allowed_fields["shipCity"] = 1;
- $this->allowed_fields["shipRegion"] = 1;
- $this->allowed_fields["shipPostal"] = 1;
- $this->allowed_fields["shipCountry"] = 1;
- $this->allowed_fields["txnID"] = 1;
- $this->allowed_fields["sessionID"] = 1;
- $this->allowed_fields["usernameMD5"] = 1;
- $this->allowed_fields["passwordMD5"] = 1;
- $this->allowed_fields["user_agent"] = 1;
- $this->allowed_fields["accept_language"] = 1;
- $this->allowed_fields["avs_result"] = 1;
- $this->allowed_fields["cvv_result"] = 1;
- $this->allowed_fields["order_amount"] = 1;
- $this->allowed_fields["order_currency"] = 1;
- $this->allowed_fields["shopID"] = 1;
- $this->allowed_fields["txn_type"] = 1;
-
- $this->num_allowed_fields = count($this->allowed_fields);
-
- //set the url of the web service
- $this->url = "app/ccv2r";
- $this->check_field = "countryMatch";
- $this->server = array( "minfraud.maxmind.com",
"minfraud-us-east.maxmind.com", "minfraud-us-west.maxmind.com");
- $this->numservers = count($this->server);
- $this->API_VERSION = 'PHP/1.54';
- }
-
- function filter_field($key, $value) {
- if ($key == 'emailMD5'){
- if (strpos($value, '@') !== false){
- return md5(strtolower($value));
- }
- } else if ($key == 'usernameMD5' || $key == 'passwordMD5') {
- if (strlen($value) != 32) {
- return md5(strtolower($value));
- }
- }
- return $value;
- }
-}
-?>
diff --git a/extras/custom_filters/filters/minfraud/ccfd/src/HTTPBase.php
b/extras/custom_filters/filters/minfraud/ccfd/src/HTTPBase.php
deleted file mode 100644
index cf24457..0000000
--- a/extras/custom_filters/filters/minfraud/ccfd/src/HTTPBase.php
+++ /dev/null
@@ -1,259 +0,0 @@
-<?php
-
-/* HTTPBase.php
- *
- * Copyright (C) 2008 MaxMind, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-class HTTPBase{
- public $server;
- public $numservers;
- public $url;
- public $queries;
- public $allowed_fields;
- public $num_allowed_fields;
- public $outputstr;
- public $isSecure;
- public $timeout;
- public $debug;
- public $check_field;
- function HTTPBase() {
- $this->isSecure = 0;
- $this->debug = 0;
- $this->timeout = 0;
- // use countryMatch to validate the results. It is avail in all minfraud
answeres
- $this->check_field = "countryMatch";
- }
-
- // this function sets the checked field
- function set_check_field($f) {
- $this->check_field = $f;
- }
-
- // this function sets the allowed fields
- function set_allowed_fields($i) {
- $this->allowed_fields = $i;
- $this->num_allowed_fields = count($i);
- }
-
- //this function queries the servers
- function query() {
-
- // query every server using its domain name
- for ($i = 0; $i < $this->numservers; $i++ ) {
- $result = $this->querySingleServer($this->server[$i]);
- if ($this->debug == 1) {
- print "server: " . $this->server[$i] . "\nresult: " . $result . "\n";
- }
- if ($result) {
- return $result;
- }
- }
- return 0;
- }
-
- // this function takes a input hash and stores it in the hash named queries
- function input($vars) {
- $numinputkeys = count($vars); // get the number of keys in the input hash
- $inputkeys = array_keys($vars); // get a array of keys in the input hash
- for ($i = 0; $i < $numinputkeys; $i++) {
- $key = $inputkeys[$i];
- if ($this->allowed_fields[$key] == 1) {
- //if key is a allowed field then store it in
- //the hash named queries
- $this->queries[$key] = urlencode($this->filter_field($key,
$vars[$key]));
- } else {
- print "invalid input $key - perhaps misspelled field?";
- return 0;
- }
- }
- $this->queries["clientAPI"] = $this->API_VERSION;
- }
-
- //sub-class should override this if it needs to filter inputs
- function filter_field($key, $value) {
- return $value;
- }
-
- //this function returns the output from the server
- function output() {
- return $this->outputstr;
- }
-
- // this function queries a single server
- function querySingleServer($server) {
- // check if we using the Secure HTTPS proctol
- if ($this->isSecure == 1) {
- $scheme = "https://"; // Secure HTTPS proctol
- } else {
- $scheme = "http://"; // Regular HTTP proctol
- }
-
- // build a query string from the hash called queries
- $numquerieskeys = count($this->queries); // get the number of keys in the
hash called queries
- $querieskeys = array_keys($this->queries); // get a array of keys in the
hash called queries
- if ($this->debug == 1) {
- print "number of query keys " + $numquerieskeys + "\n";
- }
-
- $query_string = "";
-
- for ($i = 0; $i < $numquerieskeys; $i++) {
- //for each element in the hash called queries
- //append the key and value of the element to the query string
- $key = $querieskeys[$i];
- $value = $this->queries[$key];
- //encode the key and value before adding it to the string
- //$key = urlencode($key);
- //$value = urlencode($value);
- if ($this->debug == 1) {
- print " query key " . $key . " query value " . $value . "\n";
- }
- $query_string = $query_string . $key . "=" . $value;
- if ($i < $numquerieskeys - 1) {
- $query_string = $query_string . "&";
- }
- }
-
- $content = "";
-
- //check if the curl module exists
- if (extension_loaded('curl')) {
- //use curl
- if ($this->debug == 1) {
- print "using curl\n";
- }
-
- //open curl
- $ch = curl_init();
-
- $url = $scheme . $server . "/" . $this->url;
-
- //set curl options
- if ($this->debug == 1){
- print "url " . $url . "\n";
- }
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
-
- //this option lets you store the result in a string
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string);
-
- //get the content
- $content = curl_exec($ch);
-
- // For some reason curl_errno returns an error even when function works
- // Until we figure this out, will ignore curl errors - (not good i know)
-// $e = curl_errno($ch);//get error or sucess
-
-// if (($e == 1) & ($this->isSecure == 1)) {
- // HTTPS does not work print error message
-// print "error: this version of curl does not support HTTPS try
build curl with SSL or specify \$ccfs->isSecure = 0\n";
-// }
-// if ($e > 0) {
- //we get a error msg print it
-// print "Received error message $e from curl: " . curl_error($ch) .
"\n";
-// return 0;
-// }
- //close curl
- curl_close($ch);
- } else {
- //curl does not exist
- //use the fsockopen function,
- //the fgets function and the fclose function
- if ($this->debug == 1) {
- print "using fsockopen for querySingleServer\n";
- }
-
- $url = $scheme . $server . "/" . $this->url . "?" . $query_string;
- if ($this->debug == 1) {
- print "url " . $url . " " . "\n";
- }
-
- //now check if we are using regular HTTP
- if ($this->isSecure == 0) {
- //we using regular HTTP
-
- //parse the url to get
- //host, path and query
- $url3 = parse_url($url);
- $host = $url3["host"];
- $path = $url3["path"];
- $query = $url3["query"];
-
- //open the connection
- $fp = fsockopen ($host, 80, $errno, $errstr, $this->timeout);
- if ($fp) {
- //send the request
- $post = "POST $path HTTP/1.0\nHost: " . $host . "\nContent-type:
application/x-www-form-urlencoded\nUser-Agent: Mozilla 4.0\nContent-length: " .
strlen($query) . "\nConnection: close\n\n$query";
- fputs ($fp, $post);
- while (!feof($fp)) {
- $buf .= fgets($fp, 128);
- }
- $lines = split("\n", $buf);
- // get the content
- $content = $lines[count($lines)-1];
- //close the connection
- fclose($fp);
- } else {
- return 0;
- }
- } else {
- //secure HTTPS requires CURL
- print "error: you need to install curl if you want secure HTTPS or
specify the variable to be $ccfs->isSecure = 0";
- return 0;
- }
- }
-
- if ($this->debug == 1) {
- print "content = " . $content . "\n";
- }
- // get the keys and values from
- // the string content and store them
- // the hash named outputstr
-
- // split content into pairs containing both
- // the key and the value
- $keyvaluepairs = explode(";",$content);
-
- //get the number of key and value pairs
- $numkeyvaluepairs = count($keyvaluepairs);
-
- //for each pair store key and value into the
- //hash named outputstr
- $this->outputstr = array();
- for ($i = 0; $i < $numkeyvaluepairs; $i++) {
- //split the pair into a key and a value
- list($key,$value) = explode("=",$keyvaluepairs[$i]);
- if ($this->debug == 1) {
- print " output " . $key . " = " . $value . "\n";
- }
- //store the key and the value into the
- //hash named outputstr
- $this->outputstr[$key] = $value;
- }
- //one other way to do it
- if (!array_key_exists($this->check_field,$this->outputstr)) {
- return 0;
- }
- return 1;
- }
-}
-?>
diff --git
a/extras/custom_filters/filters/minfraud/ccfd/src/TelephoneVerification.php
b/extras/custom_filters/filters/minfraud/ccfd/src/TelephoneVerification.php
deleted file mode 100644
index 5845475..0000000
--- a/extras/custom_filters/filters/minfraud/ccfd/src/TelephoneVerification.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-require_once ("HTTPBase.php");
-class TelephoneVerification extends HTTPBase {
- public $server;
- public $numservers;
- public $API_VERSION;
- function TelephoneVerification(){
- $this->HTTPBase();
- $this->isSecure = 1; // use HTTPS by default
-
- //set the allowed_fields hash
- $this->allowed_fields["l"] = 1;
- $this->allowed_fields["phone"] = 1;
- $this->allowed_fields["verify_code"] = 1;
- $this->num_allowed_fields = count($this->allowed_fields);
-
- //set the url of the web service
- $this->url = "app/telephone_http";
- $this->check_field = "refid";
- $this->server = array("www.maxmind.com", "www2.maxmind.com");
- $this->numservers = count($this->server);
- $this->API_VERSION = 'PHP/1.4';
- $this->timeout = 30;
- }
-}
-?>
diff --git a/extras/custom_filters/filters/minfraud/minfraud.body.php
b/extras/custom_filters/filters/minfraud/minfraud.body.php
index 1100bfa..d82ed9c 100644
--- a/extras/custom_filters/filters/minfraud/minfraud.body.php
+++ b/extras/custom_filters/filters/minfraud/minfraud.body.php
@@ -91,8 +91,6 @@
$this->cfo = &$custom_filter_object;
- require_once( dirname( __FILE__ ) .
"/ccfd/src/CreditCardFraudDetection.php" );
-
global $wgMinFraudLicenseKey;
// set the minfraud license key, go no further if we don't have
it
--
To view, visit https://gerrit.wikimedia.org/r/180894
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4ffad6f45ea2a3b749804a14309379285715ac39
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Ejegg <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits