*/
class Mage_XmlConnect_Block_Checkout_Payment_Method_Ccsave extends Mage_Payment_Block_Form_Ccsave
{
/**
* Prevent any rendering
*
* @return string
*/
protected function _toHtml()
{
return '';
}
/**
* Retrieve payment method model
*
* @return Mage_Payment_Model_Method_Abstract
*/
public function getMethod()
{
$method = $this->getData('method');
if (!$method) {
$method = Mage::getModel('payment/method_ccsave');
$this->setData('method', $method);
}
return $method;
}
/**
* Add cc save payment method form to payment XML object
*
* @param Mage_XmlConnect_Model_Simplexml_Element $paymentItemXmlObj
* @return Mage_XmlConnect_Model_Simplexml_Element
*/
public function addPaymentFormToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $paymentItemXmlObj)
{
$helper = Mage::helper('xmlconnect');
$method = $this->getMethod();
if (!$method) {
return $paymentItemXmlObj;
}
$formXmlObj = $paymentItemXmlObj->addChild('form');
$formXmlObj->addAttribute('name', 'payment_form_' . $method->getCode());
$formXmlObj->addAttribute('method', 'post');
$owner = $this->getInfoData('cc_owner');
$ccTypes = $helper->getArrayAsXmlItemValues($this->getCcAvailableTypes(), $this->getInfoData('cc_type'));
$_ccMonthArray = $this->getCcMonths();
$ccMonths = $helper->getArrayAsXmlItemValues($_ccMonthArray, $this->getInfoData('cc_exp_month'));
$ccYears = $helper->getArrayAsXmlItemValues($this->getCcYears(), $this->getInfoData('cc_exp_year'));
$verification = '';
if ($this->hasVerification()) {
$verification =
'
';
}
$solo = '';
if ($this->hasSsCardType()) {
$ssCcMonths = $helper->getArrayAsXmlItemValues(
$_ccMonthArray, $this->getInfoData('cc_ss_start_month')
);
$ssCcYears = $helper->getArrayAsXmlItemValues(
$this->getSsStartYears(), $this->getInfoData('cc_ss_start_year')
);
$solo = $helper->getSoloXml($ssCcMonths, $ssCcYears);
}
$xml = <<
{$ccTypes}
{$solo}
{$ccMonths}
{$ccYears}
$verification
EOT;
$fieldsetXmlObj = Mage::getModel('xmlconnect/simplexml_element', $xml);
$formXmlObj->appendChild($fieldsetXmlObj);
}
}