/** * Call PAYMENT_CHANGE with the subtype credit * and add a credit item to the order */ public static function creditAction() { $orderId = Globals::getPostEntry('order_number'); $order = new order($orderId); $payment = Loader::getRatepayPayment($order->info['payment_method']); $transactionId = Db::getRatepayOrderDataEntry($orderId, 'transaction_id'); $transactionShortId = Db::getRatepayOrderDataEntry($orderId, 'transaction_short_id'); $data = array('HeadInfo' => RequestMapper::getHeadInfoModel($order, $transactionId, $transactionShortId, $orderId, 'credit'), 'BasketInfo' => RequestMapper::getBasketInfoModel($order, $orderId, Globals::getPost()), 'CustomerInfo' => RequestMapper::getCustomerInfoModel($order, $orderId), 'PaymentInfo' => RequestMapper::getPaymentInfoModel($order, $orderId)); $requestService = new RequestService($payment->sandbox, $data); $result = $requestService->callPaymentChange(); Db::xmlLog($order, $requestService->getRequest(), $orderId, $requestService->getResponse()); if (!array_key_exists('error', $result)) { Session::setRpSessionEntry('message_css_class', 'messageStackSuccess'); Session::setRpSessionEntry('message', RATEPAY_ORDER_MESSAGE_CREDIT_SUCCESS); Db::setRpCreditItem(Globals::getPost()); Db::setRpHistoryEntry($orderId, Data::getCreditItem(Globals::getPost()), 'PAYMENT_CHANGE', 'credit'); Db::addCreditToShop($orderId, Globals::getPost()); Db::updateShopOrderTotals($orderId); } else { Session::setRpSessionEntry('message_css_class', 'messageStackError'); Session::setRpSessionEntry('message', RATEPAY_ORDER_MESSAGE_CREDIT_ERROR); } tep_redirect(tep_href_link("ratepay_order.php", 'oID=' . $orderId, 'SSL')); }
<?php setlocale(LC_ALL, 'de_CH.iso-8859-1'); # do some magic to patch up PATH_INFO to work correctly be $p = preg_quote('/' . basename(__FILE__)); $_SERVER['PATH_INFO'] = preg_replace("#^{$p}#", "", $_SERVER['PATH_INFO']); require_once __DIR__ . '/../lib/init.php'; $action = $_SERVER['PATH_INFO'] ? $_SERVER['PATH_INFO'] : '/index'; RequestMapper::excuteAction($action);
public function testNotXhr() { $this->setServerEnv('GET'); $request = new RequestMapper(); $this->assertFalse($request->isXHR()); }
function handle($url) { return RequestMapper::getRequests(); }
<?php RequestMapper::registerRequest('#^/exceptions#', '/exceptions', 'ExceptionController'); class ExceptionController extends BaseController { function handle($url) { list($null, $name, $exid, $data) = explode('/', $url); if ($data) { throw new BadRequest('Syntax: /exceptions[/id]'); } if ($exid) { return $this->getException($exid); } else { return $this->getExceptionList(); } } private function getException($exid) { $ex = new ExceptionReport($exid); return $ex->asArray(); } private function getExceptionList() { $limit = isset($_GET['pagesize']) ? $_GET['pagesize'] : 10; $reps = ExceptionReport::getReports($limit); foreach ($reps as &$rep) { $rep['href'] = '/exceptions/' . $rep['id']; } return $reps; }
/** * Call PAYMENT_CONFIRM request * * @global order $order * @param string $transactionId * @param string $transactionShortId * @param int $orderId * @return array */ protected function _paymentConfirm($transactionId, $transactionShortId, $orderId) { global $order; $data = array('HeadInfo' => RequestMapper::getHeadInfoModel($order, $transactionId, $transactionShortId, $orderId)); $requestService = new RequestService($this->sandbox, $data); $result = $requestService->callPaymentConfirm(); Db::xmlLog($order, $requestService->getRequest(), $orderId, $requestService->getResponse()); return $result; }