예제 #1
0
 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'))));
 }
예제 #2
0
 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)));
     }
 }
예제 #3
0
 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')));
         }
     }
 }