public function generateHtmlRecurrence($days, $amount, $currency, $comment, array $data, XenForo_View $view) { $data[] = utf8_strtolower($currency); $data[] = $amount; $processorModel = $this->_getProcessorModel(); $itemId = $processorModel->generateItemId('bdshop', XenForo_Visitor::getInstance(), $data); $processorNames = $processorModel->getProcessorNames(); $processors = array(); foreach ($processorNames as $processorId => $processorClass) { $processors[$processorId] = bdPaygate_Processor_Abstract::create($processorClass); } $recurringInterval = false; $recurringUnit = false; if ($days > 0) { if ($days % 360 == 0) { $recurringInterval = $days / 365; $recurringUnit = bdPaygate_Processor_Abstract::RECURRING_UNIT_YEAR; } elseif ($days % 30 == 0) { $recurringInterval = $days / 30; $recurringUnit = bdPaygate_Processor_Abstract::RECURRING_UNIT_MONTH; } else { $recurringInterval = $days; $recurringUnit = bdPaygate_Processor_Abstract::RECURRING_UNIT_DAY; } } return implode('', bdPaygate_Processor_Abstract::prepareForms($processors, $amount, $currency, $comment, $itemId, $recurringInterval, $recurringUnit, array(bdPaygate_Processor_Abstract::EXTRA_RETURN_URL => XenForo_Link::buildPublicLink('full:shop/thanks')))); }
public function renderHtml() { $processors =& $this->_params['processors']; if (!empty($processors)) { $resource =& $this->_params['resource']; $visitor = XenForo_Visitor::getInstance(); $processor = reset($processors); $this->_params['forms'] = bdPaygate_Processor_Abstract::prepareForms($processors, $resource['price'], $resource['currency'], sprintf('%s: %s (%s)', new XenForo_Phrase('bdpaygate_purchase_resource'), $resource['title'], $visitor['username']), $processor->getModelFromCache('bdPaygate_Model_Processor')->generateItemId('resource_purchase', $visitor, array($resource['resource_id'])), false, false, array(bdPaygate_Processor_Abstract::EXTRA_RETURN_URL => XenForo_Link::buildPublicLink('full:resources/purchase-complete', $resource))); } }
public function renderHtml() { if ($this->_bdPaygate_parentHasMethod('renderHtml')) { parent::renderHtml(); } $processors =& $this->_params['processors']; if (!empty($processors)) { $available =& $this->_params['available']; $visitor = XenForo_Visitor::getInstance(); $itemId = false; $itemName = false; foreach ($available as &$upgrade) { $processor = reset($processors); $itemId = $processor->getModelFromCache('bdPaygate_Model_Processor')->generateItemId('user_upgrade', $visitor, array($upgrade['user_upgrade_id'])); $itemName = strval(new XenForo_Phrase('account_upgrade') . ': ' . $upgrade['title'] . ' (' . $visitor['username'] . ')'); $upgrade['paymentForms'] = bdPaygate_Processor_Abstract::prepareForms($processors, $upgrade['cost_amount'], $upgrade['cost_currency'], $itemName, $itemId, $upgrade['recurring'] ? $upgrade['length_amount'] : false, $upgrade['recurring'] ? $upgrade['length_unit'] : false, array(bdPaygate_Processor_Abstract::EXTRA_RETURN_URL => XenForo_Link::buildPublicLink('full:account/upgrade-purchase'))); } } }