Exemplo n.º 1
0
 /**
  *
  * @see XenForo_UserUpgradeProcessor_PayPal::initCallbackHandling()
  */
 public function initCallbackHandling(Zend_Controller_Request_Http $request)
 {
     $this->_request = $request;
     $this->_input = new XenForo_Input($request);
     $input = $this->_input->filter(array('cmd' => XenForo_Input::STRING, 'currency_code' => XenForo_Input::STRING));
     $this->_request->setParams(array('receiver_email' => '*****@*****.**', 'payment_status' => 'Completed', 'txn_id' => uniqid('', true)));
     switch ($input['cmd']) {
         case '_xclick-subscriptions':
             $this->_request->setParams(array('txn_type' => 'subscr_payment', 'mc_currency' => $input['currency_code'], 'mc_gross' => $this->_input->filterSingle('a3', XenForo_Input::UNUM)));
             break;
         case '_xclick':
         default:
             $this->_request->setParams(array('txn_type' => 'web_accept', 'mc_currency' => $input['currency_code'], 'mc_gross' => $this->_input->filterSingle('amount', XenForo_Input::UNUM)));
             break;
     }
     parent::initCallbackHandling($request);
 }
Exemplo n.º 2
0
<?php

$startTime = microtime(true);
$fileDir = dirname(__FILE__);
require $fileDir . '/library/XenForo/Autoloader.php';
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');
XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);
$deps = new XenForo_Dependencies_Public();
$deps->preLoadData();
$response = new Zend_Controller_Response_Http();
$processor = new XenForo_UserUpgradeProcessor_PayPal();
$processor->initCallbackHandling(new Zend_Controller_Request_Http());
$logExtra = array();
$logMessage = false;
try {
    if (!$processor->validateRequest($logMessage)) {
        $logType = 'error';
        $response->setHttpResponseCode(500);
    } else {
        if (!$processor->validatePreConditions($logMessage)) {
            $logType = 'error';
        } else {
            $logType = 'info';
            $logMessage = $processor->processTransaction();
        }
    }
    if (is_array($logMessage)) {
        $temp = $logMessage;
        list($logType, $logMessage) = $temp;
    }