*/ class Mage_Authorizenet_Helper_Data extends Mage_Core_Helper_Abstract { /** * Return URL for admin area * * @param string $route * @param array $params * @return string */ public function getAdminUrl($route, $params) { return Mage::getModel('adminhtml/url')->getUrl($route, $params); } /** * Set secure url checkout is secure for current store. * * @param string $route * @param array $params * @return string */ protected function _getUrl($route, $params = array()) { $params['_type'] = Mage_Core_Model_Store::URL_TYPE_LINK; if (isset($params['is_secure'])) { $params['_secure'] = (bool)$params['is_secure']; } elseif (Mage::app()->getStore()->isCurrentlySecure()) { $params['_secure'] = true; } return parent::_getUrl($route, $params); } /** * Retrieve save order url params * * @param string $controller * @return array */ public function getSaveOrderUrlParams($controller) { $route = array(); if ($controller === "onepage") { $route['action'] = 'saveOrder'; $route['controller'] = 'onepage'; $route['module'] = 'checkout'; } return $route; } /** * Retrieve redirect iframe url * @param $params * @return string */ public function getRedirectIframeUrl($params) { return $this->_getUrl('authorizenet/directpost_payment/redirect', $params); } /** * Retrieve place order url on front * * @return string */ public function getPlaceOrderFrontUrl() { return $this->_getUrl('authorizenet/directpost_payment/place'); } /** * Retrieve place order url in admin * * @return string */ public function getPlaceOrderAdminUrl() { return $this->getAdminUrl('*/authorizenet_directpost_payment/place', array()); } /** * Retrieve place order url * * @param array params * @return string */ public function getSuccessOrderUrl($params) { return $this->_getUrl('checkout/onepage/success', array()); } /** * Get controller name * * @return string */ public function getControllerName() { return Mage::app()->getFrontController()->getRequest()->getControllerName(); } /** * Update all child and parent order's edit increment numbers. * Needed for Admin area. * * @param Mage_Sales_Model_Order $order */ public function updateOrderEditIncrements(Mage_Sales_Model_Order $order) { if ($order->getId() && $order->getOriginalIncrementId()) { $collection = $order->getCollection(); $quotedIncrId = $collection->getConnection()->quote($order->getOriginalIncrementId()); $collection->getSelect()->where( "original_increment_id = {$quotedIncrId} OR increment_id = {$quotedIncrId}" ); foreach ($collection as $orderToUpdate) { $orderToUpdate->setEditIncrement($order->getEditIncrement()); $orderToUpdate->save(); } } } }