/** * * @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); }
<?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; }