Novalnet - Version 1.3.1

Version Notes

1.3.1 is now loaded with Iframe functionality.
1.3 database table name is now fetched from system.
1.2.9 the same as 1.2.7 only because Magento upload did not work correctly.
1.2.8 the same as 1.2.7 only because Magento upload did not work correctly.
1.2.7
Bugfix:
Für ELV DE, ELV AT und CC wurde die Währung fix als 'EUR' übergeben.

The parameter currency was passed over as fixed value 'EUR' for payment modules 'Direct Debit German', 'Direct Debit Austria' and 'Credir Card'.

Allgemeine Bemerkung:
Die Cache-Ordner var/cache und var/session müssen wie immer nach Aktualisierungen geleert werden.

Notice: the cache folders var/cache and var/session must be emptied after updates.

Download this release

Release Info

Developer Gabriel Dixon
Extension Novalnet
Version 1.3.1
Comparing to
See all releases


Code changes from version 1.2.9 to 1.3.1

Files changed (128) hide show
  1. app/code/community/Mage/Novalnet/Block/Cc/Form.php +55 -156
  2. app/code/community/Mage/Novalnet/Block/Cc/Info.php +91 -93
  3. app/code/community/Mage/Novalnet/Block/Elvaustria/Form.php +67 -79
  4. app/code/community/Mage/Novalnet/Block/Elvaustria/Info.php +102 -64
  5. app/code/community/Mage/Novalnet/Block/Elvgerman/Form.php +73 -80
  6. app/code/community/Mage/Novalnet/Block/Elvgerman/Info.php +102 -64
  7. app/code/community/Mage/Novalnet/Block/Invoice/Form.php +72 -68
  8. app/code/community/Mage/Novalnet/Block/Invoice/Info.php +115 -91
  9. app/code/community/Mage/Novalnet/Block/{Instantbanktransfer/Failure.php → Pci/Form.php} +46 -47
  10. app/code/community/Mage/Novalnet/Block/Pci/Info.php +92 -0
  11. app/code/community/Mage/Novalnet/Block/{Instantbanktransfer → Pci}/Redirect.php +52 -50
  12. app/code/community/Mage/Novalnet/Block/Phonepayment/Form.php +45 -59
  13. app/code/community/Mage/Novalnet/Block/Phonepayment/Info.php +102 -64
  14. app/code/community/Mage/Novalnet/Block/Prepayment/Form.php +55 -67
  15. app/code/community/Mage/Novalnet/Block/Prepayment/Info.php +102 -64
  16. app/code/community/Mage/Novalnet/Block/Secure/Failure.php +0 -48
  17. app/code/community/Mage/Novalnet/Block/{Instantbanktransfer → Secure}/Form.php +132 -156
  18. app/code/community/Mage/Novalnet/Block/{Instantbanktransfer → Secure}/Info.php +135 -93
  19. app/code/community/Mage/Novalnet/Block/Secure/Redirect.php +51 -62
  20. app/code/community/Mage/Novalnet/Helper/Data.php +132 -32
  21. app/code/community/Mage/Novalnet/Model/Mysql4/Setup.php +29 -29
  22. app/code/community/Mage/Novalnet/Model/Novalnet/Request.php +37 -37
  23. app/code/community/Mage/Novalnet/Model/Novalnet/Result.php +37 -37
  24. app/code/community/Mage/Novalnet/Model/Novalnet/Source/Callbacktypes.php +35 -0
  25. app/code/community/Mage/Novalnet/Model/Novalnet/Source/Cctype.php +35 -35
  26. app/code/community/Mage/Novalnet/Model/NovalnetCc.php +37 -339
  27. app/{design/frontend/default/default/template/novalnet/secure/failure.phtml → code/community/Mage/Novalnet/Model/NovalnetCcpci.php} +34 -32
  28. app/{design/adminhtml/default/default/template/novalnet/instantbanktransfer/info.phtml → code/community/Mage/Novalnet/Model/NovalnetElvatpci.php} +34 -33
  29. app/code/community/Mage/Novalnet/Model/NovalnetElvaustria.php +576 -391
  30. app/{design/frontend/default/default/template/novalnet/instantbanktransfer/failure.phtml → code/community/Mage/Novalnet/Model/NovalnetElvdepci.php} +34 -32
  31. app/code/community/Mage/Novalnet/Model/NovalnetElvgerman.php +582 -408
  32. app/code/community/Mage/Novalnet/Model/NovalnetInstantbanktransfer.php +0 -382
  33. app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php +556 -475
  34. app/code/community/Mage/Novalnet/Model/NovalnetPciAbstract.php +403 -0
  35. app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php +757 -785
  36. app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php +375 -428
  37. app/code/community/Mage/Novalnet/Model/NovalnetSecure.php +223 -273
  38. app/code/community/Mage/Novalnet/Model/Observer.php +222 -0
  39. app/code/community/Mage/Novalnet/Model/include_all.php +0 -126
  40. app/code/community/Mage/Novalnet/controllers/InstantbanktransferController.php +0 -339
  41. app/code/community/Mage/Novalnet/controllers/InstantbanktransferController_orig.php +0 -146
  42. app/code/community/Mage/Novalnet/controllers/PciController.php +90 -0
  43. app/code/community/Mage/Novalnet/controllers/SecureController.php +160 -222
  44. app/code/community/Mage/Novalnet/etc/config.xml +223 -228
  45. app/code/community/Mage/Novalnet/etc/system.xml +1671 -855
  46. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-install-1.0.0.php +51 -24
  47. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.0-1.0.1.php +0 -25
  48. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.1-1.0.2.php +0 -25
  49. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.2-1.0.3.php +0 -25
  50. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.3-1.1.0.php +0 -25
  51. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.0-1.1.1.php +0 -25
  52. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.1-1.1.2.php +0 -25
  53. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.2-1.1.3.php +0 -25
  54. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.3-1.1.4.php +0 -25
  55. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.4-1.1.5.php +0 -25
  56. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.5-1.1.6.php +0 -25
  57. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.6-1.1.7.php +0 -25
  58. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.7-1.1.8.php +0 -25
  59. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.8-1.1.9.php +0 -25
  60. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.9-1.2.0.php +0 -25
  61. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.0-1.2.1.php +0 -25
  62. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.1-1.2.2.php +0 -25
  63. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.2-1.2.3.php +0 -25
  64. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.3-1.2.4.php +0 -25
  65. app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.4-1.2.5.php +0 -25
  66. app/design/adminhtml/default/default/template/novalnet/cc/form.phtml +115 -134
  67. app/design/adminhtml/default/default/template/novalnet/cc/info.phtml +36 -35
  68. app/design/adminhtml/default/default/template/novalnet/elvaustria/form.phtml +79 -110
  69. app/design/adminhtml/default/default/template/novalnet/elvaustria/info.phtml +36 -36
  70. app/design/adminhtml/default/default/template/novalnet/elvgerman/form.phtml +87 -102
  71. app/design/adminhtml/default/default/template/novalnet/elvgerman/info.phtml +36 -36
  72. app/design/adminhtml/default/default/template/novalnet/instantbanktransfer/form.phtml +0 -68
  73. app/design/adminhtml/default/default/template/novalnet/invoice/form.phtml +51 -57
  74. app/design/adminhtml/default/default/template/novalnet/invoice/info.phtml +36 -35
  75. app/design/adminhtml/default/default/template/novalnet/pci/form.phtml +63 -0
  76. app/design/{frontend/default/default/template/novalnet/instantbanktransfer → adminhtml/default/default/template/novalnet/pci}/info.phtml +33 -32
  77. app/design/adminhtml/default/default/template/novalnet/phonepayment/form.phtml +52 -59
  78. app/design/adminhtml/default/default/template/novalnet/phonepayment/info.phtml +34 -34
  79. app/design/adminhtml/default/default/template/novalnet/prepayment/form.phtml +51 -60
  80. app/design/adminhtml/default/default/template/novalnet/prepayment/info.phtml +34 -34
  81. app/design/adminhtml/default/default/template/novalnet/secure/form.phtml +115 -0
  82. app/design/adminhtml/default/default/template/novalnet/secure/info.phtml +37 -0
  83. app/design/adminhtml/default/default/template/payment/info/pdf/cc.phtml +35 -0
  84. app/design/adminhtml/default/default/template/payment/info/pdf/pci.phtml +35 -0
  85. app/design/frontend/default/default/layout/novalnet.xml +22 -0
  86. app/design/frontend/default/default/template/novalnet/cc/form.phtml +62 -130
  87. app/design/frontend/default/default/template/novalnet/cc/info.phtml +37 -36
  88. app/design/frontend/default/default/template/novalnet/cc/pciiframe.phtml +138 -0
  89. app/design/frontend/default/default/template/novalnet/elvaustria/form.phtml +107 -105
  90. app/design/frontend/default/default/template/novalnet/elvaustria/info.phtml +36 -36
  91. app/design/frontend/default/default/template/novalnet/elvgerman/form.phtml +117 -101
  92. app/design/frontend/default/default/template/novalnet/elvgerman/info.phtml +36 -36
  93. app/design/frontend/default/default/template/novalnet/instantbanktransfer/form.phtml +0 -69
  94. app/design/frontend/default/default/template/novalnet/invoice/form.phtml +91 -58
  95. app/design/frontend/default/default/template/novalnet/invoice/info.phtml +36 -35
  96. app/design/frontend/default/default/template/novalnet/pci/form.phtml +62 -0
  97. app/design/frontend/default/default/template/novalnet/pci/info.phtml +38 -0
  98. app/design/frontend/default/default/template/novalnet/pci/pciiframe.phtml +98 -0
  99. app/design/frontend/default/default/template/novalnet/pci/pciiframe_old.phtml +85 -0
  100. app/design/frontend/default/default/template/novalnet/phonepayment/form.phtml +52 -59
  101. app/design/frontend/default/default/template/novalnet/phonepayment/info.phtml +34 -34
  102. app/design/frontend/default/default/template/novalnet/prepayment/form.phtml +51 -60
  103. app/design/frontend/default/default/template/novalnet/prepayment/info.phtml +35 -34
  104. app/design/frontend/default/default/template/novalnet/secure/form.phtml +114 -0
  105. app/design/frontend/default/default/template/novalnet/secure/info.phtml +37 -0
  106. app/etc/modules/Mage_Novalnet.xml +31 -31
  107. app/locale/de_AT/Mage_Novalnet.csv +128 -112
  108. app/locale/de_CH/Mage_Novalnet.csv +128 -112
  109. app/locale/de_DE/Mage_Novalnet.csv +129 -112
  110. app/locale/en_US/Find_Feed.csv +44 -0
  111. app/locale/en_US/Mage_AdminNotification.csv +30 -0
  112. app/locale/en_US/Mage_Adminhtml.csv +1220 -0
  113. app/locale/en_US/Mage_Api.csv +421 -0
  114. app/locale/en_US/Mage_Authorizenet.csv +40 -0
  115. app/locale/en_US/Mage_Backup.csv +19 -0
  116. app/locale/en_US/Mage_Bundle.csv +56 -0
  117. app/locale/en_US/Mage_Catalog.csv +754 -0
  118. app/locale/en_US/Mage_CatalogInventory.csv +47 -0
  119. app/locale/en_US/Mage_CatalogRule.csv +60 -0
  120. app/locale/en_US/Mage_CatalogSearch.csv +48 -0
  121. app/locale/en_US/Mage_Centinel.csv +34 -0
  122. app/locale/en_US/Mage_Checkout.csv +309 -0
  123. app/locale/en_US/Mage_Cms.csv +123 -0
  124. app/locale/en_US/Mage_Compiler.csv +21 -0
  125. app/locale/en_US/Mage_Connect.csv +58 -0
  126. app/locale/en_US/Mage_Contacts.csv +19 -0
  127. app/locale/en_US/Mage_Core.csv +367 -0
  128. app/l +0 -0
app/code/community/Mage/Novalnet/Block/Cc/Form.php CHANGED
@@ -1,157 +1,56 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Cc_Form extends Mage_Payment_Block_Form
30
- {
31
- protected function _construct()
32
- {
33
- parent::_construct();
34
- $this->setTemplate('novalnet/cc/form.phtml');
35
- }
36
-
37
- /**
38
- * Retrieve payment configuration object
39
- *
40
- * @return Mage_Payment_Model_Config
41
- */
42
- protected function _getConfig()
43
- {
44
- return Mage::getSingleton('payment/config');
45
- }
46
-
47
- /**
48
- * Retrieve availables credit card types
49
- *
50
- * @return array
51
- */
52
- public function getCcAvailableTypes()
53
- {
54
- $types = $this->_getConfig()->getCcTypes();
55
- if ($method = $this->getMethod()) {
56
- $availableTypes = $method->getConfigData('cctypes');
57
- if ($availableTypes) {
58
- $availableTypes = explode(',', $availableTypes);
59
- foreach ($types as $code=>$name) {
60
- if (!in_array($code, $availableTypes)) {
61
- unset($types[$code]);
62
- }
63
- }
64
- }
65
- }
66
- return $types;
67
- }
68
-
69
- /**
70
- * Retrieve credit card expire months
71
- *
72
- * @return array
73
- */
74
- public function getCcMonths()
75
- {
76
- $months = $this->getData('cc_months');
77
- if (is_null($months)) {
78
- $months[0] = $this->__('Month');
79
- $months = array_merge($months, $this->_getConfig()->getMonths());
80
- $this->setData('cc_months', $months);
81
- }
82
- return $months;
83
- }
84
-
85
- /**
86
- * Retrieve credit card expire years
87
- *
88
- * @return array
89
- */
90
- public function getCcYears()
91
- {
92
- $years = $this->getData('cc_years');
93
- if (is_null($years)) {
94
- $years = $this->_getConfig()->getYears();
95
- $years = array(0=>$this->__('Year'))+$years;
96
- $this->setData('cc_years', $years);
97
- }
98
- return $years;
99
- }
100
-
101
- /**
102
- * Retrive has verification configuration
103
- *
104
- * @return boolean
105
- */
106
- public function hasVerification()
107
- {
108
- if ($this->getMethod()) {
109
- $configData = $this->getMethod()->getConfigData('useccv');
110
- if(is_null($configData)){
111
- return true;
112
- }
113
- return (bool) $configData;
114
- }
115
- return true;
116
- }
117
- public function getCcData($customer_id){
118
- if (!$customer_id){
119
- return'';
120
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
121
- }
122
- #cc_type, cc_last4, cc_owner, cc_exp_month, cc_exp_year, nn_account_holder #nn_account_number, nn_bank_sorting_code, nn_elv_country
123
- $sql = "select a.cc_type, a.cc_last4, a.cc_owner, a.cc_exp_month, a.cc_exp_year from sales_flat_quote_payment a, sales_flat_quote b where b.customer_id = '$customer_id' and b.entity_id = a.quote_id and a.method = 'novalnetCc' order by a.created_at desc limit 1";
124
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
125
- if ($data and count($data)>0)return $data[0];
126
- return'';
127
- }
128
- public function getUserGroupExcluded()
129
- {
130
- $method = $this->getMethod();
131
- return$method->getConfigData('user_group_excluded');
132
- }
133
- public function checkUserGroupAccess($user_group_id, $user_group_name)
134
- {
135
- if (!$user_group_id or !$user_group_name){
136
- return'';
137
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
138
- }
139
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
140
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
141
- if ($data and count($data) >= 1){
142
- return false;
143
- }else {
144
- return true;
145
- }
146
- }
147
- public function getUserGroupId($id)
148
- {
149
- if (!$id){
150
- return'';
151
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
152
- }
153
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
154
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
155
- return$data[0]['customer_group_id'];
156
- }
157
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Cc_Form extends Mage_Payment_Block_Form
30
+ {
31
+ private $_localConfig;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/cc/form.phtml');
37
+ }
38
+
39
+ /**
40
+ * Retrieve payment configuration object
41
+ *
42
+ * @return Mage_Payment_Model_Config
43
+ */
44
+ public function checkCustomerAccess() {
45
+
46
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
47
+ if( strlen( $exludedGroupes ) ) {
48
+ $exludedGroupes = explode(',', $exludedGroupes);
49
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
50
+ return !in_array($custGrpId, $exludedGroupes);
51
+ }
52
+ return true;
53
+ }
54
+
55
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
app/code/community/Mage/Novalnet/Block/Cc/Info.php CHANGED
@@ -1,94 +1,92 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Cc_Info extends Mage_Payment_Block_Info
30
- {
31
- /**
32
- * Init default template for block
33
- */
34
- protected function _construct()
35
- {
36
- parent::_construct();
37
- $this->setTemplate('novalnet/cc/info.phtml');
38
- }
39
-
40
- /**
41
- * Retrieve credit card type name
42
- *
43
- * @return string
44
- */
45
- public function getCcTypeName()
46
- {
47
- $types = Mage::getSingleton('payment/config')->getCcTypes();
48
- if (isset($types[$this->getInfo()->getCcType()])) {
49
- return $types[$this->getInfo()->getCcType()];
50
- }
51
- return $this->getInfo()->getCcType();
52
- }
53
-
54
- /**
55
- * Retrieve CC expiration month
56
- *
57
- * @return string
58
- */
59
- public function getCcExpMonth()
60
- {
61
- $month = $this->getInfo()->getCcExpMonth();
62
- if ($month<10) {
63
- $month = '0'.$month;
64
- }
65
- return $month;
66
- }
67
-
68
- /**
69
- * Retrieve CC expiration date
70
- *
71
- * @return Zend_Date
72
- */
73
- public function getCcExpDate()
74
- {
75
- $date = Mage::app()->getLocale()->date(0);
76
- $date->setYear($this->getInfo()->getCcExpYear());
77
- $date->setMonth($this->getInfo()->getCcExpMonth());
78
- return $date;
79
- }
80
-
81
- public function toPdf()
82
- {
83
- $this->setTemplate('payment/info/pdf/cc.phtml');
84
- return $this->toHtml();
85
- }
86
- public function getMethod()
87
- {
88
- return $this->getInfo()->getMethodInstance();
89
- }
90
- public function getPaymentMethod()
91
- {
92
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
93
- }
94
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Cc_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+ /**
33
+ * Init default template for block
34
+ */
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('novalnet/cc/info.phtml');
39
+ }
40
+
41
+ public function getInfo()
42
+ {
43
+ if (!$this->_localInfo) {
44
+ $this->_localInfo = $this->getData('info');
45
+ $this->loadNovalnetData();
46
+ }
47
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
48
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
49
+ }
50
+ return $this->_localInfo;
51
+ }
52
+
53
+ public function toPdf()
54
+ {
55
+ $this->setTemplate('payment/info/pdf/pci.phtml');
56
+ return $this->toHtml();
57
+ }
58
+
59
+ public function getMethod()
60
+ {
61
+ return $this->getInfo()->getMethodInstance();
62
+ }
63
+
64
+ public function getPaymentMethod()
65
+ {
66
+ return $this->getMethod()->getConfigData('title');
67
+ }
68
+
69
+ public function loadNovalnetData() {
70
+ $order_id = $this->getRequest()->getParam('order_id');
71
+ $obj = NULL;
72
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
73
+ $order_id = $this->getData('info')->getOrder()->getId();
74
+ }
75
+ if( $order_id ) {
76
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
77
+ $objQuote = Mage::getModel( 'sales/quote' );
78
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
79
+ }else {
80
+ $chSess = Mage::getSingleton('checkout/session');
81
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
82
+ $objQuote = Mage::getModel( 'sales/quote' );
83
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
84
+ }else {
85
+ $obj = $this->_localInfo;
86
+ }
87
+ }
88
+ $this->setNnTestorder($obj->getNnTestorder());
89
+ $this->setNnComments($obj->getNnComments());
90
+ return $this;
91
+ }
 
 
92
  }
app/code/community/Mage/Novalnet/Block/Elvaustria/Form.php CHANGED
@@ -1,91 +1,79 @@
1
  <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Elvaustria_Form extends Mage_Payment_Block_Form
30
  {
31
-
 
32
  protected function _construct()
33
  {
34
  parent::_construct();
35
  $this->setTemplate('novalnet/elvaustria/form.phtml');
36
  }
37
- protected function _getConfig()
38
- {
39
- return Mage::getSingleton('payment/config');
40
- }
41
- public function acdc_check()
42
- {
43
- $method = $this->getMethod();
44
- return$method->getConfigData('acdc_check');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  }
46
- public function show_comment()
47
- {
48
- $method = $this->getMethod();
49
- return$method->getConfigData('comment');
50
- }
51
- public function getUserGroupExcluded()
52
- {
53
- $method = $this->getMethod();
54
- return$method->getConfigData('user_group_excluded');
55
- }
56
- public function getUserGroupId($id)
57
- {
58
- if (!$id){
59
- return'';
60
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
61
- }
62
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
63
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
64
- return$data[0]['customer_group_id'];
65
- }
66
- public function checkUserGroupAccess($user_group_id, $user_group_name)
67
- {
68
- if (!$user_group_id or !$user_group_name){
69
- return'';
70
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
71
- }
72
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
73
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
74
- if ($data and count($data) >= 1){
75
- return false;
76
- }else {
77
- return true;
78
- }
79
- }
80
- public function getAccountData($customer_id){
81
- if (!$customer_id){
82
- return'';
83
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
84
- }
85
- #cc_type, cc_last4, cc_owner, cc_exp_month, cc_exp_year, nn_account_holder #nn_account_number, nn_bank_sorting_code, nn_elv_country
86
- $sql = "select a.nn_account_holder, a.nn_account_number, a.nn_bank_sorting_code, a.nn_elv_country from sales_flat_quote_payment a, sales_flat_quote b where b.customer_id = '$customer_id' and b.entity_id = a.quote_id and a.nn_account_number != '' and a.method = 'novalnetElvaustria' order by a.created_at desc limit 1";
87
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
88
- if ($data and count($data)>0)return $data[0];
89
- return'';
90
- }
91
- }
1
  <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Elvaustria_Form extends Mage_Payment_Block_Form
30
  {
31
+ private $_localConfig;
32
+
33
  protected function _construct()
34
  {
35
  parent::_construct();
36
  $this->setTemplate('novalnet/elvaustria/form.phtml');
37
  }
38
+
39
+ protected function _getConfig()
40
+ {
41
+ if(empty($this->_localConfig)) {
42
+ $this->_localConfig = Mage::getSingleton('payment/config');
43
+ }
44
+ return $this->_localConfig;
45
+ }
46
+
47
+ public function isCallbackTypeCall()
48
+ {
49
+ return $this->getMethod()->isCallbackTypeCall();
50
+ }
51
+
52
+ public function getCustomersTelephone()
53
+ {
54
+ $customer = Mage::getSingleton('customer/session')
55
+ ->getCustomer()
56
+ ->getDefaultBillingAddress();
57
+
58
+ if( $customer )
59
+ return $customer->getTelephone();
60
+ }
61
+
62
+ public function show_comment()
63
+ {
64
+ $method = $this->getMethod();
65
+ return $method->getConfigData('comment');
66
  }
67
+
68
+ public function checkCustomerAccess() {
69
+
70
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
71
+ if( strlen( $exludedGroupes ) ) {
72
+ $exludedGroupes = explode(',', $exludedGroupes);
73
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
74
+ return !in_array($custGrpId, $exludedGroupes);
75
+ }
76
+ return true;
77
+ }
78
+
79
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Block/Elvaustria/Info.php CHANGED
@@ -1,64 +1,102 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Block_Elvaustria_Info extends Mage_Payment_Block_Info
30
- {
31
-
32
- protected function _construct()
33
- {
34
- parent::_construct();
35
- $this->setTemplate('novalnet/elvaustria/info.phtml');
36
- }
37
-
38
- public function getInfo()
39
- {
40
- $info = $this->getData('info');
41
- if (!($info instanceof Mage_Payment_Model_Info)) {
42
- Mage::throwException($this->__('Can not retrieve payment info model object.'));
43
- }
44
- return $info;
45
- }
46
-
47
- /**
48
- * Retrieve payment method model
49
- *
50
- * @return Mage_Payment_Model_Method_Abstract
51
- */
52
- public function getMethod()
53
- {
54
- return $this->getInfo()->getMethodInstance();
55
- }
56
- public function getPaymentMethod()
57
- {
58
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
59
- }
60
- public function getInfoData($field)
61
- {
62
- return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Block_Elvaustria_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/elvaustria/info.phtml');
37
+ }
38
+ public function toPdf()
39
+ {
40
+ $this->setTemplate('payment/info/pdf/cc.phtml');
41
+ return $this->toHtml();
42
+ }
43
+ public function getInfo()
44
+ {
45
+ if (!$this->_localInfo) {
46
+ $this->_localInfo = $this->getData('info');
47
+ $this->loadNovalnetData();
48
+ }
49
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
50
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
51
+ }
52
+ return $this->_localInfo;
53
+ }
54
+
55
+ /**
56
+ * Retrieve payment method model
57
+ *
58
+ * @return Mage_Payment_Model_Method_Abstract
59
+ */
60
+ public function getMethod()
61
+ {
62
+ return $this->getInfo()->getMethodInstance();
63
+ }
64
+
65
+ public function getPaymentMethod()
66
+ {
67
+ return $this->htmlEscape($this->getMethod()->getConfigData('title'));
68
+ }
69
+
70
+ public function getInfoData($field)
71
+ {
72
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
73
+ }
74
+
75
+ public function loadNovalnetData() {
76
+ $order_id = $this->getRequest()->getParam('order_id');
77
+ $obj = NULL;
78
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
79
+ $order_id = $this->getData('info')->getOrder()->getId();
80
+ }
81
+ if( $order_id ) {
82
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
83
+ $objQuote = Mage::getModel( 'sales/quote' );
84
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else {
86
+ $chSess = Mage::getSingleton('checkout/session');
87
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
+ $objQuote = Mage::getModel( 'sales/quote' );
89
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
90
+ }else {
91
+ $obj = $this->_localInfo;
92
+ }
93
+ }
94
+ $this->setNnAccountHolder($obj->getNnAccountHolder());
95
+ $this->setNnAccountNumber($obj->getNnAccountNumber());
96
+ $this->setNnBankSortingCode($obj->getNnBankSortingCode());
97
+ $this->setNnElvCountry($obj->getNnElvCountry());
98
+ $this->setNnTestorder($obj->getNnTestorder());
99
+ $this->setNnComments($obj->getNnComments());
100
+ return $this;
101
+ }
102
+ }
app/code/community/Mage/Novalnet/Block/Elvgerman/Form.php CHANGED
@@ -1,92 +1,85 @@
1
  <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Elvgerman_Form extends Mage_Payment_Block_Form
30
  {
31
-
 
32
  protected function _construct()
33
  {
34
  parent::_construct();
35
  $this->setTemplate('novalnet/elvgerman/form.phtml');
36
  }
37
- protected function _getConfig()
38
- {
39
- return Mage::getSingleton('payment/config');
40
- }
41
- public function acdc_check()
42
- {
43
- $method = $this->getMethod();
44
- return$method->getConfigData('acdc_check');
 
 
 
 
 
45
  }
46
- public function show_comment()
47
- {
48
- $method = $this->getMethod();
49
- return$method->getConfigData('comment');
50
- }
51
- public function getUserGroupExcluded()
52
- {
53
- $method = $this->getMethod();
54
- return$method->getConfigData('user_group_excluded');
55
- }
56
- public function getUserGroupId($id)
57
- {
58
- if (!$id){
59
- return'';
60
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
61
- }
62
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
63
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
64
- return$data[0]['customer_group_id'];
65
- }
66
- public function checkUserGroupAccess($user_group_id, $user_group_name)
67
- {
68
- if (!$user_group_id or !$user_group_name){
69
- return'';
70
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
71
- }
72
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
73
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
74
- if ($data and count($data) >= 1){
75
- return false;
76
- }else {
77
- return true;
78
- }
79
- }
80
- public function getAccountData($customer_id){
81
- if (!$customer_id){
82
- return'';
83
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
84
- }
85
- #cc_type, cc_last4, cc_owner, cc_exp_month, cc_exp_year, nn_account_holder #nn_account_number, nn_bank_sorting_code, nn_elv_country
86
- $sql = "select a.nn_account_holder, a.nn_account_number, a.nn_bank_sorting_code, a.nn_elv_country from sales_flat_quote_payment a, sales_flat_quote b where b.customer_id = '$customer_id' and b.entity_id = a.quote_id and a.nn_account_number != '' and a.method = 'novalnetElvgerman' order by a.created_at desc limit 1";
87
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
88
- if ($data and count($data)>0)return $data[0];
89
- return'';
90
- }
91
-
92
- }
1
  <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Elvgerman_Form extends Mage_Payment_Block_Form
30
  {
31
+ private $_localConfig;
32
+
33
  protected function _construct()
34
  {
35
  parent::_construct();
36
  $this->setTemplate('novalnet/elvgerman/form.phtml');
37
  }
38
+
39
+ protected function _getConfig()
40
+ {
41
+ if(empty($this->_localConfig)) {
42
+ $this->_localConfig = Mage::getSingleton('payment/config');
43
+ }
44
+ return $this->_localConfig;
45
+ }
46
+
47
+ public function acdc_check()
48
+ {
49
+ $method = $this->getMethod();
50
+ return $method->getConfigData('acdc_check');
51
  }
52
+
53
+ public function isCallbackTypeCall()
54
+ {
55
+ return $this->getMethod()->isCallbackTypeCall();
56
+ }
57
+
58
+ public function getCustomersTelephone()
59
+ {
60
+ $customer = Mage::getSingleton('customer/session')
61
+ ->getCustomer()
62
+ ->getDefaultBillingAddress();
63
+
64
+ if( $customer )
65
+ return $customer->getTelephone();
66
+ }
67
+
68
+ public function show_comment()
69
+ {
70
+ $method = $this->getMethod();
71
+ return $method->getConfigData('comment');
72
+ }
73
+
74
+ public function checkCustomerAccess() {
75
+
76
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
77
+ if( strlen( $exludedGroupes ) ) {
78
+ $exludedGroupes = explode(',', $exludedGroupes);
79
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
80
+ return !in_array($custGrpId, $exludedGroupes);
81
+ }
82
+ return true;
83
+ }
84
+
85
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Block/Elvgerman/Info.php CHANGED
@@ -1,64 +1,102 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Block_Elvgerman_Info extends Mage_Payment_Block_Info
30
- {
31
-
32
- protected function _construct()
33
- {
34
- parent::_construct();
35
- $this->setTemplate('novalnet/elvgerman/info.phtml');
36
- }
37
-
38
- public function getInfo()
39
- {
40
- $info = $this->getData('info');
41
- if (!($info instanceof Mage_Payment_Model_Info)) {
42
- Mage::throwException($this->__('Can not retrieve payment info model object.'));
43
- }
44
- return $info;
45
- }
46
-
47
- /**
48
- * Retrieve payment method model
49
- *
50
- * @return Mage_Payment_Model_Method_Abstract
51
- */
52
- public function getMethod()
53
- {
54
- return $this->getInfo()->getMethodInstance();
55
- }
56
- public function getPaymentMethod()
57
- {
58
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
59
- }
60
- public function getInfoData($field)
61
- {
62
- return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Block_Elvgerman_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/elvgerman/info.phtml');
37
+ }
38
+
39
+ public function getInfo()
40
+ {
41
+ if (!$this->_localInfo) {
42
+ $this->_localInfo = $this->getData('info');
43
+ $this->loadNovalnetData();
44
+ }
45
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
46
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
47
+ }
48
+ return $this->_localInfo;
49
+ }
50
+
51
+ /**
52
+ * Retrieve payment method model
53
+ *
54
+ * @return Mage_Payment_Model_Method_Abstract
55
+ */
56
+ public function getMethod()
57
+ {
58
+ return $this->getInfo()->getMethodInstance();
59
+ }
60
+
61
+ public function getPaymentMethod()
62
+ {
63
+ return $this->htmlEscape($this->getMethod()->getConfigData('title'));
64
+ }
65
+
66
+ public function getInfoData($field)
67
+ {
68
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
69
+ }
70
+ public function toPdf()
71
+ {
72
+ $this->setTemplate('payment/info/pdf/cc.phtml');
73
+ return $this->toHtml();
74
+ }
75
+ public function loadNovalnetData() {
76
+ $order_id = $this->getRequest()->getParam('order_id');
77
+ $obj = NULL;
78
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
79
+ $order_id = $this->getData('info')->getOrder()->getId();
80
+ }
81
+ if( $order_id ) {
82
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
83
+ $objQuote = Mage::getModel( 'sales/quote' );
84
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else {
86
+ $chSess = Mage::getSingleton('checkout/session');
87
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
+ $objQuote = Mage::getModel( 'sales/quote' );
89
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
90
+ }else {
91
+ $obj = $this->_localInfo;
92
+ }
93
+ }
94
+ $this->setNnAccountHolder($obj->getNnAccountHolder());
95
+ $this->setNnAccountNumber($obj->getNnAccountNumber());
96
+ $this->setNnBankSortingCode($obj->getNnBankSortingCode());
97
+ $this->setNnElvCountry($obj->getNnElvCountry());
98
+ $this->setNnTestorder($obj->getNnTestorder());
99
+ $this->setNnComments($obj->getNnComments());
100
+ return $this;
101
+ }
102
+ }
app/code/community/Mage/Novalnet/Block/Invoice/Form.php CHANGED
@@ -1,80 +1,84 @@
1
  <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Invoice_Form extends Mage_Payment_Block_Form
30
  {
31
-
 
32
  protected function _construct()
33
  {
34
  parent::_construct();
35
  $this->setTemplate('novalnet/invoice/form.phtml');
36
  }
37
- protected function _getConfig()
38
- {
39
- return Mage::getSingleton('payment/config');
40
- }
41
- /* public function getInvoiceAvailableCountries()
42
- {
43
- if ($method = $this->getMethod()) {
44
- $availableCountries = $method->getConfigData('invoicecountries');
45
- if ($availableCountries) {
46
- $availableCountries = explode(',', $availableCountries);
47
- }
48
- }
49
- return $availableCountries;
50
- }*/
51
- public function getUserGroupExcluded()
52
- {
53
- $method = $this->getMethod();
54
- return$method->getConfigData('user_group_excluded');
55
- }
56
- public function getUserGroupId($id)
57
- {
58
- if (!$id){
59
- return'';
60
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
61
- }
62
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
63
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
64
- return$data[0]['customer_group_id'];
65
- }
66
- public function checkUserGroupAccess($user_group_id, $user_group_name)
67
- {
68
- if (!$user_group_id or !$user_group_name){
69
- return'';
70
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
71
- }
72
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
73
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
74
- if ($data and count($data) >= 1){
75
- return false;
76
- }else {
77
- return true;
78
- }
79
- }
 
 
 
80
  }
1
  <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Invoice_Form extends Mage_Payment_Block_Form
30
  {
31
+ private $_localConfig;
32
+
33
  protected function _construct()
34
  {
35
  parent::_construct();
36
  $this->setTemplate('novalnet/invoice/form.phtml');
37
  }
38
+
39
+ protected function _getConfig()
40
+ {
41
+ if(empty($this->_localConfig)) {
42
+ $this->_localConfig = Mage::getSingleton('payment/config');
43
+ }
44
+ return $this->_localConfig;
45
+ }
46
+
47
+ /* public function getInvoiceAvailableCountries()
48
+ {
49
+ if ($method = $this->getMethod()) {
50
+ $availableCountries = $method->getConfigData('invoicecountries');
51
+ if ($availableCountries) {
52
+ $availableCountries = explode(',', $availableCountries);
53
+ }
54
+ }
55
+ return $availableCountries;
56
+ }
57
+ */
58
+ public function checkCustomerAccess() {
59
+
60
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
61
+ if( strlen( $exludedGroupes ) ) {
62
+ $exludedGroupes = explode(',', $exludedGroupes);
63
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
64
+ return !in_array($custGrpId, $exludedGroupes);
65
+ }
66
+ return true;
67
+ }
68
+
69
+ public function isCallbackTypeCall()
70
+ {
71
+ return $this->getMethod()->isCallbackTypeCall();
72
+ }
73
+
74
+ public function getCustomersTelephone()
75
+ {
76
+ $customer = Mage::getSingleton('customer/session')
77
+ ->getCustomer()
78
+ ->getDefaultBillingAddress();
79
+
80
+ if( $customer )
81
+ return $customer->getTelephone();
82
+ }
83
+
84
  }
app/code/community/Mage/Novalnet/Block/Invoice/Info.php CHANGED
@@ -1,91 +1,115 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Block_Invoice_Info extends Mage_Payment_Block_Info
30
- {
31
-
32
- protected function _construct()
33
- {
34
- parent::_construct();
35
- $this->setTemplate('novalnet/invoice/info.phtml');
36
- }
37
-
38
- public function getInfo()
39
- {
40
- $info = $this->getData('info');
41
- if (!($info instanceof Mage_Payment_Model_Info)) {
42
- Mage::throwException($this->__('Can not retrieve payment info model object.'));
43
- }
44
- return $info;
45
- }
46
-
47
- /**
48
- * Retrieve payment method model
49
- *
50
- * @return Mage_Payment_Model_Method_Abstract
51
- */
52
- public function getMethod()
53
- {
54
- return $this->getInfo()->getMethodInstance();
55
- }
56
- public function getInfoData($field)
57
- {
58
- return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
59
- }
60
- public function getPaymentMethod()
61
- {
62
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
63
- }
64
- public function getDuedate()
65
- {
66
- $payment_duration = $this->getMethod()->getConfigData('payment_duration');
67
- $due_date = '';
68
- $due_date_string = '';
69
- if($payment_duration)
70
- {
71
- $due_date = date("d.m.Y",mktime(0,0,0,date("m"),date("d")+$payment_duration,date("Y")));
72
- $due_date_string = '&due_date='.date("Y-m-d",mktime(0,0,0,date("m"),date("d")+$payment_duration,date("Y")));
73
-
74
- /*if ($payment->getNnElvCountry()=="DE") or $payment->getNnElvCountry()=="AT"))
75
- {
76
- $due_date = explode('-', $due_date);
77
- $due_date = $due_date[];
78
- }*/
79
- }
80
-
81
- /*if($due_date)
82
- {
83
- $order->info['comments'] .= '<BR><B>'.MODULE_PAYMENT_NOVALNET_INVOICE_TEXT_DURATION_LIMIT_INFO." $due_date ".MODULE_PAYMENT_NOVALNET_INVOICE_TEXT_DURATION_LIMIT_END_INFO.".</B><BR><BR>";
84
- }
85
- else
86
- {
87
- $order->info['comments'] = '<BR><B>'.MODULE_PAYMENT_NOVALNET_INVOICE_TEXT_TRANSFER_INFO.'</B><BR><BR>';
88
- }*/
89
- return$due_date;
90
- }
91
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Block_Invoice_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/invoice/info.phtml');
37
+ }
38
+
39
+ public function getInfo()
40
+ {
41
+ if (!$this->_localInfo) {
42
+ $this->_localInfo = $this->getData('info');
43
+ $this->loadNovalnetData();
44
+ }
45
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
46
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
47
+ }
48
+ return $this->_localInfo;
49
+ }
50
+
51
+ /**
52
+ * Retrieve payment method model
53
+ *
54
+ * @return Mage_Payment_Model_Method_Abstract
55
+ */
56
+ public function getMethod()
57
+ {
58
+ return $this->getInfo()->getMethodInstance();
59
+ }
60
+
61
+ public function getInfoData($field)
62
+ {
63
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
64
+ }
65
+
66
+ public function getPaymentMethod()
67
+ {
68
+ return $this->htmlEscape($this->getMethod()->getConfigData('title'));
69
+ }
70
+
71
+ public function loadNovalnetData() {
72
+ $order_id = $this->getRequest()->getParam('order_id');
73
+ $obj = NULL;
74
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
75
+ $order_id = $this->getData('info')->getOrder()->getId();
76
+ }
77
+ if( $order_id ) {
78
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
79
+ $objQuote = Mage::getModel( 'sales/quote' );
80
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
81
+ }else {
82
+ $chSess = Mage::getSingleton('checkout/session');
83
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
84
+ $objQuote = Mage::getModel( 'sales/quote' );
85
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
86
+ }else {
87
+ $obj = $this->_localInfo;
88
+ }
89
+ }
90
+ // $this->setNnAccountHolder($obj->getNnAccountHolder());
91
+ // $this->setNnAccountNumber($obj->getNnAccountNumber());
92
+ // $this->setNnBankSortingCode($obj->getNnBankSortingCode());
93
+ // $this->setNnElvCountry($obj->getNnElvCountry());
94
+ $this->setNnTestorder($obj->getNnTestorder());
95
+ $this->setNnComments($obj->getNnComments());
96
+ return $this;
97
+ }
98
+ public function toPdf()
99
+ {
100
+ $this->setTemplate('payment/info/pdf/cc.phtml');
101
+ return $this->toHtml();
102
+ }
103
+ public function getDuedate()
104
+ {
105
+ $dueDate = NULL;
106
+ $order_id = $this->getRequest()->getParam('order_id');
107
+ $paymentDuration = (int)trim($this->getMethod()
108
+ ->getConfigData('payment_duration'))
109
+ ;
110
+ if($paymentDuration && !$order_id) {
111
+ $dueDate = date('d.m.Y', strtotime('+' . $paymentDuration . ' days'));
112
+ }
113
+ return $dueDate;
114
+ }
115
+ }
app/code/community/Mage/Novalnet/Block/{Instantbanktransfer/Failure.php → Pci/Form.php} RENAMED
@@ -1,48 +1,47 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Instantbanktransfer_Failure extends Mage_Core_Block_Template
30
- {
31
- /**
32
- * Return Error message
33
- *
34
- * @return string
35
- */
36
- public function getErrorMessage ()
37
- {
38
- return Mage::getSingleton('checkout/session')->getNovalnetErrorMessage();
39
- }
40
-
41
- /**
42
- * Get continue shopping url
43
- */
44
- public function getContinueShoppingUrl()
45
- {
46
- return Mage::getUrl('checkout/cart');
47
- }
48
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Pci_Form extends Mage_Payment_Block_Form
30
+ {
31
+ protected function _construct()
32
+ {
33
+ parent::_construct();
34
+ $this->setTemplate('novalnet/pci/form.phtml');
35
+ }
36
+
37
+ public function checkCustomerAccess() {
38
+
39
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
40
+ if( strlen( $exludedGroupes ) ) {
41
+ $exludedGroupes = explode(',', $exludedGroupes);
42
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
43
+ return !in_array($custGrpId, $exludedGroupes);
44
+ }
45
+ return true;
46
+ }
 
47
  }
app/code/community/Mage/Novalnet/Block/Pci/Info.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Pci_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+ /**
33
+ * Init default template for block
34
+ */
35
+ protected function _construct()
36
+ {
37
+ parent::_construct();
38
+ $this->setTemplate('novalnet/pci/info.phtml');
39
+ }
40
+
41
+ public function getInfo()
42
+ {
43
+ if (!$this->_localInfo) {
44
+ $this->_localInfo = $this->getData('info');
45
+ $this->loadNovalnetData();
46
+ }
47
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
48
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
49
+ }
50
+ return $this->_localInfo;
51
+ }
52
+
53
+ public function toPdf()
54
+ {
55
+ $this->setTemplate('payment/info/pdf/pci.phtml');
56
+ return $this->toHtml();
57
+ }
58
+
59
+ public function getMethod()
60
+ {
61
+ return $this->getInfo()->getMethodInstance();
62
+ }
63
+
64
+ public function getPaymentMethod()
65
+ {
66
+ return $this->getMethod()->getConfigData('title');
67
+ }
68
+
69
+ public function loadNovalnetData() {
70
+ $order_id = $this->getRequest()->getParam('order_id');
71
+ $obj = NULL;
72
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
73
+ $order_id = $this->getData('info')->getOrder()->getId();
74
+ }
75
+ if( $order_id ) {
76
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
77
+ $objQuote = Mage::getModel( 'sales/quote' );
78
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
79
+ }else {
80
+ $chSess = Mage::getSingleton('checkout/session');
81
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
82
+ $objQuote = Mage::getModel( 'sales/quote' );
83
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
84
+ }else {
85
+ $obj = $this->_localInfo;
86
+ }
87
+ }
88
+ $this->setNnTestorder($obj->getNnTestorder());
89
+ $this->setNnComments($obj->getNnComments());
90
+ return $this;
91
+ }
92
+ }
app/code/community/Mage/Novalnet/Block/{Instantbanktransfer → Pci}/Redirect.php RENAMED
@@ -1,51 +1,53 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Instantbanktransfer_Redirect extends Mage_Core_Block_Abstract
30
- {
31
- protected function _toHtml()
32
- {
33
- $instantbanktransfer = $this->getOrder()->getPayment()->getMethodInstance();
34
-
35
- $form = new Varien_Data_Form();
36
- $form->setAction($instantbanktransfer->getNovalnetInstantbanktransferUrl())
37
- ->setId('novalnet_instantbanktransfer_checkout')
38
- ->setName('novalnet_instantbanktransfer_checkout')
39
- ->setMethod('POST')
40
- ->setUseContainer(true);
41
- foreach ($instantbanktransfer->getFormFields() as $field=>$value) {
42
- $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
43
- }
44
- $html = '<html><body>';
45
- $html.= $this->__('You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.');
46
- $html.= $form->toHtml();
47
- $html.= '<script type="text/javascript">document.getElementById("novalnet_instantbanktransfer_checkout").submit();</script>';
48
- $html.= '</body></html>';
49
- return $html;
50
- }
 
 
51
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Pci_Redirect extends Mage_Core_Block_Abstract
30
+ {
31
+ protected function _toHtml()
32
+ {
33
+ $pci = $this->getOrder()->getPayment()->getMethodInstance();
34
+ $formName = $formID = $pci->getCode();
35
+ $form = new Varien_Data_Form();
36
+ $form->setAction($pci->getCgiUrl())
37
+ ->setId($formID)
38
+ ->setName($formName)
39
+ ->setMethod('POST')
40
+ ->setUseContainer(true);
41
+ foreach ($pci->getFormData()->toArray() as $field=>$value) {
42
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
43
+ }
44
+ $form->addField('continue', 'submit', array('name'=>'continue', 'value'=>$this->__('continue')));
45
+
46
+ $html = '<html><body>';
47
+ $html.= $this->__('You will be redirected to Novalnet AG in a few seconds.');
48
+ $html.= $form->toHtml();
49
+ $html.= '<script type="text/javascript">document.getElementById("' . $formID . '").submit();</script>';
50
+ $html.= '</body></html>';
51
+ return $html;
52
+ }
53
  }
app/code/community/Mage/Novalnet/Block/Phonepayment/Form.php CHANGED
@@ -1,71 +1,57 @@
1
  <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Phonepayment_Form extends Mage_Payment_Block_Form
30
  {
31
-
 
32
  protected function _construct()
33
- {$payment = Mage::getModel('sales/quote_payment');
34
- #Mage::throwException($payment);
35
  parent::_construct();
36
  $this->setTemplate('novalnet/phonepayment/form.phtml');
37
  }
38
- protected function _getConfig()
39
- {
40
- return Mage::getSingleton('payment/config');
41
- }
42
- public function getUserGroupExcluded()
43
- {
44
- $method = $this->getMethod();
45
- return$method->getConfigData('user_group_excluded');
46
- }
47
- public function getUserGroupId($id)
48
- {
49
- if (!$id){
50
- return'';
51
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
52
- }
53
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
54
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
55
- return$data[0]['customer_group_id'];
56
- }
57
- public function checkUserGroupAccess($user_group_id, $user_group_name)
58
- {
59
- if (!$user_group_id or !$user_group_name){
60
- return'';
61
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
62
- }
63
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
64
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
65
- if ($data and count($data) >= 1){
66
- return false;
67
- }else {
68
- return true;
69
- }
70
  }
71
  }
1
  <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Phonepayment_Form extends Mage_Payment_Block_Form
30
  {
31
+ private $_localConfig;
32
+
33
  protected function _construct()
34
+ {
 
35
  parent::_construct();
36
  $this->setTemplate('novalnet/phonepayment/form.phtml');
37
  }
38
+
39
+ protected function _getConfig()
40
+ {
41
+ if(empty($this->_localConfig)) {
42
+ $this->_localConfig = Mage::getSingleton('payment/config');
43
+ }
44
+ return $this->_localConfig;
45
+ }
46
+
47
+ public function checkCustomerAccess() {
48
+
49
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
50
+ if( strlen( $exludedGroupes ) ) {
51
+ $exludedGroupes = explode(',', $exludedGroupes);
52
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
53
+ return !in_array($custGrpId, $exludedGroupes);
54
+ }
55
+ return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
57
  }
app/code/community/Mage/Novalnet/Block/Phonepayment/Info.php CHANGED
@@ -1,64 +1,102 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Block_Phonepayment_Info extends Mage_Payment_Block_Info
30
- {
31
-
32
- protected function _construct()
33
- {
34
- parent::_construct();
35
- $this->setTemplate('novalnet/phonepayment/info.phtml');
36
- }
37
-
38
- public function getInfo()
39
- {
40
- $info = $this->getData('info');
41
- if (!($info instanceof Mage_Payment_Model_Info)) {
42
- Mage::throwException($this->__('Can not retrieve payment info model object.'));
43
- }
44
- return $info;
45
- }
46
-
47
- /**
48
- * Retrieve payment method model
49
- *
50
- * @return Mage_Payment_Model_Method_Abstract
51
- */
52
- public function getMethod()
53
- {
54
- return $this->getInfo()->getMethodInstance();
55
- }
56
- public function getInfoData($field)
57
- {
58
- return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
59
- }
60
- public function getPaymentMethod()
61
- {
62
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Block_Phonepayment_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/phonepayment/info.phtml');
37
+ }
38
+
39
+ public function getInfo()
40
+ {
41
+ if (!$this->_localInfo) {
42
+ $this->_localInfo = $this->getData('info');
43
+ $this->loadNovalnetData();
44
+ }
45
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
46
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
47
+ }
48
+ return $this->_localInfo;
49
+ }
50
+
51
+ /**
52
+ * Retrieve payment method model
53
+ *
54
+ * @return Mage_Payment_Model_Method_Abstract
55
+ */
56
+ public function getMethod()
57
+ {
58
+ return $this->getInfo()->getMethodInstance();
59
+ }
60
+
61
+ public function getInfoData($field)
62
+ {
63
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
64
+ }
65
+ public function toPdf()
66
+ {
67
+ $this->setTemplate('payment/info/pdf/cc.phtml');
68
+ return $this->toHtml();
69
+ }
70
+ public function getPaymentMethod()
71
+ {
72
+ return $this->htmlEscape($this->getMethod()->getConfigData('title'));
73
+ }
74
+
75
+ public function loadNovalnetData() {
76
+ $order_id = $this->getRequest()->getParam('order_id');
77
+ $obj = NULL;
78
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
79
+ $order_id = $this->getData('info')->getOrder()->getId();
80
+ }
81
+ if( $order_id ) {
82
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
83
+ $objQuote = Mage::getModel( 'sales/quote' );
84
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else {
86
+ $chSess = Mage::getSingleton('checkout/session');
87
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
+ $objQuote = Mage::getModel( 'sales/quote' );
89
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
90
+ }else {
91
+ $obj = $this->_localInfo;
92
+ }
93
+ }
94
+ // $this->setNnAccountHolder($obj->getNnAccountHolder());
95
+ // $this->setNnAccountNumber($obj->getNnAccountNumber());
96
+ // $this->setNnBankSortingCode($obj->getNnBankSortingCode());
97
+ // $this->setNnElvCountry($obj->getNnElvCountry());
98
+ $this->setNnTestorder($obj->getNnTestorder());
99
+ $this->setNnComments($obj->getNnComments());
100
+ return $this;
101
+ }
102
+ }
app/code/community/Mage/Novalnet/Block/Prepayment/Form.php CHANGED
@@ -1,80 +1,68 @@
1
  <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Prepayment_Form extends Mage_Payment_Block_Form
30
  {
31
-
 
32
  protected function _construct()
33
  {
34
  parent::_construct();
35
  $this->setTemplate('novalnet/prepayment/form.phtml');
36
  }
37
- protected function _getConfig()
38
- {
39
- return Mage::getSingleton('payment/config');
40
- }
41
- /*public function getPrepaymentAvailableCountries()
42
- {
43
- if ($method = $this->getMethod()) {
44
- $availableCountries = $method->getConfigData('prepaymentcountries');
45
- if ($availableCountries) {
46
- $availableCountries = explode(',', $availableCountries);
47
- }
48
- }
49
- return $availableCountries;
50
- }*/
51
- public function getUserGroupExcluded()
52
- {
53
- $method = $this->getMethod();
54
- return$method->getConfigData('user_group_excluded');
55
- }
56
- public function getUserGroupId($id)
57
- {
58
- if (!$id){
59
- return'';
60
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
61
- }
62
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
63
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
64
- return$data[0]['customer_group_id'];
65
- }
66
- public function checkUserGroupAccess($user_group_id, $user_group_name)
67
- {
68
- if (!$user_group_id or !$user_group_name){
69
- return'';
70
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
71
- }
72
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
73
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
74
- if ($data and count($data) >= 1){
75
- return false;
76
- }else {
77
- return true;
78
- }
79
  }
80
  }
1
  <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
28
 
29
  class Mage_Novalnet_Block_Prepayment_Form extends Mage_Payment_Block_Form
30
  {
31
+ private $_localConfig;
32
+
33
  protected function _construct()
34
  {
35
  parent::_construct();
36
  $this->setTemplate('novalnet/prepayment/form.phtml');
37
  }
38
+
39
+ protected function _getConfig()
40
+ {
41
+ if(empty($this->_localConfig)) {
42
+ $this->_localConfig = Mage::getSingleton('payment/config');
43
+ }
44
+ return $this->_localConfig;
45
+ }
46
+
47
+ /* public function getPrepaymentAvailableCountries()
48
+ {
49
+ if ($method = $this->getMethod()) {
50
+ $availableCountries = $method->getConfigData('prepaymentcountries');
51
+ if ($availableCountries) {
52
+ $availableCountries = explode(',', $availableCountries);
53
+ }
54
+ }
55
+ return $availableCountries;
56
+ }
57
+ */
58
+ public function checkCustomerAccess() {
59
+
60
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
61
+ if( strlen( $exludedGroupes ) ) {
62
+ $exludedGroupes = explode(',', $exludedGroupes);
63
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
64
+ return !in_array($custGrpId, $exludedGroupes);
65
+ }
66
+ return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
  }
app/code/community/Mage/Novalnet/Block/Prepayment/Info.php CHANGED
@@ -1,64 +1,102 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Block_Prepayment_Info extends Mage_Payment_Block_Info
30
- {
31
-
32
- protected function _construct()
33
- {
34
- parent::_construct();
35
- $this->setTemplate('novalnet/prepayment/info.phtml');
36
- }
37
-
38
- public function getInfo()
39
- {
40
- $info = $this->getData('info');
41
- if (!($info instanceof Mage_Payment_Model_Info)) {
42
- Mage::throwException($this->__('Can not retrieve payment info model object.'));
43
- }
44
- return $info;
45
- }
46
-
47
- /**
48
- * Retrieve payment method model
49
- *
50
- * @return Mage_Payment_Model_Method_Abstract
51
- */
52
- public function getMethod()
53
- {
54
- return $this->getInfo()->getMethodInstance();
55
- }
56
- public function getInfoData($field)
57
- {
58
- return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
59
- }
60
- public function getPaymentMethod()
61
- {
62
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Block_Prepayment_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/prepayment/info.phtml');
37
+ }
38
+
39
+ public function getInfo()
40
+ {
41
+ if (!$this->_localInfo) {
42
+ $this->_localInfo = $this->getData('info');
43
+ $this->loadNovalnetData();
44
+ }
45
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
46
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
47
+ }
48
+ return $this->_localInfo;
49
+ }
50
+ public function toPdf()
51
+ {
52
+ $this->setTemplate('payment/info/pdf/cc.phtml');
53
+ return $this->toHtml();
54
+ }
55
+ public function loadNovalnetData() {
56
+ $order_id = $this->getRequest()->getParam('order_id');
57
+ $obj = NULL;
58
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
59
+ $order_id = $this->getData('info')->getOrder()->getId();
60
+ }
61
+ if( $order_id ) {
62
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
63
+ $objQuote = Mage::getModel( 'sales/quote' );
64
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
65
+ }else {
66
+ $chSess = Mage::getSingleton('checkout/session');
67
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
68
+ $objQuote = Mage::getModel( 'sales/quote' );
69
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
70
+ }else {
71
+ $obj = $this->_localInfo;
72
+ }
73
+ }
74
+ // $this->setNnAccountHolder($obj->getNnAccountHolder());
75
+ // $this->setNnAccountNumber($obj->getNnAccountNumber());
76
+ // $this->setNnBankSortingCode($obj->getNnBankSortingCode());
77
+ // $this->setNnElvCountry($obj->getNnElvCountry());
78
+ $this->setNnTestorder($obj->getNnTestorder());
79
+ $this->setNnComments($obj->getNnComments());
80
+ return $this;
81
+ }
82
+
83
+ /**
84
+ * Retrieve payment method model
85
+ *
86
+ * @return Mage_Payment_Model_Method_Abstract
87
+ */
88
+ public function getMethod()
89
+ {
90
+ return $this->getInfo()->getMethodInstance();
91
+ }
92
+
93
+ public function getInfoData($field)
94
+ {
95
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
96
+ }
97
+
98
+ public function getPaymentMethod()
99
+ {
100
+ return $this->htmlEscape($this->getMethod()->getConfigData('title'));
101
+ }
102
+ }
app/code/community/Mage/Novalnet/Block/Secure/Failure.php DELETED
@@ -1,48 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Secure_Failure extends Mage_Core_Block_Template
30
- {
31
- /**
32
- * Return Error message
33
- *
34
- * @return string
35
- */
36
- public function getErrorMessage ()
37
- {
38
- return Mage::getSingleton('checkout/session')->getNovalnetErrorMessage();
39
- }
40
-
41
- /**
42
- * Get continue shopping url
43
- */
44
- public function getContinueShoppingUrl()
45
- {
46
- return Mage::getUrl('checkout/cart');
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Block/{Instantbanktransfer → Secure}/Form.php RENAMED
@@ -1,157 +1,133 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Instantbanktransfer_Form extends Mage_Payment_Block_Form
30
- {
31
- protected function _construct()
32
- {
33
- parent::_construct();
34
- $this->setTemplate('novalnet/instantbanktransfer/form.phtml');#path = magento\app\design\frontend\default\default\template\novalnet\instantbanktransfer
35
- }
36
-
37
- /**
38
- * Retrieve payment configuration object
39
- *
40
- * @return Mage_Payment_Model_Config
41
- */
42
- protected function _getConfig()
43
- {
44
- return Mage::getSingleton('payment/config');
45
- }
46
-
47
- /**
48
- * Retrieve availables credit card types
49
- *
50
- * @return array
51
- */
52
- /*public function getCcAvailableTypes()
53
- {
54
- $types = $this->_getConfig()->getCcTypes();
55
- if ($method = $this->getMethod()) {
56
- $availableTypes = $method->getConfigData('cctypes');
57
- if ($availableTypes) {
58
- $availableTypes = explode(',', $availableTypes);
59
- foreach ($types as $code=>$name) {
60
- if (!in_array($code, $availableTypes)) {
61
- unset($types[$code]);
62
- }
63
- }
64
- }
65
- }
66
- return $types;
67
- }*/
68
-
69
- /**
70
- * Retrieve credit card expire months
71
- *
72
- * @return array
73
- */
74
- /*public function getCcMonths()
75
- {
76
- $months = $this->getData('cc_months');
77
- if (is_null($months)) {
78
- $months[0] = $this->__('Month');
79
- $months = array_merge($months, $this->_getConfig()->getMonths());
80
- $this->setData('cc_months', $months);
81
- }
82
- return $months;
83
- }*/
84
-
85
- /**
86
- * Retrieve credit card expire years
87
- *
88
- * @return array
89
- */
90
- /*public function getCcYears()
91
- {
92
- $years = $this->getData('cc_years');
93
- if (is_null($years)) {
94
- $years = $this->_getConfig()->getYears();
95
- $years = array(0=>$this->__('Year'))+$years;
96
- $this->setData('cc_years', $years);
97
- }
98
- return $years;
99
- }*/
100
-
101
- /**
102
- * Retrive has verification configuration
103
- *
104
- * @return boolean
105
- */
106
- /*public function hasVerification()
107
- {
108
- if ($this->getMethod()) {
109
- $configData = $this->getMethod()->getConfigData('useccv');
110
- if(is_null($configData)){
111
- return true;
112
- }
113
- return (bool) $configData;
114
- }
115
- return true;
116
- }*/
117
- /*public function getCcData($customer_id){
118
- if (!$customer_id){
119
- return'';
120
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
121
- }
122
- #cc_type, cc_last4, cc_owner, cc_exp_month, cc_exp_year, nn_account_holder #nn_account_number, nn_bank_sorting_code, nn_elv_country
123
- $sql = "select a.cc_type, a.cc_last4, a.cc_owner, a.cc_exp_month, a.cc_exp_year from sales_flat_quote_payment a, sales_flat_quote b where b.customer_id = '$customer_id' and b.entity_id = a.quote_id and a.method = 'novalnetCc' order by a.created_at desc limit 1";
124
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
125
- if ($data and count($data)>0)return $data[0];
126
- return'';
127
- }*/
128
- public function getUserGroupExcluded()
129
- {
130
- $method = $this->getMethod();
131
- return$method->getConfigData('user_group_excluded');
132
- }
133
- public function checkUserGroupAccess($user_group_id, $user_group_name)
134
- {
135
- if (!$user_group_id or !$user_group_name){
136
- return'';
137
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
138
- }
139
- $sql = "select customer_group_id from customer_group where customer_group_id = '$user_group_id' and customer_group_code = '$user_group_name'";
140
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
141
- if ($data and count($data) >= 1){
142
- return false;
143
- }else {
144
- return true;
145
- }
146
- }
147
- public function getUserGroupId($id)
148
- {
149
- if (!$id){
150
- return'';
151
- #Mage::throwException(__FUNCTION__.': '.Mage::helper('novalnet')->__('Parameter missing').'!');
152
- }
153
- $sql = "select customer_group_id from sales_flat_quote where customer_id = '$id'";
154
- $data = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
155
- return$data[0]['customer_group_id'];
156
- }
157
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Secure_Form extends Mage_Payment_Block_Form
30
+ {
31
+ private $_localConfig;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+ $this->setTemplate('novalnet/secure/form.phtml');
37
+ }
38
+
39
+ /**
40
+ * Retrieve payment configuration object
41
+ *
42
+ * @return Mage_Payment_Model_Config
43
+ */
44
+ protected function _getConfig()
45
+ {
46
+ if (!$this->_localConfig) {
47
+ $this->_localConfig = Mage::getModel('payment/config');
48
+ }
49
+ return $this->_localConfig;
50
+ }
51
+
52
+ /**
53
+ * Retrieve availables credit card types
54
+ *
55
+ * @return array
56
+ */
57
+ public function getCcAvailableTypes()
58
+ {
59
+ $types = $this->_getConfig()->getCcTypes();
60
+ if ($method = $this->getMethod()) {
61
+ $availableTypes = $method->getConfigData('cctypes');
62
+ if ($availableTypes) {
63
+ $availableTypes = explode(',', $availableTypes);
64
+ foreach ($types as $code=>$name) {
65
+ if (!in_array($code, $availableTypes)) {
66
+ unset($types[$code]);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ return $types;
72
+ }
73
+
74
+ /**
75
+ * Retrieve credit card expire months
76
+ *
77
+ * @return array
78
+ */
79
+ public function getCcMonths()
80
+ {
81
+ $months = $this->getData('cc_months');
82
+ if (is_null($months)) {
83
+ $months[0] = $this->__('Month');
84
+ $months = array_merge($months, $this->_getConfig()->getMonths());
85
+ $this->setData('cc_months', $months);
86
+ }
87
+ return $months;
88
+ }
89
+
90
+ /**
91
+ * Retrieve credit card expire years
92
+ *
93
+ * @return array
94
+ */
95
+ public function getCcYears()
96
+ {
97
+ $years = $this->getData('cc_years');
98
+ if (is_null($years)) {
99
+ $years = $this->_getConfig()->getYears();
100
+ $years = array(0=>$this->__('Year'))+$years;
101
+ $this->setData('cc_years', $years);
102
+ }
103
+ return $years;
104
+ }
105
+
106
+ /**
107
+ * Retrive has verification configuration
108
+ *
109
+ * @return boolean
110
+ */
111
+ public function hasVerification()
112
+ {
113
+ if ($this->getMethod()) {
114
+ $configData = $this->getMethod()->getConfigData('useccv');
115
+ if(is_null($configData)){
116
+ return true;
117
+ }
118
+ return (bool) $configData;
119
+ }
120
+ return true;
121
+ }
122
+
123
+ public function checkCustomerAccess() {
124
+
125
+ $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
126
+ if( strlen( $exludedGroupes ) ) {
127
+ $exludedGroupes = explode(',', $exludedGroupes);
128
+ $custGrpId = Mage::getSingleton('customer/session')->getCustomerGroupId();
129
+ return !in_array($custGrpId, $exludedGroupes);
130
+ }
131
+ return true;
132
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  }
app/code/community/Mage/Novalnet/Block/{Instantbanktransfer → Secure}/Info.php RENAMED
@@ -1,94 +1,136 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Instantbanktransfer_Info extends Mage_Payment_Block_Info
30
- {
31
- /**
32
- * Init default template for block
33
- */
34
- protected function _construct()
35
- {
36
- parent::_construct();
37
- $this->setTemplate('novalnet/instantbanktransfer/info.phtml');#path = magento\app\design\frontend\default\default\template\novalnet\instantbanktransfer
38
- }
39
-
40
- /**
41
- * Retrieve credit card type name
42
- *
43
- * @return string
44
- */
45
- /*public function getCcTypeName()
46
- {
47
- $types = Mage::getSingleton('payment/config')->getCcTypes();
48
- if (isset($types[$this->getInfo()->getCcType()])) {
49
- return $types[$this->getInfo()->getCcType()];
50
- }
51
- return $this->getInfo()->getCcType();
52
- }*/
53
-
54
- /**
55
- * Retrieve CC expiration month
56
- *
57
- * @return string
58
- */
59
- /*public function getCcExpMonth()
60
- {
61
- $month = $this->getInfo()->getCcExpMonth();
62
- if ($month<10) {
63
- $month = '0'.$month;
64
- }
65
- return $month;
66
- }*/
67
-
68
- /**
69
- * Retrieve CC expiration date
70
- *
71
- * @return Zend_Date
72
- */
73
- /*public function getCcExpDate()
74
- {
75
- $date = Mage::app()->getLocale()->date(0);
76
- $date->setYear($this->getInfo()->getCcExpYear());
77
- $date->setMonth($this->getInfo()->getCcExpMonth());
78
- return $date;
79
- }*/
80
-
81
- public function toPdf()
82
- {
83
- $this->setTemplate('payment/info/pdf/cc.phtml');
84
- return $this->toHtml();
85
- }
86
- public function getMethod()
87
- {
88
- return $this->getInfo()->getMethodInstance();
89
- }
90
- public function getPaymentMethod()
91
- {
92
- return $this->htmlEscape($this->getMethod()->getConfigData('title'));
93
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Secure_Info extends Mage_Payment_Block_Info
30
+ {
31
+ protected $_localInfo = NULL;
32
+
33
+ /**
34
+ * Init default template for block
35
+ */
36
+ protected function _construct()
37
+ {
38
+ parent::_construct();
39
+ $this->setTemplate('novalnet/secure/info.phtml');
40
+ }
41
+
42
+ public function getInfo()
43
+ {
44
+ if (!$this->_localInfo) {
45
+ $this->_localInfo = $this->getData('info');
46
+ $this->loadNovalnetData();
47
+ }
48
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
49
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
50
+ }
51
+ return $this->_localInfo;
52
+ }
53
+
54
+ /**
55
+ * Retrieve credit card type name
56
+ *
57
+ * @return string
58
+ */
59
+ public function getCcTypeName()
60
+ {
61
+ $types = Mage::getSingleton('payment/config')->getCcTypes();
62
+ if (isset($types[$this->getInfo()->getCcType()])) {
63
+ return $types[$this->getInfo()->getCcType()];
64
+ }
65
+ return $this->getInfo()->getCcType();
66
+ }
67
+
68
+ /**
69
+ * Retrieve CC expiration month
70
+ *
71
+ * @return string
72
+ */
73
+ public function getCcExpMonth()
74
+ {
75
+ $month = $this->getInfo()->getCcExpMonth();
76
+ if ($month<10) {
77
+ $month = '0'.$month;
78
+ }
79
+ return $month;
80
+ }
81
+
82
+ /**
83
+ * Retrieve CC expiration date
84
+ *
85
+ * @return Zend_Date
86
+ */
87
+ public function getCcExpDate()
88
+ {
89
+ $date = Mage::app()->getLocale()->date(0);
90
+ $date->setYear($this->getInfo()->getCcExpYear());
91
+ $date->setMonth($this->getInfo()->getCcExpMonth());
92
+ return $date;
93
+ }
94
+ public function toPdf()
95
+ {
96
+ $this->setTemplate('payment/info/pdf/cc.phtml');
97
+ return $this->toHtml();
98
+ }
99
+ public function loadNovalnetData() {
100
+ $order_id = $this->getRequest()->getParam('order_id');
101
+ $obj = NULL;
102
+ if($this->getRequest()->getControllerName() == 'sales_order_invoice') {
103
+ $order_id = $this->getData('info')->getOrder()->getId();
104
+ }
105
+ if( $order_id ) {
106
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
107
+ $objQuote = Mage::getModel( 'sales/quote' );
108
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
109
+ }else {
110
+ $chSess = Mage::getSingleton('checkout/session');
111
+ if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
112
+ $objQuote = Mage::getModel( 'sales/quote' );
113
+ $obj = $objQuotePayment = $objQuote->setStoreId($this->getMethod()->getStoreId())->load($chSess->getLastSuccessQuoteId())->getPayment();
114
+ }else {
115
+ $obj = $this->_localInfo;
116
+ }
117
+ }
118
+ // $this->setNnAccountHolder($obj->getNnAccountHolder());
119
+ // $this->setNnAccountNumber($obj->getNnAccountNumber());
120
+ // $this->setNnBankSortingCode($obj->getNnBankSortingCode());
121
+ // $this->setNnElvCountry($obj->getNnElvCountry());
122
+ $this->setNnTestorder($obj->getNnTestorder());
123
+ $this->setNnComments($obj->getNnComments());
124
+ return $this;
125
+ }
126
+
127
+ public function getMethod()
128
+ {
129
+ return $this->getInfo()->getMethodInstance();
130
+ }
131
+
132
+ public function getPaymentMethod()
133
+ {
134
+ return $this->htmlEscape($this->getMethod()->getConfigData('title'));
135
+ }
136
  }
app/code/community/Mage/Novalnet/Block/Secure/Redirect.php CHANGED
@@ -1,63 +1,52 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Block_Secure_Redirect extends Mage_Core_Block_Abstract
30
- {
31
- protected function _toHtml()
32
- {
33
- $secure = $this->getOrder()->getPayment()->getMethodInstance();
34
- $form = new Varien_Data_Form();
35
- $form->setAction($secure->getNovalnetSecureUrl())
36
- ->setId('novalnet_secure_checkout')
37
- ->setName('novalnet_secure_checkout')
38
- ->setMethod('POST')
39
- ->setUseContainer(true);
40
- foreach ($secure->getFormFields() as $field=>$value) {
41
- $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
42
- }
43
- $html = '<html><body>';
44
- $html.= $this->__('You will be redirected to Novalnet AG 3D-Secure in a few seconds.');
45
- $html.= $form->toHtml();
46
- $html.= '<script type="text/javascript">document.getElementById("novalnet_secure_checkout").submit();</script>';
47
- $html.= '</body></html>';
48
- return $html;
49
- }
50
- private function debug2($object, $filename, $debug)
51
- {
52
- if (!$debug){return;}
53
- $fh = fopen("/tmp/$filename", 'a+');
54
- if (gettype($object) == 'object' or gettype($object) == 'array'){
55
- fwrite($fh, serialize($object));
56
- }else{
57
- fwrite($fh, date('Y-m-d H:i:s').' '.$object);
58
- }
59
- fwrite($fh, "<hr />\n");
60
- fclose($fh);
61
- }
62
-
63
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Block_Secure_Redirect extends Mage_Core_Block_Abstract
30
+ {
31
+ protected function _toHtml()
32
+ {
33
+ $secure = $this->getOrder()->getPayment()->getMethodInstance();
34
+ $formName = $formID = $secure->getCode();
35
+ $form = new Varien_Data_Form();
36
+ $form->setAction($secure->getCgiUrl())
37
+ ->setId($formID)
38
+ ->setName($formName)
39
+ ->setMethod('POST')
40
+ ->setUseContainer(true);
41
+ foreach ($secure->getFormData()->toArray() as $field=>$value) {
42
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
43
+ }
44
+ //$form->addField('enter', 'Submit', array('name'=>'enter', 'value'=>'enter'));#for debug
45
+ $html = '<html><body>';
46
+ $html.= $this->__('You will be redirected to Novalnet AG 3D-Secure in a few seconds.');
47
+ $html.= $form->toHtml();
48
+ $html.= '<script type="text/javascript">document.getElementById("' . $formID . '").submit();</script>';
49
+ $html.= '</body></html>';
50
+ return $html;
51
+ }
 
 
 
 
 
 
 
 
 
 
 
52
  }
app/code/community/Mage/Novalnet/Helper/Data.php CHANGED
@@ -1,32 +1,132 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Helper_Data extends Mage_Core_Helper_Abstract
30
- {
31
-
32
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Helper_Data extends Mage_Core_Helper_Abstract
30
+ {
31
+ public function isPublicIP($value) {
32
+ return (count(explode('.', $value)) == 4 && !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value));
33
+ }
34
+
35
+ public function getRealIpAddr() {
36
+ $_check = array(
37
+ 'HTTP_X_FORWARDED_FOR',
38
+ 'HTTP_CLIENT_IP',
39
+ 'HTTP_X_CLUSTER_CLIENT_IP',
40
+ 'HTTP_FORWARDED_FOR',
41
+ );
42
+ foreach($_check as $_key) {
43
+ if(isset($_SERVER[$_key])) {
44
+ $ips = explode(',', $_SERVER[$_key]);
45
+ if(isset($ips[0]) && $this->isPublicIP($ips[0])) {
46
+ return $ips[0];
47
+ }
48
+ }
49
+ }
50
+ return $_SERVER['REMOTE_ADDR'];
51
+ }
52
+
53
+ public function encode(&$fields, $key) {
54
+ if(!function_exists('base64_encode') || !function_exists('pack') || !function_exists('crc32')) {
55
+ return false;
56
+ }
57
+ $toBeEncoded = array('vendor_authcode', 'product_id', 'tariff_id', 'test_mode', 'uniqid', 'amount');
58
+ foreach($toBeEncoded as $_value ) {
59
+ $data = $fields[$_value];
60
+ if($this->isEmptyString($data)) {
61
+ return false;
62
+ }
63
+ try {
64
+ $crc = sprintf('%u', crc32($data));//%u is a must for ccrc32 returns a signed value
65
+ $data = $crc."|".$data;
66
+ $data = bin2hex($data.$key);
67
+ $data = strrev(base64_encode($data));
68
+ $fields[$_value] = $data;
69
+ }catch(Exception $e) {
70
+ return false;
71
+ }
72
+ }
73
+ return true;
74
+ }
75
+
76
+ public function decode(&$fields, $key) {
77
+ if(!function_exists('base64_decode') || !function_exists('pack') || !function_exists('crc32')) {
78
+ return false;
79
+ }
80
+ $toBeEncoded = array('vendor_authcode', 'product_id', 'tariff_id', 'test_mode', 'uniqid', 'amount');
81
+ foreach($toBeEncoded as $_value ) {
82
+ $data = $fields[$_value];
83
+ if($this->isEmptyString($data)) {
84
+ return false;
85
+ }
86
+ try {
87
+ $data = base64_decode(strrev($data));
88
+ $data = pack("H".strlen($data), $data);
89
+ $data = substr($data, 0, stripos($data, $key));
90
+ $pos = strpos($data, "|");
91
+ if($pos === false) {
92
+ return false;
93
+ }
94
+ $crc = substr($data, 0, $pos);
95
+ $value = trim(substr($data, $pos+1));
96
+ if( $crc != sprintf('%u', crc32($value)) ) {
97
+ return false;
98
+ }
99
+ $fields[$_value] = $value;
100
+ }catch(Exception $e) {
101
+ return false;
102
+ }
103
+ }
104
+ return true;
105
+ }
106
+ public function generateHash($data, $key) {
107
+ if(!function_exists('md5') || $this->isEmptyString($key)) {
108
+ return false;
109
+ }
110
+ $hashFields = array('vendor_authcode', 'product_id', 'tariff_id', 'amount', 'test_mode', 'uniqid' );
111
+ $str = NULL;
112
+ foreach( $hashFields as $_value ) {
113
+ if($this->isEmptyString($data[$_value])) {
114
+ return false;
115
+ }
116
+ $str .= $data[$_value];
117
+ }
118
+ return md5($str . strrev($key));
119
+ }
120
+
121
+ public function isEmptyString($str) {
122
+ $str = trim($str);
123
+ return !isset($str[0]);
124
+ }
125
+
126
+ public function checkHash($response, $key) {
127
+ return isset($response['hash2'])
128
+ && !$this->isEmptyString($response['hash2'])
129
+ && (($tmp = $this->generateHash($response, $key)) !== false)
130
+ && ($response['hash2'] == $tmp);
131
+ }
132
+ }
app/code/community/Mage/Novalnet/Model/Mysql4/Setup.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- class Mage_Novalnet_Model_Mysql4_Setup extends Mage_Eav_Model_Entity_Setup
28
- {
29
-
30
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ class Mage_Novalnet_Model_Mysql4_Setup extends Mage_Eav_Model_Entity_Setup
28
+ {
29
+
30
  }
app/code/community/Mage/Novalnet/Model/Novalnet/Request.php CHANGED
@@ -1,38 +1,38 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Model_Novalnet_Request extends Varien_Object
30
- {
31
- public function toLatin1(){
32
- $data = $this->toArray();
33
- foreach ($data as $key => $val){
34
- $setKey = "set".ucfirst($key);
35
- $this->$setKey(utf8_decode($val));
36
- }
37
- }
38
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Model_Novalnet_Request extends Varien_Object
30
+ {
31
+ public function toLatin1(){
32
+ $data = $this->toArray();
33
+ foreach ($data as $key => $val){
34
+ $setKey = "set".ucfirst($key);
35
+ $this->$setKey(utf8_decode($val));
36
+ }
37
+ }
38
  }
app/code/community/Mage/Novalnet/Model/Novalnet/Result.php CHANGED
@@ -1,38 +1,38 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
- class Mage_Novalnet_Model_Novalnet_Result extends Varien_Object
29
- {
30
- public function toUtf8(){
31
- $data = $this->toArray();
32
- foreach ($data as $key => $val){
33
- $setKey = "set".ucfirst($key);
34
- $this->$setKey(utf8_encode($val));
35
- }
36
- }
37
- }
38
  ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class Mage_Novalnet_Model_Novalnet_Result extends Varien_Object
29
+ {
30
+ public function toUtf8(){
31
+ $data = $this->toArray();
32
+ foreach ($data as $key => $val){
33
+ $setKey = "set".ucfirst($key);
34
+ $this->$setKey(utf8_encode($val));
35
+ }
36
+ }
37
+ }
38
  ?>
app/code/community/Mage/Novalnet/Model/Novalnet/Source/Callbacktypes.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Model_Novalnet_Source_Callbacktypes
30
+ {
31
+ public function toOptionArray()
32
+ {
33
+ return array( 0 => "No", 1 => "Callback ( Telefon / Handy )", 2 => 'SMS ( nur Handy )' );
34
+ }
35
+ }
app/code/community/Mage/Novalnet/Model/Novalnet/Source/Cctype.php CHANGED
@@ -1,36 +1,36 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
-
28
-
29
- class Mage_Novalnet_Model_Novalnet_Source_Cctype extends Mage_Payment_Model_Source_Cctype
30
- {
31
- public function getAllowedTypes()
32
- {
33
- //return array('VI', 'MC', 'AE');
34
- return array('VI', 'MC');
35
- }
36
  }
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class Mage_Novalnet_Model_Novalnet_Source_Cctype extends Mage_Payment_Model_Source_Cctype
30
+ {
31
+ public function getAllowedTypes()
32
+ {
33
+ //return array('VI', 'MC', 'AE');
34
+ return array('VI', 'MC');
35
+ }
36
  }
app/code/community/Mage/Novalnet/Model/NovalnetCc.php CHANGED
@@ -1,340 +1,38 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
-
30
- class Mage_Novalnet_Model_NovalnetCc extends Mage_Payment_Model_Method_Cc
31
- {
32
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
33
- const PAYMENT_METHOD = 'Credit Card';
34
- const RESPONSE_DELIM_CHAR = '&';
35
- const RESPONSE_CODE_APPROVED = 100;
36
- var $_debug = false;
37
- /**
38
- * unique internal payment method identifier
39
- *
40
- * @var string [a-z0-9_]
41
- */
42
- protected $_code = 'novalnetCc';
43
- protected $_formBlockType = 'novalnet/cc_form';
44
- protected $_infoBlockType = 'novalnet/cc_info';
45
-
46
-
47
- /**
48
- * Is this payment method a gateway (online auth/charge) ?
49
- */
50
- protected $_isGateway = true;
51
-
52
- /**
53
- * Can authorize online?
54
- */
55
- protected $_canAuthorize = true;
56
-
57
- /**
58
- * Can capture funds online?
59
- */
60
- protected $_canCapture = true;
61
-
62
- /**
63
- * Can capture partial amounts online?
64
- */
65
- protected $_canCapturePartial = true;
66
-
67
- /**
68
- * Can refund online?
69
- */
70
- protected $_canRefund = false;
71
-
72
- /**
73
- * Can void transactions online?
74
- */
75
- protected $_canVoid = true;
76
-
77
- /**
78
- * Can use this payment method in administration panel?
79
- */
80
- protected $_canUseInternal = true;
81
-
82
- /**
83
- * Can show this payment method as an option on checkout payment page?
84
- */
85
- protected $_canUseCheckout = true;
86
-
87
- /**
88
- * Is this payment method suitable for multi-shipping checkout?
89
- */
90
- protected $_canUseForMultishipping = true;
91
-
92
- /**
93
- * Can save credit card information for future processing?
94
- */
95
- protected $_canSaveCc = false;
96
-
97
- /**
98
- * Here you will need to implement authorize, capture and void public methods
99
- *
100
- * @see examples of transaction specific public methods such as
101
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
102
- */
103
- public function authorize(Varien_Object $payment, $amount)
104
- {
105
- return $this;
106
- }
107
- public function capture(Varien_Object $payment, $amount)
108
- {
109
- $error = false;
110
- $payment->setAmount($amount);
111
-
112
- $order = $payment->getOrder();
113
- $note = $order->getCustomerNote();
114
- if ($note){
115
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
116
- }
117
- if ( !$this->getConfigData('live_mode') ){
118
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
119
- }
120
- $order->setCustomerNote($note);
121
- $order->setCustomerNoteNotify(true);
122
-
123
- $request = $this->_buildRequest($payment);
124
- $result = $this->_postRequest($request);
125
-
126
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
127
- $payment->setStatus(self::STATUS_APPROVED);
128
- $payment->setCcTransId($result->getTid());
129
- $payment->setLastTransId($result->getTid());
130
- }
131
- else {
132
- if ($result->getStatusDesc()) {
133
- $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
134
- }else {
135
- $error = Mage::helper('paygate')->__('Error in capturing the payment');
136
- }
137
- }
138
-
139
- if ($error !== false) {
140
- Mage::throwException($error);
141
- }
142
- return $this;
143
- }
144
- public function refund(Varien_Object $payment, $amount)
145
- {
146
- return $this;
147
- }
148
-
149
- public function void(Varien_Object $payment)
150
- {
151
- return $this;
152
- }
153
- /**
154
- * Prepare request to gateway
155
- *
156
- * @link http://www.authorize.net/support/AIM_guide.pdf
157
- * @param Mage_Sales_Model_Document $order
158
- * @return unknown
159
- */
160
-
161
- protected function _buildRequest(Varien_Object $payment)
162
- {
163
- $order = $payment->getOrder();
164
-
165
- $request = Mage::getModel('novalnet/novalnet_request');
166
-
167
- $request->setvendor($this->getConfigData('merchant_id'))
168
- ->setauth_code($this->getConfigData('auth_code'))
169
- ->setkey('6')
170
- ->setproduct($this->getConfigData('product_id'))
171
- ->settariff($this->getConfigData('tariff_id'))
172
- ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
173
-
174
- $request->setcurrency($order->getOrderCurrency());
175
-
176
- if($payment->getAmount()){
177
- $request->setamount($payment->getAmount()*100);
178
- }
179
-
180
- if (!empty($order)) {
181
- $request->setinput1($order->getIncrementId());
182
-
183
- $billing = $order->getBillingAddress();
184
- /*$street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
185
- if (!isset($street[1])){$street[1]='';}
186
- if (!isset($street[2])){$street[2]='';}
187
- if (!$street[0]){$street[0] = $street[1].$street[2];}
188
- if (!$street[0])
189
- {
190
- Mage::throwException(Mage::helper('novalnet')->__('Street missing'));
191
- }*/
192
- if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
193
- if (!empty($billing)) {
194
- $request->setfirst_name($billing->getFirstname())
195
- ->setlast_name($billing->getLastname())
196
- ->setsearch_in_street(1)
197
- ->setstreet($billing->getStreet(1))
198
- ->setcity($billing->getCity())
199
- ->setzip($billing->getPostcode())
200
- ->setcountry($billing->getCountry())
201
- ->settel($billing->getTelephone())
202
- ->setfax($billing->getFax())
203
- ->setremote_ip($this->getRealIpAddr())
204
- ->setgender('u')
205
- ->setemail($order->getCustomerEmail());
206
- }#->setremote_ip($order->getRemoteIp())
207
- #->setstreet($street[0])
208
- #->sethouse_no($street[1].$street[2])
209
- }
210
-
211
- if($payment->getCcNumber()){
212
- $request->setcc_no($payment->getCcNumber())
213
- ->setcc_exp_month($payment->getCcExpMonth())
214
- ->setcc_exp_year($payment->getCcExpYear())
215
- ->setcc_cvc2($payment->getCcCid());
216
- if ($payment->getCcOwner()!=""){
217
- $request->setcc_holder($payment->getCcOwner());
218
- }
219
- }
220
-
221
-
222
- return $request;
223
- }
224
-
225
- public function getBookingReference()
226
- {
227
- return $this->getConfigData('booking_reference');
228
- }
229
-
230
- protected function _postRequest(Varien_Object $request)
231
- {
232
- $result = Mage::getModel('novalnet/novalnet_result');
233
-
234
- $client = new Varien_Http_Client();
235
-
236
- $uri = $this->getConfigData('cgi_url');
237
- $client->setUri($uri ? $uri : self::CGI_URL);
238
- $client->setConfig(array(
239
- 'maxredirects'=>0,
240
- 'timeout'=>30,
241
- //'ssltransport' => 'tcp',
242
- ));
243
- $request->toLatin1();
244
- $client->setParameterPost($request->getData());
245
- $client->setMethod(Zend_Http_Client::POST);
246
- try {
247
- $response = $client->request();
248
- } catch (Exception $e) {
249
- $result->setResponseCode(-1)
250
- ->setResponseReasonCode($e->getCode())
251
- ->setResponseReasonText($e->getMessage());
252
- Mage::throwException(
253
- Mage::helper('paygate')->__('Gateway request error: %s', $e->getMessage())
254
- );
255
- }
256
-
257
- $responseBody = $response->getBody();
258
-
259
- $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
260
-
261
- $responseBody = $response->getBody();
262
- if ($r) {
263
- foreach($r as $key => $value)
264
- {
265
- if($value!="")
266
- {
267
- $aryKeyVal = explode("=",$value);
268
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
269
- }
270
- }
271
-
272
- if (isset($aryResponse['status'])){
273
- $result->setStatus($aryResponse['status']);
274
- }
275
- if (isset($aryResponse['tid'])){
276
- $result->setTid($aryResponse['tid']);
277
- }
278
- if (isset($aryResponse['status_desc'])){
279
- $result->setStatusDesc($aryResponse['status_desc']);
280
- }
281
- /*if ( $this->getConfigData('live_mode') == 0 ){
282
- $result->setTestmode(strtoupper(Mage::helper('paygate')->__('Testorder')));
283
- }*/
284
-
285
- } else {
286
- Mage::throwException(Mage::helper('paygate')->__('Error in payment gateway'));
287
- }
288
- $result->toUtf8();
289
- return $result;
290
- }
291
- public function getTitle()
292
- {
293
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
294
- }
295
-
296
- public function isPublicIP($value)
297
- {
298
- if(!$value || count(explode('.',$value))!=4)
299
- {
300
- return false;
301
- }
302
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
303
- }
304
- public function getRealIpAddr()
305
- {
306
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
307
- {
308
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
309
- }
310
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
311
- {
312
- if($this->isPublicIP($iplist[0])) return $iplist[0];
313
- }
314
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
315
- {
316
- return $_SERVER['HTTP_CLIENT_IP'];
317
- }
318
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
319
- {
320
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
321
- }
322
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
323
- {
324
- return $_SERVER['HTTP_FORWARDED_FOR'];
325
- }
326
- return $_SERVER['REMOTE_ADDR'];
327
- }
328
- public function debug2($object, $filename, $debug)
329
- {
330
- if (!$this->_debug and !$debug){return;}
331
- $fh = fopen("/tmp/$filename", 'a+');
332
- if (gettype($object) == 'object' or gettype($object) == 'array'){
333
- fwrite($fh, serialize($object));
334
- }else{
335
- fwrite($fh, date('Y-m-d H:i:s').' '.$object);
336
- }
337
- fwrite($fh, "<hr />\n");
338
- fclose($fh);
339
- }
340
  }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+
30
+ class Mage_Novalnet_Model_NovalnetCc extends Mage_Novalnet_Model_NovalnetPciAbstract
31
+ {
32
+ const PAYMENT_METHOD = 'Credit Card';
33
+
34
+ protected $_nnPaymentId = 6;
35
+
36
+ protected $_code = 'novalnetCc';
37
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
app/{design/frontend/default/default/template/novalnet/secure/failure.phtml → code/community/Mage/Novalnet/Model/NovalnetCcpci.php} RENAMED
@@ -1,32 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <div class="page-head">
29
- <h3><?php echo $this->__('Error occured') ?></h3>
30
- </div>
31
- <p><?php echo $this->getErrorMessage() ?>.</p>
32
- <p><?php echo $this->__('Please <a href="%s">continue shopping</a>.', $this->getContinueShoppingUrl()) ?></p>
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ class Mage_Novalnet_Model_NovalnetCcpci extends Mage_Novalnet_Model_NovalnetPciAbstract
28
+ {
29
+ const PAYMENT_METHOD = 'Credit Card PCI';
30
+
31
+ protected $_nnPaymentId = 6;
32
+
33
+ protected $_code = 'novalnetCcpci';
34
+ }
app/{design/adminhtml/default/default/template/novalnet/instantbanktransfer/info.phtml → code/community/Mage/Novalnet/Model/NovalnetElvatpci.php} RENAMED
@@ -1,33 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()): ?>
29
- <?php echo $this->__('Method').': '.$this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
31
- <?php else: ?>
32
-
33
- <?php endif; ?>
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ class Mage_Novalnet_Model_NovalnetElvatpci extends Mage_Novalnet_Model_NovalnetPciAbstract
28
+ {
29
+ const PAYMENT_METHOD = 'Direct Debit Austria PCI';
30
+
31
+ protected $_nnPaymentId = 8;
32
+
33
+ protected $_code = 'novalnetElvatpci';
34
+ }
app/code/community/Mage/Novalnet/Model/NovalnetElvaustria.php CHANGED
@@ -1,392 +1,577 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetElvaustria extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const PAYMENT_METHOD = 'Direct Debit';
33
- const RESPONSE_DELIM_CHAR = '&';
34
- const RESPONSE_CODE_APPROVED = 100;
35
- const KEY = "8";
36
- /**
37
- * unique internal payment method identifier
38
- *
39
- * @var string [a-z0-9_]
40
- */
41
- protected $_code = 'novalnetElvaustria';
42
- protected $_formBlockType = 'novalnet/elvaustria_form';
43
- protected $_infoBlockType = 'novalnet/elvaustria_info';
44
-
45
-
46
- /**
47
- * Is this payment method a gateway (online auth/charge) ?
48
- */
49
- protected $_isGateway = true;
50
-
51
- /**
52
- * Can authorize online?
53
- */
54
- protected $_canAuthorize = false;
55
-
56
- /**
57
- * Can capture funds online?
58
- */
59
- protected $_canCapture = true;
60
-
61
- /**
62
- * Can capture partial amounts online?
63
- */
64
- protected $_canCapturePartial = true;
65
-
66
- /**
67
- * Can refund online?
68
- */
69
- protected $_canRefund = false;
70
-
71
- /**
72
- * Can void transactions online?
73
- */
74
- protected $_canVoid = false;
75
-
76
- /**
77
- * Can use this payment method in administration panel?
78
- */
79
- protected $_canUseInternal = true;
80
-
81
- /**
82
- * Can show this payment method as an option on checkout payment page?
83
- */
84
- protected $_canUseCheckout = true;
85
-
86
- /**
87
- * Is this payment method suitable for multi-shipping checkout?
88
- */
89
- protected $_canUseForMultishipping = true;
90
-
91
- /**
92
- * Can save credit card information for future processing?
93
- */
94
- protected $_canSaveCc = false;
95
-
96
- /**
97
- * Here you will need to implement authorize, capture and void public methods
98
- *
99
- * @see examples of transaction specific public methods such as
100
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
101
- */
102
- public function authorize(Varien_Object $payment, $amount)
103
- {
104
-
105
- return $this;
106
- }
107
- public function capture(Varien_Object $payment, $amount)
108
- {
109
- $error = false;
110
- $payment->setAmount($amount);
111
-
112
- $order = $payment->getOrder();
113
- $note = $order->getCustomerNote();
114
- if ($note){
115
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
116
- }
117
- if ( !$this->getConfigData('live_mode') ){
118
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
119
- }
120
- $order->setCustomerNote($note);
121
- $order->setCustomerNoteNotify(true);
122
-
123
- $request = $this->_buildRequest($payment);
124
- $result = $this->_postRequest($request);
125
-
126
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
127
- $payment->setStatus(self::STATUS_APPROVED);
128
- $payment->setCcTransId($result->getTid());
129
- $payment->setLastTransId($result->getTid());
130
- $payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
131
- $payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
132
- $id = $payment->getNnId();
133
- $quote_payment = $this->getQuote()->getPaymentById($id);
134
- if ($quote_payment)#to avoid error msg. in admin interface
135
- {
136
- $quote_payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
137
- $quote_payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
138
- $quote_payment->save();
139
- }
140
- }
141
- else {
142
- if ($result->getStatusDesc()) {
143
- $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
144
- }else {
145
- $error = Mage::helper('novalnet')->__('Error in capturing the payment');
146
- }
147
- }
148
-
149
- if ($error !== false) {
150
- Mage::throwException($error);
151
- }
152
- return $this;
153
- }
154
- public function refund(Varien_Object $payment, $amount)
155
- {
156
- return $this;
157
- }
158
-
159
- public function void(Varien_Object $payment)
160
- {
161
- return $this;
162
- }
163
- /**
164
- * Prepare request to gateway
165
- *
166
- * @link http://www.authorize.net/support/AIM_guide.pdf
167
- * @param Mage_Sales_Model_Document $order
168
- * @return unknown
169
- */
170
- protected function _saveObject (Varien_Object $payment)
171
- {
172
- $order = $payment->getOrder();
173
- if (!empty($order)) {
174
- $billing = $order->getBillingAddress();
175
- }
176
- }
177
- protected function _buildRequest(Varien_Object $payment)
178
- {
179
- $order = $payment->getOrder();
180
- $request = Mage::getModel('novalnet/novalnet_request');
181
-
182
- $request->setvendor($this->getConfigData('merchant_id'))
183
- ->setauth_code($this->getConfigData('auth_code'))
184
- ->setproduct($this->getConfigData('product_id'))
185
- ->settariff($this->getConfigData('tariff_id'))
186
- ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
187
-
188
- $request->setcurrency($order->getOrderCurrency());
189
-
190
- if ($this->getConfigData('acdc_check')){
191
- $request->setacdc($this->getConfigData('acdc_check'));
192
- }
193
-
194
- if($payment->getAmount()){
195
- $request->setamount($payment->getAmount()*100);
196
- }
197
-
198
- if (!empty($order)) {
199
- $request->setinput1($order->getIncrementId());
200
-
201
- $billing = $order->getBillingAddress();
202
- /*$street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
203
- if (!isset($street[1])){$street[1]='';}
204
- if (!isset($street[2])){$street[2]='';}
205
- if (!$street[0]){$street[0] = $street[1].$street[2];}
206
- if (!$street[0])
207
- {
208
- Mage::throwException(Mage::helper('novalnet')->__('Street missing'));
209
- }*/
210
- if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
211
- if (!empty($billing)) {
212
- $request->setfirst_name($billing->getFirstname())
213
- ->setlast_name($billing->getLastname())
214
- ->setsearch_in_street(1)
215
- ->setstreet($billing->getStreet(1))
216
- ->setcity($billing->getCity())
217
- ->setzip($billing->getPostcode())
218
- ->setcountry($billing->getCountry())
219
- ->settel($billing->getTelephone())
220
- ->setfax($billing->getFax())
221
- ->setremote_ip($this->getRealIpAddr())
222
- ->setgender('u')
223
- ->setemail($order->getCustomerEmail());
224
- }#->setstreet($street[0])
225
- #->sethouse_no($street[1].$street[2])
226
- }
227
-
228
- $request->setbank_account_holder($payment->getNnAccountHolder())
229
- ->setbank_account($payment->getNnAccountNumber())
230
- ->setbank_code($payment->getNnBankSortingCode())
231
- ->setkey(self::KEY);
232
- return $request;
233
- }
234
-
235
- protected function _postRequest(Varien_Object $request)
236
- {
237
- $result = Mage::getModel('novalnet/novalnet_result');
238
-
239
- $client = new Varien_Http_Client();
240
-
241
- $uri = $this->getConfigData('cgi_url');
242
- $client->setUri($uri ? $uri : self::CGI_URL);
243
- $client->setConfig(array(
244
- 'maxredirects'=>0,
245
- 'timeout'=>30,
246
- //'ssltransport' => 'tcp',
247
- ));
248
- $request->toLatin1();
249
- $client->setParameterPost($request->getData());
250
- $client->setMethod(Zend_Http_Client::POST);
251
- try {
252
- $response = $client->request();
253
- } catch (Exception $e) {
254
- $result->setResponseCode(-1)
255
- ->setResponseReasonCode($e->getCode())
256
- ->setResponseReasonText($e->getMessage());
257
- Mage::throwException(
258
- Mage::helper('novalnet')->__('Gateway request error: %s', $e->getMessage())
259
- );
260
- }
261
-
262
- $responseBody = $response->getBody();
263
-
264
- $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
265
-
266
- if ($r) {
267
- foreach($r as $key => $value)
268
- {
269
- if($value!="")
270
- {
271
- $aryKeyVal = explode("=",$value);
272
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
273
- }
274
- }
275
-
276
- if (isset($aryResponse['status'])){
277
- $result->setStatus($aryResponse['status']);
278
- }
279
- if (isset($aryResponse['tid'])){
280
- $result->setTid($aryResponse['tid']);
281
- }
282
- if (isset($aryResponse['status_desc'])){
283
- $result->setStatusDesc($aryResponse['status_desc']);
284
- }
285
-
286
- } else {
287
- Mage::throwException(
288
- Mage::helper('novalnet')->__('Error in payment gateway')
289
- );
290
- }
291
- $result->toUtf8();
292
- return $result;
293
- }
294
-
295
-
296
- public function assignData($data)
297
- {
298
- if (!($data instanceof Varien_Object)) {
299
- $data = new Varien_Object($data);
300
- }
301
- $info=$this->getInfoInstance();
302
- $info->setNnElvCountry($data->getElvCountry())
303
- ->setNnAccountHolder($data->getAccountHolder())
304
- ->setNnAccountNumber($data->getAccountNumber())
305
- ->setNnBankSortingCode($data->getBankSortingCode());
306
- return $this;
307
- }
308
- /**
309
- * Get checkout
310
- *
311
- * @return Mage_Sales_Model_Quote
312
- */
313
- public function getQuote()
314
- {
315
- if (empty($this->_quote)) {
316
- $this->_quote = $this->getCheckout()->getQuote();
317
- }
318
- return $this->_quote;
319
- }
320
- /**
321
- * Get checkout
322
- *
323
- * @return Mage_Sales_Model_Order
324
- */
325
- public function getCheckout()
326
- {
327
- if (empty($this->_checkout)) {
328
- //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
329
- $this->_checkout = Mage::getSingleton('checkout/session');
330
- }
331
- return $this->_checkout;
332
- }
333
-
334
- public function getTitle()
335
- {
336
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
337
- }
338
-
339
- public function validate()
340
- {
341
- parent::validate();
342
- $info = $this->getInfoInstance();
343
- $nnAccountNumber = $info->getNnAccountNumber();
344
- $nnBankSortingCode = $info->getNnBankSortingCode();
345
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $nnAccountNumber);
346
- $info->setNnAccountNumber($nnAccountNumber);
347
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $nnBankSortingCode);
348
- $info->setNnBankSortingCode($nnBankSortingCode);
349
- if (preg_match("/\D/",$nnAccountNumber)){
350
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
351
- }
352
- if (preg_match("/\D/",$nnBankSortingCode)){
353
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
354
- }
355
- if (strlen($nnBankSortingCode) < 5){
356
- Mage::throwException(Mage::helper('novalnet')->__('The Bankcode must have a length of at least 5 digits').'!');
357
- }
358
- return $this;
359
- }
360
- public function isPublicIP($value)
361
- {
362
- if(!$value || count(explode('.',$value))!=4)
363
- {
364
- return false;
365
- }
366
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
367
- }
368
- public function getRealIpAddr()
369
- {
370
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
371
- {
372
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
373
- }
374
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
375
- {
376
- if($this->isPublicIP($iplist[0])) return $iplist[0];
377
- }
378
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
379
- {
380
- return $_SERVER['HTTP_CLIENT_IP'];
381
- }
382
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
383
- {
384
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
385
- }
386
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
387
- {
388
- return $_SERVER['HTTP_FORWARDED_FOR'];
389
- }
390
- return $_SERVER['REMOTE_ADDR'];
391
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetElvaustria extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
+ const PAYMENT_METHOD = 'Direct Debit';
34
+ const RESPONSE_DELIM_CHAR = '&';
35
+ const RESPONSE_CODE_APPROVED = 100;
36
+ const BANK_SORTCODE_LENGTH = 5;
37
+ const CALLBACK_PIN_LENGTH = 4;
38
+
39
+ // are used with _buildRequest and _postRequest
40
+ const POST_NORMAL = 'normal';
41
+ const POST_CALLBACK = 'callback';
42
+ const POST_NEWPIN = 'newpin';
43
+ const POST_PINSTATUS = 'pinstatus';
44
+
45
+ const ISOCODE_FOR_GERMAN = 'DE';
46
+
47
+ private $_nnPaymentId = '8';
48
+
49
+ /**
50
+ * unique internal payment method identifier
51
+ *
52
+ * @var string [a-z0-9_]
53
+ */
54
+ protected $_code = 'novalnetElvaustria';
55
+ protected $_formBlockType = 'novalnet/elvaustria_form';
56
+ protected $_infoBlockType = 'novalnet/elvaustria_info';
57
+
58
+ /**
59
+ * Is this payment method a gateway (online auth/charge) ?
60
+ */
61
+ protected $_isGateway = true;
62
+
63
+ /**
64
+ * Can authorize online?
65
+ */
66
+ protected $_canAuthorize = false;
67
+
68
+ /**
69
+ * Can capture funds online?
70
+ */
71
+ protected $_canCapture = true;
72
+
73
+ /**
74
+ * Can capture partial amounts online?
75
+ */
76
+ protected $_canCapturePartial = true;
77
+
78
+ /**
79
+ * Can refund online?
80
+ */
81
+ protected $_canRefund = false;
82
+
83
+ /**
84
+ * Can void transactions online?
85
+ */
86
+ protected $_canVoid = false;
87
+
88
+ /**
89
+ * Can use this payment method in administration panel?
90
+ */
91
+ protected $_canUseInternal = true;
92
+
93
+ /**
94
+ * Can show this payment method as an option on checkout payment page?
95
+ */
96
+ protected $_canUseCheckout = true;
97
+
98
+ /**
99
+ * Is this payment method suitable for multi-shipping checkout?
100
+ */
101
+ protected $_canUseForMultishipping = true;
102
+
103
+ /**
104
+ * Can save credit card information for future processing?
105
+ */
106
+ protected $_canSaveCc = false;
107
+
108
+ public function __construct() {
109
+ }
110
+
111
+ public function capture(Varien_Object $payment, $amount) {
112
+ $methodSession = $this->_getMethodSession();
113
+ if( $this->isCallbackTypeCall() ) {
114
+ $request = $this->_buildRequest(self::POST_PINSTATUS);
115
+ $result = $this->_postRequest($request, self::POST_PINSTATUS);
116
+ $result->setTid( $methodSession->getNnCallbackTid() );
117
+ $result->setTestMode( $methodSession->getNnTestMode() );
118
+ }else {
119
+ $request = $this->_buildRequest(self::POST_NORMAL);
120
+ $result = $this->_postRequest($request, self::POST_NORMAL);
121
+ }
122
+
123
+ // Analyze the response from Novalnet
124
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
125
+ $this->_unsetMethodSession();
126
+ $payment->setStatus(self::STATUS_APPROVED)
127
+ ->setLastTransId($result->getTid())
128
+ ;
129
+ $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
130
+ if($quotePayment) {
131
+ $quotePayment->setNnTestorder($result->getTestMode())
132
+ ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
133
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX')
134
+ ->save();
135
+ }
136
+
137
+ } else {
138
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
139
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
140
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
141
+ ;
142
+ Mage::throwException($error);
143
+ }
144
+ return $this;
145
+ }
146
+
147
+ /**
148
+ * Prepare request to gateway
149
+ *
150
+ * @link http://www.authorize.net/support/AIM_guide.pdf
151
+ * @param Mage_Sales_Model_Document $order
152
+ * @return unknown
153
+ */
154
+ /*
155
+ protected function _saveObject (Varien_Object $payment)
156
+ {
157
+ $order = $payment->getOrder();
158
+ if (!empty($order)) {
159
+ $billing = $order->getBillingAddress();
160
+ }
161
+ }
162
+ */
163
+
164
+ public function isAvailable($quote = null) {
165
+ return $this->_checkNnAuthData() && parent::isAvailable();
166
+ }
167
+
168
+ private function _checkNnAuthData() {
169
+ return strlen($this->getConfigData('merchant_id'))
170
+ && strlen($this->getConfigData('auth_code'))
171
+ && strlen($this->getConfigData('product_id'))
172
+ && strlen($this->getConfigData('tariff_id'))
173
+ ;
174
+ }
175
+
176
+ protected function _buildRequest($type=self::POST_NORMAL) {
177
+ if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
178
+ $request = Mage::getModel('novalnet/novalnet_request');
179
+ $amount = round($this->_getAmount(), 2) * 100;
180
+ $billing = $this->_getBillingAddress();
181
+
182
+ $this->_assignNnAuthData($request, $amount);
183
+ $request->setAmount($amount)
184
+ ->setCurrency($this->_getCurrencyCode())
185
+ ->setfirstName($billing->getFirstname())
186
+ ->setLastName($billing->getLastname())
187
+ ->setSearchInStreet(1)
188
+ ->setStreet(implode(',', $billing->getStreet()))
189
+ ->setCity($billing->getCity())
190
+ ->setZip($billing->getPostcode())
191
+ ->setCountry($billing->getCountry())
192
+ ->setTel($billing->getTelephone())
193
+ ->setFax($billing->getFax())
194
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
195
+ ->setGender('u')
196
+ ->setEmail($this->_getCustomerEmail())
197
+ ->setBankAccountHolder($this->_getNnAccountHolder())
198
+ ->setBankAccount($this->_getNnAccountNumber())
199
+ ->setBankCode($this->_getNnBankSortingCode())
200
+ ->setOrderNo($this->_getOrderId())
201
+ ->setInput1('order_id')
202
+ ->setInputval1($this->_getOrderId())
203
+ ;
204
+
205
+ $infoInstance = $this->getInfoInstance();
206
+ $infoInstance->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
207
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX');
208
+
209
+ if( $type == self::POST_CALLBACK ) {
210
+ if($this->getConfigData('callback') == 1) {
211
+ $request->setTel($this->getInfoInstance()->getNnCallbackTel());
212
+ $request->setPinByCallback(1);
213
+ }else {
214
+ $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
215
+ $request->setPinBySms(1);
216
+ }
217
+ }
218
+ $request->toLatin1();
219
+ return $request;
220
+ }else if($type == self::POST_NEWPIN) {
221
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
222
+ $request .= '<nnxml><info_request>';
223
+ $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
224
+ $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
225
+ $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
226
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
227
+ $request .= '</info_request></nnxml>';
228
+ return $request;
229
+ }else if($type == self::POST_PINSTATUS) {
230
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
231
+ $request .= '<nnxml><info_request>';
232
+ $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
233
+ $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
234
+ $request .= '<request_type>PIN_STATUS</request_type>';
235
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
236
+ $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
237
+ $request .= '</info_request></nnxml>';
238
+ return $request;
239
+ }
240
+ }
241
+
242
+ // Amount in cents
243
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
244
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
245
+ $request->setVendor($this->getConfigData('merchant_id'))
246
+ ->setAuthCode($this->getConfigData('auth_code'))
247
+ ->setProduct(
248
+ (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
249
+ ?$this->getConfigData('second_product_id')
250
+ :$this->getConfigData('product_id')
251
+ )
252
+ ->setTariff(
253
+ (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
254
+ ?$this->getConfigData('second_tariff_id')
255
+ :$this->getConfigData('tariff_id')
256
+ )
257
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
258
+ ->setKey($this->_nnPaymentId)
259
+ ;
260
+ }
261
+
262
+ protected function _postRequest($request, $type=self::POST_NORMAL)
263
+ {
264
+ $result = Mage::getModel('novalnet/novalnet_result');
265
+ $httpClientConfig = array('maxredirects'=>0);
266
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
267
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
268
+ }
269
+ $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
270
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS ) {
271
+ $client->setUri( self::XML_URL );
272
+ $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
273
+ }else {
274
+ $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
275
+ }
276
+ $response = $client->request();
277
+ if (!$response->isSuccessful()) {
278
+ Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
279
+ }
280
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS ) {
281
+ $result = new Varien_Simplexml_Element( $response->getRawBody() );
282
+ $result = new Varien_Object( $this->_xmlToArray( $result ) );
283
+ }else {
284
+ $result->addData( $this->_deformatNvp( $response->getBody() ) );
285
+ $result->toUtf8();
286
+ }
287
+ return $result;
288
+ }
289
+
290
+ private function _xmlToArray( SimpleXMLElement $xml ) {
291
+ $array = array();
292
+ if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
293
+ $array = $xml->asArray();
294
+ }else {
295
+ foreach( $xml->children() as $name => $value ) {
296
+ if( $value instanceof SimpleXMLElement && count( $value ) ) {
297
+ $array[ trim( $name ) ] = $this->_xmlToArray( $value );
298
+ }else {
299
+ $array[$name] = trim( (string)$value );
300
+ }
301
+ }
302
+ }
303
+ return $array;
304
+ }
305
+
306
+ public function isCallbackTypeCall(){
307
+ $total = $this->_getAmount() * 100;
308
+ $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
309
+ $countryCode = strtoupper( $this->_getBillingCountryCode() );
310
+
311
+ return $this->_getCheckoutSession()->hasNnCallbackTid()
312
+ || ($this->getConfigData('callback')
313
+ && ($callBackMinimum?$total>=$callBackMinimum:true)
314
+ && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
315
+ ;
316
+ }
317
+
318
+ public function assignData($data)
319
+ {
320
+ if (!($data instanceof Varien_Object)) {
321
+ $data = new Varien_Object($data);
322
+ }
323
+ $infoInstance = $this->getInfoInstance();
324
+ $infoInstance->setNnElvCountry($data->getElvCountry())
325
+ ->setNnAccountHolder($data->getAccountHolderAt())
326
+ ->setNnAccountNumber($data->getAccountNumberAt())
327
+ ->setNnBankSortingCode($data->getBankSortingCodeAt())
328
+ ->setNnCallbackPin($data->getCallbackPinAt())
329
+ ->setNnNewCallbackPin($data->getNewCallbackPinAt())
330
+ ->setNnCallbackTel($data->getCallbackTelAt())
331
+ ;
332
+
333
+ if( $this->isCallbackTypeCall() ) {
334
+ $infoInstance->setCallbackPinValidationFlag( true );
335
+ }
336
+ return $this;
337
+ }
338
+
339
+ public function validate() {
340
+ parent::validate();
341
+ $this->_validateCallbackSession();
342
+
343
+ $infoInstance = $this->getInfoInstance();
344
+ $nnAccountNumber = preg_replace('/[\-\s]+/', '', $infoInstance->getNnAccountNumber());
345
+ $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $infoInstance->getNnBankSortingCode());
346
+
347
+ if (preg_match("/\D/", $nnAccountNumber)){
348
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
349
+ }
350
+ if (preg_match("/\D/", $nnBankSortingCode)){
351
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
352
+ }
353
+ if (strlen($nnBankSortingCode) < self::BANK_SORTCODE_LENGTH) {
354
+ Mage::throwException(Mage::helper('novalnet')->__('The Bankcode must have a length of at least 5 digits').'!');
355
+ }
356
+
357
+ if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
358
+ if( !$infoInstance->getNnNewCallbackPin()
359
+ && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
360
+ && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
361
+ {
362
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
363
+ }
364
+ }
365
+ // Call for pin generation
366
+ if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() ) {
367
+ if( $this->_getMethodSession()->getNnCallbackTid() ) {
368
+ if($infoInstance->getNnNewCallbackPin()) {
369
+ $this->_regenerateCallbackPin();
370
+ }else {
371
+ $this->_getMethodSession()
372
+ ->setNnCallbackPin($infoInstance->getNnCallbackPin());
373
+ }
374
+ }else {
375
+ $this->_generateCallbackPin();
376
+ }
377
+ }
378
+
379
+ return $this;
380
+ }
381
+
382
+ public function prepareSave() {
383
+ $infoInstance = $this->getInfoInstance();
384
+ $t = $infoInstance->getData();
385
+ if( $this->_isPlaceOrder() ) {
386
+ $infoInstance->setNnAccountNumber(substr($infoInstance->getAccountNumberAt(), 0, -4) . 'XXXX' )
387
+ ->setNnBankSortingCode(substr($infoInstance->getBankSortingCodeAt(), 0, -3) . 'XXX' )
388
+ ;
389
+ }
390
+ return $this;
391
+ }
392
+
393
+ public function getTitle() {
394
+ //return $this->getConfigData('title');
395
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
396
+ }
397
+
398
+ public function getCheckoutRedirectUrl() {
399
+ return false;
400
+ }
401
+
402
+ public function getIsCentinelValidationEnabled() {
403
+ return false;
404
+ }
405
+
406
+ private function _generateCallbackPin() {
407
+ $request = $this->_buildRequest(self::POST_CALLBACK);
408
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
409
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
410
+ $this->_getMethodSession()
411
+ ->setNnCallbackTid($response->getTid())
412
+ ->setNnTestMode($response->getTestMode())
413
+ ->setNnCallbackTidTimeStamp(time())
414
+ ->setOrderAmount($request->getAmount())
415
+ ;
416
+ $this->getInfoInstance()->save();
417
+ $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
418
+ }else {
419
+ $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
420
+ }
421
+ Mage::throwException($text);
422
+ }
423
+
424
+ private function _regenerateCallbackPin() {
425
+ $request = $this->_buildRequest(self::POST_NEWPIN);
426
+ $response = $this->_postRequest($request, self::POST_NEWPIN);
427
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
428
+ $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
429
+ }else {
430
+ $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
431
+ }
432
+ Mage::throwException($text);
433
+ }
434
+
435
+ private function _deformatNvp($query) {
436
+ $deformated = array();
437
+ if(strlen($query)){
438
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
439
+ foreach($tmp as $k){
440
+ $k = explode('=', $k);
441
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
442
+ }
443
+ }
444
+ return $deformated;
445
+ }
446
+
447
+ private function _getQuotePaymentById($id) {
448
+ return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
449
+ }
450
+
451
+ private function _getCheckoutSession() {
452
+ return Mage::getSingleton('checkout/session');
453
+ }
454
+
455
+ private function _validateCallbackSession() {
456
+ $methodSession = $this->_getMethodSession();
457
+ if($methodSession->hasNnCallbackTid()) {
458
+ if(time()>($methodSession->getNnCallbackTidTimeStamp()+(30*60))){
459
+ $this->_unsetMethodSession();
460
+ if ($this->_isPlaceOrder()) {
461
+ Mage::throwException(Mage::helper('payment')->__('Callback session has expired. Please resubmit payment method'));
462
+ }
463
+ }elseif( $methodSession->getOrderAmount() != ($this->_getAmount()*100) ) {
464
+ $this->_unsetMethodSession();
465
+ if ($this->_isPlaceOrder()) {
466
+ Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please submit the payment method'));
467
+ }
468
+ }
469
+ }
470
+ }
471
+
472
+ private function _getMethodSession() {
473
+ $checkoutSession = $this->_getCheckoutSession();
474
+ if( !$checkoutSession->hasData( $this->getCode() ) ) {
475
+ $checkoutSession->setData( $this->getCode(), new Varien_Object() );
476
+ }
477
+ return $checkoutSession->getData( $this->getCode() );
478
+ }
479
+
480
+ private function _unsetMethodSession() {
481
+ $this->_getCheckoutSession()->unsetData( $this->getCode() );
482
+ return $this;
483
+ }
484
+
485
+ private function _getNnAccountHolder() {
486
+ $info = $this->getInfoInstance();
487
+ if ($this->_isPlaceOrder()) {
488
+ return $info->getOrder()->getPayment()->getNnAccountHolder();
489
+ } else {
490
+ return $info->getNnAccountHolder();
491
+ }
492
+ }
493
+
494
+ private function _getNnAccountNumber() {
495
+ $info = $this->getInfoInstance();
496
+ if ($this->_isPlaceOrder()) {
497
+ return $info->getOrder()->getPayment()->getNnAccountNumber();
498
+ } else {
499
+ return $info->getNnAccountNumber();
500
+ }
501
+ }
502
+
503
+ private function _getNnBankSortingCode() {
504
+ $info = $this->getInfoInstance();
505
+ if ($this->_isPlaceOrder()) {
506
+ return $info->getOrder()->getPayment()->getNnBankSortingCode();
507
+ } else {
508
+ return $info->getNnBankSortingCode();
509
+ }
510
+ }
511
+
512
+ private function _getOrderId(){
513
+ $info = $this->getInfoInstance();
514
+ if ($this->_isPlaceOrder()) {
515
+ return $info->getOrder()->getIncrementId();
516
+ } else {
517
+ if (!$info->getQuote()->getReservedOrderId()) {
518
+ $info->getQuote()->reserveOrderId();
519
+ }
520
+ return $info->getQuote()->getReservedOrderId();
521
+ }
522
+ }
523
+
524
+ private function _getAmount() {
525
+ $info = $this->getInfoInstance();
526
+ if ($this->_isPlaceOrder()) {
527
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
528
+ } else {
529
+ return (double)$info->getQuote()->getBaseGrandTotal();
530
+ }
531
+ }
532
+
533
+ private function _getCustomerEmail() {
534
+ $info = $this->getInfoInstance();
535
+ if ($this->_isPlaceOrder()) {
536
+ return $info->getOrder()->getCustomerEmail();
537
+ } else {
538
+ return $info->getQuote()->getCustomerEmail();
539
+ }
540
+ }
541
+
542
+ private function _getBillingAddress() {
543
+ $info = $this->getInfoInstance();
544
+ if ($this->_isPlaceOrder()) {
545
+ return $info->getOrder()->getBillingAddress();
546
+ } else {
547
+ return $info->getQuote()->getBillingAddress();
548
+ }
549
+ }
550
+
551
+ private function _getBillingCountryCode() {
552
+ $info = $this->getInfoInstance();
553
+ if ($this->_isPlaceOrder()) {
554
+ return $info->getOrder()->getBillingAddress()->getCountryId();
555
+ } else {
556
+ return $info->getQuote()->getBillingAddress()->getCountryId();
557
+ }
558
+ }
559
+
560
+ private function _getCurrencyCode(){
561
+ $info = $this->getInfoInstance();
562
+ if ($this->_isPlaceOrder()) {
563
+ return $info->getOrder()->getBaseCurrencyCode();
564
+ } else {
565
+ return $info->getQuote()->getBaseCurrencyCode();
566
+ }
567
+ }
568
+
569
+ private function _isPlaceOrder() {
570
+ $info = $this->getInfoInstance();
571
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
572
+ return false;
573
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
574
+ return true;
575
+ }
576
+ }
577
  }
app/{design/frontend/default/default/template/novalnet/instantbanktransfer/failure.phtml → code/community/Mage/Novalnet/Model/NovalnetElvdepci.php} RENAMED
@@ -1,32 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <div class="page-head">
29
- <h3><?php echo $this->__('Error occured') ?></h3>
30
- </div>
31
- <p><?php echo $this->getErrorMessage() ?>.</p>
32
- <p><?php echo $this->__('Please <a href="%s">continue shopping</a>.', $this->getContinueShoppingUrl()) ?></p>
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ class Mage_Novalnet_Model_NovalnetElvdepci extends Mage_Novalnet_Model_NovalnetPciAbstract
28
+ {
29
+ const PAYMENT_METHOD = 'Direct Debit German PCI';
30
+
31
+ protected $_nnPaymentId = 2;
32
+
33
+ protected $_code = 'novalnetElvdepci';
34
+ }
app/code/community/Mage/Novalnet/Model/NovalnetElvgerman.php CHANGED
@@ -1,409 +1,583 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const PAYMENT_METHOD = 'Direct Debit';
33
- const RESPONSE_DELIM_CHAR = '&';
34
- const RESPONSE_CODE_APPROVED = 100;
35
- const KEY = "2";
36
- /**
37
- * unique internal payment method identifier
38
- *
39
- * @var string [a-z0-9_]
40
- */
41
- protected $_code = 'novalnetElvgerman';
42
- protected $_formBlockType = 'novalnet/elvgerman_form';
43
- protected $_infoBlockType = 'novalnet/elvgerman_info';
44
- private $_debug = false; #todo: set to false for live system
45
-
46
-
47
- /**
48
- * Is this payment method a gateway (online auth/charge) ?
49
- */
50
- protected $_isGateway = true;
51
-
52
- /**
53
- * Can authorize online?
54
- */
55
- protected $_canAuthorize = false;
56
-
57
- /**
58
- * Can capture funds online?
59
- */
60
- protected $_canCapture = true;
61
-
62
- /**
63
- * Can capture partial amounts online?
64
- */
65
- protected $_canCapturePartial = true;
66
-
67
- /**
68
- * Can refund online?
69
- */
70
- protected $_canRefund = false;
71
-
72
- /**
73
- * Can void transactions online?
74
- */
75
- protected $_canVoid = false;
76
-
77
- /**
78
- * Can use this payment method in administration panel?
79
- */
80
- protected $_canUseInternal = true;
81
-
82
- /**
83
- * Can show this payment method as an option on checkout payment page?
84
- */
85
- protected $_canUseCheckout = true;
86
-
87
- /**
88
- * Is this payment method suitable for multi-shipping checkout?
89
- */
90
- protected $_canUseForMultishipping = true;
91
-
92
- /**
93
- * Can save credit card information for future processing?
94
- */
95
- protected $_canSaveCc = false;
96
-
97
- /**
98
- * Here you will need to implement authorize, capture and void public methods
99
- *
100
- * @see examples of transaction specific public methods such as
101
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
102
- */
103
- public function authorize(Varien_Object $payment, $amount)
104
- {
105
-
106
- return $this;
107
- }
108
- public function capture(Varien_Object $payment, $amount)
109
- {
110
- $error = false;
111
- $payment->setAmount($amount);
112
-
113
- $order = $payment->getOrder();
114
- $note = $order->getCustomerNote();
115
- if ($note){
116
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
117
- }
118
- if ( !$this->getConfigData('live_mode') ){
119
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
120
- }
121
- $order->setCustomerNote($note);
122
- $order->setCustomerNoteNotify(true);
123
-
124
- $request = $this->_buildRequest($payment);
125
- $result = $this->_postRequest($request);
126
-
127
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
128
- $payment->setStatus(self::STATUS_APPROVED);
129
- $payment->setCcTransId($result->getTid());
130
- $payment->setLastTransId($result->getTid());
131
- $payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
132
- $payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
133
- $id = $payment->getNnId();
134
- $quote_payment = $this->getQuote()->getPaymentById($id);
135
- if ($quote_payment)#to avoid error msg. in admin interface
136
- {
137
- $quote_payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
138
- $quote_payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
139
- $quote_payment->save();
140
- }
141
- }
142
- else {
143
- if ($result->getStatusDesc()) {
144
- $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
145
- }else {
146
- $error = Mage::helper('novalnet')->__('Error in capturing the payment');
147
- }
148
- }
149
-
150
- if ($error !== false) {
151
- Mage::throwException('Magento error message: '.$error);
152
- }
153
- return $this;
154
- }
155
- public function refund(Varien_Object $payment, $amount)
156
- {
157
- return $this;
158
- }
159
-
160
- public function void(Varien_Object $payment)
161
- {
162
- return $this;
163
- }
164
- /**
165
- * Prepare request to gateway
166
- *
167
- * @link http://www.authorize.net/support/AIM_guide.pdf
168
- * @param Mage_Sales_Model_Document $order
169
- * @return unknown
170
- */
171
- protected function _saveObject (Varien_Object $payment)
172
- {
173
- $order = $payment->getOrder();
174
- if (!empty($order)) {
175
- $billing = $order->getBillingAddress();
176
- }
177
- }
178
- protected function _buildRequest(Varien_Object $payment)
179
- {
180
- $order = $payment->getOrder();
181
-
182
- $request = Mage::getModel('novalnet/novalnet_request');
183
-
184
-
185
- $request->setvendor($this->getConfigData('merchant_id'))
186
- ->setauth_code($this->getConfigData('auth_code'))
187
- ->setproduct($this->getConfigData('product_id'))
188
- ->settariff($this->getConfigData('tariff_id'))
189
- ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
190
-
191
- $request->setcurrency($order->getOrderCurrency());
192
-
193
- if ($this->getConfigData('acdc_check')){
194
- $request->setacdc($this->getConfigData('acdc_check'));
195
- }
196
-
197
- if($payment->getAmount()){
198
- $request->setamount($payment->getAmount()*100);
199
- }
200
-
201
- if (!empty($order)) {
202
- $request->setinput1($order->getIncrementId());
203
- $billing = $order->getBillingAddress();
204
- if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
205
- if (!empty($billing)) {
206
- $request->setfirst_name($billing->getFirstname())
207
- ->setlast_name($billing->getLastname())
208
- ->setsearch_in_street(1)
209
- ->setstreet($billing->getStreet(1))
210
- ->setcity($billing->getCity())
211
- ->setzip($billing->getPostcode())
212
- ->setcountry($billing->getCountry())
213
- ->settel($billing->getTelephone())
214
- ->setfax($billing->getFax())
215
- ->setremote_ip($this->getRealIpAddr())
216
- ->setgender('u')
217
- ->setemail($order->getCustomerEmail());
218
- }#->setremote_ip($order->getRemoteIp())
219
- #->setstreet($street[0])
220
- #->sethouse_no($street[1].$street[2])
221
-
222
-
223
-
224
- }
225
-
226
- $request->setbank_account_holder($payment->getNnAccountHolder())
227
- ->setbank_account($payment->getNnAccountNumber())
228
- ->setbank_code($payment->getNnBankSortingCode())
229
- ->setkey(self::KEY);
230
- return $request;
231
- }
232
-
233
- protected function _postRequest(Varien_Object $request)
234
- {
235
- $result = Mage::getModel('novalnet/novalnet_result');
236
-
237
- $client = new Varien_Http_Client();
238
-
239
- $uri = $this->getConfigData('cgi_url');
240
- $client->setUri($uri ? $uri : self::CGI_URL);
241
- $client->setConfig(array(
242
- 'maxredirects'=>0,
243
- 'timeout'=>30,
244
- //'ssltransport' => 'tcp',
245
- ));
246
- $request->toLatin1();
247
- $client->setParameterPost($request->getData());
248
- $client->setMethod(Zend_Http_Client::POST);
249
- try {
250
- $response = $client->request();
251
- } catch (Exception $e) {
252
- $result->setResponseCode(-1)
253
- ->setResponseReasonCode($e->getCode())
254
- ->setResponseReasonText($e->getMessage());
255
- Mage::throwException(
256
- Mage::helper('novalnet')->__('Gateway request error: %s', $e->getMessage())
257
- );
258
- }
259
-
260
- $responseBody = $response->getBody();
261
-
262
- $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
263
-
264
- if ($r) {
265
- foreach($r as $key => $value)
266
- {
267
- if($value!="")
268
- {
269
- $aryKeyVal = explode("=",$value);
270
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
271
- }
272
- }
273
-
274
- if (isset($aryResponse['status'])){
275
- $result->setStatus($aryResponse['status']);
276
- }
277
- if (isset($aryResponse['tid'])){
278
- $result->setTid($aryResponse['tid']);
279
- }
280
- if (isset($aryResponse['status_desc'])){
281
- $result->setStatusDesc($aryResponse['status_desc']);
282
- }
283
-
284
- } else {
285
- Mage::throwException(
286
- Mage::helper('novalnet')->__('Error in payment gateway')
287
- );
288
- }
289
- $result->toUtf8();
290
- return $result;
291
- }
292
-
293
-
294
- public function assignData($data)
295
- {
296
- if (!($data instanceof Varien_Object)) {
297
- $data = new Varien_Object($data);
298
- }
299
- $info=$this->getInfoInstance();
300
- $info->setNnElvCountry($data->getElvCountry())
301
- ->setNnAccountHolder($data->getAccountHolder())
302
- ->setNnAccountNumber($data->getAccountNumber())
303
- ->setNnBankSortingCode($data->getBankSortingCode());
304
- if ($this->getConfigData('acdc_check')){
305
- $info->acdc_check = true;
306
- $info->acdc = ($data->acdc!= '')? true: false;
307
- }
308
- return $this;
309
- }
310
- /**
311
- * Get checkout
312
- *
313
- * @return Mage_Sales_Model_Quote
314
- */
315
- public function getQuote()
316
- {
317
- if (empty($this->_quote)) {
318
- $this->_quote = $this->getCheckout()->getQuote();
319
- }
320
- return $this->_quote;
321
- }
322
- /**
323
- * Get checkout
324
- *
325
- * @return Mage_Sales_Model_Order
326
- */
327
- public function getCheckout()
328
- {
329
- if (empty($this->_checkout)) {
330
- //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
331
- $this->_checkout = Mage::getSingleton('checkout/session');
332
- }
333
- return $this->_checkout;
334
- }
335
-
336
- public function getTitle()
337
- {
338
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
339
- }
340
-
341
- public function validate()
342
- {
343
- parent::validate();
344
- $info = $this->getInfoInstance();
345
- $nnAccountNumber = $info->getNnAccountNumber();
346
- $nnBankSortingCode = $info->getNnBankSortingCode();
347
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $nnAccountNumber);
348
- $info->setNnAccountNumber($nnAccountNumber);
349
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $nnBankSortingCode);
350
- $info->setNnBankSortingCode($nnBankSortingCode);
351
- if (preg_match("/\D/",$nnAccountNumber)){
352
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
353
- }
354
- if (preg_match("/\D/",$nnBankSortingCode)){
355
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
356
- }
357
- if (strlen($nnBankSortingCode) < 8){
358
- Mage::throwException(Mage::helper('novalnet')->__('The Bankcode must have a length of at least 8 digits').'!');
359
- }
360
- if ($info->acdc_check and !$info->acdc){
361
- Mage::throwException(Mage::helper('novalnet')->__('You must check ACDC'.'!'));
362
- }
363
- return $this;
364
- }
365
- public function isPublicIP($value)
366
- {
367
- if(!$value || count(explode('.',$value))!=4)
368
- {
369
- return false;
370
- }
371
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
372
- }
373
- public function getRealIpAddr()
374
- {
375
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
376
- {
377
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
378
- }
379
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
380
- {
381
- if($this->isPublicIP($iplist[0])) return $iplist[0];
382
- }
383
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
384
- {
385
- return $_SERVER['HTTP_CLIENT_IP'];
386
- }
387
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
388
- {
389
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
390
- }
391
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
392
- {
393
- return $_SERVER['HTTP_FORWARDED_FOR'];
394
- }
395
- return $_SERVER['REMOTE_ADDR'];
396
- }
397
- public function debug2($object, $filename)
398
- {
399
- if (!$this->_debug){return;}
400
- $fh = fopen("/tmp/$filename", 'a+');
401
- if (gettype($object) == 'object' or gettype($object) == 'array'){
402
- fwrite($fh, serialize($object));
403
- }else{
404
- fwrite($fh, date('Y-m-d H:i:s').' '.$object);
405
- }
406
- fwrite($fh, "<hr />\n");
407
- fclose($fh);
408
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
409
  }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
+ const PAYMENT_METHOD = 'Direct Debit';
34
+ const RESPONSE_DELIM_CHAR = '&';
35
+ const RESPONSE_CODE_APPROVED = 100;
36
+ const BANK_SORTCODE_LENGTH = 8;
37
+ const CALLBACK_PIN_LENGTH = 4;
38
+
39
+ // are used with _buildRequest and _postRequest
40
+ const POST_NORMAL = 'normal';
41
+ const POST_CALLBACK = 'callback';
42
+ const POST_NEWPIN = 'newpin';
43
+ const POST_PINSTATUS = 'pinstatus';
44
+
45
+ const ISOCODE_FOR_GERMAN = 'DE';
46
+
47
+ private $_nnPaymentId = '2';
48
+
49
+ /**
50
+ * unique internal payment method identifier
51
+ *
52
+ * @var string [a-z0-9_]
53
+ */
54
+ protected $_code = 'novalnetElvgerman';
55
+ protected $_formBlockType = 'novalnet/elvgerman_form';
56
+ protected $_infoBlockType = 'novalnet/elvgerman_info';
57
+
58
+ /**
59
+ * Is this payment method a gateway (online auth/charge) ?
60
+ */
61
+ protected $_isGateway = true;
62
+
63
+ /**
64
+ * Can authorize online?
65
+ */
66
+ protected $_canAuthorize = false;
67
+
68
+ /**
69
+ * Can capture funds online?
70
+ */
71
+ protected $_canCapture = true;
72
+
73
+ /**
74
+ * Can capture partial amounts online?
75
+ */
76
+ protected $_canCapturePartial = true;
77
+
78
+ /**
79
+ * Can refund online?
80
+ */
81
+ protected $_canRefund = false;
82
+
83
+ /**
84
+ * Can void transactions online?
85
+ */
86
+ protected $_canVoid = false;
87
+
88
+ /**
89
+ * Can use this payment method in administration panel?
90
+ */
91
+ protected $_canUseInternal = true;
92
+
93
+ /**
94
+ * Can show this payment method as an option on checkout payment page?
95
+ */
96
+ protected $_canUseCheckout = true;
97
+
98
+ /**
99
+ * Is this payment method suitable for multi-shipping checkout?
100
+ */
101
+ protected $_canUseForMultishipping = true;
102
+
103
+ /**
104
+ * Can save credit card information for future processing?
105
+ */
106
+ protected $_canSaveCc = false;
107
+
108
+ public function __construct() {
109
+ }
110
+
111
+ public function capture(Varien_Object $payment, $amount) {
112
+ $methodSession = $this->_getMethodSession();
113
+ if( $this->isCallbackTypeCall() ) {
114
+ $request = $this->_buildRequest(self::POST_PINSTATUS);
115
+ $result = $this->_postRequest($request, self::POST_PINSTATUS);
116
+ $result->setTid( $methodSession->getNnCallbackTid() );
117
+ $result->setTestMode( $methodSession->getNnTestMode() );
118
+ }else {
119
+ $request = $this->_buildRequest(self::POST_NORMAL);
120
+ $result = $this->_postRequest($request, self::POST_NORMAL);
121
+ }
122
+
123
+ // Analyze the response from Novalnet
124
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
125
+ $this->_unsetMethodSession();
126
+ $payment->setStatus(self::STATUS_APPROVED)
127
+ ->setLastTransId($result->getTid())
128
+ ;
129
+ $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
130
+ if($quotePayment) {
131
+ $quotePayment->setNnTestorder($result->getTestMode())
132
+ ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
133
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX')
134
+ ->save()
135
+ ;
136
+ }
137
+ } else {
138
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
139
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
140
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
141
+ ;
142
+ Mage::throwException($error);
143
+ }
144
+ return $this;
145
+ }
146
+
147
+ /**
148
+ * Prepare request to gateway
149
+ *
150
+ * @link http://www.authorize.net/support/AIM_guide.pdf
151
+ * @param Mage_Sales_Model_Document $order
152
+ * @return unknown
153
+ */
154
+ /*
155
+ protected function _saveObject (Varien_Object $payment)
156
+ {
157
+ $order = $payment->getOrder();
158
+ if (!empty($order)) {
159
+ $billing = $order->getBillingAddress();
160
+ }
161
+ }
162
+ */
163
+
164
+ public function isAvailable($quote = null) {
165
+ return $this->_checkNnAuthData() && parent::isAvailable();
166
+ }
167
+
168
+ private function _checkNnAuthData() {
169
+ return strlen($this->getConfigData('merchant_id'))
170
+ && strlen($this->getConfigData('auth_code'))
171
+ && strlen($this->getConfigData('product_id'))
172
+ && strlen($this->getConfigData('tariff_id'))
173
+ ;
174
+ }
175
+
176
+ protected function _buildRequest($type=self::POST_NORMAL) {
177
+ if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
178
+ $request = Mage::getModel('novalnet/novalnet_request');
179
+ $amount = round($this->_getAmount(), 2) * 100;
180
+ $billing = $this->_getBillingAddress();
181
+
182
+ $this->_assignNnAuthData($request, $amount);
183
+ $request->setAmount($amount)
184
+ ->setCurrency($this->_getCurrencyCode())
185
+ ->setfirstName($billing->getFirstname())
186
+ ->setLastName($billing->getLastname())
187
+ ->setSearchInStreet(1)
188
+ ->setStreet(implode(',', $billing->getStreet()))
189
+ ->setCity($billing->getCity())
190
+ ->setZip($billing->getPostcode())
191
+ ->setCountry($billing->getCountry())
192
+ ->setTel($billing->getTelephone())
193
+ ->setFax($billing->getFax())
194
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
195
+ ->setGender('u')
196
+ ->setEmail($this->_getCustomerEmail())
197
+ ->setBankAccountHolder($this->_getNnAccountHolder())
198
+ ->setBankAccount($this->_getNnAccountNumber())
199
+ ->setBankCode($this->_getNnBankSortingCode())
200
+ ->setAcdc($this->getConfigData('acdc_check'))
201
+ ->setOrderNo($this->_getOrderId())
202
+ ->setInput1('order_id')
203
+ ->setInputval1($this->_getOrderId())
204
+ ;
205
+
206
+ $infoInstance = $this->getInfoInstance();
207
+ $infoInstance->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
208
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX');
209
+
210
+ if( $type == self::POST_CALLBACK ) {
211
+ if($this->getConfigData('callback') == 1) {
212
+ $request->setTel($this->getInfoInstance()->getNnCallbackTel());
213
+ $request->setPinByCallback(1);
214
+ }else {
215
+ $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
216
+ $request->setPinBySms(1);
217
+ }
218
+ }
219
+ $request->toLatin1();
220
+ return $request;
221
+ }else if($type == self::POST_NEWPIN) {
222
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
223
+ $request .= '<nnxml><info_request>';
224
+ $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
225
+ $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
226
+ $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
227
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
228
+ $request .= '</info_request></nnxml>';
229
+ return $request;
230
+ }else if($type == self::POST_PINSTATUS) {
231
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
232
+ $request .= '<nnxml><info_request>';
233
+ $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
234
+ $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
235
+ $request .= '<request_type>PIN_STATUS</request_type>';
236
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
237
+ $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
238
+ $request .= '</info_request></nnxml>';
239
+ return $request;
240
+ }
241
+ }
242
+
243
+ // Amount in cents
244
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
245
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
246
+ $request->setVendor($this->getConfigData('merchant_id'))
247
+ ->setAuthCode($this->getConfigData('auth_code'))
248
+ ->setProduct(
249
+ (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
250
+ ?$this->getConfigData('second_product_id')
251
+ :$this->getConfigData('product_id')
252
+ )
253
+ ->setTariff(
254
+ (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
255
+ ?$this->getConfigData('second_tariff_id')
256
+ :$this->getConfigData('tariff_id')
257
+ )
258
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
259
+ ->setKey($this->_nnPaymentId)
260
+ ;
261
+ }
262
+
263
+ protected function _postRequest($request, $type=self::POST_NORMAL)
264
+ {
265
+ $result = Mage::getModel('novalnet/novalnet_result');
266
+ $httpClientConfig = array('maxredirects'=>0);
267
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
268
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
269
+ }
270
+ $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
271
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS ) {
272
+ $client->setUri( self::XML_URL );
273
+ $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
274
+ }else {
275
+ $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
276
+ }
277
+ $response = $client->request();
278
+ if (!$response->isSuccessful()) {
279
+ Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
280
+ }
281
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS ) {
282
+ $result = new Varien_Simplexml_Element( $response->getRawBody() );
283
+ $result = new Varien_Object( $this->_xmlToArray( $result ) );
284
+ }else {
285
+ $result->addData( $this->_deformatNvp( $response->getBody() ) );
286
+ $result->toUtf8();
287
+ }
288
+ return $result;
289
+ }
290
+
291
+ private function _xmlToArray( SimpleXMLElement $xml ) {
292
+ $array = array();
293
+ if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
294
+ $array = $xml->asArray();
295
+ }else {
296
+ foreach( $xml->children() as $name => $value ) {
297
+ if( $value instanceof SimpleXMLElement && count( $value ) ) {
298
+ $array[ trim( $name ) ] = $this->_xmlToArray( $value );
299
+ }else {
300
+ $array[$name] = trim( (string)$value );
301
+ }
302
+ }
303
+ }
304
+ return $array;
305
+ }
306
+
307
+ public function isCallbackTypeCall(){
308
+ $total = $this->_getAmount() * 100;
309
+ $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
310
+ $countryCode = strtoupper( $this->_getBillingCountryCode() );
311
+
312
+ return $this->_getCheckoutSession()->hasNnCallbackTid()
313
+ || ($this->getConfigData('callback')
314
+ && ($callBackMinimum?$total>=$callBackMinimum:true)
315
+ && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
316
+ ;
317
+ }
318
+
319
+ public function assignData($data)
320
+ {
321
+ if (!($data instanceof Varien_Object)) {
322
+ $data = new Varien_Object($data);
323
+ }
324
+ $infoInstance = $this->getInfoInstance();
325
+ $infoInstance->setNnElvCountry($data->getElvCountry())
326
+ ->setNnAccountHolder($data->getAccountHolder())
327
+ ->setNnAccountNumber($data->getAccountNumber())
328
+ ->setNnBankSortingCode($data->getBankSortingCode())
329
+ ->setNnAcdc($data->getAcdc())
330
+ ->setNnCallbackPin($data->getCallbackPin())
331
+ ->setNnNewCallbackPin($data->getNewCallbackPin())
332
+ ->setNnCallbackTel($data->getCallbackTel())
333
+ ;
334
+ if( $this->getConfigData('acdc_check') ) {
335
+ $infoInstance->setAcdcValidationFlag( true );
336
+ }
337
+ if( $this->isCallbackTypeCall() ) {
338
+ $infoInstance->setCallbackPinValidationFlag( true );
339
+ }
340
+ return $this;
341
+ }
342
+
343
+ public function validate() {
344
+ parent::validate();
345
+ $this->_validateCallbackSession();
346
+
347
+ $infoInstance = $this->getInfoInstance();
348
+ $nnAccountNumber = preg_replace('/[\-\s]+/', '', $infoInstance->getNnAccountNumber());
349
+ $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $infoInstance->getNnBankSortingCode());
350
+
351
+ if (preg_match("/\D/", $nnAccountNumber)){
352
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
353
+ }
354
+ if (preg_match("/\D/", $nnBankSortingCode)){
355
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
356
+ }
357
+ if (strlen($nnBankSortingCode) < self::BANK_SORTCODE_LENGTH) {
358
+ Mage::throwException(Mage::helper('novalnet')->__('The Bankcode must have a length of at least 8 digits').'!');
359
+ }
360
+ if ($infoInstance->getAcdcValidationFlag() && !$infoInstance->getNnAcdc()){
361
+ Mage::throwException(Mage::helper('novalnet')->__('You must check ACDC'.'!'));
362
+ }
363
+ if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
364
+ if( !$infoInstance->getNnNewCallbackPin()
365
+ && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
366
+ && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
367
+ {
368
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
369
+ }
370
+ }
371
+ // Call for pin generation
372
+ if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() ) {
373
+ if( $this->_getMethodSession()->getNnCallbackTid() ) {
374
+ if($infoInstance->getNnNewCallbackPin()) {
375
+ $this->_regenerateCallbackPin();
376
+ }else {
377
+ $this->_getMethodSession()
378
+ ->setNnCallbackPin($infoInstance->getNnCallbackPin());
379
+ }
380
+ }else {
381
+ $this->_generateCallbackPin();
382
+ }
383
+ }
384
+
385
+ return $this;
386
+ }
387
+
388
+ public function prepareSave() {
389
+ $infoInstance = $this->getInfoInstance();
390
+ $t = $infoInstance->getData();
391
+ if( $this->_isPlaceOrder() ) {
392
+ $infoInstance->setNnAccountNumber(substr($infoInstance->getAccountNumber(), 0, -4) . 'XXXX' )
393
+ ->setNnBankSortingCode(substr($infoInstance->getBankSortingCode(), 0, -3) . 'XXX' )
394
+ ;
395
+ }
396
+ return $this;
397
+ }
398
+
399
+ public function getTitle() {
400
+ //return $this->getConfigData('title');
401
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
402
+ }
403
+
404
+ public function getCheckoutRedirectUrl() {
405
+ return false;
406
+ }
407
+
408
+ public function getIsCentinelValidationEnabled() {
409
+ return false;
410
+ }
411
+
412
+ private function _generateCallbackPin() {
413
+ $request = $this->_buildRequest(self::POST_CALLBACK);
414
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
415
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
416
+ $this->_getMethodSession()
417
+ ->setNnCallbackTid($response->getTid())
418
+ ->setNnTestMode($response->getTestMode())
419
+ ->setNnCallbackTidTimeStamp(time())
420
+ ->setOrderAmount($request->getAmount())
421
+ ;
422
+ $this->getInfoInstance()->save();
423
+ $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
424
+ }else {
425
+ $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
426
+ }
427
+ Mage::throwException($text);
428
+ }
429
+
430
+ private function _regenerateCallbackPin() {
431
+ $request = $this->_buildRequest(self::POST_NEWPIN);
432
+ $response = $this->_postRequest($request, self::POST_NEWPIN);
433
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
434
+ $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
435
+ }else {
436
+ $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
437
+ }
438
+ Mage::throwException($text);
439
+ }
440
+
441
+ private function _deformatNvp($query) {
442
+ $deformated = array();
443
+ if(strlen($query)){
444
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
445
+ foreach($tmp as $k){
446
+ $k = explode('=', $k);
447
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
448
+ }
449
+ }
450
+ return $deformated;
451
+ }
452
+
453
+ private function _getQuotePaymentById($id) {
454
+ return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
455
+ }
456
+
457
+ private function _getCheckoutSession() {
458
+ return Mage::getSingleton('checkout/session');
459
+ }
460
+
461
+ private function _validateCallbackSession() {
462
+ $methodSession = $this->_getMethodSession();
463
+ if($methodSession->hasNnCallbackTid()) {
464
+ if(time()>($methodSession->getNnCallbackTidTimeStamp()+(30*60))){
465
+ $this->_unsetMethodSession();
466
+ if ($this->_isPlaceOrder()) {
467
+ Mage::throwException(Mage::helper('payment')->__('Callback session has expired. Please resubmit payment method'));
468
+ }
469
+ }elseif( $methodSession->getOrderAmount() != ($this->_getAmount()*100) ) {
470
+ $this->_unsetMethodSession();
471
+ if ($this->_isPlaceOrder()) {
472
+ Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please submit the payment method'));
473
+ }
474
+ }
475
+ }
476
+ }
477
+
478
+ private function _getMethodSession() {
479
+ $checkoutSession = $this->_getCheckoutSession();
480
+ if( !$checkoutSession->hasData( $this->getCode() ) ) {
481
+ $checkoutSession->setData( $this->getCode(), new Varien_Object() );
482
+ }
483
+ return $checkoutSession->getData( $this->getCode() );
484
+ }
485
+
486
+ private function _unsetMethodSession() {
487
+ $this->_getCheckoutSession()->unsetData( $this->getCode() );
488
+ return $this;
489
+ }
490
+
491
+ private function _getNnAccountHolder() {
492
+ $info = $this->getInfoInstance();
493
+ if ($this->_isPlaceOrder()) {
494
+ return $info->getOrder()->getPayment()->getNnAccountHolder();
495
+ } else {
496
+ return $info->getNnAccountHolder();
497
+ }
498
+ }
499
+
500
+ private function _getNnAccountNumber() {
501
+ $info = $this->getInfoInstance();
502
+ if ($this->_isPlaceOrder()) {
503
+ return $info->getOrder()->getPayment()->getNnAccountNumber();
504
+ } else {
505
+ return $info->getNnAccountNumber();
506
+ }
507
+ }
508
+
509
+ private function _getAmount() {
510
+ $info = $this->getInfoInstance();
511
+ if ($this->_isPlaceOrder()) {
512
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
513
+ } else {
514
+ return (double)$info->getQuote()->getBaseGrandTotal();
515
+ }
516
+ }
517
+
518
+ private function _getNnBankSortingCode() {
519
+ $info = $this->getInfoInstance();
520
+ if ($this->_isPlaceOrder()) {
521
+ return $info->getOrder()->getPayment()->getNnBankSortingCode();
522
+ } else {
523
+ return $info->getNnBankSortingCode();
524
+ }
525
+ }
526
+
527
+ private function _getOrderId(){
528
+ $info = $this->getInfoInstance();
529
+ if ($this->_isPlaceOrder()) {
530
+ return $info->getOrder()->getIncrementId();
531
+ } else {
532
+ if (!$info->getQuote()->getReservedOrderId()) {
533
+ $info->getQuote()->reserveOrderId();
534
+ }
535
+ return $info->getQuote()->getReservedOrderId();
536
+ }
537
+ }
538
+
539
+ private function _getCustomerEmail() {
540
+ $info = $this->getInfoInstance();
541
+ if ($this->_isPlaceOrder()) {
542
+ return $info->getOrder()->getCustomerEmail();
543
+ } else {
544
+ return $info->getQuote()->getCustomerEmail();
545
+ }
546
+ }
547
+
548
+ private function _getBillingAddress() {
549
+ $info = $this->getInfoInstance();
550
+ if ($this->_isPlaceOrder()) {
551
+ return $info->getOrder()->getBillingAddress();
552
+ } else {
553
+ return $info->getQuote()->getBillingAddress();
554
+ }
555
+ }
556
+
557
+ private function _getBillingCountryCode() {
558
+ $info = $this->getInfoInstance();
559
+ if ($this->_isPlaceOrder()) {
560
+ return $info->getOrder()->getBillingAddress()->getCountryId();
561
+ } else {
562
+ return $info->getQuote()->getBillingAddress()->getCountryId();
563
+ }
564
+ }
565
+
566
+ private function _getCurrencyCode(){
567
+ $info = $this->getInfoInstance();
568
+ if ($this->_isPlaceOrder()) {
569
+ return $info->getOrder()->getBaseCurrencyCode();
570
+ } else {
571
+ return $info->getQuote()->getBaseCurrencyCode();
572
+ }
573
+ }
574
+
575
+ private function _isPlaceOrder() {
576
+ $info = $this->getInfoInstance();
577
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
578
+ return false;
579
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
580
+ return true;
581
+ }
582
+ }
583
  }
app/code/community/Mage/Novalnet/Model/NovalnetInstantbanktransfer.php DELETED
@@ -1,382 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008-2010 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
-
30
- class Mage_Novalnet_Model_NovalnetInstantbanktransfer extends Mage_Payment_Model_Method_Abstract #Mage_Payment_Model_Method_Cc
31
- {
32
- const CGI_URL = 'https://payport.novalnet.de/online_transfer_payport';
33
- const PAYMENT_METHOD = 'Instant Bank Transfer';
34
- const RESPONSE_DELIM_CHAR = '&';
35
- const RESPONSE_CODE_APPROVED = 100;
36
- const KEY = 33;
37
- var $password;
38
-
39
- private $_debug = false; #todo: set to false for live system
40
- /**
41
- * unique internal payment method identifier
42
- *
43
- * @var string [a-z0-9_]
44
- */
45
- protected $_code = 'novalnetInstantbanktransfer';#path = magento\app\code\community\Mage\Novalnet\Model\novalnetInstantbanktransfer.php
46
- protected $_formBlockType = 'novalnet/instantbanktransfer_form';#path = magento\app\design\frontend\default\default\template\novalnet\instantbanktransfer\form.phtml
47
- protected $_infoBlockType = 'novalnet/instantbanktransfer_info';
48
-
49
- /**
50
- * Is this payment method a gateway (online auth/charge) ?
51
- */
52
- protected $_isGateway = true;
53
-
54
- /**
55
- * Can authorize online?
56
- */
57
- protected $_canAuthorize = true;
58
-
59
- /**
60
- * Can capture funds online?
61
- */
62
- protected $_canCapture = false;
63
-
64
- /**
65
- * Can capture partial amounts online?
66
- */
67
- protected $_canCapturePartial = true;
68
-
69
- /**
70
- * Can refund online?
71
- */
72
- protected $_canRefund = false;
73
-
74
- /**
75
- * Can void transactions online?
76
- */
77
- protected $_canVoid = false;
78
-
79
- /**
80
- * Can use this payment method in administration panel?
81
- */
82
- protected $_canUseInternal = true;
83
-
84
- /**
85
- * Can show this payment method as an option on checkout payment page?
86
- */
87
- protected $_canUseCheckout = true;
88
-
89
- /**
90
- * Is this payment method suitable for multi-shipping checkout?
91
- */
92
- protected $_canUseForMultishipping = false;
93
-
94
- /**
95
- * Can save credit card information for future processing?
96
- */
97
- protected $_canSaveCc = false;
98
-
99
- /**
100
- * Here you will need to implement authorize, capture and void public methods
101
- *
102
- * @see examples of transaction specific public methods such as
103
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
104
- */
105
- public function authorize(Varien_Object $payment, $amount)
106
- {
107
- return $this;
108
- }
109
- public function capture(Varien_Object $payment, $amount)
110
- {
111
- $order = $payment->getOrder();
112
- $note = $order->getCustomerNote();
113
- if ($note){
114
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': ';
115
- $note .= $order->getCustomerNote();
116
- }
117
- if ( !$this->getConfigData('live_mode') ){
118
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
119
- }
120
- $order->setComment($note);
121
- $order->setCustomerNote($note);
122
- $order->setCustomerNoteNotify(true);
123
- $order->save();
124
- #$this->debug2($order, $filename='magent_ibt.txt', true);
125
-
126
- $session = Mage::getSingleton('checkout/session');
127
- return $this;
128
- }
129
- public function refund(Varien_Object $payment, $amount)
130
- {
131
- return $this;
132
- }
133
-
134
- public function void(Varien_Object $payment)
135
- {
136
- return $this;
137
- }
138
- /**
139
- * Prepare request to gateway
140
- *
141
- * @link http://www.authorize.net/support/AIM_guide.pdf
142
- * @param Mage_Sales_Model_Document $order
143
- * @return unknown
144
- */
145
-
146
-
147
-
148
- public function getBookingReference()
149
- {
150
- return $this->getConfigData('booking_reference');
151
- }
152
-
153
-
154
- public function getTitle()
155
- {
156
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
157
- }
158
-
159
- public function getOrder()
160
- {
161
- if (!$this->_order) {
162
- $paymentInfo = $this->getInfoInstance();
163
- $this->_order = Mage::getModel('sales/order')
164
- ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
165
- }
166
- return $this->_order;
167
- }
168
-
169
- public function getFormFields()
170
- {
171
- $this->password = $this->getConfigData('password');
172
- $_SESSION['mima'] = $this->password;
173
- $billing = $this->getOrder()->getBillingAddress();
174
- $payment = $this->getOrder()->getPayment();
175
- $fieldsArr = array();
176
- $session = Mage::getSingleton('checkout/session');
177
- $paymentInfo = $this->getInfoInstance();
178
- $order = $this->getOrder();
179
-
180
- $note = $order->getCustomerNote();
181
- if ($note){
182
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
183
- }
184
- if ( !$this->getConfigData('live_mode') ){
185
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
186
- }
187
- $order->setComment($note);
188
- $order->setCustomerNote($note);
189
- $order->setCustomerNoteNotify(true);
190
-
191
- $fieldsArr['key'] = self::KEY;
192
- $fieldsArr['vendor'] = $this->getConfigData('merchant_id');
193
- $fieldsArr['auth_code'] = $this->encode($this->getConfigData('auth_code'), $this->password);
194
- $fieldsArr['product'] = $this->encode($this->getConfigData('product_id'), $this->password);
195
- $fieldsArr['tariff'] = $this->encode($this->getConfigData('tariff_id'), $this->password);
196
- $fieldsArr['amount'] = $this->encode(($order->getBaseGrandTotal()*100), $this->password);
197
- #$fieldsArr['test_mode'] = $this->encode($this->getConfigData('test_mode'), $this->password);
198
- $fieldsArr['test_mode'] = $this->encode((!$this->getConfigData('live_mode'))? 1: 0, $this->password);
199
- $fieldsArr['uniqid'] = $this->encode(uniqid(), $this->password);
200
-
201
- $hParams['auth_code'] = $fieldsArr['auth_code'];
202
- $hParams['product_id']= $fieldsArr['product'];
203
- $hParams['tariff'] = $fieldsArr['tariff'];
204
- $hParams['amount'] = $fieldsArr['amount'];
205
- $hParams['test_mode'] = $fieldsArr['test_mode'];
206
- $hParams['uniqid'] = $fieldsArr['uniqid'];
207
-
208
- $fieldsArr['hash'] = $this->hash($hParams, $this->password);
209
- $fieldsArr['currency'] = $order->getOrderCurrencyCode();
210
- $fieldsArr['first_name'] = $billing->getFirstname();
211
- $fieldsArr['last_name'] = $billing->getLastname();
212
- $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
213
- $fieldsArr['street'] = $billing->getStreet(1);
214
- $fieldsArr['search_in_street'] = 1;
215
- $fieldsArr['city'] = $billing->getCity();
216
- $fieldsArr['zip'] = $billing->getPostcode();
217
- $fieldsArr['country_code'] = $billing->getCountry();
218
- $fieldsArr['lang'] = $billing->getLang();
219
- $fieldsArr['remote_ip'] = $this->getRealIpAddr();
220
- $fieldsArr['tel'] = $billing->getTelephone();
221
- $fieldsArr['fax'] = $billing->getFax();
222
- $fieldsArr['birth_date'] = $order->getRemoteIp();
223
- $fieldsArr['session'] = session_id();
224
- $fieldsArr['return_url'] = Mage::getUrl('novalnet/instantbanktransfer/success', array('_instantbanktransfer' => true));
225
- $fieldsArr['return_method'] = 'POST';
226
- $fieldsArr['error_return_url'] = Mage::getUrl('novalnet/instantbanktransfer/success', array('_instantbanktransfer' => true));
227
- $fieldsArr['error_return_method'] = 'POST';
228
- $fieldsArr['input1'] = 'order_id';
229
- $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
230
- $fieldsArr['user_variable_0'] = str_replace(array('http://', 'www.'), array('', ''), $_SERVER['SERVER_NAME']);
231
-
232
- #on Clicking onto <Weiter> after choice of payment type
233
- /*
234
- payment[method]=novalnetInstantbanktransfer
235
- payment[cc_type]=VI
236
- payment[cc_owner]=Zhang
237
- payment[cc_number]=4200000000000000
238
- payment[cc_exp_month]=1
239
- payment[cc_exp_year]=2012
240
- payment[cc_cid]=123
241
- */
242
- #$fieldsArr['payment[method]'] = 'novalnetInstantbanktransfer';
243
-
244
- ############## INSTANT BANK Transfer specific parameters
245
- $fieldsArr['user_variable_0'] = str_replace('http://', '', Mage::getBaseUrl());
246
-
247
- $request = '';
248
- foreach ($fieldsArr as $k => $v) {
249
- $request .= '<' . $k . '>' . $v . '</' . $k . '>';
250
- }
251
- return $fieldsArr;
252
- }
253
-
254
- public function getOrderPlaceRedirectUrl()
255
- {
256
- return Mage::getUrl('novalnet/instantbanktransfer/redirect', array('_secure' => true));#path: magento\app\code\community\Mage\Novalnet\Block\Instantbanktransfer\redirect.php
257
- #Mage::log("getOrderPlaceRedirectUrl called");
258
- }
259
-
260
- public function getNovalnetInstantbanktransferUrl()
261
- {
262
- return self::CGI_URL;
263
- }
264
- public function isPublicIP($value)
265
- {
266
- if(!$value || count(explode('.',$value))!=4)
267
- {
268
- return false;
269
- }
270
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
271
- }
272
- public function getRealIpAddr()
273
- {
274
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
275
- {
276
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
277
- }
278
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
279
- {
280
- if($this->isPublicIP($iplist[0])) return $iplist[0];
281
- }
282
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
283
- {
284
- return $_SERVER['HTTP_CLIENT_IP'];
285
- }
286
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
287
- {
288
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
289
- }
290
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
291
- {
292
- return $_SERVER['HTTP_FORWARDED_FOR'];
293
- }
294
- return $_SERVER['REMOTE_ADDR'];
295
- }
296
-
297
- public function assignData($data)#this mehtode will be called twice: once after choice of payment, once after klicking on <Place Order>
298
- {
299
- return $this;
300
- }
301
- private function debug2($object, $filename, $debug = false)
302
- {
303
- if (!$this->debug and !$debug){return;}
304
- $fh = fopen("/tmp/$filename", 'a+');
305
- if (gettype($object) == 'object' or gettype($object) == 'array'){
306
- fwrite($fh, serialize($object));
307
- }else{
308
- fwrite($fh, date('H:i:s').' '.$object);
309
- }
310
- fwrite($fh, "<hr />\n");
311
- fclose($fh);
312
- }
313
- function encode($data, $key)
314
- {
315
- $data = trim($data);
316
- if ($data == '') return'Error: no data';
317
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
318
-
319
- try {
320
- $crc = sprintf('%u', crc32($data));# %u is a must for ccrc32 returns a signed value
321
- $data = $crc."|".$data;
322
- $data = bin2hex($data.$key);
323
- $data = strrev(base64_encode($data));
324
- }catch (Exception $e){
325
- echo('Error: '.$e);
326
- }
327
- return $data;
328
- }
329
- function decode($data, $key)
330
- {
331
- $data = trim($data);
332
- if ($data == '') {return'Error: no data';}
333
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
334
-
335
- try {
336
- $data = base64_decode(strrev($data));
337
- $data = pack("H".strlen($data), $data);
338
- $data = substr($data, 0, stripos($data, $key));
339
- $pos = strpos($data, "|");
340
- if ($pos === false){
341
- return("Error: CKSum not found!");
342
- }
343
- $crc = substr($data, 0, $pos);
344
- $value = trim(substr($data, $pos+1));
345
- if ($crc != sprintf('%u', crc32($value))){
346
- return("Error; CKSum invalid!");
347
- }
348
- return $value;
349
- }catch (Exception $e){
350
- echo('Error: '.$e);
351
- }
352
- }
353
- function hash($h, $key)#$h contains encoded data
354
- {
355
- if (!$h) return'Error: no data';
356
- if (!function_exists('md5')){return'Error: func n/a';}
357
- #Mage::throwException(Mage::helper('novalnet')->__("$h[auth_code].$h[product_id].$h[tariff].$h[amount].$h[test_mode].$h[uniqid].strrev($key)").'!');
358
- return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
359
- }
360
- function checkHash($request, $key)
361
- {
362
- if (!$request) return false; #'Error: no data';
363
- $h['auth_code'] = $request['auth_code'];#encoded
364
- $h['product_id'] = $request['product'];#encoded
365
- $h['tariff'] = $request['tariff'];#encoded
366
- $h['amount'] = $request['amount'];#encoded
367
- $h['test_mode'] = $request['test_mode'];#encoded
368
- $h['uniqid'] = $request['uniqid'];#encoded
369
-
370
- if ($request['hash2'] != $this->hash($h, $key)){
371
- return false;
372
- }
373
- return true;
374
- }
375
- /*order of func
376
- 19:30:01 redirectAction<hr />controller
377
- 19:30:03 getFormFields<hr />
378
- 19:30:47 successAction<hr />controller
379
- 19:30:47 _checkReturnedPost<hr />controller
380
- 19:30:48 capture<hr />
381
- */
382
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php CHANGED
@@ -1,475 +1,556 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const PAYMENT_METHOD = 'Invoice';
33
- const RESPONSE_DELIM_CHAR = '&';
34
- const RESPONSE_CODE_APPROVED = 100;
35
- const KEY = 27;
36
- const STATUS_PENDING = 'PENDING';
37
- /**
38
- * unique internal payment method identifier
39
- *
40
- * @var string [a-z0-9_]
41
- */
42
- protected $_code = 'novalnetInvoice';
43
- protected $_formBlockType = 'novalnet/invoice_form';
44
- protected $_infoBlockType = 'novalnet/invoice_info';
45
- protected $due_date = '';
46
- private $debug = true;#todo: set to fals for live system
47
-
48
- /**
49
- * Is this payment method a gateway (online auth/charge) ?
50
- */
51
- protected $_isGateway = true;
52
-
53
- /**
54
- * Can authorize online?
55
- */
56
- protected $_canAuthorize = false;
57
-
58
- /**
59
- * Can capture funds online?
60
- */
61
- protected $_canCapture = true;
62
-
63
- /**
64
- * Can capture partial amounts online?
65
- */
66
- protected $_canCapturePartial = true;
67
-
68
- /**
69
- * Can refund online?
70
- */
71
- protected $_canRefund = false;
72
-
73
- /**
74
- * Can void transactions online?
75
- */
76
- protected $_canVoid = false;
77
-
78
- /**
79
- * Can use this payment method in administration panel?
80
- */
81
- protected $_canUseInternal = true;
82
-
83
- /**
84
- * Can show this payment method as an option on checkout payment page?
85
- */
86
- protected $_canUseCheckout = true;
87
-
88
- /**
89
- * Is this payment method suitable for multi-shipping checkout?
90
- */
91
- protected $_canUseForMultishipping = true;
92
-
93
- /**
94
- * Can save credit card information for future processing?
95
- */
96
- protected $_canSaveCc = false;
97
-
98
- /**
99
- * Here you will need to implement authorize, capture and void public methods
100
- *
101
- * @see examples of transaction specific public methods such as
102
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
103
- */
104
- public function authorize(Varien_Object $payment, $amount)
105
- {
106
-
107
- return $this;
108
- }
109
- public function capture(Varien_Object $payment, $amount)
110
- {
111
- $error = false;
112
- $payment->setAmount($amount);
113
- $request = $this->_buildRequest($payment);
114
- $result = $this->_postRequest($request,$payment);
115
-
116
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
117
- #$payment->setStatus(self::STATUS_APPROVED);
118
- $payment->setStatus(self::STATUS_PENDING);
119
- $payment->setCcTransId($result->getTid());
120
- $payment->setLastTransId($result->getTid());
121
- $payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
122
- $payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
123
- $id = $payment->getNnId();
124
- $quote_payment = $this->getQuote()->getPaymentById($id);
125
- if ($quote_payment)#to avoid error msg. in admin interface
126
- {
127
- $quote_payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
128
- $quote_payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
129
- $quote_payment->save();
130
- }
131
- }
132
- else {
133
- if ($result->getStatusDesc()) {
134
- $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
135
- }else {
136
- $error = Mage::helper('novalnet')->__('Error in capturing the payment');
137
- }
138
- }
139
-
140
- if ($error !== false) {
141
- Mage::throwException($error);
142
- }
143
- return $this;
144
- }
145
- public function refund(Varien_Object $payment, $amount)
146
- {
147
- return $this;
148
- }
149
-
150
- public function void(Varien_Object $payment)
151
- {
152
- return $this;
153
- }
154
- /**
155
- * Prepare request to gateway
156
- *
157
- * @link http://www.authorize.net/support/AIM_guide.pdf
158
- * @param Mage_Sales_Model_Document $order
159
- * @return unknown
160
- */
161
- protected function _saveObject (Varien_Object $payment)
162
- {
163
- $order = $payment->getOrder();
164
- if (!empty($order)) {
165
- $billing = $order->getBillingAddress();
166
- }
167
- }
168
- protected function _buildRequest(Varien_Object $payment)
169
- {
170
- $order = $payment->getOrder();
171
- $due_date_string = $this->getDuedateParam();
172
- $request = Mage::getModel('novalnet/novalnet_request');
173
-
174
-
175
- $request->setvendor($this->getConfigData('merchant_id'))
176
- ->setauth_code($this->getConfigData('auth_code'))
177
- ->setproduct($this->getConfigData('product_id'))
178
- ->settariff($this->getConfigData('tariff_id'))
179
- ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
180
-
181
- $request->setcurrency($order->getOrderCurrency());
182
-
183
- if($payment->getAmount()){
184
- #$request->setamount($payment->getAmount()*100);
185
- $request->setamount($this->getAmount4Request($payment->getAmount()));
186
- }
187
-
188
- if (!empty($order)) {
189
- $request->setinput1($order->getIncrementId());
190
- $billing = $order->getBillingAddress();
191
- if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
192
- if (!empty($billing)) {
193
- $request->setfirst_name($billing->getFirstname())
194
- ->setLast_name($billing->getlastname())
195
- ->setsearch_in_street(1)
196
- ->setstreet($billing->getStreet(1))
197
- ->setcity($billing->getCity())
198
- ->setzip($billing->getPostcode())
199
- ->setcountry($billing->getCountry())
200
- ->settel($billing->getTelephone())
201
- ->setfax($billing->getFax())
202
- ->setremote_ip($this->getRealIpAddr())
203
- ->setgender('u')
204
- ->setemail($order->getCustomerEmail())
205
- ->setsearch_in_street(1);
206
- #->setremote_ip($order->getRemoteIp())
207
- #->sethouse_no($street[1].$street[2])
208
- #->setstreet($street[0].$street[1].$street[2])
209
- }
210
- }
211
- /*$request->setbank_account_holder($payment->getNnAccountHolder())
212
- ->setbank_account($payment->getNnAccountNumber())
213
- ->setbank_code($payment->getNnBankSortingCode())*/
214
- $request->setkey(self::KEY);
215
- $request->setinvoice_type(self::PAYMENT_METHOD.$due_date_string);
216
- return $request;
217
- }
218
-
219
- protected function _postRequest(Varien_Object $request, Varien_Object $payment)
220
- {
221
- $result = Mage::getModel('novalnet/novalnet_result');
222
-
223
- $client = new Varien_Http_Client();
224
-
225
- $uri = $this->getConfigData('cgi_url');
226
- $client->setUri($uri ? $uri : self::CGI_URL);
227
- $client->setConfig(array(
228
- 'maxredirects'=>0,
229
- 'timeout'=>30,
230
- //'ssltransport' => 'tcp',
231
- ));
232
- $request->toLatin1();
233
- $client->setParameterPost($request->getData());
234
- $client->setMethod(Zend_Http_Client::POST);
235
- try {
236
- $response = $client->request();
237
- } catch (Exception $e) {
238
- $result->setResponseCode(-1)
239
- ->setResponseReasonCode($e->getCode())
240
- ->setResponseReasonText($e->getMessage());
241
- Mage::throwException(
242
- Mage::helper('novalnet')->__('Gateway request error: %s', $e->getMessage())
243
- );
244
- }
245
-
246
- $responseBody = $response->getBody();
247
-
248
- $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
249
-
250
- if ($r) {
251
- foreach($r as $key => $value)
252
- {
253
- if($value!="")
254
- {
255
- $aryKeyVal = explode("=",$value);
256
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
257
- }
258
- }
259
-
260
- if (isset($aryResponse['status'])){
261
- $result->setStatus($aryResponse['status']);
262
- }
263
- if (isset($aryResponse['tid'])){
264
- $result->setTid($aryResponse['tid']);
265
- }
266
- if (isset($aryResponse['status_desc'])){
267
- $result->setStatusDesc($aryResponse['status_desc']);
268
- }
269
-
270
- } else {
271
- Mage::throwException(
272
- Mage::helper('novalnet')->__('Error in payment gateway')
273
- );
274
- }
275
- $result->toUtf8();
276
- $note = $this->getNote($aryResponse);
277
- $order = $payment->getOrder();
278
- if ($order->getCustomerNote())
279
- {
280
- $note .= '<br /><br />';
281
- $note .= Mage::helper('novalnet')->__('Comment').': ';
282
- $note .= $order->getCustomerNote();
283
- }
284
- if ( !$this->getConfigData('live_mode') ){
285
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
286
- }
287
-
288
- $order->setCustomerNote($note);
289
- $order->setCustomerNoteNotify(true);
290
- #$fh = fopen('/temp/magento.txt', 'w');fwrite($fh, $note);
291
- #Mage::throwException($order->getEmailCustomerNote());#todo:
292
- return $result;
293
- }
294
-
295
-
296
- public function assignData($data)
297
- {
298
- if (!($data instanceof Varien_Object)) {
299
- $data = new Varien_Object($data);
300
- }
301
- $info=$this->getInfoInstance();
302
- $info->setNnElvCountry($data->getElvCountry())
303
- ->setNnAccountHolder($data->getAccountHolder())
304
- ->setNnAccountNumber($data->getAccountNumber())
305
- ->setNnBankSortingCode($data->getBankSortingCode());
306
- return $this;
307
- }
308
- /**
309
- * Get checkout
310
- *
311
- * @return Mage_Sales_Model_Quote
312
- */
313
- public function getQuote()
314
- {
315
- if (empty($this->_quote)) {
316
- $this->_quote = $this->getCheckout()->getQuote();
317
- }
318
- return $this->_quote;
319
- }
320
- /**
321
- * Get checkout
322
- *
323
- * @return Mage_Sales_Model_Order
324
- */
325
- public function getCheckout()
326
- {
327
- if (empty($this->_checkout)) {
328
- //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
329
- $this->_checkout = Mage::getSingleton('checkout/session');
330
- }
331
- return $this->_checkout;
332
- }
333
-
334
- public function getTitle()
335
- {
336
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
337
- }
338
-
339
- public function validate()
340
- {
341
- parent::validate();
342
- $info = $this->getInfoInstance();
343
- $nnAccountNumber = $info->getNnAccountNumber();
344
- $nnBankSortingCode = $info->getNnBankSortingCode();
345
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $nnAccountNumber);
346
- $info->setNnAccountNumber($nnAccountNumber);
347
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $nnBankSortingCode);
348
- $info->setNnBankSortingCode($nnBankSortingCode);
349
- if (preg_match("/\D/",$nnAccountNumber)){
350
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
351
- }
352
- if (preg_match("/\D/",$nnBankSortingCode)){
353
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
354
- }
355
- return $this;
356
- }
357
- public function isPublicIP($value)
358
- {
359
- if(!$value || count(explode('.',$value))!=4)
360
- {
361
- return false;
362
- }
363
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
364
- }
365
- public function getRealIpAddr()
366
- {
367
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
368
- {
369
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
370
- }
371
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
372
- {
373
- if($this->isPublicIP($iplist[0])) return $iplist[0];
374
- }
375
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
376
- {
377
- return $_SERVER['HTTP_CLIENT_IP'];
378
- }
379
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
380
- {
381
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
382
- }
383
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
384
- {
385
- return $_SERVER['HTTP_FORWARDED_FOR'];
386
- }
387
- return $_SERVER['REMOTE_ADDR'];
388
- }
389
- public function getAmount4Request($amount)
390
- {
391
- if(preg_match('/[,.]$/', $amount))
392
- {
393
- $amount = $amount . '00';
394
- }
395
- else if(preg_match('/[,.][0-9]$/', $amount))
396
- {
397
- $amount = $amount . '0';
398
- }
399
- $orig_amount = $amount;
400
-
401
- $amount = str_replace(array('.', ','), array('',''), $amount);
402
- return$amount;
403
- }
404
- public function getDuedateParam()
405
- {
406
- $payment_duration = $this->getConfigData('payment_duration');
407
- $due_date = '';
408
- $due_date_string = '';
409
- if($payment_duration)
410
- {
411
- $due_date = date("d.m.Y",mktime(0,0,0,date("m"),date("d")+$payment_duration,date("Y")));
412
- $due_date_string = '&due_date='.date("Y-m-d",mktime(0,0,0,date("m"),date("d")+$payment_duration,date("Y")));
413
- }
414
-
415
- if($due_date)
416
- {
417
- #return Mage::app()->getTranslator()->translate(func_get_args());#todo:
418
- $this->due_date = $due_date;
419
- }
420
- /*else
421
- {
422
- $order->info['comments'] = '<BR><B>'.MODULE_PAYMENT_NOVALNET_INVOICE_TEXT_TRANSFER_INFO.'</B><BR><BR>';
423
- }*/
424
- return$due_date_string;
425
- }
426
- public function getNote($aryResponse)
427
- {
428
- #todo: Kontoinhaber fehlt
429
- $note = Mage::helper('novalnet')->__('Please transfer the amount at the latest, untill').' '.$this->due_date.' '.Mage::helper('novalnet')->__('to following account').":<br /><br />\n\n";
430
-
431
- $note.= Mage::helper('novalnet')->__('Account Holder2').": NOVALNET AG<br />\n";
432
- $note.= Mage::helper('novalnet')->__('Account Number').": ".$aryResponse['invoice_account']."<br />\n";
433
- $note.= Mage::helper('novalnet')->__('Bank Sorting Code').": ".$aryResponse['invoice_bankcode']."<br />\n";
434
- $note.= Mage::helper('novalnet')->__('Bank').": ".$aryResponse['invoice_bankname'].', Muenchen<br /><br />'."\n\n"; #.$aryResponse['invoice_bankplace']."\n\n";
435
-
436
- $note.= "IBAN: ".$aryResponse['invoice_iban']."<br />\n";
437
- $note.= "SWIFT / BIC: ".$aryResponse['invoice_bic']."<br /><br />\n\n";
438
-
439
- $note.= Mage::helper('novalnet')->__('Amount').": ".str_replace('.', ',', $aryResponse['amount'])." EUR<br />\n";
440
- $note.= Mage::helper('novalnet')->__('Reference').": TID ".$aryResponse['tid']."<br />\n";
441
- $note.= Mage::helper('novalnet')->__('Please note that the Transfer can only be identified with the above mentioned Reference').'.';
442
-
443
- /*
444
- aryResponce:
445
- status=>100
446
- nc_no=>2200224420635320
447
- tid=>11934900002719418
448
- memburl=>http://magento.gsoftpro.de/
449
- login=>
450
- password=>
451
- end_date=>
452
- amount=>1204.97 => 1204,97
453
- invoice_account=>660983147
454
- invoice_bankcode=>70020270
455
- invoice_iban=>DE55700202700660983147
456
- invoice_bic=>HYVEDEMMXXX
457
- invoice_bankname=>Hypovereinsbank
458
- invoice_bankplace=>M��nchen
459
- */
460
- return$note;
461
- }
462
-
463
- private function debug2($object, $filename)
464
- {
465
- if (!$this->debug){return;}
466
- $fh = fopen("/tmp/$filename", 'a+');
467
- if (gettype($object) == 'object' or gettype($object) == 'array'){
468
- fwrite($fh, serialize($object));
469
- }else{
470
- fwrite($fh, date('H:i:s').' '.$object);
471
- }
472
- fwrite($fh, "<hr />\n");
473
- fclose($fh);
474
- }
475
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
+ const PAYMENT_METHOD = 'Invoice';
34
+ const RESPONSE_DELIM_CHAR = '&';
35
+ const RESPONSE_CODE_APPROVED = 100;
36
+ const CALLBACK_PIN_LENGTH = 4;
37
+
38
+ // are used with _buildRequest and _postRequest
39
+ const POST_NORMAL = 'normal';
40
+ const POST_CALLBACK = 'callback';
41
+ const POST_NEWPIN = 'newpin';
42
+ const POST_PINSTATUS = 'pinstatus';
43
+
44
+ const ISOCODE_FOR_GERMAN = 'DE';
45
+
46
+ private $_nnPaymentId = 27;
47
+ /**
48
+ * unique internal payment method identifier
49
+ *
50
+ * @var string [a-z0-9_]
51
+ */
52
+ protected $_code = 'novalnetInvoice';
53
+ protected $_formBlockType = 'novalnet/invoice_form';
54
+ protected $_infoBlockType = 'novalnet/invoice_info';
55
+
56
+ /**
57
+ * Is this payment method a gateway (online auth/charge) ?
58
+ */
59
+ protected $_isGateway = true;
60
+
61
+ /**
62
+ * Can authorize online?
63
+ */
64
+ protected $_canAuthorize = false;
65
+
66
+ /**
67
+ * Can capture funds online?
68
+ */
69
+ protected $_canCapture = true;
70
+
71
+ /**
72
+ * Can capture partial amounts online?
73
+ */
74
+ protected $_canCapturePartial = true;
75
+
76
+ /**
77
+ * Can refund online?
78
+ */
79
+ protected $_canRefund = false;
80
+
81
+ /**
82
+ * Can void transactions online?
83
+ */
84
+ protected $_canVoid = false;
85
+
86
+ /**
87
+ * Can use this payment method in administration panel?
88
+ */
89
+ protected $_canUseInternal = true;
90
+
91
+ /**
92
+ * Can show this payment method as an option on checkout payment page?
93
+ */
94
+ protected $_canUseCheckout = true;
95
+
96
+ /**
97
+ * Is this payment method suitable for multi-shipping checkout?
98
+ */
99
+ protected $_canUseForMultishipping = true;
100
+
101
+ /**
102
+ * Can save credit card information for future processing?
103
+ */
104
+ protected $_canSaveCc = false;
105
+
106
+ /**
107
+ * Here you will need to implement authorize, capture and void public methods
108
+ *
109
+ * @see examples of transaction specific public methods such as
110
+ * authorize, capture and void in Mage_Paygate_Model_Authorizenet
111
+ */
112
+ public function capture(Varien_Object $payment, $amount)
113
+ {
114
+ $methodSession = $this->_getMethodSession();
115
+ if( $this->isCallbackTypeCall() ) {
116
+ $request = $this->_buildRequest(self::POST_PINSTATUS);
117
+ $result = $this->_postRequest($request, self::POST_PINSTATUS);
118
+
119
+ $result->setTid( $methodSession->getNnCallbackTid() )
120
+ ->setTestMode( $methodSession->getNnTestMode() )
121
+ ->setNote( $methodSession->getNote() )
122
+ ;
123
+ }else {
124
+ $request = $this->_buildRequest(self::POST_NORMAL);
125
+ $result = $this->_postRequest($request, self::POST_NORMAL);
126
+ $result->setNote( $this->_getNote($result) );
127
+ }
128
+
129
+ // Analyze the response from Novalnet
130
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
131
+ $this->_unsetMethodSession();
132
+ $payment->setStatus(self::STATUS_APPROVED)->setLastTransId($result->getTid());
133
+ $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
134
+ if($quotePayment) {
135
+ $quotePayment
136
+ ->setNnTestorder($result->getTestMode())
137
+ ->setNnComments($result->getNote())
138
+ ->save()
139
+ ;
140
+ }
141
+ $request = Mage::getModel('novalnet/novalnet_request');
142
+ $amount = round($this->_getAmount(), 2) * 100;
143
+ $this->_assignNnAuthData($request, $amount);
144
+ $request->setStatus(100)
145
+ ->setTid($result->getTid())
146
+ ->setReference('BNR-' .$this->getConfigData('product_id').'-'. $this->_getOrderId())
147
+ ->setInvoiceRef('BNR-' .$this->getConfigData('product_id').'-'. $this->_getOrderId())
148
+ ->setVwz2('Order no. ' . $this->_getOrderId())
149
+ ->setVwz3('Order date ' . date('Y-m-d H:i:s'))
150
+ ;
151
+ $result = $this->_postRequest($request);
152
+ } else {
153
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
154
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
155
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
156
+ ;
157
+ Mage::throwException($error);
158
+ }
159
+ return $this;
160
+ }
161
+
162
+ public function isAvailable($quote = null) {
163
+ return $this->_checkNnAuthData() && parent::isAvailable();
164
+ }
165
+
166
+ private function _checkNnAuthData() {
167
+ return strlen($this->getConfigData('merchant_id'))
168
+ && strlen($this->getConfigData('auth_code'))
169
+ && strlen($this->getConfigData('product_id'))
170
+ && strlen($this->getConfigData('tariff_id'))
171
+ ;
172
+ }
173
+
174
+ /**
175
+ * Prepare request to gateway
176
+ *
177
+ * @link http://www.authorize.net/support/AIM_guide.pdf
178
+ * @param Mage_Sales_Model_Document $order
179
+ * @return unknown
180
+ */
181
+ /*
182
+ protected function _saveObject (Varien_Object $payment)
183
+ {
184
+ $order = $payment->getOrder();
185
+ if (!empty($order)) {
186
+ $billing = $order->getBillingAddress();
187
+ }
188
+ }
189
+ */
190
+
191
+ protected function _buildRequest($type=self::POST_NORMAL) {
192
+ if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
193
+ $request = Mage::getModel('novalnet/novalnet_request');
194
+ $amount = round($this->_getAmount(), 2) * 100;
195
+ $billing = $this->_getBillingAddress();
196
+
197
+ $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
198
+ $dueDate = $paymentDuration ? date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) : NULL;
199
+
200
+ $this->_assignNnAuthData($request, $amount);
201
+ $request->setAmount($amount)
202
+ ->setCurrency($this->_getCurrencyCode())
203
+ ->setfirstName($billing->getFirstname())
204
+ ->setLastName($billing->getLastname())
205
+ ->setSearchInStreet(1)
206
+ ->setStreet(implode(',', $billing->getStreet()))
207
+ ->setCity($billing->getCity())
208
+ ->setZip($billing->getPostcode())
209
+ ->setCountry($billing->getCountry())
210
+ ->setTel($billing->getTelephone())
211
+ ->setFax($billing->getFax())
212
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
213
+ ->setGender('u')
214
+ ->setEmail($this->_getCustomerEmail())
215
+ ->setOrderNo($this->_getOrderId())
216
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId())
217
+ ->setInput1('order_id')
218
+ ->setInputval1($this->_getOrderId())
219
+ ->setInvoiceType(self::PAYMENT_METHOD)
220
+ ->setDueDate($dueDate)
221
+ ;
222
+ if( $type == self::POST_CALLBACK ) {
223
+ if($this->getConfigData('callback') == 1) {
224
+ $request->setTel($this->getInfoInstance()->getNnCallbackTel());
225
+ $request->setPinByCallback(1);
226
+ }else {
227
+ $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
228
+ $request->setPinBySms(1);
229
+ }
230
+ }
231
+ $request->toLatin1();
232
+ return $request;
233
+ }else if($type == self::POST_NEWPIN) {
234
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
235
+ $request .= '<nnxml><info_request>';
236
+ $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
237
+ $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
238
+ $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
239
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
240
+ $request .= '</info_request></nnxml>';
241
+ return $request;
242
+ }else if($type == self::POST_PINSTATUS) {
243
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
244
+ $request .= '<nnxml><info_request>';
245
+ $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
246
+ $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
247
+ $request .= '<request_type>PIN_STATUS</request_type>';
248
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
249
+ $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
250
+ $request .= '</info_request></nnxml>';
251
+ return $request;
252
+ }
253
+ }
254
+
255
+ // Amount in cents
256
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
257
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
258
+ $request->setVendor($this->getConfigData('merchant_id'))
259
+ ->setAuthCode($this->getConfigData('auth_code'))
260
+ ->setProduct(
261
+ (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
262
+ ?$this->getConfigData('second_product_id')
263
+ :$this->getConfigData('product_id')
264
+ )
265
+ ->setTariff(
266
+ (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
267
+ ?$this->getConfigData('second_tariff_id')
268
+ :$this->getConfigData('tariff_id')
269
+ )
270
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
271
+ ->setKey($this->_nnPaymentId)
272
+ ;
273
+ }
274
+
275
+ protected function _postRequest($request, $type=self::POST_NORMAL)
276
+ {
277
+ $result = Mage::getModel('novalnet/novalnet_result');
278
+ $httpClientConfig = array('maxredirects'=>0);
279
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
280
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
281
+ }
282
+ $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
283
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS ) {
284
+ $client->setUri( self::XML_URL );
285
+ $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
286
+ }else {
287
+ $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
288
+ }
289
+ $response = $client->request();
290
+ if (!$response->isSuccessful()) {
291
+ Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
292
+ }
293
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS ) {
294
+ $result = new Varien_Simplexml_Element( $response->getRawBody() );
295
+ $result = new Varien_Object( $this->_xmlToArray( $result ) );
296
+ }else {
297
+ $result->addData( $this->_deformatNvp( $response->getBody() ) );
298
+ $result->toUtf8();
299
+ }
300
+ return $result;
301
+ }
302
+
303
+ private function _xmlToArray( SimpleXMLElement $xml ) {
304
+ $array = array();
305
+ if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
306
+ $array = $xml->asArray();
307
+ }else {
308
+ foreach( $xml->children() as $name => $value ) {
309
+ if( $value instanceof SimpleXMLElement && count( $value ) ) {
310
+ $array[ trim( $name ) ] = $this->_xmlToArray( $value );
311
+ }else {
312
+ $array[$name] = trim( (string)$value );
313
+ }
314
+ }
315
+ }
316
+ return $array;
317
+ }
318
+
319
+ public function isCallbackTypeCall(){
320
+ $total = $this->_getAmount() * 100;
321
+ $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
322
+ $countryCode = strtoupper( $this->_getBillingCountryCode() );
323
+
324
+ return $this->_getCheckoutSession()->hasNnCallbackTid()
325
+ || ($this->getConfigData('callback')
326
+ && ($callBackMinimum?$total>=$callBackMinimum:true)
327
+ && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
328
+ ;
329
+ }
330
+
331
+ public function assignData($data)
332
+ {
333
+ if (!($data instanceof Varien_Object)) {
334
+ $data = new Varien_Object($data);
335
+ }
336
+ $infoInstance = $this->getInfoInstance();
337
+ $infoInstance->setNnCallbackPin($data->getCallbackPin())
338
+ ->setNnNewCallbackPin($data->getNewCallbackPin())
339
+ ->setNnCallbackTel($data->getCallbackTel())
340
+ ;
341
+ if( $this->isCallbackTypeCall() ) {
342
+ $infoInstance->setCallbackPinValidationFlag( true );
343
+ }
344
+ return $this;
345
+ }
346
+
347
+ public function validate() {
348
+ parent::validate();
349
+ $this->_validateCallbackSession();
350
+ $infoInstance = $this->getInfoInstance();
351
+ if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
352
+ if( !$infoInstance->getNnNewCallbackPin()
353
+ && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
354
+ && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
355
+ {
356
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
357
+ }
358
+ }
359
+ // Call for pin generation
360
+ if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() ) {
361
+ if( $this->_getMethodSession()->getNnCallbackTid() ) {
362
+ if($infoInstance->getNnNewCallbackPin()) {
363
+ $this->_regenerateCallbackPin();
364
+ }else {
365
+ $this->_getMethodSession()
366
+ ->setNnCallbackPin($infoInstance->getNnCallbackPin());
367
+ }
368
+ }else {
369
+ $this->_generateCallbackPin();
370
+ }
371
+ }
372
+
373
+ return $this;
374
+ }
375
+
376
+ public function getTitle() {
377
+ //return $this->getConfigData('title');
378
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
379
+ }
380
+
381
+ public function getCheckoutRedirectUrl() {
382
+ return false;
383
+ }
384
+
385
+ public function getIsCentinelValidationEnabled() {
386
+ return false;
387
+ }
388
+
389
+ private function _generateCallbackPin() {
390
+ $request = $this->_buildRequest(self::POST_CALLBACK);
391
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
392
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
393
+ $this->_getMethodSession()
394
+ ->setNnCallbackTid($response->getTid())
395
+ ->setNnTestMode($response->getTestMode())
396
+ ->setNnCallbackTidTimeStamp(time())
397
+ ->setNote($this->_getNote($response))
398
+ ->setOrderAmount($request->getAmount())
399
+ ;
400
+ $this->getInfoInstance()->save();
401
+ $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
402
+ }else {
403
+ $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
404
+ }
405
+ Mage::throwException($text);
406
+ }
407
+
408
+ private function _regenerateCallbackPin() {
409
+ $request = $this->_buildRequest(self::POST_NEWPIN);
410
+ $response = $this->_postRequest($request, self::POST_NEWPIN);
411
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
412
+ $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
413
+ }else {
414
+ $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
415
+ }
416
+ Mage::throwException($text);
417
+ }
418
+
419
+ private function _deformatNvp($query) {
420
+ $deformated = array();
421
+ if(strlen($query)){
422
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
423
+ foreach($tmp as $k){
424
+ $k = explode('=', $k);
425
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
426
+ }
427
+ }
428
+ return $deformated;
429
+ }
430
+
431
+ private function _getQuotePaymentById($id) {
432
+ return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
433
+ }
434
+
435
+ private function _validateCallbackSession() {
436
+ $methodSession = $this->_getMethodSession();
437
+ if($methodSession->hasNnCallbackTid()) {
438
+ if(time()>($methodSession->getNnCallbackTidTimeStamp()+(30*60))){
439
+ $this->_unsetMethodSession();
440
+ if ($this->_isPlaceOrder()) {
441
+ Mage::throwException(Mage::helper('payment')->__('Callback session has expired. Please resubmit payment method'));
442
+ }
443
+ }elseif( $methodSession->getOrderAmount() != ($this->_getAmount()*100) ) {
444
+ $this->_unsetMethodSession();
445
+ if ($this->_isPlaceOrder()) {
446
+ Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please submit the payment method'));
447
+ }
448
+ }
449
+ }
450
+ }
451
+
452
+ private function _getCheckoutSession() {
453
+ return Mage::getSingleton('checkout/session');
454
+ }
455
+
456
+ private function _getMethodSession() {
457
+ $checkoutSession = $this->_getCheckoutSession();
458
+ if( !$checkoutSession->hasData( $this->getCode() ) ) {
459
+ $checkoutSession->setData( $this->getCode(), new Varien_Object() );
460
+ }
461
+ return $checkoutSession->getData( $this->getCode() );
462
+ }
463
+
464
+ private function _unsetMethodSession() {
465
+ $this->_getCheckoutSession()->unsetData( $this->getCode() );
466
+ return $this;
467
+ }
468
+
469
+ private function _getNote($result)
470
+ {
471
+ $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
472
+ $helper = Mage::helper('novalnet');
473
+ $note = NULL;
474
+ $note .= "<b>".$helper->__('Please transfer the invoice amount with the following information to our payment provider Novalnet AG')."</b><br />";
475
+ $note .= $paymentDuration
476
+ ? ($helper->__('Due Date') . ': ' . date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) . "<br />")
477
+ : NULL
478
+ ;
479
+ $note .= $helper->__('Account Holder2') . ":<b>NOVALNET AG</b><br />";
480
+ $note .= $helper->__('Account Number') . ":<b>" . $result->getInvoiceAccount() . "</b><br />";
481
+ $note .= $helper->__('Bank Sorting Code') . ":<b>" . $result->getInvoiceBankcode() . "</b><br />";
482
+ $note .= $helper->__('Bank') . ":<b>" . $result->getInvoiceBankname() . ", Muenchen </b><br />";
483
+ $note .= $helper->__('Amount') . ":<b>" . str_replace('.', ',', $result->getAmount()) . " EUR </b><br />";
484
+ $note .= $helper->__('Reference') . ":<b>TID " . $result->getTid() . "</b><br />";
485
+ $note .= $helper->__('Only for foreign transfers') . ":<br />";
486
+ $note .= "IBAN:<b> " . $result->getInvoiceIban() . " </b><br />";
487
+ $note .= "SWIFT/BIC: <b>" . $result->getInvoiceBic() . " </b><br />";
488
+ return $note;
489
+ }
490
+
491
+ private function _getOrderId(){
492
+ $info = $this->getInfoInstance();
493
+ if ($this->_isPlaceOrder()) {
494
+ return $info->getOrder()->getIncrementId();
495
+ } else {
496
+ if (!$info->getQuote()->getReservedOrderId()) {
497
+ $info->getQuote()->reserveOrderId();
498
+ }
499
+ return $info->getQuote()->getReservedOrderId();
500
+ }
501
+ }
502
+
503
+ private function _getAmount() {
504
+ $info = $this->getInfoInstance();
505
+ if ($this->_isPlaceOrder()) {
506
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
507
+ } else {
508
+ return (double)$info->getQuote()->getBaseGrandTotal();
509
+ }
510
+ }
511
+
512
+ private function _getCustomerEmail() {
513
+ $info = $this->getInfoInstance();
514
+ if ($this->_isPlaceOrder()) {
515
+ return $info->getOrder()->getCustomerEmail();
516
+ } else {
517
+ return $info->getQuote()->getCustomerEmail();
518
+ }
519
+ }
520
+
521
+ private function _getBillingAddress() {
522
+ $info = $this->getInfoInstance();
523
+ if ($this->_isPlaceOrder()) {
524
+ return $info->getOrder()->getBillingAddress();
525
+ } else {
526
+ return $info->getQuote()->getBillingAddress();
527
+ }
528
+ }
529
+
530
+ private function _getBillingCountryCode() {
531
+ $info = $this->getInfoInstance();
532
+ if ($this->_isPlaceOrder()) {
533
+ return $info->getOrder()->getBillingAddress()->getCountryId();
534
+ } else {
535
+ return $info->getQuote()->getBillingAddress()->getCountryId();
536
+ }
537
+ }
538
+
539
+ private function _getCurrencyCode(){
540
+ $info = $this->getInfoInstance();
541
+ if ($this->_isPlaceOrder()) {
542
+ return $info->getOrder()->getBaseCurrencyCode();
543
+ } else {
544
+ return $info->getQuote()->getBaseCurrencyCode();
545
+ }
546
+ }
547
+
548
+ private function _isPlaceOrder() {
549
+ $info = $this->getInfoInstance();
550
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
551
+ return false;
552
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
553
+ return true;
554
+ }
555
+ }
556
+ }
app/code/community/Mage/Novalnet/Model/NovalnetPciAbstract.php ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+
30
+ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_Abstract
31
+ {
32
+ const RESPONSE_CODE_APPROVED = 100;
33
+ const RESPONSE_CODE_ABORT = 20;
34
+ const CGI_URL = 'https://payport.novalnet.de/pci_payport';
35
+ /**
36
+ * unique internal payment method identifier
37
+ *
38
+ * @var string [a-z0-9_]
39
+ */
40
+ protected $_formBlockType = 'novalnet/pci_form';
41
+ protected $_infoBlockType = 'novalnet/pci_info';
42
+ protected $_redirectBlockType = 'novalnet/pci_redirect';
43
+ protected $_formPHTML = 'novalnet/pci/form.phtml';
44
+ protected $_infoPHTML = 'novalnet/pci/info.phtml';
45
+ protected $_pdfPHTML = 'payment/info/pdf/pci.phtml';
46
+
47
+ protected $_nnPaymentId;
48
+
49
+ protected $_code;
50
+
51
+ /**
52
+ * Is this payment method a gateway (online auth/charge) ?
53
+ */
54
+ protected $_isGateway = true;
55
+
56
+ /**
57
+ * Can authorize online?
58
+ */
59
+ protected $_canAuthorize = true;
60
+
61
+ /**
62
+ * Can capture funds online?
63
+ */
64
+ protected $_canCapture = true; #important; default: false
65
+
66
+ /**
67
+ * Can capture partial amounts online?
68
+ */
69
+ protected $_canCapturePartial = false;
70
+
71
+ /**
72
+ * Can refund online?
73
+ */
74
+ protected $_canRefund = false;
75
+
76
+ /**
77
+ * Can void transactions online?
78
+ */
79
+ protected $_canVoid = false;
80
+
81
+ /**
82
+ * Can use this payment method in administration panel?
83
+ */
84
+ protected $_canUseInternal = false;
85
+
86
+ /**
87
+ * Can show this payment method as an option on checkout payment page?
88
+ */
89
+ protected $_canUseCheckout = true;
90
+
91
+ /**
92
+ * Is this payment method suitable for multi-shipping checkout?
93
+ */
94
+ protected $_canUseForMultishipping = false;
95
+
96
+ /**
97
+ * Can save credit card information for future processing?
98
+ */
99
+ protected $_canSaveCc = false;
100
+
101
+ protected $_isInitializeNeeded = true;
102
+
103
+ /**
104
+ * Instantiate state and set it to state object
105
+ * @param string $paymentAction
106
+ * @param Varien_Object
107
+ */
108
+ public function initialize($paymentAction, $stateObject)
109
+ {
110
+ }
111
+
112
+ public function getRedirectBlockType()
113
+ {
114
+ return $this->_redirectBlockType;
115
+ }
116
+
117
+ public function getReturnURL()
118
+ {
119
+ return Mage::getUrl('novalnet/pci/success', array('_secure' => true));
120
+ }
121
+
122
+ public function getBookingReference()
123
+ {
124
+ return $this->getConfigData('booking_reference');
125
+ }
126
+
127
+ public function getTitle()
128
+ {
129
+ return $this->getConfigData('title');
130
+ }
131
+
132
+ public function getFormData()
133
+ {
134
+ $dataObj = new Varien_Object();
135
+ $order = $this->getInfoInstance()->getOrder();
136
+ $billing = $order->getBillingAddress();
137
+
138
+ $dataObj->setPaymentId($this->_nnPaymentId)
139
+ ->setNnMethod('nn_cc_pci');
140
+
141
+ $this->importNovalnetFormData($dataObj)
142
+ ->importBillingData($dataObj)
143
+ ->importUrlData($dataObj)
144
+ ->importHashData($dataObj)
145
+ ->importEncodeData($dataObj);
146
+
147
+ return $dataObj;
148
+ }
149
+
150
+ public function importNovalnetFormData($dataObj) {
151
+
152
+ $order = $this->getInfoInstance()->getOrder();
153
+
154
+ $pid = $this->getConfigData('product_id');
155
+ $tid = $this->getConfigData('tariff_id');
156
+ $product2 = $this->getConfigData('second_product_id');
157
+ $tariff2 = $this->getConfigData('second_tariff_id');
158
+ $amount = (round($order->getBaseGrandTotal(), 2) * 100);
159
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
160
+
161
+ if($manualCheckAmt && $manualCheckAmt>=$amount && $product2 && $tariff2) {
162
+ $pid = $this->getConfigData('second_product_id');
163
+ $tid = $this->getConfigData('second_tariff_id');
164
+ }
165
+
166
+ $uniqid = uniqid();
167
+
168
+ $test_mode = (!$this->getConfigData('live_mode'))? 1: 0;
169
+
170
+ $dataObj->setVendorId($this->getConfigData('merchant_id'))
171
+ ->setVendorAuthcode($this->getConfigData('auth_code'))
172
+ ->setProductId($pid)
173
+ ->setTariffId($tid)
174
+ ->setUniqid($uniqid)
175
+ ->setAmount($amount)
176
+ ->setTestMode($test_mode)
177
+ ->setPaymentId($this->_nnPaymentId);
178
+
179
+ return $this;
180
+ }
181
+
182
+ public function importBillingData($dataObj) {
183
+ $order = $this->getInfoInstance()->getOrder();
184
+ $billing = $order->getBillingAddress();
185
+
186
+ $objQuote = $objQuote = Mage::getModel( 'sales/quote' );
187
+ $objQuote->setStoreId($order->getStoreId())->load($order->getQuoteId());
188
+ $objQuotePayment = $objQuote->getPayment();
189
+ $objQuotePayment->setNnTestOrder((!$this->getConfigData('live_mode'))? 1: 0)->save();
190
+
191
+ $dataObj->setCurrency($order->getOrderCurrencyCode())
192
+ ->setFirstname($billing->getFirstname())
193
+ ->setLastname($billing->getLastname())
194
+ ->setEmail($order->getCustomerEmail())
195
+ ->setStreet($billing->getStreet(1))
196
+ ->setSearchInStreet(1)
197
+ ->setCity($billing->getCity())
198
+ ->setZip($billing->getPostcode())
199
+ ->setCountryCode($billing->getCountry())
200
+ ->setLang($billing->getLang())
201
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
202
+ ->setTel($billing->getTelephone())
203
+ ->setFax($billing->getFax());
204
+ return $this;
205
+ }
206
+
207
+ public function importUrlData($dataObj) {
208
+ $order = $this->getInfoInstance()->getOrder();
209
+ $dataObj->setSession(Mage::getSingleton('checkout/session')->getSessionId())
210
+ ->setReturnUrl($this->getReturnURL())
211
+ ->setReturnMethod('POST')
212
+ ->setErrorReturnUrl($this->getReturnURL())
213
+ ->setErrorReturnMethod('POST')
214
+ ->setInput1('order_id')
215
+ ->setImplementation('PHP_PCI')
216
+ ->setInputval1($order->getRealOrderId());
217
+ return $this;
218
+ }
219
+
220
+ public function importHashData($dataObj) {
221
+ $hash = Mage::helper('novalnet')->generateHash($dataObj, $this->getConfigData('password'));
222
+
223
+ if($hash == false) {
224
+ Mage::getSingleton('core/session')
225
+ ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
226
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
227
+ Mage::app()->getResponse()->setRedirect($url);
228
+ Mage::app()->getResponse()->sendResponse();
229
+ exit;
230
+ }
231
+
232
+ $dataObj->setHash($hash);
233
+ return $this;
234
+
235
+ }
236
+
237
+ public function importEncodeData($dataObj) {
238
+ $encoding = Mage::helper('novalnet')->encode($dataObj, $this->getConfigData('password'));
239
+ if($encoding != true) {
240
+ Mage::getSingleton('core/session')
241
+ ->addError('Die Methoden f&uuml;r die Verarbeitung von Zeichens&auml;tzen sind nicht verf&uuml;gbar!');
242
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
243
+ Mage::app()->getResponse()->setRedirect($url);
244
+ Mage::app()->getResponse()->sendResponse();
245
+ exit;
246
+ }
247
+ return $this;
248
+ }
249
+
250
+ public function statusCheck($response,$session) {
251
+ $status = false;
252
+ $dataObj = new Varien_Object($response);
253
+
254
+ $order = Mage::getModel('sales/order')
255
+ ->loadByIncrementId($dataObj->getOrderId());
256
+ $payment = $order->getPayment();
257
+
258
+ if(Mage::helper('novalnet')->checkHash($response, $this->getConfigData('password'))) {
259
+
260
+ if ($response['status'] == Mage_Novalnet_Model_NovalnetCcpci::RESPONSE_CODE_APPROVED) {
261
+ $status = $this->onSucess($dataObj,$order,$payment,$session);
262
+ } else {
263
+
264
+ $status = $this->onFailure($dataObj,$order,$payment,$session);
265
+ }
266
+ }
267
+ $session->unsNovalnetRealOrderId();
268
+ $session->unsNovalnetQuoteId();
269
+ return $status;
270
+ }
271
+
272
+ public function onSucess($dataObj,$order,$payment,$session) {
273
+ $payment->setStatus(Mage_Novalnet_Model_NovalnetCcpci::STATUS_SUCCESS)
274
+ ->setStatusDescription(Mage::helper('novalnet')->__('Payment was successful.'))
275
+ ->setTransactionId($dataObj->getTid())
276
+ ->setSuTransactionId($dataObj->getTid())
277
+ ->setLastTransId($dataObj->getTid());
278
+
279
+ $session->setQuoteId($session->getNovalnetQuoteId());
280
+ $session->getQuote()->setIsActive(false)->save();
281
+ $order->setPayment($payment);
282
+
283
+ if( $dataObj->hasTestMode() ) {
284
+
285
+ Mage::getModel( 'sales/quote' )
286
+ ->load($session->getNovalnetQuoteId())
287
+ ->getPayment()
288
+ ->setNnTestorder($this->decode($dataObj->getTestMode(), $this->getConfigData('password')))
289
+ ->save();
290
+
291
+ }
292
+
293
+ if($this->getConfigData('createinvoice') == 1){
294
+ if ($this->saveInvoice($order)) {
295
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
296
+ }
297
+ }
298
+
299
+ $order->addStatusToHistory(
300
+ $this->getConfigData('order_status'),
301
+ Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'),
302
+ true
303
+ )->setState(Mage_Sales_Model_Order::STATE_PROCESSING)
304
+ ->save();
305
+
306
+
307
+ if ($order->getId()) {
308
+ $order->sendNewOrderEmail();
309
+ }
310
+
311
+ return true;
312
+ }
313
+ /**
314
+ * Save invoice for order
315
+ *
316
+ * @param Mage_Sales_Model_Order $order
317
+ * @return boolean Can save invoice or not
318
+ */
319
+ protected function saveInvoice (Mage_Sales_Model_Order $order) {
320
+ if ($order->canInvoice()) {
321
+ $invoice = $order->prepareInvoice();
322
+
323
+ $invoice->register();
324
+ Mage::getModel('core/resource_transaction')
325
+ ->addObject($invoice)
326
+ ->addObject($invoice->getOrder())
327
+ ->save();
328
+
329
+ $invoice->sendEmail(true, '');
330
+ return true;
331
+ }
332
+
333
+ return false;
334
+ }
335
+
336
+ public function onFailure($dataObj,$order,$payment,$session) {
337
+ $payment->setStatus(Mage_Novalnet_Model_NovalnetCcpci::STATUS_ERROR);
338
+ $payment->setStatusDescription(Mage::helper('novalnet')->__('Payment was fail.'));
339
+ $order->setPayment($payment);
340
+
341
+ if ($dataObj->getStatus() == 20){
342
+ $order->addStatusToHistory(
343
+ $order->getStatus(),
344
+ Mage::helper('novalnet')->__('Customer aborted payment process'),
345
+ true
346
+ );
347
+
348
+
349
+ } else {
350
+ $order->addStatusToHistory(
351
+ $order->getStatus(),
352
+ Mage::helper('novalnet')->__('Customer was rejected by Novalnet'),
353
+ true
354
+ );
355
+ }
356
+ $paystatus = "<b><font color='red'>Payment Failed</font> - ".$dataObj->getStatusText()."</b>";
357
+ Mage::getModel( 'sales/quote' )
358
+ ->load($session->getNovalnetQuoteId())
359
+ ->getPayment()
360
+ ->setNnComments($paystatus)
361
+ ->save();
362
+ $order->cancel();
363
+ $order->save();
364
+ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED)->save();
365
+ Mage::getSingleton('checkout/session')
366
+ ->setErrorMessage($dataObj->getStatusText());
367
+ return false;
368
+ }
369
+ public function decode($data,$pwd)
370
+ {
371
+ $data = trim($data);
372
+
373
+ if ($data == '') {return'Error: no data';}
374
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
375
+
376
+ try {
377
+ $data = base64_decode(strrev($data));
378
+ $data = pack("H".strlen($data), $data);
379
+ $data = substr($data, 0, stripos($data, $pwd));
380
+ $pos = strpos($data, "|");
381
+ if ($pos === false){
382
+ return("Error: CKSum not found!");
383
+ }
384
+ $crc = substr($data, 0, $pos);
385
+ $value = trim(substr($data, $pos+1));
386
+ if ($crc != sprintf('%u', crc32($value))){
387
+ return("Error; CKSum invalid!");
388
+ }
389
+ return $value;
390
+ }catch (Exception $e){
391
+ echo('Error: '.$e);
392
+ }
393
+ }
394
+ public function getOrderPlaceRedirectUrl()
395
+ {
396
+ return Mage::getUrl('novalnet/pci/redirect');
397
+ }
398
+
399
+ public function getCgiUrl() {
400
+ return self::CGI_URL;
401
+ }
402
+
403
+ }
app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php CHANGED
@@ -1,785 +1,757 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const CGI_URL2= 'https://payport.novalnet.de/nn_infoport.xml';#'nn_infoport_test.xml';
33
- const RESPONSE_DELIM_CHAR = '&';
34
- const RESPONSE_CODE_APPROVED = 100;
35
- const PAYMENT_METHOD = 'PHONEPAYMENT';
36
- const KEY = 18;
37
- const AMOUNT_MIN = 90;
38
- const AMOUNT_MAX = 1000;#10;#todo:
39
- const CURRENCY = 'EUR';
40
- const CODE = 'novalnet_tel';
41
- /**
42
- * unique internal payment method identifier
43
- *
44
- * @var string [a-z0-9_]
45
- */
46
- protected $_code = 'novalnetPhonepayment';
47
- protected $_formBlockType = 'novalnet/phonepayment_form';
48
- protected $_infoBlockType = 'novalnet/phonepayment_info';
49
- protected $code = 'novalnet_tel';
50
- protected $public_title = 'Telefonpayment';
51
- protected $amount = 0;
52
- protected $aBillingAddress = array();
53
- protected $aryResponse = array();
54
- protected $urlparam = '';
55
- protected $text = '';
56
- protected $debug = false;
57
-
58
-
59
- /**
60
- * Is this payment method a gateway (online auth/charge) ?
61
- */
62
- protected $_isGateway = true;
63
-
64
- /**
65
- * Can authorize online?
66
- */
67
- protected $_canAuthorize = false;
68
-
69
- /**
70
- * Can capture funds online?
71
- */
72
- protected $_canCapture = true;
73
-
74
- /**
75
- * Can capture partial amounts online?
76
- */
77
- protected $_canCapturePartial = true;
78
-
79
- /**
80
- * Can refund online?
81
- */
82
- protected $_canRefund = false;
83
-
84
- /**
85
- * Can void transactions online?
86
- */
87
- protected $_canVoid = false;
88
-
89
- /**
90
- * Can use this payment method in administration panel?
91
- */
92
- protected $_canUseInternal = true;
93
-
94
- /**
95
- * Can show this payment method as an option on checkout payment page?
96
- */
97
- protected $_canUseCheckout = true;
98
-
99
- /**
100
- * Is this payment method suitable for multi-shipping checkout?
101
- */
102
- protected $_canUseForMultishipping = true;
103
-
104
- /**
105
- * Can save credit card information for future processing?
106
- */
107
- protected $_canSaveCc = false;
108
-
109
- /**
110
- * Here you will need to implement authorize, capture and void public methods
111
- *
112
- * @see examples of transaction specific public methods such as
113
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
114
- */
115
- public function authorize(Varien_Object $payment, $amount)
116
- {
117
- return $this;
118
- }
119
- public function capture(Varien_Object $payment, $amount)
120
- {
121
- $error = false;
122
- $payment->setAmount($amount);
123
- $this->debug2($amount, 'magento_capture_amount.txt');
124
-
125
- $order = $payment->getOrder();
126
- $note = $order->getCustomerNote();
127
- if ($note)
128
- {
129
- $note .= '<br />'.Mage::helper('novalnet')->__('Comment').': ';
130
- $note .= $order->getCustomerNote();
131
- }
132
- if ( !$this->getConfigData('live_mode') ){
133
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
134
- }
135
-
136
- $order->setCustomerNote($note);
137
- $order->setCustomerNoteNotify(true);
138
-
139
- $request = $this->_buildRequest($payment);
140
- $this->debug2($request, 'magento_capture_request.txt');
141
- $result = $this->_postRequest($request, $payment);
142
- $this->debug2($result, 'magento_capture_result.txt');
143
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
144
- $this->debug2($result, 'magento_capture_resultok.txt');
145
- $payment->setStatus(self::STATUS_APPROVED);
146
- $payment->setCcTransId($result->getTid());
147
- $payment->setLastTransId($result->getTid());
148
- $payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
149
- $payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
150
- $id = $payment->getNnId();
151
- $quote_payment = $this->getQuote()->getPaymentById($id);
152
- if ($quote_payment)#to avoid error msg. in admin interface
153
- {
154
- $quote_payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
155
- $quote_payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
156
- $quote_payment->save();
157
- }
158
- }
159
- else {
160
- $this->debug2($result, 'magento_capture_resultnotok.txt');
161
- if ($result->getStatusDesc()) {
162
- $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
163
- }else {
164
- $error = Mage::helper('novalnet')->__('Error in capturing the payment');
165
- }
166
- }
167
-
168
- if ($error !== false) {
169
- $this->debug2($error, 'magento_error.txt');
170
- Mage::throwException($error);
171
- }
172
- return $this;
173
- }
174
- public function refund(Varien_Object $payment, $amount)
175
- {
176
- return $this;
177
- }
178
-
179
- public function void(Varien_Object $payment)
180
- {
181
- return $this;
182
- }
183
- /**
184
- * Prepare request to gateway
185
- *
186
- * @link http://www.authorize.net/support/AIM_guide.pdf
187
- * @param Mage_Sales_Model_Document $order
188
- * @return unknown
189
- */
190
- protected function _saveObject (Varien_Object $payment)
191
- {
192
- $order = $payment->getOrder();
193
- if (!empty($order)) {
194
- $billing = $order->getBillingAddress();
195
- }
196
- }
197
- protected function _buildRequest(Varien_Object $payment)
198
- {
199
- $order = $payment->getOrder();
200
- if (session_is_registered('tid')){
201
- $this->debug2($order, 'magento_order2.txt');
202
- }
203
- $request = Mage::getModel('novalnet/novalnet_request');
204
-
205
- $request->setvendor($this->getConfigData('merchant_id'))
206
- ->setauth_code($this->getConfigData('auth_code'))
207
- ->setproduct($this->getConfigData('product_id'))
208
- ->settariff($this->getConfigData('tariff_id'))
209
- ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
210
-
211
- $request->setcurrency($order->getOrderCurrency());
212
-
213
- if($payment->getAmount()){
214
- #$request->setamount($payment->getAmount()*100);
215
- $request->setamount($this->getAmount4Request($payment->getAmount()));
216
- }
217
-
218
- if (!empty($order)) {
219
- $request->setinput1($order->getIncrementId());
220
-
221
- $billing = $order->getBillingAddress();
222
- $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
223
- if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
224
- if (!empty($billing)) {
225
- if (session_is_registered('tid')){
226
- $this->debug2($billing, 'magento_billing2.txt');
227
- }
228
-
229
- if (!$order->getCustomerEmail())
230
- {
231
- Mage::throwException(Mage::helper('novalnet')->__('Email address missing'));
232
- }
233
-
234
- $request->setfirst_name($billing->getFirstname())
235
- ->setLast_name($billing->getlastname())
236
- ->setstreet($street[0].$street[1].$street[2])
237
- ->setcity($billing->getCity())
238
- ->setzip($billing->getPostcode())
239
- ->setcountry($billing->getCountry())
240
- ->settel($billing->getTelephone())
241
- ->setfax($billing->getFax())
242
- ->setremote_ip($this->getRealIpAddr())
243
- ->setgender('u')
244
- ->setemail($order->getCustomerEmail())
245
- ->setsearch_in_street(1);
246
- #->setremote_ip($order->getRemoteIp())
247
- #->sethouse_no($street[1].$street[2])
248
- }
249
- }
250
- /*$request->setbank_account_holder($payment->getNnAccountHolder())
251
- ->setbank_account($payment->getNnAccountNumber())
252
- ->setbank_code($payment->getNnBankSortingCode())*/
253
- $request->setkey(self::KEY);
254
- #$request->setinvoice_type(self::PAYMENT_METHOD);
255
-
256
- if (session_is_registered('tid')){
257
- $this->urlparam = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
258
- $this->urlparam .= '<nnxml><info_request><vendor_id>'.$this->getConfigData('merchant_id').'</vendor_id>';
259
- $this->urlparam .= '<vendor_authcode>'.$this->getConfigData('auth_code').'</vendor_authcode>';
260
- $this->urlparam .= '<request_type>NOVALTEL_STATUS</request_type><tid>'.$_SESSION['tid'].'</tid>';
261
- $this->urlparam .= '<lang>DE</lang></info_request></nnxml>';
262
- }
263
-
264
- return $request;
265
- }
266
-
267
- protected function _postRequest(Varien_Object $request, Varien_Object $payment=null)
268
- {
269
- $result = Mage::getModel('novalnet/novalnet_result');
270
- $client = new Varien_Http_Client();
271
-
272
- if (!session_is_registered('tid')){#first call
273
- $client->setUri(self::CGI_URL);
274
- }else{#second call
275
- $client->setUri(self::CGI_URL2);
276
- }
277
-
278
- $client->setConfig(array(
279
- 'maxredirects'=>0,
280
- 'timeout'=>30,
281
- //'ssltransport' => 'tcp',
282
- ));
283
- #$request->toLatin1();
284
-
285
- if (!session_is_registered('tid')){#first call
286
- $request->toLatin1();
287
- $client->setParameterPost($request->getData());
288
- $this->debug2($request->getData(), 'magento_request1.txt');
289
- }else{#secondcall
290
- $client->setHeaders('Content-Type', 'application/atom+xml');
291
- $client->setRawData($this->urlparam);
292
- #$response = $client->request('POST');
293
- #$client->setParameterPost(utf8_encode($this->urlparam));
294
- $this->debug2($this->urlparam, 'magento_request2.txt');
295
- }
296
-
297
- $client->setMethod(Zend_Http_Client::POST);
298
- try {
299
- $method2 = '';
300
- if (session_is_registered('tid')){
301
- $method2 = 'POST';
302
- }
303
- $response = $client->request($method2);
304
- } catch (Exception $e) {
305
- $this->debug2($e->getMessage(), 'magento_exceptionMsg.txt');
306
- $result->setResponseCode(-1)
307
- ->setResponseReasonCode($e->getCode())
308
- ->setResponseReasonText($e->getMessage());
309
- Mage::throwException(
310
- Mage::helper('novalnet')->__('Gateway request error: %s', $e->getMessage())
311
- );
312
- }
313
- $responseBody = $response->getBody();
314
-
315
- if (session_is_registered('tid')){#second call
316
- $this->debug2($response, 'magento_response2.txt');
317
- $xml = serialize($response);
318
- $this->debug2($xml, 'magento_xml.txt');
319
- /*
320
- <nnxml>
321
- <novaltel_status>18</novaltel_status>
322
- <novaltel_status_message>Zahlungsanruf noch nicht durchgef��hrt</novaltel_status_message>
323
- <member_url>http://magento.gsoftpro.de/</member_url>
324
- <login></login>
325
- <password></password>
326
- <paid_until></paid_until>
327
- </nnxml>
328
- */
329
- if (!preg_match('|\<nnxml\>(.+)\</nnxml\>|is', $xml, $matches)){
330
- Mage::throwException(Mage::helper('novalnet')->__('Error in payment gateway').': '.Mage::helper('novalnet')->__('Response contains no XML'));
331
- }
332
-
333
- $xml = $matches[1];
334
- $this->debug2($xml, 'magento_xml_purged.txt');
335
- #Mage::throwException($xml.'h');
336
-
337
- $data = $xml; #$response;
338
- if(strstr($data, '<novaltel_status>'))
339
- {
340
- preg_match('/novaltel_status>?([^<]+)/i', $data, $matches);
341
- $aryResponse['status'] = $matches[1];
342
- $result->setStatus($aryResponse['status']);
343
- $this->debug2($aryResponse['status'], 'magento_novaltel_status.txt');
344
-
345
- preg_match('/novaltel_status_message>?([^<]+)/i', $data, $matches);
346
- $aryResponse['status_desc'] = $matches[1];
347
- $result->setStatusDesc($aryResponse['status_desc']);
348
- $result->setTid($_SESSION['tid']);
349
- $this->debug2($aryResponse['status_desc'], 'magento_novaltel_status_desc.txt');
350
-
351
- if ($aryResponse['status']!= 100){
352
- if ($aryResponse['status'] == 18 and isset($_SESSION['novalnet_tel'])){
353
- Mage::throwException(Mage::helper('novalnet')->__('Gateway request error: %s', $aryResponse['status_desc'])."\n".Mage::helper('novalnet')->__('Did you called this number').': '.preg_replace('/(\d{4})(\d{4})(\d{4})(\d{4})/', "$1 $2 $3 $4", $_SESSION['novalnet_tel']));
354
- }else{
355
- Mage::throwException(Mage::helper('novalnet')->__('Gateway request error: %s', $aryResponse['status_desc']));
356
- }
357
- }
358
- }
359
- $this->debug2($result, 'magento_result2.txt');
360
- }else {#first call
361
- $this->debug2($response, 'magento_response1.txt');
362
- $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
363
-
364
- if ($r) {
365
- foreach($r as $key => $value)
366
- {
367
- if($value!="")
368
- {
369
- $aryKeyVal = explode("=",$value);
370
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
371
- }
372
- }
373
-
374
- if (isset($aryResponse['status'])){
375
- $result->setStatus($aryResponse['status']);
376
- }
377
- if (isset($aryResponse['tid'])){
378
- $result->setTid($aryResponse['tid']);
379
- }
380
- if (isset($aryResponse['status_desc'])){
381
- $result->setStatusDesc($aryResponse['status_desc']);
382
- }
383
- $this->debug2($result, 'magento_result1.txt');
384
- } else {
385
- Mage::throwException(Mage::helper('novalnet')->__('Error in payment gateway'));
386
- }
387
- }
388
- $result->toUtf8();
389
- if (session_is_registered('tid')){
390
- $this->debug2($response, 'magento_response2.txt');
391
- $this->debug2($aryResponse, 'magento_aryResponse2.txt');
392
- }
393
- if ($payment){
394
- $this->debug2($payment, 'magento_payment2.txt');
395
- #$note = $this->getNote($aryResponse);
396
- $order = $payment->getOrder();
397
- #$order->setCustomerNote($note);
398
- #$order->setCustomerNoteNotify(true);
399
- }
400
-
401
- if ($aryResponse['status'] == 100){
402
- if (session_is_registered('tid')){
403
- session_unregister('tid');
404
- }
405
- if (session_is_registered('novalnet_tel')){
406
- session_unregister('novalnet_tel');
407
- }
408
- }
409
- $this->aryResponse = $aryResponse;
410
- return $result;
411
- }
412
-
413
-
414
- public function assignData($data)
415
- {
416
- if(!session_is_registered('tid')){
417
- $this->debug2($data, 'magento_assignData1.txt');
418
- $addresses = $this->getQuote()->getAllAddresses();
419
- $this->checkAmountAllowed();
420
- $this->aBillingAddress = $this->getBillingAddress($addresses);
421
- $this->debug2($this, 'magento_assignData_this.txt');
422
- $this->getFirstCall();
423
- }else{
424
- $this->debug2($data, 'magento_assignData2.txt');
425
- #Mage::throwException($this->text.'hl');
426
- }
427
-
428
- if (!($data instanceof Varien_Object)) {
429
- $data = new Varien_Object($data);
430
- }
431
- $info=$this->getInfoInstance();
432
- /*$info->setNnElvCountry($data->getElvCountry())
433
- ->setNnAccountHolder($data->getAccountHolder())
434
- ->setNnAccountNumber($data->getAccountNumber())
435
- ->setNnBankSortingCode($data->getBankSortingCode());*/
436
-
437
- return $this;
438
- }
439
- /**
440
- * Get checkout
441
- *
442
- * @return Mage_Sales_Model_Quote
443
- */
444
- public function getQuote()
445
- {
446
- if (empty($this->_quote)) {
447
- $this->_quote = $this->getCheckout()->getQuote();
448
- }
449
- return $this->_quote;
450
- }
451
- /**
452
- * Get checkout
453
- *
454
- * @return Mage_Sales_Model_Order
455
- */
456
- public function getCheckout()
457
- {
458
- if (empty($this->_checkout)) {
459
- //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
460
- $this->_checkout = Mage::getSingleton('checkout/session');
461
- }
462
- return $this->_checkout;
463
- }
464
-
465
- public function getTitle()
466
- {
467
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
468
- }
469
-
470
- public function validate()
471
- {
472
- parent::validate();
473
- $info = $this->getInfoInstance();
474
- $nnAccountNumber = $info->getNnAccountNumber();
475
- $nnBankSortingCode = $info->getNnBankSortingCode();
476
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $nnAccountNumber);
477
- $info->setNnAccountNumber($nnAccountNumber);
478
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $nnBankSortingCode);
479
- $info->setNnBankSortingCode($nnBankSortingCode);
480
- if (preg_match("/\D/",$nnAccountNumber)){
481
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
482
- }
483
- if (preg_match("/\D/",$nnBankSortingCode)){
484
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
485
- }
486
- return $this;
487
- }
488
- public function isPublicIP($value)
489
- {
490
- if(!$value || count(explode('.',$value))!=4)
491
- {
492
- return false;
493
- }
494
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
495
- }
496
- public function getRealIpAddr()
497
- {
498
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
499
- {
500
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
501
- }
502
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
503
- {
504
- if($this->isPublicIP($iplist[0])) return $iplist[0];
505
- }
506
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
507
- {
508
- return $_SERVER['HTTP_CLIENT_IP'];
509
- }
510
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
511
- {
512
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
513
- }
514
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
515
- {
516
- return $_SERVER['HTTP_FORWARDED_FOR'];
517
- }
518
- return $_SERVER['REMOTE_ADDR'];
519
- }
520
- public function getAmount4Request($amount)
521
- {
522
- if(preg_match('/[,.]$/', $amount))
523
- {
524
- $amount = $amount . '00';
525
- }
526
- else if(preg_match('/[,.][0-9]$/', $amount))
527
- {
528
- $amount = $amount . '0';
529
- }
530
- $orig_amount = $amount;
531
-
532
- $amount = str_replace(array('.', ','), array('',''), $amount);
533
- return$amount;
534
- }
535
- public function getNote($aryResponse)
536
- {
537
- #todo: Kontoinhaber fehlt
538
- $note = Mage::helper('novalnet')->__('Please transfer the amount to following account').":<br /><br />\n\n";
539
-
540
- $note.= Mage::helper('novalnet')->__('Account Holder2').": NOVALNET AG<br />\n";
541
- $note.= Mage::helper('novalnet')->__('Account Number').": ".$aryResponse['invoice_account']."<br />\n";
542
- $note.= Mage::helper('novalnet')->__('Bank Sorting Code').": ".$aryResponse['invoice_bankcode']."<br />\n";
543
- $note.= Mage::helper('novalnet')->__('Bank').": ".$aryResponse['invoice_bankname'].', Muenchen<br /><br />'."\n\n"; #.$aryResponse['invoice_bankplace']."\n\n";
544
-
545
- $note.= "IBAN: ".$aryResponse['invoice_iban']."<br />\n";
546
- $note.= "SWIFT / BIC: ".$aryResponse['invoice_bic']."<br /><br />\n\n";
547
-
548
- $note.= Mage::helper('novalnet')->__('Amount').": ".str_replace('.', ',', $aryResponse['amount'])." EUR<br />\n";
549
- $note.= Mage::helper('novalnet')->__('Reference').": TID ".$aryResponse['tid']."<br />\n";
550
- $note.= Mage::helper('novalnet')->__('Please note that the Transfer can only be identified with the above mentioned Reference').'.';
551
- return$note;
552
- }
553
-
554
- public function checkAmountAllowed()
555
- {
556
- $info=$this->getInfoInstance();
557
- $data = serialize($info->getData());
558
-
559
- #example: "grand_total";s:8:"524.9600";
560
- $t = preg_match('/origData.+\"grand_total\"\;s\:\d*\:\"(\d*\.\d*)\".+base_grand_total/', $data, $aMatch);
561
- if (!$aMatch and !$aMatch[1]){
562
- Mage::throwException(Mage::helper('novalnet')->__('Error').':'. Mage::helper('novalnet')->__('Order Price not found'));
563
- }
564
- $amount = $aMatch[1] * 100;
565
- $amount = $this->getAmount4Request($amount); #10 euro => 1000 Cent
566
- #$amount = 900;#todo: delete this line
567
- if ($amount >= self::AMOUNT_MIN and $amount <= self::AMOUNT_MAX){
568
- $this->amount = $amount;
569
- return true;
570
- }
571
- Mage::throwException(Mage::helper('novalnet')->__('Amount below 0.90 Euro and above 10.00 Euro is not accepted'));
572
- }
573
- public function debug2($object, $filename)
574
- {
575
- if (!$this->debug){return;}
576
- $fh = fopen("/tmp/$filename", 'a+');
577
- if (gettype($object) == 'object' or gettype($object) == 'array'){
578
- fwrite($fh, serialize($object));
579
- }else{
580
- fwrite($fh, $object);
581
- }
582
- fwrite($fh, "<hr />\n");
583
- fclose($fh);
584
- }
585
- public function getFirstCall()
586
- {
587
- $url = 'https://payport.novalnet.de/paygate.jsp';
588
- $request = Mage::getModel('novalnet/novalnet_request');
589
- $request->setvendor($this->getConfigData('merchant_id'))
590
- ->setauth_code($this->getConfigData('auth_code'))
591
- ->setproduct($this->getConfigData('product_id'))
592
- ->settariff($this->getConfigData('tariff_id'));
593
-
594
- $request->setkey(self::KEY);
595
- $request->setcurrency(self::CURRENCY);
596
- $request->setamount($this->amount);
597
-
598
- $request->setfirst_name(utf8_encode($this->aBillingAddress['firstname']))
599
- ->setLast_name(utf8_encode($this->aBillingAddress['lastname']))
600
- ->setstreet(utf8_encode($this->aBillingAddress['street']))
601
- ->setcity(utf8_encode($this->aBillingAddress['city']))
602
- ->setzip($this->aBillingAddress['postcode'])
603
- ->setcountry(utf8_encode($this->aBillingAddress['country']))
604
- ->settel($this->aBillingAddress['telephone'])
605
- ->setfax($this->aBillingAddress['fax'])
606
- ->setremote_ip($this->getRealIpAddr())
607
- ->setgender('u')
608
- ->setemail($this->aBillingAddress['email'])
609
- ->setsearch_in_street(1);
610
- #$request->setinvoice_type(self::PAYMENT_METHOD);
611
-
612
- $this->debug2($request, 'magento_getFirstCall_request.txt');
613
- $result = $this->_postRequest($request);
614
-
615
- if(!$this->aryResponse){
616
- Mage::throwException('Params (aryResponse) missing');
617
- }
618
- $data = '';
619
- foreach ($this->aryResponse as $k=>$v){
620
- $data.= "$k=$v&";
621
- }
622
- if (substr($data, -1) == '&'){
623
- $data = substr($data, 0, -1);
624
- }
625
-
626
- if(strstr($data, '<novaltel_status>'))
627
- {
628
- preg_match('/novaltel_status>?([^<]+)/i', $data, $matches);
629
- $aryResponse['status'] = $matches[1];
630
-
631
- preg_match('/novaltel_status_message>?([^<]+)/i', $data, $matches);
632
- $aryResponse['status_desc'] = $matches[1];
633
- }
634
- else
635
- {
636
- #capture the result and message and other parameters from response data '$data' in an array
637
- $aryPaygateResponse = explode('&', $data);
638
- foreach($aryPaygateResponse as $key => $value)
639
- {
640
- if($value!="")
641
- {
642
- $aryKeyVal = explode("=",$value);
643
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
644
- }
645
- }
646
- }
647
-
648
- if((session_is_registered('tid') and $_SESSION['tid'] != '') && $aryResponse['status']==100) #### SECOND CALL -> On successful payment ####
649
- {
650
- #### Redirecting the user to the checkout page ####
651
- #$order->info['comments'] .= '. Novalnet Transaction ID : '.$_SESSION['tid'];
652
- session_unregister('tid'); #$_SESSION['tid'] = '';
653
- if (session_is_registered('novalnet_tel')){
654
- session_unregister('novalnet_tel');#$_SESSION['novalnet_tel'] = '';
655
- }
656
- }
657
- else #### On payment failure ####
658
- {
659
- $status = '';
660
- $wrong_amount = '';#todo:
661
- if($wrong_amount==1){
662
- $status = '1';
663
- $aryResponse['status_desc'] = 'novalnet_amount_error';}
664
-
665
- ### Passing the Error Response from Novalnet's paygate to payment error ###
666
- elseif($aryResponse['status']==100 && $aryResponse['tid'])
667
- {
668
- $aryResponse['status_desc']='';
669
- if(!session_is_registered('tid')){
670
- session_register('tid');
671
- }
672
- if(!session_is_registered('novalnet_tel')){
673
- session_register('novalnet_tel');
674
- }
675
-
676
- $_SESSION['tid'] = $aryResponse['tid'];
677
- $_SESSION['novalnet_tel'] = $aryResponse['novaltel_number'];
678
- $text = Mage::helper('novalnet')->__('Following steps are required to complete the telephone payment process').':'."\n";
679
- $text .= Mage::helper('novalnet')->__('Step').'1: ';
680
- $text .= Mage::helper('novalnet')->__('Please dial this number').': '.preg_replace('/(\d{4})(\d{4})(\d{4})(\d{4})/', "$1 $2 $3 $4", $_SESSION['novalnet_tel']).".\n";
681
- $text .= Mage::helper('novalnet')->__('Step').'2: ';
682
- $text .= Mage::helper('novalnet')->__('Please wait for the Signal tone and hangup the reciever').'. ';
683
- $text .= Mage::helper('novalnet')->__('Please click on continue after your successive call').'.'."\n";
684
- $text .= '* '. Mage::helper('novalnet')->__('This call costs').' '.($this->amount/100).' Euro ('.Mage::helper('novalnet')->__('inclusive tax').') ';
685
- $text .= Mage::helper('novalnet')->__('and is only possible from German Landline Telefon connection').'! *';
686
-
687
- $this->text = $text;
688
- Mage::throwException($text);#show note for client to call...
689
- }
690
- elseif($aryResponse['status']==18){$error = true;}
691
- elseif($aryResponse['status']==19)
692
- {
693
- if(!session_is_registered('tid')){
694
- $_SESSION['tid'] = '';
695
- }
696
- if(!session_is_registered('novalnet_tel')){
697
- $_SESSION['novalnet_tel'] = '';
698
- }
699
- }
700
- else $status = $aryResponse['status'];
701
-
702
- ### Passing through the Error Response from Novalnet's paygate into order-info ###
703
- #$order->info['comments'] .= '. Novalnet Error Code : '.$aryResponse['status'].', Novalnet Error Message : '.$aryResponse['status_desc'];
704
-
705
- #$payment_error_return = 'payment_error=' . self::CODE. '&error=' . urlencode($aryResponse['status_desc']);
706
- }
707
- if ($aryResponse['status']!= 100){
708
- Mage::throwException(Mage::helper('novalnet')->__('Gateway request error: %s', $aryResponse['status_desc']));
709
- }
710
- }
711
- public function getBillingAddress($addresses)
712
- {
713
- $this->debug2($addresses, 'magento_addresses.txt');
714
- $addresses = serialize($addresses);
715
- /*"address_type";s:7:"billing";s:5:"email";s:14:"jz@novalnet.de";s:6:"prefix";N;s:9:"firstname";s:7:"Jianguo";s:10:"middlename";N;s:8:"lastname";s:5:"Zhang";s:6:"suffix";N;s:7:"company";s:11:"Novalnet AG";s:6:"street";s:14:"Stiftsbogen 70";s:4:"city";s:8:"M��nchen";s:6:"region";s:6:"Bayern";s:9:"region_id";s:2:"81";s:8:"postcode";s:5:"81375";s:10:"country_id";s:2:"DE";s:9:"telephone";s:12:"089 47027059";s:3:"fax";s:0:"";s:15:"same_as_billing"*/
716
- $t = preg_match('/\"address\_type\"\;s\:7\:\"billing\"(.{100,1000})\"same\_as\_billing\"/is', $addresses, $aMatch);
717
- if (!$aMatch or !$aMatch[1]){
718
- Mage::throwException(Mage::helper('novalnet')->__('Billing Addr. not found'));
719
- }
720
- $foundString = $aMatch[1];
721
- $t = preg_match('/\"firstname\"\;s\:\d*\:\"(.+)\"\;s\:10\:\"middlename\"\;/',$foundString, $aMatch);
722
- if ($aMatch and $aMatch[1]){
723
- $aBillingAddress['firstname'] = $aMatch[1];
724
- }else{
725
- $aBillingAddress['firstname'] = '';
726
- }
727
-
728
- $t = preg_match('/\"lastname\"\;s\:\d*\:\"(.+)\"\;s\:6\:\"suffix\"\;/',$foundString, $aMatch);
729
- if ($aMatch and $aMatch[1]){
730
- $aBillingAddress['lastname'] = $aMatch[1];
731
- }else{
732
- $aBillingAddress['lastname'] = '';
733
- }
734
-
735
- $t = preg_match('/\"street\"\;s\:\d*\:\"(.+)\"\;s\:4\:\"city\"\;/',$foundString, $aMatch);
736
- if ($aMatch and $aMatch[1]){
737
- $aBillingAddress['street'] = $aMatch[1];
738
- }else{
739
- $aBillingAddress['street'] = '';
740
- }
741
-
742
- $t = preg_match('/\"city\"\;s\:\d*\:\"(.+)\"\;s\:6\:\"region\"\;/',$foundString, $aMatch);
743
- if ($aMatch and $aMatch[1]){
744
- $aBillingAddress['city'] = $aMatch[1];
745
- }else{
746
- $aBillingAddress['city'] = '';
747
- }
748
-
749
- $t = preg_match('/\"postcode\"\;s\:\d*\:\"(.+)\"\;s\:10\:\"country_id\"\;/',$foundString, $aMatch);
750
- if ($aMatch and $aMatch[1]){
751
- $aBillingAddress['postcode'] = $aMatch[1];
752
- }else{
753
- $aBillingAddress['postcode'] = '';
754
- }
755
-
756
- $t = preg_match('/\"email\"\;s\:\d*\:\"(.+)\"\;s\:6\:\"prefix\"\;/',$foundString, $aMatch);
757
- if ($aMatch and $aMatch[1]){
758
- $aBillingAddress['email'] = $aMatch[1];
759
- }else{
760
- $aBillingAddress['email'] = '';
761
- }
762
-
763
- $t = preg_match('/\"telephone\"\;s\:\d*\:\"(.+)\"\;s\:3\:\"fax\"\;/',$foundString, $aMatch);
764
- if ($aMatch and $aMatch[1]){
765
- $aBillingAddress['telephone'] = $aMatch[1];
766
- }else{
767
- $aBillingAddress['telephone'] = '';
768
- }
769
-
770
- $t = preg_match('/\"country_id\"\;s\:\d*\:\"(.+)\"\;s\:9\:\"telephone\"\;/',$foundString, $aMatch);
771
- if ($aMatch and $aMatch[1]){
772
- $aBillingAddress['country'] = $aMatch[1];
773
- }else{
774
- $aBillingAddress['country'] = '';
775
- }
776
-
777
- $t = preg_match('/\"fax\"\;s\:\d*\:\"(.+)\"\;s\:15\:\"same_as_billing\"\;/',$foundString, $aMatch);
778
- if ($aMatch and $aMatch[1]){
779
- $aBillingAddress['fax'] = $aMatch[1];
780
- }else{
781
- $aBillingAddress['fax'] = '';
782
- }
783
- return$aBillingAddress;
784
- }
785
- }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const CGI_URL2= 'https://payport.novalnet.de/nn_infoport.xml';#'nn_infoport_test.xml';
33
+ const RESPONSE_DELIM_CHAR = '&';
34
+ const RESPONSE_CODE_APPROVED = 100;
35
+ const PAYMENT_METHOD = 'PHONEPAYMENT';
36
+ const KEY = 18;
37
+ const AMOUNT_MIN = 90;
38
+ const AMOUNT_MAX = 1000;#10;#todo:
39
+ const CURRENCY = 'EUR';
40
+ const CODE = 'novalnet_tel';
41
+ /**
42
+ * unique internal payment method identifier
43
+ *
44
+ * @var string [a-z0-9_]
45
+ */
46
+ protected $_code = 'novalnetPhonepayment';
47
+ protected $_formBlockType = 'novalnet/phonepayment_form';
48
+ protected $_infoBlockType = 'novalnet/phonepayment_info';
49
+ protected $code = 'novalnet_tel';
50
+ protected $public_title = 'Telefonpayment';
51
+ protected $amount = 0;
52
+ protected $aBillingAddress = array();
53
+ protected $aryResponse = array();
54
+ protected $urlparam = '';
55
+ protected $text = '';
56
+ protected $debug = false;
57
+
58
+
59
+ /**
60
+ * Is this payment method a gateway (online auth/charge) ?
61
+ */
62
+ protected $_isGateway = true;
63
+
64
+ /**
65
+ * Can authorize online?
66
+ */
67
+ protected $_canAuthorize = false;
68
+
69
+ /**
70
+ * Can capture funds online?
71
+ */
72
+ protected $_canCapture = true;
73
+
74
+ /**
75
+ * Can capture partial amounts online?
76
+ */
77
+ protected $_canCapturePartial = true;
78
+
79
+ /**
80
+ * Can refund online?
81
+ */
82
+ protected $_canRefund = false;
83
+
84
+ /**
85
+ * Can void transactions online?
86
+ */
87
+ protected $_canVoid = false;
88
+
89
+ /**
90
+ * Can use this payment method in administration panel?
91
+ */
92
+ protected $_canUseInternal = true;
93
+
94
+ /**
95
+ * Can show this payment method as an option on checkout payment page?
96
+ */
97
+ protected $_canUseCheckout = true;
98
+
99
+ /**
100
+ * Is this payment method suitable for multi-shipping checkout?
101
+ */
102
+ protected $_canUseForMultishipping = true;
103
+
104
+ /**
105
+ * Can save credit card information for future processing?
106
+ */
107
+ protected $_canSaveCc = false;
108
+
109
+ /**
110
+ * Here you will need to implement authorize, capture and void public methods
111
+ *
112
+ * @see examples of transaction specific public methods such as
113
+ * authorize, capture and void in Mage_Paygate_Model_Authorizenet
114
+ */
115
+ public function authorize(Varien_Object $payment, $amount)
116
+ {
117
+ return $this;
118
+ }
119
+ public function capture(Varien_Object $payment, $amount)
120
+ {
121
+ $error = false;
122
+ $payment->setAmount($amount);
123
+ $this->debug2($amount, 'magento_capture_amount.txt');
124
+
125
+ $order = $payment->getOrder();
126
+ $note = $order->getCustomerNote();
127
+ if ($note)
128
+ {
129
+ $note .= '<br />'.Mage::helper('novalnet')->__('Comment').': ';
130
+ $note .= $order->getCustomerNote();
131
+ }
132
+ if ( !$this->getConfigData('live_mode') ){
133
+ $note .= '<br /><b>'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</b>';
134
+ }
135
+
136
+ $order->setCustomerNote($note);
137
+ $order->setCustomerNoteNotify(true);
138
+
139
+ $request = $this->_buildRequest($payment);
140
+ $this->debug2($request, 'magento_capture_request.txt');
141
+ $result = $this->_postRequest($request, $payment);
142
+ $this->debug2($result, 'magento_capture_result.txt');
143
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
144
+ $this->debug2($result, 'magento_capture_resultok.txt');
145
+ $payment->setStatus(self::STATUS_APPROVED);
146
+ $payment->setLastTransId($result->getTid());
147
+ $id = $payment->getNnId();
148
+ $quote_payment = $this->getQuote()->getPaymentById($id);
149
+ if ($quote_payment)#to avoid error msg. in admin interface
150
+ {
151
+ $quote_payment->save();
152
+ }
153
+ }
154
+ else {
155
+ $this->debug2($result, 'magento_capture_resultnotok.txt');
156
+ if ($result->getStatusDesc()) {
157
+ $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
158
+ }else {
159
+ $error = Mage::helper('novalnet')->__('Error in capturing the payment');
160
+ }
161
+ }
162
+
163
+ if ($error !== false) {
164
+ $this->debug2($error, 'magento_error.txt');
165
+ Mage::throwException($error);
166
+ }
167
+ return $this;
168
+ }
169
+ public function refund(Varien_Object $payment, $amount)
170
+ {
171
+ return $this;
172
+ }
173
+
174
+ public function void(Varien_Object $payment)
175
+ {
176
+ return $this;
177
+ }
178
+ /**
179
+ * Prepare request to gateway
180
+ *
181
+ * @link http://www.authorize.net/support/AIM_guide.pdf
182
+ * @param Mage_Sales_Model_Document $order
183
+ * @return unknown
184
+ */
185
+ protected function _saveObject (Varien_Object $payment)
186
+ {
187
+ $order = $payment->getOrder();
188
+ if (!empty($order)) {
189
+ $billing = $order->getBillingAddress();
190
+ }
191
+ }
192
+ protected function _buildRequest(Varien_Object $payment)
193
+ {
194
+ $order = $payment->getOrder();
195
+ if (session_is_registered('tid')){
196
+ $this->debug2($order, 'magento_order2.txt');
197
+ }
198
+ $request = Mage::getModel('novalnet/novalnet_request');
199
+
200
+ $request->setvendor($this->getConfigData('merchant_id'))
201
+ ->setauth_code($this->getConfigData('auth_code'))
202
+ ->setproduct($this->getConfigData('product_id'))
203
+ ->settariff($this->getConfigData('tariff_id'))
204
+ ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
205
+
206
+ $request->setcurrency($order->getOrderCurrencyCode());
207
+
208
+ if($payment->getAmount()){
209
+ $request->setamount(round($payment->getAmount(), 2) * 100);
210
+ }
211
+
212
+ if (!empty($order)) {
213
+ $request->setinput1($order->getIncrementId());
214
+
215
+ $billing = $order->getBillingAddress();
216
+ $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
217
+ if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
218
+ if (!empty($billing)) {
219
+ if (session_is_registered('tid')){
220
+ $this->debug2($billing, 'magento_billing2.txt');
221
+ }
222
+
223
+ if (!$order->getCustomerEmail())
224
+ {
225
+ Mage::throwException(Mage::helper('novalnet')->__('Email address missing'));
226
+ }
227
+
228
+ $request->setfirst_name($billing->getFirstname())
229
+ ->setLast_name($billing->getlastname())
230
+ ->setstreet($street[0].$street[1].$street[2])
231
+ ->setcity($billing->getCity())
232
+ ->setzip($billing->getPostcode())
233
+ ->setcountry($billing->getCountry())
234
+ ->settel($billing->getTelephone())
235
+ ->setfax($billing->getFax())
236
+ ->setremote_ip($this->getRealIpAddr())
237
+ ->setgender('u')
238
+ ->setemail($order->getCustomerEmail())
239
+ ->setInput1('order_id')
240
+ ->setInputval1($this->_getOrderId())
241
+ ->setsearch_in_street(1);
242
+ }
243
+ }
244
+ $request->setkey(self::KEY);
245
+
246
+ if (session_is_registered('tid')){
247
+ $this->urlparam = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
248
+ $this->urlparam .= '<nnxml><info_request><vendor_id>'.$this->getConfigData('merchant_id').'</vendor_id>';
249
+ $this->urlparam .= '<vendor_authcode>'.$this->getConfigData('auth_code').'</vendor_authcode>';
250
+ $this->urlparam .= '<request_type>NOVALTEL_STATUS</request_type><tid>'.$_SESSION['tid'].'</tid>';
251
+ $this->urlparam .= '<lang>DE</lang></info_request></nnxml>';
252
+ }
253
+
254
+ return $request;
255
+ }
256
+
257
+ protected function _postRequest(Varien_Object $request, Varien_Object $payment=null)
258
+ {
259
+ $result = Mage::getModel('novalnet/novalnet_result');
260
+ $client = new Varien_Http_Client();
261
+
262
+ if (!session_is_registered('tid')){#first call
263
+ $client->setUri(self::CGI_URL);
264
+ }else{#second call
265
+ $client->setUri(self::CGI_URL2);
266
+ }
267
+
268
+ $httpClientConfig = array( 'maxredirects'=>0 );
269
+ if( ((int)$this->getConfigData( 'gateway_timeout' )) > 0 ) {
270
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
271
+ }
272
+ $client->setConfig( $httpClientConfig );
273
+
274
+ if (!session_is_registered('tid')){#first call
275
+ $request->toLatin1();
276
+ $client->setParameterPost($request->getData());
277
+ $this->debug2($request->getData(), 'magento_request1.txt');
278
+ }else{#secondcall
279
+ $client->setHeaders('Content-Type', 'application/atom+xml');
280
+ $client->setRawData($this->urlparam);
281
+ $this->debug2($this->urlparam, 'magento_request2.txt');
282
+ }
283
+
284
+ $client->setMethod(Zend_Http_Client::POST);
285
+ try {
286
+ $method2 = '';
287
+ if (session_is_registered('tid')){
288
+ $method2 = 'POST';
289
+ }
290
+ $response = $client->request($method2);
291
+ } catch (Exception $e) {
292
+ $this->debug2($e->getMessage(), 'magento_exceptionMsg.txt');
293
+ $result->setResponseCode(-1)
294
+ ->setResponseReasonCode($e->getCode())
295
+ ->setResponseReasonText($e->getMessage());
296
+ Mage::throwException(
297
+ Mage::helper('novalnet')->__('Gateway request error: %s', $e->getMessage())
298
+ );
299
+ }
300
+ $responseBody = $response->getBody();
301
+
302
+ if (session_is_registered('tid')){#second call
303
+ $this->debug2($response, 'magento_response2.txt');
304
+ $xml = serialize($response);
305
+ $this->debug2($xml, 'magento_xml.txt');
306
+
307
+ if (!preg_match('|\<nnxml\>(.+)\</nnxml\>|is', $xml, $matches)){
308
+ Mage::throwException(Mage::helper('novalnet')->__('Error in payment gateway').': '.Mage::helper('novalnet')->__('Response contains no XML'));
309
+ }
310
+
311
+ $xml = $matches[1];
312
+ $this->debug2($xml, 'magento_xml_purged.txt');
313
+
314
+ $data = $xml; #$response;
315
+ if(strstr($data, '<novaltel_status>'))
316
+ {
317
+ preg_match('/novaltel_status>?([^<]+)/i', $data, $matches);
318
+ $aryResponse['status'] = $matches[1];
319
+ $result->setStatus($aryResponse['status']);
320
+ $this->debug2($aryResponse['status'], 'magento_novaltel_status.txt');
321
+
322
+ preg_match('/novaltel_status_message>?([^<]+)/i', $data, $matches);
323
+ $aryResponse['status_desc'] = $matches[1];
324
+ $result->setStatusDesc($aryResponse['status_desc']);
325
+ $result->setTid($_SESSION['tid']);
326
+ $this->debug2($aryResponse['status_desc'], 'magento_novaltel_status_desc.txt');
327
+
328
+ if ($aryResponse['status']!= 100){
329
+ if ($aryResponse['status'] == 18 and isset($_SESSION['novalnet_tel'])){
330
+ Mage::throwException(Mage::helper('novalnet')->__('Gateway request error: %s', $aryResponse['status_desc'])."\n".Mage::helper('novalnet')->__('Did you called this number').': '.preg_replace('/(\d{4})(\d{4})(\d{4})(\d{4})/', "$1 $2 $3 $4", $_SESSION['novalnet_tel']));
331
+ }else{
332
+ Mage::throwException(Mage::helper('novalnet')->__('Gateway request error: %s', $aryResponse['status_desc']));
333
+ }
334
+ }
335
+ }
336
+ $this->debug2($result, 'magento_result2.txt');
337
+ }else {#first call
338
+ $this->debug2($response, 'magento_response1.txt');
339
+ $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
340
+
341
+ if ($r) {
342
+ foreach($r as $key => $value)
343
+ {
344
+ if($value!="")
345
+ {
346
+ $aryKeyVal = explode("=",$value);
347
+ $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
348
+ }
349
+ }
350
+
351
+ if (isset($aryResponse['status'])){
352
+ $result->setStatus($aryResponse['status']);
353
+ }
354
+ if (isset($aryResponse['tid'])){
355
+ $result->setTid($aryResponse['tid']);
356
+ }
357
+
358
+ if (isset($aryResponse['status_desc'])){
359
+ $result->setStatusDesc($aryResponse['status_desc']);
360
+ }
361
+
362
+ if (isset($aryResponse['status']) and $aryResponse['status'] != 100) {
363
+ Mage::throwException(Mage::helper('novalnet')->__('Error in payment gateway') .': '.utf8_encode($aryResponse['status_desc']));
364
+ }
365
+ #$this->debug2($result, 'magento_result1.txt');
366
+ } else {
367
+ Mage::throwException(Mage::helper('novalnet')->__('Error in payment gateway'));
368
+ }
369
+ }
370
+ $result->toUtf8();
371
+ if (session_is_registered('tid')){
372
+ $this->debug2($response, 'magento_response2.txt');
373
+ $this->debug2($aryResponse, 'magento_aryResponse2.txt');
374
+ }
375
+ if ($payment){
376
+ $this->debug2($payment, 'magento_payment2.txt');
377
+ $order = $payment->getOrder();
378
+ }
379
+
380
+ if ($aryResponse['status'] == 100){
381
+ if (session_is_registered('tid')){
382
+ session_unregister('tid');
383
+ }
384
+ if (session_is_registered('novalnet_tel')){
385
+ session_unregister('novalnet_tel');
386
+ }
387
+ }
388
+ $this->aryResponse = $aryResponse;
389
+ return $result;
390
+ }
391
+
392
+
393
+ public function assignData($data)
394
+ {
395
+ if(!session_is_registered('tid')){
396
+ $this->debug2($data, 'magento_assignData1.txt');
397
+ $addresses = $this->getQuote()->getAllAddresses();
398
+ $this->checkAmountAllowed();
399
+ $this->aBillingAddress = $this->getBillingAddress($addresses);
400
+ $this->debug2($this, 'magento_assignData_this.txt');
401
+ $this->getFirstCall();
402
+ }else{
403
+ $this->debug2($data, 'magento_assignData2.txt');
404
+ }
405
+
406
+ if (!($data instanceof Varien_Object)) {
407
+ $data = new Varien_Object($data);
408
+ }
409
+ $info=$this->getInfoInstance();
410
+
411
+ return $this;
412
+ }
413
+ /**
414
+ * Get checkout
415
+ *
416
+ * @return Mage_Sales_Model_Quote
417
+ */
418
+ public function getQuote()
419
+ {
420
+ if (empty($this->_quote)) {
421
+ $this->_quote = $this->getCheckout()->getQuote();
422
+ }
423
+ return $this->_quote;
424
+ }
425
+ /**
426
+ * Get checkout
427
+ *
428
+ * @return Mage_Sales_Model_Order
429
+ */
430
+ public function getCheckout()
431
+ {
432
+ if (empty($this->_checkout)) {
433
+ //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
434
+ $this->_checkout = Mage::getSingleton('checkout/session');
435
+ }
436
+ return $this->_checkout;
437
+ }
438
+
439
+ public function getTitle() {
440
+ //return $this->getConfigData('title');
441
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
442
+ }
443
+
444
+ public function validate()
445
+ {
446
+ parent::validate();
447
+ $info = $this->getInfoInstance();
448
+ return $this;
449
+ }
450
+ public function isPublicIP($value)
451
+ {
452
+ if(!$value || count(explode('.',$value))!=4)
453
+ {
454
+ return false;
455
+ }
456
+ return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
457
+ }
458
+ public function getRealIpAddr()
459
+ {
460
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
461
+ {
462
+ return $_SERVER['HTTP_X_FORWARDED_FOR'];
463
+ }
464
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
465
+ {
466
+ if($this->isPublicIP($iplist[0])) return $iplist[0];
467
+ }
468
+ if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
469
+ {
470
+ return $_SERVER['HTTP_CLIENT_IP'];
471
+ }
472
+ if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
473
+ {
474
+ return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
475
+ }
476
+ if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
477
+ {
478
+ return $_SERVER['HTTP_FORWARDED_FOR'];
479
+ }
480
+ return $_SERVER['REMOTE_ADDR'];
481
+ }
482
+ public function getAmount4Request($amount) {
483
+ $orig_amount = $amount;
484
+ if(preg_match('/[,.]$/', $amount)) {
485
+ $amount = $amount . '00';
486
+ }
487
+ else if(preg_match('/[,.][0-9]$/', $amount)) {
488
+ $amount = $amount . '0';
489
+ }
490
+
491
+ $amount = round($amount, 2);
492
+ $amount = str_replace(array('.', ','), array('',''), $amount);
493
+ return$amount;
494
+ }
495
+ public function getNote($aryResponse)
496
+ {
497
+ #todo: Kontoinhaber fehlt
498
+ $note = Mage::helper('novalnet')->__('Please transfer the amount to following account').":<br /><br />\n\n";
499
+
500
+ $note.= Mage::helper('novalnet')->__('Account Holder2').": NOVALNET AG<br />\n";
501
+ $note.= Mage::helper('novalnet')->__('Account Number').": ".$aryResponse['invoice_account']."<br />\n";
502
+ $note.= Mage::helper('novalnet')->__('Bank Sorting Code').": ".$aryResponse['invoice_bankcode']."<br />\n";
503
+ $note.= Mage::helper('novalnet')->__('Bank').": ".$aryResponse['invoice_bankname'].', Muenchen<br /><br />'."\n\n"; #.$aryResponse['invoice_bankplace']."\n\n";
504
+
505
+ $note.= "IBAN: ".$aryResponse['invoice_iban']."<br />\n";
506
+ $note.= "SWIFT / BIC: ".$aryResponse['invoice_bic']."<br /><br />\n\n";
507
+
508
+ $note.= Mage::helper('novalnet')->__('Amount').": ".str_replace('.', ',', $aryResponse['amount'])." EUR<br />\n";
509
+ $note.= Mage::helper('novalnet')->__('Reference').": TID ".$aryResponse['tid']."<br />\n";
510
+ $note.= Mage::helper('novalnet')->__('Please note that the Transfer can only be identified with the above mentioned Reference').'.';
511
+ return$note;
512
+ }
513
+
514
+ public function checkAmountAllowed()
515
+ {
516
+
517
+ $amount = sprintf('%.2f', $this->getQuote()->getGrandTotal()) * 100;
518
+ if ($amount >= self::AMOUNT_MIN and $amount <= self::AMOUNT_MAX){
519
+ $this->amount = $amount;
520
+ return true;
521
+ }
522
+ Mage::throwException(Mage::helper('novalnet')->__('Amount below 0.90 Euro and above 10.00 Euro is not accepted'));
523
+ }
524
+ public function debug2($object, $filename, $debug = false)
525
+ {
526
+ if (!$this->debug and !$debug){return;}
527
+ $fh = fopen("/tmp/$filename", 'a+');
528
+ if (gettype($object) == 'object' or gettype($object) == 'array'){
529
+ fwrite($fh, serialize($object));
530
+ }else{
531
+ fwrite($fh, $object);
532
+ }
533
+ fwrite($fh, "<hr />\n");
534
+ fclose($fh);
535
+ }
536
+ public function getFirstCall()
537
+ {
538
+ $url = 'https://payport.novalnet.de/paygate.jsp';
539
+ $request = Mage::getModel('novalnet/novalnet_request');
540
+ $request->setvendor($this->getConfigData('merchant_id'))
541
+ ->setauth_code($this->getConfigData('auth_code'))
542
+ ->setproduct($this->getConfigData('product_id'))
543
+ ->settariff($this->getConfigData('tariff_id'));
544
+
545
+ $request->setkey(self::KEY);
546
+ $request->setcurrency(self::CURRENCY);
547
+ $request->setamount($this->amount);
548
+
549
+ $request->setfirst_name(utf8_encode($this->aBillingAddress['firstname']))
550
+ ->setLast_name(utf8_encode($this->aBillingAddress['lastname']))
551
+ ->setstreet(utf8_encode($this->aBillingAddress['street']))
552
+ ->setcity(utf8_encode($this->aBillingAddress['city']))
553
+ ->setzip($this->aBillingAddress['postcode'])
554
+ ->setcountry(utf8_encode($this->aBillingAddress['country']))
555
+ ->settel($this->aBillingAddress['telephone'])
556
+ ->setfax($this->aBillingAddress['fax'])
557
+ ->setremote_ip($this->getRealIpAddr())
558
+ ->setgender('u')
559
+ ->setemail($this->aBillingAddress['email'])
560
+ ->setsearch_in_street(1);
561
+ #$request->setinvoice_type(self::PAYMENT_METHOD);
562
+
563
+ $this->debug2($request, 'magento_getFirstCall_request.txt');
564
+ $result = $this->_postRequest($request);
565
+
566
+ if(!$this->aryResponse){
567
+ Mage::throwException('Params (aryResponse) missing');
568
+ }
569
+ $data = '';
570
+ foreach ($this->aryResponse as $k=>$v){
571
+ $data.= "$k=$v&";
572
+ }
573
+ if (substr($data, -1) == '&'){
574
+ $data = substr($data, 0, -1);
575
+ }
576
+
577
+ if(strstr($data, '<novaltel_status>'))
578
+ {
579
+ preg_match('/novaltel_status>?([^<]+)/i', $data, $matches);
580
+ $aryResponse['status'] = $matches[1];
581
+
582
+ preg_match('/novaltel_status_message>?([^<]+)/i', $data, $matches);
583
+ $aryResponse['status_desc'] = $matches[1];
584
+ }
585
+ else
586
+ {
587
+ #capture the result and message and other parameters from response data '$data' in an array
588
+ $aryPaygateResponse = explode('&', $data);
589
+ foreach($aryPaygateResponse as $key => $value)
590
+ {
591
+ if($value!="")
592
+ {
593
+ $aryKeyVal = explode("=",$value);
594
+ $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
595
+ }
596
+ }
597
+ }
598
+
599
+ if((session_is_registered('tid') and $_SESSION['tid'] != '') && $aryResponse['status']==100) #### SECOND CALL -> On successful payment ####
600
+ {
601
+ #### Redirecting the user to the checkout page ####
602
+ session_unregister('tid'); #$_SESSION['tid'] = '';
603
+ if (session_is_registered('novalnet_tel')){
604
+ session_unregister('novalnet_tel');#$_SESSION['novalnet_tel'] = '';
605
+ }
606
+ }
607
+ else #### On payment failure ####
608
+ {
609
+ $status = '';
610
+ $wrong_amount = '';#todo:
611
+ if($wrong_amount==1){
612
+ $status = '1';
613
+ $aryResponse['status_desc'] = 'novalnet_amount_error';}
614
+
615
+ ### Passing the Error Response from Novalnet's paygate to payment error ###
616
+ elseif($aryResponse['status']==100 && $aryResponse['tid'])
617
+ {
618
+ $aryResponse['status_desc']='';
619
+ if(!session_is_registered('tid')){
620
+ session_register('tid');
621
+ }
622
+ if(!session_is_registered('novalnet_tel')){
623
+ session_register('novalnet_tel');
624
+ }
625
+
626
+ $_SESSION['tid'] = $aryResponse['tid'];
627
+ $_SESSION['novalnet_tel'] = $aryResponse['novaltel_number'];
628
+ $text = Mage::helper('novalnet')->__('Following steps are required to complete the telephone payment process').':'."\n";
629
+ $text .= Mage::helper('novalnet')->__('Step').'1: ';
630
+ $text .= Mage::helper('novalnet')->__('Please dial this number').': '.preg_replace('/(\d{4})(\d{4})(\d{4})(\d{4})/', "$1 $2 $3 $4", $_SESSION['novalnet_tel']).".\n";
631
+ $text .= Mage::helper('novalnet')->__('Step').'2: ';
632
+ $text .= Mage::helper('novalnet')->__('Please wait for the Signal tone and hangup the reciever').'. ';
633
+ $text .= Mage::helper('novalnet')->__('Please click on continue after your successive call').'.'."\n";
634
+ $text .= '* '. Mage::helper('novalnet')->__('This call costs').' '.($this->amount/100).' Euro ('.Mage::helper('novalnet')->__('inclusive tax').') ';
635
+ $text .= Mage::helper('novalnet')->__('and is only possible from German Landline Telefon connection').'! *';
636
+
637
+ $this->text = $text;
638
+ Mage::throwException($text);#show note for client to call...
639
+ }
640
+ elseif($aryResponse['status']==18){$error = true;}
641
+ elseif($aryResponse['status']==19)
642
+ {
643
+ if(!session_is_registered('tid')){
644
+ $_SESSION['tid'] = '';
645
+ }
646
+ if(!session_is_registered('novalnet_tel')){
647
+ $_SESSION['novalnet_tel'] = '';
648
+ }
649
+ }
650
+ else $status = $aryResponse['status'];
651
+
652
+ ### Passing through the Error Response from Novalnet's paygate into order-info ###
653
+ #$order->info['comments'] .= '. Novalnet Error Code : '.$aryResponse['status'].', Novalnet Error Message : '.$aryResponse['status_desc'];
654
+
655
+ #$payment_error_return = 'payment_error=' . self::CODE. '&error=' . urlencode($aryResponse['status_desc']);
656
+ }
657
+ if ($aryResponse['status']!= 100){
658
+ Mage::throwException(Mage::helper('novalnet')->__('Gateway request error: %s', $aryResponse['status_desc']));
659
+ }
660
+ }
661
+ public function getBillingAddress($addresses)
662
+ {
663
+ $this->debug2($addresses, 'magento_addresses.txt');
664
+ $addresses = serialize($addresses);
665
+ /*"address_type";s:7:"billing";s:5:"email";s:14:"jz@novalnet.de";s:6:"prefix";N;s:9:"firstname";s:7:"Jianguo";s:10:"middlename";N;s:8:"lastname";s:5:"Zhang";s:6:"suffix";N;s:7:"company";s:11:"Novalnet AG";s:6:"street";s:14:"Stiftsbogen 70";s:4:"city";s:8:"M��nchen";s:6:"region";s:6:"Bayern";s:9:"region_id";s:2:"81";s:8:"postcode";s:5:"81375";s:10:"country_id";s:2:"DE";s:9:"telephone";s:12:"089 47027059";s:3:"fax";s:0:"";s:15:"same_as_billing"*/
666
+ $t = preg_match('/\"address\_type\"\;s\:7\:\"billing\"(.{100,1000})\"same\_as\_billing\"/is', $addresses, $aMatch);
667
+ if (!$aMatch or !$aMatch[1]){
668
+ Mage::throwException(Mage::helper('novalnet')->__('Billing Addr. not found'));
669
+ }
670
+ $foundString = $aMatch[1];
671
+ $t = preg_match('/\"firstname\"\;s\:\d*\:\"(.+)\"\;s\:10\:\"middlename\"\;/',$foundString, $aMatch);
672
+ if ($aMatch and $aMatch[1]){
673
+ $aBillingAddress['firstname'] = $aMatch[1];
674
+ }else{
675
+ $aBillingAddress['firstname'] = '';
676
+ }
677
+
678
+ $t = preg_match('/\"lastname\"\;s\:\d*\:\"(.+)\"\;s\:6\:\"suffix\"\;/',$foundString, $aMatch);
679
+ if ($aMatch and $aMatch[1]){
680
+ $aBillingAddress['lastname'] = $aMatch[1];
681
+ }else{
682
+ $aBillingAddress['lastname'] = '';
683
+ }
684
+
685
+ $t = preg_match('/\"street\"\;s\:\d*\:\"(.+)\"\;s\:4\:\"city\"\;/',$foundString, $aMatch);
686
+ if ($aMatch and $aMatch[1]){
687
+ $aBillingAddress['street'] = $aMatch[1];
688
+ }else{
689
+ $aBillingAddress['street'] = '';
690
+ }
691
+
692
+ $t = preg_match('/\"city\"\;s\:\d*\:\"(.+)\"\;s\:6\:\"region\"\;/',$foundString, $aMatch);
693
+ if ($aMatch and $aMatch[1]){
694
+ $aBillingAddress['city'] = $aMatch[1];
695
+ }else{
696
+ $aBillingAddress['city'] = '';
697
+ }
698
+
699
+ $t = preg_match('/\"postcode\"\;s\:\d*\:\"(.+)\"\;s\:10\:\"country_id\"\;/',$foundString, $aMatch);
700
+ if ($aMatch and $aMatch[1]){
701
+ $aBillingAddress['postcode'] = $aMatch[1];
702
+ }else{
703
+ $aBillingAddress['postcode'] = '';
704
+ }
705
+
706
+ $t = preg_match('/\"email\"\;s\:\d*\:\"(.+)\"\;s\:6\:\"prefix\"\;/',$foundString, $aMatch);
707
+ if ($aMatch and $aMatch[1]){
708
+ $aBillingAddress['email'] = $aMatch[1];
709
+ }else{
710
+ $aBillingAddress['email'] = '';
711
+ }
712
+
713
+ $t = preg_match('/\"telephone\"\;s\:\d*\:\"(.+)\"\;s\:3\:\"fax\"\;/',$foundString, $aMatch);
714
+ if ($aMatch and $aMatch[1]){
715
+ $aBillingAddress['telephone'] = $aMatch[1];
716
+ }else{
717
+ $aBillingAddress['telephone'] = '';
718
+ }
719
+
720
+ $t = preg_match('/\"country_id\"\;s\:\d*\:\"(.+)\"\;s\:9\:\"telephone\"\;/',$foundString, $aMatch);
721
+ if ($aMatch and $aMatch[1]){
722
+ $aBillingAddress['country'] = $aMatch[1];
723
+ }else{
724
+ $aBillingAddress['country'] = '';
725
+ }
726
+
727
+ $t = preg_match('/\"fax\"\;s\:\d*\:\"(.+)\"\;s\:15\:\"same_as_billing\"\;/',$foundString, $aMatch);
728
+ if ($aMatch and $aMatch[1]){
729
+ $aBillingAddress['fax'] = $aMatch[1];
730
+ }else{
731
+ $aBillingAddress['fax'] = '';
732
+ }
733
+ return$aBillingAddress;
734
+ }
735
+
736
+ public function isAvailable($quote=null)
737
+ {
738
+ if(!is_null($quote) && parent::isAvailable($quote)){
739
+ $amount = round($quote->getGrandTotal(), 2);
740
+ if( $amount >= 0.9 && $amount <= 10 ) {
741
+ return true;
742
+ }
743
+ }
744
+ return false;
745
+ }
746
+ private function _getOrderId(){
747
+ $info = $this->getInfoInstance();
748
+ if ($this->_isPlaceOrder()) {
749
+ return $info->getOrder()->getIncrementId();
750
+ } else {
751
+ if (!$info->getQuote()->getReservedOrderId()) {
752
+ $info->getQuote()->reserveOrderId();
753
+ }
754
+ return $info->getQuote()->getReservedOrderId();
755
+ }
756
+ }
757
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php CHANGED
@@ -1,428 +1,375 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const RESPONSE_DELIM_CHAR = '&';
33
- const RESPONSE_CODE_APPROVED = 100;
34
- const PAYMENT_METHOD = 'PREPAYMENT';
35
- const KEY = 27;
36
- const STATUS_PENDING = 'PENDING';
37
- /**
38
- * unique internal payment method identifier
39
- *
40
- * @var string [a-z0-9_]
41
- */
42
- protected $_code = 'novalnetPrepayment';
43
- protected $_formBlockType = 'novalnet/prepayment_form';
44
- protected $_infoBlockType = 'novalnet/prepayment_info';
45
-
46
-
47
- /**
48
- * Is this payment method a gateway (online auth/charge) ?
49
- */
50
- protected $_isGateway = true;
51
-
52
- /**
53
- * Can authorize online?
54
- */
55
- protected $_canAuthorize = false;
56
-
57
- /**
58
- * Can capture funds online?
59
- */
60
- protected $_canCapture = true;
61
-
62
- /**
63
- * Can capture partial amounts online?
64
- */
65
- protected $_canCapturePartial = true;
66
-
67
- /**
68
- * Can refund online?
69
- */
70
- protected $_canRefund = false;
71
-
72
- /**
73
- * Can void transactions online?
74
- */
75
- protected $_canVoid = false;
76
-
77
- /**
78
- * Can use this payment method in administration panel?
79
- */
80
- protected $_canUseInternal = true;
81
-
82
- /**
83
- * Can show this payment method as an option on checkout payment page?
84
- */
85
- protected $_canUseCheckout = true;
86
-
87
- /**
88
- * Is this payment method suitable for multi-shipping checkout?
89
- */
90
- protected $_canUseForMultishipping = true;
91
-
92
- /**
93
- * Can save credit card information for future processing?
94
- */
95
- protected $_canSaveCc = false;
96
-
97
- /**
98
- * Here you will need to implement authorize, capture and void public methods
99
- *
100
- * @see examples of transaction specific public methods such as
101
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
102
- */
103
- public function authorize(Varien_Object $payment, $amount)
104
- {
105
-
106
- return $this;
107
- }
108
- public function capture(Varien_Object $payment, $amount)
109
- {
110
- $error = false;
111
- $payment->setAmount($amount);
112
- $request = $this->_buildRequest($payment);
113
- $result = $this->_postRequest($request, $payment);
114
-
115
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
116
- #$payment->setStatus(self::STATUS_APPROVED);
117
- $payment->setStatus(self::STATUS_PENDING);
118
- $payment->setCcTransId($result->getTid());
119
- $payment->setLastTransId($result->getTid());
120
- $payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
121
- $payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
122
- $id = $payment->getNnId();
123
- $quote_payment = $this->getQuote()->getPaymentById($id);
124
- if ($quote_payment)#to avoid error msg. in admin interface
125
- {
126
- $quote_payment->setNnAccountNumber(substr($payment->getNnAccountNumber(),0,-4)."XXXX");
127
- $quote_payment->setNnBankSortingCode(substr($payment->getNnBankSortingCode(),0,-3)."XXX");
128
- $quote_payment->save();
129
- }
130
- }
131
- else {
132
- if ($result->getStatusDesc()) {
133
- $error = Mage::helper('novalnet')->htmlEscape($result->getStatusDesc());
134
- }else {
135
- $error = Mage::helper('novalnet')->__('Error in capturing the payment');
136
- }
137
- }
138
-
139
- if ($error !== false) {
140
- Mage::throwException($error);
141
- }
142
- return $this;
143
- }
144
- public function refund(Varien_Object $payment, $amount)
145
- {
146
- return $this;
147
- }
148
-
149
- public function void(Varien_Object $payment)
150
- {
151
- return $this;
152
- }
153
- /**
154
- * Prepare request to gateway
155
- *
156
- * @link http://www.authorize.net/support/AIM_guide.pdf
157
- * @param Mage_Sales_Model_Document $order
158
- * @return unknown
159
- */
160
- protected function _saveObject (Varien_Object $payment)
161
- {
162
- $order = $payment->getOrder();
163
- if (!empty($order)) {
164
- $billing = $order->getBillingAddress();
165
- }
166
- }
167
- protected function _buildRequest(Varien_Object $payment)
168
- {
169
- $order = $payment->getOrder();
170
- $request = Mage::getModel('novalnet/novalnet_request');
171
-
172
-
173
- $request->setvendor($this->getConfigData('merchant_id'))
174
- ->setauth_code($this->getConfigData('auth_code'))
175
- ->setproduct($this->getConfigData('product_id'))
176
- ->settariff($this->getConfigData('tariff_id'))
177
- ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
178
-
179
- $request->setcurrency($order->getOrderCurrency());
180
-
181
- if($payment->getAmount()){
182
- #$request->setamount($payment->getAmount()*100);
183
- $request->setamount($this->getAmount4Request($payment->getAmount()));
184
- }
185
-
186
- if (!empty($order)) {
187
- $request->setinput1($order->getIncrementId());
188
-
189
- $billing = $order->getBillingAddress();
190
- $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
191
- if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
192
- if (!empty($billing)) {
193
- $request->setfirst_name($billing->getFirstname())
194
- ->setLast_name($billing->getlastname())
195
- ->setstreet($billing->getStreet(1))
196
- ->setcity($billing->getCity())
197
- ->setzip($billing->getPostcode())
198
- ->setcountry($billing->getCountry())
199
- ->settel($billing->getTelephone())
200
- ->setfax($billing->getFax())
201
- ->setremote_ip($this->getRealIpAddr())
202
- ->setgender('u')
203
- ->setemail($order->getCustomerEmail())
204
- ->setsearch_in_street(1);
205
- #->setremote_ip($order->getRemoteIp())
206
- #->sethouse_no($street[1].$street[2])
207
- #->setstreet($street[0].$street[1].$street[2])
208
- }
209
- }
210
- /*$request->setbank_account_holder($payment->getNnAccountHolder())
211
- ->setbank_account($payment->getNnAccountNumber())
212
- ->setbank_code($payment->getNnBankSortingCode())*/
213
- $request->setkey(self::KEY);
214
- $request->setinvoice_type(self::PAYMENT_METHOD);
215
- return $request;
216
- }
217
-
218
- protected function _postRequest(Varien_Object $request, Varien_Object $payment)
219
- {
220
- $result = Mage::getModel('novalnet/novalnet_result');
221
-
222
- $client = new Varien_Http_Client();
223
-
224
- $uri = $this->getConfigData('cgi_url');
225
- $client->setUri($uri ? $uri : self::CGI_URL);
226
- $client->setConfig(array(
227
- 'maxredirects'=>0,
228
- 'timeout'=>30,
229
- //'ssltransport' => 'tcp',
230
- ));
231
- $request->toLatin1();
232
- $client->setParameterPost($request->getData());
233
- $client->setMethod(Zend_Http_Client::POST);
234
- try {
235
- $response = $client->request();
236
- } catch (Exception $e) {
237
- $result->setResponseCode(-1)
238
- ->setResponseReasonCode($e->getCode())
239
- ->setResponseReasonText($e->getMessage());
240
- Mage::throwException(
241
- Mage::helper('novalnet')->__('Gateway request error: %s', $e->getMessage())
242
- );
243
- }
244
-
245
- $responseBody = $response->getBody();
246
-
247
- $r = explode(self::RESPONSE_DELIM_CHAR, $responseBody);
248
-
249
- if ($r) {
250
- foreach($r as $key => $value)
251
- {
252
- if($value!="")
253
- {
254
- $aryKeyVal = explode("=",$value);
255
- $aryResponse[$aryKeyVal[0]] = $aryKeyVal[1];
256
- }
257
- }
258
-
259
- if (isset($aryResponse['status'])){
260
- $result->setStatus($aryResponse['status']);
261
- }
262
- if (isset($aryResponse['tid'])){
263
- $result->setTid($aryResponse['tid']);
264
- }
265
- if (isset($aryResponse['status_desc'])){
266
- $result->setStatusDesc($aryResponse['status_desc']);
267
- }
268
-
269
- } else {
270
- Mage::throwException(
271
- Mage::helper('novalnet')->__('Error in payment gateway')
272
- );
273
- }
274
- $result->toUtf8();
275
- $note = $this->getNote($aryResponse);
276
- $order = $payment->getOrder();
277
- if ($order->getCustomerNote())
278
- {
279
- $note .= '<br /><br />';
280
- $note .= Mage::helper('novalnet')->__('Comment').': ';
281
- $note .= $order->getCustomerNote();
282
- }
283
- if ( !$this->getConfigData('live_mode') ){
284
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
285
- }
286
- $order->setCustomerNote($note);
287
- $order->setCustomerNoteNotify(true);
288
- #Mage::throwException($order->getEmailCustomerNote());#todo:
289
- #$fh = fopen('/temp/magento2.txt', 'w');fwrite($fh, $note);
290
- return $result;
291
- }
292
-
293
-
294
- public function assignData($data)
295
- {
296
- if (!($data instanceof Varien_Object)) {
297
- $data = new Varien_Object($data);
298
- }
299
- $info=$this->getInfoInstance();
300
- $info->setNnElvCountry($data->getElvCountry())
301
- ->setNnAccountHolder($data->getAccountHolder())
302
- ->setNnAccountNumber($data->getAccountNumber())
303
- ->setNnBankSortingCode($data->getBankSortingCode());
304
- return $this;
305
- }
306
- /**
307
- * Get checkout
308
- *
309
- * @return Mage_Sales_Model_Quote
310
- */
311
- public function getQuote()
312
- {
313
- if (empty($this->_quote)) {
314
- $this->_quote = $this->getCheckout()->getQuote();
315
- }
316
- return $this->_quote;
317
- }
318
- /**
319
- * Get checkout
320
- *
321
- * @return Mage_Sales_Model_Order
322
- */
323
- public function getCheckout()
324
- {
325
- if (empty($this->_checkout)) {
326
- //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
327
- $this->_checkout = Mage::getSingleton('checkout/session');
328
- }
329
- return $this->_checkout;
330
- }
331
-
332
- public function getTitle()
333
- {
334
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
335
- }
336
-
337
- public function validate()
338
- {
339
- parent::validate();
340
- $info = $this->getInfoInstance();
341
- $nnAccountNumber = $info->getNnAccountNumber();
342
- $nnBankSortingCode = $info->getNnBankSortingCode();
343
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $nnAccountNumber);
344
- $info->setNnAccountNumber($nnAccountNumber);
345
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $nnBankSortingCode);
346
- $info->setNnBankSortingCode($nnBankSortingCode);
347
- if (preg_match("/\D/",$nnAccountNumber)){
348
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
349
- }
350
- if (preg_match("/\D/",$nnBankSortingCode)){
351
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
352
- }
353
- return $this;
354
- }
355
- public function isPublicIP($value)
356
- {
357
- if(!$value || count(explode('.',$value))!=4)
358
- {
359
- return false;
360
- }
361
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
362
- }
363
- public function getRealIpAddr()
364
- {
365
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
366
- {
367
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
368
- }
369
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
370
- {
371
- if($this->isPublicIP($iplist[0])) return $iplist[0];
372
- }
373
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
374
- {
375
- return $_SERVER['HTTP_CLIENT_IP'];
376
- }
377
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
378
- {
379
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
380
- }
381
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
382
- {
383
- return $_SERVER['HTTP_FORWARDED_FOR'];
384
- }
385
- return $_SERVER['REMOTE_ADDR'];
386
- }
387
- public function getAmount4Request($amount)
388
- {
389
- if(preg_match('/[,.]$/', $amount))
390
- {
391
- $amount = $amount . '00';
392
- }
393
- else if(preg_match('/[,.][0-9]$/', $amount))
394
- {
395
- $amount = $amount . '0';
396
- }
397
- $orig_amount = $amount;
398
-
399
- $amount = str_replace(array('.', ','), array('',''), $amount);
400
- return$amount;
401
- }
402
- public function getNote($aryResponse)
403
- {
404
- #todo: Kontoinhaber fehlt
405
- $note = Mage::helper('novalnet')->__('Please transfer the amount to following account').":<br /><br />\n\n";
406
-
407
- $note.= Mage::helper('novalnet')->__('Account Holder2').": NOVALNET AG<br />\n";
408
- $note.= Mage::helper('novalnet')->__('Account Number').": ".$aryResponse['invoice_account']."<br />\n";
409
- $note.= Mage::helper('novalnet')->__('Bank Sorting Code').": ".$aryResponse['invoice_bankcode']."<br />\n";
410
- $note.= Mage::helper('novalnet')->__('Bank').": ".$aryResponse['invoice_bankname'].', Muenchen<br /><br />'."\n\n"; #.$aryResponse['invoice_bankplace']."\n\n";
411
-
412
- $note.= "IBAN: ".$aryResponse['invoice_iban']."<br />\n";
413
- $note.= "SWIFT / BIC: ".$aryResponse['invoice_bic']."<br /><br />\n\n";
414
-
415
- $note.= Mage::helper('novalnet')->__('Amount').": ".str_replace('.', ',', $aryResponse['amount'])." EUR<br />\n";
416
- $note.= Mage::helper('novalnet')->__('Reference').": TID ".$aryResponse['tid']."<br />\n";
417
- $note.= Mage::helper('novalnet')->__('Please note that the Transfer can only be identified with the above mentioned Reference').'.';
418
- return$note;
419
- }
420
-
421
- public function debug2($o, $aryResponse)
422
- {
423
- $t = '';
424
- $fh = fopen('/temp/magento.txt', 'w');
425
- fwrite($fh, serialize($o));
426
- fclose($fh);
427
- }
428
- }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const RESPONSE_DELIM_CHAR = '&';
33
+ const RESPONSE_CODE_APPROVED = 100;
34
+ const PAYMENT_METHOD = 'PREPAYMENT';
35
+
36
+ private $_nnPaymentId = '27';
37
+
38
+ /**
39
+ * unique internal payment method identifier
40
+ *
41
+ * @var string [a-z0-9_]
42
+ */
43
+ protected $_code = 'novalnetPrepayment';
44
+ protected $_formBlockType = 'novalnet/prepayment_form';
45
+ protected $_infoBlockType = 'novalnet/prepayment_info';
46
+
47
+
48
+ /**
49
+ * Is this payment method a gateway (online auth/charge) ?
50
+ */
51
+ protected $_isGateway = true;
52
+
53
+ /**
54
+ * Can authorize online?
55
+ */
56
+ protected $_canAuthorize = false;
57
+
58
+ /**
59
+ * Can capture funds online?
60
+ */
61
+ protected $_canCapture = true;
62
+
63
+ /**
64
+ * Can capture partial amounts online?
65
+ */
66
+ protected $_canCapturePartial = true;
67
+
68
+ /**
69
+ * Can refund online?
70
+ */
71
+ protected $_canRefund = false;
72
+
73
+ /**
74
+ * Can void transactions online?
75
+ */
76
+ protected $_canVoid = false;
77
+
78
+ /**
79
+ * Can use this payment method in administration panel?
80
+ */
81
+ protected $_canUseInternal = true;
82
+
83
+ /**
84
+ * Can show this payment method as an option on checkout payment page?
85
+ */
86
+ protected $_canUseCheckout = true;
87
+
88
+ /**
89
+ * Is this payment method suitable for multi-shipping checkout?
90
+ */
91
+ protected $_canUseForMultishipping = true;
92
+
93
+ /**
94
+ * Can save credit card information for future processing?
95
+ */
96
+ protected $_canSaveCc = false;
97
+
98
+ /**
99
+ * Here you will need to implement authorize, capture and void public methods
100
+ *
101
+ * @see examples of transaction specific public methods such as
102
+ * authorize, capture and void in Mage_Paygate_Model_Authorizenet
103
+ */
104
+ public function capture(Varien_Object $payment, $amount)
105
+ {
106
+ $payment->setAmount($amount);
107
+ $request = $this->_buildRequest($payment);
108
+ $result = $this->_postRequest($request);
109
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
110
+ $payment->setStatus(self::STATUS_APPROVED)
111
+ ->setLastTransId($result->getTid())
112
+ ;
113
+ $quotePayment = $this->getQuote()
114
+ ->getPaymentById($payment->getNnId())
115
+ ;
116
+ if ($quotePayment) {
117
+ $quotePayment->setNnTestorder($result->getTestMode())
118
+ ->setNnComments($result->getNnNote())
119
+ ->save()
120
+ ;
121
+ }
122
+
123
+ $request = Mage::getModel('novalnet/novalnet_request');
124
+ $amount = round($this->_getAmount(), 2) * 100;
125
+ $this->_assignNnAuthData($request, $amount);
126
+ $request->setStatus(100)
127
+ ->setTid($result->getTid())
128
+ ->setReference('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId())
129
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId())
130
+ ->setVwz2('Order no. ' . $this->_getOrderId())
131
+ ->setVwz3('Order date ' . date('Y-m-d H:i:s'))
132
+ ;
133
+ $result = $this->_postRequest($request);
134
+
135
+ } else {
136
+ $error = $result->getStatusDesc()
137
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusDesc())
138
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
139
+ ;
140
+ Mage::throwException($error);
141
+ }
142
+ return $this;
143
+ }
144
+
145
+ /**
146
+ * Prepare request to gateway
147
+ *
148
+ * @link http://www.authorize.net/support/AIM_guide.pdf
149
+ * @param Mage_Sales_Model_Document $order
150
+ * @return unknown
151
+ */
152
+ /*
153
+ protected function _saveObject (Varien_Object $payment)
154
+ {
155
+ $order = $payment->getOrder();
156
+ if (!empty($order)) {
157
+ $billing = $order->getBillingAddress();
158
+ }
159
+ }
160
+ */
161
+
162
+ protected function _buildRequest(Varien_Object $payment)
163
+ {
164
+ $request = Mage::getModel('novalnet/novalnet_request');
165
+ $order = $payment->getOrder();
166
+
167
+ if ($order->getGrandTotal()){
168
+ $amount = round($order->getGrandTotal(), 2) * 100;
169
+ }
170
+
171
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
172
+ $billing = $order->getBillingAddress();
173
+
174
+ $request->setVendor($this->getConfigData('merchant_id'))
175
+ ->setAuthCode($this->getConfigData('auth_code'))
176
+ ->setProduct(
177
+ ($manualCheckAmt || $manualCheckAmt<$amount)
178
+ ?$this->getConfigData('product_id')
179
+ :$this->getConfigData('second_product_id'))
180
+ ->setTariff(
181
+ ($manualCheckAmt || $manualCheckAmt<$amount)
182
+ ?$this->getConfigData('tariff_id')
183
+ :$this->getConfigData('second_tariff_id'))
184
+ ->setAmount($amount)
185
+ ->setKey($this->_nnPaymentId)
186
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
187
+ ->setCurrency($order->getOrderCurrencyCode())
188
+ ->setfirstName($billing->getFirstname())
189
+ ->setLastName($billing->getLastname())
190
+ ->setSearchInStreet(1)
191
+ ->setStreet($billing->getStreet(1))
192
+ ->setCity($billing->getCity())
193
+ ->setZip($billing->getPostcode())
194
+ ->setCountry($billing->getCountry())
195
+ ->setTel($billing->getTelephone())
196
+ ->setFax($billing->getFax())
197
+ ->setRemote_ip($this->getRealIpAddr())
198
+ ->setGender('u')
199
+ ->setEmail($order->getCustomerEmail())
200
+ ->setInvoiceType(self::PAYMENT_METHOD)
201
+ ->setOrderNo($this->_getOrderId())
202
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId())
203
+ ->setInput1('order_id')
204
+ ->setInputval1($this->_getOrderId());
205
+ return $request;
206
+ }
207
+
208
+ protected function _postRequest(Varien_Object $request)
209
+ {
210
+ $result = Mage::getModel('novalnet/novalnet_result');
211
+ $request->toLatin1();
212
+ $httpClientConfig = array('maxredirects'=>0);
213
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
214
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
215
+ }
216
+ $client = new Varien_Http_Client(self::CGI_URL, $httpClientConfig);
217
+ $client->setParameterPost($request->getData())
218
+ ->setMethod(Zend_Http_Client::POST)
219
+ ;
220
+ $response = $client->request();
221
+ if (!$response->isSuccessful()) {
222
+ Mage::throwException(
223
+ Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage())
224
+ );
225
+ }
226
+ $result->addData(
227
+ $this->_deformatNvp($response->getBody()));
228
+ $result->setNnNote($this->getNote($result));
229
+ $result->toUtf8();
230
+ return $result;
231
+ }
232
+
233
+ /**
234
+ * Get checkout
235
+ *
236
+ * @return Mage_Sales_Model_Quote
237
+ */
238
+ public function getQuote()
239
+ {
240
+ if (empty($this->_quote)) {
241
+ $this->_quote = $this->getCheckout()->getQuote();
242
+ }
243
+ return $this->_quote;
244
+ }
245
+ /**
246
+ * Get checkout
247
+ *
248
+ * @return Mage_Sales_Model_Order
249
+ */
250
+ public function getCheckout()
251
+ {
252
+ if (empty($this->_checkout)) {
253
+ $this->_checkout = Mage::getSingleton('checkout/session');
254
+ }
255
+ return $this->_checkout;
256
+ }
257
+
258
+ public function getTitle() {
259
+ //return $this->getConfigData('title');
260
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
261
+ }
262
+
263
+ public function isPublicIP($value)
264
+ {
265
+ if(!$value || count(explode('.',$value))!=4)
266
+ {
267
+ return false;
268
+ }
269
+ return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
270
+ }
271
+
272
+ public function getRealIpAddr()
273
+ {
274
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
275
+ {
276
+ return $_SERVER['HTTP_X_FORWARDED_FOR'];
277
+ }
278
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
279
+ {
280
+ if($this->isPublicIP($iplist[0])) return $iplist[0];
281
+ }
282
+ if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
283
+ {
284
+ return $_SERVER['HTTP_CLIENT_IP'];
285
+ }
286
+ if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
287
+ {
288
+ return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
289
+ }
290
+ if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
291
+ {
292
+ return $_SERVER['HTTP_FORWARDED_FOR'];
293
+ }
294
+ return $_SERVER['REMOTE_ADDR'];
295
+ }
296
+
297
+ public function getNote($result)
298
+ {
299
+ $helper = Mage::helper('novalnet');
300
+ $note = NULL;
301
+ $note .= "<b>".$helper->__('Please transfer the invoice amount with the following information to our payment provider Novalnet AG')."</b><br />";
302
+
303
+ $note .= $helper->__('Account Holder2') . ":<b>NOVALNET AG</b><br />";
304
+ $note .= $helper->__('Account Number') . ":<b>" . $result->getInvoiceAccount() . "</b><br />";
305
+ $note .= $helper->__('Bank Sorting Code') . ":<b>" . $result->getInvoiceBankcode() . "</b><br />";
306
+ $note .= $helper->__('Bank') . ":<b>" . $result->getInvoiceBankname() . ", Muenchen</b><br />";
307
+ $note .= $helper->__('Amount') . ":<b>" . str_replace('.', ',', $result->getAmount()) . " EUR</b><br />";
308
+ $note .= $helper->__('Reference') . ":<b>TID " . $result->getTid() . "</b><br />";
309
+ $note .= $helper->__('Only for foreign transfers') . ":<br />";
310
+ $note .= "IBAN: <b>" . $result->getInvoiceIban() . "</b>";
311
+ $note .= "SWIFT/BIC: <b>" . $result->getInvoiceBic() . "</b><br />";
312
+ return $note;
313
+ }
314
+
315
+ private function _deformatNvp($query) {
316
+ $deformated = array();
317
+ if(strlen($query)){
318
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
319
+ foreach($tmp as $k){
320
+ $k = explode('=', $k);
321
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
322
+ }
323
+ }
324
+ return $deformated;
325
+ }
326
+
327
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
328
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
329
+ $request->setVendor($this->getConfigData('merchant_id'))
330
+ ->setAuthCode($this->getConfigData('auth_code'))
331
+ ->setProduct(
332
+ (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
333
+ ?$this->getConfigData('second_product_id')
334
+ :$this->getConfigData('product_id')
335
+ )
336
+ ->setTariff(
337
+ (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
338
+ ?$this->getConfigData('second_tariff_id')
339
+ :$this->getConfigData('tariff_id')
340
+ )
341
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
342
+ ->setKey($this->_nnPaymentId)
343
+ ;
344
+ }
345
+
346
+ private function _getOrderId(){
347
+ $info = $this->getInfoInstance();
348
+ if ($this->_isPlaceOrder()) {
349
+ return $info->getOrder()->getIncrementId();
350
+ } else {
351
+ if (!$info->getQuote()->getReservedOrderId()) {
352
+ $info->getQuote()->reserveOrderId();
353
+ }
354
+ return $info->getQuote()->getReservedOrderId();
355
+ }
356
+ }
357
+
358
+ private function _getAmount() {
359
+ $info = $this->getInfoInstance();
360
+ if ($this->_isPlaceOrder()) {
361
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
362
+ } else {
363
+ return (double)$info->getQuote()->getBaseGrandTotal();
364
+ }
365
+ }
366
+
367
+ private function _isPlaceOrder() {
368
+ $info = $this->getInfoInstance();
369
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
370
+ return false;
371
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
372
+ return true;
373
+ }
374
+ }
375
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Model/NovalnetSecure.php CHANGED
@@ -1,274 +1,224 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
-
30
- class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
31
- {
32
- const CGI_URL = 'https://payport.novalnet.de/global_pci_payport';
33
- const PAYMENT_METHOD = '3D-Secure Credit Card';
34
- const RESPONSE_DELIM_CHAR = '&';
35
- const RESPONSE_CODE_APPROVED = 100;
36
- var $_debug = false;
37
- /**
38
- * unique internal payment method identifier
39
- *
40
- * @var string [a-z0-9_]
41
- */
42
- protected $_code = 'novalnet_secure';
43
- protected $_formBlockType = 'novalnet/cc_form';
44
- protected $_infoBlockType = 'novalnet/cc_info';
45
-
46
- /**
47
- * Is this payment method a gateway (online auth/charge) ?
48
- */
49
- protected $_isGateway = true;
50
-
51
- /**
52
- * Can authorize online?
53
- */
54
- protected $_canAuthorize = true;
55
-
56
- /**
57
- * Can capture funds online?
58
- */
59
- protected $_canCapture = true; #important; default: false
60
-
61
- /**
62
- * Can capture partial amounts online?
63
- */
64
- protected $_canCapturePartial = true;
65
-
66
- /**
67
- * Can refund online?
68
- */
69
- protected $_canRefund = false;
70
-
71
- /**
72
- * Can void transactions online?
73
- */
74
- protected $_canVoid = false;
75
-
76
- /**
77
- * Can use this payment method in administration panel?
78
- */
79
- protected $_canUseInternal = true;
80
-
81
- /**
82
- * Can show this payment method as an option on checkout payment page?
83
- */
84
- protected $_canUseCheckout = true;
85
-
86
- /**
87
- * Is this payment method suitable for multi-shipping checkout?
88
- */
89
- protected $_canUseForMultishipping = false;
90
-
91
- /**
92
- * Can save credit card information for future processing?
93
- */
94
- protected $_canSaveCc = false;
95
-
96
- /**
97
- * Here you will need to implement authorize, capture and void public methods
98
- *
99
- * @see examples of transaction specific public methods such as
100
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
101
- */
102
- public function authorize(Varien_Object $payment, $amount)
103
- {
104
- return $this;
105
- }
106
- public function capture(Varien_Object $payment, $amount)
107
- {
108
- $order = $payment->getOrder();
109
- if ($order->getCustomerNote())
110
- {
111
- #$note = '<br />';
112
- $note = Mage::helper('novalnet')->__('Comment').': ';
113
- $note .= $order->getCustomerNote();
114
- $order->setCustomerNote($note);
115
- $order->setCustomerNoteNotify(true);
116
- }
117
-
118
- $session = Mage::getSingleton('checkout/session');
119
- #$session->setCcNumber(Mage::helper('core')->encrypt($payment->getCcNumber()));
120
- $session->setcc_no(Mage::helper('core')->encrypt($payment->getCcNumber()));
121
- $session->setCcCid(Mage::helper('core')->encrypt($payment->getCcCid()));
122
- $session->setcc_exp_month(Mage::helper('core')->encrypt($payment->getCcExpMonth()));
123
- $session->setcc_exp_year(Mage::helper('core')->encrypt($payment->getCcExpYear()));
124
- $session->setcc_cvc2(Mage::helper('core')->encrypt($payment->getCcCid()));
125
- $session->setcc_holder(Mage::helper('core')->encrypt($payment->getCcOwner()));
126
-
127
- return $this;
128
- }
129
- public function refund(Varien_Object $payment, $amount)
130
- {
131
- return $this;
132
- }
133
-
134
- public function void(Varien_Object $payment)
135
- {
136
- return $this;
137
- }
138
- /**
139
- * Prepare request to gateway
140
- *
141
- * @link http://www.authorize.net/support/AIM_guide.pdf
142
- * @param Mage_Sales_Model_Document $order
143
- * @return unknown
144
- */
145
-
146
-
147
-
148
- public function getBookingReference()
149
- {
150
- return $this->getConfigData('booking_reference');
151
- }
152
-
153
-
154
- public function getTitle()
155
- {
156
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
157
- }
158
-
159
- public function getOrder()
160
- {
161
- if (!$this->_order) {
162
- $paymentInfo = $this->getInfoInstance();
163
- $this->_order = Mage::getModel('sales/order')
164
- ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
165
- }
166
- return $this->_order;
167
- }
168
-
169
- public function getFormFields()
170
- {
171
- $billing = $this->getOrder()->getBillingAddress();
172
- $payment = $this->getOrder()->getPayment();
173
-
174
- $fieldsArr = array();
175
- $session = Mage::getSingleton('checkout/session');
176
- $paymentInfo = $this->getInfoInstance();
177
- $order = $this->getOrder();
178
- $fieldsArr['vendor'] = $this->getConfigData('merchant_id');
179
- $fieldsArr['auth_code'] = $this->getConfigData('auth_code');
180
- $fieldsArr['key'] = 6;
181
- $fieldsArr['product'] = $this->getConfigData('product_id');
182
- $fieldsArr['tariff'] = $this->getConfigData('tariff_id');
183
- $fieldsArr['amount'] = ($order->getBaseGrandTotal()*100);
184
- $fieldsArr['test_mode'] = (!$this->getConfigData('live_mode'))? 1: 0;
185
- $fieldsArr['currency'] = $order->getOrderCurrencyCode();
186
- $fieldsArr['first_name']= $billing->getFirstname();
187
- $fieldsArr['last_name'] = $billing->getLastname();
188
- $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
189
- $fieldsArr['street'] = $billing->getStreet(1);
190
- $fieldsArr['search_in_street'] = 1;
191
- $fieldsArr['city'] = $billing->getCity();
192
- $fieldsArr['zip'] = $billing->getPostcode();
193
- $fieldsArr['country_code'] = $billing->getCountry();
194
- $fieldsArr['lang'] = $billing->getLang();
195
- #$fieldsArr['remote_ip'] = $order->getRemoteIp();
196
- $fieldsArr['remote_ip'] = $this->getRealIpAddr();
197
- $fieldsArr['tel'] = $billing->getTelephone();
198
- $fieldsArr['fax'] = $billing->getFax();
199
- $fieldsArr['birth_date'] = $order->getRemoteIp();
200
- $fieldsArr['session'] = session_id();
201
- $fieldsArr['cc_holder'] = $payment->getCcOwner();
202
- $fieldsArr['cc_no'] = Mage::helper('core')->decrypt($session->getcc_no());
203
- $fieldsArr['cc_exp_month'] = $payment->getCcExpMonth();
204
- $fieldsArr['cc_exp_year'] = $payment->getCcExpYear();
205
- $fieldsArr['cc_cvc2'] = Mage::helper('core')->decrypt($session->getcc_cvc2());
206
- $fieldsArr['return_url'] = Mage::getUrl('novalnet/secure/success', array('_secure' => true));
207
- $fieldsArr['return_method'] = 'POST';
208
- $fieldsArr['error_return_url'] = Mage::getUrl('novalnet/secure/success', array('_secure' => true));;
209
- $fieldsArr['error_return_method'] = 'POST';
210
- $fieldsArr['input1'] = 'order_id';
211
- $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
212
- $session->setCcNumber('');
213
- $session->setCcCid();
214
- $request = '';
215
- foreach ($fieldsArr as $k=>$v) {
216
- $request .= '<' . $k . '>' . $v . '</' . $k . '>';
217
- }
218
- return $fieldsArr;
219
- }
220
-
221
- public function getOrderPlaceRedirectUrl()
222
- {
223
- return Mage::getUrl('novalnet/secure/redirect');
224
- }
225
-
226
- public function getNovalnetSecureUrl()
227
- {
228
- return self::CGI_URL;
229
- }
230
- public function isPublicIP($value)
231
- {
232
- if(!$value || count(explode('.',$value))!=4)
233
- {
234
- return false;
235
- }
236
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
237
- }
238
- public function getRealIpAddr()
239
- {
240
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
241
- {
242
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
243
- }
244
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
245
- {
246
- if($this->isPublicIP($iplist[0])) return $iplist[0];
247
- }
248
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
249
- {
250
- return $_SERVER['HTTP_CLIENT_IP'];
251
- }
252
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
253
- {
254
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
255
- }
256
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
257
- {
258
- return $_SERVER['HTTP_FORWARDED_FOR'];
259
- }
260
- return $_SERVER['REMOTE_ADDR'];
261
- }
262
- private function debug2($object, $filename, $debug)
263
- {
264
- if (!$this->_debug and !$debug){return;}
265
- $fh = fopen("/tmp/$filename", 'a+');
266
- if (gettype($object) == 'object' or gettype($object) == 'array'){
267
- fwrite($fh, serialize($object));
268
- }else{
269
- fwrite($fh, date('Y-m-d H:i:s').' '.$object);
270
- }
271
- fwrite($fh, "<hr />\n");
272
- fclose($fh);
273
- }
274
  }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+
30
+ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
31
+ {
32
+ const CGI_URL = 'https://payport.novalnet.de/global_pci_payport';
33
+ const PAYMENT_METHOD = '3D-Secure Credit Card';
34
+ const RESPONSE_CODE_APPROVED = 100;
35
+ const RESPONSE_CODE_ABORT = 20;
36
+
37
+ private $_nnPaymentId = 6;
38
+
39
+ /**
40
+ * unique internal payment method identifier
41
+ *
42
+ * @var string [a-z0-9_]
43
+ */
44
+ protected $_code = 'novalnet_secure';
45
+ protected $_formBlockType = 'novalnet/secure_form';
46
+ protected $_infoBlockType = 'novalnet/secure_info';
47
+
48
+ /**
49
+ * Is this payment method a gateway (online auth/charge) ?
50
+ */
51
+ protected $_isGateway = true;
52
+
53
+ /**
54
+ * Can authorize online?
55
+ */
56
+ protected $_canAuthorize = true;
57
+
58
+ /**
59
+ * Can capture funds online?
60
+ */
61
+ protected $_canCapture = true;
62
+
63
+ /**
64
+ * Can capture partial amounts online?
65
+ */
66
+ protected $_canCapturePartial = true;
67
+
68
+ /**
69
+ * Can refund online?
70
+ */
71
+ protected $_canRefund = false;
72
+
73
+ /**
74
+ * Can void transactions online?
75
+ */
76
+ protected $_canVoid = false;
77
+
78
+ /**
79
+ * Can use this payment method in administration panel?
80
+ */
81
+ protected $_canUseInternal = true;
82
+
83
+ /**
84
+ * Can show this payment method as an option on checkout payment page?
85
+ */
86
+ protected $_canUseCheckout = true;
87
+
88
+ /**
89
+ * Is this payment method suitable for multi-shipping checkout?
90
+ */
91
+ protected $_canUseForMultishipping = false;
92
+
93
+ /**
94
+ * Can save credit card information for future processing?
95
+ */
96
+ protected $_canSaveCc = false;
97
+
98
+ protected $_isInitializeNeeded = true;
99
+
100
+ /**
101
+ * Instantiate state and set it to state object
102
+ * @param string $paymentAction
103
+ * @param Varien_Object
104
+ */
105
+ public function initialize($paymentAction, $stateObject)
106
+ {
107
+ $paymentInfo = $this->getInfoInstance();
108
+ $session = Mage::getSingleton('checkout/session');
109
+ $session->setCcNo(Mage::helper('core')->encrypt($paymentInfo->getCcNumber()));
110
+ $session->setCcCvc2(Mage::helper('core')->encrypt($paymentInfo->getCcCid()));
111
+ }
112
+
113
+ public function getBookingReference()
114
+ {
115
+ return $this->getConfigData('booking_reference');
116
+ }
117
+
118
+ public function getTitle() {
119
+ //return $this->getConfigData('title');
120
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
121
+ }
122
+
123
+ public function getFormData()
124
+ {
125
+ $dataObj = new Varien_Object();
126
+ $order = $this->getInfoInstance()->getOrder();
127
+ $amount = (round($order->getBaseGrandTotal(), 2) * 100);
128
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
129
+ $billing = $order->getBillingAddress();
130
+ $session = Mage::getSingleton('checkout/session');
131
+ $payment = $order->getPayment();
132
+
133
+ $objQuote = $objQuote = Mage::getModel( 'sales/quote' );
134
+ $objQuote->setStoreId($order->getStoreId())->load($order->getQuoteId());
135
+ $objQuotePayment = $objQuote->getPayment();
136
+ $objQuotePayment->setNnTestOrder((!$this->getConfigData('live_mode'))? 1: 0)->save();
137
+
138
+ $dataObj->setVendor($this->getConfigData('merchant_id'))
139
+ ->setVendorAuthcode($this->getConfigData('auth_code'))
140
+ ->setProduct(
141
+ ($manualCheckAmt || $manualCheckAmt<$amount)
142
+ ?$this->getConfigData('product_id')
143
+ :$this->getConfigData('second_product_id'))
144
+ ->setTariff(
145
+ ($manualCheckAmt || $manualCheckAmt<$amount)
146
+ ?$this->getConfigData('tariff_id')
147
+ :$this->getConfigData('second_tariff_id'))
148
+ ->setAmount($amount)
149
+ ->setKey($this->_nnPaymentId)
150
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
151
+ ->setCurrency($order->getOrderCurrencyCode())
152
+ ->setFirstName($billing->getFirstname())
153
+ ->setLastName($billing->getLastname())
154
+ ->setEmail($order->getCustomerEmail())
155
+ ->setStreet($billing->getStreet(1))
156
+ ->setSearchInStreet(1)
157
+ ->setCity($billing->getCity())
158
+ ->setZip($billing->getPostcode())
159
+ ->setCountryCode($billing->getCountry())
160
+ ->setLang($billing->getLang())
161
+ ->setRemoteIp($this->getRealIpAddr())
162
+ ->setTel($billing->getTelephone())
163
+ ->setFax($billing->getFax())
164
+ ->setCcHolder($payment->getCcOwner())
165
+ ->setCcNo(Mage::helper('core')->decrypt($session->getCcNo()))
166
+ ->setCcExpMonth($payment->getCcExpMonth())
167
+ ->setCcExpYear($payment->getCcExpYear())
168
+ ->setCcCvc2(Mage::helper('core')->decrypt($session->getCcCvc2()))
169
+ ->setSession($session->getSessionId())
170
+ ->setReturnUrl(Mage::getUrl('novalnet/secure/success', array('_secure' => true)))
171
+ ->setReturnMethod('POST')
172
+ ->setErrorReturnUrl(Mage::getUrl('novalnet/secure/success', array('_secure' => true)))
173
+ ->setErrorReturnMethod('POST')
174
+ ->setOrderId($order->getRealOrderId())
175
+ ->setInput1('order_id')
176
+ ->setInputval1($order->getRealOrderId());
177
+
178
+ $session->unsCcNo()->unsCcCvc2();
179
+ return $dataObj;
180
+ }
181
+
182
+ public function getOrderPlaceRedirectUrl()
183
+ {
184
+ return Mage::getUrl('novalnet/secure/redirect');
185
+ }
186
+
187
+ public function getCgiUrl() {
188
+ return self::CGI_URL;
189
+ }
190
+
191
+ public function isPublicIP($value)
192
+ {
193
+ if(!$value || count(explode('.',$value))!=4)
194
+ {
195
+ return false;
196
+ }
197
+ return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
198
+ }
199
+
200
+ public function getRealIpAddr()
201
+ {
202
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
203
+ {
204
+ return $_SERVER['HTTP_X_FORWARDED_FOR'];
205
+ }
206
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
207
+ {
208
+ if($this->isPublicIP($iplist[0])) return $iplist[0];
209
+ }
210
+ if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
211
+ {
212
+ return $_SERVER['HTTP_CLIENT_IP'];
213
+ }
214
+ if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
215
+ {
216
+ return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
217
+ }
218
+ if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
219
+ {
220
+ return $_SERVER['HTTP_FORWARDED_FOR'];
221
+ }
222
+ return $_SERVER['REMOTE_ADDR'];
223
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  }
app/code/community/Mage/Novalnet/Model/Observer.php ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ class Mage_Novalnet_Model_Observer extends Mage_Payment_Model_Method_Abstract
5
+ {
6
+
7
+ const PAYMENT_METHOD = 'Credit Card';
8
+ protected $_nnPaymentId = 6;
9
+ protected $_code = 'novalnetCc';
10
+
11
+
12
+
13
+ /**
14
+ * Instantiate state and set it to state object
15
+ * @param string $paymentAction
16
+ * @param Varien_Object
17
+ */
18
+
19
+ public function getReturnURL()
20
+ {
21
+ return Mage::getUrl('novalnet/pci/success', array('_secure' => true));
22
+ }
23
+
24
+
25
+ //public function getFormData(Varien_Object $payment, $amount)
26
+ public function getFormData($observer)
27
+ {
28
+
29
+ $check_active = $this->getConfigData('active');
30
+
31
+ if($check_active=='1')
32
+ {
33
+
34
+ $get_user_email=Mage::getSingleton('customer/session')->getCustomer()->getEmail();
35
+
36
+ $dataObj = new Varien_Object();
37
+ $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
38
+ $items_collect_order = $dbc_collect_order->fetchAll("SELECT * FROM `sales_flat_quote_address` WHERE email='".$get_user_email."' and address_type='shipping' ORDER BY `address_id` DESC LIMIT 1");
39
+
40
+
41
+ $paymentid = $this->_nnPaymentId;
42
+ $paymentmethod = 'nn_cc_pci';
43
+ $vendorid = $this->getConfigData('merchant_id');
44
+ $vendorAuthcode = $this->getConfigData('auth_code');
45
+ $pid = $this->getConfigData('product_id');
46
+ $tid = $this->getConfigData('tariff_id');
47
+ $uniqid = uniqid();
48
+ $product2 = $this->getConfigData('second_product_id');
49
+ $tariff2 = $this->getConfigData('second_tariff_id');
50
+
51
+ $grand_total = Mage::getSingleton('checkout/session')->getQuote()->getGrandTotal();
52
+ $amount = (round($grand_total, 2) * 100);
53
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
54
+
55
+ if($manualCheckAmt && $manualCheckAmt>=$amount && $product2 && $tariff2) {
56
+ $pid = $this->getConfigData('second_product_id');
57
+ $tid = $this->getConfigData('second_tariff_id');
58
+ }
59
+
60
+
61
+ $test_mode = (!$this->getConfigData('live_mode'))? 1: 0;
62
+ $currencycode = Mage::app()->getStore()->getCurrentCurrencyCode();
63
+
64
+ $password = $this->getConfigData('password');
65
+ $order_status = $this->getConfigData('order_status');
66
+ $createinvoice = $this->getConfigData('createinvoice');
67
+
68
+ $firstname = $items_collect_order['0']['firstname'];
69
+ $lastname = $items_collect_order['0']['lastname'];
70
+ $email = $items_collect_order['0']['email'];
71
+ $street = $items_collect_order['0']['street'];
72
+ $SearchInStreet = '1';
73
+ $city = $items_collect_order['0']['city'];
74
+ $postcode = $items_collect_order['0']['postcode'];
75
+ $countryid = $items_collect_order['0']['country_id'];
76
+ $telephone = $items_collect_order['0']['telephone'];
77
+ $fax = $items_collect_order['0']['fax'];
78
+ $session = Mage::getSingleton('checkout/session')->getSessionId();
79
+
80
+ $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_flat_order` ORDER BY `entity_id` DESC LIMIT 1");
81
+ $last_main_order_id = $order_id_data['0']['increment_id'];
82
+
83
+ $returnURL = $this->getReturnURL();
84
+ $returnmethod = 'POST';
85
+ $errorreturnURL = $this->getReturnURL();
86
+ $errorreturnmethod = 'POST';
87
+ $input1 = 'order_id';
88
+ $Implementation = 'PHP_PCI';
89
+ $inputval1 = $last_main_order_id+1;
90
+
91
+ $dataObj->setVendorId($vendorid)
92
+ ->setVendorAuthcode($vendorAuthcode)
93
+ ->setProductId($pid)
94
+ ->setTariffId($tid)
95
+ ->setUniqid($uniqid)
96
+ ->setAmount($amount)
97
+ ->setTestMode($test_mode)
98
+ ->setPaymentId($paymentid)
99
+ ->setCurrency($currencycode)
100
+ ->setFirstname($firstname)
101
+ ->setLastname($lastname)
102
+ ->setEmail($email)
103
+ ->setStreet($street)
104
+ ->setSearchInStreet(1)
105
+ ->setCity($city)
106
+ ->setZip($postcode)
107
+ ->setCountryCode($countryid)
108
+ ->setLang()
109
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
110
+ ->setTel($telephone)
111
+ ->setFax($fax)
112
+ ->setSession($session)
113
+ ->setReturnUrl($returnURL)
114
+ ->setReturnMethod($returnmethod)
115
+ ->setErrorReturnUrl($errorreturnURL)
116
+ ->setErrorReturnMethod($errorreturnmethod)
117
+ ->setInput1($input1)
118
+ ->setImplementation($Implementation)
119
+ ->setInputval1($inputval1)
120
+ ->setIsIframe(1);
121
+
122
+ $session=Mage::getSingleton('checkout/session')->setNovalnetRealOrderId($inputval1);
123
+ $session=Mage::getSingleton('checkout/session')->setOrderId($inputval1);
124
+ $session=Mage::getSingleton('checkout/session')->setPassword($password);
125
+ $session=Mage::getSingleton('checkout/session')->setOrderStatus($order_status);
126
+ $session=Mage::getSingleton('checkout/session')->setCreateInvoice($createinvoice);
127
+ $session=Mage::getSingleton('checkout/session')->setNovalnetQuoteId($session->getQuoteId());
128
+
129
+
130
+ $this->importHashData($dataObj)
131
+ ->importEncodeData($dataObj);
132
+
133
+ $session=Mage::getSingleton('checkout/session')->setNnDataValue($dataObj);
134
+ return $dataObj;
135
+ }
136
+ }
137
+
138
+
139
+ public function importHashData($dataObj) {
140
+
141
+ $password = $this->getConfigData('password');
142
+ $hash = $this->generateHash($dataObj, $password);
143
+
144
+ if($hash == false) {
145
+ Mage::getSingleton('core/session')
146
+ ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
147
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
148
+ Mage::app()->getResponse()->setRedirect($url);
149
+ Mage::app()->getResponse()->sendResponse();
150
+ exit;
151
+ }
152
+
153
+ $dataObj->setHash($hash);
154
+
155
+ return $this;
156
+
157
+ }
158
+
159
+ public function importEncodeData($dataObj) {
160
+ $encoding =$this->encode($dataObj, $this->getConfigData('password'));
161
+ if($encoding != true) {
162
+ Mage::getSingleton('core/session')
163
+ ->addError('Die Methoden f&uuml;r die Verarbeitung von Zeichens&auml;tzen sind nicht verf&uuml;gbar!');
164
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
165
+ Mage::app()->getResponse()->setRedirect($url);
166
+ Mage::app()->getResponse()->sendResponse();
167
+ exit;
168
+ }
169
+ return $this;
170
+ }
171
+
172
+ public function generateHash($data, $key) {
173
+
174
+ if(!function_exists('md5') || $this->isEmptyString($key)) {
175
+ return false;
176
+ }
177
+ $hashFields = array('vendor_authcode', 'product_id', 'tariff_id', 'amount', 'test_mode', 'uniqid' );
178
+ $str = NULL;
179
+ foreach( $hashFields as $_value ) {
180
+ if($this->isEmptyString($data[$_value])) {
181
+ return false;
182
+ }
183
+ $str .= $data[$_value];
184
+ }
185
+ return md5($str . strrev($key));
186
+ }
187
+
188
+ public function encode(&$fields, $key) {
189
+
190
+
191
+ if(!function_exists('base64_encode') || !function_exists('pack') || !function_exists('crc32')) {
192
+ return false;
193
+ }
194
+ $toBeEncoded = array('vendor_authcode', 'product_id', 'tariff_id', 'test_mode', 'uniqid', 'amount');
195
+ foreach($toBeEncoded as $_value ) {
196
+ $data = $fields[$_value];
197
+ if($this->isEmptyString($data)) {
198
+ return false;
199
+ }
200
+ try {
201
+ $crc = sprintf('%u', crc32($data));//%u is a must for ccrc32 returns a signed value
202
+ $data = $crc."|".$data;
203
+ $data = bin2hex($data.$key);
204
+ $data = strrev(base64_encode($data));
205
+ $fields[$_value] = $data;
206
+ }catch(Exception $e) {
207
+ return false;
208
+ }
209
+ }
210
+ return true;
211
+ }
212
+
213
+ public function isEmptyString($str) {
214
+ $str = trim($str);
215
+ return !isset($str[0]);
216
+ }
217
+
218
+
219
+
220
+ }
221
+
222
+ ?>
app/code/community/Mage/Novalnet/Model/include_all.php DELETED
@@ -1,126 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category basic functions
23
- * @package Mage
24
- * @copyright Copyright (c) 2009 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
- $aShopSystems = array('oscommerce', 'xtcommerce', 'magento', 'zendcart');
29
- $aPaymentTypes = array('cc', 'elvgerman', 'elvaustria', 'instantbanktransfer', 'invoice', 'phonepayment', 'prepayment', '3dsecure');
30
- $aParamRequired4All = array('cgi_url', 'shopystem', 'paymenttype', 'merchant_id', 'auth_code', 'product_id', 'tariff_id');
31
-
32
-
33
- $hParamRequiredPerPaymenttype['cc'] = array('', '', '', '');
34
- $hParamOptionalPerPayment['cc'] = array(
35
- input1, #$order->getIncrementId();#order no.
36
- first_name,
37
- last_name,
38
- street,
39
- house_no,
40
- city,
41
- zip,
42
- country,
43
- tel,
44
- fax,
45
- remote_ip,
46
- gender,
47
- email,
48
- cc_no,
49
- cc_exp_month,
50
- cc_exp_year,
51
- cc_cvc2,
52
- cc_holder,
53
- booking_reference,
54
- );
55
-
56
- function checkParamsRequired4All($hParams)
57
- {
58
- global $aParamRequired4All, $aShopSystems, $aPaymentTypes, $aMsg;
59
- foreach ($aParamRequired4All as $paramRequired)
60
- {
61
- if (!in_array($paramRequired, array_keys($hParams)))
62
- {
63
- $�aMsg[] = $paramRequired;
64
- }
65
- }
66
- }
67
-
68
- function checkShopSystem($shopsystem)
69
- {
70
- global $aParamRequired4All, $aShopSystems, $aMsg;
71
- if (!in_array($shopsystem, array_keys($aShopSystems)))
72
- {
73
- $�aMsg[] = $shopsystem.' unknown';
74
- }
75
- }
76
-
77
- function checkParamsByPaymentType($paymenttype)
78
- {
79
- global $aShopSystems, $aPaymentTypes
80
- }
81
-
82
- function isPublicIP($value)
83
- {
84
- if(!$value || count(explode('.',$value))!=4)
85
- {
86
- return false;
87
- }
88
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
89
- }
90
- function getRealIpAddr()
91
- {
92
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
93
- {
94
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
95
- }
96
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
97
- {
98
- if($this->isPublicIP($iplist[0])) return $iplist[0];
99
- }
100
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
101
- {
102
- return $_SERVER['HTTP_CLIENT_IP'];
103
- }
104
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
105
- {
106
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
107
- }
108
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
109
- {
110
- return $_SERVER['HTTP_FORWARDED_FOR'];
111
- }
112
- return $_SERVER['REMOTE_ADDR'];
113
- }
114
-
115
- function debug2($object, $filename)
116
- {
117
- if (!$this->debug){return;}
118
- $fh = fopen("/tmp/$filename", 'a+');
119
- if (gettype($object) == 'object' or gettype($object) == 'array'){
120
- fwrite($fh, serialize($object));
121
- }else{
122
- fwrite($fh, date('H:i:s').' '.$object);
123
- }
124
- fwrite($fh, "<hr />\n");
125
- fclose($fh);
126
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/controllers/InstantbanktransferController.php DELETED
@@ -1,339 +0,0 @@
1
- <?php
2
- class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_Front_Action
3
- {
4
- private $debug = false; #todo: set to false
5
- protected function _expireAjax()
6
- {
7
- if (!$this->getCheckout()->getQuote()->hasItems()) {
8
- $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
9
- exit;
10
- }
11
- }
12
-
13
- /**
14
- * Redirect Block
15
- * need to be redeclared
16
- */
17
- protected $_redirectBlockType = 'novalnet/instantbanktransfer_redirect';#path = block/instantbanktransfer/redirect.php
18
-
19
- /**
20
- * Get singleton of Checkout Session Model
21
- *
22
- * @return Mage_Checkout_Model_Session
23
- */
24
- public function getCheckout()
25
- {
26
- return Mage::getSingleton('checkout/session');
27
- }
28
-
29
- /**
30
- * when customer select novalnet payment method
31
- */
32
- public function redirectAction()
33
- {
34
- $session = $this->getCheckout();
35
- $session->setNovalnetQuoteId($session->getQuoteId());
36
- $session->setNovalnetRealOrderId($session->getLastRealOrderId());
37
-
38
- $order = Mage::getModel('sales/order');
39
- $order->loadByIncrementId($session->getLastRealOrderId());
40
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was redirected to Novalnet'));
41
-
42
- $note = $order->getCustomerNote();
43
- if ($note){
44
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
45
- }
46
- #if (!$this->getConfigData('live_mode')) {
47
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
48
- #}
49
- $order->setComment($note);
50
- $order->setCustomerNote($note);
51
- $order->setCustomerNoteNotify(true);
52
-
53
- $order->save();
54
- #update order status to pending
55
- $_SESSION['status_zh'] = $order->getStatus();
56
- $this->setOrderStatus($session->getLastRealOrderId(), 'pending');
57
-
58
- $this->getResponse()->setBody(
59
- $this->getLayout()
60
- ->createBlock($this->_redirectBlockType)
61
- ->setOrder($order)
62
- ->toHtml()
63
- );
64
-
65
- $session->unsQuoteId();
66
- }
67
-
68
- /**
69
- * novalnet returns POST variables to this action
70
- */
71
- public function successAction()
72
- {
73
- $status = $this->_checkReturnedPost();
74
-
75
- if ($status) {
76
- $session = $this->getCheckout();
77
-
78
- $session->unsNovalnetRealOrderId();
79
- $session->setQuoteId($session->getNovalnetQuoteId(true));
80
- $session->getQuote()->setIsActive(false)->save();
81
-
82
- $order = Mage::getModel('sales/order');
83
- $order->load($this->getCheckout()->getLastOrderId());
84
-
85
- $note = $order->getCustomerNote();
86
- if ($note){
87
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
88
- }
89
- #if ( !$this->getConfigData('live_mode') ){
90
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
91
- #}
92
- $order->setComment($note);
93
- $order->setCustomerNote($note);
94
- $order->setCustomerNoteNotify(true);
95
-
96
- if($order->getId()) {
97
- $order->sendNewOrderEmail();
98
- }
99
-
100
- #if ($status) {#removed to line 61
101
- $this->_redirect('checkout/onepage/success');
102
- } else {
103
- #$this->_redirect('checkout/onepage/failure');#ok, but not so good; $this->_redirect('*/*/failure');
104
- $this->_redirect('checkout/cart');#new; ok
105
- #$this->_redirect('checkout/shipping');#new; not ok, nor: 'checkout/payment'
106
- }
107
- }
108
-
109
- /**
110
- * Display failure page if error
111
- *
112
- */
113
- public function failureAction()
114
- {
115
- $status = $this->_checkReturnedPost();#new
116
- if (!$this->getCheckout()->getNovalnetErrorMessage()) {
117
- $this->norouteAction();
118
- #$this->_redirect('checkout/onepage/payment');
119
- return;
120
- }
121
-
122
- $this->loadLayout();
123
- $this->renderLayout();
124
- }
125
-
126
- /**
127
- * Checking POST variables.
128
- * Creating invoice if payment was successfull or cancel order if payment was declined
129
- */
130
- protected function _checkReturnedPost()
131
- {
132
- if (!$this->getRequest()->isPost()) {
133
- $this->norouteAction();
134
- return;
135
- }
136
- $status = true;
137
- $response = $this->getRequest()->getPost();
138
- //error_log(print_r($response,true),3,'/tmp/magento_response.log');
139
-
140
- if ($response['status'] == 100){
141
- $response['status'] = $this->checkParams($response);
142
- $response['amount'] = $this->decode($response['amount'], $_SESSION['mima']);
143
- if (preg_match('/\D/', $response['amount'], $aMatch)){
144
- $response['status'] = '93'; #decode amount failed
145
- }
146
- }
147
-
148
- $order = Mage::getModel('sales/order');
149
- $order->loadByIncrementId($response['inputval1']);#order_id;
150
- $payment = $order->getPayment();
151
- $paymentInst = $payment->getMethodInstance();
152
-
153
- $paymentInst->setResponse($response);
154
-
155
- if ($response['status'] == 100 ) {
156
- // if ($order->canInvoice()) {
157
- $invoice = $order->prepareInvoice();
158
- $invoice->register()->capture();
159
- Mage::getModel('core/resource_transaction')
160
- ->addObject($invoice)
161
- ->addObject($invoice->getOrder())
162
- ->save();
163
-
164
- $paymentInst->setTransactionId($response['tid']);
165
- $payment->setLastTransId($response['tid']);
166
- $payment->setCcTransId($response['tid']);
167
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'));
168
- if ( $this->decode($response['test_mode'], $_SESSION['mima'])) {
169
- $note = '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
170
- $order->addStatusToHistory($order->getStatus(), $note);
171
- }
172
-
173
- $note = $order->getCustomerNote();
174
- if ($note){
175
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
176
- }
177
- if ( $this->decode($response['test_mode'], $_SESSION['mima'])) {
178
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
179
- }
180
- $order->setComment($note);
181
- $order->setCustomerNote($note);
182
- $order->setCustomerNoteNotify(true);
183
-
184
- $order->save();
185
- $this->setOrderStatus($response['inputval1'], $_SESSION['status_zh']);#new
186
- unset($_SESSION['status_zh']);
187
- //}
188
- } else {#failed
189
- $paymentInst->setTransactionId($response['tid']);
190
- $payment->setLastTransId($response['tid']);
191
- $payment->setCcTransId($response['tid']);
192
-
193
- if ($response['status'] == 94)
194
- {
195
- Mage::getSingleton('checkout/session')->addError("Customer aborted payment process");#new
196
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer aborted payment process'));
197
- }elseif ($response['status'] >= 90 or $response['status'] <= 93) {#check encoded params failure
198
- Mage::getSingleton('checkout/session')->addError("Check encoded params failure");#new
199
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Check encoded params failure'));
200
- $response['status_text'] = 'Check encoded params failure';
201
- }
202
- else
203
- {
204
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was rejected by Novalnet'));
205
- }
206
- #$order->addStatusToHistory(Mage_Sales_Model_Order::STATE_CANCELED, "Failure:'No extra information'");#new
207
- $order->cancel();
208
- $status = false;
209
- $this->getCheckout()->setNovalnetErrorMessage($response['status_text']);
210
- $order->save();
211
- $this->deleteOrder($increment_id = $response['inputval1']);#new
212
- }
213
- return $status;
214
- }
215
-
216
- private function debug2($object, $filename, $debug = false)
217
- {
218
- if (!$this->debug and !$debug){return;}
219
- $fh = fopen("/tmp/$filename", 'a+');
220
- if (gettype($object) == 'object' or gettype($object) == 'array'){
221
- fwrite($fh, serialize($object));
222
- }else{
223
- fwrite($fh, date('H:i:s').' '.$object);
224
- }
225
- fwrite($fh, "<hr />\n");
226
- fclose($fh);
227
- }
228
-
229
- private function deleteOrder($increment_id)
230
- {
231
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
232
- #$conn = Mage::getResourceSingleton('core/resource')->getConnection('core_write');
233
- $query = "select entity_id from sales_order_entity where increment_id='$increment_id';";
234
- if ($result = $conn->query($query))
235
- {
236
- if ($rows = $result->fetch(PDO::FETCH_ASSOC))
237
- {
238
- $order_id = $row['entity_id'];
239
- $query = "delete from sales_order_entity where entity_id='$order_id' or parent_id='$order_id';";
240
- $conn->query($query);
241
- }
242
- }
243
- $query = "delete from sales_order where increment_id='$increment_id';";
244
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
245
- $conn->query($query);
246
- }
247
-
248
- private function checkParams($response){
249
- $status = 90;
250
-
251
- if (!$response['hash2']){
252
- return'90';
253
- }
254
- if (!$this->checkHash($response, $_SESSION['mima'])){
255
- return'91';
256
- }
257
- if (!preg_match('/\D/', $response['amount'], $aMatch)){
258
- return'92';
259
- }
260
- return'100';
261
- }
262
- function hash($h, $key)#$h contains encoded data
263
- {
264
- if (!$h) return'Error: no data';
265
- if (!function_exists('md5')){return'Error: func n/a';}
266
- return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
267
- }
268
- function checkHash($request, $key)
269
- {
270
- if (!$request) return false; #'Error: no data';
271
- $h['auth_code'] = $request['auth_code'];#encoded
272
- $h['product_id'] = $request['product']; #encoded
273
- $h['tariff'] = $request['tariff']; #encoded
274
- $h['amount'] = $request['amount']; #encoded
275
- $h['test_mode'] = $request['test_mode'];#encoded
276
- $h['uniqid'] = $request['uniqid']; #encoded
277
-
278
- if ($request['hash2'] != $this->hash($h, $key)){
279
- return false;
280
- }
281
- return true;
282
- }
283
- function decode($data, $key)
284
- {
285
- $data = trim($data);
286
- if ($data == '') {return'Error: no data';}
287
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
288
-
289
- try {
290
- $data = base64_decode(strrev($data));
291
- $data = pack("H".strlen($data), $data);
292
- $data = substr($data, 0, stripos($data, $key));
293
- $pos = strpos($data, "|");
294
- if ($pos === false){
295
- return("Error: CKSum not found!");
296
- }
297
- $crc = substr($data, 0, $pos);
298
- $value = trim(substr($data, $pos+1));
299
- if ($crc != sprintf('%u', crc32($value))){
300
- return("Error; CKSum invalid!");
301
- }
302
- return $value;
303
- }catch (Exception $e){
304
- echo('Error: '.$e);
305
- }
306
- }
307
- function setOrderStatus($orderId, $status){
308
- #$status = 'pending';
309
- $sql = "select * from sales_order_entity_varchar where entity_id in ( select entity_id from sales_order_entity where parent_id = (SELECT entity_id FROM `sales_order` WHERE increment_id = '$orderId') and entity_type_id = 17 /*sales_order_history*/ order by updated_at desc) and attribute_id = 559 /*status*/;";
310
- #$this->debug2($sql, $filename='ibt_sql.txt', $debug = true);
311
- $aAll = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
312
- if ($aAll){
313
- foreach($aAll as $h){#set sales_order_history status to open
314
- $sql = "update sales_order_entity_varchar set value = '$status' where value_id = '".$h['value_id']."'";
315
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
316
- $conn->query($sql);
317
- }
318
- }
319
-
320
- $sql = "select * from sales_order_varchar where entity_id in (SELECT entity_id FROM `sales_order` WHERE increment_id = '$orderId') and (attribute_id = 215 /*status*/)";#or attribute_id = 553 /*state*/
321
- #$this->debug2($sql, $filename='ibt_sql.txt', $debug = true);
322
- $aAll = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
323
- if ($aAll){
324
- foreach($aAll as $h){#set sales_order_status to open
325
- $sql = "update sales_order_varchar set value = '$status' where value_id = '".$h['value_id']."'";
326
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
327
- $conn->query($sql);
328
- }
329
- }
330
- }
331
- /*order of func
332
- 19:30:01 redirectAction<hr />controller
333
- 19:30:03 getFormFields<hr />
334
- 19:30:47 successAction<hr />controller
335
- 19:30:47 _checkReturnedPost<hr />controller
336
- 19:30:48 capture<hr />
337
- */
338
- }
339
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/controllers/InstantbanktransferController_orig.php DELETED
@@ -1,146 +0,0 @@
1
- <?php
2
- class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_Front_Action
3
- {
4
- protected function _expireAjax()
5
- {
6
- if (!$this->getCheckout()->getQuote()->hasItems()) {
7
- $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
8
- exit;
9
- }
10
- }
11
-
12
- /**
13
- * Redirect Block
14
- * need to be redeclared
15
- */
16
- protected $_redirectBlockType = 'novalnet/instantbanktransfer_redirect';#instantbanktransfer_redirect = block/instantbanktransfer/redirect.php
17
-
18
- /**
19
- * Get singleton of Checkout Session Model
20
- *
21
- * @return Mage_Checkout_Model_Session
22
- */
23
- public function getCheckout()
24
- {
25
- return Mage::getSingleton('checkout/session');
26
- }
27
-
28
- /**
29
- * when customer select novalnet payment method
30
- */
31
- public function redirectAction()
32
- {
33
- $session = $this->getCheckout();
34
- $session->setNovalnetQuoteId($session->getQuoteId());
35
- $session->setNovalnetRealOrderId($session->getLastRealOrderId());
36
-
37
- $order = Mage::getModel('sales/order');
38
- $order->loadByIncrementId($session->getLastRealOrderId());
39
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was redirected to Novalnet.'));
40
- $order->save();
41
-
42
- $this->getResponse()->setBody(
43
- $this->getLayout()
44
- ->createBlock($this->_redirectBlockType)
45
- ->setOrder($order)
46
- ->toHtml()
47
- );
48
-
49
- $session->unsQuoteId();
50
- }
51
-
52
- /**
53
- * novalnet returns POST variables to this action
54
- */
55
- public function successAction()
56
- {
57
- $status = $this->_checkReturnedPost();
58
-
59
- $session = $this->getCheckout();
60
-
61
- $session->unsNovalnetRealOrderId();
62
- $session->setQuoteId($session->getNovalnetQuoteId(true));
63
- $session->getQuote()->setIsActive(false)->save();
64
-
65
- $order = Mage::getModel('sales/order');
66
- $order->load($this->getCheckout()->getLastOrderId());
67
- if($order->getId()) {
68
- $order->sendNewOrderEmail();
69
- }
70
-
71
- if ($status) {
72
- $this->_redirect('checkout/onepage/success');
73
- } else {
74
- $this->_redirect('*/*/failure');
75
- }
76
- }
77
-
78
- /**
79
- * Display failure page if error
80
- *
81
- */
82
- public function failureAction()
83
- {
84
- if (!$this->getCheckout()->getNovalnetErrorMessage()) {
85
- $this->norouteAction();
86
- return;
87
- }
88
-
89
- $this->getCheckout()->clear();
90
-
91
- $this->loadLayout();
92
- $this->renderLayout();
93
- }
94
-
95
- /**
96
- * Checking POST variables.
97
- * Creating invoice if payment was successfull or cancel order if payment was declined
98
- */
99
- protected function _checkReturnedPost()
100
- {
101
- if (!$this->getRequest()->isPost()) {
102
- $this->norouteAction();
103
- return;
104
- }
105
- $status = true;
106
- $response = $this->getRequest()->getPost();
107
- //error_log(print_r($response,true),3,'/tmp/magento_response.log');
108
-
109
- $order = Mage::getModel('sales/order');
110
- $order->loadByIncrementId($response['inputval1']);
111
- $payment = $order->getPayment();
112
- $paymentInst = $payment->getMethodInstance();
113
-
114
- $paymentInst->setResponse($response);
115
-
116
- if ($response['status'] == 100 ) {
117
-
118
- // if ($order->canInvoice()) {
119
- $invoice = $order->prepareInvoice();
120
- $invoice->register()->capture();
121
- Mage::getModel('core/resource_transaction')
122
- ->addObject($invoice)
123
- ->addObject($invoice->getOrder())
124
- ->save();
125
-
126
- $paymentInst->setTransactionId($response['tid']);
127
- $payment->setLastTransId($response['tid']);
128
- $payment->setCcTransId($response['tid']);
129
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'));
130
- //}
131
- } else {
132
- $paymentInst->setTransactionId($response['tid']);
133
- $payment->setLastTransId($response['tid']);
134
- $payment->setCcTransId($response['tid']);
135
- $order->cancel();
136
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was rejected by Novalnet'));
137
- $status = false;
138
- $this->getCheckout()->setNovalnetErrorMessage($response['status_text']);
139
- }
140
-
141
- $order->save();
142
-
143
- return $status;
144
- }
145
- }
146
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/controllers/PciController.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Novalnet_PciController extends Mage_Core_Controller_Front_Action
3
+ {
4
+ protected $_responseText;
5
+
6
+ protected function _expireAjax()
7
+ {
8
+ if (!$this->getCheckout()->getQuote()->hasItems()) {
9
+ $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
10
+ exit;
11
+ }
12
+ }
13
+ /**
14
+ * Get singleton of Checkout Session Model
15
+ * @return Mage_Checkout_Model_Session
16
+ */
17
+ public function getCheckout()
18
+ {
19
+ return Mage::getSingleton('checkout/session');
20
+ }
21
+
22
+ /**
23
+ * when customer select novalnet payment method
24
+ */
25
+ public function redirectAction()
26
+ {
27
+ $session = $this->getCheckout();
28
+ $session->setNovalnetQuoteId($session->getQuoteId())
29
+ ->setNovalnetRealOrderId($session->getLastRealOrderId());
30
+ $order = Mage::getModel('sales/order')
31
+ ->loadByIncrementId($session->getLastRealOrderId());
32
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT)
33
+ ->addStatusToHistory(
34
+ Mage_Sales_Model_Order::STATE_HOLDED, #$order->getStatus(),
35
+ Mage::helper('novalnet')->__('Customer was redirected to Novalnet'),
36
+ true
37
+ )->save();
38
+
39
+ $this->getResponse()->setBody(
40
+ $this->getLayout()
41
+ ->createBlock($order->getPayment()->getMethodInstance()->getRedirectBlockType())
42
+ ->setOrder($order)
43
+ ->toHtml()
44
+ );
45
+ $session->unsQuoteId();
46
+ }
47
+ /**
48
+ * novalnet returns POST variables to this action
49
+ */
50
+ public function successAction()
51
+ {
52
+ if ($this->_checkReturnedPost()) {
53
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/success");
54
+ Mage::getSingleton('core/session')->addSuccess($this->_responseText);
55
+ } else {
56
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
57
+ Mage::getSingleton('core/session')->addError($this->_responseText);
58
+ }
59
+ Mage::app()->getResponse()->setRedirect($url);
60
+ Mage::app()->getResponse()->sendResponse();
61
+ exit;
62
+ }
63
+
64
+ /**
65
+ * Checking POST variables.
66
+ * Creating invoice if payment was successfull or cancel order if payment was declined
67
+ */
68
+ protected function _checkReturnedPost()
69
+ {
70
+ $status = false;
71
+ if (!$this->getRequest()->isPost()) {
72
+ $this->norouteAction();
73
+ return $status;
74
+ }
75
+ $response = $this->getRequest()->getPost();
76
+ $session = $this->getCheckout();
77
+ $dataObj = new Varien_Object($response);
78
+ if ($dataObj->hasOrderId()
79
+ && $session->hasNovalnetRealOrderId()
80
+ && $dataObj->getOrderId() == $session->getNovalnetRealOrderId()) {
81
+
82
+ $order = Mage::getModel('sales/order')->loadByIncrementId($dataObj->getOrderId());
83
+ $status=$order->getPayment()->getMethodInstance()->statusCheck($response,$session);
84
+ $this->_responseText = $response['status_desc'];
85
+ }
86
+ $session=Mage::getSingleton('checkout/session')->unsNnDataValue();
87
+ $session->unsOrderId();
88
+ return $status;
89
+ }
90
+ }
app/code/community/Mage/Novalnet/controllers/SecureController.php CHANGED
@@ -1,222 +1,160 @@
1
- <?php
2
- class Mage_Novalnet_SecureController extends Mage_Core_Controller_Front_Action
3
- {
4
- protected function _expireAjax()
5
- {
6
- if (!$this->getCheckout()->getQuote()->hasItems()) {
7
- $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
8
- exit;
9
- }
10
- }
11
-
12
- /**
13
- * Redirect Block
14
- * need to be redeclared
15
- */
16
- protected $_redirectBlockType = 'novalnet/secure_redirect';#secure_redirect = block/secure/redirect.php
17
-
18
- /**
19
- * Get singleton of Checkout Session Model
20
- *
21
- * @return Mage_Checkout_Model_Session
22
- */
23
- public function getCheckout()
24
- {
25
- return Mage::getSingleton('checkout/session');
26
- }
27
-
28
- /**
29
- * when customer select novalnet payment method
30
- */
31
- public function redirectAction()
32
- {
33
- $session = $this->getCheckout();
34
- $session->setNovalnetQuoteId($session->getQuoteId());
35
- $session->setNovalnetRealOrderId($session->getLastRealOrderId());
36
-
37
- $order = Mage::getModel('sales/order');
38
- $order->loadByIncrementId($session->getLastRealOrderId());
39
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was redirected to Novalnet.'));
40
- $order->save();
41
-
42
- #update order status to pending
43
- $_SESSION['status_zh'] = $order->getStatus();
44
- $this->setOrderStatus($session->getLastRealOrderId(), 'pending');
45
- $this->getResponse()->setBody(
46
- $this->getLayout()
47
- ->createBlock($this->_redirectBlockType)
48
- ->setOrder($order)
49
- ->toHtml()
50
- );
51
-
52
- $session->unsQuoteId();
53
- }
54
-
55
- /**
56
- * novalnet returns POST variables to this action
57
- */
58
- public function successAction()
59
- {
60
- global$response;
61
- $status = $this->_checkReturnedPost();
62
-
63
- $session = $this->getCheckout();
64
-
65
- $session->unsNovalnetRealOrderId();
66
- $session->setQuoteId($session->getNovalnetQuoteId(true));
67
- $session->getQuote()->setIsActive(false)->save();
68
-
69
- $order = Mage::getModel('sales/order');
70
- $order->load($this->getCheckout()->getLastOrderId());
71
- if($order->getId()) {
72
- $order->sendNewOrderEmail();
73
- }
74
-
75
- if ($status) {
76
- $this->setOrderStatus($response['inputval1'], $_SESSION['status_zh']);#new
77
- unset($_SESSION['status_zh']);
78
- $this->_redirect('checkout/onepage/success');
79
- } else {
80
- #$this->_redirect('*/*/failure');#orig
81
- #$this->_redirect('checkout/onepage/failure');#ok, but not so good; $this->_redirect('*/*/failure');
82
- $this->deleteOrder($increment_id = $response['inputval1']);#new
83
- $this->_redirect('checkout/cart');#new; ok
84
-
85
- }
86
- }
87
-
88
- /**
89
- * Display failure page if error
90
- *
91
- */
92
- public function failureAction()
93
- {
94
- if (!$this->getCheckout()->getNovalnetErrorMessage()) {
95
- $this->norouteAction();
96
- return;
97
- }
98
-
99
- $this->getCheckout()->clear();
100
-
101
- $this->loadLayout();
102
- $this->renderLayout();
103
- }
104
-
105
- /**
106
- * Checking POST variables.
107
- * Creating invoice if payment was successfull or cancel order if payment was declined
108
- */
109
- protected function _checkReturnedPost()
110
- {
111
- global$response;
112
- if (!$this->getRequest()->isPost()) {
113
- $this->norouteAction();
114
- return;
115
- }
116
- $status = true;
117
- $response = $this->getRequest()->getPost();
118
- //error_log(print_r($response,true),3,'/tmp/magento_response.log');
119
-
120
- $order = Mage::getModel('sales/order');
121
- $order->loadByIncrementId($response['inputval1']);
122
- $payment = $order->getPayment();
123
- $paymentInst = $payment->getMethodInstance();
124
-
125
- $paymentInst->setResponse($response);
126
-
127
- if ($response['status'] == 100 ) {
128
-
129
- // if ($order->canInvoice()) {
130
- $invoice = $order->prepareInvoice();
131
- $invoice->register()->capture();
132
- Mage::getModel('core/resource_transaction')
133
- ->addObject($invoice)
134
- ->addObject($invoice->getOrder())
135
- ->save();
136
-
137
- $paymentInst->setTransactionId($response['tid']);
138
- $payment->setLastTransId($response['tid']);
139
- $payment->setCcTransId($response['tid']);
140
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'));
141
-
142
- $note = $order->getCustomerNote();
143
- if ($note){
144
- $note = '<br />'.Mage::helper('novalnet')->__('Comment').': '.$note;
145
- }
146
- if ( $response['test_mode']) {
147
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnet')->__('Testorder')).'</font></b>';
148
- }
149
- $order->setCustomerNote($note);
150
- $order->setCustomerNoteNotify(true);
151
- $order->setComment($note);
152
- //}
153
- } else {
154
- $paymentInst->setTransactionId($response['tid']);
155
- $payment->setLastTransId($response['tid']);
156
- $payment->setCcTransId($response['tid']);
157
- $order->cancel();
158
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was rejected by Novalnet'));
159
- $status = false;
160
- $this->getCheckout()->setNovalnetErrorMessage($response['status_text']);
161
- }
162
-
163
- $order->save();
164
-
165
- return $status;
166
- }
167
- private function debug2($object, $filename, $debug)
168
- {
169
- if (!$debug){return;}
170
- $fh = fopen("/tmp/$filename", 'a+');
171
- if (gettype($object) == 'object' or gettype($object) == 'array'){
172
- fwrite($fh, serialize($object));
173
- }else{
174
- fwrite($fh, date('Y-m-d H:i:s').' '.$object);
175
- }
176
- fwrite($fh, "<hr />\n");
177
- fclose($fh);
178
- }
179
- private function deleteOrder($increment_id)
180
- {
181
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
182
- #$conn = Mage::getResourceSingleton('core/resource')->getConnection('core_write');
183
- $query = "select entity_id from sales_order_entity where increment_id='$increment_id';";
184
- if ($result = $conn->query($query))
185
- {
186
- if ($rows = $result->fetch(PDO::FETCH_ASSOC))
187
- {
188
- $order_id = $row['entity_id'];
189
- $query = "delete from sales_order_entity where entity_id='$order_id' or parent_id='$order_id';";
190
- $conn->query($query);
191
- }
192
- }
193
- $query = "delete from sales_order where increment_id='$increment_id';";
194
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
195
- $conn->query($query);
196
- }
197
- function setOrderStatus($orderId, $status){
198
- #$status = 'pending';
199
- $sql = "select * from sales_order_entity_varchar where entity_id in ( select entity_id from sales_order_entity where parent_id = (SELECT entity_id FROM `sales_order` WHERE increment_id = '$orderId') and entity_type_id = 17 /*sales_order_history*/ order by updated_at desc) and attribute_id = 559 /*status*/;";
200
- #$this->debug2($sql, $filename='ibt_sql.txt', $debug = true);
201
- $aAll = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
202
- if ($aAll){
203
- foreach($aAll as $h){#set sales_order_history status to open
204
- $sql = "update sales_order_entity_varchar set value = '$status' where value_id = '".$h['value_id']."'";
205
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
206
- $conn->query($sql);
207
- }
208
- }
209
-
210
- $sql = "select * from sales_order_varchar where entity_id in (SELECT entity_id FROM `sales_order` WHERE increment_id = '$orderId') and (attribute_id = 215 /*status*/)";#or attribute_id = 553 /*state*/
211
- #$this->debug2($sql, $filename='ibt_sql.txt', $debug = true);
212
- $aAll = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
213
- if ($aAll){
214
- foreach($aAll as $h){#set sales_order_status to open
215
- $sql = "update sales_order_varchar set value = '$status' where value_id = '".$h['value_id']."'";
216
- $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
217
- $conn->query($sql);
218
- }
219
- }
220
- }
221
- }
222
- ?>
1
+ <?php
2
+ class Mage_Novalnet_SecureController extends Mage_Core_Controller_Front_Action
3
+ {
4
+ protected function _expireAjax()
5
+ {
6
+ if (!$this->getCheckout()->getQuote()->hasItems()) {
7
+ $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
8
+ exit;
9
+ }
10
+ }
11
+
12
+ /**
13
+ * Redirect Block
14
+ * need to be redeclared
15
+ */
16
+ protected $_redirectBlockType = 'novalnet/secure_redirect';
17
+
18
+ /**
19
+ * Get singleton of Checkout Session Model
20
+ *
21
+ * @return Mage_Checkout_Model_Session
22
+ */
23
+ public function getCheckout()
24
+ {
25
+ return Mage::getSingleton('checkout/session');
26
+ }
27
+
28
+ private function _getConfigData($var)
29
+ {
30
+ return Mage::getModel( 'novalnet/novalnetSecure' )->getConfigData( $var );
31
+ }
32
+
33
+ /**
34
+ * when customer select novalnet payment method
35
+ */
36
+ public function redirectAction()
37
+ {
38
+ $session = $this->getCheckout();
39
+ $session->setNovalnetQuoteId($session->getQuoteId())
40
+ ->setNovalnetRealOrderId($session->getLastRealOrderId());
41
+
42
+ $order = Mage::getModel('sales/order')
43
+ ->loadByIncrementId($session->getLastRealOrderId());
44
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT)
45
+ ->addStatusToHistory(
46
+ Mage_Sales_Model_Order::STATE_HOLDED, #$order->getStatus(),
47
+ Mage::helper('novalnet')->__('Customer was redirected to Novalnet'),
48
+ true
49
+ )->save();
50
+
51
+ $this->getResponse()->setBody(
52
+ $this->getLayout()
53
+ ->createBlock($this->_redirectBlockType)
54
+ ->setOrder($order)
55
+ ->toHtml()
56
+ );
57
+ $session->unsQuoteId();
58
+ }
59
+
60
+ /**
61
+ * novalnet returns POST variables to this action
62
+ */
63
+ public function successAction()
64
+ {
65
+ if ($this->_checkReturnedPost()) {
66
+ $this->_redirect('checkout/onepage/success');
67
+ } else {
68
+ $this->_redirect('checkout/onepage/failure');
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Checking POST variables.
74
+ * Creating invoice if payment was successfull or cancel order if payment was declined
75
+ */
76
+ protected function _checkReturnedPost()
77
+ {
78
+ $status = false;
79
+ if (!$this->getRequest()->isPost()) {
80
+ $this->norouteAction();
81
+ return $status;
82
+ }
83
+ $session = $this->getCheckout();
84
+ $dataObj = new Varien_Object($this->getRequest()->getPost());
85
+ if ( $dataObj->hasOrderId()
86
+ && $session->hasNovalnetRealOrderId()
87
+ && $dataObj->getOrderId() == $session->getNovalnetRealOrderId())
88
+ {
89
+ $session->setQuoteId($session->getNovalnetQuoteId());
90
+ $session->getQuote()->setIsActive(false)->save();
91
+
92
+ $order = Mage::getModel('sales/order')
93
+ ->loadByIncrementId($dataObj->getOrderId());
94
+ $payment = $order->getPayment();
95
+
96
+ if ($dataObj->getStatus() == Mage_Novalnet_Model_NovalnetSecure::RESPONSE_CODE_APPROVED) {
97
+ $payment->setStatus(Mage_Novalnet_Model_NovalnetSecure::STATUS_SUCCESS)
98
+ ->setStatusDescription(Mage::helper('novalnet')->__('Payment was successful.'))
99
+ ->setTransactionId($dataObj->getTid())
100
+ ->setSuTransactionId($dataObj->getTid())
101
+ ->setLastTransId($dataObj->getTid());
102
+
103
+ $order->setPayment($payment);
104
+
105
+ if( $dataObj->hasTestMode() ) {
106
+ Mage::getModel( 'sales/quote' )
107
+ ->load($session->getNovalnetQuoteId())
108
+ ->getPayment()
109
+ ->setNnTestorder($dataObj->getTestMode())
110
+ ->save();
111
+ }
112
+
113
+ $invoice = $order->prepareInvoice();
114
+ $invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID)
115
+ ->register()
116
+ ->capture();
117
+ Mage::getModel('core/resource_transaction')
118
+ ->addObject($invoice)
119
+ ->addObject($invoice->getOrder())
120
+ ->save();
121
+
122
+ $order->addStatusToHistory(
123
+ $this->_getConfigData('order_status'),
124
+ Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'),
125
+ true
126
+ )->setState(Mage_Sales_Model_Order::STATE_PROCESSING)
127
+ ->save();
128
+ if ($order->getId()) {
129
+ $order->sendNewOrderEmail();
130
+ }
131
+ $status = true;
132
+ } else {
133
+ $payment->setStatus(Mage_Novalnet_Model_NovalnetSecure::STATUS_ERROR);
134
+ $payment->setStatusDescription(Mage::helper('novalnet')->__('Payment was fail.'));
135
+ $order->setPayment($payment);
136
+ if ($dataObj->getStatus() == 20){
137
+ $order->addStatusToHistory(
138
+ $order->getStatus(),
139
+ Mage::helper('novalnet')->__('Customer aborted payment process'),
140
+ true
141
+ );
142
+ } else {
143
+ $order->addStatusToHistory(
144
+ $order->getStatus(),
145
+ Mage::helper('novalnet')->__('Customer was rejected by Novalnet'),
146
+ true
147
+ );
148
+ }
149
+ $order->cancel()
150
+ ->save();
151
+ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED)->save();
152
+ Mage::getSingleton('checkout/session')
153
+ ->setErrorMessage($dataObj->getStatusText());
154
+ }
155
+ }
156
+ $session->unsNovalnetRealOrderId();
157
+ $session->unsNovalnetQuoteId();
158
+ return $status;
159
+ }
160
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/etc/config.xml CHANGED
@@ -1,228 +1,223 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <config>
3
- <global>
4
- <!-- declare model group for new module -->
5
- <models>
6
- <!-- model group alias to be used in Mage::getModel('newmodule/...') -->
7
- <novalnet>
8
- <!-- base class name for the model group -->
9
- <class>Mage_Novalnet_Model</class>
10
- </novalnet>
11
- </models>
12
- <fieldsets>
13
- <sales_convert_quote_payment>
14
- <nn_account_number>
15
- <to_order_payment>*</to_order_payment>
16
- </nn_account_number>
17
- <nn_bank_sorting_code>
18
- <to_order_payment>*</to_order_payment>
19
- </nn_bank_sorting_code>
20
- <nn_account_holder>
21
- <to_order_payment>*</to_order_payment>
22
- </nn_account_holder>
23
- <nn_elv_country>
24
- <to_order_payment>*</to_order_payment>
25
- </nn_elv_country>
26
- <id><to_order_payment>nn_id</to_order_payment></id>
27
- </sales_convert_quote_payment>
28
-
29
- <sales_convert_order_payment>
30
- <nn_account_number>
31
- <to_quote_payment>*</to_quote_payment>
32
- </nn_account_number>
33
- <nn_bank_sorting_code>
34
- <to_quote_payment>*</to_quote_payment>
35
- </nn_bank_sorting_code>
36
- <nn_account_holder>
37
- <to_quote_payment>*</to_quote_payment>
38
- </nn_account_holder>
39
- <nn_elv_country>
40
- <to_quote_payment>*</to_quote_payment>
41
- </nn_elv_country>
42
- </sales_convert_order_payment>
43
- </fieldsets>
44
- <models>
45
- <novalnet>
46
- <class>Mage_Novalnet_Model</class>
47
- </novalnet>
48
- </models>
49
- <!-- declare resource setup for new module -->
50
- <resources>
51
- <!-- resource identifier -->
52
- <novalnet_setup>
53
- <!-- specify that this resource is a setup resource and used for upgrades -->
54
- <setup>
55
- <!-- which module to look for install/upgrade files in -->
56
- <module>Mage_Novalnet</module>
57
- </setup>
58
- <!-- specify database connection for this resource -->
59
- <connection>
60
- <!-- do not create new connection, use predefined core setup connection -->
61
- <use>core_setup</use>
62
- </connection>
63
- </novalnet_setup>
64
- <novalnet_write>
65
- <use>core_write</use>
66
- </novalnet_write>
67
- <novalnet_read>
68
- <use>core_read</use>
69
- </novalnet_read>
70
- </resources>
71
- <helpers>
72
- <novalnet>
73
- <class>Mage_Novalnet_Helper</class>
74
- </novalnet>
75
- </helpers>
76
- </global>
77
-
78
- <adminhtml>
79
- <translate>
80
- <modules>
81
- <Mage_Novalnet>
82
- <files>
83
- <default>Mage_Novalnet.csv</default>
84
- </files>
85
- </Mage_Novalnet>
86
- </modules>
87
- </translate>
88
- </adminhtml>
89
-
90
- <frontend>
91
- <routers>
92
- <novalnet_secure>
93
- <use>standard</use>
94
- <args>
95
- <module>Mage_Novalnet</module>
96
- <frontName>novalnet</frontName>
97
- </args>
98
- </novalnet_secure>
99
- </routers>
100
- <translate>
101
- <modules>
102
- <Mage_Novalnet>
103
- <files>
104
- <default>Mage_Novalnet.csv</default>
105
- </files>
106
- </Mage_Novalnet>
107
- </modules>
108
- </translate>
109
- </frontend>
110
-
111
- <!-- declare default configuration values for this module -->
112
- <default>
113
- <!-- 'payment' configuration section (tab) -->
114
- <payment>
115
- <!-- 'novalnet' configuration group (fieldset) -->
116
- <novalnetCc>
117
- <cctypes>VI,MC</cctypes>
118
- <!-- by default this payment method is inactive -->
119
- <active>1</active>
120
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
121
- <!-- model to handle logic for this payment method -->
122
- <model>novalnet/novalnetCc</model>
123
- <!-- order status for new orders paid by this payment method -->
124
- <order_status>1</order_status>
125
- <payment_action>authorize_capture</payment_action>
126
- <allowspecific>0</allowspecific>
127
- <!-- default title for payment checkout page and order view page -->
128
- <title>Credit Card</title>
129
- </novalnetCc>
130
- <novalnet_secure>
131
- <cctypes>VI,MC</cctypes>
132
- <!-- by default this payment method is inactive -->
133
- <active>1</active>
134
- <cgi_url>https://payport.novalnet.de/global_pci_payport</cgi_url>
135
- <!-- model to handle logic for this payment method -->
136
- <model>novalnet/novalnetSecure</model>
137
- <!-- order status for new orders paid by this payment method -->
138
- <order_status>1</order_status>
139
- <payment_action>authorize_capture</payment_action>
140
- <allowspecific>0</allowspecific>
141
- <!-- default title for payment checkout page and order view page -->
142
- <title>Credit Card</title>
143
- </novalnet_secure>
144
- <novalnetElvgerman>
145
- <!-- by default this payment method is inactive -->
146
- <active>1</active>
147
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
148
- <!-- model to handle logic for this payment method -->
149
- <model>novalnet/novalnetElvgerman</model>
150
- <payment_action>authorize_capture</payment_action>
151
- <!-- order status for new orders paid by this payment method -->
152
- <order_status>1</order_status>
153
- <allowspecific>0</allowspecific>
154
- <!-- default title for payment checkout page and order view page -->
155
- <title>Direct Debit German</title>
156
- </novalnetElvgerman>
157
- <novalnetElvaustria>
158
- <!-- by default this payment method is inactive -->
159
- <active>1</active>
160
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
161
- <!-- model to handle logic for this payment method -->
162
- <model>novalnet/novalnetElvaustria</model>
163
- <payment_action>authorize_capture</payment_action>
164
- <!-- order status for new orders paid by this payment method -->
165
- <order_status>1</order_status>
166
- <allowspecific>0</allowspecific>
167
- <!-- default title for payment checkout page and order view page -->
168
- <title>Direct Debit Austria</title>
169
- </novalnetElvaustria>
170
- <novalnetPrepayment>
171
- <!-- by default this payment method is inactive -->
172
- <active>1</active>
173
- <prepaymentcountries>DE,AT</prepaymentcountries>
174
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
175
- <!-- model to handle logic for this payment method -->
176
- <model>novalnet/novalnetPrepayment</model>
177
- <payment_action>authorize_capture</payment_action>
178
- <!-- order status for new orders paid by this payment method -->
179
- <order_status>pending</order_status>
180
- <allowspecific>0</allowspecific>
181
- <!-- default title for payment checkout page and order view page -->
182
- <title>Prepayment</title>
183
- </novalnetPrepayment>
184
- <novalnetInvoice>
185
- <!-- by default this payment method is inactive -->
186
- <active>1</active>
187
- <invoicecountries>DE,AT</invoicecountries>
188
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
189
- <!-- model to handle logic for this payment method -->
190
- <model>novalnet/novalnetInvoice</model>
191
- <payment_action>authorize_capture</payment_action>
192
- <!-- order status for new orders paid by this payment method -->
193
- <order_status>pending</order_status>
194
- <allowspecific>0</allowspecific>
195
- <!-- default title for payment checkout page and order view page -->
196
- <title>Invoice</title>
197
- </novalnetInvoice>
198
- <novalnetPhonepayment>
199
- <!-- by default this payment method is inactive -->
200
- <active>1</active>
201
- <Phonepaymentcountries>DE,AT</Phonepaymentcountries>
202
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
203
- <!-- model to handle logic for this payment method -->
204
- <model>novalnet/novalnetPhonepayment</model>
205
- <payment_action>authorize_capture</payment_action>
206
- <!-- order status for new orders paid by this payment method -->
207
- <order_status>1</order_status>
208
- <allowspecific>0</allowspecific>
209
- <!-- default title for payment checkout page and order view page -->
210
- <title>Phonepayment</title>
211
- </novalnetPhonepayment>
212
- <novalnetInstantbanktransfer>
213
- <cctypes>VI,MC</cctypes>
214
- <!-- by default this payment method is inactive -->
215
- <active>1</active>
216
- <cgi_url>https://payport.novalnet.de/paygate.jsp</cgi_url>
217
- <!-- model to handle logic for this payment method -->
218
- <model>novalnet/novalnetInstantbanktransfer</model>
219
- <payment_action>authorize_capture</payment_action>
220
- <!-- order status for new orders paid by this payment method -->
221
- <order_status>1</order_status>
222
- <allowspecific>0</allowspecific>
223
- <!-- default title for payment checkout page and order view page -->
224
- <title>Instant Bank Transfer</title>
225
- </novalnetInstantbanktransfer>
226
- </payment>
227
- </default>
228
- </config>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <global>
4
+ <!-- declare model group for new module -->
5
+ <models>
6
+ <!-- model group alias to be used in Mage::getModel('newmodule/...') -->
7
+ <novalnet>
8
+ <!-- base class name for the model group -->
9
+ <class>Mage_Novalnet_Model</class>
10
+ </novalnet>
11
+ </models>
12
+ <fieldsets>
13
+ <sales_convert_quote_payment>
14
+ <nn_account_number><to_order_payment>*</to_order_payment></nn_account_number>
15
+ <nn_bank_sorting_code><to_order_payment>*</to_order_payment></nn_bank_sorting_code>
16
+ <nn_account_holder><to_order_payment>*</to_order_payment></nn_account_holder>
17
+ <nn_elv_country><to_order_payment>*</to_order_payment></nn_elv_country>
18
+ <nn_account_number_at><to_order_payment>*</to_order_payment></nn_account_number_at>
19
+ <nn_bank_sorting_code_at><to_order_payment>*</to_order_payment></nn_bank_sorting_code_at>
20
+ <nn_account_holder_at><to_order_payment>*</to_order_payment></nn_account_holder_at>
21
+ <nn_elv_country_at><to_order_payment>*</to_order_payment></nn_elv_country_at>
22
+ <nn_testorder><to_order_payment>*</to_order_payment></nn_testorder>
23
+ <nn_comments><to_order_payment>*</to_order_payment></nn_comments>
24
+ <id><to_order_payment>nn_id</to_order_payment></id>
25
+ </sales_convert_quote_payment>
26
+ <sales_convert_order_payment>
27
+ <nn_account_number><to_quote_payment>*</to_quote_payment></nn_account_number>
28
+ <nn_bank_sorting_code><to_quote_payment>*</to_quote_payment></nn_bank_sorting_code>
29
+ <nn_account_holder><to_quote_payment>*</to_quote_payment></nn_account_holder>
30
+ <nn_elv_country><to_quote_payment>*</to_quote_payment></nn_elv_country>
31
+ <nn_account_number_at><to_quote_payment>*</to_quote_payment></nn_account_number_at>
32
+ <nn_bank_sorting_code_at><to_quote_payment>*</to_quote_payment></nn_bank_sorting_code_at>
33
+ <nn_account_holder_at><to_quote_payment>*</to_quote_payment></nn_account_holder_at>
34
+ <nn_elv_country_at><to_quote_payment>*</to_quote_payment></nn_elv_country_at>
35
+ <nn_testorder><to_quote_payment>*</to_quote_payment></nn_testorder>
36
+ <nn_comments><to_quote_payment>*</to_quote_payment></nn_comments>
37
+ <id><to_quote_payment>nn_id</to_quote_payment></id>
38
+ </sales_convert_order_payment>
39
+ </fieldsets>
40
+ <!-- declare resource setup for new module -->
41
+ <resources>
42
+ <!-- resource identifier -->
43
+ <novalnet_setup>
44
+ <!-- specify that this resource is a setup resource and used for upgrades -->
45
+ <setup>
46
+ <!-- which module to look for install/upgrade files in -->
47
+ <module>Mage_Novalnet</module>
48
+ </setup>
49
+ <!-- specify database connection for this resource -->
50
+ <connection>
51
+ <!-- do not create new connection, use predefined core setup connection -->
52
+ <use>core_setup</use>
53
+ </connection>
54
+ </novalnet_setup>
55
+ <novalnet_write>
56
+ <use>core_write</use>
57
+ </novalnet_write>
58
+ <novalnet_read>
59
+ <use>core_read</use>
60
+ </novalnet_read>
61
+ </resources>
62
+ <helpers>
63
+ <novalnet>
64
+ <class>Mage_Novalnet_Helper</class>
65
+ </novalnet>
66
+ </helpers>
67
+ </global>
68
+ <adminhtml>
69
+ <translate>
70
+ <modules>
71
+ <Mage_Novalnet>
72
+ <files>
73
+ <default>Mage_Novalnet.csv</default>
74
+ </files>
75
+ </Mage_Novalnet>
76
+ </modules>
77
+ </translate>
78
+ </adminhtml>
79
+ <frontend>
80
+ <routers>
81
+ <novalnet_secure>
82
+ <use>standard</use>
83
+ <args>
84
+ <module>Mage_Novalnet</module>
85
+ <frontName>novalnet</frontName>
86
+ </args>
87
+ </novalnet_secure>
88
+ </routers>
89
+ <translate>
90
+ <modules>
91
+ <Mage_Novalnet>
92
+ <files>
93
+ <default>Mage_Novalnet.csv</default>
94
+ </files>
95
+ </Mage_Novalnet>
96
+ </modules>
97
+ </translate>
98
+ <events>
99
+ <payment_form_block_to_html_before>
100
+ <observers>
101
+ <Mage_Novalnet_Model_Observer>
102
+ <type>singleton</type>
103
+ <class>Mage_Novalnet_Model_Observer</class>
104
+ <method>getFormData</method>
105
+ </Mage_Novalnet_Model_Observer>
106
+ </observers>
107
+ </payment_form_block_to_html_before>
108
+ </events>
109
+ <layout>
110
+ <updates>
111
+ <novalnet>
112
+ <file>novalnet.xml</file>
113
+ </novalnet>
114
+ </updates>
115
+ </layout>
116
+ </frontend>
117
+ <!-- declare default configuration values for this module -->
118
+ <default>
119
+ <!-- 'payment' configuration section (tab) -->
120
+ <payment>
121
+ <!-- cc-start -->
122
+ <novalnetCc>
123
+ <cctypes>VI,MC</cctypes>
124
+ <!-- by default this payment method is inactive -->
125
+ <active>0</active>
126
+ <!-- model to handle logic for this payment method -->
127
+ <model>novalnet/novalnetCc</model>
128
+ <!-- order status for new orders paid by this payment method -->
129
+ <order_status>0</order_status>
130
+ <payment_action>authorize_capture</payment_action>
131
+ <allowspecific>0</allowspecific>
132
+ <!-- default title for payment checkout page and order view page -->
133
+ <title>Novalnet Credit Card</title>
134
+ <gateway_timeout>90</gateway_timeout>
135
+ </novalnetCc>
136
+ <novalnetElvgerman>
137
+ <active>0</active>
138
+ <model>novalnet/novalnetElvgerman</model>
139
+ <payment_action>authorize_capture</payment_action>
140
+ <order_status>0</order_status>
141
+ <allowspecific>0</allowspecific>
142
+ <title>Novalnet Direct Debit German</title>
143
+ <gateway_timeout>90</gateway_timeout>
144
+ </novalnetElvgerman>
145
+ <novalnetElvaustria>
146
+ <active>0</active>
147
+ <model>novalnet/novalnetElvaustria</model>
148
+ <payment_action>authorize_capture</payment_action>
149
+ <order_status>0</order_status>
150
+ <allowspecific>0</allowspecific>
151
+ <title>Novalnet Direct Debit Austria</title>
152
+ <gateway_timeout>90</gateway_timeout>
153
+ </novalnetElvaustria>
154
+ <novalnetPrepayment>
155
+ <active>0</active>
156
+ <prepaymentcountries>DE,AT</prepaymentcountries>
157
+ <model>novalnet/novalnetPrepayment</model>
158
+ <payment_action>authorize_capture</payment_action>
159
+ <order_status>0</order_status>
160
+ <allowspecific>0</allowspecific>
161
+ <title>Novalnet Prepayment</title>
162
+ <gateway_timeout>90</gateway_timeout>
163
+ </novalnetPrepayment>
164
+ <novalnetInvoice>
165
+ <active>0</active>
166
+ <invoicecountries>DE,AT</invoicecountries>
167
+ <model>novalnet/novalnetInvoice</model>
168
+ <payment_action>authorize_capture</payment_action>
169
+ <order_status>0</order_status>
170
+ <allowspecific>0</allowspecific>
171
+ <title>Novalnet Invoice</title>
172
+ <gateway_timeout>90</gateway_timeout>
173
+ </novalnetInvoice>
174
+ <novalnetPhonepayment>
175
+ <active>0</active>
176
+ <Phonepaymentcountries>DE,AT</Phonepaymentcountries>
177
+ <model>novalnet/novalnetPhonepayment</model>
178
+ <payment_action>authorize_capture</payment_action>
179
+ <order_status>0</order_status>
180
+ <allowspecific>0</allowspecific>
181
+ <title>Novalnet Phonepayment</title>
182
+ <gateway_timeout>90</gateway_timeout>
183
+ </novalnetPhonepayment>
184
+ <novalnet_secure>
185
+ <cctypes>VI,MC</cctypes>
186
+ <active>0</active>
187
+ <model>novalnet/novalnetSecure</model>
188
+ <order_status>0</order_status>
189
+ <payment_action>sale</payment_action>
190
+ <allowspecific>0</allowspecific>
191
+ <title>Novalnet Credit Card 3D-Secure</title>
192
+ </novalnet_secure>
193
+ <novalnetCcpci>
194
+ <cctypes>VI,MC</cctypes>
195
+ <active>0</active>
196
+ <payment_action>sale</payment_action>
197
+ <model>novalnet/novalnetCcpci</model>
198
+ <order_status>0</order_status>
199
+ <allowspecific>0</allowspecific>
200
+ <title>Novalnet Credit Card PCI</title>
201
+ <createinvoice>0</createinvoice>
202
+ </novalnetCcpci>
203
+ <novalnetElvdepci>
204
+ <active>0</active>
205
+ <payment_action>sale</payment_action>
206
+ <model>novalnet/novalnetElvdepci</model>
207
+ <order_status>0</order_status>
208
+ <allowspecific>0</allowspecific>
209
+ <title>Novalnet Direct Debit German PCI</title>
210
+ <createinvoice>0</createinvoice>
211
+ </novalnetElvdepci>
212
+ <novalnetElvatpci>
213
+ <active>0</active>
214
+ <payment_action>sale</payment_action>
215
+ <model>novalnet/novalnetElvatpci</model>
216
+ <order_status>0</order_status>
217
+ <allowspecific>0</allowspecific>
218
+ <title>Novalnet Direct Debit Austria PCI</title>
219
+ <createinvoice>0</createinvoice>
220
+ </novalnetElvatpci>
221
+ </payment>
222
+ </default>
223
+ </config>
 
 
 
 
 
app/code/community/Mage/Novalnet/etc/system.xml CHANGED
@@ -1,855 +1,1671 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <config>
3
- <sections>
4
- <!-- payment tab -->
5
- <payment>
6
- <groups>
7
- <novalnetElvgerman translate="label" module="novalnet">
8
- <!-- will have title 'New Module' -->
9
- <label>Direct Debit German</label>
10
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
11
- <!-- position between other payment methods -->
12
- <sort_order>680</sort_order>
13
- <!-- do not show this configuration options in store scope -->
14
- <show_in_default>1</show_in_default>
15
- <show_in_website>1</show_in_website>
16
- <show_in_store>0</show_in_store>
17
- <fields>
18
- <!-- is this payment method active for the website? -->
19
- <active translate="label">
20
- <!-- label for the field -->
21
- <label>Enabled</label>
22
- <!-- input type for configuration value -->
23
- <frontend_type>select</frontend_type>
24
- <!-- model to take the option values from -->
25
- <source_model>adminhtml/system_config_source_yesno</source_model>
26
- <!-- field position -->
27
- <sort_order>1</sort_order>
28
- <!-- do not show this field in store scope -->
29
- <show_in_default>1</show_in_default>
30
- <show_in_website>1</show_in_website>
31
- <show_in_store>0</show_in_store>
32
- </active>
33
- <order_status translate="label">
34
- <label>New order status</label>
35
- <frontend_type>select</frontend_type>
36
- <source_model>adminhtml/system_config_source_order_status</source_model>
37
- <sort_order>4</sort_order>
38
- <show_in_default>1</show_in_default>
39
- <show_in_website>1</show_in_website>
40
- <show_in_store>0</show_in_store>
41
- </order_status>
42
- <title translate="label">
43
- <label>Title</label>
44
- <frontend_type>text</frontend_type>
45
- <sort_order>2</sort_order>
46
- <show_in_default>1</show_in_default>
47
- <show_in_website>1</show_in_website>
48
- <show_in_store>0</show_in_store>
49
- </title>
50
- <merchant_id translate="label">
51
- <label>Novalnet Merchant ID</label>
52
- <frontend_type>text</frontend_type>
53
- <sort_order>5</sort_order>
54
- <show_in_default>1</show_in_default>
55
- <show_in_website>1</show_in_website>
56
- <show_in_store>0</show_in_store>
57
- </merchant_id>
58
- <auth_code translate="label">
59
- <label>Novalnet Auth Code</label>
60
- <frontend_type>text</frontend_type>
61
- <sort_order>6</sort_order>
62
- <show_in_default>1</show_in_default>
63
- <show_in_website>1</show_in_website>
64
- <show_in_store>0</show_in_store>
65
- </auth_code>
66
- <product_id translate="label">
67
- <label>Novalnet Product ID</label>
68
- <frontend_type>text</frontend_type>
69
- <sort_order>7</sort_order>
70
- <show_in_default>1</show_in_default>
71
- <show_in_website>1</show_in_website>
72
- <show_in_store>0</show_in_store>
73
- </product_id>
74
- <tariff_id translate="label">
75
- <label>Novalnet Tariff ID</label>
76
- <frontend_type>text</frontend_type>
77
- <sort_order>8</sort_order>
78
- <show_in_default>1</show_in_default>
79
- <show_in_website>1</show_in_website>
80
- <show_in_store>0</show_in_store>
81
- </tariff_id>
82
- <acdc_check translate="label">
83
- <label>ACDC Check</label>
84
- <frontend_type>select</frontend_type>
85
- <source_model>adminhtml/system_config_source_yesno</source_model>
86
- <sort_order>12</sort_order>
87
- <show_in_default>1</show_in_default>
88
- <show_in_website>1</show_in_website>
89
- <show_in_store>0</show_in_store>
90
- </acdc_check>
91
- <user_group_excluded translate="label">
92
- <label>User Group Excluded</label>
93
- <frontend_type>text</frontend_type>
94
- <sort_order>13</sort_order>
95
- <show_in_default>1</show_in_default>
96
- <show_in_website>1</show_in_website>
97
- <show_in_store>0</show_in_store>
98
- </user_group_excluded>
99
- <comment translate="label">
100
- <label>Notice for Clients</label>
101
- <frontend_type>textarea</frontend_type>
102
- <sort_order>14</sort_order>
103
- <show_in_default>1</show_in_default>
104
- <show_in_website>1</show_in_website>
105
- <show_in_store>0</show_in_store>
106
- </comment>
107
- <live_mode translate="label">
108
- <label>Live Mode</label>
109
- <frontend_type>select</frontend_type>
110
- <source_model>adminhtml/system_config_source_yesno</source_model>
111
- <sort_order>15</sort_order>
112
- <show_in_default>1</show_in_default>
113
- <show_in_website>1</show_in_website>
114
- <show_in_store>0</show_in_store>
115
- </live_mode>
116
- </fields>
117
- </novalnetElvgerman>
118
- <novalnetElvaustria translate="label" module="novalnet">
119
- <!-- will have title 'New Module' -->
120
- <label>Direct Debit Austria</label>
121
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
122
- <!-- position between other payment methods -->
123
- <sort_order>681</sort_order>
124
- <!-- do not show this configuration options in store scope -->
125
- <show_in_default>1</show_in_default>
126
- <show_in_website>1</show_in_website>
127
- <show_in_store>0</show_in_store>
128
- <fields>
129
- <!-- is this payment method active for the website? -->
130
- <active translate="label">
131
- <!-- label for the field -->
132
- <label>Enabled</label>
133
- <!-- input type for configuration value -->
134
- <frontend_type>select</frontend_type>
135
- <!-- model to take the option values from -->
136
- <source_model>adminhtml/system_config_source_yesno</source_model>
137
- <!-- field position -->
138
- <sort_order>1</sort_order>
139
- <!-- do not show this field in store scope -->
140
- <show_in_default>1</show_in_default>
141
- <show_in_website>1</show_in_website>
142
- <show_in_store>0</show_in_store>
143
- </active>
144
- <order_status translate="label">
145
- <label>New order status</label>
146
- <frontend_type>select</frontend_type>
147
- <source_model>adminhtml/system_config_source_order_status</source_model>
148
- <sort_order>4</sort_order>
149
- <show_in_default>1</show_in_default>
150
- <show_in_website>1</show_in_website>
151
- <show_in_store>0</show_in_store>
152
- </order_status>
153
- <title translate="label">
154
- <label>Title</label>
155
- <frontend_type>text</frontend_type>
156
- <sort_order>2</sort_order>
157
- <show_in_default>1</show_in_default>
158
- <show_in_website>1</show_in_website>
159
- <show_in_store>0</show_in_store>
160
- </title>
161
- <merchant_id translate="label">
162
- <label>Novalnet Merchant ID</label>
163
- <frontend_type>text</frontend_type>
164
- <sort_order>5</sort_order>
165
- <show_in_default>1</show_in_default>
166
- <show_in_website>1</show_in_website>
167
- <show_in_store>0</show_in_store>
168
- </merchant_id>
169
- <auth_code translate="label">
170
- <label>Novalnet Auth Code</label>
171
- <frontend_type>text</frontend_type>
172
- <sort_order>6</sort_order>
173
- <show_in_default>1</show_in_default>
174
- <show_in_website>1</show_in_website>
175
- <show_in_store>0</show_in_store>
176
- </auth_code>
177
- <product_id translate="label">
178
- <label>Novalnet Product ID</label>
179
- <frontend_type>text</frontend_type>
180
- <sort_order>7</sort_order>
181
- <show_in_default>1</show_in_default>
182
- <show_in_website>1</show_in_website>
183
- <show_in_store>0</show_in_store>
184
- </product_id>
185
- <tariff_id translate="label">
186
- <label>Novalnet Tariff ID</label>
187
- <frontend_type>text</frontend_type>
188
- <sort_order>8</sort_order>
189
- <show_in_default>1</show_in_default>
190
- <show_in_website>1</show_in_website>
191
- <show_in_store>0</show_in_store>
192
- </tariff_id>
193
- <user_group_excluded translate="label">
194
- <label>User Group Excluded</label>
195
- <frontend_type>text</frontend_type>
196
- <sort_order>12</sort_order>
197
- <show_in_default>1</show_in_default>
198
- <show_in_website>1</show_in_website>
199
- <show_in_store>0</show_in_store>
200
- </user_group_excluded>
201
- <comment translate="label">
202
- <label>Notice for Clients</label>
203
- <frontend_type>textarea</frontend_type>
204
- <sort_order>13</sort_order>
205
- <show_in_default>1</show_in_default>
206
- <show_in_website>1</show_in_website>
207
- <show_in_store>0</show_in_store>
208
- </comment>
209
- <live_mode translate="label">
210
- <label>Live Mode</label>
211
- <frontend_type>select</frontend_type>
212
- <source_model>adminhtml/system_config_source_yesno</source_model>
213
- <sort_order>15</sort_order>
214
- <show_in_default>1</show_in_default>
215
- <show_in_website>1</show_in_website>
216
- <show_in_store>0</show_in_store>
217
- </live_mode>
218
- </fields>
219
- </novalnetElvaustria>
220
- <novalnetCc translate="label" module="novalnet">
221
- <!-- will have title 'New Module' -->
222
- <label>Credit Card</label>
223
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
224
- <!-- position between other payment methods -->
225
- <sort_order>682</sort_order>
226
- <!-- do not show this configuration options in store scope -->
227
- <show_in_default>1</show_in_default>
228
- <show_in_website>1</show_in_website>
229
- <show_in_store>0</show_in_store>
230
- <fields>
231
- <!-- is this payment method active for the website? -->
232
- <active translate="label">
233
- <!-- label for the field -->
234
- <label>Enabled</label>
235
- <!-- input type for configuration value -->
236
- <frontend_type>select</frontend_type>
237
- <!-- model to take the option values from -->
238
- <source_model>adminhtml/system_config_source_yesno</source_model>
239
- <!-- field position -->
240
- <sort_order>1</sort_order>
241
- <!-- do not show this field in store scope -->
242
- <show_in_default>1</show_in_default>
243
- <show_in_website>1</show_in_website>
244
- <show_in_store>0</show_in_store>
245
- </active>
246
- <order_status translate="label">
247
- <label>New order status</label>
248
- <frontend_type>select</frontend_type>
249
- <source_model>adminhtml/system_config_source_order_status</source_model>
250
- <sort_order>4</sort_order>
251
- <show_in_default>1</show_in_default>
252
- <show_in_website>1</show_in_website>
253
- <show_in_store>0</show_in_store>
254
- </order_status>
255
- <title translate="label">
256
- <label>Title</label>
257
- <frontend_type>text</frontend_type>
258
- <sort_order>2</sort_order>
259
- <show_in_default>1</show_in_default>
260
- <show_in_website>1</show_in_website>
261
- <show_in_store>0</show_in_store>
262
- </title>
263
- <cctypes translate="label">
264
- <label>Credit Card Types</label>
265
- <frontend_type>multiselect</frontend_type>
266
- <source_model>novalnet/novalnet_source_cctype</source_model>
267
- <sort_order>5</sort_order>
268
- <show_in_default>1</show_in_default>
269
- <show_in_website>1</show_in_website>
270
- <show_in_store>0</show_in_store>
271
- </cctypes>
272
- <merchant_id translate="label">
273
- <label>Novalnet Merchant ID</label>
274
- <frontend_type>text</frontend_type>
275
- <sort_order>6</sort_order>
276
- <show_in_default>1</show_in_default>
277
- <show_in_website>1</show_in_website>
278
- <show_in_store>0</show_in_store>
279
- </merchant_id>
280
- <auth_code translate="label">
281
- <label>Novalnet Auth Code</label>
282
- <frontend_type>text</frontend_type>
283
- <sort_order>7</sort_order>
284
- <show_in_default>1</show_in_default>
285
- <show_in_website>1</show_in_website>
286
- <show_in_store>0</show_in_store>
287
- </auth_code>
288
- <product_id translate="label">
289
- <label>Novalnet Product ID</label>
290
- <frontend_type>text</frontend_type>
291
- <sort_order>8</sort_order>
292
- <show_in_default>1</show_in_default>
293
- <show_in_website>1</show_in_website>
294
- <show_in_store>0</show_in_store>
295
- </product_id>
296
- <tariff_id translate="label">
297
- <label>Novalnet Tariff ID</label>
298
- <frontend_type>text</frontend_type>
299
- <sort_order>9</sort_order>
300
- <show_in_default>1</show_in_default>
301
- <show_in_website>1</show_in_website>
302
- <show_in_store>0</show_in_store>
303
- </tariff_id>
304
- <booking_reference translate="label">
305
- <label>Booking Reference</label>
306
- <frontend_type>text</frontend_type>
307
- <sort_order>10</sort_order>
308
- <show_in_default>1</show_in_default>
309
- <show_in_website>1</show_in_website>
310
- <show_in_store>1</show_in_store>
311
- </booking_reference>
312
- <user_group_excluded translate="label">
313
- <label>User Group Excluded</label>
314
- <frontend_type>text</frontend_type>
315
- <sort_order>13</sort_order>
316
- <show_in_default>1</show_in_default>
317
- <show_in_website>1</show_in_website>
318
- <show_in_store>0</show_in_store>
319
- </user_group_excluded>
320
- <live_mode translate="label">
321
- <label>Live Mode</label>
322
- <frontend_type>select</frontend_type>
323
- <source_model>adminhtml/system_config_source_yesno</source_model>
324
- <sort_order>15</sort_order>
325
- <show_in_default>1</show_in_default>
326
- <show_in_website>1</show_in_website>
327
- <show_in_store>0</show_in_store>
328
- </live_mode>
329
- </fields>
330
- </novalnetCc>
331
- <novalnet_secure translate="label" module="novalnet">
332
- <!-- will have title 'New Module' -->
333
- <label>Novalnet 3D-Secure Credit Card</label>
334
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
335
- <!-- position between other payment methods -->
336
- <sort_order>683</sort_order>
337
- <!-- do not show this configuration options in store scope -->
338
- <show_in_default>1</show_in_default>
339
- <show_in_website>1</show_in_website>
340
- <show_in_store>0</show_in_store>
341
- <fields>
342
- <!-- is this payment method active for the website? -->
343
- <active translate="label">
344
- <!-- label for the field -->
345
- <label>Enabled</label>
346
- <!-- input type for configuration value -->
347
- <frontend_type>select</frontend_type>
348
- <!-- model to take the option values from -->
349
- <source_model>adminhtml/system_config_source_yesno</source_model>
350
- <!-- field position -->
351
- <sort_order>1</sort_order>
352
- <!-- do not show this field in store scope -->
353
- <show_in_default>1</show_in_default>
354
- <show_in_website>1</show_in_website>
355
- <show_in_store>0</show_in_store>
356
- </active>
357
- <order_status translate="label">
358
- <label>New order status</label>
359
- <frontend_type>select</frontend_type>
360
- <source_model>adminhtml/system_config_source_order_status</source_model>
361
- <sort_order>4</sort_order>
362
- <show_in_default>1</show_in_default>
363
- <show_in_website>1</show_in_website>
364
- <show_in_store>0</show_in_store>
365
- </order_status>
366
- <title translate="label">
367
- <label>Title</label>
368
- <frontend_type>text</frontend_type>
369
- <sort_order>2</sort_order>
370
- <show_in_default>1</show_in_default>
371
- <show_in_website>1</show_in_website>
372
- <show_in_store>0</show_in_store>
373
- </title>
374
- <cctypes translate="label">
375
- <label>Credit Card Types</label>
376
- <frontend_type>multiselect</frontend_type>
377
- <source_model>novalnet/novalnet_source_cctype</source_model>
378
- <sort_order>5</sort_order>
379
- <show_in_default>1</show_in_default>
380
- <show_in_website>1</show_in_website>
381
- <show_in_store>0</show_in_store>
382
- </cctypes>
383
- <merchant_id translate="label">
384
- <label>Novalnet Merchant ID</label>
385
- <frontend_type>text</frontend_type>
386
- <sort_order>6</sort_order>
387
- <show_in_default>1</show_in_default>
388
- <show_in_website>1</show_in_website>
389
- <show_in_store>0</show_in_store>
390
- </merchant_id>
391
- <auth_code translate="label">
392
- <label>Novalnet Auth Code</label>
393
- <frontend_type>text</frontend_type>
394
- <sort_order>7</sort_order>
395
- <show_in_default>1</show_in_default>
396
- <show_in_website>1</show_in_website>
397
- <show_in_store>0</show_in_store>
398
- </auth_code>
399
- <product_id translate="label">
400
- <label>Novalnet Product ID</label>
401
- <frontend_type>text</frontend_type>
402
- <sort_order>8</sort_order>
403
- <show_in_default>1</show_in_default>
404
- <show_in_website>1</show_in_website>
405
- <show_in_store>0</show_in_store>
406
- </product_id>
407
- <tariff_id translate="label">
408
- <label>Novalnet Tariff ID</label>
409
- <frontend_type>text</frontend_type>
410
- <sort_order>9</sort_order>
411
- <show_in_default>1</show_in_default>
412
- <show_in_website>1</show_in_website>
413
- <show_in_store>0</show_in_store>
414
- </tariff_id>
415
- <booking_reference translate="label">
416
- <label>Booking Reference</label>
417
- <frontend_type>text</frontend_type>
418
- <sort_order>10</sort_order>
419
- <show_in_default>1</show_in_default>
420
- <show_in_website>1</show_in_website>
421
- <show_in_store>1</show_in_store>
422
- </booking_reference>
423
- <user_group_excluded translate="label">
424
- <label>User Group Excluded</label>
425
- <frontend_type>text</frontend_type>
426
- <sort_order>13</sort_order>
427
- <show_in_default>1</show_in_default>
428
- <show_in_website>1</show_in_website>
429
- <show_in_store>0</show_in_store>
430
- </user_group_excluded>
431
- <live_mode translate="label">
432
- <label>Live Mode</label>
433
- <frontend_type>select</frontend_type>
434
- <source_model>adminhtml/system_config_source_yesno</source_model>
435
- <sort_order>15</sort_order>
436
- <show_in_default>1</show_in_default>
437
- <show_in_website>1</show_in_website>
438
- <show_in_store>0</show_in_store>
439
- </live_mode>
440
- </fields>
441
- </novalnet_secure>
442
- <novalnetPrepayment translate="label" module="novalnet">
443
- <!-- will have title 'New Module' -->
444
- <label>Prepayment</label>
445
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
446
- <!-- position between other payment methods -->
447
- <sort_order>690</sort_order>
448
- <!-- do not show this configuration options in store scope -->
449
- <show_in_default>1</show_in_default>
450
- <show_in_website>1</show_in_website>
451
- <show_in_store>0</show_in_store>
452
- <fields>
453
- <!-- is this payment method active for the website? -->
454
- <active translate="label">
455
- <!-- label for the field -->
456
- <label>Enabled</label>
457
- <!-- input type for configuration value -->
458
- <frontend_type>select</frontend_type>
459
- <!-- model to take the option values from -->
460
- <source_model>adminhtml/system_config_source_yesno</source_model>
461
- <!-- field position -->
462
- <sort_order>1</sort_order>
463
- <!-- do not show this field in store scope -->
464
- <show_in_default>1</show_in_default>
465
- <show_in_website>1</show_in_website>
466
- <show_in_store>0</show_in_store>
467
- </active>
468
- <order_status translate="label">
469
- <label>New order status</label>
470
- <frontend_type>select</frontend_type>
471
- <source_model>adminhtml/system_config_source_order_status</source_model>
472
- <sort_order>4</sort_order>
473
- <show_in_default>1</show_in_default>
474
- <show_in_website>1</show_in_website>
475
- <show_in_store>0</show_in_store>
476
- </order_status>
477
- <title translate="label">
478
- <label>Title</label>
479
- <frontend_type>text</frontend_type>
480
- <sort_order>2</sort_order>
481
- <show_in_default>1</show_in_default>
482
- <show_in_website>1</show_in_website>
483
- <show_in_store>0</show_in_store>
484
- </title>
485
- <merchant_id translate="label">
486
- <label>Novalnet Merchant ID</label>
487
- <frontend_type>text</frontend_type>
488
- <sort_order>5</sort_order>
489
- <show_in_default>1</show_in_default>
490
- <show_in_website>1</show_in_website>
491
- <show_in_store>0</show_in_store>
492
- </merchant_id>
493
- <auth_code translate="label">
494
- <label>Novalnet Auth Code</label>
495
- <frontend_type>text</frontend_type>
496
- <sort_order>6</sort_order>
497
- <show_in_default>1</show_in_default>
498
- <show_in_website>1</show_in_website>
499
- <show_in_store>0</show_in_store>
500
- </auth_code>
501
- <product_id translate="label">
502
- <label>Novalnet Product ID</label>
503
- <frontend_type>text</frontend_type>
504
- <sort_order>7</sort_order>
505
- <show_in_default>1</show_in_default>
506
- <show_in_website>1</show_in_website>
507
- <show_in_store>0</show_in_store>
508
- </product_id>
509
- <tariff_id translate="label">
510
- <label>Novalnet Tariff ID</label>
511
- <frontend_type>text</frontend_type>
512
- <sort_order>8</sort_order>
513
- <show_in_default>1</show_in_default>
514
- <show_in_website>1</show_in_website>
515
- <show_in_store>0</show_in_store>
516
- </tariff_id>
517
- <user_group_excluded translate="label">
518
- <label>User Group Excluded</label>
519
- <frontend_type>text</frontend_type>
520
- <sort_order>13</sort_order>
521
- <show_in_default>1</show_in_default>
522
- <show_in_website>1</show_in_website>
523
- <show_in_store>0</show_in_store>
524
- </user_group_excluded>
525
- <live_mode translate="label">
526
- <label>Live Mode</label>
527
- <frontend_type>select</frontend_type>
528
- <source_model>adminhtml/system_config_source_yesno</source_model>
529
- <sort_order>15</sort_order>
530
- <show_in_default>1</show_in_default>
531
- <show_in_website>1</show_in_website>
532
- <show_in_store>0</show_in_store>
533
- </live_mode>
534
- </fields>
535
- </novalnetPrepayment>
536
- <novalnetInvoice translate="label" module="novalnet">
537
- <!-- will have title 'New Module' -->
538
- <label>Invoice</label>
539
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
540
- <!-- position between other payment methods -->
541
- <sort_order>689</sort_order>
542
- <!-- do not show this configuration options in store scope -->
543
- <show_in_default>1</show_in_default>
544
- <show_in_website>1</show_in_website>
545
- <show_in_store>0</show_in_store>
546
- <fields>
547
- <!-- is this payment method active for the website? -->
548
- <active translate="label">
549
- <!-- label for the field -->
550
- <label>Enabled</label>
551
- <!-- input type for configuration value -->
552
- <frontend_type>select</frontend_type>
553
- <!-- model to take the option values from -->
554
- <source_model>adminhtml/system_config_source_yesno</source_model>
555
- <!-- field position -->
556
- <sort_order>1</sort_order>
557
- <!-- do not show this field in store scope -->
558
- <show_in_default>1</show_in_default>
559
- <show_in_website>1</show_in_website>
560
- <show_in_store>0</show_in_store>
561
- </active>
562
- <order_status translate="label">
563
- <label>New order status</label>
564
- <frontend_type>select</frontend_type>
565
- <source_model>adminhtml/system_config_source_order_status</source_model>
566
- <sort_order>4</sort_order>
567
- <show_in_default>1</show_in_default>
568
- <show_in_website>1</show_in_website>
569
- <show_in_store>0</show_in_store>
570
- </order_status>
571
- <title translate="label">
572
- <label>Title</label>
573
- <frontend_type>text</frontend_type>
574
- <sort_order>2</sort_order>
575
- <show_in_default>1</show_in_default>
576
- <show_in_website>1</show_in_website>
577
- <show_in_store>0</show_in_store>
578
- </title>
579
- <merchant_id translate="label">
580
- <label>Novalnet Merchant ID</label>
581
- <frontend_type>text</frontend_type>
582
- <sort_order>5</sort_order>
583
- <show_in_default>1</show_in_default>
584
- <show_in_website>1</show_in_website>
585
- <show_in_store>0</show_in_store>
586
- </merchant_id>
587
- <auth_code translate="label">
588
- <label>Novalnet Auth Code</label>
589
- <frontend_type>text</frontend_type>
590
- <sort_order>6</sort_order>
591
- <show_in_default>1</show_in_default>
592
- <show_in_website>1</show_in_website>
593
- <show_in_store>0</show_in_store>
594
- </auth_code>
595
- <product_id translate="label">
596
- <label>Novalnet Product ID</label>
597
- <frontend_type>text</frontend_type>
598
- <sort_order>7</sort_order>
599
- <show_in_default>1</show_in_default>
600
- <show_in_website>1</show_in_website>
601
- <show_in_store>0</show_in_store>
602
- </product_id>
603
- <tariff_id translate="label">
604
- <label>Novalnet Tariff ID</label>
605
- <frontend_type>text</frontend_type>
606
- <sort_order>8</sort_order>
607
- <show_in_default>1</show_in_default>
608
- <show_in_website>1</show_in_website>
609
- <show_in_store>0</show_in_store>
610
- </tariff_id>
611
- <payment_duration translate="label">
612
- <label>Payment Duration</label>
613
- <frontend_type>text</frontend_type>
614
- <sort_order>9</sort_order>
615
- <show_in_default>1</show_in_default>
616
- <show_in_website>1</show_in_website>
617
- <show_in_store>0</show_in_store>
618
- </payment_duration>
619
- <user_group_excluded translate="label">
620
- <label>User Group Excluded</label>
621
- <frontend_type>text</frontend_type>
622
- <sort_order>13</sort_order>
623
- <show_in_default>1</show_in_default>
624
- <show_in_website>1</show_in_website>
625
- <show_in_store>0</show_in_store>
626
- </user_group_excluded>
627
- <live_mode translate="label">
628
- <label>Live Mode</label>
629
- <frontend_type>select</frontend_type>
630
- <source_model>adminhtml/system_config_source_yesno</source_model>
631
- <sort_order>15</sort_order>
632
- <show_in_default>1</show_in_default>
633
- <show_in_website>1</show_in_website>
634
- <show_in_store>0</show_in_store>
635
- </live_mode>
636
- </fields>
637
- </novalnetInvoice>
638
- <novalnetPhonepayment translate="label" module="novalnet">
639
- <!-- will have title 'New Module' -->
640
- <label>Phonepayment</label>
641
- <comment>Wenn Sie Telefonpayment testen wollen, kontaktieren Sie bitte die Novalnet AG (Tel.: 0049 89 923068320). If you like to test phonepayment contact Novalnet AG (Phone: 0049 89 923068320), please!</comment>
642
- <!-- position between other payment methods -->
643
- <sort_order>691</sort_order>
644
- <!-- do not show this configuration options in store scope -->
645
- <show_in_default>1</show_in_default>
646
- <show_in_website>1</show_in_website>
647
- <show_in_store>0</show_in_store>
648
- <fields>
649
- <!-- is this payment method active for the website? -->
650
- <active translate="label">
651
- <!-- label for the field -->
652
- <label>Enabled</label>
653
- <!-- input type for configuration value -->
654
- <frontend_type>select</frontend_type>
655
- <!-- model to take the option values from -->
656
- <source_model>adminhtml/system_config_source_yesno</source_model>
657
- <!-- field position -->
658
- <sort_order>1</sort_order>
659
- <!-- do not show this field in store scope -->
660
- <show_in_default>1</show_in_default>
661
- <show_in_website>1</show_in_website>
662
- <show_in_store>0</show_in_store>
663
- </active>
664
- <order_status translate="label">
665
- <label>New order status</label>
666
- <frontend_type>select</frontend_type>
667
- <source_model>adminhtml/system_config_source_order_status</source_model>
668
- <sort_order>4</sort_order>
669
- <show_in_default>1</show_in_default>
670
- <show_in_website>1</show_in_website>
671
- <show_in_store>0</show_in_store>
672
- </order_status>
673
- <title translate="label">
674
- <label>Title</label>
675
- <frontend_type>text</frontend_type>
676
- <sort_order>2</sort_order>
677
- <show_in_default>1</show_in_default>
678
- <show_in_website>1</show_in_website>
679
- <show_in_store>0</show_in_store>
680
- </title>
681
- <merchant_id translate="label">
682
- <label>Novalnet Merchant ID</label>
683
- <frontend_type>text</frontend_type>
684
- <sort_order>5</sort_order>
685
- <show_in_default>1</show_in_default>
686
- <show_in_website>1</show_in_website>
687
- <show_in_store>0</show_in_store>
688
- </merchant_id>
689
- <auth_code translate="label">
690
- <label>Novalnet Auth Code</label>
691
- <frontend_type>text</frontend_type>
692
- <sort_order>6</sort_order>
693
- <show_in_default>1</show_in_default>
694
- <show_in_website>1</show_in_website>
695
- <show_in_store>0</show_in_store>
696
- </auth_code>
697
- <product_id translate="label">
698
- <label>Novalnet Product ID</label>
699
- <frontend_type>text</frontend_type>
700
- <sort_order>7</sort_order>
701
- <show_in_default>1</show_in_default>
702
- <show_in_website>1</show_in_website>
703
- <show_in_store>0</show_in_store>
704
- </product_id>
705
- <tariff_id translate="label">
706
- <label>Novalnet Tariff ID</label>
707
- <frontend_type>text</frontend_type>
708
- <sort_order>8</sort_order>
709
- <show_in_default>1</show_in_default>
710
- <show_in_website>1</show_in_website>
711
- <show_in_store>0</show_in_store>
712
- </tariff_id>
713
- <user_group_excluded translate="label">
714
- <label>User Group Excluded</label>
715
- <frontend_type>text</frontend_type>
716
- <sort_order>13</sort_order>
717
- <show_in_default>1</show_in_default>
718
- <show_in_website>1</show_in_website>
719
- <show_in_store>0</show_in_store>
720
- </user_group_excluded>
721
- <!--live_mode translate="label">
722
- <label>Live Mode</label>
723
- <frontend_type>select</frontend_type>
724
- <source_model>adminhtml/system_config_source_yesno</source_model>
725
- <sort_order>15</sort_order>
726
- <show_in_default>1</show_in_default>
727
- <show_in_website>1</show_in_website>
728
- <show_in_store>0</show_in_store>
729
- </live_mode-->
730
- </fields>
731
- </novalnetPhonepayment>
732
- <novalnetInstantbanktransfer translate="label" module="novalnet">
733
- <!-- will have title 'New Module' -->
734
- <label>Instant Bank Transfer</label>
735
- <comment>Das ist noch eine Betaversion. Daher muss der Livemodus auf 'Nein' stehen.</comment>
736
- <comment>Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.</comment>
737
- <!-- position between other payment methods -->
738
- <sort_order>692</sort_order>
739
- <!-- do not show this configuration options in store scope -->
740
- <show_in_default>1</show_in_default>
741
- <show_in_website>1</show_in_website>
742
- <show_in_store>0</show_in_store>
743
- <fields>
744
- <!-- is this payment method active for the website? -->
745
- <active translate="label">
746
- <!-- label for the field -->
747
- <label>Enabled</label>
748
- <!-- input type for configuration value -->
749
- <frontend_type>select</frontend_type>
750
- <!-- model to take the option values from -->
751
- <source_model>adminhtml/system_config_source_yesno</source_model>
752
- <!-- field position -->
753
- <sort_order>1</sort_order>
754
- <!-- do not show this field in store scope -->
755
- <show_in_default>1</show_in_default>
756
- <show_in_website>1</show_in_website>
757
- <show_in_store>0</show_in_store>
758
- </active>
759
- <order_status translate="label">
760
- <label>New order status</label>
761
- <frontend_type>select</frontend_type>
762
- <source_model>adminhtml/system_config_source_order_status</source_model>
763
- <sort_order>4</sort_order>
764
- <show_in_default>1</show_in_default>
765
- <show_in_website>1</show_in_website>
766
- <show_in_store>0</show_in_store>
767
- </order_status>
768
- <title translate="label">
769
- <label>Title</label>
770
- <frontend_type>text</frontend_type>
771
- <sort_order>2</sort_order>
772
- <show_in_default>1</show_in_default>
773
- <show_in_website>1</show_in_website>
774
- <show_in_store>0</show_in_store>
775
- </title>
776
- <merchant_id translate="label">
777
- <label>Novalnet Merchant ID</label>
778
- <frontend_type>text</frontend_type>
779
- <sort_order>5</sort_order>
780
- <show_in_default>1</show_in_default>
781
- <show_in_website>1</show_in_website>
782
- <show_in_store>0</show_in_store>
783
- </merchant_id>
784
- <auth_code translate="label">
785
- <label>Novalnet Auth Code</label>
786
- <frontend_type>text</frontend_type>
787
- <sort_order>6</sort_order>
788
- <show_in_default>1</show_in_default>
789
- <show_in_website>1</show_in_website>
790
- <show_in_store>0</show_in_store>
791
- </auth_code>
792
- <product_id translate="label">
793
- <label>Novalnet Product ID</label>
794
- <frontend_type>text</frontend_type>
795
- <sort_order>7</sort_order>
796
- <show_in_default>1</show_in_default>
797
- <show_in_website>1</show_in_website>
798
- <show_in_store>0</show_in_store>
799
- </product_id>
800
- <tariff_id translate="label">
801
- <label>Novalnet Tariff ID</label>
802
- <frontend_type>text</frontend_type>
803
- <sort_order>8</sort_order>
804
- <show_in_default>1</show_in_default>
805
- <show_in_website>1</show_in_website>
806
- <show_in_store>0</show_in_store>
807
- </tariff_id>
808
- <user_group_excluded translate="label">
809
- <label>User Group Excluded</label>
810
- <frontend_type>text</frontend_type>
811
- <sort_order>13</sort_order>
812
- <show_in_default>1</show_in_default>
813
- <show_in_website>1</show_in_website>
814
- <show_in_store>0</show_in_store>
815
- </user_group_excluded>
816
- <comment translate="label">
817
- <label>Notice for Clients</label>
818
- <frontend_type>textarea</frontend_type>
819
- <sort_order>14</sort_order>
820
- <show_in_default>1</show_in_default>
821
- <show_in_website>1</show_in_website>
822
- <show_in_store>0</show_in_store>
823
- </comment>
824
- <live_mode translate="label">
825
- <label>Live Mode</label>
826
- <frontend_type>select</frontend_type>
827
- <source_model>adminhtml/system_config_source_yesno</source_model>
828
- <sort_order>15</sort_order>
829
- <show_in_default>1</show_in_default>
830
- <show_in_website>1</show_in_website>
831
- <show_in_store>0</show_in_store>
832
- </live_mode>
833
- <password translate="label">
834
- <label>Password</label>
835
- <frontend_type>text</frontend_type>
836
- <sort_order>16</sort_order>
837
- <show_in_default>1</show_in_default>
838
- <show_in_website>1</show_in_website>
839
- <show_in_store>0</show_in_store>
840
- </password>
841
- <!--live_mode translate="label">
842
- <label>Live Mode</label>
843
- <frontend_type>checkbox</frontend_type>
844
- <source_model>adminhtml/system_config_source_checktype</source_model>
845
- <sort_order>17</sort_order>
846
- <show_in_default>1</show_in_default>
847
- <show_in_website>1</show_in_website>
848
- <show_in_store>1</show_in_store>
849
- </live_mode-->
850
- </fields>
851
- </novalnetInstantbanktransfer>
852
- </groups>
853
- </payment>
854
- </sections>
855
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <sections>
4
+ <!-- payment tab -->
5
+ <payment>
6
+ <groups>
7
+ <novalnetElvgerman translate="label" module="novalnet">
8
+ <!-- will have title 'New Module' -->
9
+ <label>Novalnet Direct Debit German</label>
10
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
11
+ <!-- position between other payment methods -->
12
+ <sort_order>680</sort_order>
13
+ <!-- do not show this configuration options in store scope -->
14
+ <show_in_default>1</show_in_default>
15
+ <show_in_website>1</show_in_website>
16
+ <show_in_store>0</show_in_store>
17
+ <fields>
18
+ <!-- is this payment method active for the website? -->
19
+ <active translate="label">
20
+ <!-- label for the field -->
21
+ <label>Enabled</label>
22
+ <!-- input type for configuration value -->
23
+ <frontend_type>select</frontend_type>
24
+ <!-- model to take the option values from -->
25
+ <source_model>adminhtml/system_config_source_yesno</source_model>
26
+ <!-- field position -->
27
+ <sort_order>1</sort_order>
28
+ <!-- do not show this field in store scope -->
29
+ <show_in_default>1</show_in_default>
30
+ <show_in_website>1</show_in_website>
31
+ <show_in_store>0</show_in_store>
32
+ </active>
33
+ <title translate="label">
34
+ <label>Title</label>
35
+ <frontend_type>text</frontend_type>
36
+ <sort_order>2</sort_order>
37
+ <show_in_default>1</show_in_default>
38
+ <show_in_website>1</show_in_website>
39
+ <show_in_store>0</show_in_store>
40
+ </title>
41
+ <order_status translate="label">
42
+ <label>New order status</label>
43
+ <frontend_type>select</frontend_type>
44
+ <source_model>adminhtml/system_config_source_order_status</source_model>
45
+ <sort_order>3</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store>0</show_in_store>
49
+ </order_status>
50
+ <merchant_id translate="label">
51
+ <label>Novalnet Merchant ID</label>
52
+ <frontend_type>text</frontend_type>
53
+ <sort_order>4</sort_order>
54
+ <show_in_default>1</show_in_default>
55
+ <show_in_website>1</show_in_website>
56
+ <show_in_store>0</show_in_store>
57
+ </merchant_id>
58
+ <auth_code translate="label">
59
+ <label>Novalnet Auth Code</label>
60
+ <frontend_type>text</frontend_type>
61
+ <sort_order>5</sort_order>
62
+ <show_in_default>1</show_in_default>
63
+ <show_in_website>1</show_in_website>
64
+ <show_in_store>0</show_in_store>
65
+ </auth_code>
66
+ <product_id translate="label">
67
+ <label>Novalnet Product ID</label>
68
+ <frontend_type>text</frontend_type>
69
+ <sort_order>6</sort_order>
70
+ <show_in_default>1</show_in_default>
71
+ <show_in_website>1</show_in_website>
72
+ <show_in_store>0</show_in_store>
73
+ </product_id>
74
+ <tariff_id translate="label">
75
+ <label>Novalnet Tariff ID</label>
76
+ <frontend_type>text</frontend_type>
77
+ <sort_order>7</sort_order>
78
+ <show_in_default>1</show_in_default>
79
+ <show_in_website>1</show_in_website>
80
+ <show_in_store>0</show_in_store>
81
+ </tariff_id>
82
+ <manual_checking_amount tranlate="label" >
83
+ <label>Manual checking amount in cents</label>
84
+ <frontend_type>text</frontend_type>
85
+ <sort_order>8</sort_order>
86
+ <show_in_default>1</show_in_default>
87
+ <show_in_website>1</show_in_website>
88
+ <show_in_store>0</show_in_store>
89
+ </manual_checking_amount>
90
+ <second_product_id translate="label">
91
+ <label>Second Novalnet Product ID</label>
92
+ <frontend_type>text</frontend_type>
93
+ <sort_order>9</sort_order>
94
+ <show_in_default>1</show_in_default>
95
+ <show_in_website>1</show_in_website>
96
+ <show_in_store>0</show_in_store>
97
+ </second_product_id>
98
+ <second_tariff_id translate="label">
99
+ <label>Second Novalnet Tariff Id</label>
100
+ <frontend_type>text</frontend_type>
101
+ <sort_order>10</sort_order>
102
+ <show_in_default>1</show_in_default>
103
+ <show_in_website>1</show_in_website>
104
+ <show_in_store>0</show_in_store>
105
+ </second_tariff_id>
106
+ <acdc_check translate="label">
107
+ <label>ACDC Check</label>
108
+ <frontend_type>select</frontend_type>
109
+ <source_model>adminhtml/system_config_source_yesno</source_model>
110
+ <sort_order>11</sort_order>
111
+ <show_in_default>1</show_in_default>
112
+ <show_in_website>1</show_in_website>
113
+ <show_in_store>0</show_in_store>
114
+ </acdc_check>
115
+ <callback translate="label">
116
+ <comment>
117
+ Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
118
+ Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
119
+ Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
120
+ andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
121
+ This service is only available for german customers.
122
+ </comment>
123
+ <label>PIN by Callback/SMS</label>
124
+ <frontend_type>select</frontend_type>
125
+ <source_model>novalnet/novalnet_source_callbacktypes</source_model>
126
+ <sort_order>12</sort_order>
127
+ <show_in_default>1</show_in_default>
128
+ <show_in_website>1</show_in_website>
129
+ <show_in_store>0</show_in_store>
130
+ </callback>
131
+ <callback_minimum_amount>
132
+ <label>Minimum Amout For Callback</label>
133
+ <frontend_type>text</frontend_type>
134
+ <sort_order>13</sort_order>
135
+ <show_in_default>1</show_in_default>
136
+ <show_in_website>1</show_in_website>
137
+ <show_in_store>0</show_in_store>
138
+ </callback_minimum_amount>
139
+ <user_group_excluded translate="label">
140
+ <comment>
141
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
142
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
143
+ </comment>
144
+ <label>User Group Excluded</label>
145
+ <frontend_type>text</frontend_type>
146
+ <sort_order>14</sort_order>
147
+ <show_in_default>1</show_in_default>
148
+ <show_in_website>1</show_in_website>
149
+ <show_in_store>0</show_in_store>
150
+ </user_group_excluded>
151
+ <comment translate="label">
152
+ <label>Notice for Clients</label>
153
+ <frontend_type>textarea</frontend_type>
154
+ <sort_order>15</sort_order>
155
+ <show_in_default>1</show_in_default>
156
+ <show_in_website>1</show_in_website>
157
+ <show_in_store>0</show_in_store>
158
+ </comment>
159
+ <live_mode translate="label">
160
+ <label>Live Mode</label>
161
+ <frontend_type>select</frontend_type>
162
+ <source_model>adminhtml/system_config_source_yesno</source_model>
163
+ <sort_order>16</sort_order>
164
+ <show_in_default>1</show_in_default>
165
+ <show_in_website>1</show_in_website>
166
+ <show_in_store>0</show_in_store>
167
+ </live_mode>
168
+ <gateway_timeout translate="label">
169
+ <comment>Gateway Timeout in seconds</comment>
170
+ <label>Gateway Timeout</label>
171
+ <frontend_type>text</frontend_type>
172
+ <sort_order>17</sort_order>
173
+ <show_in_default>1</show_in_default>
174
+ <show_in_website>1</show_in_website>
175
+ <show_in_store>0</show_in_store>
176
+ </gateway_timeout>
177
+ <sort_order translate="label">
178
+ <label>Sort Order</label>
179
+ <frontend_type>text</frontend_type>
180
+ <sort_order>100</sort_order>
181
+ <show_in_default>1</show_in_default>
182
+ <show_in_website>1</show_in_website>
183
+ <show_in_store>0</show_in_store>
184
+ </sort_order>
185
+ <allowspecific translate="label">
186
+ <label>Payment from applicable countries</label>
187
+ <frontend_type>allowspecific</frontend_type>
188
+ <sort_order>18</sort_order>
189
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
190
+ <show_in_default>1</show_in_default>
191
+ <show_in_website>1</show_in_website>
192
+ <show_in_store>1</show_in_store>
193
+ </allowspecific>
194
+ <specificcountry translate="label">
195
+ <label>Payment from Specific countries</label>
196
+ <frontend_type>multiselect</frontend_type>
197
+ <sort_order>19</sort_order>
198
+ <source_model>adminhtml/system_config_source_country</source_model>
199
+ <show_in_default>1</show_in_default>
200
+ <show_in_website>1</show_in_website>
201
+ <show_in_store>1</show_in_store>
202
+ </specificcountry>
203
+ </fields>
204
+ </novalnetElvgerman>
205
+ <novalnetElvaustria translate="label" module="novalnet">
206
+ <label>Novalnet Direct Debit Austria</label>
207
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
208
+ <sort_order>681</sort_order>
209
+ <show_in_default>1</show_in_default>
210
+ <show_in_website>1</show_in_website>
211
+ <show_in_store>0</show_in_store>
212
+ <fields>
213
+ <active translate="label">
214
+ <label>Enabled</label>
215
+ <frontend_type>select</frontend_type>
216
+ <source_model>adminhtml/system_config_source_yesno</source_model>
217
+ <sort_order>1</sort_order>
218
+ <show_in_default>1</show_in_default>
219
+ <show_in_website>1</show_in_website>
220
+ <show_in_store>0</show_in_store>
221
+ </active>
222
+ <title translate="label">
223
+ <label>Title</label>
224
+ <frontend_type>text</frontend_type>
225
+ <sort_order>2</sort_order>
226
+ <show_in_default>1</show_in_default>
227
+ <show_in_website>1</show_in_website>
228
+ <show_in_store>0</show_in_store>
229
+ </title>
230
+ <order_status translate="label">
231
+ <label>New order status</label>
232
+ <frontend_type>select</frontend_type>
233
+ <source_model>adminhtml/system_config_source_order_status</source_model>
234
+ <sort_order>3</sort_order>
235
+ <show_in_default>1</show_in_default>
236
+ <show_in_website>1</show_in_website>
237
+ <show_in_store>0</show_in_store>
238
+ </order_status>
239
+ <merchant_id translate="label">
240
+ <label>Novalnet Merchant ID</label>
241
+ <frontend_type>text</frontend_type>
242
+ <sort_order>4</sort_order>
243
+ <show_in_default>1</show_in_default>
244
+ <show_in_website>1</show_in_website>
245
+ <show_in_store>0</show_in_store>
246
+ </merchant_id>
247
+ <auth_code translate="label">
248
+ <label>Novalnet Auth Code</label>
249
+ <frontend_type>text</frontend_type>
250
+ <sort_order>5</sort_order>
251
+ <show_in_default>1</show_in_default>
252
+ <show_in_website>1</show_in_website>
253
+ <show_in_store>0</show_in_store>
254
+ </auth_code>
255
+ <product_id translate="label">
256
+ <label>Novalnet Product ID</label>
257
+ <frontend_type>text</frontend_type>
258
+ <sort_order>6</sort_order>
259
+ <show_in_default>1</show_in_default>
260
+ <show_in_website>1</show_in_website>
261
+ <show_in_store>0</show_in_store>
262
+ </product_id>
263
+ <tariff_id translate="label">
264
+ <label>Novalnet Tariff ID</label>
265
+ <frontend_type>text</frontend_type>
266
+ <sort_order>7</sort_order>
267
+ <show_in_default>1</show_in_default>
268
+ <show_in_website>1</show_in_website>
269
+ <show_in_store>0</show_in_store>
270
+ </tariff_id>
271
+ <manual_checking_amount tranlate="label" >
272
+ <label>Manual checking amount in cents</label>
273
+ <frontend_type>text</frontend_type>
274
+ <sort_order>8</sort_order>
275
+ <show_in_default>1</show_in_default>
276
+ <show_in_website>1</show_in_website>
277
+ <show_in_store>0</show_in_store>
278
+ </manual_checking_amount>
279
+ <second_product_id translate="label">
280
+ <label>Second Novalnet Product ID</label>
281
+ <frontend_type>text</frontend_type>
282
+ <sort_order>9</sort_order>
283
+ <show_in_default>1</show_in_default>
284
+ <show_in_website>1</show_in_website>
285
+ <show_in_store>0</show_in_store>
286
+ </second_product_id>
287
+ <second_tariff_id translate="label">
288
+ <label>Second Novalnet Tariff Id</label>
289
+ <frontend_type>text</frontend_type>
290
+ <sort_order>10</sort_order>
291
+ <show_in_default>1</show_in_default>
292
+ <show_in_website>1</show_in_website>
293
+ <show_in_store>0</show_in_store>
294
+ </second_tariff_id>
295
+ <callback translate="label">
296
+ <comment>
297
+ Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
298
+ Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
299
+ Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
300
+ andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
301
+ This service is only available for german customers.
302
+ </comment>
303
+ <label>PIN by Callback/SMS</label>
304
+ <frontend_type>select</frontend_type>
305
+ <source_model>novalnet/novalnet_source_callbacktypes</source_model>
306
+ <sort_order>11</sort_order>
307
+ <show_in_default>1</show_in_default>
308
+ <show_in_website>1</show_in_website>
309
+ <show_in_store>0</show_in_store>
310
+ </callback>
311
+ <callback_minimum_amount>
312
+ <label>Minimum Amout For Callback</label>
313
+ <frontend_type>text</frontend_type>
314
+ <sort_order>12</sort_order>
315
+ <show_in_default>1</show_in_default>
316
+ <show_in_website>1</show_in_website>
317
+ <show_in_store>0</show_in_store>
318
+ </callback_minimum_amount>
319
+ <user_group_excluded translate="label">
320
+ <comment>
321
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
322
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
323
+ </comment>
324
+ <label>User Group Excluded</label>
325
+ <frontend_type>text</frontend_type>
326
+ <sort_order>13</sort_order>
327
+ <show_in_default>1</show_in_default>
328
+ <show_in_website>1</show_in_website>
329
+ <show_in_store>0</show_in_store>
330
+ </user_group_excluded>
331
+ <comment translate="label">
332
+ <label>Notice for Clients</label>
333
+ <frontend_type>textarea</frontend_type>
334
+ <sort_order>14</sort_order>
335
+ <show_in_default>1</show_in_default>
336
+ <show_in_website>1</show_in_website>
337
+ <show_in_store>0</show_in_store>
338
+ </comment>
339
+ <live_mode translate="label">
340
+ <label>Live Mode</label>
341
+ <frontend_type>select</frontend_type>
342
+ <source_model>adminhtml/system_config_source_yesno</source_model>
343
+ <sort_order>15</sort_order>
344
+ <show_in_default>1</show_in_default>
345
+ <show_in_website>1</show_in_website>
346
+ <show_in_store>0</show_in_store>
347
+ </live_mode>
348
+ <gateway_timeout translate="label">
349
+ <comment>Gateway Timeout in seconds</comment>
350
+ <label>Gateway Timeout</label>
351
+ <frontend_type>text</frontend_type>
352
+ <sort_order>16</sort_order>
353
+ <show_in_default>1</show_in_default>
354
+ <show_in_website>1</show_in_website>
355
+ <show_in_store>0</show_in_store>
356
+ </gateway_timeout>
357
+ <sort_order translate="label">
358
+ <label>Sort Order</label>
359
+ <frontend_type>text</frontend_type>
360
+ <sort_order>100</sort_order>
361
+ <show_in_default>1</show_in_default>
362
+ <show_in_website>1</show_in_website>
363
+ <show_in_store>0</show_in_store>
364
+ </sort_order>
365
+ <allowspecific translate="label">
366
+ <label>Payment from applicable countries</label>
367
+ <frontend_type>allowspecific</frontend_type>
368
+ <sort_order>18</sort_order>
369
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
370
+ <show_in_default>1</show_in_default>
371
+ <show_in_website>1</show_in_website>
372
+ <show_in_store>1</show_in_store>
373
+ </allowspecific>
374
+ <specificcountry translate="label">
375
+ <label>Payment from Specific countries</label>
376
+ <frontend_type>multiselect</frontend_type>
377
+ <sort_order>19</sort_order>
378
+ <source_model>adminhtml/system_config_source_country</source_model>
379
+ <show_in_default>1</show_in_default>
380
+ <show_in_website>1</show_in_website>
381
+ <show_in_store>1</show_in_store>
382
+ </specificcountry>
383
+ </fields>
384
+ </novalnetElvaustria>
385
+ <novalnetCc translate="label" module="novalnet">
386
+ <label>Novalnet Credit Card</label>
387
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
388
+ <sort_order>682</sort_order>
389
+ <show_in_default>1</show_in_default>
390
+ <show_in_website>1</show_in_website>
391
+ <show_in_store>0</show_in_store>
392
+ <fields>
393
+ <active translate="label">
394
+ <label>Enabled</label>
395
+ <frontend_type>select</frontend_type>
396
+ <source_model>adminhtml/system_config_source_yesno</source_model>
397
+ <sort_order>1</sort_order>
398
+ <show_in_default>1</show_in_default>
399
+ <show_in_website>1</show_in_website>
400
+ <show_in_store>0</show_in_store>
401
+ </active>
402
+ <title translate="label">
403
+ <label>Title</label>
404
+ <frontend_type>text</frontend_type>
405
+ <sort_order>2</sort_order>
406
+ <show_in_default>1</show_in_default>
407
+ <show_in_website>1</show_in_website>
408
+ <show_in_store>0</show_in_store>
409
+ </title>
410
+ <order_status translate="label">
411
+ <label>New order status</label>
412
+ <frontend_type>select</frontend_type>
413
+ <source_model>adminhtml/system_config_source_order_status</source_model>
414
+ <sort_order>3</sort_order>
415
+ <show_in_default>1</show_in_default>
416
+ <show_in_website>1</show_in_website>
417
+ <show_in_store>0</show_in_store>
418
+ </order_status>
419
+ <cctypes translate="label">
420
+ <label>Credit Card Types</label>
421
+ <frontend_type>multiselect</frontend_type>
422
+ <source_model>novalnet/novalnet_source_cctype</source_model>
423
+ <sort_order>4</sort_order>
424
+ <show_in_default>1</show_in_default>
425
+ <show_in_website>1</show_in_website>
426
+ <show_in_store>0</show_in_store>
427
+ </cctypes>
428
+ <merchant_id translate="label">
429
+ <label>Novalnet Merchant ID</label>
430
+ <frontend_type>text</frontend_type>
431
+ <sort_order>5</sort_order>
432
+ <show_in_default>1</show_in_default>
433
+ <show_in_website>1</show_in_website>
434
+ <show_in_store>0</show_in_store>
435
+ </merchant_id>
436
+ <auth_code translate="label">
437
+ <label>Novalnet Auth Code</label>
438
+ <frontend_type>text</frontend_type>
439
+ <sort_order>6</sort_order>
440
+ <show_in_default>1</show_in_default>
441
+ <show_in_website>1</show_in_website>
442
+ <show_in_store>0</show_in_store>
443
+ </auth_code>
444
+ <product_id translate="label">
445
+ <label>Novalnet Product ID</label>
446
+ <frontend_type>text</frontend_type>
447
+ <sort_order>7</sort_order>
448
+ <show_in_default>1</show_in_default>
449
+ <show_in_website>1</show_in_website>
450
+ <show_in_store>0</show_in_store>
451
+ </product_id>
452
+ <tariff_id translate="label">
453
+ <label>Novalnet Tariff ID</label>
454
+ <frontend_type>text</frontend_type>
455
+ <sort_order>8</sort_order>
456
+ <show_in_default>1</show_in_default>
457
+ <show_in_website>1</show_in_website>
458
+ <show_in_store>0</show_in_store>
459
+ </tariff_id>
460
+ <password translate="label">
461
+ <label>Password</label>
462
+ <frontend_type>text</frontend_type>
463
+ <sort_order>9</sort_order>
464
+ <show_in_default>1</show_in_default>
465
+ <show_in_website>1</show_in_website>
466
+ <show_in_store>0</show_in_store>
467
+ </password>
468
+ <manual_checking_amount tranlate="label" >
469
+ <label>Manual checking amount in cents</label>
470
+ <frontend_type>text</frontend_type>
471
+ <sort_order>9</sort_order>
472
+ <show_in_default>1</show_in_default>
473
+ <show_in_website>1</show_in_website>
474
+ <show_in_store>0</show_in_store>
475
+ </manual_checking_amount>
476
+ <second_product_id translate="label">
477
+ <label>Second Novalnet Product ID</label>
478
+ <frontend_type>text</frontend_type>
479
+ <sort_order>10</sort_order>
480
+ <show_in_default>1</show_in_default>
481
+ <show_in_website>1</show_in_website>
482
+ <show_in_store>0</show_in_store>
483
+ </second_product_id>
484
+ <second_tariff_id translate="label">
485
+ <label>Second Novalnet Tariff Id</label>
486
+ <frontend_type>text</frontend_type>
487
+ <sort_order>11</sort_order>
488
+ <show_in_default>1</show_in_default>
489
+ <show_in_website>1</show_in_website>
490
+ <show_in_store>0</show_in_store>
491
+ </second_tariff_id>
492
+ <callback translate="label">
493
+ <comment>
494
+ Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
495
+ Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
496
+ Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
497
+ andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
498
+ This service is only available for german customers.
499
+ </comment>
500
+ <label>PIN by Callback/SMS</label>
501
+ <frontend_type>select</frontend_type>
502
+ <source_model>novalnet/novalnet_source_callbacktypes</source_model>
503
+ <sort_order>12</sort_order>
504
+ <show_in_default>1</show_in_default>
505
+ <show_in_website>1</show_in_website>
506
+ <show_in_store>0</show_in_store>
507
+ </callback>
508
+ <callback_minimum_amount>
509
+ <label>Minimum Amout For Callback</label>
510
+ <frontend_type>text</frontend_type>
511
+ <sort_order>13</sort_order>
512
+ <show_in_default>1</show_in_default>
513
+ <show_in_website>1</show_in_website>
514
+ <show_in_store>0</show_in_store>
515
+ </callback_minimum_amount>
516
+ <booking_reference translate="label">
517
+ <label>Booking Reference</label>
518
+ <frontend_type>text</frontend_type>
519
+ <sort_order>14</sort_order>
520
+ <show_in_default>1</show_in_default>
521
+ <show_in_website>1</show_in_website>
522
+ <show_in_store>1</show_in_store>
523
+ </booking_reference>
524
+ <user_group_excluded translate="label">
525
+ <comment>
526
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
527
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
528
+ </comment>
529
+ <label>User Group Excluded</label>
530
+ <frontend_type>text</frontend_type>
531
+ <sort_order>15</sort_order>
532
+ <show_in_default>1</show_in_default>
533
+ <show_in_website>1</show_in_website>
534
+ <show_in_store>0</show_in_store>
535
+ </user_group_excluded>
536
+ <live_mode translate="label">
537
+ <label>Live Mode</label>
538
+ <frontend_type>select</frontend_type>
539
+ <source_model>adminhtml/system_config_source_yesno</source_model>
540
+ <sort_order>16</sort_order>
541
+ <show_in_default>1</show_in_default>
542
+ <show_in_website>1</show_in_website>
543
+ <show_in_store>0</show_in_store>
544
+ </live_mode>
545
+ <gateway_timeout translate="label">
546
+ <comment>Gateway Timeout in seconds</comment>
547
+ <label>Gateway Timeout</label>
548
+ <frontend_type>text</frontend_type>
549
+ <sort_order>17</sort_order>
550
+ <show_in_default>1</show_in_default>
551
+ <show_in_website>1</show_in_website>
552
+ <show_in_store>0</show_in_store>
553
+ </gateway_timeout>
554
+ <sort_order translate="label">
555
+ <label>Sort Order</label>
556
+ <frontend_type>text</frontend_type>
557
+ <sort_order>100</sort_order>
558
+ <show_in_default>1</show_in_default>
559
+ <show_in_website>1</show_in_website>
560
+ <show_in_store>0</show_in_store>
561
+ </sort_order>
562
+ <allowspecific translate="label">
563
+ <label>Payment from applicable countries</label>
564
+ <frontend_type>allowspecific</frontend_type>
565
+ <sort_order>18</sort_order>
566
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
567
+ <show_in_default>1</show_in_default>
568
+ <show_in_website>1</show_in_website>
569
+ <show_in_store>1</show_in_store>
570
+ </allowspecific>
571
+ <specificcountry translate="label">
572
+ <label>Payment from Specific countries</label>
573
+ <frontend_type>multiselect</frontend_type>
574
+ <sort_order>19</sort_order>
575
+ <source_model>adminhtml/system_config_source_country</source_model>
576
+ <show_in_default>1</show_in_default>
577
+ <show_in_website>1</show_in_website>
578
+ <show_in_store>1</show_in_store>
579
+ </specificcountry>
580
+ </fields>
581
+
582
+ </novalnetCc>
583
+ <novalnet_secure translate="label" module="novalnet">
584
+ <label>Novalnet Credit Card 3D-Secure</label>
585
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
586
+ <sort_order>683</sort_order>
587
+ <show_in_default>1</show_in_default>
588
+ <show_in_website>1</show_in_website>
589
+ <show_in_store>0</show_in_store>
590
+ <fields>
591
+ <active translate="label">
592
+ <label>Enabled</label>
593
+ <frontend_type>select</frontend_type>
594
+ <source_model>adminhtml/system_config_source_yesno</source_model>
595
+ <sort_order>1</sort_order>
596
+ <show_in_default>1</show_in_default>
597
+ <show_in_website>1</show_in_website>
598
+ <show_in_store>0</show_in_store>
599
+ </active>
600
+ <title translate="label">
601
+ <label>Title</label>
602
+ <frontend_type>text</frontend_type>
603
+ <sort_order>2</sort_order>
604
+ <show_in_default>1</show_in_default>
605
+ <show_in_website>1</show_in_website>
606
+ <show_in_store>0</show_in_store>
607
+ </title>
608
+ <order_status translate="label">
609
+ <label>New order status</label>
610
+ <frontend_type>select</frontend_type>
611
+ <source_model>adminhtml/system_config_source_order_status</source_model>
612
+ <sort_order>3</sort_order>
613
+ <show_in_default>1</show_in_default>
614
+ <show_in_website>1</show_in_website>
615
+ <show_in_store>0</show_in_store>
616
+ </order_status>
617
+ <cctypes translate="label">
618
+ <label>Credit Card Types</label>
619
+ <frontend_type>multiselect</frontend_type>
620
+ <source_model>novalnet/novalnet_source_cctype</source_model>
621
+ <sort_order>4</sort_order>
622
+ <show_in_default>1</show_in_default>
623
+ <show_in_website>1</show_in_website>
624
+ <show_in_store>0</show_in_store>
625
+ </cctypes>
626
+ <merchant_id translate="label">
627
+ <label>Novalnet Merchant ID</label>
628
+ <frontend_type>text</frontend_type>
629
+ <sort_order>5</sort_order>
630
+ <show_in_default>1</show_in_default>
631
+ <show_in_website>1</show_in_website>
632
+ <show_in_store>0</show_in_store>
633
+ </merchant_id>
634
+ <auth_code translate="label">
635
+ <label>Novalnet Auth Code</label>
636
+ <frontend_type>text</frontend_type>
637
+ <sort_order>6</sort_order>
638
+ <show_in_default>1</show_in_default>
639
+ <show_in_website>1</show_in_website>
640
+ <show_in_store>0</show_in_store>
641
+ </auth_code>
642
+ <product_id translate="label">
643
+ <label>Novalnet Product ID</label>
644
+ <frontend_type>text</frontend_type>
645
+ <sort_order>7</sort_order>
646
+ <show_in_default>1</show_in_default>
647
+ <show_in_website>1</show_in_website>
648
+ <show_in_store>0</show_in_store>
649
+ </product_id>
650
+ <tariff_id translate="label">
651
+ <label>Novalnet Tariff ID</label>
652
+ <frontend_type>text</frontend_type>
653
+ <sort_order>8</sort_order>
654
+ <show_in_default>1</show_in_default>
655
+ <show_in_website>1</show_in_website>
656
+ <show_in_store>0</show_in_store>
657
+ </tariff_id>
658
+ <manual_checking_amount tranlate="label" >
659
+ <label>Manual checking amount in cents</label>
660
+ <frontend_type>text</frontend_type>
661
+ <sort_order>9</sort_order>
662
+ <show_in_default>1</show_in_default>
663
+ <show_in_website>1</show_in_website>
664
+ <show_in_store>0</show_in_store>
665
+ </manual_checking_amount>
666
+ <second_product_id translate="label">
667
+ <label>Second Novalnet Product ID</label>
668
+ <frontend_type>text</frontend_type>
669
+ <sort_order>10</sort_order>
670
+ <show_in_default>1</show_in_default>
671
+ <show_in_website>1</show_in_website>
672
+ <show_in_store>0</show_in_store>
673
+ </second_product_id>
674
+ <second_tariff_id translate="label">
675
+ <label>Second Novalnet Tariff Id</label>
676
+ <frontend_type>text</frontend_type>
677
+ <sort_order>11</sort_order>
678
+ <show_in_default>1</show_in_default>
679
+ <show_in_website>1</show_in_website>
680
+ <show_in_store>0</show_in_store>
681
+ </second_tariff_id>
682
+ <booking_reference translate="label">
683
+ <label>Booking Reference</label>
684
+ <frontend_type>text</frontend_type>
685
+ <sort_order>12</sort_order>
686
+ <show_in_default>1</show_in_default>
687
+ <show_in_website>1</show_in_website>
688
+ <show_in_store>1</show_in_store>
689
+ </booking_reference>
690
+ <user_group_excluded translate="label">
691
+ <comment>
692
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
693
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
694
+ </comment>
695
+ <label>User Group Excluded</label>
696
+ <frontend_type>text</frontend_type>
697
+ <sort_order>13</sort_order>
698
+ <show_in_default>1</show_in_default>
699
+ <show_in_website>1</show_in_website>
700
+ <show_in_store>0</show_in_store>
701
+ </user_group_excluded>
702
+ <live_mode translate="label">
703
+ <label>Live Mode</label>
704
+ <frontend_type>select</frontend_type>
705
+ <source_model>adminhtml/system_config_source_yesno</source_model>
706
+ <sort_order>14</sort_order>
707
+ <show_in_default>1</show_in_default>
708
+ <show_in_website>1</show_in_website>
709
+ <show_in_store>0</show_in_store>
710
+ </live_mode>
711
+ <gateway_timeout translate="label">
712
+ <comment>Gateway Timeout in seconds</comment>
713
+ <label>Gateway Timeout</label>
714
+ <frontend_type>text</frontend_type>
715
+ <sort_order>17</sort_order>
716
+ <show_in_default>1</show_in_default>
717
+ <show_in_website>1</show_in_website>
718
+ <show_in_store>0</show_in_store>
719
+ </gateway_timeout>
720
+ <sort_order translate="label">
721
+ <label>Sort Order</label>
722
+ <frontend_type>text</frontend_type>
723
+ <sort_order>100</sort_order>
724
+ <show_in_default>1</show_in_default>
725
+ <show_in_website>1</show_in_website>
726
+ <show_in_store>0</show_in_store>
727
+ </sort_order>
728
+ <allowspecific translate="label">
729
+ <label>Payment from applicable countries</label>
730
+ <frontend_type>allowspecific</frontend_type>
731
+ <sort_order>18</sort_order>
732
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
733
+ <show_in_default>1</show_in_default>
734
+ <show_in_website>1</show_in_website>
735
+ <show_in_store>1</show_in_store>
736
+ </allowspecific>
737
+ <specificcountry translate="label">
738
+ <label>Payment from Specific countries</label>
739
+ <frontend_type>multiselect</frontend_type>
740
+ <sort_order>19</sort_order>
741
+ <source_model>adminhtml/system_config_source_country</source_model>
742
+ <show_in_default>1</show_in_default>
743
+ <show_in_website>1</show_in_website>
744
+ <show_in_store>1</show_in_store>
745
+ </specificcountry>
746
+ </fields>
747
+ </novalnet_secure>
748
+ <novalnetPrepayment translate="label" module="novalnet">
749
+ <label>Novalnet Prepayment</label>
750
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
751
+ <sort_order>690</sort_order>
752
+ <show_in_default>1</show_in_default>
753
+ <show_in_website>1</show_in_website>
754
+ <show_in_store>0</show_in_store>
755
+ <fields>
756
+ <active translate="label">
757
+ <label>Enabled</label>
758
+ <frontend_type>select</frontend_type>
759
+ <source_model>adminhtml/system_config_source_yesno</source_model>
760
+ <sort_order>1</sort_order>
761
+ <show_in_default>1</show_in_default>
762
+ <show_in_website>1</show_in_website>
763
+ <show_in_store>0</show_in_store>
764
+ </active>
765
+ <title translate="label">
766
+ <label>Title</label>
767
+ <frontend_type>text</frontend_type>
768
+ <sort_order>2</sort_order>
769
+ <show_in_default>1</show_in_default>
770
+ <show_in_website>1</show_in_website>
771
+ <show_in_store>0</show_in_store>
772
+ </title>
773
+ <order_status translate="label">
774
+ <label>New order status</label>
775
+ <frontend_type>select</frontend_type>
776
+ <source_model>adminhtml/system_config_source_order_status</source_model>
777
+ <sort_order>3</sort_order>
778
+ <show_in_default>1</show_in_default>
779
+ <show_in_website>1</show_in_website>
780
+ <show_in_store>0</show_in_store>
781
+ </order_status>
782
+ <merchant_id translate="label">
783
+ <label>Novalnet Merchant ID</label>
784
+ <frontend_type>text</frontend_type>
785
+ <sort_order>4</sort_order>
786
+ <show_in_default>1</show_in_default>
787
+ <show_in_website>1</show_in_website>
788
+ <show_in_store>0</show_in_store>
789
+ </merchant_id>
790
+ <auth_code translate="label">
791
+ <label>Novalnet Auth Code</label>
792
+ <frontend_type>text</frontend_type>
793
+ <sort_order>5</sort_order>
794
+ <show_in_default>1</show_in_default>
795
+ <show_in_website>1</show_in_website>
796
+ <show_in_store>0</show_in_store>
797
+ </auth_code>
798
+ <product_id translate="label">
799
+ <label>Novalnet Product ID</label>
800
+ <frontend_type>text</frontend_type>
801
+ <sort_order>6</sort_order>
802
+ <show_in_default>1</show_in_default>
803
+ <show_in_website>1</show_in_website>
804
+ <show_in_store>0</show_in_store>
805
+ </product_id>
806
+ <tariff_id translate="label">
807
+ <label>Novalnet Tariff ID</label>
808
+ <frontend_type>text</frontend_type>
809
+ <sort_order>7</sort_order>
810
+ <show_in_default>1</show_in_default>
811
+ <show_in_website>1</show_in_website>
812
+ <show_in_store>0</show_in_store>
813
+ </tariff_id>
814
+ <user_group_excluded translate="label">
815
+ <comment>
816
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
817
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
818
+ </comment>
819
+ <label>User Group Excluded</label>
820
+ <frontend_type>text</frontend_type>
821
+ <sort_order>8</sort_order>
822
+ <show_in_default>1</show_in_default>
823
+ <show_in_website>1</show_in_website>
824
+ <show_in_store>0</show_in_store>
825
+ </user_group_excluded>
826
+ <live_mode translate="label">
827
+ <label>Live Mode</label>
828
+ <frontend_type>select</frontend_type>
829
+ <source_model>adminhtml/system_config_source_yesno</source_model>
830
+ <sort_order>9</sort_order>
831
+ <show_in_default>1</show_in_default>
832
+ <show_in_website>1</show_in_website>
833
+ <show_in_store>0</show_in_store>
834
+ </live_mode>
835
+ <gateway_timeout translate="label">
836
+ <comment>Gateway Timeout in seconds</comment>
837
+ <label>Gateway Timeout</label>
838
+ <frontend_type>text</frontend_type>
839
+ <sort_order>10</sort_order>
840
+ <show_in_default>1</show_in_default>
841
+ <show_in_website>1</show_in_website>
842
+ <show_in_store>0</show_in_store>
843
+ </gateway_timeout>
844
+ <sort_order translate="label">
845
+ <label>Sort Order</label>
846
+ <frontend_type>text</frontend_type>
847
+ <sort_order>100</sort_order>
848
+ <show_in_default>1</show_in_default>
849
+ <show_in_website>1</show_in_website>
850
+ <show_in_store>0</show_in_store>
851
+ </sort_order>
852
+ <allowspecific translate="label">
853
+ <label>Payment from applicable countries</label>
854
+ <frontend_type>allowspecific</frontend_type>
855
+ <sort_order>18</sort_order>
856
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
857
+ <show_in_default>1</show_in_default>
858
+ <show_in_website>1</show_in_website>
859
+ <show_in_store>1</show_in_store>
860
+ </allowspecific>
861
+ <specificcountry translate="label">
862
+ <label>Payment from Specific countries</label>
863
+ <frontend_type>multiselect</frontend_type>
864
+ <sort_order>19</sort_order>
865
+ <source_model>adminhtml/system_config_source_country</source_model>
866
+ <show_in_default>1</show_in_default>
867
+ <show_in_website>1</show_in_website>
868
+ <show_in_store>1</show_in_store>
869
+ </specificcountry>
870
+ </fields>
871
+ </novalnetPrepayment>
872
+ <novalnetInvoice translate="label" module="novalnet">
873
+ <label>Novalnet Invoice</label>
874
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
875
+ <sort_order>689</sort_order>
876
+ <show_in_default>1</show_in_default>
877
+ <show_in_website>1</show_in_website>
878
+ <show_in_store>0</show_in_store>
879
+ <fields>
880
+ <active translate="label">
881
+ <label>Enabled</label>
882
+ <frontend_type>select</frontend_type>
883
+ <source_model>adminhtml/system_config_source_yesno</source_model>
884
+ <sort_order>1</sort_order>
885
+ <show_in_default>1</show_in_default>
886
+ <show_in_website>1</show_in_website>
887
+ <show_in_store>0</show_in_store>
888
+ </active>
889
+ <title translate="label">
890
+ <label>Title</label>
891
+ <frontend_type>text</frontend_type>
892
+ <sort_order>2</sort_order>
893
+ <show_in_default>1</show_in_default>
894
+ <show_in_website>1</show_in_website>
895
+ <show_in_store>0</show_in_store>
896
+ </title>
897
+ <order_status translate="label">
898
+ <label>New order status</label>
899
+ <frontend_type>select</frontend_type>
900
+ <source_model>adminhtml/system_config_source_order_status</source_model>
901
+ <sort_order>3</sort_order>
902
+ <show_in_default>1</show_in_default>
903
+ <show_in_website>1</show_in_website>
904
+ <show_in_store>0</show_in_store>
905
+ </order_status>
906
+ <merchant_id translate="label">
907
+ <label>Novalnet Merchant ID</label>
908
+ <frontend_type>text</frontend_type>
909
+ <sort_order>4</sort_order>
910
+ <show_in_default>1</show_in_default>
911
+ <show_in_website>1</show_in_website>
912
+ <show_in_store>0</show_in_store>
913
+ </merchant_id>
914
+ <auth_code translate="label">
915
+ <label>Novalnet Auth Code</label>
916
+ <frontend_type>text</frontend_type>
917
+ <sort_order>5</sort_order>
918
+ <show_in_default>1</show_in_default>
919
+ <show_in_website>1</show_in_website>
920
+ <show_in_store>0</show_in_store>
921
+ </auth_code>
922
+ <product_id translate="label">
923
+ <label>Novalnet Product ID</label>
924
+ <frontend_type>text</frontend_type>
925
+ <sort_order>6</sort_order>
926
+ <show_in_default>1</show_in_default>
927
+ <show_in_website>1</show_in_website>
928
+ <show_in_store>0</show_in_store>
929
+ </product_id>
930
+ <tariff_id translate="label">
931
+ <label>Novalnet Tariff ID</label>
932
+ <frontend_type>text</frontend_type>
933
+ <sort_order>7</sort_order>
934
+ <show_in_default>1</show_in_default>
935
+ <show_in_website>1</show_in_website>
936
+ <show_in_store>0</show_in_store>
937
+ </tariff_id>
938
+ <callback translate="label">
939
+ <comment>
940
+ Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
941
+ Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
942
+ Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
943
+ andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
944
+ This service is only available for german customers.
945
+ </comment>
946
+ <label>PIN by Callback/SMS</label>
947
+ <frontend_type>select</frontend_type>
948
+ <source_model>novalnet/novalnet_source_callbacktypes</source_model>
949
+ <sort_order>8</sort_order>
950
+ <show_in_default>1</show_in_default>
951
+ <show_in_website>1</show_in_website>
952
+ <show_in_store>0</show_in_store>
953
+ </callback>
954
+ <callback_minimum_amount>
955
+ <label>Minimum Amout For Callback</label>
956
+ <frontend_type>text</frontend_type>
957
+ <sort_order>9</sort_order>
958
+ <show_in_default>1</show_in_default>
959
+ <show_in_website>1</show_in_website>
960
+ <show_in_store>0</show_in_store>
961
+ </callback_minimum_amount>
962
+ <payment_duration translate="label">
963
+ <label>Payment Duration</label>
964
+ <frontend_type>text</frontend_type>
965
+ <sort_order>10</sort_order>
966
+ <show_in_default>1</show_in_default>
967
+ <show_in_website>1</show_in_website>
968
+ <show_in_store>0</show_in_store>
969
+ </payment_duration>
970
+ <user_group_excluded translate="label">
971
+ <comment>
972
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
973
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
974
+ </comment>
975
+ <label>User Group Excluded</label>
976
+ <frontend_type>text</frontend_type>
977
+ <sort_order>11</sort_order>
978
+ <show_in_default>1</show_in_default>
979
+ <show_in_website>1</show_in_website>
980
+ <show_in_store>0</show_in_store>
981
+ </user_group_excluded>
982
+ <live_mode translate="label">
983
+ <label>Live Mode</label>
984
+ <frontend_type>select</frontend_type>
985
+ <source_model>adminhtml/system_config_source_yesno</source_model>
986
+ <sort_order>12</sort_order>
987
+ <show_in_default>1</show_in_default>
988
+ <show_in_website>1</show_in_website>
989
+ <show_in_store>0</show_in_store>
990
+ </live_mode>
991
+ <gateway_timeout translate="label">
992
+ <comment>Gateway Timeout in seconds</comment>
993
+ <label>Gateway Timeout</label>
994
+ <frontend_type>text</frontend_type>
995
+ <sort_order>13</sort_order>
996
+ <show_in_default>1</show_in_default>
997
+ <show_in_website>1</show_in_website>
998
+ <show_in_store>0</show_in_store>
999
+ </gateway_timeout>
1000
+ <sort_order translate="label">
1001
+ <label>Sort Order</label>
1002
+ <frontend_type>text</frontend_type>
1003
+ <sort_order>100</sort_order>
1004
+ <show_in_default>1</show_in_default>
1005
+ <show_in_website>1</show_in_website>
1006
+ <show_in_store>0</show_in_store>
1007
+ </sort_order>
1008
+ <allowspecific translate="label">
1009
+ <label>Payment from applicable countries</label>
1010
+ <frontend_type>allowspecific</frontend_type>
1011
+ <sort_order>18</sort_order>
1012
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1013
+ <show_in_default>1</show_in_default>
1014
+ <show_in_website>1</show_in_website>
1015
+ <show_in_store>1</show_in_store>
1016
+ </allowspecific>
1017
+ <specificcountry translate="label">
1018
+ <label>Payment from Specific countries</label>
1019
+ <frontend_type>multiselect</frontend_type>
1020
+ <sort_order>19</sort_order>
1021
+ <source_model>adminhtml/system_config_source_country</source_model>
1022
+ <show_in_default>1</show_in_default>
1023
+ <show_in_website>1</show_in_website>
1024
+ <show_in_store>1</show_in_store>
1025
+ </specificcountry>
1026
+ </fields>
1027
+ </novalnetInvoice>
1028
+ <novalnetPhonepayment translate="label" module="novalnet">
1029
+ <label>Novalnet Phonepayment</label>
1030
+ <comment>Wenn Sie Telefonpayment testen wollen, kontaktieren Sie bitte die Novalnet AG (Tel.: 0049 89 923068320). If you like to test phonepayment contact Novalnet AG (Phone: 0049 89 923068320), please!</comment>
1031
+ <sort_order>691</sort_order>
1032
+ <show_in_default>1</show_in_default>
1033
+ <show_in_website>1</show_in_website>
1034
+ <show_in_store>0</show_in_store>
1035
+ <fields>
1036
+ <active translate="label">
1037
+ <label>Enabled</label>
1038
+ <frontend_type>select</frontend_type>
1039
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1040
+ <sort_order>1</sort_order>
1041
+ <show_in_default>1</show_in_default>
1042
+ <show_in_website>1</show_in_website>
1043
+ <show_in_store>0</show_in_store>
1044
+ </active>
1045
+ <title translate="label">
1046
+ <label>Title</label>
1047
+ <frontend_type>text</frontend_type>
1048
+ <sort_order>2</sort_order>
1049
+ <show_in_default>1</show_in_default>
1050
+ <show_in_website>1</show_in_website>
1051
+ <show_in_store>0</show_in_store>
1052
+ </title>
1053
+ <order_status translate="label">
1054
+ <label>New order status</label>
1055
+ <frontend_type>select</frontend_type>
1056
+ <source_model>adminhtml/system_config_source_order_status</source_model>
1057
+ <sort_order>3</sort_order>
1058
+ <show_in_default>1</show_in_default>
1059
+ <show_in_website>1</show_in_website>
1060
+ <show_in_store>0</show_in_store>
1061
+ </order_status>
1062
+ <merchant_id translate="label">
1063
+ <label>Novalnet Merchant ID</label>
1064
+ <frontend_type>text</frontend_type>
1065
+ <sort_order>4</sort_order>
1066
+ <show_in_default>1</show_in_default>
1067
+ <show_in_website>1</show_in_website>
1068
+ <show_in_store>0</show_in_store>
1069
+ </merchant_id>
1070
+ <auth_code translate="label">
1071
+ <label>Novalnet Auth Code</label>
1072
+ <frontend_type>text</frontend_type>
1073
+ <sort_order>5</sort_order>
1074
+ <show_in_default>1</show_in_default>
1075
+ <show_in_website>1</show_in_website>
1076
+ <show_in_store>0</show_in_store>
1077
+ </auth_code>
1078
+ <product_id translate="label">
1079
+ <label>Novalnet Product ID</label>
1080
+ <frontend_type>text</frontend_type>
1081
+ <sort_order>6</sort_order>
1082
+ <show_in_default>1</show_in_default>
1083
+ <show_in_website>1</show_in_website>
1084
+ <show_in_store>0</show_in_store>
1085
+ </product_id>
1086
+ <tariff_id translate="label">
1087
+ <label>Novalnet Tariff ID</label>
1088
+ <frontend_type>text</frontend_type>
1089
+ <sort_order>7</sort_order>
1090
+ <show_in_default>1</show_in_default>
1091
+ <show_in_website>1</show_in_website>
1092
+ <show_in_store>0</show_in_store>
1093
+ </tariff_id>
1094
+ <user_group_excluded translate="label">
1095
+ <comment>
1096
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1097
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1098
+ </comment>
1099
+ <label>User Group Excluded</label>
1100
+ <frontend_type>text</frontend_type>
1101
+ <sort_order>8</sort_order>
1102
+ <show_in_default>1</show_in_default>
1103
+ <show_in_website>1</show_in_website>
1104
+ <show_in_store>0</show_in_store>
1105
+ </user_group_excluded>
1106
+ <gateway_timeout translate="label">
1107
+ <comment>Gateway Timeout in seconds</comment>
1108
+ <label>Gateway Timeout</label>
1109
+ <frontend_type>text</frontend_type>
1110
+ <sort_order>9</sort_order>
1111
+ <show_in_default>1</show_in_default>
1112
+ <show_in_website>1</show_in_website>
1113
+ <show_in_store>0</show_in_store>
1114
+ </gateway_timeout>
1115
+ <sort_order translate="label">
1116
+ <label>Sort Order</label>
1117
+ <frontend_type>text</frontend_type>
1118
+ <sort_order>100</sort_order>
1119
+ <show_in_default>1</show_in_default>
1120
+ <show_in_website>1</show_in_website>
1121
+ <show_in_store>0</show_in_store>
1122
+ </sort_order>
1123
+ <allowspecific translate="label">
1124
+ <label>Payment from applicable countries</label>
1125
+ <frontend_type>allowspecific</frontend_type>
1126
+ <sort_order>18</sort_order>
1127
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1128
+ <show_in_default>1</show_in_default>
1129
+ <show_in_website>1</show_in_website>
1130
+ <show_in_store>1</show_in_store>
1131
+ </allowspecific>
1132
+ <specificcountry translate="label">
1133
+ <label>Payment from Specific countries</label>
1134
+ <frontend_type>multiselect</frontend_type>
1135
+ <sort_order>19</sort_order>
1136
+ <source_model>adminhtml/system_config_source_country</source_model>
1137
+ <show_in_default>1</show_in_default>
1138
+ <show_in_website>1</show_in_website>
1139
+ <show_in_store>1</show_in_store>
1140
+ </specificcountry>
1141
+ </fields>
1142
+ </novalnetPhonepayment>
1143
+ <!-- ccpci-start -->
1144
+ <novalnetCcpci translate="label" module="novalnet">
1145
+ <label>Novalnet Credit Card PCI</label>
1146
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
1147
+ <sort_order>687</sort_order>
1148
+ <show_in_default>1</show_in_default>
1149
+ <show_in_website>1</show_in_website>
1150
+ <show_in_store>0</show_in_store>
1151
+ <fields>
1152
+ <active translate="label">
1153
+ <label>Enabled</label>
1154
+ <frontend_type>select</frontend_type>
1155
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1156
+ <sort_order>1</sort_order>
1157
+ <show_in_default>1</show_in_default>
1158
+ <show_in_website>1</show_in_website>
1159
+ <show_in_store>0</show_in_store>
1160
+ </active>
1161
+ <title translate="label">
1162
+ <label>Title</label>
1163
+ <frontend_type>text</frontend_type>
1164
+ <sort_order>2</sort_order>
1165
+ <show_in_default>1</show_in_default>
1166
+ <show_in_website>1</show_in_website>
1167
+ <show_in_store>0</show_in_store>
1168
+ </title>
1169
+ <order_status translate="label">
1170
+ <label>New order status</label>
1171
+ <frontend_type>select</frontend_type>
1172
+ <source_model>adminhtml/system_config_source_order_status</source_model>
1173
+ <sort_order>3</sort_order>
1174
+ <show_in_default>1</show_in_default>
1175
+ <show_in_website>1</show_in_website>
1176
+ <show_in_store>0</show_in_store>
1177
+ </order_status>
1178
+ <merchant_id translate="label">
1179
+ <label>Novalnet Merchant ID</label>
1180
+ <frontend_type>text</frontend_type>
1181
+ <sort_order>4</sort_order>
1182
+ <show_in_default>1</show_in_default>
1183
+ <show_in_website>1</show_in_website>
1184
+ <show_in_store>0</show_in_store>
1185
+ </merchant_id>
1186
+ <auth_code translate="label">
1187
+ <label>Novalnet Auth Code</label>
1188
+ <frontend_type>text</frontend_type>
1189
+ <sort_order>5</sort_order>
1190
+ <show_in_default>1</show_in_default>
1191
+ <show_in_website>1</show_in_website>
1192
+ <show_in_store>0</show_in_store>
1193
+ </auth_code>
1194
+ <product_id translate="label">
1195
+ <label>Novalnet Product ID</label>
1196
+ <frontend_type>text</frontend_type>
1197
+ <sort_order>6</sort_order>
1198
+ <show_in_default>1</show_in_default>
1199
+ <show_in_website>1</show_in_website>
1200
+ <show_in_store>0</show_in_store>
1201
+ </product_id>
1202
+ <tariff_id translate="label">
1203
+ <label>Novalnet Tariff Id</label>
1204
+ <frontend_type>text</frontend_type>
1205
+ <sort_order>7</sort_order>
1206
+ <show_in_default>1</show_in_default>
1207
+ <show_in_website>1</show_in_website>
1208
+ <show_in_store>0</show_in_store>
1209
+ </tariff_id>
1210
+ <manual_checking_amount tranlate="label" >
1211
+ <label>Manual checking amount in cents</label>
1212
+ <frontend_type>text</frontend_type>
1213
+ <sort_order>8</sort_order>
1214
+ <show_in_default>1</show_in_default>
1215
+ <show_in_website>1</show_in_website>
1216
+ <show_in_store>0</show_in_store>
1217
+ </manual_checking_amount>
1218
+ <second_product_id translate="label">
1219
+ <label>Second Novalnet Product ID</label>
1220
+ <frontend_type>text</frontend_type>
1221
+ <sort_order>9</sort_order>
1222
+ <show_in_default>1</show_in_default>
1223
+ <show_in_website>1</show_in_website>
1224
+ <show_in_store>0</show_in_store>
1225
+ </second_product_id>
1226
+ <second_tariff_id translate="label">
1227
+ <label>Second Novalnet Tariff Id</label>
1228
+ <frontend_type>text</frontend_type>
1229
+ <sort_order>10</sort_order>
1230
+ <show_in_default>1</show_in_default>
1231
+ <show_in_website>1</show_in_website>
1232
+ <show_in_store>0</show_in_store>
1233
+ </second_tariff_id>
1234
+ <password translate="label">
1235
+ <label>Password</label>
1236
+ <frontend_type>text</frontend_type>
1237
+ <sort_order>9</sort_order>
1238
+ <show_in_default>1</show_in_default>
1239
+ <show_in_website>1</show_in_website>
1240
+ <show_in_store>0</show_in_store>
1241
+ </password>
1242
+ <booking_reference translate="label">
1243
+ <label>Booking Reference</label>
1244
+ <frontend_type>text</frontend_type>
1245
+ <sort_order>11</sort_order>
1246
+ <show_in_default>1</show_in_default>
1247
+ <show_in_website>1</show_in_website>
1248
+ <show_in_store>1</show_in_store>
1249
+ </booking_reference>
1250
+ <user_group_excluded translate="label">
1251
+ <comment>
1252
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1253
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1254
+ </comment>
1255
+ <label>User Group Excluded</label>
1256
+ <frontend_type>text</frontend_type>
1257
+ <sort_order>12</sort_order>
1258
+ <show_in_default>1</show_in_default>
1259
+ <show_in_website>1</show_in_website>
1260
+ <show_in_store>0</show_in_store>
1261
+ </user_group_excluded>
1262
+ <live_mode translate="label">
1263
+ <label>Live Mode</label>
1264
+ <frontend_type>select</frontend_type>
1265
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1266
+ <sort_order>13</sort_order>
1267
+ <show_in_default>1</show_in_default>
1268
+ <show_in_website>1</show_in_website>
1269
+ <show_in_store>0</show_in_store>
1270
+ </live_mode>
1271
+ <gateway_timeout translate="label">
1272
+ <comment>Gateway Timeout in seconds</comment>
1273
+ <label>Gateway Timeout</label>
1274
+ <frontend_type>text</frontend_type>
1275
+ <sort_order>17</sort_order>
1276
+ <show_in_default>1</show_in_default>
1277
+ <show_in_website>1</show_in_website>
1278
+ <show_in_store>0</show_in_store>
1279
+ </gateway_timeout>
1280
+ <sort_order translate="label">
1281
+ <label>Sort Order</label>
1282
+ <frontend_type>text</frontend_type>
1283
+ <sort_order>100</sort_order>
1284
+ <show_in_default>1</show_in_default>
1285
+ <show_in_website>1</show_in_website>
1286
+ <show_in_store>0</show_in_store>
1287
+ </sort_order>
1288
+ <createinvoice translate="label">
1289
+ <label>Create Invoice</label>
1290
+ <frontend_type>select</frontend_type>
1291
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1292
+ <sort_order>18</sort_order>
1293
+ <show_in_default>1</show_in_default>
1294
+ <show_in_website>1</show_in_website>
1295
+ <show_in_store>1</show_in_store>
1296
+ </createinvoice>
1297
+ <allowspecific translate="label">
1298
+ <label>Payment from applicable countries</label>
1299
+ <frontend_type>allowspecific</frontend_type>
1300
+ <sort_order>19</sort_order>
1301
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1302
+ <show_in_default>1</show_in_default>
1303
+ <show_in_website>1</show_in_website>
1304
+ <show_in_store>1</show_in_store>
1305
+ </allowspecific>
1306
+ <specificcountry translate="label">
1307
+ <label>Payment from Specific countries</label>
1308
+ <frontend_type>multiselect</frontend_type>
1309
+ <sort_order>20</sort_order>
1310
+ <source_model>adminhtml/system_config_source_country</source_model>
1311
+ <show_in_default>1</show_in_default>
1312
+ <show_in_website>1</show_in_website>
1313
+ <show_in_store>1</show_in_store>
1314
+ </specificcountry>
1315
+ </fields>
1316
+ </novalnetCcpci>
1317
+ <!-- ccpci-end -->
1318
+ <!-- elvdepci-start -->
1319
+ <novalnetElvdepci translate="label" module="novalnet">
1320
+ <label>Novalnet Direct Debit German PCI</label>
1321
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
1322
+ <sort_order>689</sort_order>
1323
+ <show_in_default>1</show_in_default>
1324
+ <show_in_website>1</show_in_website>
1325
+ <show_in_store>0</show_in_store>
1326
+ <fields>
1327
+ <active translate="label">
1328
+ <label>Enabled</label>
1329
+ <frontend_type>select</frontend_type>
1330
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1331
+ <sort_order>1</sort_order>
1332
+ <show_in_default>1</show_in_default>
1333
+ <show_in_website>1</show_in_website>
1334
+ <show_in_store>0</show_in_store>
1335
+ </active>
1336
+ <title translate="label">
1337
+ <label>Title</label>
1338
+ <frontend_type>text</frontend_type>
1339
+ <sort_order>2</sort_order>
1340
+ <show_in_default>1</show_in_default>
1341
+ <show_in_website>1</show_in_website>
1342
+ <show_in_store>0</show_in_store>
1343
+ </title>
1344
+ <order_status translate="label">
1345
+ <label>New order status</label>
1346
+ <frontend_type>select</frontend_type>
1347
+ <source_model>adminhtml/system_config_source_order_status</source_model>
1348
+ <sort_order>3</sort_order>
1349
+ <show_in_default>1</show_in_default>
1350
+ <show_in_website>1</show_in_website>
1351
+ <show_in_store>0</show_in_store>
1352
+ </order_status>
1353
+ <merchant_id translate="label">
1354
+ <label>Novalnet Merchant ID</label>
1355
+ <frontend_type>text</frontend_type>
1356
+ <sort_order>4</sort_order>
1357
+ <show_in_default>1</show_in_default>
1358
+ <show_in_website>1</show_in_website>
1359
+ <show_in_store>0</show_in_store>
1360
+ </merchant_id>
1361
+ <auth_code translate="label">
1362
+ <label>Novalnet Auth Code</label>
1363
+ <frontend_type>text</frontend_type>
1364
+ <sort_order>5</sort_order>
1365
+ <show_in_default>1</show_in_default>
1366
+ <show_in_website>1</show_in_website>
1367
+ <show_in_store>0</show_in_store>
1368
+ </auth_code>
1369
+ <product_id translate="label">
1370
+ <label>Novalnet Product ID</label>
1371
+ <frontend_type>text</frontend_type>
1372
+ <sort_order>6</sort_order>
1373
+ <show_in_default>1</show_in_default>
1374
+ <show_in_website>1</show_in_website>
1375
+ <show_in_store>0</show_in_store>
1376
+ </product_id>
1377
+ <tariff_id translate="label">
1378
+ <label>Novalnet Tariff Id</label>
1379
+ <frontend_type>text</frontend_type>
1380
+ <sort_order>7</sort_order>
1381
+ <show_in_default>1</show_in_default>
1382
+ <show_in_website>1</show_in_website>
1383
+ <show_in_store>0</show_in_store>
1384
+ </tariff_id>
1385
+ <password translate="label">
1386
+ <label>Password</label>
1387
+ <frontend_type>text</frontend_type>
1388
+ <sort_order>9</sort_order>
1389
+ <show_in_default>1</show_in_default>
1390
+ <show_in_website>1</show_in_website>
1391
+ <show_in_store>0</show_in_store>
1392
+ </password>
1393
+ <manual_checking_amount tranlate="label" >
1394
+ <label>Manual checking amount in cents</label>
1395
+ <frontend_type>text</frontend_type>
1396
+ <sort_order>8</sort_order>
1397
+ <show_in_default>1</show_in_default>
1398
+ <show_in_website>1</show_in_website>
1399
+ <show_in_store>0</show_in_store>
1400
+ </manual_checking_amount>
1401
+ <second_product_id translate="label">
1402
+ <label>Second Novalnet Product ID</label>
1403
+ <frontend_type>text</frontend_type>
1404
+ <sort_order>9</sort_order>
1405
+ <show_in_default>1</show_in_default>
1406
+ <show_in_website>1</show_in_website>
1407
+ <show_in_store>0</show_in_store>
1408
+ </second_product_id>
1409
+ <second_tariff_id translate="label">
1410
+ <label>Second Novalnet Tariff Id</label>
1411
+ <frontend_type>text</frontend_type>
1412
+ <sort_order>10</sort_order>
1413
+ <show_in_default>1</show_in_default>
1414
+ <show_in_website>1</show_in_website>
1415
+ <show_in_store>0</show_in_store>
1416
+ </second_tariff_id>
1417
+ <booking_reference translate="label">
1418
+ <label>Booking Reference</label>
1419
+ <frontend_type>text</frontend_type>
1420
+ <sort_order>11</sort_order>
1421
+ <show_in_default>1</show_in_default>
1422
+ <show_in_website>1</show_in_website>
1423
+ <show_in_store>1</show_in_store>
1424
+ </booking_reference>
1425
+ <user_group_excluded translate="label">
1426
+ <comment>
1427
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1428
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1429
+ </comment>
1430
+ <label>User Group Excluded</label>
1431
+ <frontend_type>text</frontend_type>
1432
+ <sort_order>13</sort_order>
1433
+ <show_in_default>1</show_in_default>
1434
+ <show_in_website>1</show_in_website>
1435
+ <show_in_store>0</show_in_store>
1436
+ </user_group_excluded>
1437
+ <live_mode translate="label">
1438
+ <label>Live Mode</label>
1439
+ <frontend_type>select</frontend_type>
1440
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1441
+ <sort_order>14</sort_order>
1442
+ <show_in_default>1</show_in_default>
1443
+ <show_in_website>1</show_in_website>
1444
+ <show_in_store>0</show_in_store>
1445
+ </live_mode>
1446
+ <gateway_timeout translate="label">
1447
+ <comment>Gateway Timeout in seconds</comment>
1448
+ <label>Gateway Timeout</label>
1449
+ <frontend_type>text</frontend_type>
1450
+ <sort_order>17</sort_order>
1451
+ <show_in_default>1</show_in_default>
1452
+ <show_in_website>1</show_in_website>
1453
+ <show_in_store>0</show_in_store>
1454
+ </gateway_timeout>
1455
+ <sort_order translate="label">
1456
+ <label>Sort Order</label>
1457
+ <frontend_type>text</frontend_type>
1458
+ <sort_order>100</sort_order>
1459
+ <show_in_default>1</show_in_default>
1460
+ <show_in_website>1</show_in_website>
1461
+ <show_in_store>0</show_in_store>
1462
+ </sort_order>
1463
+ <createinvoice translate="label">
1464
+ <label>Create Invoice</label>
1465
+ <frontend_type>select</frontend_type>
1466
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1467
+ <sort_order>18</sort_order>
1468
+ <show_in_default>1</show_in_default>
1469
+ <show_in_website>1</show_in_website>
1470
+ <show_in_store>1</show_in_store>
1471
+ </createinvoice>
1472
+ <allowspecific translate="label">
1473
+ <label>Payment from applicable countries</label>
1474
+ <frontend_type>allowspecific</frontend_type>
1475
+ <sort_order>19</sort_order>
1476
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1477
+ <show_in_default>1</show_in_default>
1478
+ <show_in_website>1</show_in_website>
1479
+ <show_in_store>1</show_in_store>
1480
+ </allowspecific>
1481
+ <specificcountry translate="label">
1482
+ <label>Payment from Specific countries</label>
1483
+ <frontend_type>multiselect</frontend_type>
1484
+ <sort_order>20</sort_order>
1485
+ <source_model>adminhtml/system_config_source_country</source_model>
1486
+ <show_in_default>1</show_in_default>
1487
+ <show_in_website>1</show_in_website>
1488
+ <show_in_store>1</show_in_store>
1489
+ </specificcountry>
1490
+ </fields>
1491
+ </novalnetElvdepci>
1492
+ <!-- elvdepci-end -->
1493
+ <!-- elvatpci-start -->
1494
+ <novalnetElvatpci translate="label" module="novalnet">
1495
+ <label>Novalnet Direct Debit Austria PCI</label>
1496
+ <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
1497
+ <sort_order>691</sort_order>
1498
+ <show_in_default>1</show_in_default>
1499
+ <show_in_website>1</show_in_website>
1500
+ <show_in_store>0</show_in_store>
1501
+ <fields>
1502
+ <active translate="label">
1503
+ <label>Enabled</label>
1504
+ <frontend_type>select</frontend_type>
1505
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1506
+ <sort_order>1</sort_order>
1507
+ <show_in_default>1</show_in_default>
1508
+ <show_in_website>1</show_in_website>
1509
+ <show_in_store>0</show_in_store>
1510
+ </active>
1511
+ <title translate="label">
1512
+ <label>Title</label>
1513
+ <frontend_type>text</frontend_type>
1514
+ <sort_order>2</sort_order>
1515
+ <show_in_default>1</show_in_default>
1516
+ <show_in_website>1</show_in_website>
1517
+ <show_in_store>0</show_in_store>
1518
+ </title>
1519
+ <order_status translate="label">
1520
+ <label>New order status</label>
1521
+ <frontend_type>select</frontend_type>
1522
+ <source_model>adminhtml/system_config_source_order_status</source_model>
1523
+ <sort_order>3</sort_order>
1524
+ <show_in_default>1</show_in_default>
1525
+ <show_in_website>1</show_in_website>
1526
+ <show_in_store>0</show_in_store>
1527
+ </order_status>
1528
+ <merchant_id translate="label">
1529
+ <label>Novalnet Merchant ID</label>
1530
+ <frontend_type>text</frontend_type>
1531
+ <sort_order>4</sort_order>
1532
+ <show_in_default>1</show_in_default>
1533
+ <show_in_website>1</show_in_website>
1534
+ <show_in_store>0</show_in_store>
1535
+ </merchant_id>
1536
+ <auth_code translate="label">
1537
+ <label>Novalnet Auth Code</label>
1538
+ <frontend_type>text</frontend_type>
1539
+ <sort_order>5</sort_order>
1540
+ <show_in_default>1</show_in_default>
1541
+ <show_in_website>1</show_in_website>
1542
+ <show_in_store>0</show_in_store>
1543
+ </auth_code>
1544
+ <product_id translate="label">
1545
+ <label>Novalnet Product ID</label>
1546
+ <frontend_type>text</frontend_type>
1547
+ <sort_order>6</sort_order>
1548
+ <show_in_default>1</show_in_default>
1549
+ <show_in_website>1</show_in_website>
1550
+ <show_in_store>0</show_in_store>
1551
+ </product_id>
1552
+ <tariff_id translate="label">
1553
+ <label>Novalnet Tariff Id</label>
1554
+ <frontend_type>text</frontend_type>
1555
+ <sort_order>7</sort_order>
1556
+ <show_in_default>1</show_in_default>
1557
+ <show_in_website>1</show_in_website>
1558
+ <show_in_store>0</show_in_store>
1559
+ </tariff_id>
1560
+ <password translate="label">
1561
+ <label>Password</label>
1562
+ <frontend_type>text</frontend_type>
1563
+ <sort_order>9</sort_order>
1564
+ <show_in_default>1</show_in_default>
1565
+ <show_in_website>1</show_in_website>
1566
+ <show_in_store>0</show_in_store>
1567
+ </password>
1568
+ <manual_checking_amount tranlate="label" >
1569
+ <label>Manual checking amount in cents</label>
1570
+ <frontend_type>text</frontend_type>
1571
+ <sort_order>8</sort_order>
1572
+ <show_in_default>1</show_in_default>
1573
+ <show_in_website>1</show_in_website>
1574
+ <show_in_store>0</show_in_store>
1575
+ </manual_checking_amount>
1576
+ <second_product_id translate="label">
1577
+ <label>Second Novalnet Product ID</label>
1578
+ <frontend_type>text</frontend_type>
1579
+ <sort_order>9</sort_order>
1580
+ <show_in_default>1</show_in_default>
1581
+ <show_in_website>1</show_in_website>
1582
+ <show_in_store>0</show_in_store>
1583
+ </second_product_id>
1584
+ <second_tariff_id translate="label">
1585
+ <label>Second Novalnet Tariff Id</label>
1586
+ <frontend_type>text</frontend_type>
1587
+ <sort_order>10</sort_order>
1588
+ <show_in_default>1</show_in_default>
1589
+ <show_in_website>1</show_in_website>
1590
+ <show_in_store>0</show_in_store>
1591
+ </second_tariff_id>
1592
+ <booking_reference translate="label">
1593
+ <label>Booking Reference</label>
1594
+ <frontend_type>text</frontend_type>
1595
+ <sort_order>11</sort_order>
1596
+ <show_in_default>1</show_in_default>
1597
+ <show_in_website>1</show_in_website>
1598
+ <show_in_store>1</show_in_store>
1599
+ </booking_reference>
1600
+ <user_group_excluded translate="label">
1601
+ <comment>
1602
+ Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1603
+ To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1604
+ </comment>
1605
+ <label>User Group Excluded</label>
1606
+ <frontend_type>text</frontend_type>
1607
+ <sort_order>12</sort_order>
1608
+ <show_in_default>1</show_in_default>
1609
+ <show_in_website>1</show_in_website>
1610
+ <show_in_store>0</show_in_store>
1611
+ </user_group_excluded>
1612
+ <live_mode translate="label">
1613
+ <label>Live Mode</label>
1614
+ <frontend_type>select</frontend_type>
1615
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1616
+ <sort_order>13</sort_order>
1617
+ <show_in_default>1</show_in_default>
1618
+ <show_in_website>1</show_in_website>
1619
+ <show_in_store>0</show_in_store>
1620
+ </live_mode>
1621
+ <gateway_timeout translate="label">
1622
+ <comment>Gateway Timeout in seconds</comment>
1623
+ <label>Gateway Timeout</label>
1624
+ <frontend_type>text</frontend_type>
1625
+ <sort_order>17</sort_order>
1626
+ <show_in_default>1</show_in_default>
1627
+ <show_in_website>1</show_in_website>
1628
+ <show_in_store>0</show_in_store>
1629
+ </gateway_timeout>
1630
+ <sort_order translate="label">
1631
+ <label>Sort Order</label>
1632
+ <frontend_type>text</frontend_type>
1633
+ <sort_order>100</sort_order>
1634
+ <show_in_default>1</show_in_default>
1635
+ <show_in_website>1</show_in_website>
1636
+ <show_in_store>0</show_in_store>
1637
+ </sort_order>
1638
+ <createinvoice translate="label">
1639
+ <label>Create Invoice</label>
1640
+ <frontend_type>select</frontend_type>
1641
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1642
+ <sort_order>18</sort_order>
1643
+ <show_in_default>1</show_in_default>
1644
+ <show_in_website>1</show_in_website>
1645
+ <show_in_store>1</show_in_store>
1646
+ </createinvoice>
1647
+ <allowspecific translate="label">
1648
+ <label>Payment from applicable countries</label>
1649
+ <frontend_type>allowspecific</frontend_type>
1650
+ <sort_order>19</sort_order>
1651
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1652
+ <show_in_default>1</show_in_default>
1653
+ <show_in_website>1</show_in_website>
1654
+ <show_in_store>1</show_in_store>
1655
+ </allowspecific>
1656
+ <specificcountry translate="label">
1657
+ <label>Payment from Specific countries</label>
1658
+ <frontend_type>multiselect</frontend_type>
1659
+ <sort_order>20</sort_order>
1660
+ <source_model>adminhtml/system_config_source_country</source_model>
1661
+ <show_in_default>1</show_in_default>
1662
+ <show_in_website>1</show_in_website>
1663
+ <show_in_store>1</show_in_store>
1664
+ </specificcountry>
1665
+ </fields>
1666
+ </novalnetElvatpci>
1667
+ <!-- elvatpci-end -->
1668
+ </groups>
1669
+ </payment>
1670
+ </sections>
1671
+ </config>
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-install-1.0.0.php CHANGED
@@ -1,25 +1,52 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  ?>
1
+ <?php
2
+ $installer = $this;
3
+ $setup = new Mage_Sales_Model_Mysql4_Setup('core_setup');
4
+
5
+ $installer->startSetup();
6
+ $setup->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
7
+ $setup->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
8
+ $setup->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
9
+ $setup->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
10
+
11
+ $setup->addAttribute('order_payment', 'nn_account_holder_at', array('type'=>'varchar'));
12
+ $setup->addAttribute('order_payment', 'nn_account_number_at', array('type'=>'varchar'));
13
+ $setup->addAttribute('order_payment', 'nn_bank_sorting_code_at', array('type'=>'varchar'));
14
+ $setup->addAttribute('order_payment', 'nn_elv_country_at', array('type'=>'varchar'));
15
+ $setup->addAttribute('order_payment', 'nn_testorder', array('type'=>'smallint'));
16
+ // Save the payment information for prepayment & invoice
17
+ $setup->addAttribute('order_payment', 'nn_comments', array('type'=>'text'));
18
+
19
+ $setup->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
20
+ $setup->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
21
+ $setup->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
22
+ $setup->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
23
+
24
+ $setup->addAttribute('quote_payment', 'nn_account_holder_at', array('type'=>'varchar'));
25
+ $setup->addAttribute('quote_payment', 'nn_account_number_at', array('type'=>'varchar'));
26
+ $setup->addAttribute('quote_payment', 'nn_bank_sorting_code_at', array('type'=>'varchar'));
27
+ $setup->addAttribute('quote_payment', 'nn_elv_country_at', array('type'=>'varchar'));
28
+
29
+ $setup->addAttribute('quote_payment', 'nn_testorder', array('type'=>'smallint'));
30
+ // Save the payment information for prepayment & invoice
31
+ $setup->addAttribute('quote_payment', 'nn_comments', array('type'=>'text'));
32
+
33
+ $installer->endSetup();
34
+
35
+ if (Mage::getVersion() >= 1.1) {
36
+ $installer->startSetup();
37
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
38
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
39
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
40
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
41
+
42
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder_at', 'VARCHAR(255) NOT NULL');
43
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number_at', 'VARCHAR(255) NOT NULL');
44
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code_at', 'VARCHAR(255) NOT NULL');
45
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country_at', 'VARCHAR(255) NOT NULL');
46
+
47
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_testorder', 'SMALLINT NULL DEFAULT NULL');
48
+
49
+ $setup->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_comments', 'TEXT NULL DEFAULT NULL');
50
+ $installer->endSetup();
51
+ }
52
  ?>
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.0-1.0.1.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.1-1.0.2.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.2-1.0.3.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.0.3-1.1.0.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.0-1.1.1.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.1-1.1.2.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.2-1.1.3.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.3-1.1.4.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.4-1.1.5.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.5-1.1.6.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.6-1.1.7.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.7-1.1.8.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.8-1.1.9.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.1.9-1.2.0.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.0-1.2.1.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.1-1.2.2.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.2-1.2.3.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.3-1.2.4.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/sql/novalnet_setup/mysql4-upgrade-1.2.4-1.2.5.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $installer = $this;
3
-
4
- $installer->startSetup();
5
- $installer->addAttribute('order_payment', 'nn_account_holder', array('type'=>'varchar'));
6
- $installer->addAttribute('order_payment', 'nn_account_number', array('type'=>'varchar'));
7
- $installer->addAttribute('order_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
8
- $installer->addAttribute('order_payment', 'nn_elv_country', array('type'=>'varchar'));
9
-
10
- $installer->addAttribute('quote_payment', 'nn_account_holder', array('type'=>'varchar'));
11
- $installer->addAttribute('quote_payment', 'nn_account_number', array('type'=>'varchar'));
12
- $installer->addAttribute('quote_payment', 'nn_bank_sorting_code', array('type'=>'varchar'));
13
- $installer->addAttribute('quote_payment', 'nn_elv_country', array('type'=>'varchar'));
14
-
15
-
16
- if (Mage::getVersion() >= 1.1) {
17
- $installer->startSetup();
18
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_holder', 'VARCHAR(255) NOT NULL');
19
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_account_number', 'VARCHAR(255) NOT NULL');
20
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_bank_sorting_code', 'VARCHAR(255) NOT NULL');
21
- $installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_payment'), 'nn_elv_country', 'VARCHAR(255) NOT NULL');
22
- $installer->endSetup();
23
- }
24
-
25
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/novalnet/cc/form.phtml CHANGED
@@ -1,134 +1,115 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php $_code=$this->getMethodCode();?>
29
- <?php
30
- $allowed = true;
31
- $cc_type = '';
32
- $cc_owner = '';
33
- $cc_last4 = '';
34
- $cc_exp_month = '';
35
- $cc_exp_year = '';
36
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
37
- {
38
- $customer_id = $_SESSION['adminhtml_quote']['customer_id'];
39
- $accountData = $this->getCcData($customer_id);
40
- $cc_type = $cc_last4 = $cc_owner = $cc_exp_month = $cc_exp_year = '';
41
- if ($accountData){
42
- list($cc_type, $cc_last4, $cc_owner, $cc_exp_month, $cc_exp_year) = array_values($accountData);
43
- }
44
- $user_group_id = $this->getUserGroupId($customer_id);
45
- $user_group_name = $this->getUserGroupExcluded();
46
- if (!$user_group_name){$allowed = true;}
47
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
48
- }
49
- ?>
50
- <?php /*if ($allowed)*/ {?>
51
- <fieldset class="form-list">
52
- <?php $_code=$this->getMethodCode() ?>
53
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
54
- <div style="position: relative; left: 14em; top: -2.5em">
55
- <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
56
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/<?php echo $_typeCode ?>_Logo.png' alt='$cctype Logo'/>
57
- <?php endforeach ?>
58
- </div>
59
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
60
- <li>
61
- <div class="input-box">
62
- <label for="<?php echo $_code ?>_cc_type"><?php echo $this->__('Credit Card Type') ?> <span class="required">*</span></label><br />
63
- <select id="<?php echo $_code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
64
- <option value=""><?php echo $this->__('--Please Select--')?></option>
65
- <?php $_ccType = $cc_type; #$this->getInfoData('cc_type') ?>
66
- <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
67
- <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
68
- <?php endforeach ?>
69
- </select>
70
- </div>
71
- </li>
72
- <li>
73
- <div class="input-box">
74
- <label for="<?php echo $_code ?>_cc_owner"><?php echo $this->__('Name on Card') ?> <span class="required">*</span></label><br/>
75
- <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $_code ?>_cc_owner" name="payment[cc_owner]" value="<?php echo $cc_owner; #$this->htmlEscape($this->getInfoData('cc_owner')) ?>"/>
76
- </div>
77
- </li>
78
- <li>
79
- <div class="input-box">
80
- <label for="<?php echo $_code ?>_cc_number"><?php echo $this->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
81
- <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo$cc_last4;# $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
82
- </div>
83
- </li>
84
- <li>
85
- <div class="input-box">
86
- <label for="<?php echo $_code ?>_expiration"><?php echo $this->__('Expiration Date') ?> <span class="required">*</span></label><br />
87
- <div class="v-fix">
88
- <select id="<?php echo $_code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="required-entry">
89
- <?php $_ccExpMonth = $cc_exp_month; #$this->getInfoData('cc_exp_month') ?>
90
- <?php foreach ($this->getCcMonths() as $k=>$v): ?>
91
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
92
- <?php endforeach ?>
93
- </select>
94
- </div>
95
- <div class="v-fix" style="padding-left:5px;">
96
- <?php $_ccExpYear = $cc_exp_year; #$this->getInfoData('cc_exp_year') ?>
97
- <select id="<?php echo $_code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
98
- <?php foreach ($this->getCcYears() as $k=>$v): ?>
99
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
100
- <?php endforeach ?>
101
- </select>
102
- </div>
103
- </div>
104
- </li>
105
- <?php if($this->hasVerification()): ?>
106
- <li>
107
- <div class="input-box">
108
- <label for="<?php echo $_code ?>_cc_cid"><?php echo $this->__('Card Verification Number') ?> <span class="required">*</span></label><br />
109
- <div class="v-fix"><input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="required-entry input-text validate-cc-cvn" id="<?php echo $_code ?>_cc_cid" name="payment[cc_cid]" style="width:3em;" value="" /></div>
110
- &nbsp;
111
- <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
112
- </div>
113
- </li>
114
- <?php endif; ?>
115
- <li>
116
- <?php echo $this->__('The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
117
- </li>
118
- </ul>
119
- </fieldset>
120
- <?php }?>
121
- <script type="text/javascript">
122
- function hideMe(payment_code){
123
- t = 'p_method_' + payment_code.toString();
124
- document.getElementById(t).style.visibility = 'hidden';
125
- aTags = document.getElementsByTagName("label");
126
- for (i=0; i<aTags.length; i++){
127
- if (aTags[i].htmlFor == t){
128
- aTags[i].style.visibility = 'hidden';
129
- i = aTags.length;
130
- }
131
- }
132
- }
133
- <?php #if (!$allowed){echo"hideMe('$_code')"; }?>
134
- </script>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php
29
+ $code = $this->getMethodCode();
30
+ $baseUrl = Mage::getBaseUrl('skin')
31
+ ?>
32
+ <?php if ($this->checkCustomerAccess()): ?>
33
+ <fieldset class="form-list">
34
+ <div style="position: relative; left: 14em; top: -2.5em">
35
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
+ <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
+ <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
38
+ <?php endforeach; ?>
39
+ </div>
40
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
41
+ <li>
42
+ <div class="input-box">
43
+ <label for="<?php echo $code ?>_cc_type"><?php echo $this->__('Credit Card Type') ?> <span class="required">*</span></label><br />
44
+ <select id="<?php echo $code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
45
+ <option value=""><?php echo $this->__('--Please Select--')?></option>
46
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
47
+ <option value="<?php echo $_typeCode ?>"><?php echo $_typeName ?></option>
48
+ <?php endforeach; ?>
49
+ </select>
50
+ </div>
51
+ </li>
52
+ <li>
53
+ <div class="input-box">
54
+ <label for="<?php echo $code ?>_cc_owner"><?php echo $this->__('Name on Card') ?> <span class="required">*</span></label><br/>
55
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $code ?>_cc_owner" name="payment[cc_owner]" value=""/>
56
+ </div>
57
+ </li>
58
+ <li>
59
+ <div class="input-box">
60
+ <label for="<?php echo $code ?>_cc_number"><?php echo $this->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
61
+ <input type="text" id="<?php echo $code ?>_cc_number" name="payment[cc_number]" title="<?php $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
62
+ </div>
63
+ </li>
64
+ <li>
65
+ <div class="input-box">
66
+ <label for="<?php echo $code ?>_expiration"><?php echo $this->__('Expiration Date') ?> <span class="required">*</span></label><br />
67
+ <div class="v-fix">
68
+ <select id="<?php echo $code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="required-entry">
69
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
70
+ <option value="<?php echo $k ?>"><?php echo $v ?></option>
71
+ <?php endforeach ?>
72
+ </select>
73
+ </div>
74
+ <div class="v-fix" style="padding-left:5px;">
75
+ <select id="<?php echo $code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
76
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
77
+ <option value="<?php echo $k ?>"><?php echo $v ?></option>
78
+ <?php endforeach ?>
79
+ </select>
80
+ </div>
81
+ </div>
82
+ </li>
83
+ <?php if($this->hasVerification()): ?>
84
+ <li>
85
+ <div class="input-box">
86
+ <label for="<?php echo $code ?>_cc_cid"><?php echo $this->__('Card Verification Number') ?> <span class="required">*</span></label><br />
87
+ <div class="v-fix"><input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="required-entry input-text validate-cc-cvn" id="<?php echo $code ?>_cc_cid" name="payment[cc_cid]" style="width:3em;" value="" /></div>
88
+ &nbsp;
89
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
90
+ </div>
91
+ </li>
92
+ <?php endif; ?>
93
+ <li>
94
+ <?php echo $this->__('The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
95
+ </li>
96
+ </ul>
97
+ </fieldset>
98
+ <?php else: ?>
99
+ <script type="text/javascript">
100
+ function hideMe(payment_code){
101
+ t = 'p_method_' + payment_code.toString();
102
+ document.getElementById(t).style.visibility = 'hidden';
103
+ aTags = document.getElementsByTagName("label");
104
+ if (aTags && aTags.length) {
105
+ for (i=0; i<aTags.length; i++){
106
+ if (aTags[i].htmlFor == t){
107
+ aTags[i].style.visibility = 'hidden';
108
+ i = aTags.length;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ <?php echo "hideMe('$code');"; ?>
114
+ </script>
115
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/novalnet/cc/info.phtml CHANGED
@@ -1,36 +1,37 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()): ?>
29
- <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
30
- <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
31
- <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
32
- <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
33
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
34
- <?php else: ?>
35
-
 
36
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
+ <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
+ <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
34
+ <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
  <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvaustria/form.phtml CHANGED
@@ -1,117 +1,86 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
-
29
- ?>
30
- <?php
31
- $allowed = true;
32
- $nn_account_holder = '';
33
- $nn_account_number = '';
34
- $nn_bank_sorting_code = '';
35
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
36
- {
37
- $customer_id = $_SESSION['adminhtml_quote']['customer_id'];
38
- $accountData = $this->getAccountData($customer_id);
39
- $nn_account_holder = $nn_account_number = $nn_bank_sorting_code = $nn_elv_country = '';
40
- if ($accountData){
41
- list($nn_account_holder, $nn_account_number, $nn_bank_sorting_code, $nn_elv_country) = array_values($accountData);
42
- $nn_account_number = substr($nn_account_number, 0, -4);
43
- $nn_bank_sorting_code = substr($nn_bank_sorting_code, 0, -3);
44
- }
45
- $user_group_id = $this->getUserGroupId($customer_id);
46
- $user_group_name = $this->getUserGroupExcluded();
47
- if (!$user_group_name){$allowed = true;}
48
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
49
- }
50
- ?>
51
- <?php $_code=$this->getMethodCode() ?>
52
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
53
- <?php if ($allowed) {?>
54
- <fieldset class="form-list">
55
- <div style="position: relative; left: 14em; top: -2.5em">
56
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/ELV_Logo.png' alt='ELV Logo'/>
57
  </div>
58
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
59
- <li>
60
- <div class="input-box">
61
- <label for="<?php echo $_code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
62
- <input type="text" id="<?php echo $_code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="<?=$nn_account_holder?>" />
63
- </div>
64
- </li>
65
- <li>
66
- <div class="input-box">
67
- <label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
68
- <input type="text" id="<?php echo $_code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="<?=$nn_account_number?>" />
69
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  </li>
71
- <li>
72
- <div class="input-box">
73
- <label for="<?php echo $_code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
74
- <input type="text" id="<?php echo $_code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="<?=$nn_bank_sorting_code?>" />
75
- </div>
76
- </li>
77
- <?php if($this->acdc_check()): ?>
78
- <li>
79
- <div class="input-box">
80
- <input type="checkbox" id="<?php echo $_code ?>_checkbox" name="payment[checkbox]" title="<?php echo $this->__('Checkbox') ?>" class="required-entry" />
81
- <label for="<?php echo $_code ?>_checkbox"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label><br/>
82
- </div>
83
- </li>
84
- <?php endif ?>
85
- <?php if($this->show_comment()): ?>
86
- <li>
87
- <div class="input-box">
88
- <?php echo $this->show_comment()?>
89
- </div>
90
- </li>
91
- <?php endif ?>
92
  </ul>
93
- <SCRIPT>
94
- var showbaby;
95
- function show_acdc_info(){
96
- var url=parent.location.href;
97
- url='<?php echo $baseUrl?>frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
98
- showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
99
- showbaby.focus();
 
 
 
 
 
 
 
 
 
100
  }
101
- function hide_acdc_info(){showbaby.close();}
102
- </SCRIPT>
103
- </fieldset><?php }?>
104
- <script type="text/javascript">
105
- function hideMe(payment_code){
106
- t = 'p_method_' + payment_code.toString();
107
- document.getElementById(t).style.visibility = 'hidden';
108
- aTags = document.getElementsByTagName("label");
109
- for (i=0; i<aTags.length; i++){
110
- if (aTags[i].htmlFor == t){
111
- aTags[i].style.visibility = 'hidden';
112
- i = aTags.length;
113
- }
114
- }
115
- }
116
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
117
- </script>
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
+ ?>
29
+ <?php
30
+ $code = $this->getMethodCode();
31
+ $baseUrl = Mage::getBaseUrl('skin')
32
+ ?>
33
+ <?php if ($this->checkCustomerAccess()): ?>
34
+ <fieldset class="form-list">
35
+ <div style="position: relative; left: 14em; top: -2.5em">
36
+ <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
+ <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  </div>
39
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
+ <li>
41
+ <div class="input-box">
42
+ <label for="<?php echo $code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
43
+ <input type="text" id="<?php echo $code ?>_account_holder" name="payment[account_holder_at]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="" />
44
+ </div>
45
+ </li>
46
+ <li>
47
+ <div class="input-box">
48
+ <label for="<?php echo $code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
49
+ <input type="text" id="<?php echo $code ?>_account_number" name="payment[account_number_at]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="" />
50
+ </div>
51
+ </li>
52
+ <li>
53
+ <div class="input-box">
54
+ <label for="<?php echo $code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
55
+ <input type="text" id="<?php echo $code ?>_bank_sorting_code" name="payment[bank_sorting_code_at]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="" />
56
+ </div>
57
+ </li>
58
+
59
+ <?php if($this->show_comment()): ?>
60
+ <li>
61
+ <div class="input-box">
62
+ <?php echo $this->show_comment()?>
63
+ </div>
64
  </li>
65
+ <?php endif ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  </ul>
67
+
68
+ </fieldset>
69
+ <?php else: ?>
70
+ <script type="text/javascript">
71
+ function hideMe(payment_code){
72
+ t = 'p_method_' + payment_code.toString();
73
+ document.getElementById(t).style.visibility = 'hidden';
74
+ aTags = document.getElementsByTagName("label");
75
+ if (aTags && aTags.length) {
76
+ for (i=0; i<aTags.length; i++){
77
+ if (aTags[i].htmlFor == t){
78
+ aTags[i].style.visibility = 'hidden';
79
+ i = aTags.length;
80
+ }
81
+ }
82
+ }
83
  }
84
+ <?php echo "hideMe('$code');"; ?>
85
+ </script>
86
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/novalnet/elvaustria/info.phtml CHANGED
@@ -1,37 +1,37 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()): ?>
29
-
30
- <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getInfo()->getNnAccountHolder())) ?><br />
32
- <?php echo $this->__('Account Number: %s', $this->htmlEscape($this->getInfo()->getNnAccountNumber())) ?><br />
33
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape($this->getInfo()->getNnBankSortingCode())) ?><br />
34
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
35
- <?php else: ?>
36
-
37
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
+ <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
  <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvgerman/form.phtml CHANGED
@@ -1,95 +1,77 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
- ?>
29
- <?php
30
- $allowed = true;
31
- $nn_account_holder = '';
32
- $nn_account_number = '';
33
- $nn_bank_sorting_code = '';
34
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
35
- {
36
- $customer_id = $_SESSION['adminhtml_quote']['customer_id'];
37
- $accountData = $this->getAccountData($customer_id);
38
- $nn_account_holder = $nn_account_number = $nn_bank_sorting_code = $nn_elv_country = '';
39
- if ($accountData){
40
- list($nn_account_holder, $nn_account_number, $nn_bank_sorting_code, $nn_elv_country) = array_values($accountData);
41
- $nn_account_number = substr($nn_account_number, 0, -4);
42
- $nn_bank_sorting_code = substr($nn_bank_sorting_code, 0, -3);
43
- }
44
- $user_group_id = $this->getUserGroupId($customer_id);
45
- $user_group_name = $this->getUserGroupExcluded();
46
- if (!$user_group_name){$allowed = true;}
47
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
48
- }
49
- ?>
50
- <?php $_code=$this->getMethodCode();?>
51
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
52
- <?php if ($allowed) {?>
53
- <fieldset class="form-list">
54
- <div style="position: relative; left: 14em; top: -2.5em">
55
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/ELV_Logo.png' alt='ELV Logo'/>
56
  </div>
57
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
58
- <li>
59
- <div class="input-box">
60
- <label for="<?php echo $_code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
61
- <input type="text" id="<?php echo $_code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="<?=$nn_account_holder?>" />
62
- </div>
63
- </li>
64
- <li>
65
- <div class="input-box">
66
- <label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
67
- <input type="text" id="<?php echo $_code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="<?=$nn_account_number?>" />
68
- </div>
 
 
 
 
 
 
69
  </li>
70
- <li>
71
- <div class="input-box">
72
- <label for="<?php echo $_code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
73
- <input type="text" id="<?php echo $_code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="<?=$nn_bank_sorting_code?>" />
74
- </div>
75
- </li>
76
- <?php if($this->acdc_check()): ?>
77
- <li>
78
- <div class="input-box">
79
- <input type="checkbox" id="<?php echo $_code ?>_acdc" name="payment[acdc]" title="<?php echo $this->__('acdc') ?>" class="required-entry" />
80
- <label for="<?php echo $_code ?>_acdc"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label>
81
- </div>
82
- </li>
83
- <?php endif ?>
84
- <?php if($this->show_comment()): ?>
85
- <li>
86
- <div class="input-box">
87
- <?php echo $this->show_comment()?>
88
- </div>
89
- </li>
90
- <?php endif ?>
91
  </ul>
92
- <SCRIPT>
93
  var showbaby;
94
  function show_acdc_info(){
95
  var url=parent.location.href;
@@ -98,20 +80,23 @@ if (isset($_SESSION['adminhtml_quote']["customer_id"]))
98
  showbaby.focus();
99
  }
100
  function hide_acdc_info(){showbaby.close();}
101
- </SCRIPT>
102
  </fieldset>
103
- <?php }?>
104
- <script type="text/javascript">
105
- function hideMe(payment_code){
106
- t = 'p_method_' + payment_code.toString();
107
- document.getElementById(t).style.visibility = 'hidden';
108
- aTags = document.getElementsByTagName("label");
109
- for (i=0; i<aTags.length; i++){
110
- if (aTags[i].htmlFor == t){
111
- aTags[i].style.visibility = 'hidden';
112
- i = aTags.length;
113
- }
114
- }
115
- }
116
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
117
- </script>
 
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
+ ?>
29
+ <?php
30
+ $code = $this->getMethodCode();
31
+ $baseUrl = Mage::getBaseUrl('skin')
32
+ ?>
33
+ <?php if ($this->checkCustomerAccess()): ?>
34
+ <fieldset class="form-list">
35
+ <div style="position: relative; left: 14em; top: -2.5em">
36
+ <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
+ <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  </div>
39
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
+ <li>
41
+ <div class="input-box">
42
+ <label for="<?php echo $code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
43
+ <input type="text" id="<?php echo $code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="" />
44
+ </div>
45
+ </li>
46
+ <li>
47
+ <div class="input-box">
48
+ <label for="<?php echo $code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
49
+ <input type="text" id="<?php echo $code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="" />
50
+ </div>
51
+ </li>
52
+ <li>
53
+ <div class="input-box">
54
+ <label for="<?php echo $code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
55
+ <input type="text" id="<?php echo $code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="" />
56
+ </div>
57
  </li>
58
+ <?php if($this->acdc_check()): ?>
59
+ <li>
60
+ <div class="input-box">
61
+ <input type="checkbox" id="<?php echo $code ?>_acdc" name="payment[acdc]" title="<?php echo $this->__('acdc') ?>" class="required-entry" />
62
+ <label for="<?php echo $code ?>_acdc"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label>
63
+ </div>
64
+ </li>
65
+ <?php endif ?>
66
+ <?php if($this->show_comment()): ?>
67
+ <li>
68
+ <div class="input-box">
69
+ <?php echo $this->show_comment()?>
70
+ </div>
71
+ </li>
72
+ <?php endif ?>
 
 
 
 
 
 
73
  </ul>
74
+ <script type="text/javascript">
75
  var showbaby;
76
  function show_acdc_info(){
77
  var url=parent.location.href;
80
  showbaby.focus();
81
  }
82
  function hide_acdc_info(){showbaby.close();}
83
+ </script>
84
  </fieldset>
85
+ <?php else: ?>
86
+ <script type="text/javascript">
87
+ function hideMe(payment_code){
88
+ t = 'p_method_' + payment_code.toString();
89
+ document.getElementById(t).style.visibility = 'hidden';
90
+ aTags = document.getElementsByTagName("label");
91
+ if (aTags && aTags.length) {
92
+ for (i=0; i<aTags.length; i++){
93
+ if (aTags[i].htmlFor == t){
94
+ aTags[i].style.visibility = 'hidden';
95
+ i = aTags.length;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ <?php echo "hideMe('$code');"; ?>
101
+ </script>
102
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvgerman/info.phtml CHANGED
@@ -1,37 +1,37 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()): ?>
29
-
30
- <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getInfo()->getNnAccountHolder())) ?><br />
32
- <?php echo $this->__('Account Number: %s', $this->htmlEscape($this->getInfo()->getNnAccountNumber())) ?><br />
33
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape($this->getInfo()->getNnBankSortingCode())) ?><br />
34
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
35
- <?php else: ?>
36
-
37
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
+ <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
  <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/instantbanktransfer/form.phtml DELETED
@@ -1,68 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php #$_code=$this->getMethodCode();?>
29
- <?php
30
- $allowed = true;
31
- $cc_type = $cc_last4 = $cc_owner = $cc_exp_month = $cc_exp_year = '';
32
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
33
- {
34
- $customer_id = $_SESSION['adminhtml_quote']["customer_id"];
35
- $accountData = $this->getCcData($customer_id);
36
- $cc_type = $cc_last4 = $cc_owner = $cc_exp_month = $cc_exp_year = '';
37
- if ($accountData){
38
- list($cc_type, $cc_last4, $cc_owner, $cc_exp_month, $cc_exp_year) = array_values($accountData);
39
- }
40
- $user_group_id = $this->getUserGroupId($customer_id);
41
- $user_group_name = $this->getUserGroupExcluded();
42
- if (!$user_group_name){$allowed = true;}
43
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
44
- }
45
- ?>
46
- <?php if ($allowed) {?>
47
- <fieldset class="form-list">
48
- <?php $_code=$this->getMethodCode() ?>
49
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
50
- <div style="position: relative; left: 14em; top: -2.5em">
51
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/Sofort_Logo_t.jpg' alt='Sofortueberweisung Logo'/>
52
- </div>
53
- </fieldset>
54
- <?php }?>
55
- <script type="text/javascript">
56
- function hideMe(payment_code){
57
- t = 'p_method_' + payment_code.toString();
58
- document.getElementById(t).style.visibility = 'hidden';
59
- aTags = document.getElementsByTagName("label");
60
- for (i=0; i<aTags.length; i++){
61
- if (aTags[i].htmlFor == t){
62
- aTags[i].style.visibility = 'hidden';
63
- i = aTags.length;
64
- }
65
- }
66
- }
67
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
68
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/novalnet/invoice/form.phtml CHANGED
@@ -1,67 +1,61 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
- ?>
30
- <?php
31
- $_code=$this->getMethodCode();
32
- $allowed = true;
33
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
34
- {
35
- $customer_id = $_SESSION['adminhtml_quote']['customer_id'];
36
- $user_group_id = $this->getUserGroupId($customer_id);
37
- $user_group_name = $this->getUserGroupExcluded();
38
- if (!$user_group_name){$allowed = true;}
39
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
40
- }
41
- ?>
42
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
43
- <?php if ($allowed) {?>
44
- <fieldset class="form-list">
45
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
46
  <li>
47
  <div class="input-box">
48
  <?php echo $this->__('The Bank details will be emailed to you soon after the completion of checkout process')?>.<br />
49
  </div>
50
- </li>
51
  </ul>
52
  </fieldset>
53
- <?php }?>
54
- <script type="text/javascript">
55
- function hideMe(payment_code){
56
- t = 'p_method_' + payment_code.toString();
57
- document.getElementById(t).style.visibility = 'hidden';
58
- aTags = document.getElementsByTagName("label");
59
- for (i=0; i<aTags.length; i++){
60
- if (aTags[i].htmlFor == t){
61
- aTags[i].style.visibility = 'hidden';
62
- i = aTags.length;
63
- }
64
- }
65
- }
66
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
67
- </script>
 
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
+ ?>
30
+ <?php
31
+ $code = $this->getMethodCode();
32
+ $baseUrl = Mage::getBaseUrl('skin')
33
+ ?>
34
+ <?php if ($this->checkCustomerAccess()):?>
35
+ <fieldset class="form-list">
36
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
 
 
 
 
 
 
 
 
 
37
  <li>
38
  <div class="input-box">
39
  <?php echo $this->__('The Bank details will be emailed to you soon after the completion of checkout process')?>.<br />
40
  </div>
41
+ </li>
42
  </ul>
43
  </fieldset>
44
+ <?php else: ?>
45
+ <script type="text/javascript">
46
+ function hideMe(payment_code){
47
+ t = 'p_method_' + payment_code.toString();
48
+ document.getElementById(t).style.visibility = 'hidden';
49
+ aTags = document.getElementsByTagName("label");
50
+ if (aTags && aTags.length) {
51
+ for (i=0; i<aTags.length; i++){
52
+ if (aTags[i].htmlFor == t){
53
+ aTags[i].style.visibility = 'hidden';
54
+ i = aTags.length;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ <?php echo "hideMe('$code');"; ?>
60
+ </script>
61
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/invoice/info.phtml CHANGED
@@ -1,35 +1,36 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__('Method').': '.$this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php echo $this->__('Due at').': '.$this->__($this->htmlEscape($this->getDuedate())) ?><br />
31
- <?php #echo $this->__('Country').': '.$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
33
- <?php else: ?>
34
-
35
- <?php endif; ?>
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if( $this->getDuedate() ): echo $this->__('Due at').': '.$this->__($this->htmlEscape($this->getDuedate())) ?><br /> <?php endif; ?>
32
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
33
+ <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
34
+ <?php else: ?>
35
+
36
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/pci/form.phtml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php
29
+ $code=$this->getMethodCode();
30
+ $baseUrl=Mage::getBaseUrl('skin');
31
+ ?>
32
+ <?php if ($this->checkCustomerAccess()):?>
33
+ <fieldset class="form-list">
34
+ <div style="position: relative; left: 17em; top: -2.5em">
35
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
+ <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
+ <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
38
+ <?php endforeach; ?>
39
+ </div>
40
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
41
+ <li>
42
+ <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
43
+ </li>
44
+ </ul>
45
+ </fieldset>
46
+ <?php else:?>
47
+ <script type="text/javascript">
48
+ function hideMe(payment_code){
49
+ t = 'p_method_' + payment_code.toString();
50
+ document.getElementById(t).style.visibility = 'hidden';
51
+ aTags = document.getElementsByTagName("label");
52
+ if (aTags && aTags.length) {
53
+ for (i=0; i<aTags.length; i++){
54
+ if (aTags[i].htmlFor == t){
55
+ aTags[i].style.visibility = 'hidden';
56
+ i = aTags.length;
57
+ }
58
+ }
59
+ }
60
+ }
61
+ <?php echo "hideMe('$code');"; ?>
62
+ </script>
63
+ <?php endif; ?>
app/design/{frontend/default/default/template/novalnet/instantbanktransfer → adminhtml/default/default/template/novalnet/pci}/info.phtml RENAMED
@@ -1,33 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()): ?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
31
- <?php else: ?>
32
-
 
33
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
+ <?php else: ?>
33
+ Error in getting payment method
34
  <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/phonepayment/form.phtml CHANGED
@@ -1,68 +1,61 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
- ?>
30
- <?php $_code=$this->getMethodCode() ?>
31
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
32
- <?php
33
- $_code=$this->getMethodCode();
34
- $allowed = true;
35
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
36
- {
37
- $customer_id = $_SESSION['adminhtml_quote']['customer_id'];
38
- $user_group_id = $this->getUserGroupId($customer_id);
39
- $user_group_name = $this->getUserGroupExcluded();
40
- if (!$user_group_name){$allowed = true;}
41
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
42
- }
43
- ?>
44
- <?php if ($allowed) {?>
45
  <fieldset class="form-list">
46
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
47
  <li>
48
  <div class="input-box">
49
- <?php echo $this->__('Amount below 0.90 Euro and above 10.00 Euro is not accepted')?><br />
50
  </div>
51
- </li>
52
  </ul>
53
- </fieldset>
54
-
55
- <script type="text/javascript">
56
- function hideMe(payment_code){
57
- t = 'p_method_' + payment_code.toString();
58
- document.getElementById(t).style.visibility = 'hidden';
59
- aTags = document.getElementsByTagName("label");
60
- for (i=0; i<aTags.length; i++){
61
- if (aTags[i].htmlFor == t){
62
- aTags[i].style.visibility = 'hidden';
63
- i = aTags.length;
64
- }
65
- }
66
- }
67
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
68
- </script>
 
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
+ ?>
30
+ <?php
31
+ $code = $this->getMethodCode();
32
+ $baseUrl = Mage::getBaseUrl('skin')
33
+ ?>
34
+ <?php if ($this->checkCustomerAccess()):?>
 
 
 
 
 
 
 
 
 
 
35
  <fieldset class="form-list">
36
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
  <div class="input-box">
39
+ <?php echo $this->__('Amount below 0.90 Euro and above 10.00 Euro is not accepted')?><br />
40
  </div>
41
+ </li>
42
  </ul>
43
+ </fieldset>
44
+ <?php else:?>
45
+ <script type="text/javascript">
46
+ function hideMe(payment_code){
47
+ t = 'p_method_' + payment_code.toString();
48
+ document.getElementById(t).style.visibility = 'hidden';
49
+ aTags = document.getElementsByTagName("label");
50
+ if (aTags && aTags.length) {
51
+ for (i=0; i<aTags.length; i++){
52
+ if (aTags[i].htmlFor == t){
53
+ aTags[i].style.visibility = 'hidden';
54
+ i = aTags.length;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ <?php echo "hideMe('$code');"; ?>
60
+ </script>
61
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/phonepayment/info.phtml CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__('Method').': '.$this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php #echo $this->__('Country').': '.$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
- <?php else: ?>
33
-
34
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
+ <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
33
+ <?php else: ?>
34
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/prepayment/form.phtml CHANGED
@@ -1,70 +1,61 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
- ?>
30
- <?php $_code=$this->getMethodCode() ?>
31
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
32
- <?php
33
- $_code=$this->getMethodCode();
34
- $allowed = true;
35
- if (isset($_SESSION['adminhtml_quote']["customer_id"]))
36
- {
37
- $customer_id = $_SESSION['adminhtml_quote']['customer_id'];
38
- $user_group_id = $this->getUserGroupId($customer_id);
39
- $user_group_name = $this->getUserGroupExcluded();
40
- if (!$user_group_name){$allowed = true;}
41
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
42
- }
43
- ?>
44
-
45
- <?php if ($allowed) {?>
46
  <fieldset class="form-list">
47
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
48
  <li>
49
  <div class="input-box">
50
- <?php echo $this->__($this->htmlEscape('The Bank details will be emailed to you soon after the completion of checkout process'))?><br />
51
  </div>
52
- </li>
53
  </ul>
54
  </fieldset>
55
-
56
- <?php }?>
57
- <script type="text/javascript">
58
- function hideMe(payment_code){
59
- t = 'p_method_' + payment_code.toString();
60
- document.getElementById(t).style.visibility = 'hidden';
61
- aTags = document.getElementsByTagName("label");
62
- for (i=0; i<aTags.length; i++){
63
- if (aTags[i].htmlFor == t){
64
- aTags[i].style.visibility = 'hidden';
65
- i = aTags.length;
66
- }
67
- }
68
- }
69
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
70
- </script>
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
+ ?>
30
+ <?php
31
+ $code = $this->getMethodCode();
32
+ $baseUrl = Mage::getBaseUrl('skin')
33
+ ?>
34
+ <?php if ($this->checkCustomerAccess()):?>
 
 
 
 
 
 
 
 
 
 
 
35
  <fieldset class="form-list">
36
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
  <div class="input-box">
39
+ <?php echo $this->__($this->htmlEscape('The Bank details will be emailed to you soon after the completion of checkout process'))?><br />
40
  </div>
41
+ </li>
42
  </ul>
43
  </fieldset>
44
+ <?php else: ?>
45
+ <script type="text/javascript">
46
+ function hideMe(payment_code){
47
+ t = 'p_method_' + payment_code.toString();
48
+ document.getElementById(t).style.visibility = 'hidden';
49
+ aTags = document.getElementsByTagName("label");
50
+ if (aTags && aTags.length) {
51
+ for (i=0; i<aTags.length; i++){
52
+ if (aTags[i].htmlFor == t){
53
+ aTags[i].style.visibility = 'hidden';
54
+ i = aTags.length;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ <?php echo "hideMe('$code');"; ?>
60
+ </script>
61
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/prepayment/info.phtml CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__('Method').': '.$this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php #echo $this->__('Country').': '.$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
- <?php else: ?>
33
-
34
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
+ <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
33
+ <?php else: ?>
34
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/secure/form.phtml ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php
29
+ $code=$this->getMethodCode();
30
+ $baseUrl=Mage::getBaseUrl('skin');
31
+ ?>
32
+ <?php if ($this->checkCustomerAccess()): ?>
33
+ <fieldset class="form-list">
34
+ <div style="position: relative; left: 17em; top: -2.5em">
35
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
+ <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
+ <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
38
+ <?php endforeach; ?>
39
+ </div>
40
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
41
+ <li>
42
+ <div class="input-box">
43
+ <label for="<?php echo $code ?>_cc_type"><?php echo $this->__('Credit Card Type') ?> <span class="required">*</span></label><br />
44
+ <select id="<?php echo $code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
45
+ <option value=""><?php echo $this->__('--Please Select--')?></option>
46
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
47
+ <option value="<?php echo $_typeCode ?>"><?php echo $_typeName ?></option>
48
+ <?php endforeach; ?>
49
+ </select>
50
+ </div>
51
+ </li>
52
+ <li>
53
+ <div class="input-box">
54
+ <label for="<?php echo $code ?>_cc_owner"><?php echo $this->__('Name on Card') ?> <span class="required">*</span></label><br/>
55
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $code ?>_cc_owner" name="payment[cc_owner]" value=""/>
56
+ </div>
57
+ </li>
58
+ <li>
59
+ <div class="input-box">
60
+ <label for="<?php echo $code ?>_cc_number"><?php echo $this->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
61
+ <input type="text" id="<?php echo $code ?>_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
62
+ </div>
63
+ </li>
64
+ <li>
65
+ <div class="input-box">
66
+ <label for="<?php echo $code ?>_expiration"><?php echo $this->__('Expiration Date') ?> <span class="required">*</span></label><br />
67
+ <div class="v-fix">
68
+ <select id="<?php echo $code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="required-entry">
69
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
70
+ <option value="<?php echo $k ?>"><?php echo $v ?></option>
71
+ <?php endforeach; ?>
72
+ </select>
73
+ </div>
74
+ <div class="v-fix" style="padding-left:5px;">
75
+ <select id="<?php echo $code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
76
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
77
+ <option value="<?php echo $k ?>"><?php echo $v ?></option>
78
+ <?php endforeach; ?>
79
+ </select>
80
+ </div>
81
+ </div>
82
+ </li>
83
+ <?php if($this->hasVerification()): ?>
84
+ <li>
85
+ <div class="input-box">
86
+ <label for="<?php echo $code ?>_cc_cid"><?php echo $this->__('Card Verification Number') ?> <span class="required">*</span></label><br />
87
+ <div class="v-fix"><input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="required-entry input-text validate-cc-cvn" id="<?php echo $code ?>_cc_cid" name="payment[cc_cid]" style="width:3em;" value="" /></div>
88
+ &nbsp;
89
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
90
+ </div>
91
+ </li>
92
+ <?php endif; ?>
93
+ <li>
94
+ <?php echo $this->__('The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
95
+ </li>
96
+ </ul>
97
+ </fieldset>
98
+ <?php else: ?>
99
+ <script type="text/javascript">
100
+ function hideMe(payment_code){
101
+ t = 'p_method_' + payment_code.toString();
102
+ document.getElementById(t).style.visibility = 'hidden';
103
+ aTags = document.getElementsByTagName("label");
104
+ if (aTags && aTags.length) {
105
+ for (i=0; i<aTags.length; i++){
106
+ if (aTags[i].htmlFor == t){
107
+ aTags[i].style.visibility = 'hidden';
108
+ i = aTags.length;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ <?php echo "hideMe('$code');"; ?>
114
+ </script>
115
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/secure/info.phtml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
+ <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
+ <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
34
+ <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
+ <?php endif; ?>
app/design/adminhtml/default/default/template/payment/info/pdf/cc.phtml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+ <?php if( $this->getNnTestorder() ) echo $this->__('Testorder'); ?> {{pdf_row_separator}}
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())); ?> {{pdf_row_separator}}
31
+ <?php if ($_info->getLastTransId()!="")
32
+ echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())); ?>
33
+ <?php else: ?>
34
+ Error in getting payment method
35
+ <?php endif; ?>
app/design/adminhtml/default/default/template/payment/info/pdf/pci.phtml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+ <?php if( $this->getNnTestorder() ) echo $this->__('Testorder'); ?> {{pdf_row_separator}}
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())); ?> {{pdf_row_separator}}
31
+ <?php if ($_info->getLastTransId()!="")
32
+ echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())); ?>
33
+ <?php else: ?>
34
+ Error in getting payment method
35
+ <?php endif; ?>
app/design/frontend/default/default/layout/novalnet.xml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <default>
4
+ </default>
5
+ <checkout_onepage_review>
6
+ <reference name="root">
7
+ <action method="setTemplate">
8
+ <template>novalnet/cc/pciiframe.phtml</template>
9
+ </action>
10
+ </reference>
11
+ </checkout_onepage_review>
12
+ <checkout_onepage_index>
13
+ <reference name="head">
14
+ <action method="addItem">
15
+ <type>skin_js</type>
16
+ <name>js/novalnet.js</name>
17
+ </action>
18
+
19
+ </reference>
20
+ </checkout_onepage_index>
21
+
22
+ </layout>
app/design/frontend/default/default/template/novalnet/cc/form.phtml CHANGED
@@ -1,130 +1,62 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php $_code=$this->getMethodCode();?>
29
- <?php
30
- $cc_type = $cc_last4 = $cc_owner = $cc_exp_month = $cc_exp_year = '';#
31
- $customer_id = '';
32
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
33
- {
34
- $customer_id = $_SESSION['customer_base']['id'];
35
- $accountData = $this->getCcData($customer_id);
36
- }
37
-
38
- if (isset($accountData) and $accountData){
39
- list($cc_type, $cc_last4, $cc_owner, $cc_exp_month, $cc_exp_year) = array_values($accountData);
40
- }
41
- $user_group_id = $this->getUserGroupId($customer_id);
42
- $user_group_name = $this->getUserGroupExcluded();
43
- if (!$user_group_name){$allowed = true;}
44
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
45
- ?>
46
- <?php if ($allowed) {?>
47
- <fieldset class="form-list">
48
- <?php $_code=$this->getMethodCode() ?>
49
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
50
- <div style="position: relative; left: 14em; top: -2.5em">
51
- <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
52
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/<?php echo $_typeCode ?>_Logo.png' alt='$cctype Logo'/>
53
- <?php endforeach ?>
54
- </div>
55
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
56
- <li>
57
- <div class="input-box">
58
- <label for="<?php echo $_code ?>_cc_type"><?php echo $this->__('Credit Card Type') ?> <span class="required">*</span></label><br />
59
- <select id="<?php echo $_code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
60
- <option value=""><?php echo $this->__('--Please Select--')?></option>
61
- <?php $_ccType = $cc_type; #$this->getInfoData('cc_type') ?>
62
- <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
63
- <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
64
- <?php endforeach ?>
65
- </select>
66
- </div>
67
- </li>
68
- <li>
69
- <div class="input-box">
70
- <label for="<?php echo $_code ?>_cc_owner"><?php echo $this->__('Name on Card') ?> <span class="required">*</span></label><br/>
71
- <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $_code ?>_cc_owner" name="payment[cc_owner]" value="<?php echo $cc_owner; #$this->htmlEscape($this->getInfoData('cc_owner')) ?>"/>
72
- </div>
73
- </li>
74
- <li>
75
- <div class="input-box">
76
- <label for="<?php echo $_code ?>_cc_number"><?php echo $this->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
77
- <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo$cc_last4;# $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
78
- </div>
79
- </li>
80
- <li>
81
- <div class="input-box">
82
- <label for="<?php echo $_code ?>_expiration"><?php echo $this->__('Expiration Date') ?> <span class="required">*</span></label><br />
83
- <div class="v-fix">
84
- <select id="<?php echo $_code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="required-entry">
85
- <?php $_ccExpMonth = $cc_exp_month; #$this->getInfoData('cc_exp_month') ?>
86
- <?php foreach ($this->getCcMonths() as $k=>$v): ?>
87
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
88
- <?php endforeach ?>
89
- </select>
90
- </div>
91
- <div class="v-fix" style="padding-left:5px;">
92
- <?php $_ccExpYear = $cc_exp_year; #$this->getInfoData('cc_exp_year') ?>
93
- <select id="<?php echo $_code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
94
- <?php foreach ($this->getCcYears() as $k=>$v): ?>
95
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
96
- <?php endforeach ?>
97
- </select>
98
- </div>
99
- </div>
100
- </li>
101
- <?php if($this->hasVerification()): ?>
102
- <li>
103
- <div class="input-box">
104
- <label for="<?php echo $_code ?>_cc_cid"><?php echo $this->__('Card Verification Number') ?> <span class="required">*</span></label><br />
105
- <div class="v-fix"><input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="required-entry input-text validate-cc-cvn" id="<?php echo $_code ?>_cc_cid" name="payment[cc_cid]" style="width:3em;" value="" /></div>
106
- &nbsp;
107
- <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
108
- </div>
109
- </li>
110
- <?php endif; ?>
111
- <li>
112
- <?php echo $this->__('The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
113
- </li>
114
- </ul>
115
- </fieldset>
116
- <?php }?>
117
- <script type="text/javascript">
118
- function hideMe(payment_code){
119
- t = 'p_method_' + payment_code.toString();
120
- document.getElementById(t).style.visibility = 'hidden';
121
- aTags = document.getElementsByTagName("label");
122
- for (i=0; i<aTags.length; i++){
123
- if (aTags[i].htmlFor == t){
124
- aTags[i].style.visibility = 'hidden';
125
- i = aTags.length;
126
- }
127
- }
128
- }
129
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
130
- </script>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php
29
+ $code=$this->getMethodCode();
30
+ $baseUrl=Mage::getBaseUrl('skin');
31
+ ?>
32
+ <?php if ($this->checkCustomerAccess()):?>
33
+ <fieldset class="form-list">
34
+ <div style="position: relative; left: 17em; top: -2.5em">
35
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
+ <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/<?php echo $_typeCode ?>_Logo.png' alt='<?php echo $_typeName ?> Logo'/>
37
+ <?php endforeach ?>
38
+ </div>
39
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
+ <li>
41
+ <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
42
+ </li>
43
+ </ul>
44
+ </fieldset>
45
+ <?php else:?>
46
+ <script type="text/javascript">
47
+ function hideMe(payment_code){
48
+ t = 'p_method_' + payment_code.toString();
49
+ document.getElementById(t).style.visibility = 'hidden';
50
+ aTags = document.getElementsByTagName("label");
51
+ if (aTags && aTags.length) {
52
+ for (i=0; i<aTags.length; i++){
53
+ if (aTags[i].htmlFor == t){
54
+ aTags[i].style.visibility = 'hidden';
55
+ i = aTags.length;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ <?php echo "hideMe('$code');"; ?>
61
+ </script>
62
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/novalnet/cc/info.phtml CHANGED
@@ -1,37 +1,38 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()): ?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
31
- <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
32
- <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
33
- <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
34
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
35
- <?php else: ?>
36
-
 
37
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+
30
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
31
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
32
+ <?php if($this->getNnComments()) { ?>
33
+ <?php echo $this->getNnComments() ?><br />
34
+ <?php } ?>
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
+ Error in getting payment method
38
  <?php endif; ?>
app/design/frontend/default/default/template/novalnet/cc/pciiframe.phtml ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php echo $this->getChildHtml('items_before'); ?>
2
+ <div id="checkout-review-table-wrapper">
3
+ <table class="data-table" id="checkout-review-table">
4
+ <?php if ($this->helper('tax')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
5
+ <col />
6
+ <col width="1" />
7
+ <col width="1" />
8
+ <col width="1" />
9
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
10
+ <col width="1" />
11
+ <col width="1" />
12
+ <?php endif; ?>
13
+ <thead>
14
+ <tr>
15
+ <th rowspan="<?php echo $rowspan ?>"><?php echo $this->__('Product Name') ?></th>
16
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Price') ?></th>
17
+ <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
18
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Subtotal') ?></th>
19
+ </tr>
20
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
21
+ <tr>
22
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
23
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
24
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
25
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
26
+ </tr>
27
+ <?php endif; ?>
28
+ </thead>
29
+ <?php echo $this->getChildHtml('totals'); ?>
30
+ <tbody>
31
+ <?php foreach($this->getItems() as $_item): ?>
32
+ <?php echo $this->getItemHtml($_item)?>
33
+ <?php endforeach ?>
34
+ </tbody>
35
+ </table>
36
+ </div>
37
+ <?php echo $this->getChildHtml('items_after');
38
+ $magento_version=Mage::getVersion();
39
+ echo'<input type="hidden" name="magentoversion" id="magentoversion" value="'.$magento_version.'">';
40
+ if($magento_version>='1.5')
41
+ {
42
+ ?>
43
+ <script type="text/javascript">
44
+ decorateTable('checkout-review-table');
45
+ truncateOptions();
46
+ </script>
47
+ <div id="checkout-review-submit">
48
+ <?php echo $this->getChildHtml('agreements') ?>
49
+ <div align="right">
50
+ <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
51
+ </div>
52
+
53
+ <div class="buttons-set" id="review-buttons-container">
54
+ <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
55
+
56
+ <span class="please-wait" id="review-please-wait" style="display:none;">
57
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
58
+ </span>
59
+ </div>
60
+ </div>
61
+
62
+ <?php
63
+ }
64
+ else
65
+ { ?>
66
+
67
+ <script type="text/javascript">
68
+ //<![CDATA[
69
+ decorateTable('checkout-review-table');
70
+ truncateOptions();
71
+ document.getElementById('review-buttons-container').style.display='none';
72
+ document.getElementById('checkout-review-submit').style.display='none';
73
+
74
+
75
+ //]]>
76
+ </script>
77
+ <div id="checkout-review-submit-novalnet">
78
+ <?php echo $this->getChildHtml('agreements') ?>
79
+
80
+ <div align="right">
81
+ <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
82
+ </div>
83
+
84
+ <div class="buttons-set" id="review-buttons-container-novalnet">
85
+ <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
86
+ <?php //echo $this->getChildHtml('button') ?>
87
+
88
+ <span class="please-wait" id="review-please-wait" style="display:none;">
89
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
90
+ </span>
91
+ </div>
92
+ </div>
93
+
94
+
95
+ <?php
96
+
97
+ }
98
+ $payment_method=Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance()->getTitle();
99
+ if(trim($payment_method)=='Novalnet Credit Card')
100
+ {
101
+ $paymentmethod='novalnetCc';
102
+ }
103
+ else
104
+ {
105
+ $paymentmethod='';
106
+ }
107
+
108
+ ?>
109
+ <script type="text/javascript">
110
+ //<![CDATA[
111
+ novalnet = new Novalnet('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'), '<?php echo $paymentmethod; ?>');
112
+
113
+ //]]>
114
+ </script>
115
+ <div id="nn_iframe" style="display:none;">
116
+ <?php
117
+
118
+ if($paymentmethod=='novalnetCc')
119
+ {
120
+ $session=Mage::getSingleton('checkout/session');
121
+
122
+ $data_val=$session->getNnDataValue();
123
+ $form = new Varien_Data_Form();
124
+ $html = '<html><body>';
125
+ echo '<form action="https://payport.novalnet.de/pci_payport" id="novalnetCcpci" name="novalnetCcpci" method="POST" target="my_iframe">';
126
+ foreach ($data_val->toArray() as $field=>$value) {
127
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
128
+ }
129
+ $html.= $form->toHtml();
130
+ $html.="<iframe id='my_iframe' name='my_iframe' width='518' height='350' ></iframe>";
131
+ $html.= '</form>';
132
+ $html.= '<script type="text/javascript">document.getElementById("review-buttons-container").style.display="none";document.getElementById("novalnetCcpci").submit();</script>';
133
+ $html.= '</body>';
134
+ echo $html.= '</html>';
135
+ }
136
+ ?>
137
+ </div>
138
+
app/design/frontend/default/default/template/novalnet/elvaustria/form.phtml CHANGED
@@ -1,115 +1,117 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
-
29
- ?>
30
- <?php
31
- $nn_account_holder = $nn_account_number = $nn_bank_sorting_code = $nn_elv_country = '';
32
- $customer_id = '';
33
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
34
- {
35
- $customer_id = $_SESSION['customer_base']['id'];
36
- $accountData = $this->getAccountData($customer_id);
37
- }
38
-
39
- if (isset($accountData) and $accountData){
40
- list($nn_account_holder, $nn_account_number, $nn_bank_sorting_code, $nn_elv_country) = array_values($accountData);
41
- $nn_account_number = substr($nn_account_number, 0, -4);
42
- $nn_bank_sorting_code = substr($nn_bank_sorting_code, 0, -3);
43
- }
44
- $user_group_id = $this->getUserGroupId($customer_id);
45
- $user_group_name = $this->getUserGroupExcluded();
46
- if (!$user_group_name){$allowed = true;}
47
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
48
- ?>
49
- <?php $_code=$this->getMethodCode() ?>
50
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
51
- <?php if ($allowed) {?>
52
- <fieldset class="form-list">
53
- <div style="position: relative; left: 14em; top: -2.5em">
54
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/ELV_Logo.png' alt='ELV Logo'/>
55
  </div>
56
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
57
- <li>
58
- <div class="input-box">
59
- <label for="<?php echo $_code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
60
- <input type="text" id="<?php echo $_code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="<?=$nn_account_holder?>" />
61
- </div>
62
- </li>
63
- <li>
64
- <div class="input-box">
65
- <label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
66
- <input type="text" id="<?php echo $_code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="<?=$nn_account_number?>" />
67
- </div>
68
  </li>
69
- <li>
70
- <div class="input-box">
71
- <label for="<?php echo $_code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
72
- <input type="text" id="<?php echo $_code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="<?=$nn_bank_sorting_code?>" />
73
- </div>
74
- </li>
75
- <?php if($this->acdc_check()): ?>
76
- <li>
77
- <div class="input-box">
78
- <input type="checkbox" id="<?php echo $_code ?>_checkbox" name="payment[checkbox]" title="<?php echo $this->__('Checkbox') ?>" class="required-entry" />
79
- <label for="<?php echo $_code ?>_checkbox"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label><br/>
80
- </div>
81
- </li>
82
- <?php endif ?>
83
- <?php if($this->show_comment()): ?>
84
- <li>
85
- <div class="input-box">
86
- <?php echo $this->show_comment()?>
87
- </div>
88
- </li>
89
- <?php endif ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  </ul>
91
- <SCRIPT>
92
  var showbaby;
93
- function show_acdc_info(){
 
 
94
  var url=parent.location.href;
95
- url='<?php echo $baseUrl?>frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
96
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
97
- showbaby.focus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  }
99
- function hide_acdc_info(){showbaby.close();}
100
- </SCRIPT>
101
- </fieldset><?php }?>
102
- <script type="text/javascript">
103
- function hideMe(payment_code){
104
- t = 'p_method_' + payment_code.toString();
105
- document.getElementById(t).style.visibility = 'hidden';
106
- aTags = document.getElementsByTagName("label");
107
- for (i=0; i<aTags.length; i++){
108
- if (aTags[i].htmlFor == t){
109
- aTags[i].style.visibility = 'hidden';
110
- i = aTags.length;
111
- }
112
- }
113
- }
114
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
115
- </script>
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
+ ?>
29
+ <?php
30
+ $code = $this->getMethodCode();
31
+ $baseUrl = Mage::getBaseUrl('skin')
32
+ ?>
33
+ <?php if ($this->checkCustomerAccess()): ?>
34
+ <fieldset class="form-list">
35
+ <div style="position: relative; left: 14em; top: -2.5em">
36
+ <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/ELV_Logo.png' alt='ELV Logo'/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </div>
38
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
39
+ <li>
40
+ <div class="input-box">
41
+ <label for="<?php echo $code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
42
+ <input type="text" value="" id="<?php echo $code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="" />
43
+ </div>
44
+ </li>
45
+ <li>
46
+ <div class="input-box">
47
+ <label for="<?php echo $code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
48
+ <input type="text" value="" id="<?php echo $code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="" />
49
+ </div>
50
  </li>
51
+ <li>
52
+ <div class="input-box">
53
+ <label for="<?php echo $code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
54
+ <input type="text" value="" id="<?php echo $code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="" />
55
+ </div>
56
+ </li>
57
+
58
+ <?php if( $this->isCallbackTypeCall() ): ?>
59
+ <li>
60
+ <div class="input-box">
61
+ <label for="<?php echo $code ?>_callback_tel"><?php echo $this->__('Ihre Telefon- / Mobil- Nummer') ?><span class="required">*</span></label><br/>
62
+ <input type="text" value="<?php echo $this->getCustomersTelephone() ?>" id="<?php echo $code ?>_callback_tel" name="payment[callback_tel]" title="<?php echo $this->__('Callback') ?>" class="required-entry input-text" />
63
+ </div>
64
+ </li>
65
+ <li>
66
+
67
+ <div class="input-box">
68
+ <div style="font-weight:bold;color:gray;border:1px solid #BFBFBF;font-size:11px; background:#FEFFBF; padding:10px; margin-top:10px;">
69
+ Hinweis: Den PIN erhalten Sie erst nachdem Sie auf "weiter" klicken!
70
+
71
+ </div>
72
+ <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
73
+ <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
74
+ <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
75
+ Neue PIN anfordern&nbsp;<a href="javascript:show_pin_info()">[?]</a>
76
+ </div>
77
+ </li>
78
+ <?php endif ?>
79
+ <?php if($this->show_comment()): ?>
80
+ <li>
81
+ <div class="input-box">
82
+ <?php echo $this->show_comment()?>
83
+ </div>
84
+ </li>
85
+ <?php endif ?>
86
  </ul>
87
+ <script type="text/javascript">
88
  var showbaby;
89
+
90
+ function show_pin_info()
91
+ {
92
  var url=parent.location.href;
93
+ url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/pin_by_callback_sms.html';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
94
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
95
+ showbaby.focus();
96
+ }
97
+
98
+ </script>
99
+ </fieldset>
100
+ <?php else: ?>
101
+ <script type="text/javascript">
102
+ function hideMe(payment_code){
103
+ t = 'p_method_' + payment_code.toString();
104
+ document.getElementById(t).style.visibility = 'hidden';
105
+ aTags = document.getElementsByTagName("label");
106
+ if (aTags && aTags.length) {
107
+ for (i=0; i<aTags.length; i++){
108
+ if (aTags[i].htmlFor == t){
109
+ aTags[i].style.visibility = 'hidden';
110
+ i = aTags.length;
111
+ }
112
+ }
113
+ }
114
  }
115
+ <?php echo "hideMe('$code');"; ?>
116
+ </script>
117
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/novalnet/elvaustria/info.phtml CHANGED
@@ -1,37 +1,37 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getInfo()->getNnAccountHolder())) ?><br />
32
- <?php echo $this->__('Account Number: %s', $this->htmlEscape($this->getInfo()->getNnAccountNumber())) ?><br />
33
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape($this->getInfo()->getNnBankSortingCode())) ?><br />
34
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
35
- <?php else: ?>
36
-
37
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
+ <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
  <?php endif; ?>
app/design/frontend/default/default/template/novalnet/elvgerman/form.phtml CHANGED
@@ -1,115 +1,131 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
- ?>
29
- <?php
30
- $nn_account_holder = $nn_account_number = $nn_bank_sorting_code = $nn_elv_country = '';
31
- $customer_id = '';
32
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
33
- {
34
- $customer_id = $_SESSION['customer_base']['id'];
35
- $accountData = $this->getAccountData($customer_id);
36
- }
37
-
38
- if (isset($accountData) and $accountData){
39
- list($nn_account_holder, $nn_account_number, $nn_bank_sorting_code, $nn_elv_country) = array_values($accountData);
40
- $nn_account_number = substr($nn_account_number, 0, -4);
41
- $nn_bank_sorting_code = substr($nn_bank_sorting_code, 0, -3);
42
- }
43
- $user_group_id = $this->getUserGroupId($customer_id);
44
- $user_group_name = $this->getUserGroupExcluded();
45
- if (!$user_group_name){$allowed = true;}
46
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
47
- ?>
48
- <?php $_code=$this->getMethodCode();?>
49
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
50
- <?php if ($allowed) {?>
51
- <fieldset class="form-list">
52
- <div style="position: relative; left: 14em; top: -2.5em">
53
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/ELV_Logo.png' alt='ELV Logo'/>
54
  </div>
55
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
56
- <li>
57
- <div class="input-box">
58
- <label for="<?php echo $_code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
59
- <input type="text" id="<?php echo $_code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="<?=$nn_account_holder?>" />
60
- </div>
61
- </li>
62
- <li>
63
- <div class="input-box">
64
- <label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
65
- <input type="text" id="<?php echo $_code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="<?=$nn_account_number?>" />
66
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  </li>
68
- <li>
69
- <div class="input-box">
70
- <label for="<?php echo $_code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
71
- <input type="text" id="<?php echo $_code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="<?=$nn_bank_sorting_code?>" />
72
- </div>
73
- </li>
74
- <?php if($this->acdc_check()): ?>
75
- <li>
76
- <div class="input-box">
77
- <input type="checkbox" id="<?php echo $_code ?>_acdc" name="payment[acdc]" title="<?php echo $this->__('acdc') ?>" class="required-entry" />
78
- <label for="<?php echo $_code ?>_acdc"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label>
79
- </div>
80
- </li>
81
- <?php endif ?>
82
- <?php if($this->show_comment()): ?>
83
- <li>
84
- <div class="input-box">
85
- <?php echo $this->show_comment()?>
86
- </div>
87
- </li>
88
- <?php endif ?>
89
  </ul>
90
- <SCRIPT>
91
  var showbaby;
 
 
 
 
 
 
 
 
 
92
  function show_acdc_info(){
93
  var url=parent.location.href;
94
- url='<?php echo $baseUrl?>frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
95
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
96
  showbaby.focus();
97
  }
98
  function hide_acdc_info(){showbaby.close();}
99
- </SCRIPT>
100
  </fieldset>
101
- <?php }?>
102
- <script type="text/javascript">
103
- function hideMe(payment_code){
104
- t = 'p_method_' + payment_code.toString();
105
- document.getElementById(t).style.visibility = 'hidden';
106
- aTags = document.getElementsByTagName("label");
107
- for (i=0; i<aTags.length; i++){
108
- if (aTags[i].htmlFor == t){
109
- aTags[i].style.visibility = 'hidden';
110
- i = aTags.length;
111
- }
112
- }
113
- }
114
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
115
- </script>
 
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
+ ?>
29
+ <?php
30
+ $code = $this->getMethodCode();
31
+ $baseUrl = Mage::getBaseUrl('skin')
32
+ ?>
33
+ <?php if ($this->checkCustomerAccess()): ?>
34
+ <fieldset class="form-list">
35
+ <div style="position: relative; left: 14em; top: -2.5em">
36
+ <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/ELV_Logo.png' alt='ELV Logo'/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </div>
38
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
39
+ <li>
40
+ <div class="input-box">
41
+ <label for="<?php echo $code ?>_account_holder"><?php echo $this->__('Account Holder') ?> <span class="required">*</span></label><br/>
42
+ <input type="text" value="" id="<?php echo $code ?>_account_holder" name="payment[account_holder]" title="<?php echo $this->__('Account Holder') ?>" class="required-entry input-text" value="" />
43
+ </div>
44
+ </li>
45
+ <li>
46
+ <div class="input-box">
47
+ <label for="<?php echo $code ?>_account_number"><?php echo $this->__('Account Number') ?> <span class="required">*</span></label><br/>
48
+ <input type="text" value="" id="<?php echo $code ?>_account_number" name="payment[account_number]" title="<?php echo $this->__('Account Number') ?>" class="required-entry input-text" value="" />
49
+ </div>
50
+ </li>
51
+ <li>
52
+ <div class="input-box">
53
+ <label for="<?php echo $code ?>_bank_sorting_code"><?php echo $this->__('Bank Sorting Code') ?> <span class="required">*</span></label><br/>
54
+ <input type="text" value="" id="<?php echo $code ?>_bank_sorting_code" name="payment[bank_sorting_code]" title="<?php echo $this->__('Bank Sorting Code') ?>" class="required-entry input-text" value="" />
55
+ </div>
56
+ </li>
57
+ <?php if($this->acdc_check()): ?>
58
+ <li>
59
+ <div class="input-box">
60
+ <input type="checkbox" id="<?php echo $code ?>_acdc" name="payment[acdc]" title="<?php echo $this->__('acdc') ?>" class="required-entry" />
61
+ <label for="<?php echo $code ?>_acdc"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label>
62
+ </div>
63
+ </li>
64
+ <?php endif ?>
65
+ <?php if( $this->isCallbackTypeCall() ): ?>
66
+ <li>
67
+ <div class="input-box">
68
+ <label for="<?php echo $code ?>_callback_tel"><?php echo $this->__('Ihre Telefon- / Mobil- Nummer') ?><span class="required">*</span></label><br/>
69
+ <input type="text" value="<?php echo $this->getCustomersTelephone() ?>" id="<?php echo $code ?>_callback_tel" name="payment[callback_tel]" title="<?php echo $this->__('Callback') ?>" class="required-entry input-text" />
70
+ </div>
71
+ </li>
72
+ <li>
73
+
74
+ <div class="input-box">
75
+ <div style="font-weight:bold;color:gray;border:1px solid #BFBFBF;font-size:11px; background:#FEFFBF; padding:10px; margin-top:10px;">
76
+ Hinweis: Den PIN erhalten Sie erst nachdem Sie auf "weiter" klicken!
77
+
78
+ </div>
79
+ <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
80
+ <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
81
+ <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
82
+ Neue PIN anfordern&nbsp;<a href="javascript:show_pin_info()">[?]</a>
83
+ </div>
84
  </li>
85
+ <?php endif ?>
86
+ <?php if($this->show_comment()): ?>
87
+ <li>
88
+ <div class="input-box">
89
+ <?php echo $this->show_comment()?>
90
+ </div>
91
+ </li>
92
+ <?php endif ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  </ul>
94
+ <script type="text/javascript">
95
  var showbaby;
96
+
97
+ function show_pin_info()
98
+ {
99
+ var url=parent.location.href;
100
+ url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/pin_by_callback_sms.html';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
101
+ showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
102
+ showbaby.focus();
103
+ }
104
+
105
  function show_acdc_info(){
106
  var url=parent.location.href;
107
+ url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
108
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
109
  showbaby.focus();
110
  }
111
  function hide_acdc_info(){showbaby.close();}
112
+ </script>
113
  </fieldset>
114
+ <?php else: ?>
115
+ <script type="text/javascript">
116
+ function hideMe(payment_code){
117
+ t = 'p_method_' + payment_code.toString();
118
+ document.getElementById(t).style.visibility = 'hidden';
119
+ aTags = document.getElementsByTagName("label");
120
+ if (aTags && aTags.length) {
121
+ for (i=0; i<aTags.length; i++){
122
+ if (aTags[i].htmlFor == t){
123
+ aTags[i].style.visibility = 'hidden';
124
+ i = aTags.length;
125
+ }
126
+ }
127
+ }
128
+ }
129
+ <?php echo "hideMe('$code');"; ?>
130
+ </script>
131
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/elvgerman/info.phtml CHANGED
@@ -1,37 +1,37 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getInfo()->getNnAccountHolder())) ?><br />
32
- <?php echo $this->__('Account Number: %s', $this->htmlEscape($this->getInfo()->getNnAccountNumber())) ?><br />
33
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape($this->getInfo()->getNnBankSortingCode())) ?><br />
34
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
35
- <?php else: ?>
36
-
37
  <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
+ <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
  <?php endif; ?>
app/design/frontend/default/default/template/novalnet/instantbanktransfer/form.phtml DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php #$_code=$this->getMethodCode();?>
29
- <?php
30
- $allowed = true;
31
- $cc_type = $cc_last4 = $cc_owner = $cc_exp_month = $cc_exp_year = '';
32
- $customer_id = '';
33
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
34
- {
35
- $customer_id = $_SESSION['customer_base']['id'];
36
- $accountData = $this->getCcData($customer_id);
37
- }
38
-
39
- if (isset($accountData) and $accountData){
40
- list($cc_type, $cc_last4, $cc_owner, $cc_exp_month, $cc_exp_year) = array_values($accountData);
41
- }
42
- $user_group_id = $this->getUserGroupId($customer_id);
43
- $user_group_name = $this->getUserGroupExcluded();
44
- if (!$user_group_name){$allowed = true;}
45
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
46
- ?>
47
- <?php if ($allowed) {?>
48
- <fieldset class="form-list">
49
- <?php $_code=$this->getMethodCode() ?>
50
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
51
- <div style="position: relative; left: 14em; top: -2.5em">
52
- <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/Sofort_Logo_t.jpg' alt='Sofortueberweisung Logo'/>
53
- </div>
54
- </fieldset>
55
- <?php }?>
56
- <script type="text/javascript">
57
- function hideMe(payment_code){
58
- t = 'p_method_' + payment_code.toString();
59
- document.getElementById(t).style.visibility = 'hidden';
60
- aTags = document.getElementsByTagName("label");
61
- for (i=0; i<aTags.length; i++){
62
- if (aTags[i].htmlFor == t){
63
- aTags[i].style.visibility = 'hidden';
64
- i = aTags.length;
65
- }
66
- }
67
- }
68
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
69
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/novalnet/invoice/form.phtml CHANGED
@@ -1,68 +1,101 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
- ?>
30
- <?php
31
- $_code=$this->getMethodCode();
32
- $customer_id = '';
33
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
34
- {
35
- $customer_id = $_SESSION['customer_base']['id'];
36
- }
37
-
38
- $user_group_id = $this->getUserGroupId($customer_id);
39
- $user_group_name = $this->getUserGroupExcluded();
40
- if (!$user_group_name){$allowed = true;}
41
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
42
- ?>
43
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
44
- <?php if ($allowed) {?>
45
- <fieldset class="form-list">
46
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
47
  <li>
48
  <div class="input-box">
49
  <?php echo $this->__('The Bank details will be emailed to you soon after the completion of checkout process')?>.<br />
50
  </div>
51
- </li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  </ul>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  </fieldset>
54
- <?php }?>
55
- <script type="text/javascript">
56
- function hideMe(payment_code){
57
- t = 'p_method_' + payment_code.toString();
58
- document.getElementById(t).style.visibility = 'hidden';
59
- aTags = document.getElementsByTagName("label");
60
- for (i=0; i<aTags.length; i++){
61
- if (aTags[i].htmlFor == t){
62
- aTags[i].style.visibility = 'hidden';
63
- i = aTags.length;
64
- }
65
- }
66
- }
67
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
68
- </script>
 
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
+ ?>
30
+ <?php
31
+ $code = $this->getMethodCode();
32
+ $baseUrl = Mage::getBaseUrl('skin')
33
+ ?>
34
+ <?php if ($this->checkCustomerAccess()):?>
35
+ <fieldset class="form-list">
36
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
 
 
 
 
 
 
 
 
 
 
37
  <li>
38
  <div class="input-box">
39
  <?php echo $this->__('The Bank details will be emailed to you soon after the completion of checkout process')?>.<br />
40
  </div>
41
+ </li>
42
+ <?php if( $this->isCallbackTypeCall() ): ?>
43
+ <li>
44
+ <div class="input-box">
45
+ <label for="<?php echo $code ?>_callback_tel"><?php echo $this->__('Ihre Telefon- / Mobil- Nummer') ?><span class="required">*</span></label><br/>
46
+ <input type="text" value="<?php echo $this->getCustomersTelephone() ?>" id="<?php echo $code ?>_callback_tel" name="payment[callback_tel]" title="<?php echo $this->__('Callback') ?>" class="required-entry input-text" />
47
+ </div>
48
+ </li>
49
+ <li>
50
+
51
+ <div class="input-box">
52
+ <div style="font-weight:bold;color:gray;border:1px solid #BFBFBF;font-size:11px; background:#FEFFBF; padding:10px; margin-top:10px;">
53
+ Hinweis: Den PIN erhalten Sie erst nachdem Sie auf "weiter" klicken!
54
+
55
+ </div>
56
+ <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
57
+ <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
58
+ <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
59
+ Neue PIN anfordern&nbsp;<a href="javascript:show_pin_info()">[?]</a>
60
+ </div>
61
+ </li>
62
+ <?php endif ?>
63
  </ul>
64
+ <script type="text/javascript">
65
+ var showbaby;
66
+
67
+ function show_pin_info()
68
+ {
69
+ var url=parent.location.href;
70
+ url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/pin_by_callback_sms.html';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
71
+ showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
72
+ showbaby.focus();
73
+ }
74
+
75
+ function show_acdc_info(){
76
+ var url=parent.location.href;
77
+ url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
78
+ showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
79
+ showbaby.focus();
80
+ }
81
+ function hide_acdc_info(){showbaby.close();}
82
+ </script>
83
  </fieldset>
84
+ <?php else: ?>
85
+ <script type="text/javascript">
86
+ function hideMe(payment_code){
87
+ t = 'p_method_' + payment_code.toString();
88
+ document.getElementById(t).style.visibility = 'hidden';
89
+ aTags = document.getElementsByTagName("label");
90
+ if (aTags && aTags.length) {
91
+ for (i=0; i<aTags.length; i++){
92
+ if (aTags[i].htmlFor == t){
93
+ aTags[i].style.visibility = 'hidden';
94
+ i = aTags.length;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ <?php echo "hideMe('$code');"; ?>
100
+ </script>
101
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/invoice/info.phtml CHANGED
@@ -1,35 +1,36 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php echo $this->__('Due at').': '.$this->__($this->htmlEscape($this->getDuedate())) ?><br />
31
- <?php #echo $this->__('Country').': '.$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
33
- <?php else: ?>
34
-
35
- <?php endif; ?>
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if( $this->getDuedate() ): echo $this->__('Due at').': '.$this->__($this->htmlEscape($this->getDuedate())) ?><br /> <?php endif; ?>
32
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
33
+ <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
34
+ <?php else: ?>
35
+
36
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/pci/form.phtml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php
29
+ $code=$this->getMethodCode();
30
+ $baseUrl=Mage::getBaseUrl('skin');
31
+ ?>
32
+ <?php if ($this->checkCustomerAccess()):?>
33
+ <fieldset class="form-list">
34
+ <div style="position: relative; left: 17em; top: -2.5em">
35
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
+ <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/<?php echo $_typeCode ?>_Logo.png' alt='<?php echo $_typeName ?> Logo'/>
37
+ <?php endforeach ?>
38
+ </div>
39
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
+ <li>
41
+ <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
42
+ </li>
43
+ </ul>
44
+ </fieldset>
45
+ <?php else:?>
46
+ <script type="text/javascript">
47
+ function hideMe(payment_code){
48
+ t = 'p_method_' + payment_code.toString();
49
+ document.getElementById(t).style.visibility = 'hidden';
50
+ aTags = document.getElementsByTagName("label");
51
+ if (aTags && aTags.length) {
52
+ for (i=0; i<aTags.length; i++){
53
+ if (aTags[i].htmlFor == t){
54
+ aTags[i].style.visibility = 'hidden';
55
+ i = aTags.length;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ <?php echo "hideMe('$code');"; ?>
61
+ </script>
62
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/pci/info.phtml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+
30
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
31
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
32
+ <?php if($this->getNnComments()) { ?>
33
+ <?php echo $this->getNnComments() ?><br />
34
+ <?php } ?>
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
+ Error in getting payment method
38
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/pci/pciiframe.phtml ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <?php echo $this->getChildHtml('items_before'); ?>
3
+ <div id="checkout-review-table-wrapper">
4
+ <table class="data-table" id="checkout-review-table">
5
+ <?php if ($this->helper('tax')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
6
+ <col />
7
+ <col width="1" />
8
+ <col width="1" />
9
+ <col width="1" />
10
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
11
+ <col width="1" />
12
+ <col width="1" />
13
+ <?php endif; ?>
14
+ <thead>
15
+ <tr>
16
+ <th rowspan="<?php echo $rowspan ?>"><?php echo $this->__('Product Name') ?></th>
17
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Price') ?></th>
18
+ <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
19
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Subtotal') ?></th>
20
+ </tr>
21
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
22
+ <tr>
23
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
24
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
25
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
26
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
27
+ </tr>
28
+ <?php endif; ?>
29
+ </thead>
30
+ <?php echo $this->getChildHtml('totals'); ?>
31
+ <tbody>
32
+ <?php foreach($this->getItems() as $_item): ?>
33
+ <?php echo $this->getItemHtml($_item)?>
34
+ <?php endforeach ?>
35
+ </tbody>
36
+ </table>
37
+ </div>
38
+ <?php echo $this->getChildHtml('items_after'); ?>
39
+ <script type="text/javascript">
40
+ //<![CDATA[
41
+ decorateTable('checkout-review-table');
42
+ truncateOptions();
43
+ //]]>
44
+ </script>
45
+ <div id="checkout-review-submit">
46
+ <?php echo $this->getChildHtml('agreements') ?>
47
+ <div class="buttons-set" id="review-buttons-container">
48
+ <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
49
+ <?php //echo $this->getChildHtml('button') ?>
50
+
51
+ <span class="please-wait" id="review-please-wait" style="display:none;">
52
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
53
+ </span>
54
+ </div>
55
+ <div align="right">
56
+ <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
57
+ </div>
58
+ </div>
59
+ <?php $payment_method=Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance()->getTitle();
60
+ if(trim($payment_method)=='Novalnet Credit Card PCI')
61
+ {
62
+ $paymentmethod='novalnetCcpci';
63
+ }
64
+ else
65
+ {
66
+ $paymentmethod='';
67
+ }
68
+
69
+ ?>
70
+ <script type="text/javascript">
71
+ //<![CDATA[
72
+ novalnet = new Novalnet('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'), '<?php echo $paymentmethod; ?>');
73
+
74
+ //]]>
75
+ </script>
76
+ <div id="nn_iframe" style="display:none;">
77
+ <?php
78
+
79
+ if($paymentmethod=='novalnetCcpci')
80
+ {
81
+ $session=Mage::getSingleton('checkout/session');
82
+
83
+ $data_val=$session->getNnDataValue();
84
+ $form = new Varien_Data_Form();
85
+ $html = '<html><body>';
86
+ echo '<form action="https://payport.novalnet.de/pci_payport" id="novalnetCcpci" name="novalnetCcpci" method="POST" target="my_iframe">';
87
+ foreach ($data_val->toArray() as $field=>$value) {
88
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
89
+ }
90
+ $html.= $form->toHtml();
91
+ $html.="<iframe id='my_iframe' name='my_iframe' width='518' height='350' ></iframe>";
92
+ $html.= '</form>';
93
+ $html.= '<script type="text/javascript">document.getElementById("review-buttons-container").style.display="none";document.getElementById("novalnetCcpci").submit();</script>';
94
+ $html.= '</body>';
95
+ echo $html.= '</html>';
96
+ }
97
+ ?>
98
+ </div>
app/design/frontend/default/default/template/novalnet/pci/pciiframe_old.phtml ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <?php echo $this->getChildHtml('items_before'); ?>
3
+ <div id="checkout-review-table-wrapper">
4
+ <table class="data-table" id="checkout-review-table">
5
+ <?php if ($this->helper('tax')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
6
+ <col />
7
+ <col width="1" />
8
+ <col width="1" />
9
+ <col width="1" />
10
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
11
+ <col width="1" />
12
+ <col width="1" />
13
+ <?php endif; ?>
14
+ <thead>
15
+ <tr>
16
+ <th rowspan="<?php echo $rowspan ?>"><?php echo $this->__('Product Name') ?></th>
17
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Price') ?></th>
18
+ <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
19
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Subtotal') ?></th>
20
+ </tr>
21
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
22
+ <tr>
23
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
24
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
25
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
26
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
27
+ </tr>
28
+ <?php endif; ?>
29
+ </thead>
30
+ <?php echo $this->getChildHtml('totals'); ?>
31
+ <tbody>
32
+ <?php foreach($this->getItems() as $_item): ?>
33
+ <?php echo $this->getItemHtml($_item)?>
34
+ <?php endforeach ?>
35
+ </tbody>
36
+ </table>
37
+ </div>
38
+ <?php echo $this->getChildHtml('items_after'); ?>
39
+ <script type="text/javascript">
40
+ //<![CDATA[
41
+ decorateTable('checkout-review-table');
42
+ truncateOptions();
43
+ //]]>
44
+ </script>
45
+ <div id="checkout-review-submit">
46
+ <?php echo $this->getChildHtml('agreements') ?>
47
+ <div class="buttons-set" id="review-buttons-container">
48
+ <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
49
+ <?php //echo $this->getChildHtml('button') ?>
50
+
51
+ <span class="please-wait" id="review-please-wait" style="display:none;">
52
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
53
+ </span>
54
+ </div>
55
+ </div>
56
+ <div align="right">
57
+ <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
58
+ </div>
59
+ <script type="text/javascript">
60
+ //<![CDATA[
61
+ novalnet = new Novalnet('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
62
+
63
+ //]]>
64
+ </script>
65
+ <div id="nn_iframe" style="display:none;">
66
+ <?php
67
+
68
+ $session=Mage::getSingleton('checkout/session');
69
+
70
+ $data_val=$session->getNnDataValue();
71
+ $form = new Varien_Data_Form();
72
+ $html = '<html><body>';
73
+ echo '<form action="https://payport.novalnet.de/pci_payport" id="novalnetCcpci" name="novalnetCcpci" method="POST" target="my_iframe">';
74
+ foreach ($data_val->toArray() as $field=>$value) {
75
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
76
+ }
77
+ $html.= $form->toHtml();
78
+ $html.="<iframe id='my_iframe' name='my_iframe' width='518' height='350' ></iframe>";
79
+ $html.= '</form>';
80
+ $html.= '<script type="text/javascript">document.getElementById("review-buttons-container").style.display="none";document.getElementById("novalnetCcpci").submit();</script>';
81
+ $html.= '</body>';
82
+ echo $html.= '</html>';
83
+
84
+ ?>
85
+ </div>
app/design/frontend/default/default/template/novalnet/phonepayment/form.phtml CHANGED
@@ -1,68 +1,61 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
- ?>
30
- <?php $_code=$this->getMethodCode() ?>
31
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
32
- <?php
33
- $_code=$this->getMethodCode();
34
- $customer_id = '';
35
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
36
- {
37
- $customer_id = $_SESSION['customer_base']['id'];
38
- }
39
- $user_group_id = $this->getUserGroupId($customer_id);
40
- $user_group_name = $this->getUserGroupExcluded();
41
- if (!$user_group_name){$allowed = true;}
42
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
43
- ?>
44
- <?php if ($allowed) {?>
45
  <fieldset class="form-list">
46
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
47
  <li>
48
  <div class="input-box">
49
- <?php echo $this->__('Amount below 0.90 Euro and above 10.00 Euro is not accepted')?><br />
50
  </div>
51
- </li>
52
  </ul>
53
- </fieldset>
54
-
55
- <script type="text/javascript">
56
- function hideMe(payment_code){
57
- t = 'p_method_' + payment_code.toString();
58
- document.getElementById(t).style.visibility = 'hidden';
59
- aTags = document.getElementsByTagName("label");
60
- for (i=0; i<aTags.length; i++){
61
- if (aTags[i].htmlFor == t){
62
- aTags[i].style.visibility = 'hidden';
63
- i = aTags.length;
64
- }
65
- }
66
- }
67
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
68
- </script>
 
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
+ ?>
30
+ <?php
31
+ $code = $this->getMethodCode();
32
+ $baseUrl = Mage::getBaseUrl('skin')
33
+ ?>
34
+ <?php if ($this->checkCustomerAccess()):?>
 
 
 
 
 
 
 
 
 
 
35
  <fieldset class="form-list">
36
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
  <div class="input-box">
39
+ <?php echo $this->__('Amount below 0.90 Euro and above 10.00 Euro is not accepted')?><br />
40
  </div>
41
+ </li>
42
  </ul>
43
+ </fieldset>
44
+ <?php else:?>
45
+ <script type="text/javascript">
46
+ function hideMe(payment_code){
47
+ t = 'p_method_' + payment_code.toString();
48
+ document.getElementById(t).style.visibility = 'hidden';
49
+ aTags = document.getElementsByTagName("label");
50
+ if (aTags && aTags.length) {
51
+ for (i=0; i<aTags.length; i++){
52
+ if (aTags[i].htmlFor == t){
53
+ aTags[i].style.visibility = 'hidden';
54
+ i = aTags.length;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ <?php echo "hideMe('$code');"; ?>
60
+ </script>
61
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/phonepayment/info.phtml CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php #echo $this->__('Country').': '.$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
- <?php else: ?>
33
-
34
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
+ <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
33
+ <?php else: ?>
34
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/prepayment/form.phtml CHANGED
@@ -1,70 +1,61 @@
1
  <?php
2
 
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
- ?>
30
- <?php $_code=$this->getMethodCode() ?>
31
- <?php $baseUrl=Mage::getBaseUrl('skin') ?>
32
- <?php
33
- $_code=$this->getMethodCode();
34
- $customer_id = '';
35
- if (isset($_SESSION) and isset($_SESSION['customer_base']) and isset($_SESSION['customer_base']['id']))
36
- {
37
- $customer_id = $_SESSION['customer_base']['id'];
38
- }
39
- $user_group_id = $this->getUserGroupId($customer_id);
40
- $user_group_name = $this->getUserGroupExcluded();
41
- if (!$user_group_name){$allowed = true;}
42
- else{$allowed = $this->checkUserGroupAccess($user_group_id, $user_group_name);}
43
- ?>
44
-
45
- <?php if ($allowed) {?>
46
  <fieldset class="form-list">
47
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
48
  <li>
49
  <div class="input-box">
50
- <?php echo $this->__($this->htmlEscape('The Bank details will be emailed to you soon after the completion of checkout process'))?><br />
51
  </div>
52
- </li>
53
  </ul>
54
  </fieldset>
55
-
56
- <?php }?>
57
- <script type="text/javascript">
58
- function hideMe(payment_code){
59
- t = 'p_method_' + payment_code.toString();
60
- document.getElementById(t).style.visibility = 'hidden';
61
- aTags = document.getElementsByTagName("label");
62
- for (i=0; i<aTags.length; i++){
63
- if (aTags[i].htmlFor == t){
64
- aTags[i].style.visibility = 'hidden';
65
- i = aTags.length;
66
- }
67
- }
68
- }
69
- <?php if (!$allowed){echo"hideMe('$_code')"; }?>
70
- </script>
 
 
1
  <?php
2
 
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2008 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
+ ?>
30
+ <?php
31
+ $code = $this->getMethodCode();
32
+ $baseUrl = Mage::getBaseUrl('skin')
33
+ ?>
34
+ <?php if ($this->checkCustomerAccess()):?>
 
 
 
 
 
 
 
 
 
 
 
35
  <fieldset class="form-list">
36
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
  <div class="input-box">
39
+ <?php echo $this->__($this->htmlEscape('The Bank details will be emailed to you soon after the completion of checkout process'))?><br />
40
  </div>
41
+ </li>
42
  </ul>
43
  </fieldset>
44
+ <?php else: ?>
45
+ <script type="text/javascript">
46
+ function hideMe(payment_code){
47
+ t = 'p_method_' + payment_code.toString();
48
+ document.getElementById(t).style.visibility = 'hidden';
49
+ aTags = document.getElementsByTagName("label");
50
+ if (aTags && aTags.length) {
51
+ for (i=0; i<aTags.length; i++){
52
+ if (aTags[i].htmlFor == t){
53
+ aTags[i].style.visibility = 'hidden';
54
+ i = aTags.length;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ <?php echo "hideMe('$code');"; ?>
60
+ </script>
61
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/prepayment/info.phtml CHANGED
@@ -1,34 +1,35 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * Part of the Paymentmodul of Novalnet AG
16
- * http://www.novalnet.de
17
- * If you have found this script usefull a small
18
- * recommendation as well as a comment on merchant form
19
- * would be greatly appreciated.
20
- *
21
- * @category design_default
22
- * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
- * @version 1.0.0
25
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
- */
27
- ?>
28
- <?php if($_info = $this->getInfo()):?>
29
- <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
30
- <?php #echo $this->__('Country').': '.$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
- <?php else: ?>
33
-
34
- <?php endif; ?>
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
+ <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
33
+ <?php else: ?>
34
+
35
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/secure/form.phtml ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php
29
+ $code=$this->getMethodCode();
30
+ $baseUrl=Mage::getBaseUrl('skin');
31
+ ?>
32
+ <?php if ($this->checkCustomerAccess()): ?>
33
+ <fieldset class="form-list">
34
+ <div style="position: relative; left: 17em; top: -2.5em">
35
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
+ <img src='<?php echo $baseUrl?>frontend/default/default/images/novalnet/<?php echo $_typeCode ?>_Logo.png' alt='<?php echo $_typeName?> Logo'/>
37
+ <?php endforeach ?>
38
+ </div>
39
+ <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
+ <li>
41
+ <div class="input-box">
42
+ <label for="<?php echo $code ?>_cc_type"><?php echo $this->__('Credit Card Type') ?> <span class="required">*</span></label><br />
43
+ <select id="<?php echo $code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
44
+ <option value=""><?php echo $this->__('--Please Select--')?></option>
45
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
46
+ <option value="<?php echo $_typeCode ?>"><?php echo $_typeName ?></option>
47
+ <?php endforeach; ?>
48
+ </select>
49
+ </div>
50
+ </li>
51
+ <li>
52
+ <div class="input-box">
53
+ <label for="<?php echo $code ?>_cc_owner"><?php echo $this->__('Name on Card') ?> <span class="required">*</span></label><br/>
54
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="required-entry input-text" id="<?php echo $code ?>_cc_owner" name="payment[cc_owner]" value=""/>
55
+ </div>
56
+ </li>
57
+ <li>
58
+ <div class="input-box">
59
+ <label for="<?php echo $code ?>_cc_number"><?php echo $this->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
60
+ <input type="text" id="<?php echo $code ?>_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
61
+ </div>
62
+ </li>
63
+ <li>
64
+ <div class="input-box">
65
+ <label for="<?php echo $code ?>_expiration"><?php echo $this->__('Expiration Date') ?> <span class="required">*</span></label><br />
66
+ <div class="v-fix">
67
+ <select id="<?php echo $code ?>_expiration" style="width:140px;" name="payment[cc_exp_month]" class="required-entry">
68
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
69
+ <option value="<?php echo $k ?>"><?php echo $v ?></option>
70
+ <?php endforeach; ?>
71
+ </select>
72
+ </div>
73
+ <div class="v-fix" style="padding-left:5px;">
74
+ <select id="<?php echo $code ?>_expiration_yr" style="width:103px;" name="payment[cc_exp_year]" class="required-entry">
75
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
76
+ <option value="<?php echo $k ?>"><?php echo $v ?></option>
77
+ <?php endforeach; ?>
78
+ </select>
79
+ </div>
80
+ </div>
81
+ </li>
82
+ <?php if($this->hasVerification()): ?>
83
+ <li>
84
+ <div class="input-box">
85
+ <label for="<?php echo $code ?>_cc_cid"><?php echo $this->__('Card Verification Number') ?> <span class="required">*</span></label><br />
86
+ <div class="v-fix"><input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="required-entry input-text validate-cc-cvn" id="<?php echo $code ?>_cc_cid" name="payment[cc_cid]" style="width:3em;" value="" /></div>
87
+ &nbsp;
88
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
89
+ </div>
90
+ </li>
91
+ <?php endif; ?>
92
+ <li>
93
+ <?php echo $this->__('The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
94
+ </li>
95
+ </ul>
96
+ </fieldset>
97
+ <?php else: ?>
98
+ <script type="text/javascript">
99
+ function hideMe(payment_code){
100
+ t = 'p_method_' + payment_code.toString();
101
+ document.getElementById(t).style.visibility = 'hidden';
102
+ aTags = document.getElementsByTagName("label");
103
+ if (aTags && aTags.length) {
104
+ for (i=0; i<aTags.length; i++){
105
+ if (aTags[i].htmlFor == t){
106
+ aTags[i].style.visibility = 'hidden';
107
+ i = aTags.length;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ <?php echo "hideMe('$code');"; ?>
113
+ </script>
114
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/secure/info.phtml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * Part of the Paymentmodul of Novalnet AG
16
+ * http://www.novalnet.de
17
+ * If you have found this script usefull a small
18
+ * recommendation as well as a comment on merchant form
19
+ * would be greatly appreciated.
20
+ *
21
+ * @category design_default
22
+ * @package Mage
23
+ * @copyright Copyright (c) 2008 Novalnet AG
24
+ * @version 1.0.0
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ ?>
28
+ <?php if($_info = $this->getInfo()): ?>
29
+ <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
+ <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
+ <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
34
+ <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
+ <?php else: ?>
37
+ <?php endif; ?>
app/etc/modules/Mage_Novalnet.xml CHANGED
@@ -1,32 +1,32 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <config>
3
- <modules>
4
- <!-- declare Mage_NewModule module -->
5
- <Mage_Novalnet>
6
- <!-- this is an active module -->
7
- <active>true</active>
8
- <!-- this module will be located in app/code/local code pool -->
9
- <codePool>community</codePool>
10
- <!-- specify dependencies for correct module loading order -->
11
- <depends>
12
- <Mage_Payment />
13
- </depends>
14
- <!-- declare module's version information for database updates -->
15
- <version>1.0.1</version>
16
- </Mage_Novalnet>
17
- </modules>
18
- <global>
19
- <resources>
20
- <novalnet_setup>
21
- <setup>
22
- <module>Mage_Novalnet</module>
23
- <class>Mage_Novalnet_Model_Mysql4_Setup</class>
24
-
25
- </setup>
26
- <connection>
27
- <use>core_setup</use>
28
- </connection>
29
- </novalnet_setup>
30
- </resources>
31
- </global>
32
  </config>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <modules>
4
+ <!-- declare Mage_NewModule module -->
5
+ <Mage_Novalnet>
6
+ <!-- this is an active module -->
7
+ <active>true</active>
8
+ <!-- this module will be located in app/code/local code pool -->
9
+ <codePool>community</codePool>
10
+ <!-- specify dependencies for correct module loading order -->
11
+ <depends>
12
+ <Mage_Payment />
13
+ </depends>
14
+ <!-- declare module's version information for database updates -->
15
+ <version>1.4.0</version>
16
+ </Mage_Novalnet>
17
+ </modules>
18
+ <global>
19
+ <resources>
20
+ <novalnet_setup>
21
+ <setup>
22
+ <module>Mage_Novalnet</module>
23
+ <class>Mage_Novalnet_Model_Mysql4_Setup</class>
24
+
25
+ </setup>
26
+ <connection>
27
+ <use>core_setup</use>
28
+ </connection>
29
+ </novalnet_setup>
30
+ </resources>
31
+ </global>
32
  </config>
app/locale/de_AT/Mage_Novalnet.csv CHANGED
@@ -1,112 +1,128 @@
1
- "Enabled","Aktiviert"
2
- "New order status","Neuer Bestellstatus"
3
- "Novalnet Merchant ID","Novalnet Händler ID"
4
- "Title","Titel"
5
- "Novalnet Auth Code","Novalnet Auth Code"
6
- "Novalnet Product ID","Novalnet Produkt ID"
7
- "Novalnet Tariff ID","Novalnet Tarif ID"
8
- "Payment from applicable countries","Zahlungsmöglichkeit für"
9
- "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit"
10
- "DE","Deutschland"
11
- "AT","Österreich"
12
- "Direct Debit","Lastschrift"
13
- "Credit Card","Kreditkarte"
14
- "Country","Buchungsland"
15
- "Name on the Card","Kreditkarteninhaber"
16
- "Name on Card","Kreditkarteninhaber"
17
- "Credit Card Type","Kreditkarten Typ"
18
- "Credit Card Number","Kreditkartennummer"
19
- "Expiration Date","Ablaufdatum"
20
- "Card Verification Number","CVC-Nummer"
21
- "What is this?","Wo finde ich die CVC-Nummer?"
22
- "Account Holder","Name des Kontoinhabers"
23
- "Account Number","Kontonummer"
24
- "Bank Sorting Code","Bankleitzahl"
25
- "Country: ","Buchungsland: "
26
- "Account Holder: %s","Kontoinhaber: %s"
27
- "Account Number: %s","Kontonummer: %s"
28
- "Bank Sorting Code: %s","Bankleitzahl: %s"
29
- "TID: %s","TID: %s"
30
- "Name on the Card: %s","Kreditkarteninhaber: %s"
31
- "Credit Card Number: %s","Kreditkartennummer: %s"
32
- "Credit Card Number: xxxx-%s","Kreditkartennummer: xxxx-%s"
33
- "Credit Card Type: %s","Kreditkartentyp: %s"
34
- "Expiration Date: %s/%s","Gültig bis: %s/%s"
35
- "Credit Card Types","Mögliche Kreditkarten"
36
- "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht."
37
- "This is not a valid account number.","Die Kontonummer ist nicht gültig!"
38
- "This is not a valid bank sorting code.","Die Bankleitzahl ist nicht gültig!"
39
- "Direct Debit","Lastschrift"
40
- "Credit Card","Kreditkarte"
41
- "Creditcard","Kreditkarte"
42
- "3D-Secure Credit Card","3D-Secure Kreditkarte"
43
- "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet"
44
- "Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
45
- "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück"
46
- "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen"
47
- "Prepayment","Vorkasse"
48
- "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet."
49
- "Payment Duration", "Zahlbar in Tagen"
50
- "--Please Select--","--Bitte wählen--"
51
- "Invoice","Rechnung"
52
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
53
- "to following account:","auf folgendes Konto:"
54
- "I accept the ACDC check","'Der acdc-Check wird akzeptiert'"
55
- "This is a required field","Das ist ein Pflichtfeld"
56
- "CC","Kreditkarte"
57
- "Cc","Kreditkarte"
58
- "Method","Zahlart"
59
- "Due at","Gültig bis"
60
- "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt"
61
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
62
- "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto"
63
- "Account Holder2","Kontoinhaber"
64
- "Bank","Bank"
65
- "Amount", "Betrag"
66
- "Reference","Verwendungszweck"
67
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
68
- "to following account","auf folgendes Konto"
69
- "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird"
70
- "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert"
71
- "accepted","wird akzeptiert"
72
- "ACDC-Check","ACDC-Check"
73
- "The","Der"
74
- "Month","Monat"
75
- "Year","Jahr"
76
- "Direct Debit German","Lastschrift Deutschland"
77
- "Direct Debit Austria","Lastschrift Österreich"
78
- "Booking Reference","Verwendungszweck"
79
- "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein"
80
- "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein"
81
- "You must check ACDC","You must check ACDC"
82
- "Notice for Clients","Hinweis für Kunden"
83
- "Pay by Call","Per Telefon"
84
- "Phonepayment","Per Telefon"
85
- "Error","Fehler"
86
- "Order Price not found","Bestellsumme nicht gefunden"
87
- "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!"
88
- "Params (aryResponse) missing","Params (aryResponse) fehlt"
89
- "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen"
90
- "Step","Schritt"
91
- "Please dial this number","Bitte rufen Sie diese Telefonnummer an"
92
- "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf"
93
- "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter"
94
- "This call costs","Dieser Anruf kostet einmalig"
95
- "inclusive tax","inkl. MwSt."
96
- "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich"
97
- "Response contains no XML data","Response enthält keine XML Daten"
98
- "Did you called this number","Did you called this number"
99
- "Billing Addr. not found","Rechnungsadresse nicht gefunden"
100
- "User Group Excluded","Ausgeschlossene Benutzergruppe"
101
- "Parameter missing","Parameter fehlt"
102
- "Comment","Bemerkung"
103
- "Email address missing","Emailadresse nicht vorhanden"
104
- "Instant Bank Transfer","Sofortüberweisung"
105
- "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
- "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
- "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
- "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
109
- "Password","Passwort"
110
- "Test Mode","Testmodus"
111
- "Live Mode","Livemodus"
112
- "Testorder","Testbestellung"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Enabled,Aktiviert
2
+ New order status,Neuer Bestellstatus
3
+ Novalnet Merchant ID,Novalnet Händler ID
4
+ Title,Titel
5
+ Novalnet Auth Code,Novalnet Auth Code
6
+ Novalnet Product ID,Novalnet Produkt ID
7
+ Novalnet Tariff ID,Novalnet Tarif ID
8
+ Payment from applicable countries,Zahlungsmöglichkeit für
9
+ Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit
10
+ DE,Deutschland
11
+ AT,Österreich
12
+ Direct Debit,Lastschrift
13
+ Credit Card,Kreditkarte
14
+ Country,Buchungsland
15
+ Name on the Card,Kreditkarteninhaber
16
+ Name on Card,Kreditkarteninhaber
17
+ Credit Card Type,Kreditkarten Typ
18
+ Credit Card Number,Kreditkartennummer
19
+ Expiration Date,Ablaufdatum
20
+ Card Verification Number,CVC-Nummer
21
+ What is this?,Wo finde ich die CVC-Nummer?
22
+ Account Holder,Name des Kontoinhabers
23
+ Account Number,Kontonr.
24
+ Bank Sorting Code,BLZ
25
+ Country: ,Buchungsland:
26
+ Account Holder: %s,Kontoinhaber: %s
27
+ Account Number: %s,Kontonr.: %s
28
+ Bank Sorting Code: %s,BLZ: %s
29
+ TID: %s,TID: %s
30
+ Name on the Card: %s,Kreditkarteninhaber: %s
31
+ Credit Card Number: %s,Kreditkartennummer: %s
32
+ Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s
33
+ Credit Card Type: %s,Kreditkartentyp: %s
34
+ Expiration Date: %s/%s,Gültig bis: %s/%s
35
+ Credit Card Types,Mögliche Kreditkarten
36
+ The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht.
37
+ This is not a valid account number.,Die Kontonummer ist nicht gültig!
38
+ This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!
39
+ Direct Debit,Lastschrift
40
+ Credit Card,Kreditkarte
41
+ Creditcard,Kreditkarte
42
+ Credit Card 3D-Secure,Kreditkarte 3D-Secure
43
+ You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
44
+ Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück
45
+ Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen
46
+ Prepayment,Vorkasse
47
+ Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.
48
+ Payment Duration,Zahlbar in Tagen
49
+ --Please Select--,--Bitte wählen--
50
+ Invoice,Rechnung
51
+ "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:,auf folgendes Konto:
52
+ I accept the ACDC check,Der acdc-Check wird akzeptiert
53
+ This is a required field,Das ist ein Pflichtfeld
54
+ CC,Kreditkarte
55
+ Cc,Kreditkarte
56
+ Method,Zahlart
57
+ Due at,Gültig bis
58
+ The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.
59
+ Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto
60
+ Account Holder2,Kontoinhaber
61
+ Bank,Bank
62
+ Amount,Betrag
63
+ Reference,Verwendungszweck
64
+ to following account,auf folgendes Konto
65
+ Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird"
66
+ The ACDC-Check accepted,Der ACDC-Check wird akzeptiert
67
+ accepted,wird akzeptiert
68
+ ACDC-Check,ACDC-Check
69
+ The,Der
70
+ Month,Monat
71
+ Year,Jahr
72
+ Direct Debit German,Lastschrift Deutschland
73
+ Direct Debit Austria,Lastschrift Österreich
74
+ Booking Reference,Verwendungszweck
75
+ The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein
76
+ The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein
77
+ You must check ACDC,You must check ACDC
78
+ Notice for Clients,Hinweis für Kunden
79
+ Pay by Call,Per Telefon
80
+ Phonepayment,Per Telefon
81
+ Error,Fehler
82
+ Order Price not found,Bestellsumme nicht gefunden
83
+ Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!
84
+ Params (aryResponse) missing,Params (aryResponse) fehlt
85
+ Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen
86
+ Step,Schritt
87
+ Please dial this number,Bitte rufen Sie diese Telefonnummer an
88
+ Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf
89
+ Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter
90
+ This call costs,Dieser Anruf kostet einmalig
91
+ inclusive tax,inkl. MwSt.
92
+ and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich
93
+ Response contains no XML data,Response enthält keine XML Daten
94
+ Did you called this number,Did you called this number
95
+ Billing Addr. not found,Rechnungsadresse nicht gefunden
96
+ User Group Excluded,Ausgeschlossene Benutzergruppe
97
+ Parameter missing,Parameter fehlt
98
+ Comment,Bemerkung
99
+ Email address missing,Emailadresse nicht vorhanden
100
+ Instant Bank Transfer,Sofortüberweisung
101
+ Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet
102
+ Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet
103
+ Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen
104
+ Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt
105
+ Password,Passwort
106
+ Test Mode,Testmodus
107
+ Live Mode,Livemodus
108
+ Testorder,Testbestellung
109
+ Credit Card PCI,Kreditkarte PCI
110
+ Direct Debit German PCI,Lastschrift Deutschland PCI
111
+ Direct Debit Austria PCI,Lastschrift Österreich PCI
112
+ Novalnet Phonepayment,Novalnet Per Telefon
113
+ Novalnet Prepayment,Novalnet Vorkasse
114
+ Novalnet Invoice,Novalnet per Rechnung
115
+ Novalnet Direct Debit,Novalnet Lastschrift
116
+ Novalnet Credit Card,Novalnet Kreditkarte
117
+ Novalnet Creditcard,Novalnet Kreditkarte
118
+ Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure
119
+ Novalnet Credit Card PCI,Novalnet Kreditkarte PCI
120
+ Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI
121
+ Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI
122
+ Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung
123
+ You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.
124
+ You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben."
125
+ Novalnet Direct Debit German,Novalnet Lastschrift Deutschland
126
+ Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich
127
+ Only for foreign transfers,Nur bei Auslandsüberweisungen
128
+ Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG
app/locale/de_CH/Mage_Novalnet.csv CHANGED
@@ -1,112 +1,128 @@
1
- "Enabled","Aktiviert"
2
- "New order status","Neuer Bestellstatus"
3
- "Novalnet Merchant ID","Novalnet Händler ID"
4
- "Title","Titel"
5
- "Novalnet Auth Code","Novalnet Auth Code"
6
- "Novalnet Product ID","Novalnet Produkt ID"
7
- "Novalnet Tariff ID","Novalnet Tarif ID"
8
- "Payment from applicable countries","Zahlungsmöglichkeit für"
9
- "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit"
10
- "DE","Deutschland"
11
- "AT","Österreich"
12
- "Direct Debit","Lastschrift"
13
- "Credit Card","Kreditkarte"
14
- "Country","Buchungsland"
15
- "Name on the Card","Kreditkarteninhaber"
16
- "Name on Card","Kreditkarteninhaber"
17
- "Credit Card Type","Kreditkarten Typ"
18
- "Credit Card Number","Kreditkartennummer"
19
- "Expiration Date","Ablaufdatum"
20
- "Card Verification Number","CVC-Nummer"
21
- "What is this?","Wo finde ich die CVC-Nummer?"
22
- "Account Holder","Name des Kontoinhabers"
23
- "Account Number","Kontonummer"
24
- "Bank Sorting Code","Bankleitzahl"
25
- "Country: ","Buchungsland: "
26
- "Account Holder: %s","Kontoinhaber: %s"
27
- "Account Number: %s","Kontonummer: %s"
28
- "Bank Sorting Code: %s","Bankleitzahl: %s"
29
- "TID: %s","TID: %s"
30
- "Name on the Card: %s","Kreditkarteninhaber: %s"
31
- "Credit Card Number: %s","Kreditkartennummer: %s"
32
- "Credit Card Number: xxxx-%s","Kreditkartennummer: xxxx-%s"
33
- "Credit Card Type: %s","Kreditkartentyp: %s"
34
- "Expiration Date: %s/%s","Gültig bis: %s/%s"
35
- "Credit Card Types","Mögliche Kreditkarten"
36
- "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht."
37
- "This is not a valid account number.","Die Kontonummer ist nicht gültig!"
38
- "This is not a valid bank sorting code.","Die Bankleitzahl ist nicht gültig!"
39
- "Direct Debit","Lastschrift"
40
- "Credit Card","Kreditkarte"
41
- "Creditcard","Kreditkarte"
42
- "3D-Secure Credit Card","3D-Secure Kreditkarte"
43
- "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet"
44
- "Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
45
- "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück"
46
- "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen"
47
- "Prepayment","Vorkasse"
48
- "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet."
49
- "Payment Duration", "Zahlbar in Tagen"
50
- "--Please Select--","--Bitte wählen--"
51
- "Invoice","Rechnung"
52
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
53
- "to following account:","auf folgendes Konto:"
54
- "I accept the ACDC check","'Der acdc-Check wird akzeptiert'"
55
- "This is a required field","Das ist ein Pflichtfeld"
56
- "CC","Kreditkarte"
57
- "Cc","Kreditkarte"
58
- "Method","Zahlart"
59
- "Due at","Gültig bis"
60
- "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt"
61
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
62
- "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto"
63
- "Account Holder2","Kontoinhaber"
64
- "Bank","Bank"
65
- "Amount", "Betrag"
66
- "Reference","Verwendungszweck"
67
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
68
- "to following account","auf folgendes Konto"
69
- "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird"
70
- "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert"
71
- "accepted","wird akzeptiert"
72
- "ACDC-Check","ACDC-Check"
73
- "The","Der"
74
- "Month","Monat"
75
- "Year","Jahr"
76
- "Direct Debit German","Lastschrift Deutschland"
77
- "Direct Debit Austria","Lastschrift Österreich"
78
- "Booking Reference","Verwendungszweck"
79
- "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein"
80
- "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein"
81
- "You must check ACDC","You must check ACDC"
82
- "Notice for Clients","Hinweis für Kunden"
83
- "Pay by Call","Per Telefon"
84
- "Phonepayment","Per Telefon"
85
- "Error","Fehler"
86
- "Order Price not found","Bestellsumme nicht gefunden"
87
- "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!"
88
- "Params (aryResponse) missing","Params (aryResponse) fehlt"
89
- "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen"
90
- "Step","Schritt"
91
- "Please dial this number","Bitte rufen Sie diese Telefonnummer an"
92
- "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf"
93
- "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter"
94
- "This call costs","Dieser Anruf kostet einmalig"
95
- "inclusive tax","inkl. MwSt."
96
- "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich"
97
- "Response contains no XML data","Response enthält keine XML Daten"
98
- "Did you called this number","Did you called this number"
99
- "Billing Addr. not found","Rechnungsadresse nicht gefunden"
100
- "User Group Excluded","Ausgeschlossene Benutzergruppe"
101
- "Parameter missing","Parameter fehlt"
102
- "Comment","Bemerkung"
103
- "Email address missing","Emailadresse nicht vorhanden"
104
- "Instant Bank Transfer","Sofortüberweisung"
105
- "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
- "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
- "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
- "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
109
- "Password","Passwort"
110
- "Test Mode","Testmodus"
111
- "Live Mode","Livemodus"
112
- "Testorder","Testbestellung"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Enabled,Aktiviert
2
+ New order status,Neuer Bestellstatus
3
+ Novalnet Merchant ID,Novalnet Händler ID
4
+ Title,Titel
5
+ Novalnet Auth Code,Novalnet Auth Code
6
+ Novalnet Product ID,Novalnet Produkt ID
7
+ Novalnet Tariff ID,Novalnet Tarif ID
8
+ Payment from applicable countries,Zahlungsmöglichkeit für
9
+ Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit
10
+ DE,Deutschland
11
+ AT,Österreich
12
+ Direct Debit,Lastschrift
13
+ Credit Card,Kreditkarte
14
+ Country,Buchungsland
15
+ Name on the Card,Kreditkarteninhaber
16
+ Name on Card,Kreditkarteninhaber
17
+ Credit Card Type,Kreditkarten Typ
18
+ Credit Card Number,Kreditkartennummer
19
+ Expiration Date,Ablaufdatum
20
+ Card Verification Number,CVC-Nummer
21
+ What is this?,Wo finde ich die CVC-Nummer?
22
+ Account Holder,Name des Kontoinhabers
23
+ Account Number,Kontonr.
24
+ Bank Sorting Code,BLZ
25
+ Country: ,Buchungsland:
26
+ Account Holder: %s,Kontoinhaber: %s
27
+ Account Number: %s,Kontonr.: %s
28
+ Bank Sorting Code: %s,BLZ: %s
29
+ TID: %s,TID: %s
30
+ Name on the Card: %s,Kreditkarteninhaber: %s
31
+ Credit Card Number: %s,Kreditkartennummer: %s
32
+ Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s
33
+ Credit Card Type: %s,Kreditkartentyp: %s
34
+ Expiration Date: %s/%s,Gültig bis: %s/%s
35
+ Credit Card Types,Mögliche Kreditkarten
36
+ The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht.
37
+ This is not a valid account number.,Die Kontonummer ist nicht gültig!
38
+ This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!
39
+ Direct Debit,Lastschrift
40
+ Credit Card,Kreditkarte
41
+ Creditcard,Kreditkarte
42
+ Credit Card 3D-Secure,Kreditkarte 3D-Secure
43
+ You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
44
+ Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück
45
+ Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen
46
+ Prepayment,Vorkasse
47
+ Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.
48
+ Payment Duration,Zahlbar in Tagen
49
+ --Please Select--,--Bitte wählen--
50
+ Invoice,Rechnung
51
+ "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:,auf folgendes Konto:
52
+ I accept the ACDC check,Der acdc-Check wird akzeptiert
53
+ This is a required field,Das ist ein Pflichtfeld
54
+ CC,Kreditkarte
55
+ Cc,Kreditkarte
56
+ Method,Zahlart
57
+ Due at,Gültig bis
58
+ The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.
59
+ Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto
60
+ Account Holder2,Kontoinhaber
61
+ Bank,Bank
62
+ Amount,Betrag
63
+ Reference,Verwendungszweck
64
+ to following account,auf folgendes Konto
65
+ Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird"
66
+ The ACDC-Check accepted,Der ACDC-Check wird akzeptiert
67
+ accepted,wird akzeptiert
68
+ ACDC-Check,ACDC-Check
69
+ The,Der
70
+ Month,Monat
71
+ Year,Jahr
72
+ Direct Debit German,Lastschrift Deutschland
73
+ Direct Debit Austria,Lastschrift Österreich
74
+ Booking Reference,Verwendungszweck
75
+ The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein
76
+ The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein
77
+ You must check ACDC,You must check ACDC
78
+ Notice for Clients,Hinweis für Kunden
79
+ Pay by Call,Per Telefon
80
+ Phonepayment,Per Telefon
81
+ Error,Fehler
82
+ Order Price not found,Bestellsumme nicht gefunden
83
+ Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!
84
+ Params (aryResponse) missing,Params (aryResponse) fehlt
85
+ Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen
86
+ Step,Schritt
87
+ Please dial this number,Bitte rufen Sie diese Telefonnummer an
88
+ Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf
89
+ Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter
90
+ This call costs,Dieser Anruf kostet einmalig
91
+ inclusive tax,inkl. MwSt.
92
+ and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich
93
+ Response contains no XML data,Response enthält keine XML Daten
94
+ Did you called this number,Did you called this number
95
+ Billing Addr. not found,Rechnungsadresse nicht gefunden
96
+ User Group Excluded,Ausgeschlossene Benutzergruppe
97
+ Parameter missing,Parameter fehlt
98
+ Comment,Bemerkung
99
+ Email address missing,Emailadresse nicht vorhanden
100
+ Instant Bank Transfer,Sofortüberweisung
101
+ Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet
102
+ Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet
103
+ Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen
104
+ Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt
105
+ Password,Passwort
106
+ Test Mode,Testmodus
107
+ Live Mode,Livemodus
108
+ Testorder,Testbestellung
109
+ Credit Card PCI,Kreditkarte PCI
110
+ Direct Debit German PCI,Lastschrift Deutschland PCI
111
+ Direct Debit Austria PCI,Lastschrift Österreich PCI
112
+ Novalnet Phonepayment,Novalnet Per Telefon
113
+ Novalnet Prepayment,Novalnet Vorkasse
114
+ Novalnet Invoice,Novalnet per Rechnung
115
+ Novalnet Direct Debit,Novalnet Lastschrift
116
+ Novalnet Credit Card,Novalnet Kreditkarte
117
+ Novalnet Creditcard,Novalnet Kreditkarte
118
+ Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure
119
+ Novalnet Credit Card PCI,Novalnet Kreditkarte PCI
120
+ Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI
121
+ Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI
122
+ Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung
123
+ You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.
124
+ You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben."
125
+ Novalnet Direct Debit German,Novalnet Lastschrift Deutschland
126
+ Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich
127
+ Only for foreign transfers,Nur bei Auslandsüberweisungen
128
+ Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG
app/locale/de_DE/Mage_Novalnet.csv CHANGED
@@ -1,112 +1,129 @@
1
- "Enabled","Aktiviert"
2
- "New order status","Neuer Bestellstatus"
3
- "Novalnet Merchant ID","Novalnet Händler ID"
4
- "Title","Titel"
5
- "Novalnet Auth Code","Novalnet Auth Code"
6
- "Novalnet Product ID","Novalnet Produkt ID"
7
- "Novalnet Tariff ID","Novalnet Tarif ID"
8
- "Payment from applicable countries","Zahlungsmöglichkeit für"
9
- "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit"
10
- "DE","Deutschland"
11
- "AT","Österreich"
12
- "Direct Debit","Lastschrift"
13
- "Credit Card","Kreditkarte"
14
- "Country","Buchungsland"
15
- "Name on the Card","Kreditkarteninhaber"
16
- "Name on Card","Kreditkarteninhaber"
17
- "Credit Card Type","Kreditkarten Typ"
18
- "Credit Card Number","Kreditkartennummer"
19
- "Expiration Date","Ablaufdatum"
20
- "Card Verification Number","CVC-Nummer"
21
- "What is this?","Wo finde ich die CVC-Nummer?"
22
- "Account Holder","Name des Kontoinhabers"
23
- "Account Number","Kontonummer"
24
- "Bank Sorting Code","Bankleitzahl"
25
- "Country: ","Buchungsland: "
26
- "Account Holder: %s","Kontoinhaber: %s"
27
- "Account Number: %s","Kontonummer: %s"
28
- "Bank Sorting Code: %s","Bankleitzahl: %s"
29
- "TID: %s","TID: %s"
30
- "Name on the Card: %s","Kreditkarteninhaber: %s"
31
- "Credit Card Number: %s","Kreditkartennummer: %s"
32
- "Credit Card Number: xxxx-%s","Kreditkartennummer: xxxx-%s"
33
- "Credit Card Type: %s","Kreditkartentyp: %s"
34
- "Expiration Date: %s/%s","Gültig bis: %s/%s"
35
- "Credit Card Types","Mögliche Kreditkarten"
36
- "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht."
37
- "This is not a valid account number.","Die Kontonummer ist nicht gültig!"
38
- "This is not a valid bank sorting code.","Die Bankleitzahl ist nicht gültig!"
39
- "Direct Debit","Lastschrift"
40
- "Credit Card","Kreditkarte"
41
- "Creditcard","Kreditkarte"
42
- "3D-Secure Credit Card","3D-Secure Kreditkarte"
43
- "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet"
44
- "Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
45
- "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück"
46
- "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen"
47
- "Prepayment","Vorkasse"
48
- "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet."
49
- "Payment Duration", "Zahlbar in Tagen"
50
- "--Please Select--","--Bitte wählen--"
51
- "Invoice","Rechnung"
52
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
53
- "to following account:","auf folgendes Konto:"
54
- "I accept the ACDC check","'Der acdc-Check wird akzeptiert'"
55
- "This is a required field","Das ist ein Pflichtfeld"
56
- "CC","Kreditkarte"
57
- "Cc","Kreditkarte"
58
- "Method","Zahlart"
59
- "Due at","Gültig bis"
60
- "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt"
61
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
62
- "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto"
63
- "Account Holder2","Kontoinhaber"
64
- "Bank","Bank"
65
- "Amount", "Betrag"
66
- "Reference","Verwendungszweck"
67
- "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
68
- "to following account","auf folgendes Konto"
69
- "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird"
70
- "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert"
71
- "accepted","wird akzeptiert"
72
- "ACDC-Check","ACDC-Check"
73
- "The","Der"
74
- "Month","Monat"
75
- "Year","Jahr"
76
- "Direct Debit German","Lastschrift Deutschland"
77
- "Direct Debit Austria","Lastschrift Österreich"
78
- "Booking Reference","Verwendungszweck"
79
- "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein"
80
- "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein"
81
- "You must check ACDC","You must check ACDC"
82
- "Notice for Clients","Hinweis für Kunden"
83
- "Pay by Call","Per Telefon"
84
- "Phonepayment","Per Telefon"
85
- "Error","Fehler"
86
- "Order Price not found","Bestellsumme nicht gefunden"
87
- "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!"
88
- "Params (aryResponse) missing","Params (aryResponse) fehlt"
89
- "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen"
90
- "Step","Schritt"
91
- "Please dial this number","Bitte rufen Sie diese Telefonnummer an"
92
- "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf"
93
- "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter"
94
- "This call costs","Dieser Anruf kostet einmalig"
95
- "inclusive tax","inkl. MwSt."
96
- "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich"
97
- "Response contains no XML data","Response enthält keine XML Daten"
98
- "Did you called this number","Did you called this number"
99
- "Billing Addr. not found","Rechnungsadresse nicht gefunden"
100
- "User Group Excluded","Ausgeschlossene Benutzergruppe"
101
- "Parameter missing","Parameter fehlt"
102
- "Comment","Bemerkung"
103
- "Email address missing","Emailadresse nicht vorhanden"
104
- "Instant Bank Transfer","Sofortüberweisung"
105
- "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
- "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
- "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
- "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
109
- "Password","Passwort"
110
- "Test Mode","Testmodus"
111
- "Live Mode","Livemodus"
112
- "Testorder","Testbestellung"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Enabled,Aktiviert,
2
+ New order status,Neuer Bestellstatus,
3
+ Novalnet Merchant ID,Novalnet Händler ID,
4
+ Title,Titel,
5
+ Novalnet Auth Code,Novalnet Auth Code,
6
+ Novalnet Product ID,Novalnet Produkt ID,
7
+ Novalnet Tariff ID,Novalnet Tarif ID,
8
+ Payment from applicable countries,Zahlungsmöglichkeit für,
9
+ Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit,
10
+ DE,Deutschland,
11
+ AT,Österreich,
12
+ Direct Debit,Lastschrift,
13
+ Credit Card,Kreditkarte,
14
+ Country,Buchungsland,
15
+ Name on the Card,Kreditkarteninhaber,
16
+ Name on Card,Kreditkarteninhaber,
17
+ Credit Card Type,Kreditkarten Typ,
18
+ Credit Card Number,Kreditkartennummer,
19
+ Expiration Date,Ablaufdatum,
20
+ Card Verification Number,CVC-Nummer,
21
+ What is this?,Wo finde ich die CVC-Nummer?,
22
+ Account Holder,Name des Kontoinhabers,
23
+ Account Number,Kontonr.,
24
+ Bank Sorting Code,BLZ,
25
+ Country: ,Buchungsland: ,
26
+ Account Holder: %s,Kontoinhaber: %s,
27
+ Account Number: %s,Kontonr.: %s,
28
+ Bank Sorting Code: %s,BLZ: %s,
29
+ TID: %s,TID: %s,
30
+ Name on the Card: %s,Kreditkarteninhaber: %s,
31
+ Credit Card Number: %s,Kreditkartennummer: %s,
32
+ Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s,
33
+ Credit Card Type: %s,Kreditkartentyp: %s,
34
+ Expiration Date: %s/%s,Gültig bis: %s/%s,
35
+ Credit Card Types,Mögliche Kreditkarten,
36
+ The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht.,
37
+ This is not a valid account number.,Die Kontonummer ist nicht gültig!,
38
+ This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!,
39
+ Direct Debit,Lastschrift,
40
+ Credit Card,Kreditkarte,
41
+ Creditcard,Kreditkarte,
42
+ Credit Card 3D-Secure,Kreditkarte 3D-Secure,
43
+ You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
44
+ Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück,
45
+ Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen,
46
+ Prepayment,Vorkasse,
47
+ Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.,
48
+ Payment Duration,Zahlbar in Tagen,
49
+ --Please Select--,--Bitte wählen--,
50
+ Invoice,Rechnung,
51
+ "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:,auf folgendes Konto:
52
+ I accept the ACDC check,Der acdc-Check wird akzeptiert,
53
+ This is a required field,Das ist ein Pflichtfeld,
54
+ CC,Kreditkarte,
55
+ Cc,Kreditkarte,
56
+ Method,Zahlart,
57
+ Due at,Gültig bis,
58
+ The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.,
59
+ Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto,
60
+ Account Holder2,Kontoinhaber,
61
+ Bank,Bank,
62
+ Amount,Betrag,
63
+ Reference,Verwendungszweck,
64
+ to following account,auf folgendes Konto,
65
+ Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
+ The ACDC-Check accepted,Der ACDC-Check wird akzeptiert,
67
+ accepted,wird akzeptiert,
68
+ ACDC-Check,ACDC-Check,
69
+ The,Der,
70
+ Month,Monat,
71
+ Year,Jahr,
72
+ Direct Debit German,Lastschrift Deutschland,
73
+ Direct Debit Austria,Lastschrift Österreich,
74
+ Booking Reference,Verwendungszweck,
75
+ The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein,
76
+ The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein,
77
+ You must check ACDC,You must check ACDC,
78
+ Notice for Clients,Hinweis für Kunden,
79
+ Pay by Call,Per Telefon,
80
+ Phonepayment,Per Telefon,
81
+ Error,Fehler,
82
+ Order Price not found,Bestellsumme nicht gefunden,
83
+ Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!,
84
+ Params (aryResponse) missing,Params (aryResponse) fehlt,
85
+ Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen,
86
+ Step,Schritt,
87
+ Please dial this number,Bitte rufen Sie diese Telefonnummer an,
88
+ Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf,
89
+ Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter,
90
+ This call costs,Dieser Anruf kostet einmalig,
91
+ inclusive tax,inkl. MwSt.,
92
+ and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich,
93
+ Response contains no XML data,Response enthält keine XML Daten,
94
+ Did you called this number,Did you called this number,
95
+ Billing Addr. not found,Rechnungsadresse nicht gefunden,
96
+ User Group Excluded,Ausgeschlossene Benutzergruppe,
97
+ Parameter missing,Parameter fehlt,
98
+ Comment,Bemerkung,
99
+ Email address missing,Emailadresse nicht vorhanden,
100
+ Instant Bank Transfer,Sofortüberweisung,
101
+ Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet,
102
+ Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet,
103
+ Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen,
104
+ Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt,
105
+ Password,Passwort,
106
+ Test Mode,Testmodus,
107
+ Live Mode,Livemodus,
108
+ Testorder,Testbestellung,
109
+ Credit Card PCI,Kreditkarte PCI,
110
+ Direct Debit German PCI,Lastschrift Deutschland PCI,
111
+ Direct Debit Austria PCI,Lastschrift Österreich PCI,
112
+ Novalnet Phonepayment,Novalnet Per Telefon,
113
+ Novalnet Prepayment,Novalnet Vorkasse,
114
+ Novalnet Invoice,Novalnet per Rechnung,
115
+ Novalnet Direct Debit,Novalnet Lastschrift,
116
+ Novalnet Credit Card,Novalnet Kreditkarte,
117
+ Novalnet Creditcard,Novalnet Kreditkarte,
118
+ Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure,
119
+ Novalnet Credit Card PCI,Novalnet Kreditkarte PCI,
120
+ Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI,
121
+ Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI,
122
+ Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung,
123
+ You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.,
124
+ You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
+ Novalnet Direct Debit German,Novalnet Lastschrift Deutschland,
126
+ Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich,
127
+ Only for foreign transfers,Nur bei Auslandsüberweisungen,
128
+ Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG,
129
+ Novalnet Paypal Text,"Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
app/locale/en_US/Find_Feed.csv ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "%s codes deleted","%s codes deleted"
2
+ "%s codes imported","%s codes imported"
3
+ "%s codes not imported","%s codes not imported"
4
+ "%s product in feed.","%s product in feed."
5
+ "%s product not in feed.","%s product not in feed."
6
+ "Add new","Add new"
7
+ "Attrib. Set Name","Attrib. Set Name"
8
+ "Attributes map","Attributes map"
9
+ "Cron Frequency","Cron Frequency"
10
+ "Cron Hour","Cron Hour"
11
+ "Delete","Delete"
12
+ "Eav code","Eav code"
13
+ "FTP Password","FTP Password"
14
+ "FTP Path","FTP Path"
15
+ "FTP Server","FTP Server"
16
+ "FTP Settings","FTP Settings"
17
+ "FTP User","FTP User"
18
+ "FTP: Can't delete files","FTP: Can't delete files"
19
+ "Feed","Feed"
20
+ "Feed code","Feed code"
21
+ "ID","ID"
22
+ "Import","Import"
23
+ "Import attribute map","Import attribute map"
24
+ "Import code","Import code"
25
+ "In feed","In feed"
26
+ "In order to access your FTP account information, you must first register and verify your store in TheFind Merchant Center. Click <a href=""https://merchant.thefind.com/mc/claim.fhtml"">here</a> to get started.","In order to access your FTP account information, you must first register and verify your store in TheFind Merchant Center. Click <a href=""https://merchant.thefind.com/mc/claim.fhtml"">here</a> to get started."
27
+ "Is imported","Is imported"
28
+ "Item params","Item params"
29
+ "Manage attributes","Manage attributes"
30
+ "Manage items","Manage items"
31
+ "Not import","Not import"
32
+ "Not publish","Not publish"
33
+ "Price","Price"
34
+ "Product Name","Product Name"
35
+ "Product import","Product import"
36
+ "Publish","Publish"
37
+ "SKU","SKU"
38
+ "Settings","Settings"
39
+ "The Find","The Find"
40
+ "TheFind Feed Filename","TheFind Feed Filename"
41
+ "TheFind feed","TheFind feed"
42
+ "Type","Type"
43
+ "Unable to process an import. ","Unable to process an import. "
44
+ "Update TheFind Item when Product is Updated","Update TheFind Item when Product is Updated"
app/locale/en_US/Mage_AdminNotification.csv ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Actions","Actions"
2
+ "An error occurred while marking notification as read.","An error occurred while marking notification as read."
3
+ "An error occurred while marking the messages as read.","An error occurred while marking the messages as read."
4
+ "An error occurred while removing messages.","An error occurred while removing messages."
5
+ "An error occurred while removing the message.","An error occurred while removing the message."
6
+ "Are you sure?","Are you sure?"
7
+ "Date Added","Date Added"
8
+ "Last Update","Last Update"
9
+ "Mark as Read","Mark as Read"
10
+ "Mark as read","Mark as read"
11
+ "Message","Message"
12
+ "Messages Inbox","Messages Inbox"
13
+ "Notifications","Notifications"
14
+ "Please select messages.","Please select messages."
15
+ "Read Details","Read Details"
16
+ "Remove","Remove"
17
+ "Severity","Severity"
18
+ "Show List","Show List"
19
+ "Show Toolbar","Show Toolbar"
20
+ "The message has been marked as read.","The message has been marked as read."
21
+ "The message has been removed.","The message has been removed."
22
+ "Total of %d record(s) have been marked as read.","Total of %d record(s) have been marked as read."
23
+ "Total of %d record(s) have been removed.","Total of %d record(s) have been removed."
24
+ "Unable to proceed. Please, try again.","Unable to proceed. Please, try again."
25
+ "Update Frequency","Update Frequency"
26
+ "Use HTTPS to Get Feed","Use HTTPS to Get Feed"
27
+ "critical","critical"
28
+ "major","major"
29
+ "minor","minor"
30
+ "notice","notice"
app/locale/en_US/Mage_Adminhtml.csv ADDED
@@ -0,0 +1,1220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ " The customer does not exist in the system anymore."," The customer does not exist in the system anymore."
2
+ " [deleted]"," [deleted]"
3
+ " and "," and "
4
+ " note that the URLs provided below are the correct values for your current website): "," note that the URLs provided below are the correct values for your current website): "
5
+ "%s (Default Template from Locale)","%s (Default Template from Locale)"
6
+ "%s cache type(s) disabled.","%s cache type(s) disabled."
7
+ "%s cache type(s) enabled.","%s cache type(s) enabled."
8
+ "%s cache type(s) refreshed.","%s cache type(s) refreshed."
9
+ "(For Type ""Local Server"" need to use relative path to Magento install var/export or var/import, e.g. var/export, var/import, var/export/some/dir, var/import/some/dir)","(For Type ""Local Server"" need to use relative path to Magento install var/export or var/import, e.g. var/export, var/import, var/export/some/dir, var/import/some/dir)"
10
+ "(For US 2-letter state names)","(For US 2-letter state names)"
11
+ "(If left empty will be auto-generated)","(If left empty will be auto-generated)"
12
+ "(Includes more countries than those listed below. As the application owner, you are responsible for complying with country-specific laws related to the distribution or sale of your application into that country, including your home country.)","(Includes more countries than those listed below. As the application owner, you are responsible for complying with country-specific laws related to the distribution or sale of your application into that country, including your home country.)"
13
+ "(Leave empty for first spreadsheet)","(Leave empty for first spreadsheet)"
14
+ "(Products will be added/updated to this store if 'store' column is blank or missing in the import file.)","(Products will be added/updated to this store if 'store' column is blank or missing in the import file.)"
15
+ "(Shift-)Click or drag to change value","(Shift-)Click or drag to change value"
16
+ "(Starting with)","(Starting with)"
17
+ "(When 'No', only mapped fields will be imported. When mapping, use 'column1', 'column2', etc.)","(When 'No', only mapped fields will be imported. When mapping, use 'column1', 'column2', etc.)"
18
+ "(You have to increase php memory_limit before changing this value)","(You have to increase php memory_limit before changing this value)"
19
+ "(\\t for tab)","(\\t for tab)"
20
+ "* - If indexing is in progress, it will be killed and new indexing process will start.","* - If indexing is in progress, it will be killed and new indexing process will start."
21
+ "- Click on any of the time parts to increase it","- Click on any of the time parts to increase it"
22
+ "- Hold mouse button on any of the above buttons for faster selection.","- Hold mouse button on any of the above buttons for faster selection."
23
+ "- Use the %s buttons to select month","- Use the %s buttons to select month"
24
+ "- Use the %s, %s buttons to select year","- Use the %s, %s buttons to select year"
25
+ "- or Shift-click to decrease it","- or Shift-click to decrease it"
26
+ "- or click and drag for faster selection.","- or click and drag for faster selection."
27
+ "-- Not Selected --","-- Not Selected --"
28
+ "-- Please Select --","-- Please Select --"
29
+ "-- Please Select Billing Agreement--","-- Please Select Billing Agreement--"
30
+ "-- Please Select a Category --","-- Please Select a Category --"
31
+ "-- Please select --","-- Please select --"
32
+ "--Please Select--","--Please Select--"
33
+ "1 Hour","1 Hour"
34
+ "10:40 AM","10:40 AM"
35
+ "12 Hours","12 Hours"
36
+ "12h AM/PM","12h AM/PM"
37
+ "2 Hours","2 Hours"
38
+ "24 Hours","24 Hours"
39
+ "24h","24h"
40
+ "2YTD","2YTD"
41
+ "6 Hours","6 Hours"
42
+ "80px x 80px","80px x 80px"
43
+ "80x80 px","80x80 px"
44
+ "<h1 class=""page-heading"">404 Error</h1><p>Page not found.</p>","<h1 class=""page-heading"">404 Error</h1><p>Page not found.</p>"
45
+ "A new password was sent to your email address. Please check your email and click Back to Login.","A new password was sent to your email address. Please check your email and click Back to Login."
46
+ "A user with the same user name or email aleady exists.","A user with the same user name or email aleady exists."
47
+ "API Key","API Key"
48
+ "API Key Confirmation","API Key Confirmation"
49
+ "ASCII","ASCII"
50
+ "Abandoned Carts","Abandoned Carts"
51
+ "About the calendar","About the calendar"
52
+ "Access Denied","Access Denied"
53
+ "Access denied","Access denied"
54
+ "Access denied.","Access denied."
55
+ "Account Created in:","Account Created in:"
56
+ "Account Created on (%s):","Account Created on (%s):"
57
+ "Account Created on:","Account Created on:"
58
+ "Account Information","Account Information"
59
+ "Account Status","Account Status"
60
+ "Account status","Account status"
61
+ "Action","Action"
62
+ "Actions","Actions"
63
+ "Actions XML","Actions XML"
64
+ "Activate","Activate"
65
+ "Active","Active"
66
+ "Add","Add"
67
+ "Add Contents Path","Add Contents Path"
68
+ "Add Exception","Add Exception"
69
+ "Add Field Mapping","Add Field Mapping"
70
+ "Add Field with URL:","Add Field with URL:"
71
+ "Add New","Add New"
72
+ "Add New Image","Add New Image"
73
+ "Add New Profile","Add New Profile"
74
+ "Add New Role","Add New Role"
75
+ "Add New Template","Add New Template"
76
+ "Add New URL Rewrite","Add New URL Rewrite"
77
+ "Add New User","Add New User"
78
+ "Add New Variable","Add New Variable"
79
+ "Add PHP Extension dependency","Add PHP Extension dependency"
80
+ "Add Package dependency","Add Package dependency"
81
+ "Add URL Rewrite","Add URL Rewrite"
82
+ "Add URL Rewrite for a Category","Add URL Rewrite for a Category"
83
+ "Add URL Rewrite for a Product","Add URL Rewrite for a Product"
84
+ "Add after","Add after"
85
+ "Add to Cart","Add to Cart"
86
+ "Add to Wishlist","Add to Wishlist"
87
+ "Additional Cache Management","Additional Cache Management"
88
+ "Address Type:","Address Type:"
89
+ "Admin","Admin"
90
+ "Advanced Admin Section","Advanced Admin Section"
91
+ "Advanced Profiles","Advanced Profiles"
92
+ "Advanced Section","Advanced Section"
93
+ "AirMail Template Preview","AirMail Template Preview"
94
+ "All","All"
95
+ "All Allowed Countries","All Allowed Countries"
96
+ "All Cache","All Cache"
97
+ "All Files","All Files"
98
+ "All Reviews","All Reviews"
99
+ "All Store Views","All Store Views"
100
+ "All Tags","All Tags"
101
+ "All Websites","All Websites"
102
+ "All countries","All countries"
103
+ "All fields","All fields"
104
+ "All locations","All locations"
105
+ "All possible rates were fetched, please click on ""Save"" to apply","All possible rates were fetched, please click on ""Save"" to apply"
106
+ "All rates were fetched, please click on ""Save"" to apply","All rates were fetched, please click on ""Save"" to apply"
107
+ "All valid rates have been saved.","All valid rates have been saved."
108
+ "Amounts","Amounts"
109
+ "An error has occured while syncronizing media storages.","An error has occured while syncronizing media storages."
110
+ "An error occurred while clearing the JavaScript/CSS cache.","An error occurred while clearing the JavaScript/CSS cache."
111
+ "An error occurred while clearing the image cache.","An error occurred while clearing the image cache."
112
+ "An error occurred while creating the backup.","An error occurred while creating the backup."
113
+ "An error occurred while deleting email template data. Please review log and try again.","An error occurred while deleting email template data. Please review log and try again."
114
+ "An error occurred while deleting this role.","An error occurred while deleting this role."
115
+ "An error occurred while deleting this set.","An error occurred while deleting this set."
116
+ "An error occurred while deleting this template.","An error occurred while deleting this template."
117
+ "An error occurred while finishing process. Please refresh the cache","An error occurred while finishing process. Please refresh the cache"
118
+ "An error occurred while rebuilding the CatalogInventory Stock Status.","An error occurred while rebuilding the CatalogInventory Stock Status."
119
+ "An error occurred while rebuilding the catalog index.","An error occurred while rebuilding the catalog index."
120
+ "An error occurred while rebuilding the flat catalog category.","An error occurred while rebuilding the flat catalog category."
121
+ "An error occurred while rebuilding the flat product catalog.","An error occurred while rebuilding the flat product catalog."
122
+ "An error occurred while rebuilding the search index.","An error occurred while rebuilding the search index."
123
+ "An error occurred while refreshing the Catalog Rewrites.","An error occurred while refreshing the Catalog Rewrites."
124
+ "An error occurred while refreshing the Layered Navigation indices.","An error occurred while refreshing the Layered Navigation indices."
125
+ "An error occurred while refreshing the catalog rewrites.","An error occurred while refreshing the catalog rewrites."
126
+ "An error occurred while refreshing the layered navigation indices.","An error occurred while refreshing the layered navigation indices."
127
+ "An error occurred while saving account.","An error occurred while saving account."
128
+ "An error occurred while saving the customer.","An error occurred while saving the customer."
129
+ "An error occurred while saving this configuration:","An error occurred while saving this configuration:"
130
+ "An error occurred while saving this role.","An error occurred while saving this role."
131
+ "An error occurred while saving this template.","An error occurred while saving this template."
132
+ "An error occurred while updating the selected review(s).","An error occurred while updating the selected review(s)."
133
+ "Any","Any"
134
+ "Any Attribute Set","Any Attribute Set"
135
+ "Any Group","Any Group"
136
+ "Any Status","Any Status"
137
+ "Any Store","Any Store"
138
+ "Any Type","Any Type"
139
+ "Any Visibility","Any Visibility"
140
+ "Archive file name:","Archive file name:"
141
+ "Are you sure that you want to delete this template?","Are you sure that you want to delete this template?"
142
+ "Are you sure that you want to strip tags?","Are you sure that you want to strip tags?"
143
+ "Are you sure you want to delete this theme? This change will affect all applications.","Are you sure you want to delete this theme? This change will affect all applications."
144
+ "Are you sure you want to do this?","Are you sure you want to do this?"
145
+ "Area","Area"
146
+ "As low as:","As low as:"
147
+ "Assigned","Assigned"
148
+ "Associated Tags","Associated Tags"
149
+ "Attribute Set Name:","Attribute Set Name:"
150
+ "Attributes","Attributes"
151
+ "Authors","Authors"
152
+ "Automatic","Automatic"
153
+ "Available Products","Available Products"
154
+ "Average Order Amount","Average Order Amount"
155
+ "Average Orders","Average Orders"
156
+ "BINARY","BINARY"
157
+ "Back","Back"
158
+ "Back to Login","Back to Login"
159
+ "Backup","Backup"
160
+ "Backup record was deleted.","Backup record was deleted."
161
+ "Backups","Backups"
162
+ "Base currency","Base currency"
163
+ "Bcc","Bcc"
164
+ "Bestsellers","Bestsellers"
165
+ "Big Image","Big Image"
166
+ "Billing Address","Billing Address"
167
+ "Billing Address: ","Billing Address: "
168
+ "Billing Agreement","Billing Agreement"
169
+ "Billing Agreements","Billing Agreements"
170
+ "Block Information","Block Information"
171
+ "Both (without and with tax)","Both (without and with tax)"
172
+ "Both IPN and PDT","Both IPN and PDT"
173
+ "Browse Files...","Browse Files..."
174
+ "Bundle Items","Bundle Items"
175
+ "Bundle with dynamic pricing cannot include custom defined options. Options will not be saved.","Bundle with dynamic pricing cannot include custom defined options. Options will not be saved."
176
+ "CMS","CMS"
177
+ "CRITICAL","CRITICAL"
178
+ "CSV","CSV"
179
+ "CSV / Tab separated","CSV / Tab separated"
180
+ "Cache Control","Cache Control"
181
+ "Cache Control (beta)","Cache Control (beta)"
182
+ "Cache Management","Cache Management"
183
+ "Cache Type","Cache Type"
184
+ "Cancel","Cancel"
185
+ "Cancel URL: ","Cancel URL: "
186
+ "Cannot add new comment.","Cannot add new comment."
187
+ "Cannot add tracking number.","Cannot add tracking number."
188
+ "Cannot create an invoice without products.","Cannot create an invoice without products."
189
+ "Cannot create credit memo for the order.","Cannot create credit memo for the order."
190
+ "Cannot delete the design change.","Cannot delete the design change."
191
+ "Cannot delete tracking number.","Cannot delete tracking number."
192
+ "Cannot do shipment for the order separately from invoice.","Cannot do shipment for the order separately from invoice."
193
+ "Cannot do shipment for the order.","Cannot do shipment for the order."
194
+ "Cannot find the email address.","Cannot find the email address."
195
+ "Cannot initialize shipment for adding tracking number.","Cannot initialize shipment for adding tracking number."
196
+ "Cannot initialize shipment for delete tracking number.","Cannot initialize shipment for delete tracking number."
197
+ "Cannot load track with retrieving identifier.","Cannot load track with retrieving identifier."
198
+ "Cannot retrieve tracking number detail.","Cannot retrieve tracking number detail."
199
+ "Cannot save shipment.","Cannot save shipment."
200
+ "Cannot save the credit memo.","Cannot save the credit memo."
201
+ "Cannot send shipment information.","Cannot send shipment information."
202
+ "Cannot update item quantity.","Cannot update item quantity."
203
+ "Cannot update the item\'s quantity.","Cannot update the item\'s quantity."
204
+ "Card Verification Number","Card Verification Number"
205
+ "Carrier","Carrier"
206
+ "Catalog","Catalog"
207
+ "Catalog Price Rules","Catalog Price Rules"
208
+ "Catalog Rewrites","Catalog Rewrites"
209
+ "Categories","Categories"
210
+ "Category:","Category:"
211
+ "Chairs","Chairs"
212
+ "Change Orientation","Change Orientation"
213
+ "Channel","Channel"
214
+ "Chart is disabled. If you want to enable chart, click <a href=""%s"">here</a>.","Chart is disabled. If you want to enable chart, click <a href=""%s"">here</a>."
215
+ "Checkbox","Checkbox"
216
+ "Child Transactions","Child Transactions"
217
+ "Choose Store View","Choose Store View"
218
+ "Choose a selection...","Choose a selection..."
219
+ "Choose an attribute","Choose an attribute"
220
+ "Chosen category does not associated with any website, so url rewrite is not possible.","Chosen category does not associated with any website, so url rewrite is not possible."
221
+ "Chosen product does not associated with any website, so url rewrite is not possible.","Chosen product does not associated with any website, so url rewrite is not possible."
222
+ "Clear","Clear"
223
+ "Close","Close"
224
+ "Comment text field cannot be empty.","Comment text field cannot be empty."
225
+ "Complete","Complete"
226
+ "Configuration","Configuration"
227
+ "Confirmed email:","Confirmed email:"
228
+ "Connect with the Magento Community","Connect with the Magento Community"
229
+ "Contents","Contents"
230
+ "Continue","Continue"
231
+ "Convert to Plain Text","Convert to Plain Text"
232
+ "Cookie (unsafe)","Cookie (unsafe)"
233
+ "Country","Country"
234
+ "Country:","Country:"
235
+ "Coupons","Coupons"
236
+ "Create","Create"
237
+ "Create DB Backup","Create DB Backup"
238
+ "Create New Attribute","Create New Attribute"
239
+ "Create URL Rewrite:","Create URL Rewrite:"
240
+ "Created At","Created At"
241
+ "Credit Card %s","Credit Card %s"
242
+ "Credit Card Number","Credit Card Number"
243
+ "Credit Card Number: xxxx-%s","Credit Card Number: xxxx-%s"
244
+ "Credit Card Type","Credit Card Type"
245
+ "Credit Card Type: %s","Credit Card Type: %s"
246
+ "Credit Memo History","Credit Memo History"
247
+ "Credit Memo Totals","Credit Memo Totals"
248
+ "Credit Memos","Credit Memos"
249
+ "Credit memo #%s comment added","Credit memo #%s comment added"
250
+ "Credit memo #%s created","Credit memo #%s created"
251
+ "Credit memo\'s total must be positive.","Credit memo\'s total must be positive."
252
+ "Currency","Currency"
253
+ "Currency Information","Currency Information"
254
+ "Currency Setup Section","Currency Setup Section"
255
+ "Current Configuration Scope:","Current Configuration Scope:"
256
+ "Current Month","Current Month"
257
+ "Custom","Custom"
258
+ "Custom Variable ""%s""","Custom Variable ""%s"""
259
+ "Custom Variables","Custom Variables"
260
+ "Customer","Customer"
261
+ "Customer Group:","Customer Group:"
262
+ "Customer Groups","Customer Groups"
263
+ "Customer Name","Customer Name"
264
+ "Customer Reviews","Customer Reviews"
265
+ "Customer Shopping Carts","Customer Shopping Carts"
266
+ "Customer Since:","Customer Since:"
267
+ "Customer Tax Classes","Customer Tax Classes"
268
+ "Customer with the same email already exists.","Customer with the same email already exists."
269
+ "Customers","Customers"
270
+ "Customers by Number of Orders","Customers by Number of Orders"
271
+ "Customers by Orders Total","Customers by Orders Total"
272
+ "DHTML Date/Time Selector","DHTML Date/Time Selector"
273
+ "Dashboard","Dashboard"
274
+ "Data Format","Data Format"
275
+ "Data transfer:","Data transfer:"
276
+ "Database","Database"
277
+ "Dataflow - Advanced Profiles","Dataflow - Advanced Profiles"
278
+ "Dataflow - Profiles","Dataflow - Profiles"
279
+ "Date","Date"
280
+ "Date & Time","Date & Time"
281
+ "Date Added","Date Added"
282
+ "Date Updated","Date Updated"
283
+ "Date selection:","Date selection:"
284
+ "Date selector","Date selector"
285
+ "Day","Day"
286
+ "Decimal separator:","Decimal separator:"
287
+ "Default (Admin) Values","Default (Admin) Values"
288
+ "Default Billing Address","Default Billing Address"
289
+ "Default Config","Default Config"
290
+ "Default Template from Locale","Default Template from Locale"
291
+ "Default Values","Default Values"
292
+ "Default display currency ""%s"" is not available in allowed currencies.","Default display currency ""%s"" is not available in allowed currencies."
293
+ "Default scope","Default scope"
294
+ "Delete","Delete"
295
+ "Delete %s","Delete %s"
296
+ "Delete %s '%s'","Delete %s '%s'"
297
+ "Delete File","Delete File"
298
+ "Delete Image","Delete Image"
299
+ "Delete Profile","Delete Profile"
300
+ "Delete Role","Delete Role"
301
+ "Delete Store","Delete Store"
302
+ "Delete Store View","Delete Store View"
303
+ "Delete Template","Delete Template"
304
+ "Delete User","Delete User"
305
+ "Delete Website","Delete Website"
306
+ "Delete theme","Delete theme"
307
+ "Description","Description"
308
+ "Deselect All","Deselect All"
309
+ "Design","Design"
310
+ "Design Section","Design Section"
311
+ "Details","Details"
312
+ "Developer Section","Developer Section"
313
+ "Direction:","Direction:"
314
+ "Disable","Disable"
315
+ "Disabled","Disabled"
316
+ "Display %s first","Display %s first"
317
+ "Display default currency","Display default currency"
318
+ "Distributed under GNU LGPL. See %s for details.","Distributed under GNU LGPL. See %s for details."
319
+ "Do not enable AVS or CSC options. The do not work when using Payflow Link Silent Mode.","Do not enable AVS or CSC options. The do not work when using Payflow Link Silent Mode."
320
+ "Do not set any fields in the Billing and Shipping Information block as editable in your Payflow accout.","Do not set any fields in the Billing and Shipping Information block as editable in your Payflow accout."
321
+ "Do you really want to KILL parallel process and start new indexing process?","Do you really want to KILL parallel process and start new indexing process?"
322
+ "Download","Download"
323
+ "Downloads","Downloads"
324
+ "Drag to move","Drag to move"
325
+ "Drop-down","Drop-down"
326
+ "Edit","Edit"
327
+ "Edit Design Change","Edit Design Change"
328
+ "Edit Email Template","Edit Email Template"
329
+ "Edit Filter","Edit Filter"
330
+ "Edit Poll","Edit Poll"
331
+ "Edit Queue","Edit Queue"
332
+ "Edit Review","Edit Review"
333
+ "Edit Role","Edit Role"
334
+ "Edit Store View","Edit Store View"
335
+ "Edit System Template","Edit System Template"
336
+ "Edit Template","Edit Template"
337
+ "Edit URL Rewrite","Edit URL Rewrite"
338
+ "Edit User","Edit User"
339
+ "Edit User '%s'","Edit User '%s'"
340
+ "Edit Website","Edit Website"
341
+ "Email","Email"
342
+ "Email Address:","Email Address:"
343
+ "Email Preview","Email Preview"
344
+ "Email to a Friend","Email to a Friend"
345
+ "Email:","Email:"
346
+ "Enable","Enable"
347
+ "Enable Secure Token:","Enable Secure Token:"
348
+ "Enabled","Enabled"
349
+ "Enclose Values In:","Enclose Values In:"
350
+ "Entity Attributes","Entity Attributes"
351
+ "Entity Type","Entity Type"
352
+ "Entity type:","Entity type:"
353
+ "Error","Error"
354
+ "Excel XML","Excel XML"
355
+ "Excl. Tax","Excl. Tax"
356
+ "Expiration Date","Expiration Date"
357
+ "Expiration Date: %s/%s","Expiration Date: %s/%s"
358
+ "Export","Export"
359
+ "Export CSV","Export CSV"
360
+ "Export Filters","Export Filters"
361
+ "Export to:","Export to:"
362
+ "Export:","Export:"
363
+ "Extension","Extension"
364
+ "Extensions","Extensions"
365
+ "FILTERS APPLIED","FILTERS APPLIED"
366
+ "FTP Host[:Port]","FTP Host[:Port]"
367
+ "Failed to add a product to cart by id ""%s"".","Failed to add a product to cart by id ""%s""."
368
+ "Failed to cancel the billing agreement.","Failed to cancel the billing agreement."
369
+ "Failed to clear the JavaScript/CSS cache.","Failed to clear the JavaScript/CSS cache."
370
+ "Failed to delete the billing agreement.","Failed to delete the billing agreement."
371
+ "Failed to update the profile.","Failed to update the profile."
372
+ "Field","Field"
373
+ "Field Mapping","Field Mapping"
374
+ "File","File"
375
+ "File Information","File Information"
376
+ "File System","File System"
377
+ "File mode","File mode"
378
+ "File name:","File name:"
379
+ "File size should be more than 0 bytes","File size should be more than 0 bytes"
380
+ "Files","Files"
381
+ "Finished profile execution.","Finished profile execution."
382
+ "First Invoice Created Date","First Invoice Created Date"
383
+ "First Name","First Name"
384
+ "First Name is required field.","First Name is required field."
385
+ "First Name:","First Name:"
386
+ "Fixed","Fixed"
387
+ "Flush Catalog Images Cache","Flush Catalog Images Cache"
388
+ "Flush JavaScript/CSS Cache","Flush JavaScript/CSS Cache"
389
+ "For category","For category"
390
+ "For latest version visit: %s","For latest version visit: %s"
391
+ "For product","For product"
392
+ "Forgot your password?","Forgot your password?"
393
+ "Forgot your user name or password?","Forgot your user name or password?"
394
+ "From","From"
395
+ "GLOBAL","GLOBAL"
396
+ "Gb","Gb"
397
+ "General Information","General Information"
398
+ "General Section","General Section"
399
+ "Get Image Base64","Get Image Base64"
400
+ "Get help for this page","Get help for this page"
401
+ "Global Attribute","Global Attribute"
402
+ "Global Record Search","Global Record Search"
403
+ "Global Search","Global Search"
404
+ "Go Today","Go Today"
405
+ "Go to messages inbox","Go to messages inbox"
406
+ "Go to notifications","Go to notifications"
407
+ "Google Base","Google Base"
408
+ "Google Base Items","Google Base Items"
409
+ "Google Sitemaps","Google Sitemaps"
410
+ "Grand Total","Grand Total"
411
+ "Grid (default) / List","Grid (default) / List"
412
+ "Grid Only","Grid Only"
413
+ "Group:","Group:"
414
+ "Guest","Guest"
415
+ "HTTP (unsecure)","HTTP (unsecure)"
416
+ "HTTPS (SSL)","HTTPS (SSL)"
417
+ "Help Us Keep Magento Healthy - Report All Bugs","Help Us Keep Magento Healthy - Report All Bugs"
418
+ "Helper attributes should not be used in custom layout updates.","Helper attributes should not be used in custom layout updates."
419
+ "Helper for options rendering doesn't implement required interface.","Helper for options rendering doesn't implement required interface."
420
+ "Home","Home"
421
+ "ID","ID"
422
+ "ID Path","ID Path"
423
+ "IP Address","IP Address"
424
+ "IPN (Instant Payment Notification) Only","IPN (Instant Payment Notification) Only"
425
+ "If this message persists, please contact the store owner.","If this message persists, please contact the store owner."
426
+ "If your Magento instance is used for multiple websites, you must configure a separate Payflow Link account for each website.","If your Magento instance is used for multiple websites, you must configure a separate Payflow Link account for each website."
427
+ "Ignore","Ignore"
428
+ "Images","Images"
429
+ "Images (.gif, .jpg, .png)","Images (.gif, .jpg, .png)"
430
+ "Images Cache","Images Cache"
431
+ "Import","Import"
432
+ "Import Service","Import Service"
433
+ "Import and Export","Import and Export"
434
+ "Import and Export Tax Rates","Import and Export Tax Rates"
435
+ "Import/Export","Import/Export"
436
+ "Import/Export Advanced","Import/Export Advanced"
437
+ "Import/Export Profile","Import/Export Profile"
438
+ "Important: ","Important: "
439
+ "Imported <strong>%s</strong> records","Imported <strong>%s</strong> records"
440
+ "In","In"
441
+ "In Database:","In Database:"
442
+ "In File:","In File:"
443
+ "In Stock","In Stock"
444
+ "Inactive","Inactive"
445
+ "Inactive Tabs","Inactive Tabs"
446
+ "Incl. Tax","Incl. Tax"
447
+ "Include","Include"
448
+ "Incoming Message","Incoming Message"
449
+ "Insert Variable...","Insert Variable..."
450
+ "Interactive","Interactive"
451
+ "Interface Locale: %s","Interface Locale: %s"
452
+ "Invalid Form Key. Please refresh the page.","Invalid Form Key. Please refresh the page."
453
+ "Invalid Import Service Specified","Invalid Import Service Specified"
454
+ "Invalid POST data (please check post_max_size and upload_max_filesize settings in your php.ini file).","Invalid POST data (please check post_max_size and upload_max_filesize settings in your php.ini file)."
455
+ "Invalid Secret Key. Please refresh the page.","Invalid Secret Key. Please refresh the page."
456
+ "Invalid Username or Password.","Invalid Username or Password."
457
+ "Invalid directory: %s","Invalid directory: %s"
458
+ "Invalid email address ""%s"".","Invalid email address ""%s""."
459
+ "Invalid file: %s","Invalid file: %s"
460
+ "Invalid input data for %s => %s rate","Invalid input data for %s => %s rate"
461
+ "Invalid parent block for this block","Invalid parent block for this block"
462
+ "Invalid parent block for this block.","Invalid parent block for this block."
463
+ "Invalid sender name ""%s"". Please use only visible characters and spaces.","Invalid sender name ""%s"". Please use only visible characters and spaces."
464
+ "Invalid timezone","Invalid timezone"
465
+ "Invalidated","Invalidated"
466
+ "Inventory Stock Status","Inventory Stock Status"
467
+ "Invoice #%s comment added","Invoice #%s comment added"
468
+ "Invoice #%s created","Invoice #%s created"
469
+ "Invoice History","Invoice History"
470
+ "Invoice Totals","Invoice Totals"
471
+ "Invoice canceling error.","Invoice canceling error."
472
+ "Invoice capturing error.","Invoice capturing error."
473
+ "Invoice voiding error.","Invoice voiding error."
474
+ "Invoices","Invoices"
475
+ "Is Closed","Is Closed"
476
+ "Issue Number","Issue Number"
477
+ "Issuer: %s","Issuer: %s"
478
+ "Items","Items"
479
+ "JavaScript/CSS","JavaScript/CSS"
480
+ "JavaScript/CSS Cache","JavaScript/CSS Cache"
481
+ "Kb","Kb"
482
+ "Last 24 Hours","Last 24 Hours"
483
+ "Last 5 Orders","Last 5 Orders"
484
+ "Last 5 Search Terms","Last 5 Search Terms"
485
+ "Last 7 Days","Last 7 Days"
486
+ "Last Credit Memo Created Date","Last Credit Memo Created Date"
487
+ "Last Invoice Created Date","Last Invoice Created Date"
488
+ "Last Logged In (%s):","Last Logged In (%s):"
489
+ "Last Logged In:","Last Logged In:"
490
+ "Last Name","Last Name"
491
+ "Last Name is required field.","Last Name is required field."
492
+ "Last Name:","Last Name:"
493
+ "Last updated: %s. To refresh last day\'s <a href=""%s"">statistics</a>, click <a href=""%s"">here</a>.","Last updated: %s. To refresh last day\'s <a href=""%s"">statistics</a>, click <a href=""%s"">here</a>."
494
+ "Latest Message:","Latest Message:"
495
+ "Layered Navigation Indices","Layered Navigation Indices"
496
+ "Layered Navigation Indices were refreshed.","Layered Navigation Indices were refreshed."
497
+ "Leave empty to use tax identifier","Leave empty to use tax identifier"
498
+ "Lifetime Sales","Lifetime Sales"
499
+ "Lifetime statistics have been updated.","Lifetime statistics have been updated."
500
+ "Links","Links"
501
+ "Links with associated products will retain only after saving current product.","Links with associated products will retain only after saving current product."
502
+ "List (default) / Grid","List (default) / Grid"
503
+ "List Only","List Only"
504
+ "Load Template","Load Template"
505
+ "Load default template","Load default template"
506
+ "Loading Preview...","Loading Preview..."
507
+ "Loading...","Loading..."
508
+ "Local Server","Local Server"
509
+ "Local/Remote Server","Local/Remote Server"
510
+ "Locale","Locale"
511
+ "Log In","Log In"
512
+ "Log Out","Log Out"
513
+ "Log in to Admin Panel","Log in to Admin Panel"
514
+ "Log into Magento Admin Page","Log into Magento Admin Page"
515
+ "Logged in as %s","Logged in as %s"
516
+ "Login","Login"
517
+ "Low Stock","Low Stock"
518
+ "MAJOR","MAJOR"
519
+ "MINOR","MINOR"
520
+ "MS Excel XML","MS Excel XML"
521
+ "Magento Admin","Magento Admin"
522
+ "Magento Commerce - Administrative Panel","Magento Commerce - Administrative Panel"
523
+ "Magento Connect","Magento Connect"
524
+ "Magento Connect Manager","Magento Connect Manager"
525
+ "Magento Logo","Magento Logo"
526
+ "Magento is a trademark of Magento Inc. Copyright &copy; %s Magento Inc.","Magento is a trademark of Magento Inc. Copyright &copy; %s Magento Inc."
527
+ "Magento ver. %s","Magento ver. %s"
528
+ "Magento&trade; is a trademark of Magento Inc.<br/>Copyright &copy; %s Magento Inc.","Magento&trade; is a trademark of Magento Inc.<br/>Copyright &copy; %s Magento Inc."
529
+ "Main Tabs","Main Tabs"
530
+ "Make Inactive","Make Inactive"
531
+ "Make sure that data encoding in the file is consistent and saved in one of supported encodings (UTF-8 or ANSI).","Make sure that data encoding in the file is consistent and saved in one of supported encodings (UTF-8 or ANSI)."
532
+ "Make sure that you configure the design settings for the Payflow Link form in your Payflow link account.","Make sure that you configure the design settings for the Payflow Link form in your Payflow link account."
533
+ "Manage Attribute Sets","Manage Attribute Sets"
534
+ "Manage Attributes","Manage Attributes"
535
+ "Manage Categories","Manage Categories"
536
+ "Manage Content","Manage Content"
537
+ "Manage Currency Rates","Manage Currency Rates"
538
+ "Manage Customers","Manage Customers"
539
+ "Manage Ratings","Manage Ratings"
540
+ "Manage Stores","Manage Stores"
541
+ "Manage Tax Rules","Manage Tax Rules"
542
+ "Manage Tax Zones and Rates","Manage Tax Zones and Rates"
543
+ "Manual","Manual"
544
+ "Matched Expression","Matched Expression"
545
+ "Max","Max"
546
+ "Mb","Mb"
547
+ "Media (.avi, .flv, .swf)","Media (.avi, .flv, .swf)"
548
+ "Media storages synchronization has completed!","Media storages synchronization has completed!"
549
+ "Messages Inbox","Messages Inbox"
550
+ "Min","Min"
551
+ "Month","Month"
552
+ "More Tabs","More Tabs"
553
+ "Most Viewed","Most Viewed"
554
+ "Most Viewed Products","Most Viewed Products"
555
+ "Multiple Select","Multiple Select"
556
+ "My Account","My Account"
557
+ "N/A","N/A"
558
+ "NOTICE","NOTICE"
559
+ "Name","Name"
560
+ "Name on Card","Name on Card"
561
+ "Name on the Card: %s","Name on the Card: %s"
562
+ "Name:","Name:"
563
+ "New ","New "
564
+ "New API Key","New API Key"
565
+ "New Accounts","New Accounts"
566
+ "New Attribute","New Attribute"
567
+ "New Block","New Block"
568
+ "New Category","New Category"
569
+ "New Class","New Class"
570
+ "New Condition","New Condition"
571
+ "New Custom Variable","New Custom Variable"
572
+ "New Customer","New Customer"
573
+ "New Customers","New Customers"
574
+ "New Design Change","New Design Change"
575
+ "New Email Template","New Email Template"
576
+ "New Group","New Group"
577
+ "New Invoice","New Invoice"
578
+ "New Item Type","New Item Type"
579
+ "New Memo","New Memo"
580
+ "New Memo for #%s","New Memo for #%s"
581
+ "New Page","New Page"
582
+ "New Password","New Password"
583
+ "New Poll","New Poll"
584
+ "New Profile","New Profile"
585
+ "New Rate","New Rate"
586
+ "New Rating","New Rating"
587
+ "New Review","New Review"
588
+ "New Role","New Role"
589
+ "New Rule","New Rule"
590
+ "New Search","New Search"
591
+ "New Set","New Set"
592
+ "New Shipment","New Shipment"
593
+ "New Sitemap","New Sitemap"
594
+ "New Store View","New Store View"
595
+ "New System Template","New System Template"
596
+ "New Tag","New Tag"
597
+ "New Template","New Template"
598
+ "New User","New User"
599
+ "New Variable","New Variable"
600
+ "New Website","New Website"
601
+ "New admin password","New admin password"
602
+ "Newsletter","Newsletter"
603
+ "Newsletter Problems","Newsletter Problems"
604
+ "Newsletter Queue","Newsletter Queue"
605
+ "Newsletter Subscribers","Newsletter Subscribers"
606
+ "Newsletter Templates","Newsletter Templates"
607
+ "Next month (hold for menu)","Next month (hold for menu)"
608
+ "Next page","Next page"
609
+ "Next year (hold for menu)","Next year (hold for menu)"
610
+ "No","No"
611
+ "No (price without tax)","No (price without tax)"
612
+ "No Data Found","No Data Found"
613
+ "No Templates Found","No Templates Found"
614
+ "No change","No change"
615
+ "No customer id defined.","No customer id defined."
616
+ "No information available.","No information available."
617
+ "No profile loaded...","No profile loaded..."
618
+ "No records found for this period.","No records found for this period."
619
+ "No records found.","No records found."
620
+ "No report code specified.","No report code specified."
621
+ "No search keywords.","No search keywords."
622
+ "No search modules were registered","No search modules were registered"
623
+ "No wishlist item id defined.","No wishlist item id defined."
624
+ "None","None"
625
+ "Note:","Note:"
626
+ "Notes","Notes"
627
+ "Notifications","Notifications"
628
+ "Number of Orders","Number of Orders"
629
+ "Number of Uses","Number of Uses"
630
+ "Number of records:","Number of records:"
631
+ "Old rate:","Old rate:"
632
+ "On my website","On my website"
633
+ "Once you log into your Payflow Link account, navigate to the Service Settings - Hosted Checkout Pages - Set Up menu and set the options described below","Once you log into your Payflow Link account, navigate to the Service Settings - Hosted Checkout Pages - Set Up menu and set the options described below"
634
+ "One or more media files failed to be synchronized during the media storages syncronization process. Refer to the log file for details.","One or more media files failed to be synchronized during the media storages syncronization process. Refer to the log file for details."
635
+ "One or more of the Cache Types are invalidated:","One or more of the Cache Types are invalidated:"
636
+ "Online Customers","Online Customers"
637
+ "Only attributes with scope ""Global"", input type ""Dropdown"" and Use To Create Configurable Product ""Yes"" are available.","Only attributes with scope ""Global"", input type ""Dropdown"" and Use To Create Configurable Product ""Yes"" are available."
638
+ "Only custom theme can be deleted","Only custom theme can be deleted"
639
+ "Only default theme can be reset","Only default theme can be reset"
640
+ "Only mapped fields","Only mapped fields"
641
+ "Optional","Optional"
642
+ "Options","Options"
643
+ "Options menu items","Options menu items"
644
+ "Order","Order"
645
+ "Order #%s","Order #%s"
646
+ "Order #%s (%s)","Order #%s (%s)"
647
+ "Order Created Date","Order Created Date"
648
+ "Order ID","Order ID"
649
+ "Order Totals","Order Totals"
650
+ "Order Updated Date","Order Updated Date"
651
+ "Order Updated Date report is real-time, does not need statistics refreshing.","Order Updated Date report is real-time, does not need statistics refreshing."
652
+ "Order cannot be placed.","Order cannot be placed."
653
+ "Orders","Orders"
654
+ "Original Magento attribute names in first row:","Original Magento attribute names in first row:"
655
+ "Out of stock","Out of stock"
656
+ "PDT (Payment Data Transfer) Only","PDT (Payment Data Transfer) Only"
657
+ "Package","Package"
658
+ "Package Extensions","Package Extensions"
659
+ "Packages","Packages"
660
+ "Page","Page"
661
+ "Pages","Pages"
662
+ "Parent Product Thumbnail","Parent Product Thumbnail"
663
+ "Parent Transaction ID","Parent Transaction ID"
664
+ "Passive mode","Passive mode"
665
+ "Password","Password"
666
+ "Password Confirmation","Password Confirmation"
667
+ "Password confirmation must be same as password.","Password confirmation must be same as password."
668
+ "Password must be at least of %d characters.","Password must be at least of %d characters."
669
+ "Password must include both numeric and alphabetic characters.","Password must include both numeric and alphabetic characters."
670
+ "Password:","Password:"
671
+ "Path","Path"
672
+ "Path:","Path:"
673
+ "Payment method instance is not available.","Payment method instance is not available."
674
+ "Payment method is not available.","Payment method is not available."
675
+ "Payment method must be specified.","Payment method must be specified."
676
+ "Pending Reviews","Pending Reviews"
677
+ "Pending Tags","Pending Tags"
678
+ "Per Item","Per Item"
679
+ "Per Order","Per Order"
680
+ "Percent","Percent"
681
+ "Performed At","Performed At"
682
+ "Period","Period"
683
+ "Permanent (301)","Permanent (301)"
684
+ "Permissions","Permissions"
685
+ "Personal Information","Personal Information"
686
+ "Phone:","Phone:"
687
+ "Please Select","Please Select"
688
+ "Please confirm site switching. All data that hasn\'t been saved will be lost.","Please confirm site switching. All data that hasn\'t been saved will be lost."
689
+ "Please continue with placing order.","Please continue with placing order."
690
+ "Please enter 6 or more characters.","Please enter 6 or more characters."
691
+ "Please enter a number greater than 0 in this field.","Please enter a number greater than 0 in this field."
692
+ "Please enter a valid $ amount. For example $100.00.","Please enter a valid $ amount. For example $100.00."
693
+ "Please enter a valid URL. For example http://www.example.com or www.example.com","Please enter a valid URL. For example http://www.example.com or www.example.com"
694
+ "Please enter a valid URL. http:// is required","Please enter a valid URL. http:// is required"
695
+ "Please enter a valid credit card number.","Please enter a valid credit card number."
696
+ "Please enter a valid date.","Please enter a valid date."
697
+ "Please enter a valid email address. For example johndoe@domain.com.","Please enter a valid email address. For example johndoe@domain.com."
698
+ "Please enter a valid email.","Please enter a valid email."
699
+ "Please enter a valid number in this field.","Please enter a valid number in this field."
700
+ "Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.","Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890."
701
+ "Please enter a valid social security number. For example 123-45-6789.","Please enter a valid social security number. For example 123-45-6789."
702
+ "Please enter a valid value from list","Please enter a valid value from list"
703
+ "Please enter a valid value, ex: 10,20,30","Please enter a valid value, ex: 10,20,30"
704
+ "Please enter a valid zip code.","Please enter a valid zip code."
705
+ "Please enter a valid zip code. For example 90602 or 90602-1234.","Please enter a valid zip code. For example 90602 or 90602-1234."
706
+ "Please enter another credit card number to complete your purchase.","Please enter another credit card number to complete your purchase."
707
+ "Please enter valid password.","Please enter valid password."
708
+ "Please make sure that all global admin search modules are installed and activated.","Please make sure that all global admin search modules are installed and activated."
709
+ "Please make sure that your changes were saved before running the profile.","Please make sure that your changes were saved before running the profile."
710
+ "Please make sure your passwords match.","Please make sure your passwords match."
711
+ "Please select State/Province.","Please select State/Province."
712
+ "Please select a customer.","Please select a customer."
713
+ "Please select a store.","Please select a store."
714
+ "Please select an option.","Please select an option."
715
+ "Please select catalog searches.","Please select catalog searches."
716
+ "Please select customer(s).","Please select customer(s)."
717
+ "Please select message(s).","Please select message(s)."
718
+ "Please select one of the above options.","Please select one of the above options."
719
+ "Please select one of the options.","Please select one of the options."
720
+ "Please select review(s).","Please select review(s)."
721
+ "Please select tag(s).","Please select tag(s)."
722
+ "Please specify at least start or end date.","Please specify at least start or end date."
723
+ "Please specify the admin custom URL.","Please specify the admin custom URL."
724
+ "Please try to logout and sign in again.","Please try to logout and sign in again."
725
+ "Please use in this field only ""a-z,0-9,_"".","Please use in this field only ""a-z,0-9,_""."
726
+ "Please use letters only (a-z) in this field.","Please use letters only (a-z) in this field."
727
+ "Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas.","Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas."
728
+ "Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.","Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed."
729
+ "Please use only letters (a-z) or numbers (0-9) or spaces and # only in this field.","Please use only letters (a-z) or numbers (0-9) or spaces and # only in this field."
730
+ "Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.","Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006."
731
+ "Please wait while the indexes are being refreshed.","Please wait while the indexes are being refreshed."
732
+ "Please wait, loading...","Please wait, loading..."
733
+ "Please wait...","Please wait..."
734
+ "Please, add some answers to this poll first.","Please, add some answers to this poll first."
735
+ "Please, select ""Visible in Stores"" for this poll first.","Please, select ""Visible in Stores"" for this poll first."
736
+ "Poll Manager","Poll Manager"
737
+ "Polls","Polls"
738
+ "Popular","Popular"
739
+ "Position of Watermark for %s","Position of Watermark for %s"
740
+ "Pregenerated product images files.","Pregenerated product images files."
741
+ "Preset Theme","Preset Theme"
742
+ "Prev. month (hold for menu)","Prev. month (hold for menu)"
743
+ "Prev. year (hold for menu)","Prev. year (hold for menu)"
744
+ "Preview","Preview"
745
+ "Preview Template","Preview Template"
746
+ "Previous page","Previous page"
747
+ "Price alert subscription was saved.","Price alert subscription was saved."
748
+ "Price:","Price:"
749
+ "Processed <strong>%s%% %s/%d</strong> records","Processed <strong>%s%% %s/%d</strong> records"
750
+ "Product","Product"
751
+ "Product Name3 ","Product Name3 "
752
+ "Product Name3 1","Product Name3 1"
753
+ "Product Name3 2","Product Name3 2"
754
+ "Product Reviews","Product Reviews"
755
+ "Product Tax Classes","Product Tax Classes"
756
+ "Product Thumbnail Itself","Product Thumbnail Itself"
757
+ "Product is not loaded.","Product is not loaded."
758
+ "Product:","Product:"
759
+ "Products","Products"
760
+ "Products Bestsellers Report","Products Bestsellers Report"
761
+ "Products Ordered","Products Ordered"
762
+ "Products in Carts","Products in Carts"
763
+ "Profile Action","Profile Action"
764
+ "Profile Actions XML","Profile Actions XML"
765
+ "Profile Direction","Profile Direction"
766
+ "Profile History","Profile History"
767
+ "Profile Information","Profile Information"
768
+ "Profile Name","Profile Name"
769
+ "Profile Payments","Profile Payments"
770
+ "Profile Schedule","Profile Schedule"
771
+ "Profile Wizard","Profile Wizard"
772
+ "Profiles","Profiles"
773
+ "Promo","Promo"
774
+ "Promotions","Promotions"
775
+ "Purchased Item","Purchased Item"
776
+ "Qty:","Qty:"
777
+ "Quantity","Quantity"
778
+ "Queue Refresh","Queue Refresh"
779
+ "Queued... Cancel","Queued... Cancel"
780
+ "Radio Buttons","Radio Buttons"
781
+ "Rates","Rates"
782
+ "Read details","Read details"
783
+ "Rebuild","Rebuild"
784
+ "Rebuild Catalog Index","Rebuild Catalog Index"
785
+ "Rebuild Flat Catalog Category","Rebuild Flat Catalog Category"
786
+ "Rebuild Flat Catalog Product","Rebuild Flat Catalog Product"
787
+ "Recent Orders","Recent Orders"
788
+ "Recent statistics have been updated.","Recent statistics have been updated."
789
+ "Recurring Profile View","Recurring Profile View"
790
+ "Recursive Dir","Recursive Dir"
791
+ "Redirect","Redirect"
792
+ "Reference","Reference"
793
+ "Reference ID","Reference ID"
794
+ "Refresh","Refresh"
795
+ "Refresh Now*","Refresh Now*"
796
+ "Refresh Statistics","Refresh Statistics"
797
+ "Region/State","Region/State"
798
+ "Regular Price:","Regular Price:"
799
+ "Release","Release"
800
+ "Release Stability","Release Stability"
801
+ "Release Version","Release Version"
802
+ "Remote FTP","Remote FTP"
803
+ "Remove","Remove"
804
+ "Reports","Reports"
805
+ "Request Path","Request Path"
806
+ "Required","Required"
807
+ "Required settings","Required settings"
808
+ "Reset","Reset"
809
+ "Reset Filter","Reset Filter"
810
+ "Reset theme to default","Reset theme to default"
811
+ "Resize","Resize"
812
+ "Resource Access","Resource Access"
813
+ "Resources","Resources"
814
+ "Results","Results"
815
+ "Retrieve Password","Retrieve Password"
816
+ "Return Html Version","Return Html Version"
817
+ "Return URL: ","Return URL: "
818
+ "Revenue","Revenue"
819
+ "Reviews","Reviews"
820
+ "Reviews and Ratings","Reviews and Ratings"
821
+ "Rewrite Rules","Rewrite Rules"
822
+ "Role ID","Role ID"
823
+ "Role Info","Role Info"
824
+ "Role Information","Role Information"
825
+ "Role Name","Role Name"
826
+ "Role Resources","Role Resources"
827
+ "Role Users","Role Users"
828
+ "Roles","Roles"
829
+ "Roles Resources","Roles Resources"
830
+ "Rotate CCW","Rotate CCW"
831
+ "Rotate CW","Rotate CW"
832
+ "Run","Run"
833
+ "Run Profile","Run Profile"
834
+ "Run Profile Inside This Window","Run Profile Inside This Window"
835
+ "Run Profile in Popup","Run Profile in Popup"
836
+ "Running... Kill","Running... Kill"
837
+ "SKU","SKU"
838
+ "SKU:","SKU:"
839
+ "SORT BY:","SORT BY:"
840
+ "SSL Error: Invalid or self-signed certificate","SSL Error: Invalid or self-signed certificate"
841
+ "Sales","Sales"
842
+ "Sales Report","Sales Report"
843
+ "Samples","Samples"
844
+ "Save","Save"
845
+ "Save & Generate","Save & Generate"
846
+ "Save Account","Save Account"
847
+ "Save As","Save As"
848
+ "Save Cache Settings","Save Cache Settings"
849
+ "Save Config","Save Config"
850
+ "Save Currency Rates","Save Currency Rates"
851
+ "Save Profile","Save Profile"
852
+ "Save Role","Save Role"
853
+ "Save Template","Save Template"
854
+ "Save Theme","Save Theme"
855
+ "Save User","Save User"
856
+ "Save and Continue Edit","Save and Continue Edit"
857
+ "Screens:","Screens:"
858
+ "Search","Search"
859
+ "Search Index","Search Index"
860
+ "Search Term","Search Term"
861
+ "Search Terms","Search Terms"
862
+ "Select","Select"
863
+ "Select All","Select All"
864
+ "Select Category","Select Category"
865
+ "Select Date","Select Date"
866
+ "Select Range","Select Range"
867
+ "Select Visible","Select Visible"
868
+ "Select date","Select date"
869
+ "Selected allowed currency ""%s"" is not available in installed currencies.","Selected allowed currency ""%s"" is not available in installed currencies."
870
+ "Selected base currency is not available in installed currencies.","Selected base currency is not available in installed currencies."
871
+ "Selected default display currency is not available in allowed currencies.","Selected default display currency is not available in allowed currencies."
872
+ "Selected default display currency is not available in installed currencies.","Selected default display currency is not available in installed currencies."
873
+ "Self-assigned roles cannot be deleted.","Self-assigned roles cannot be deleted."
874
+ "Sender","Sender"
875
+ "Separate Email","Separate Email"
876
+ "Shipment #%s comment added","Shipment #%s comment added"
877
+ "Shipment #%s created","Shipment #%s created"
878
+ "Shipment Comments","Shipment Comments"
879
+ "Shipment History","Shipment History"
880
+ "Shipments","Shipments"
881
+ "Shipping","Shipping"
882
+ "Shipping Address","Shipping Address"
883
+ "Shipping Address: ","Shipping Address: "
884
+ "Shipping Origin","Shipping Origin"
885
+ "Shipping Price","Shipping Price"
886
+ "Shipping address selection is not applicable","Shipping address selection is not applicable"
887
+ "Shipping method must be specified.","Shipping method must be specified."
888
+ "Shipping method selection is not applicable","Shipping method selection is not applicable"
889
+ "Shopping Cart","Shopping Cart"
890
+ "Shopping Cart Price Rules","Shopping Cart Price Rules"
891
+ "Shopping Cart from %s","Shopping Cart from %s"
892
+ "Show By","Show By"
893
+ "Show Report For","Show Report For"
894
+ "Show Reviews","Show Reviews"
895
+ "Show confirmation page: ","Show confirmation page: "
896
+ "Silent Post URL:","Silent Post URL:"
897
+ "Sitemap Information","Sitemap Information"
898
+ "Size for %s","Size for %s"
899
+ "Skip Category Selection","Skip Category Selection"
900
+ "Some items in this order have different invoice and shipment types. You can create shipment only after the invoice is created.","Some items in this order have different invoice and shipment types. You can create shipment only after the invoice is created."
901
+ "Some of the ordered items do not exist in the catalog anymore and will be removed if you try to edit the order.","Some of the ordered items do not exist in the catalog anymore and will be removed if you try to edit the order."
902
+ "Sorry, this feature is coming soon...","Sorry, this feature is coming soon..."
903
+ "Sort Order","Sort Order"
904
+ "Special Price:","Special Price:"
905
+ "Specific Countries","Specific Countries"
906
+ "Specified","Specified"
907
+ "Specified profile does not exist.","Specified profile does not exist."
908
+ "Spreadsheet Name:","Spreadsheet Name:"
909
+ "Start Date","Start Date"
910
+ "Start/Reset Validation...","Start/Reset Validation..."
911
+ "Starting profile execution, please wait...","Starting profile execution, please wait..."
912
+ "State/Province:","State/Province:"
913
+ "Static Blocks","Static Blocks"
914
+ "Status","Status"
915
+ "Status:","Status:"
916
+ "Stock Quantity:","Stock Quantity:"
917
+ "Stock notification was saved.","Stock notification was saved."
918
+ "Store","Store"
919
+ "Store Email Addresses Section","Store Email Addresses Section"
920
+ "Store View","Store View"
921
+ "Store:","Store:"
922
+ "Stores","Stores"
923
+ "Subject","Subject"
924
+ "Submit","Submit"
925
+ "Subpackage cannot be conflicting.","Subpackage cannot be conflicting."
926
+ "Subtotal","Subtotal"
927
+ "Switch/Solo card issue number: %s","Switch/Solo card issue number: %s"
928
+ "Switch/Solo card start Date: %s/%s","Switch/Solo card start Date: %s/%s"
929
+ "Switch/Solo/Maestro Only","Switch/Solo/Maestro Only"
930
+ "Switch/Solo/Maestro(UK Domestic) Only","Switch/Solo/Maestro(UK Domestic) Only"
931
+ "Switch/Solo/Maestro(UK Domestic) card issue number: %s","Switch/Solo/Maestro(UK Domestic) card issue number: %s"
932
+ "Switch/Solo/Maestro(UK Domestic) card start Date: %s/%s","Switch/Solo/Maestro(UK Domestic) card start Date: %s/%s"
933
+ "Synchronization is required.","Synchronization is required."
934
+ "Synchronization of media storages has been successfully completed.","Synchronization of media storages has been successfully completed."
935
+ "Synchronize","Synchronize"
936
+ "Synchronizing %s to %s","Synchronizing %s to %s"
937
+ "Synchronizing...","Synchronizing..."
938
+ "System","System"
939
+ "System Section","System Section"
940
+ "System busy","System busy"
941
+ "T-Shirts","T-Shirts"
942
+ "Tags","Tags"
943
+ "Target","Target"
944
+ "Target Path","Target Path"
945
+ "Tax","Tax"
946
+ "Tb","Tb"
947
+ "Tell a Friend","Tell a Friend"
948
+ "Template","Template"
949
+ "Template Content","Template Content"
950
+ "Template Information","Template Information"
951
+ "Template Name","Template Name"
952
+ "Template Styles","Template Styles"
953
+ "Template Subject","Template Subject"
954
+ "Template Type","Template Type"
955
+ "Temporary (302)","Temporary (302)"
956
+ "Terms and Conditions","Terms and Conditions"
957
+ "Text","Text"
958
+ "The Catalog Rewrites were refreshed.","The Catalog Rewrites were refreshed."
959
+ "The CatalogInventory Stock Status has been rebuilt.","The CatalogInventory Stock Status has been rebuilt."
960
+ "The Comment Text field cannot be empty.","The Comment Text field cannot be empty."
961
+ "The Flat Catalog Product was rebuilt","The Flat Catalog Product was rebuilt"
962
+ "The JavaScript/CSS cache has been cleaned.","The JavaScript/CSS cache has been cleaned."
963
+ "The JavaScript/CSS cache has been cleared.","The JavaScript/CSS cache has been cleared."
964
+ "The Layered Navigation indexing has been queued.","The Layered Navigation indexing has been queued."
965
+ "The Layered Navigation indexing queue has been canceled.","The Layered Navigation indexing queue has been canceled."
966
+ "The Layered Navigation indices were refreshed.","The Layered Navigation indices were refreshed."
967
+ "The Layered Navigation process has been queued to be killed.","The Layered Navigation process has been queued to be killed."
968
+ "The Magento cache storage has been flushed.","The Magento cache storage has been flushed."
969
+ "The URL Rewrite has been deleted.","The URL Rewrite has been deleted."
970
+ "The URL Rewrite has been saved.","The URL Rewrite has been saved."
971
+ "The account has been saved.","The account has been saved."
972
+ "The archive can be uncompressed with <a href=""%s"">%s</a> on Windows systems","The archive can be uncompressed with <a href=""%s"">%s</a> on Windows systems"
973
+ "The attribute set has been removed.","The attribute set has been removed."
974
+ "The backup has been created.","The backup has been created."
975
+ "The billing agreement has been canceled.","The billing agreement has been canceled."
976
+ "The billing agreement has been deleted.","The billing agreement has been deleted."
977
+ "The cache storage has been flushed.","The cache storage has been flushed."
978
+ "The card has failed verification with the issuer bank.","The card has failed verification with the issuer bank."
979
+ "The carrier needs to be specified.","The carrier needs to be specified."
980
+ "The catalog index has been rebuilt.","The catalog index has been rebuilt."
981
+ "The catalog rewrites have been refreshed.","The catalog rewrites have been refreshed."
982
+ "The configuration has been saved.","The configuration has been saved."
983
+ "The credit memo has been canceled.","The credit memo has been canceled."
984
+ "The credit memo has been created.","The credit memo has been created."
985
+ "The credit memo has been voided.","The credit memo has been voided."
986
+ "The custom variable has been deleted.","The custom variable has been deleted."
987
+ "The custom variable has been saved.","The custom variable has been saved."
988
+ "The customer has been deleted.","The customer has been deleted."
989
+ "The customer has been saved.","The customer has been saved."
990
+ "The design change has been deleted.","The design change has been deleted."
991
+ "The design change has been saved.","The design change has been saved."
992
+ "The email address is empty.","The email address is empty."
993
+ "The email template has been deleted.","The email template has been deleted."
994
+ "The email template has been saved.","The email template has been saved."
995
+ "The flat catalog category has been rebuilt.","The flat catalog category has been rebuilt."
996
+ "The group node name must be specified with field node name.","The group node name must be specified with field node name."
997
+ "The image cache was cleaned.","The image cache was cleaned."
998
+ "The image cache was cleared.","The image cache was cleared."
999
+ "The information in this tab has been changed.","The information in this tab has been changed."
1000
+ "The invoice and shipment have been created.","The invoice and shipment have been created."
1001
+ "The invoice and the shipment have been created. The shipping label cannot be created at the moment.","The invoice and the shipment have been created. The shipping label cannot be created at the moment."
1002
+ "The invoice has been canceled.","The invoice has been canceled."
1003
+ "The invoice has been captured.","The invoice has been captured."
1004
+ "The invoice has been created.","The invoice has been created."
1005
+ "The invoice has been voided.","The invoice has been voided."
1006
+ "The invoice no longer exists.","The invoice no longer exists."
1007
+ "The order does not allow creating an invoice.","The order does not allow creating an invoice."
1008
+ "The order no longer exists.","The order no longer exists."
1009
+ "The poll has been deleted.","The poll has been deleted."
1010
+ "The poll has been saved.","The poll has been saved."
1011
+ "The profile has been deleted.","The profile has been deleted."
1012
+ "The profile has been saved.","The profile has been saved."
1013
+ "The profile has been updated.","The profile has been updated."
1014
+ "The profile has no changes.","The profile has no changes."
1015
+ "The profile you are trying to save no longer exists","The profile you are trying to save no longer exists"
1016
+ "The rating has been deleted.","The rating has been deleted."
1017
+ "The rating has been saved.","The rating has been saved."
1018
+ "The role has been deleted.","The role has been deleted."
1019
+ "The role has been saved.","The role has been saved."
1020
+ "The role has been successfully saved.","The role has been successfully saved."
1021
+ "The search index has been rebuilt.","The search index has been rebuilt."
1022
+ "The shipment has been created.","The shipment has been created."
1023
+ "The shipment has been created. The shipping label has been created.","The shipment has been created. The shipping label has been created."
1024
+ "The shipment has been sent.","The shipment has been sent."
1025
+ "The tag has been deleted.","The tag has been deleted."
1026
+ "The tag has been saved.","The tag has been saved."
1027
+ "The user has been deleted.","The user has been deleted."
1028
+ "The user has been saved.","The user has been saved."
1029
+ "Theme configurations are successfully reset.","Theme configurations are successfully reset."
1030
+ "Theme label can\'t be empty","Theme label can\'t be empty"
1031
+ "Theme label:","Theme label:"
1032
+ "Themes JavaScript and CSS files combined to one file.","Themes JavaScript and CSS files combined to one file."
1033
+ "There has been wrong payment information submitted or time limit has expired. Please, try again.","There has been wrong payment information submitted or time limit has expired. Please, try again."
1034
+ "There is an error in one of the option rows.","There is an error in one of the option rows."
1035
+ "This Account is","This Account is"
1036
+ "This Email template no longer exists.","This Email template no longer exists."
1037
+ "This Role no longer exists","This Role no longer exists"
1038
+ "This Role no longer exists.","This Role no longer exists."
1039
+ "This account is","This account is"
1040
+ "This account is inactive.","This account is inactive."
1041
+ "This attribute set does not have attributes which we can use for configurable product","This attribute set does not have attributes which we can use for configurable product"
1042
+ "This attribute shares the same value in all the stores","This attribute shares the same value in all the stores"
1043
+ "This is a demo store. Any orders placed through this store will not be honored or fulfilled.","This is a demo store. Any orders placed through this store will not be honored or fulfilled."
1044
+ "This is a required field.","This is a required field."
1045
+ "This product is currently disabled.","This product is currently disabled."
1046
+ "This report depends on timezone configuration. Once timezone is changed, the lifetime statistics need to be refreshed.","This report depends on timezone configuration. Once timezone is changed, the lifetime statistics need to be refreshed."
1047
+ "This section is not allowed.","This section is not allowed."
1048
+ "This tab contains invalid data. Please solve the problem before saving.","This tab contains invalid data. Please solve the problem before saving."
1049
+ "This user no longer exists.","This user no longer exists."
1050
+ "Thumbnail","Thumbnail"
1051
+ "Time","Time"
1052
+ "Time selection:","Time selection:"
1053
+ "Time:","Time:"
1054
+ "Timeout limit for response from synchronize process was reached.","Timeout limit for response from synchronize process was reached."
1055
+ "Title bar","Title bar"
1056
+ "To","To"
1057
+ "To cancel pending authorizations and release amounts that have already been processed during this payment, click Cancel.","To cancel pending authorizations and release amounts that have already been processed during this payment, click Cancel."
1058
+ "To use Payflow Link, you must configure your Payflow Link account on the Paypal website.","To use Payflow Link, you must configure your Payflow Link account on the Paypal website."
1059
+ "Toggle Editor","Toggle Editor"
1060
+ "Tools","Tools"
1061
+ "Top 5 Search Terms","Top 5 Search Terms"
1062
+ "Total","Total"
1063
+ "Total %d records found","Total %d records found"
1064
+ "Total Invoiced","Total Invoiced"
1065
+ "Total Order Amount","Total Order Amount"
1066
+ "Total Refunded","Total Refunded"
1067
+ "Total of %d record(s) have been deleted.","Total of %d record(s) have been deleted."
1068
+ "Total of %d record(s) have been updated.","Total of %d record(s) have been updated."
1069
+ "Total of %d record(s) were canceled.","Total of %d record(s) were canceled."
1070
+ "Track Order","Track Order"
1071
+ "Track this shipment","Track this shipment"
1072
+ "Tracking number %s for %s assigned","Tracking number %s for %s assigned"
1073
+ "Tracking number cannot be empty.","Tracking number cannot be empty."
1074
+ "Transaction Data","Transaction Data"
1075
+ "Transaction Details","Transaction Details"
1076
+ "Transaction ID","Transaction ID"
1077
+ "Transaction Type","Transaction Type"
1078
+ "Transactional Emails","Transactional Emails"
1079
+ "Transactions","Transactions"
1080
+ "Try Magento Go for Free","Try Magento Go for Free"
1081
+ "Type","Type"
1082
+ "Type:","Type:"
1083
+ "URL Rewrite","URL Rewrite"
1084
+ "URL Rewrite Information","URL Rewrite Information"
1085
+ "URL Rewrite Management","URL Rewrite Management"
1086
+ "Unable to cancel the credit memo.","Unable to cancel the credit memo."
1087
+ "Unable to find a Email Template to delete.","Unable to find a Email Template to delete."
1088
+ "Unable to find a poll to delete.","Unable to find a poll to delete."
1089
+ "Unable to find a tag to delete.","Unable to find a tag to delete."
1090
+ "Unable to find a user to delete.","Unable to find a user to delete."
1091
+ "Unable to initialize import model","Unable to initialize import model"
1092
+ "Unable to refresh lifetime statistics.","Unable to refresh lifetime statistics."
1093
+ "Unable to refresh recent statistics.","Unable to refresh recent statistics."
1094
+ "Unable to save the cron expression.","Unable to save the cron expression."
1095
+ "Unable to save the invoice.","Unable to save the invoice."
1096
+ "Unable to send the invoice email.","Unable to send the invoice email."
1097
+ "Unable to send the shipment email.","Unable to send the shipment email."
1098
+ "Unable to void the credit memo.","Unable to void the credit memo."
1099
+ "Unknown","Unknown"
1100
+ "Unknown Error","Unknown Error"
1101
+ "Unknown Error.","Unknown Error."
1102
+ "Unlimited","Unlimited"
1103
+ "Unselect All","Unselect All"
1104
+ "Unselect Visible","Unselect Visible"
1105
+ "Update","Update"
1106
+ "Update Preview","Update Preview"
1107
+ "Updated At","Updated At"
1108
+ "Upload File","Upload File"
1109
+ "Upload Files","Upload Files"
1110
+ "Upload HTTP Error","Upload HTTP Error"
1111
+ "Upload I/O Error","Upload I/O Error"
1112
+ "Upload Security Error","Upload Security Error"
1113
+ "Upload import file","Upload import file"
1114
+ "Use All Available Attributes","Use All Available Attributes"
1115
+ "Use Config Settings","Use Config Settings"
1116
+ "Use Default","Use Default"
1117
+ "Use Default Value","Use Default Value"
1118
+ "Use Default Variable Values","Use Default Variable Values"
1119
+ "Use Silent Post:","Use Silent Post:"
1120
+ "Use Website","Use Website"
1121
+ "Used Currently For","Used Currently For"
1122
+ "Used as Default For","Used as Default For"
1123
+ "User","User"
1124
+ "User Email","User Email"
1125
+ "User ID","User ID"
1126
+ "User Info","User Info"
1127
+ "User Information","User Information"
1128
+ "User Name","User Name"
1129
+ "User Name is required field.","User Name is required field."
1130
+ "User Name:","User Name:"
1131
+ "User Role","User Role"
1132
+ "User Roles","User Roles"
1133
+ "User Roles Information","User Roles Information"
1134
+ "User name","User name"
1135
+ "Users","Users"
1136
+ "Validation Results","Validation Results"
1137
+ "Value","Value"
1138
+ "Value Delimiter:","Value Delimiter:"
1139
+ "Variable","Variable"
1140
+ "Variable Code","Variable Code"
1141
+ "Variable HTML Value","Variable HTML Value"
1142
+ "Variable ID","Variable ID"
1143
+ "Variable Name","Variable Name"
1144
+ "Variable Plain Value","Variable Plain Value"
1145
+ "Verification Failed","Verification Failed"
1146
+ "Verification Successful","Verification Successful"
1147
+ "Verification cannot be processed","Verification cannot be processed"
1148
+ "View","View"
1149
+ "View Actions XML","View Actions XML"
1150
+ "View Details","View Details"
1151
+ "View Full Size","View Full Size"
1152
+ "View Gallery","View Gallery"
1153
+ "View Memo","View Memo"
1154
+ "View Memo for #%s","View Memo for #%s"
1155
+ "View Shipment","View Shipment"
1156
+ "View Statistics For","View Statistics For"
1157
+ "Visibility:","Visibility:"
1158
+ "Warning! Empty value can cause problems with CSV format.","Warning! Empty value can cause problems with CSV format."
1159
+ "Warning!\r\nThis action will remove this user from already assigned role\r\nAre you sure?","Warning!\r\nThis action will remove this user from already assigned role\r\nAre you sure?"
1160
+ "Warning!\r\nThis action will remove those users from already assigned roles\r\nAre you sure?","Warning!\r\nThis action will remove those users from already assigned roles\r\nAre you sure?"
1161
+ "Warning: All related AirMail messages will be deteted!\n Are you sure you want to do this?","Warning: All related AirMail messages will be deteted!\n Are you sure you want to do this?"
1162
+ "Warning: Please do not close the window during importing/exporting data","Warning: Please do not close the window during importing/exporting data"
1163
+ "Watermark File for %s","Watermark File for %s"
1164
+ "We appreciate our merchants\' feedback, please <a href=""#"" onclick=""surveyAction(\'yes\'); return false;"">take our survey</a> to provide insight on the features you would like included in Magento. <a href=""#"" onclick=""surveyAction(\'no\'); return false;"">Remove this notification</a>","We appreciate our merchants\' feedback, please <a href=""#"" onclick=""surveyAction(\'yes\'); return false;"">take our survey</a> to provide insight on the features you would like included in Magento. <a href=""#"" onclick=""surveyAction(\'no\'); return false;"">Remove this notification</a>"
1165
+ "We detected that your JavaScript seem to be disabled.","We detected that your JavaScript seem to be disabled."
1166
+ "We\'re in our typing table, coding away more features for Magento. Thank you for your patience.","We\'re in our typing table, coding away more features for Magento. Thank you for your patience."
1167
+ "Web Section","Web Section"
1168
+ "Web Services","Web Services"
1169
+ "Web services","Web services"
1170
+ "Website","Website"
1171
+ "What is this?","What is this?"
1172
+ "Wishlist Report","Wishlist Report"
1173
+ "Wishlist item is not loaded.","Wishlist item is not loaded."
1174
+ "Wrong billing agreement ID specified.","Wrong billing agreement ID specified."
1175
+ "Wrong column format.","Wrong column format."
1176
+ "Wrong newsletter template.","Wrong newsletter template."
1177
+ "Wrong quote item.","Wrong quote item."
1178
+ "Wrong tab configuration.","Wrong tab configuration."
1179
+ "Wrong tag was specified.","Wrong tag was specified."
1180
+ "Wrong transaction ID specified.","Wrong transaction ID specified."
1181
+ "XML","XML"
1182
+ "XML data is invalid.","XML data is invalid."
1183
+ "XML object is not instance of ""Varien_Simplexml_Element"".","XML object is not instance of ""Varien_Simplexml_Element""."
1184
+ "YTD","YTD"
1185
+ "Year","Year"
1186
+ "Yes","Yes"
1187
+ "Yes (301 Moved Permanently)","Yes (301 Moved Permanently)"
1188
+ "Yes (302 Found)","Yes (302 Found)"
1189
+ "Yes (only price with tax)","Yes (only price with tax)"
1190
+ "You cannot delete your own account.","You cannot delete your own account."
1191
+ "You have %s unread message(s).","You have %s unread message(s)."
1192
+ "You have logged out.","You have logged out."
1193
+ "You have not enough permissions to use this functionality.","You have not enough permissions to use this functionality."
1194
+ "You must have JavaScript enabled in your browser to utilize the functionality of this website.","You must have JavaScript enabled in your browser to utilize the functionality of this website."
1195
+ "You need to specify order items.","You need to specify order items."
1196
+ "Your answers contain duplicates.","Your answers contain duplicates."
1197
+ "Your server PHP settings allow you to upload files not more than %s at a time. Please modify post_max_size (currently is %s) and upload_max_filesize (currently is %s) values in php.ini if you want to upload larger files.","Your server PHP settings allow you to upload files not more than %s at a time. Please modify post_max_size (currently is %s) and upload_max_filesize (currently is %s) values in php.ini if you want to upload larger files."
1198
+ "Your web server is configured incorrectly. As a result, configuration files with sensitive information are accessible from the outside. Please contact your hosting provider.","Your web server is configured incorrectly. As a result, configuration files with sensitive information are accessible from the outside. Please contact your hosting provider."
1199
+ "Zip/Postal Code","Zip/Postal Code"
1200
+ "Zip/Postal Code:","Zip/Postal Code:"
1201
+ "[ deleted ]","[ deleted ]"
1202
+ "[GLOBAL]","[GLOBAL]"
1203
+ "[STORE VIEW]","[STORE VIEW]"
1204
+ "[WEBSITE]","[WEBSITE]"
1205
+ "b","b"
1206
+ "close","close"
1207
+ "critical","critical"
1208
+ "example: ""sitemap/"" or ""/"" for base path (path must be writeable)","example: ""sitemap/"" or ""/"" for base path (path must be writeable)"
1209
+ "example: sitemap.xml","example: sitemap.xml"
1210
+ "from","from"
1211
+ "items selected","items selected"
1212
+ "major","major"
1213
+ "minor","minor"
1214
+ "notice","notice"
1215
+ "of %s pages","of %s pages"
1216
+ "per page","per page"
1217
+ "store(%s) scope","store(%s) scope"
1218
+ "to","to"
1219
+ "website(%s) scope","website(%s) scope"
1220
+ "{{base_url}} is not recommended to use in a production environment to declare the Base Unsecure URL / Base Secure URL. It is highly recommended to change this value in your Magento <a href=""%s"">configuration</a>.","{{base_url}} is not recommended to use in a production environment to declare the Base Unsecure URL / Base Secure URL. It is highly recommended to change this value in your Magento <a href=""%s"">configuration</a>."
app/locale/en_US/Mage_Api.csv ADDED
@@ -0,0 +1,421 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ " and "," and "
2
+ " note that the URLs provided below are the correct values for your current website): "," note that the URLs provided below are the correct values for your current website): "
3
+ "(For Type ""Local Server"" need to use relative path to Magento install var/export or var/import, e.g. var/export, var/import, var/export/some/dir, var/import/some/dir)","(For Type ""Local Server"" need to use relative path to Magento install var/export or var/import, e.g. var/export, var/import, var/export/some/dir, var/import/some/dir)"
4
+ "(For US 2-letter state names)","(For US 2-letter state names)"
5
+ "(If left empty will be auto-generated)","(If left empty will be auto-generated)"
6
+ "(Includes more countries than those listed below. As the application owner, you are responsible for complying with country-specific laws related to the distribution or sale of your application into that country, including your home country.)","(Includes more countries than those listed below. As the application owner, you are responsible for complying with country-specific laws related to the distribution or sale of your application into that country, including your home country.)"
7
+ "(Leave empty for first spreadsheet)","(Leave empty for first spreadsheet)"
8
+ "(Products will be added/updated to this store if 'store' column is blank or missing in the import file.)","(Products will be added/updated to this store if 'store' column is blank or missing in the import file.)"
9
+ "(Shift-)Click or drag to change value","(Shift-)Click or drag to change value"
10
+ "(Starting with)","(Starting with)"
11
+ "(When 'No', only mapped fields will be imported. When mapping, use 'column1', 'column2', etc.)","(When 'No', only mapped fields will be imported. When mapping, use 'column1', 'column2', etc.)"
12
+ "(You have to increase php memory_limit before changing this value)","(You have to increase php memory_limit before changing this value)"
13
+ "(\\t for tab)","(\\t for tab)"
14
+ "- Click on any of the time parts to increase it","- Click on any of the time parts to increase it"
15
+ "- Hold mouse button on any of the above buttons for faster selection.","- Hold mouse button on any of the above buttons for faster selection."
16
+ "- Use the %s buttons to select month","- Use the %s buttons to select month"
17
+ "- Use the %s, %s buttons to select year","- Use the %s, %s buttons to select year"
18
+ "- or Shift-click to decrease it","- or Shift-click to decrease it"
19
+ "- or click and drag for faster selection.","- or click and drag for faster selection."
20
+ "-- Please Select Billing Agreement--","-- Please Select Billing Agreement--"
21
+ "10:40 AM","10:40 AM"
22
+ "80px x 80px","80px x 80px"
23
+ "80x80 px","80x80 px"
24
+ "ASCII","ASCII"
25
+ "About the calendar","About the calendar"
26
+ "Access denied.","Access denied."
27
+ "Account Created in:","Account Created in:"
28
+ "Account Created on (%s):","Account Created on (%s):"
29
+ "Account Created on:","Account Created on:"
30
+ "Action","Action"
31
+ "Actions","Actions"
32
+ "Activate","Activate"
33
+ "Add Contents Path","Add Contents Path"
34
+ "Add Field with URL:","Add Field with URL:"
35
+ "Add New Role","Add New Role"
36
+ "Add New User","Add New User"
37
+ "Add PHP Extension dependency","Add PHP Extension dependency"
38
+ "Add Package dependency","Add Package dependency"
39
+ "Add to Cart","Add to Cart"
40
+ "Add to Wishlist","Add to Wishlist"
41
+ "Address Type:","Address Type:"
42
+ "AirMail Template Preview","AirMail Template Preview"
43
+ "All","All"
44
+ "All Websites","All Websites"
45
+ "All fields","All fields"
46
+ "All locations","All locations"
47
+ "Archive file name:","Archive file name:"
48
+ "Are you sure that you want to delete this template?","Are you sure that you want to delete this template?"
49
+ "Are you sure that you want to strip tags?","Are you sure that you want to strip tags?"
50
+ "Are you sure you want to delete this theme? This change will affect all applications.","Are you sure you want to delete this theme? This change will affect all applications."
51
+ "As low as:","As low as:"
52
+ "Attribute Set Name:","Attribute Set Name:"
53
+ "Attributes","Attributes"
54
+ "Authors","Authors"
55
+ "Available Products","Available Products"
56
+ "BINARY","BINARY"
57
+ "Back","Back"
58
+ "Big Image","Big Image"
59
+ "Billing Address","Billing Address"
60
+ "Billing Agreement","Billing Agreement"
61
+ "Bundle Items","Bundle Items"
62
+ "Bundle with dynamic pricing cannot include custom defined options. Options will not be saved.","Bundle with dynamic pricing cannot include custom defined options. Options will not be saved."
63
+ "CSV / Tab separated","CSV / Tab separated"
64
+ "Cancel","Cancel"
65
+ "Cancel URL: ","Cancel URL: "
66
+ "Card Verification Number","Card Verification Number"
67
+ "Carrier","Carrier"
68
+ "Catalog","Catalog"
69
+ "Chairs","Chairs"
70
+ "Change Orientation","Change Orientation"
71
+ "Channel","Channel"
72
+ "Child Transactions","Child Transactions"
73
+ "Choose Store View","Choose Store View"
74
+ "Choose a selection...","Choose a selection..."
75
+ "Clear","Clear"
76
+ "Client Session Timeout (sec.)","Client Session Timeout (sec.)"
77
+ "Close","Close"
78
+ "Confirmed email:","Confirmed email:"
79
+ "Connect with the Magento Community","Connect with the Magento Community"
80
+ "Contents","Contents"
81
+ "Continue","Continue"
82
+ "Country:","Country:"
83
+ "Created At","Created At"
84
+ "Credit Card %s","Credit Card %s"
85
+ "Credit Card Number","Credit Card Number"
86
+ "Credit Card Number: xxxx-%s","Credit Card Number: xxxx-%s"
87
+ "Credit Card Type","Credit Card Type"
88
+ "Credit Card Type: %s","Credit Card Type: %s"
89
+ "Credit Memo History","Credit Memo History"
90
+ "Credit Memo Totals","Credit Memo Totals"
91
+ "Current Configuration Scope:","Current Configuration Scope:"
92
+ "Custom","Custom"
93
+ "Customer","Customer"
94
+ "Customer Group:","Customer Group:"
95
+ "Customer Since:","Customer Since:"
96
+ "Customers","Customers"
97
+ "DHTML Date/Time Selector","DHTML Date/Time Selector"
98
+ "Dashboard","Dashboard"
99
+ "Data Format","Data Format"
100
+ "Data transfer:","Data transfer:"
101
+ "Date selection:","Date selection:"
102
+ "Date selector","Date selector"
103
+ "Decimal separator:","Decimal separator:"
104
+ "Default (Admin) Values","Default (Admin) Values"
105
+ "Default Billing Address","Default Billing Address"
106
+ "Default Response Charset","Default Response Charset"
107
+ "Default Values","Default Values"
108
+ "Delete","Delete"
109
+ "Delete theme","Delete theme"
110
+ "Deselect All","Deselect All"
111
+ "Direction:","Direction:"
112
+ "Display %s first","Display %s first"
113
+ "Distributed under GNU LGPL. See %s for details.","Distributed under GNU LGPL. See %s for details."
114
+ "Do not enable AVS or CSC options. The do not work when using Payflow Link Silent Mode.","Do not enable AVS or CSC options. The do not work when using Payflow Link Silent Mode."
115
+ "Do not set any fields in the Billing and Shipping Information block as editable in your Payflow accout.","Do not set any fields in the Billing and Shipping Information block as editable in your Payflow accout."
116
+ "Drag to move","Drag to move"
117
+ "Edit Filter","Edit Filter"
118
+ "Edit Role","Edit Role"
119
+ "Edit User '%s'","Edit User '%s'"
120
+ "Email","Email"
121
+ "Email Preview","Email Preview"
122
+ "Email:","Email:"
123
+ "Enable Secure Token:","Enable Secure Token:"
124
+ "Enclose Values In:","Enclose Values In:"
125
+ "Entity Attributes","Entity Attributes"
126
+ "Entity type:","Entity type:"
127
+ "Excl. Tax","Excl. Tax"
128
+ "Expiration Date","Expiration Date"
129
+ "Expiration Date: %s/%s","Expiration Date: %s/%s"
130
+ "Export","Export"
131
+ "Export Filters","Export Filters"
132
+ "Export to:","Export to:"
133
+ "Export:","Export:"
134
+ "Extension","Extension"
135
+ "Extensions","Extensions"
136
+ "FILTERS APPLIED","FILTERS APPLIED"
137
+ "FTP Host[:Port]","FTP Host[:Port]"
138
+ "Field Mapping","Field Mapping"
139
+ "File Information","File Information"
140
+ "File mode","File mode"
141
+ "File name:","File name:"
142
+ "Files","Files"
143
+ "Finished profile execution.","Finished profile execution."
144
+ "First Name:","First Name:"
145
+ "For latest version visit: %s","For latest version visit: %s"
146
+ "From","From"
147
+ "General Information","General Information"
148
+ "General Settings","General Settings"
149
+ "Get help for this page","Get help for this page"
150
+ "Global Record Search","Global Record Search"
151
+ "Go Today","Go Today"
152
+ "Go to messages inbox","Go to messages inbox"
153
+ "Go to notifications","Go to notifications"
154
+ "Google Base Items","Google Base Items"
155
+ "Group:","Group:"
156
+ "Help Us Keep Magento Healthy - Report All Bugs","Help Us Keep Magento Healthy - Report All Bugs"
157
+ "Home","Home"
158
+ "If your Magento instance is used for multiple websites, you must configure a separate Payflow Link account for each website.","If your Magento instance is used for multiple websites, you must configure a separate Payflow Link account for each website."
159
+ "Ignore","Ignore"
160
+ "Images","Images"
161
+ "Import","Import"
162
+ "Import Service","Import Service"
163
+ "Important: ","Important: "
164
+ "In Database:","In Database:"
165
+ "In File:","In File:"
166
+ "In Stock","In Stock"
167
+ "Inactive Tabs","Inactive Tabs"
168
+ "Incl. Tax","Incl. Tax"
169
+ "Include","Include"
170
+ "Interactive","Interactive"
171
+ "Interface Locale: %s","Interface Locale: %s"
172
+ "Invalid webservice adapter specified.","Invalid webservice adapter specified."
173
+ "Invalid webservice handler specified.","Invalid webservice handler specified."
174
+ "Invoice History","Invoice History"
175
+ "Invoice Totals","Invoice Totals"
176
+ "Is Closed","Is Closed"
177
+ "Issue Number","Issue Number"
178
+ "Issuer: %s","Issuer: %s"
179
+ "JavaScript/CSS","JavaScript/CSS"
180
+ "JavaScript/CSS Cache","JavaScript/CSS Cache"
181
+ "Last 5 Orders","Last 5 Orders"
182
+ "Last 5 Search Terms","Last 5 Search Terms"
183
+ "Last Logged In (%s):","Last Logged In (%s):"
184
+ "Last Logged In:","Last Logged In:"
185
+ "Last Name:","Last Name:"
186
+ "Latest Message:","Latest Message:"
187
+ "Leave empty to use tax identifier","Leave empty to use tax identifier"
188
+ "Links with associated products will retain only after saving current product.","Links with associated products will retain only after saving current product."
189
+ "Loading Preview...","Loading Preview..."
190
+ "Loading...","Loading..."
191
+ "Local Server","Local Server"
192
+ "Local/Remote Server","Local/Remote Server"
193
+ "Log In","Log In"
194
+ "Log Out","Log Out"
195
+ "Logged in as %s","Logged in as %s"
196
+ "MS Excel XML","MS Excel XML"
197
+ "Magento Core API","Magento Core API"
198
+ "Magento Core API Section","Magento Core API Section"
199
+ "Magento Logo","Magento Logo"
200
+ "Magento ver. %s","Magento ver. %s"
201
+ "Magento&trade; is a trademark of Magento Inc.<br/>Copyright &copy; %s Magento Inc.","Magento&trade; is a trademark of Magento Inc.<br/>Copyright &copy; %s Magento Inc."
202
+ "Main Tabs","Main Tabs"
203
+ "Make Inactive","Make Inactive"
204
+ "Make sure that data encoding in the file is consistent and saved in one of supported encodings (UTF-8 or ANSI).","Make sure that data encoding in the file is consistent and saved in one of supported encodings (UTF-8 or ANSI)."
205
+ "Make sure that you configure the design settings for the Payflow Link form in your Payflow link account.","Make sure that you configure the design settings for the Payflow Link form in your Payflow link account."
206
+ "Manage Stores","Manage Stores"
207
+ "Max","Max"
208
+ "Min","Min"
209
+ "More Tabs","More Tabs"
210
+ "N/A","N/A"
211
+ "Name","Name"
212
+ "Name on Card","Name on Card"
213
+ "Name on the Card: %s","Name on the Card: %s"
214
+ "Name:","Name:"
215
+ "Next month (hold for menu)","Next month (hold for menu)"
216
+ "Next page","Next page"
217
+ "Next year (hold for menu)","Next year (hold for menu)"
218
+ "No","No"
219
+ "No Data Found","No Data Found"
220
+ "No information available.","No information available."
221
+ "No profile loaded...","No profile loaded..."
222
+ "No search keywords.","No search keywords."
223
+ "None","None"
224
+ "Note:","Note:"
225
+ "Number of records:","Number of records:"
226
+ "Old rate:","Old rate:"
227
+ "On my website","On my website"
228
+ "Once you log into your Payflow Link account, navigate to the Service Settings - Hosted Checkout Pages - Set Up menu and set the options described below","Once you log into your Payflow Link account, navigate to the Service Settings - Hosted Checkout Pages - Set Up menu and set the options described below"
229
+ "Only custom theme can be deleted","Only custom theme can be deleted"
230
+ "Only default theme can be reset","Only default theme can be reset"
231
+ "Only mapped fields","Only mapped fields"
232
+ "Options menu items","Options menu items"
233
+ "Order ID","Order ID"
234
+ "Order cannot be placed.","Order cannot be placed."
235
+ "Original Magento attribute names in first row:","Original Magento attribute names in first row:"
236
+ "Out of stock","Out of stock"
237
+ "Package","Package"
238
+ "Packages","Packages"
239
+ "Page","Page"
240
+ "Parent Transaction ID","Parent Transaction ID"
241
+ "Passive mode","Passive mode"
242
+ "Password","Password"
243
+ "Path","Path"
244
+ "Path:","Path:"
245
+ "Personal Information","Personal Information"
246
+ "Phone:","Phone:"
247
+ "Please Select","Please Select"
248
+ "Please confirm site switching. All data that hasn\'t been saved will be lost.","Please confirm site switching. All data that hasn\'t been saved will be lost."
249
+ "Please continue with placing order.","Please continue with placing order."
250
+ "Please enter 6 or more characters.","Please enter 6 or more characters."
251
+ "Please enter a number greater than 0 in this field.","Please enter a number greater than 0 in this field."
252
+ "Please enter a valid $ amount. For example $100.00.","Please enter a valid $ amount. For example $100.00."
253
+ "Please enter a valid URL. For example http://www.example.com or www.example.com","Please enter a valid URL. For example http://www.example.com or www.example.com"
254
+ "Please enter a valid URL. http:// is required","Please enter a valid URL. http:// is required"
255
+ "Please enter a valid credit card number.","Please enter a valid credit card number."
256
+ "Please enter a valid date.","Please enter a valid date."
257
+ "Please enter a valid email address. For example johndoe@domain.com.","Please enter a valid email address. For example johndoe@domain.com."
258
+ "Please enter a valid number in this field.","Please enter a valid number in this field."
259
+ "Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.","Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890."
260
+ "Please enter a valid social security number. For example 123-45-6789.","Please enter a valid social security number. For example 123-45-6789."
261
+ "Please enter a valid value from list","Please enter a valid value from list"
262
+ "Please enter a valid value, ex: 10,20,30","Please enter a valid value, ex: 10,20,30"
263
+ "Please enter a valid zip code.","Please enter a valid zip code."
264
+ "Please enter a valid zip code. For example 90602 or 90602-1234.","Please enter a valid zip code. For example 90602 or 90602-1234."
265
+ "Please enter another credit card number to complete your purchase.","Please enter another credit card number to complete your purchase."
266
+ "Please enter valid password.","Please enter valid password."
267
+ "Please make sure that your changes were saved before running the profile.","Please make sure that your changes were saved before running the profile."
268
+ "Please make sure your passwords match.","Please make sure your passwords match."
269
+ "Please select State/Province.","Please select State/Province."
270
+ "Please select an option.","Please select an option."
271
+ "Please select one of the above options.","Please select one of the above options."
272
+ "Please select one of the options.","Please select one of the options."
273
+ "Please use in this field only ""a-z,0-9,_"".","Please use in this field only ""a-z,0-9,_""."
274
+ "Please use letters only (a-z) in this field.","Please use letters only (a-z) in this field."
275
+ "Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas.","Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas."
276
+ "Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.","Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed."
277
+ "Please use only letters (a-z) or numbers (0-9) or spaces and # only in this field.","Please use only letters (a-z) or numbers (0-9) or spaces and # only in this field."
278
+ "Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.","Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006."
279
+ "Please wait while the indexes are being refreshed.","Please wait while the indexes are being refreshed."
280
+ "Please wait, loading...","Please wait, loading..."
281
+ "Preset Theme","Preset Theme"
282
+ "Prev. month (hold for menu)","Prev. month (hold for menu)"
283
+ "Prev. year (hold for menu)","Prev. year (hold for menu)"
284
+ "Preview","Preview"
285
+ "Previous page","Previous page"
286
+ "Price:","Price:"
287
+ "Product Name3 ","Product Name3 "
288
+ "Product Name3 1","Product Name3 1"
289
+ "Product Name3 2","Product Name3 2"
290
+ "Products","Products"
291
+ "Profile Information","Profile Information"
292
+ "Qty:","Qty:"
293
+ "Read details","Read details"
294
+ "Reference ID","Reference ID"
295
+ "Regular Price:","Regular Price:"
296
+ "Remote FTP","Remote FTP"
297
+ "Remove","Remove"
298
+ "Required settings","Required settings"
299
+ "Reset theme to default","Reset theme to default"
300
+ "Resource Access","Resource Access"
301
+ "Resources","Resources"
302
+ "Return URL: ","Return URL: "
303
+ "Role Users","Role Users"
304
+ "Roles","Roles"
305
+ "Roles Resources","Roles Resources"
306
+ "SKU:","SKU:"
307
+ "SORT BY:","SORT BY:"
308
+ "Save","Save"
309
+ "Save As","Save As"
310
+ "Save Theme","Save Theme"
311
+ "Screens:","Screens:"
312
+ "Select All","Select All"
313
+ "Select Date","Select Date"
314
+ "Select Range","Select Range"
315
+ "Select Visible","Select Visible"
316
+ "Select date","Select date"
317
+ "Shipment Comments","Shipment Comments"
318
+ "Shipment History","Shipment History"
319
+ "Shipping Address","Shipping Address"
320
+ "Shipping address selection is not applicable","Shipping address selection is not applicable"
321
+ "Shipping method selection is not applicable","Shipping method selection is not applicable"
322
+ "Show By","Show By"
323
+ "Show Report For","Show Report For"
324
+ "Show confirmation page: ","Show confirmation page: "
325
+ "Silent Post URL:","Silent Post URL:"
326
+ "Some items in this order have different invoice and shipment types. You can create shipment only after the invoice is created.","Some items in this order have different invoice and shipment types. You can create shipment only after the invoice is created."
327
+ "Sort Order","Sort Order"
328
+ "Special Price:","Special Price:"
329
+ "Spreadsheet Name:","Spreadsheet Name:"
330
+ "Start Date","Start Date"
331
+ "Start/Reset Validation...","Start/Reset Validation..."
332
+ "Starting profile execution, please wait...","Starting profile execution, please wait..."
333
+ "State/Province:","State/Province:"
334
+ "Status","Status"
335
+ "Status:","Status:"
336
+ "Stock Quantity:","Stock Quantity:"
337
+ "Store:","Store:"
338
+ "Switch/Solo card issue number: %s","Switch/Solo card issue number: %s"
339
+ "Switch/Solo card start Date: %s/%s","Switch/Solo card start Date: %s/%s"
340
+ "Switch/Solo/Maestro Only","Switch/Solo/Maestro Only"
341
+ "Switch/Solo/Maestro(UK Domestic) Only","Switch/Solo/Maestro(UK Domestic) Only"
342
+ "Switch/Solo/Maestro(UK Domestic) card issue number: %s","Switch/Solo/Maestro(UK Domestic) card issue number: %s"
343
+ "Switch/Solo/Maestro(UK Domestic) card start Date: %s/%s","Switch/Solo/Maestro(UK Domestic) card start Date: %s/%s"
344
+ "Synchronization is required.","Synchronization is required."
345
+ "System busy","System busy"
346
+ "T-Shirts","T-Shirts"
347
+ "Target","Target"
348
+ "Tell a Friend","Tell a Friend"
349
+ "The card has failed verification with the issuer bank.","The card has failed verification with the issuer bank."
350
+ "The information in this tab has been changed.","The information in this tab has been changed."
351
+ "Theme configurations are successfully reset.","Theme configurations are successfully reset."
352
+ "Theme label can\'t be empty","Theme label can\'t be empty"
353
+ "Theme label:","Theme label:"
354
+ "There has been wrong payment information submitted or time limit has expired. Please, try again.","There has been wrong payment information submitted or time limit has expired. Please, try again."
355
+ "This is a demo store. Any orders placed through this store will not be honored or fulfilled.","This is a demo store. Any orders placed through this store will not be honored or fulfilled."
356
+ "This is a required field.","This is a required field."
357
+ "This tab contains invalid data. Please solve the problem before saving.","This tab contains invalid data. Please solve the problem before saving."
358
+ "Thumbnail","Thumbnail"
359
+ "Time selection:","Time selection:"
360
+ "Time:","Time:"
361
+ "Title bar","Title bar"
362
+ "To","To"
363
+ "To cancel pending authorizations and release amounts that have already been processed during this payment, click Cancel.","To cancel pending authorizations and release amounts that have already been processed during this payment, click Cancel."
364
+ "To use Payflow Link, you must configure your Payflow Link account on the Paypal website.","To use Payflow Link, you must configure your Payflow Link account on the Paypal website."
365
+ "Top 5 Search Terms","Top 5 Search Terms"
366
+ "Total %d records found","Total %d records found"
367
+ "Track Order","Track Order"
368
+ "Track this shipment","Track this shipment"
369
+ "Transaction Data","Transaction Data"
370
+ "Transaction Details","Transaction Details"
371
+ "Transaction ID","Transaction ID"
372
+ "Transaction Type","Transaction Type"
373
+ "Try Magento Go for Free","Try Magento Go for Free"
374
+ "Type","Type"
375
+ "Type:","Type:"
376
+ "Unable to login.","Unable to login."
377
+ "Unknown Error","Unknown Error"
378
+ "Unknown Error.","Unknown Error."
379
+ "Unselect All","Unselect All"
380
+ "Unselect Visible","Unselect Visible"
381
+ "Update Preview","Update Preview"
382
+ "Updated At","Updated At"
383
+ "Use Default Value","Use Default Value"
384
+ "Use Silent Post:","Use Silent Post:"
385
+ "User","User"
386
+ "User Name","User Name"
387
+ "User Roles","User Roles"
388
+ "User name","User name"
389
+ "Users","Users"
390
+ "Validation Results","Validation Results"
391
+ "Value Delimiter:","Value Delimiter:"
392
+ "Verification Failed","Verification Failed"
393
+ "Verification Successful","Verification Successful"
394
+ "Verification cannot be processed","Verification cannot be processed"
395
+ "View","View"
396
+ "View Details","View Details"
397
+ "View Gallery","View Gallery"
398
+ "View Statistics For","View Statistics For"
399
+ "Visibility:","Visibility:"
400
+ "WS-I Compliance","WS-I Compliance"
401
+ "Warning! Empty value can cause problems with CSV format.","Warning! Empty value can cause problems with CSV format."
402
+ "Warning!\r\nThis action will remove this user from already assigned role\r\nAre you sure?","Warning!\r\nThis action will remove this user from already assigned role\r\nAre you sure?"
403
+ "Warning!\r\nThis action will remove those users from already assigned roles\r\nAre you sure?","Warning!\r\nThis action will remove those users from already assigned roles\r\nAre you sure?"
404
+ "Warning: Please do not close the window during importing/exporting data","Warning: Please do not close the window during importing/exporting data"
405
+ "We detected that your JavaScript seem to be disabled.","We detected that your JavaScript seem to be disabled."
406
+ "Web Services","Web Services"
407
+ "What is this?","What is this?"
408
+ "Yes","Yes"
409
+ "You have %s unread message(s).","You have %s unread message(s)."
410
+ "You must have JavaScript enabled in your browser to utilize the functionality of this website.","You must have JavaScript enabled in your browser to utilize the functionality of this website."
411
+ "Your account has been deactivated.","Your account has been deactivated."
412
+ "Your server PHP settings allow you to upload files not more than %s at a time. Please modify post_max_size (currently is %s) and upload_max_filesize (currently is %s) values in php.ini if you want to upload larger files.","Your server PHP settings allow you to upload files not more than %s at a time. Please modify post_max_size (currently is %s) and upload_max_filesize (currently is %s) values in php.ini if you want to upload larger files."
413
+ "Zip/Postal Code:","Zip/Postal Code:"
414
+ "critical","critical"
415
+ "items selected","items selected"
416
+ "major","major"
417
+ "minor","minor"
418
+ "notice","notice"
419
+ "of %s pages","of %s pages"
420
+ "per page","per page"
421
+ "to","to"
app/locale/en_US/Mage_Authorizenet.csv ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "--Please Select--","--Please Select--"
2
+ "API Login ID","API Login ID"
3
+ "Accepted Currency","Accepted Currency"
4
+ "Authorize.net Direct Post","Authorize.net Direct Post"
5
+ "Card Verification Number","Card Verification Number"
6
+ "Card Verification Number Visual Reference","Card Verification Number Visual Reference"
7
+ "Close","Close"
8
+ "Credit Card Information","Credit Card Information"
9
+ "Credit Card Number","Credit Card Number"
10
+ "Credit Card Type","Credit Card Type"
11
+ "Credit Card Types","Credit Card Types"
12
+ "Credit Card Verification","Credit Card Verification"
13
+ "Debug","Debug"
14
+ "Email Customer","Email Customer"
15
+ "Enabled","Enabled"
16
+ "Expiration Date","Expiration Date"
17
+ "Gateway URL","Gateway URL"
18
+ "Maximum Order Total","Maximum Order Total"
19
+ "Merchant MD5","Merchant MD5"
20
+ "Merchant's Email","Merchant's Email"
21
+ "Minimum Order Total","Minimum Order Total"
22
+ "New Order Status","New Order Status"
23
+ "Order saving error: %s","Order saving error: %s"
24
+ "Payment Action","Payment Action"
25
+ "Payment authorization error.","Payment authorization error."
26
+ "Payment authorization error. Transacion id is empty.","Payment authorization error. Transacion id is empty."
27
+ "Payment error. Order was not found.","Payment error. Order was not found."
28
+ "Payment error. Paid amount doesn\'t match the order amount.","Payment error. Paid amount doesn\'t match the order amount."
29
+ "Payment from Applicable Countries","Payment from Applicable Countries"
30
+ "Payment from Specific Countries","Payment from Specific Countries"
31
+ "Please, choose payment method","Please, choose payment method"
32
+ "Response hash validation failed. Transaction declined.","Response hash validation failed. Transaction declined."
33
+ "Sort Order","Sort Order"
34
+ "Test Mode","Test Mode"
35
+ "The order has been created.","The order has been created."
36
+ "There was an error processing your order. Please contact us or try again later.","There was an error processing your order. Please contact us or try again later."
37
+ "Title","Title"
38
+ "Transaction Key","Transaction Key"
39
+ "What is this?","What is this?"
40
+ "You will be required to enter your payment details before you place an order.","You will be required to enter your payment details before you place an order."
app/locale/en_US/Mage_Backup.csv ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Action","Action"
2
+ "An error occurred while writing to the backup file ""%s"".","An error occurred while writing to the backup file ""%s""."
3
+ "Backup file ""%s"" cannot be read from or written to.","Backup file ""%s"" cannot be read from or written to."
4
+ "Backup file ""%s"" does not exist.","Backup file ""%s"" does not exist."
5
+ "Backup file does not exist.","Backup file does not exist."
6
+ "Backup file handler was unspecified.","Backup file handler was unspecified."
7
+ "Backup file path was not specified.","Backup file path was not specified."
8
+ "Backups","Backups"
9
+ "Cannot read backup file.","Cannot read backup file."
10
+ "Create Backup","Create Backup"
11
+ "DB","DB"
12
+ "Database was successfuly backed up.","Database was successfuly backed up."
13
+ "Download","Download"
14
+ "Size, Bytes","Size, Bytes"
15
+ "The file was compressed with Zlib, but this extension is not installed on server.","The file was compressed with Zlib, but this extension is not installed on server."
16
+ "Time","Time"
17
+ "Type","Type"
18
+ "Unable to create backup. Please, try again later.","Unable to create backup. Please, try again later."
19
+ "Wrong order of creation for new backup.","Wrong order of creation for new backup."
app/locale/en_US/Mage_Bundle.csv ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "* Required Fields","* Required Fields"
2
+ "-- Select --","-- Select --"
3
+ "Add New Option","Add New Option"
4
+ "Add Selection","Add Selection"
5
+ "As Low as","As Low as"
6
+ "As low as","As low as"
7
+ "Bundle Items","Bundle Items"
8
+ "Bundle Product","Bundle Product"
9
+ "Buy %1$s with %2$s discount each","Buy %1$s with %2$s discount each"
10
+ "Catalog Product View (Bundle)","Catalog Product View (Bundle)"
11
+ "Checkbox","Checkbox"
12
+ "Choose a selection...","Choose a selection..."
13
+ "Close","Close"
14
+ "Default","Default"
15
+ "Default Qty","Default Qty"
16
+ "Default Title","Default Title"
17
+ "Drop-down","Drop-down"
18
+ "Dynamic","Dynamic"
19
+ "Excl. Tax","Excl. Tax"
20
+ "Fixed","Fixed"
21
+ "From","From"
22
+ "From:","From:"
23
+ "Gift Message","Gift Message"
24
+ "Incl. Tax","Incl. Tax"
25
+ "Input Type","Input Type"
26
+ "Is Required","Is Required"
27
+ "Message:","Message:"
28
+ "Multiple Select","Multiple Select"
29
+ "N/A","N/A"
30
+ "No options of this product are available.","No options of this product are available."
31
+ "None","None"
32
+ "Percent","Percent"
33
+ "Percent Discount","Percent Discount"
34
+ "Please Select Products to Add","Please Select Products to Add"
35
+ "Please enter search conditions to view products.","Please enter search conditions to view products."
36
+ "Please select options for product.","Please select options for product."
37
+ "Please specify product option(s).","Please specify product option(s)."
38
+ "Position","Position"
39
+ "Price Range","Price Range"
40
+ "Price Type","Price Type"
41
+ "Price as configured","Price as configured"
42
+ "Qty:","Qty:"
43
+ "Radio Buttons","Radio Buttons"
44
+ "Required options are not selected.","Required options are not selected."
45
+ "Selected required options are not available.","Selected required options are not available."
46
+ "Separately","Separately"
47
+ "Ship Bundle Items","Ship Bundle Items"
48
+ "Shipment","Shipment"
49
+ "Store View Title","Store View Title"
50
+ "There is no defined renderer for ""%s"" option type.","There is no defined renderer for ""%s"" option type."
51
+ "This product is also part of bundle(s)","This product is also part of bundle(s)"
52
+ "To","To"
53
+ "To:","To:"
54
+ "Together","Together"
55
+ "Use Default Value","Use Default Value"
56
+ "User Defined Qty","User Defined Qty"
app/locale/en_US/Mage_Catalog.csv ADDED
@@ -0,0 +1,754 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "# of Use","# of Use"
2
+ "%1$s incl tax.","%1$s incl tax."
3
+ "%s - %s","%s - %s"
4
+ "%s Item(s)","%s Item(s)"
5
+ "(%d)","(%d)"
6
+ "(Copy data from: %s)","(Copy data from: %s)"
7
+ "(Will make search for the query above return results for this search.)","(Will make search for the query above return results for this search.)"
8
+ "* Required Fields","* Required Fields"
9
+ "-- Please Select --","-- Please Select --"
10
+ "86400 by default, if not set. To refresh instantly, Clear the Blocks HTML Output Cache.","86400 by default, if not set. To refresh instantly, Clear the Blocks HTML Output Cache."
11
+ "<strong style=""color:red"">Warning!</strong> Applying MAP by default will hide all product prices on the frontend.","<strong style=""color:red"">Warning!</strong> Applying MAP by default will hide all product prices on the frontend."
12
+ "A group with the same name already exists.","A group with the same name already exists."
13
+ "A name is required","A name is required"
14
+ "A product type is not defined for the indexer.","A product type is not defined for the indexer."
15
+ "ALL GROUPS","ALL GROUPS"
16
+ "AM","AM"
17
+ "Action","Action"
18
+ "Actual Price","Actual Price"
19
+ "Add Attribute","Add Attribute"
20
+ "Add Design Change","Add Design Change"
21
+ "Add Group","Add Group"
22
+ "Add New","Add New"
23
+ "Add New Attribute","Add New Attribute"
24
+ "Add New Attribute Set","Add New Attribute Set"
25
+ "Add New Group","Add New Group"
26
+ "Add New Images","Add New Images"
27
+ "Add New Option","Add New Option"
28
+ "Add New Row","Add New Row"
29
+ "Add New Search Term","Add New Search Term"
30
+ "Add New Set","Add New Set"
31
+ "Add Product","Add Product"
32
+ "Add Product To Websites","Add Product To Websites"
33
+ "Add Root Category","Add Root Category"
34
+ "Add Subcategory","Add Subcategory"
35
+ "Add Tax","Add Tax"
36
+ "Add Tier","Add Tier"
37
+ "Add to Cart","Add to Cart"
38
+ "Add to Compare","Add to Compare"
39
+ "Add to Wishlist","Add to Wishlist"
40
+ "Additional Information","Additional Information"
41
+ "Alert Urls","Alert Urls"
42
+ "All","All"
43
+ "All Product Types","All Product Types"
44
+ "All Websites","All Websites"
45
+ "All products of this set will be deleted! Are you sure you want to delete this attribute set?","All products of this set will be deleted! Are you sure you want to delete this attribute set?"
46
+ "Allow All Products per Page","Allow All Products per Page"
47
+ "Allow Dynamic Media URLs in Products and Categories","Allow Dynamic Media URLs in Products and Categories"
48
+ "Allow HTML Tags on Frontend","Allow HTML Tags on Frontend"
49
+ "Allowed File Extensions","Allowed File Extensions"
50
+ "Allowed file extensions to upload","Allowed file extensions to upload"
51
+ "An error occurred while adding products to websites.","An error occurred while adding products to websites."
52
+ "An error occurred while clearing comparison list.","An error occurred while clearing comparison list."
53
+ "An error occurred while removing products from websites.","An error occurred while removing products from websites."
54
+ "An error occurred while saving the URL rewrite","An error occurred while saving the URL rewrite"
55
+ "An error occurred while saving the attribute set.","An error occurred while saving the attribute set."
56
+ "An error occurred while saving the product. ","An error occurred while saving the product. "
57
+ "An error occurred while saving the search query.","An error occurred while saving the search query."
58
+ "An error occurred while saving this group.","An error occurred while saving this group."
59
+ "An error occurred while trying to delete the category.","An error occurred while trying to delete the category."
60
+ "An error occurred while updating the product(s) attributes.","An error occurred while updating the product(s) attributes."
61
+ "An error occurred while updating the product(s) status.","An error occurred while updating the product(s) status."
62
+ "An invalid group ID is specified, skipping the record.","An invalid group ID is specified, skipping the record."
63
+ "An invalid option ID is specified for %s (%s), skipping the record.","An invalid option ID is specified for %s (%s), skipping the record."
64
+ "An invalid store was specified.","An invalid store was specified."
65
+ "Anchor Custom Text","Anchor Custom Text"
66
+ "Anchor Custom Title","Anchor Custom Title"
67
+ "Applicable to catalog products and categories only. Any media content will be inserted into editor as a static URL. It is not updated if the system configuration base URL changes.","Applicable to catalog products and categories only. Any media content will be inserted into editor as a static URL. It is not updated if the system configuration base URL changes."
68
+ "Apply MAP (Default Value)","Apply MAP (Default Value)"
69
+ "Apply To","Apply To"
70
+ "Approved","Approved"
71
+ "Are you sure you want to delete this category?","Are you sure you want to delete this category?"
72
+ "Are you sure you would like to remove all products from your comparison?","Are you sure you would like to remove all products from your comparison?"
73
+ "Are you sure you would like to remove this item from the compare products?","Are you sure you would like to remove this item from the compare products?"
74
+ "Are you sure?","Are you sure?"
75
+ "As low as:","As low as:"
76
+ "Assign","Assign"
77
+ "Assign product link","Assign product link"
78
+ "Assign product to category","Assign product to category"
79
+ "Assigned Products","Assigned Products"
80
+ "Associated Products","Associated Products"
81
+ "Attrib. Set Name","Attrib. Set Name"
82
+ "Attribute ""%s"" is invalid.","Attribute ""%s"" is invalid."
83
+ "Attribute ""%s"" is required.","Attribute ""%s"" is required."
84
+ "Attribute Information","Attribute Information"
85
+ "Attribute Model","Attribute Model"
86
+ "Attribute Name:","Attribute Name:"
87
+ "Attribute Set","Attribute Set"
88
+ "Attribute group with the \"/name/\" name already exists","Attribute group with the \"/name/\" name already exists"
89
+ "Attribute with the same code already exists","Attribute with the same code already exists"
90
+ "Attributes","Attributes"
91
+ "Attrribute names can be specified per store.","Attrribute names can be specified per store."
92
+ "Autogenerate","Autogenerate"
93
+ "Availability:","Availability:"
94
+ "Back","Back"
95
+ "Backend Model","Backend Model"
96
+ "Backend Table","Backend Table"
97
+ "Backend Table Title","Backend Table Title"
98
+ "Backorders","Backorders"
99
+ "Based On","Based On"
100
+ "Before Order Confirmation","Before Order Confirmation"
101
+ "Best Value","Best Value"
102
+ "Block after Info Column","Block after Info Column"
103
+ "Bottom Block Options Wrapper","Bottom Block Options Wrapper"
104
+ "Bottom/Left","Bottom/Left"
105
+ "Bottom/Right","Bottom/Right"
106
+ "Browse By","Browse By"
107
+ "Bundle Items","Bundle Items"
108
+ "Buy %1$s","Buy %1$s"
109
+ "Buy %1$s for","Buy %1$s for"
110
+ "Buy %1$s for %2$s","Buy %1$s for %2$s"
111
+ "Buy %1$s for %2$s (%3$s incl. tax) each","Buy %1$s for %2$s (%3$s incl. tax) each"
112
+ "Buy %1$s for %2$s each","Buy %1$s for %2$s each"
113
+ "Buy %1$s with %2$s discount each","Buy %1$s with %2$s discount each"
114
+ "Cache Lifetime (Seconds)","Cache Lifetime (Seconds)"
115
+ "Cache refresh needed.","Cache refresh needed."
116
+ "Can be used only with catalog input type Dropdown","Can be used only with catalog input type Dropdown"
117
+ "Can be used only with catalog input type Dropdown, Multiple Select and Price","Can be used only with catalog input type Dropdown, Multiple Select and Price"
118
+ "Can\'t create image.","Can\'t create image."
119
+ "Cancel","Cancel"
120
+ "Cannot create image.","Cannot create image."
121
+ "Cannot create writeable directory '%s'.","Cannot create writeable directory '%s'."
122
+ "Cart Item Attribute","Cart Item Attribute"
123
+ "Catalog","Catalog"
124
+ "Catalog Category (Anchor)","Catalog Category (Anchor)"
125
+ "Catalog Category (Non-Anchor)","Catalog Category (Non-Anchor)"
126
+ "Catalog Category (Without Subcategories)","Catalog Category (Without Subcategories)"
127
+ "Catalog Category Link","Catalog Category Link"
128
+ "Catalog New Products List","Catalog New Products List"
129
+ "Catalog Price Scope","Catalog Price Scope"
130
+ "Catalog Product Compare List","Catalog Product Compare List"
131
+ "Catalog Product Email to a Friend","Catalog Product Email to a Friend"
132
+ "Catalog Product Image Gallery Popup","Catalog Product Image Gallery Popup"
133
+ "Catalog Product Link","Catalog Product Link"
134
+ "Catalog Product View (Any)","Catalog Product View (Any)"
135
+ "Catalog Product View (Configurable)","Catalog Product View (Configurable)"
136
+ "Catalog Product View (Grouped)","Catalog Product View (Grouped)"
137
+ "Catalog Product View (Simple)","Catalog Product View (Simple)"
138
+ "Catalog Product View (Virtual)","Catalog Product View (Virtual)"
139
+ "Catalog Section","Catalog Section"
140
+ "Catalog Seo Popular Search Terms","Catalog Seo Popular Search Terms"
141
+ "Catalog Seo Sitemap (Category List)","Catalog Seo Sitemap (Category List)"
142
+ "Catalog Seo Sitemap (Category Tree)","Catalog Seo Sitemap (Category Tree)"
143
+ "Catalog Seo Sitemap (Common)","Catalog Seo Sitemap (Common)"
144
+ "Catalog Seo Sitemap (Product List)","Catalog Seo Sitemap (Product List)"
145
+ "Catalog URL Rewrites","Catalog URL Rewrites"
146
+ "Catalog, Search","Catalog, Search"
147
+ "Categories","Categories"
148
+ "Categories Sitemap","Categories Sitemap"
149
+ "Category","Category"
150
+ "Category API","Category API"
151
+ "Category Data","Category Data"
152
+ "Category Flat Data","Category Flat Data"
153
+ "Category Link Block Template","Category Link Block Template"
154
+ "Category Link Inline Template","Category Link Inline Template"
155
+ "Category Products","Category Products"
156
+ "Category Top Navigation","Category Top Navigation"
157
+ "Category URL Suffix","Category URL Suffix"
158
+ "Category attributes API","Category attributes API"
159
+ "Category move error","Category move error"
160
+ "Category move operation is not possible: parent category is equal to child category.","Category move operation is not possible: parent category is equal to child category."
161
+ "Category move operation is not possible: the current category was not found.","Category move operation is not possible: the current category was not found."
162
+ "Category move operation is not possible: the new parent category was not found.","Category move operation is not possible: the new parent category was not found."
163
+ "Category must be an instance of Mage_Catalog_Model_Category.","Category must be an instance of Mage_Catalog_Model_Category."
164
+ "Center","Center"
165
+ "Change","Change"
166
+ "Change or Retrieve attribute store view","Change or Retrieve attribute store view"
167
+ "Change status","Change status"
168
+ "Check items to add to the cart or","Check items to add to the cart or"
169
+ "Choose an Option...","Choose an Option..."
170
+ "Clear All","Clear All"
171
+ "Click for price","Click for price"
172
+ "Close Window","Close Window"
173
+ "Collapse All","Collapse All"
174
+ "Comma-separated.","Comma-separated."
175
+ "Comparable","Comparable"
176
+ "Comparable on Front-end","Comparable on Front-end"
177
+ "Comparable on the Frontend","Comparable on the Frontend"
178
+ "Compare","Compare"
179
+ "Compare Products","Compare Products"
180
+ "Conditions Combination","Conditions Combination"
181
+ "Configurable Product","Configurable Product"
182
+ "Configurable Product Settings","Configurable Product Settings"
183
+ "Configure Product","Configure Product"
184
+ "Continue","Continue"
185
+ "Copy From Configurable","Copy From Configurable"
186
+ "Country/State","Country/State"
187
+ "Create","Create"
188
+ "Create (Upload)","Create (Upload)"
189
+ "Create Empty","Create Empty"
190
+ "Create Permanent Redirect for old URL","Create Permanent Redirect for old URL"
191
+ "Create Permanent Redirect for old URLs if Url key changed","Create Permanent Redirect for old URLs if Url key changed"
192
+ "Create Product Settings","Create Product Settings"
193
+ "Create Simple Associated Product","Create Simple Associated Product"
194
+ "Create new category","Create new category"
195
+ "Create new product","Create new product"
196
+ "Cross-sells","Cross-sells"
197
+ "Currently Shopping by:","Currently Shopping by:"
198
+ "Custom Design","Custom Design"
199
+ "Custom Options","Custom Options"
200
+ "Customer Group","Customer Group"
201
+ "Customers Reviews","Customers Reviews"
202
+ "Customers Tagged Product","Customers Tagged Product"
203
+ "Data Type for Saving in Database","Data Type for Saving in Database"
204
+ "Date & Time Custom Options","Date & Time Custom Options"
205
+ "Date Fields Order","Date Fields Order"
206
+ "Date Subscribed","Date Subscribed"
207
+ "Datetime","Datetime"
208
+ "Decimal","Decimal"
209
+ "Declare attribute value saving scope","Declare attribute value saving scope"
210
+ "Default ""What's This"" Text Message","Default ""What's This"" Text Message"
211
+ "Default Popup Text Message","Default Popup Text Message"
212
+ "Default Price","Default Price"
213
+ "Default Price Navigation Step","Default Price Navigation Step"
214
+ "Default Qty","Default Qty"
215
+ "Default Values","Default Values"
216
+ "Defines the base currency scope (""Currency Setup"" > ""Currency Options"" > ""Base Currency"").","Defines the base currency scope (""Currency Setup"" > ""Currency Options"" > ""Base Currency"")."
217
+ "Delete","Delete"
218
+ "Delete Attribute","Delete Attribute"
219
+ "Delete Attribute Set","Delete Attribute Set"
220
+ "Delete Category","Delete Category"
221
+ "Delete Option","Delete Option"
222
+ "Delete Row","Delete Row"
223
+ "Delete Search","Delete Search"
224
+ "Delete Selected Group","Delete Selected Group"
225
+ "Delete category","Delete category"
226
+ "Delete product","Delete product"
227
+ "Depends on design theme","Depends on design theme"
228
+ "Design","Design"
229
+ "Details","Details"
230
+ "Disabled","Disabled"
231
+ "Disallowed file type.","Disallowed file type."
232
+ "Display Actual Price","Display Actual Price"
233
+ "Display in Suggested Terms","Display in Suggested Terms"
234
+ "Double click on a group to rename it","Double click on a group to rename it"
235
+ "Double click on above image to view full picture","Double click on above image to view full picture"
236
+ "Downloadable Information","Downloadable Information"
237
+ "Duplicate","Duplicate"
238
+ "Duplicate website tier price customer group and quantity.","Duplicate website tier price customer group and quantity."
239
+ "Duplicate website, country and state tax found.","Duplicate website, country and state tax found."
240
+ "E.g. {{media url=""path/to/image.jpg""}} {{skin url=""path/to/picture.gif""}}. Dynamic directives parsing impacts catalog performance.","E.g. {{media url=""path/to/image.jpg""}} {{skin url=""path/to/picture.gif""}}. Dynamic directives parsing impacts catalog performance."
241
+ "Edit","Edit"
242
+ "Edit Attribute Set '%s'","Edit Attribute Set '%s'"
243
+ "Edit Product Attribute","Edit Product Attribute"
244
+ "Edit Product Attribute ""%s""","Edit Product Attribute ""%s"""
245
+ "Edit Search","Edit Search"
246
+ "Edit Search '%s'","Edit Search '%s'"
247
+ "Edit Set Name","Edit Set Name"
248
+ "Email","Email"
249
+ "Email to a Friend","Email to a Friend"
250
+ "Empty","Empty"
251
+ "Enable MAP","Enable MAP"
252
+ "Enable Qty Increments","Enable Qty Increments"
253
+ "Enable WYSIWYG","Enable WYSIWYG"
254
+ "Enabled","Enabled"
255
+ "Error during retrieval of option value: %s","Error during retrieval of option value: %s"
256
+ "Exclude","Exclude"
257
+ "Expand All","Expand All"
258
+ "Failed","Failed"
259
+ "Failed to copy file %s. Please, delete media with non-existing images and try again.","Failed to copy file %s. Please, delete media with non-existing images and try again."
260
+ "Failed to move file: %s","Failed to move file: %s"
261
+ "Feature Products","Feature Products"
262
+ "Field is not complete","Field is not complete"
263
+ "File options format is not valid.","File options format is not valid."
264
+ "File upload failed","File upload failed"
265
+ "Filter model name must be declared.","Filter model name must be declared."
266
+ "Filter must be an object. Please set correct filter.","Filter must be an object. Please set correct filter."
267
+ "Filterable (no results)","Filterable (no results)"
268
+ "Filterable (with results)","Filterable (with results)"
269
+ "First Name","First Name"
270
+ "Fixed","Fixed"
271
+ "For internal use.","For internal use."
272
+ "Frontend","Frontend"
273
+ "Frontend Model","Frontend Model"
274
+ "Frontend Properties","Frontend Properties"
275
+ "Gallery","Gallery"
276
+ "General Information","General Information"
277
+ "Get special price","Get special price"
278
+ "Global","Global"
279
+ "Globally Editable","Globally Editable"
280
+ "Go to Home Page","Go to Home Page"
281
+ "Grid","Grid"
282
+ "Grouped Product","Grouped Product"
283
+ "Groups","Groups"
284
+ "Home","Home"
285
+ "ID","ID"
286
+ "ID: %s","ID: %s"
287
+ "If empty, the Category Name will be used","If empty, the Category Name will be used"
288
+ "If empty, the Product Name will be used","If empty, the Product Name will be used"
289
+ "If you do not specify an option value for a specific store view then the default (Admin) value will be used.","If you do not specify an option value for a specific store view then the default (Admin) value will be used."
290
+ "Image","Image"
291
+ "Image content is not valid base64 data.","Image content is not valid base64 data."
292
+ "Image does not exist.","Image does not exist."
293
+ "Image file was not found.","Image file was not found."
294
+ "Image type and information need to be specified for each store view.","Image type and information need to be specified for each store view."
295
+ "In Cart","In Cart"
296
+ "In Stock","In Stock"
297
+ "In stock","In stock"
298
+ "Incl. Tax","Incl. Tax"
299
+ "Index product and categories URL rewrites","Index product and categories URL rewrites"
300
+ "Index product attributes for layered navigation building","Index product attributes for layered navigation building"
301
+ "Index product prices","Index product prices"
302
+ "Indexed category/products association","Indexed category/products association"
303
+ "Info Column Options Wrapper","Info Column Options Wrapper"
304
+ "Input Type","Input Type"
305
+ "Integer","Integer"
306
+ "Invalid Tier Prices","Invalid Tier Prices"
307
+ "Invalid attribute %s","Invalid attribute %s"
308
+ "Invalid attribute option specified for attribute %s (%s), skipping the record.","Invalid attribute option specified for attribute %s (%s), skipping the record."
309
+ "Invalid attribute set specified, skipping the record.","Invalid attribute set specified, skipping the record."
310
+ "Invalid block: %s.","Invalid block: %s."
311
+ "Invalid category IDs.","Invalid category IDs."
312
+ "Invalid category.","Invalid category."
313
+ "Invalid image file type.","Invalid image file type."
314
+ "Invalid image type.","Invalid image type."
315
+ "Invalid option ID specified for %s (%s), skipping the record.","Invalid option ID specified for %s (%s), skipping the record."
316
+ "Invalid product type specified, skipping the record.","Invalid product type specified, skipping the record."
317
+ "Invalid store specified","Invalid store specified"
318
+ "Invalid store specified, skipping the record.","Invalid store specified, skipping the record."
319
+ "Invalid tier prices. The product is not associated to the requested website.","Invalid tier prices. The product is not associated to the requested website."
320
+ "Inventory","Inventory"
321
+ "Is Default","Is Default"
322
+ "Is Required","Is Required"
323
+ "Items %s to %s of %s total","Items %s to %s of %s total"
324
+ "Items that you do not want to show in the catalog or search results should have status 'Disabled' in the desired store.","Items that you do not want to show in the catalog or search results should have status 'Disabled' in the desired store."
325
+ "Items that you don't want to show in the catalog or search results should have status 'Disabled' in the desired store.","Items that you don't want to show in the catalog or search results should have status 'Disabled' in the desired store."
326
+ "Keep your eyes open for our special Back to School items and save A LOT!","Keep your eyes open for our special Back to School items and save A LOT!"
327
+ "Label","Label"
328
+ "Last Name","Last Name"
329
+ "Last Notification","Last Notification"
330
+ "Layered Navigation","Layered Navigation"
331
+ "Learn More","Learn More"
332
+ "Line %d, Email: %s","Line %d, Email: %s"
333
+ "Line %d, SKU: %s","Line %d, SKU: %s"
334
+ "Link (Related, Up sell, Cross sell)","Link (Related, Up sell, Cross sell)"
335
+ "Link product does not exist.","Link product does not exist."
336
+ "Link to a Specified Category","Link to a Specified Category"
337
+ "Link to a Specified Product","Link to a Specified Product"
338
+ "List","List"
339
+ "List Mode","List Mode"
340
+ "List of Products that are set as New","List of Products that are set as New"
341
+ "Manage Attribute Sets","Manage Attribute Sets"
342
+ "Manage Attributes","Manage Attributes"
343
+ "Manage Catalog Categories","Manage Catalog Categories"
344
+ "Manage Categories","Manage Categories"
345
+ "Manage Label / Options","Manage Label / Options"
346
+ "Manage Options (values of your attribute)","Manage Options (values of your attribute)"
347
+ "Manage Product Attributes","Manage Product Attributes"
348
+ "Manage Product Sets","Manage Product Sets"
349
+ "Manage Products","Manage Products"
350
+ "Manage Stock","Manage Stock"
351
+ "Manage Titles (Size, Color, etc.)","Manage Titles (Size, Color, etc.)"
352
+ "Max Characters","Max Characters"
353
+ "Maximal Depth","Maximal Depth"
354
+ "Maximum Image Size","Maximum Image Size"
355
+ "Maximum Qty Allowed in Shopping Cart","Maximum Qty Allowed in Shopping Cart"
356
+ "Maximum image height","Maximum image height"
357
+ "Maximum image width","Maximum image width"
358
+ "Maximum number of characters:","Maximum number of characters:"
359
+ "Media Image","Media Image"
360
+ "Minimum Advertised Price","Minimum Advertised Price"
361
+ "Minimum Lines per Page","Minimum Lines per Page"
362
+ "Minimum Qty Allowed in Shopping Cart","Minimum Qty Allowed in Shopping Cart"
363
+ "Minimum Qty for Item\'s Status to be Out of Stock","Minimum Qty for Item\'s Status to be Out of Stock"
364
+ "Missing SKU, skipping the record.","Missing SKU, skipping the record."
365
+ "More Views","More Views"
366
+ "Move","Move"
367
+ "Move category in tree","Move category in tree"
368
+ "Must be in the allowed values list.","Must be in the allowed values list."
369
+ "N/A","N/A"
370
+ "Name","Name"
371
+ "Name in %s","Name in %s"
372
+ "New Product","New Product"
373
+ "New Product Attribute","New Product Attribute"
374
+ "New Products","New Products"
375
+ "New Products Grid Template","New Products Grid Template"
376
+ "New Products List Template","New Products List Template"
377
+ "New Root Category","New Root Category"
378
+ "New Search","New Search"
379
+ "New Set Name","New Set Name"
380
+ "New Subcategory","New Subcategory"
381
+ "Next","Next"
382
+ "No","No"
383
+ "No image","No image"
384
+ "No layout updates","No layout updates"
385
+ "No options of this product are available.","No options of this product are available."
386
+ "No product collections found.","No product collections found."
387
+ "None","None"
388
+ "Not Visible Individually","Not Visible Individually"
389
+ "Notify Low Stock RSS","Notify Low Stock RSS"
390
+ "Notify for Quantity Below","Notify for Quantity Below"
391
+ "Number of Products to Display","Number of Products to Display"
392
+ "Number of Uses","Number of Uses"
393
+ "Number of results<br/>(For the last time placed)","Number of results<br/>(For the last time placed)"
394
+ "OK","OK"
395
+ "OR","OR"
396
+ "Old Price:","Old Price:"
397
+ "On Gesture","On Gesture"
398
+ "Option validation failed to add product to cart.","Option validation failed to add product to cart."
399
+ "Option:","Option:"
400
+ "Options Control","Options Control"
401
+ "Options is required","Options is required"
402
+ "Our customer service is available 24/7. Call us at (555) 555-0123.","Our customer service is available 24/7. Call us at (555) 555-0123."
403
+ "Out of Stock","Out of Stock"
404
+ "Out of stock","Out of stock"
405
+ "PM","PM"
406
+ "Page Title Separator","Page Title Separator"
407
+ "Parent Category","Parent Category"
408
+ "Pending","Pending"
409
+ "Pending Reviews RSS","Pending Reviews RSS"
410
+ "Percentage","Percentage"
411
+ "Please add rows to option.","Please add rows to option."
412
+ "Please be careful as once you click on the row it will load package data form the selected file and all unsaved form data will be lost.","Please be careful as once you click on the row it will load package data form the selected file and all unsaved form data will be lost."
413
+ "Please click on the Close Window button if it is not closed automatically.","Please click on the Close Window button if it is not closed automatically."
414
+ "Please enter a new group name","Please enter a new group name"
415
+ "Please refresh ""Catalog URL Rewrites"" and ""Product Attributes"" in System -> <a href=""%s"">Index Management</a>","Please refresh ""Catalog URL Rewrites"" and ""Product Attributes"" in System -> <a href=""%s"">Index Management</a>"
416
+ "Please select a static block ...","Please select a static block ..."
417
+ "Please select items.","Please select items."
418
+ "Please select one or more attributes.","Please select one or more attributes."
419
+ "Please select product(s).","Please select product(s)."
420
+ "Please select products for attributes update","Please select products for attributes update"
421
+ "Please specify date required option(s).","Please specify date required option(s)."
422
+ "Please specify the product required option(s)","Please specify the product required option(s)"
423
+ "Please specify the product required option(s).","Please specify the product required option(s)."
424
+ "Please specify the product\'s option(s).","Please specify the product\'s option(s)."
425
+ "Please specify the product\'s required option(s).","Please specify the product\'s required option(s)."
426
+ "Please specify the quantity of product(s).","Please specify the quantity of product(s)."
427
+ "Please specify time required option(s).","Please specify time required option(s)."
428
+ "Please wait...","Please wait..."
429
+ "Position","Position"
430
+ "Position in Layered Navigation","Position in Layered Navigation"
431
+ "Position of attribute in layered navigation block","Position of attribute in layered navigation block"
432
+ "Prev","Prev"
433
+ "Price","Price"
434
+ "Price Navigation Step Calculation","Price Navigation Step Calculation"
435
+ "Price Type","Price Type"
436
+ "Price is not available","Price is not available"
437
+ "Price values for options should be specified in system base currency.","Price values for options should be specified in system base currency."
438
+ "Price:","Price:"
439
+ "Price: %s","Price: %s"
440
+ "Print This Page","Print This Page"
441
+ "Product","Product"
442
+ "Product API","Product API"
443
+ "Product Alerts","Product Alerts"
444
+ "Product Attribute","Product Attribute"
445
+ "Product Attributes","Product Attributes"
446
+ "Product Categories","Product Categories"
447
+ "Product Description","Product Description"
448
+ "Product Extra Info","Product Extra Info"
449
+ "Product Flat Data","Product Flat Data"
450
+ "Product ID","Product ID"
451
+ "Product Image Placeholders","Product Image Placeholders"
452
+ "Product Image Watermarks","Product Image Watermarks"
453
+ "Product Images","Product Images"
454
+ "Product Images API","Product Images API"
455
+ "Product In Websites","Product In Websites"
456
+ "Product Info Column","Product Info Column"
457
+ "Product Information","Product Information"
458
+ "Product Link Block Template","Product Link Block Template"
459
+ "Product Link Inline Template","Product Link Inline Template"
460
+ "Product Listing Sort by","Product Listing Sort by"
461
+ "Product Name","Product Name"
462
+ "Product Prices","Product Prices"
463
+ "Product Reviews","Product Reviews"
464
+ "Product Tags","Product Tags"
465
+ "Product Tier Price API","Product Tier Price API"
466
+ "Product Type","Product Type"
467
+ "Product URL Suffix","Product URL Suffix"
468
+ "Product View Extra Hint","Product View Extra Hint"
469
+ "Product attribute sets API","Product attribute sets API"
470
+ "Product attributes API","Product attributes API"
471
+ "Product collection expected.","Product collection expected."
472
+ "Product is not loaded","Product is not loaded"
473
+ "Product links API (related, cross sells, up sells)","Product links API (related, cross sells, up sells)"
474
+ "Product name","Product name"
475
+ "Product types API","Product types API"
476
+ "Product with this combination of attributes already associated to configurable.","Product with this combination of attributes already associated to configurable."
477
+ "Products","Products"
478
+ "Products Comparison List","Products Comparison List"
479
+ "Products Information","Products Information"
480
+ "Products Reviews","Products Reviews"
481
+ "Products Sitemap","Products Sitemap"
482
+ "Products only","Products only"
483
+ "Products per Page on Grid Allowed Values","Products per Page on Grid Allowed Values"
484
+ "Products per Page on Grid Default Value","Products per Page on Grid Default Value"
485
+ "Products per Page on List Allowed Values","Products per Page on List Allowed Values"
486
+ "Products per Page on List Default Value","Products per Page on List Default Value"
487
+ "Properties","Properties"
488
+ "Qty","Qty"
489
+ "Qty Increments","Qty Increments"
490
+ "Qty Uses Decimals","Qty Uses Decimals"
491
+ "Qty for Item\'s Status to become Out of Stock","Qty for Item\'s Status to become Out of Stock"
492
+ "Qty:","Qty:"
493
+ "Quantity","Quantity"
494
+ "Quick Create","Quick Create"
495
+ "Quick Overview","Quick Overview"
496
+ "Quick simple product creation","Quick simple product creation"
497
+ "Records for ""","Records for """
498
+ "Redirect","Redirect"
499
+ "Redirect URL","Redirect URL"
500
+ "Regular Price:","Regular Price:"
501
+ "Related Products","Related Products"
502
+ "Remove","Remove"
503
+ "Remove Product From Websites","Remove Product From Websites"
504
+ "Remove This Item","Remove This Item"
505
+ "Remove product assignment","Remove product assignment"
506
+ "Remove product image","Remove product image"
507
+ "Remove product link","Remove product link"
508
+ "Reorganize EAV category structure to flat structure","Reorganize EAV category structure to flat structure"
509
+ "Reorganize EAV product structure to flat structure","Reorganize EAV product structure to flat structure"
510
+ "Reset","Reset"
511
+ "Results","Results"
512
+ "Retrieve attribute data","Retrieve attribute data"
513
+ "Retrieve attribute list","Retrieve attribute list"
514
+ "Retrieve attribute options","Retrieve attribute options"
515
+ "Retrieve categories tree","Retrieve categories tree"
516
+ "Retrieve category attributes","Retrieve category attributes"
517
+ "Retrieve category data","Retrieve category data"
518
+ "Retrieve hierarchical tree","Retrieve hierarchical tree"
519
+ "Retrieve linked products","Retrieve linked products"
520
+ "Retrieve list of assigned products","Retrieve list of assigned products"
521
+ "Retrieve one level of categories by website/store view/parent category","Retrieve one level of categories by website/store view/parent category"
522
+ "Retrieve product","Retrieve product"
523
+ "Retrieve product attribute sets","Retrieve product attribute sets"
524
+ "Retrieve product image","Retrieve product image"
525
+ "Retrieve product image list","Retrieve product image list"
526
+ "Retrieve product image types","Retrieve product image types"
527
+ "Retrieve product link type attributes","Retrieve product link type attributes"
528
+ "Retrieve product link types","Retrieve product link types"
529
+ "Retrieve product tier prices","Retrieve product tier prices"
530
+ "Retrieve product types","Retrieve product types"
531
+ "Retrieve products data","Retrieve products data"
532
+ "Retrieve products list by filters","Retrieve products list by filters"
533
+ "Reviews","Reviews"
534
+ "Roll Over for preview","Roll Over for preview"
535
+ "Root","Root"
536
+ "SKU","SKU"
537
+ "SKU length should be %s characters maximum.","SKU length should be %s characters maximum."
538
+ "Save","Save"
539
+ "Save Attribute","Save Attribute"
540
+ "Save Attribute Set","Save Attribute Set"
541
+ "Save Category","Save Category"
542
+ "Save Search","Save Search"
543
+ "Save and Continue Edit","Save and Continue Edit"
544
+ "Saved %d record(s)","Saved %d record(s)"
545
+ "Scope","Scope"
546
+ "Scope must not be changed, because the attribute is used in configurable products.","Scope must not be changed, because the attribute is used in configurable products."
547
+ "Search","Search"
548
+ "Search Engine Optimizations","Search Engine Optimizations"
549
+ "Search Information","Search Information"
550
+ "Search Query","Search Query"
551
+ "Search Term with such search query already exists.","Search Term with such search query already exists."
552
+ "Searchable","Searchable"
553
+ "See price before order confirmation.","See price before order confirmation."
554
+ "Select Category...","Select Category..."
555
+ "Select Configurable Attributes ","Select Configurable Attributes "
556
+ "Select Product...","Select Product..."
557
+ "Select type of option","Select type of option"
558
+ "Select type options required values rows.","Select type options required values rows."
559
+ "Selected Product Types","Selected Product Types"
560
+ "Selected configuration is not available.","Selected configuration is not available."
561
+ "Send Count","Send Count"
562
+ "Set Ascending Direction","Set Ascending Direction"
563
+ "Set Descending Direction","Set Descending Direction"
564
+ "Set Name","Set Name"
565
+ "Set Root Category for Store","Set Root Category for Store"
566
+ "Set root category for this store in the <a href=""%s"">configuration</a>","Set root category for this store in the <a href=""%s"">configuration</a>"
567
+ "Set special price","Set special price"
568
+ "Set/Get current store view","Set/Get current store view"
569
+ "Settings","Settings"
570
+ "Shop By","Shop By"
571
+ "Shopping Options","Shopping Options"
572
+ "Show","Show"
573
+ "Show Details","Show Details"
574
+ "Show Tags","Show Tags"
575
+ "Simple Product","Simple Product"
576
+ "Site Map","Site Map"
577
+ "Sitemap","Sitemap"
578
+ "Skip import row, required field ""%s"" for the new customer is not defined.","Skip import row, required field ""%s"" for the new customer is not defined."
579
+ "Skipping import row, required field ""%s"" is not defined.","Skipping import row, required field ""%s"" is not defined."
580
+ "Skipping import row, the value ""%s"" is not valid for the ""%s"" field.","Skipping import row, the value ""%s"" is not valid for the ""%s"" field."
581
+ "Some of the processed products have no SKU value defined. Please fill it prior to performing operations on these products.","Some of the processed products have no SKU value defined. Please fill it prior to performing operations on these products."
582
+ "Some of the products below do not have all the required options. Please edit them and configure all the required options.","Some of the products below do not have all the required options. Please edit them and configure all the required options."
583
+ "Sort By","Sort By"
584
+ "Sort Order","Sort Order"
585
+ "Source Model","Source Model"
586
+ "Special Expires On: %s","Special Expires On: %s"
587
+ "Special Price:","Special Price:"
588
+ "Special Price: %s","Special Price: %s"
589
+ "Starting at:","Starting at:"
590
+ "Static","Static"
591
+ "Static block and products","Static block and products"
592
+ "Static block only","Static block only"
593
+ "Status","Status"
594
+ "Stock Availability","Stock Availability"
595
+ "Store","Store"
596
+ "Store View","Store View"
597
+ "Stretch","Stretch"
598
+ "Subscribe to RSS Feed","Subscribe to RSS Feed"
599
+ "Super product attributes configuration","Super product attributes configuration"
600
+ "Synonym For","Synonym For"
601
+ "System Properties","System Properties"
602
+ "Tag Name","Tag Name"
603
+ "Tax","Tax"
604
+ "Template","Template"
605
+ "Text","Text"
606
+ "The Flat Catalog module has a limit of %2\$d filterable and/or sortable attributes. Currently there are %1\$d of them. Please reduce the number of filterable/sortable attributes in order to use this module","The Flat Catalog module has a limit of %2\$d filterable and/or sortable attributes. Currently there are %1\$d of them. Please reduce the number of filterable/sortable attributes in order to use this module"
607
+ "The attribute model is not defined","The attribute model is not defined"
608
+ "The attribute set has been saved.","The attribute set has been saved."
609
+ "The base directory to upload file is not specified.","The base directory to upload file is not specified."
610
+ "The category has been deleted.","The category has been deleted."
611
+ "The category has been saved.","The category has been saved."
612
+ "The comparison list was cleared.","The comparison list was cleared."
613
+ "The file you uploaded is larger than %s Megabytes allowed by server","The file you uploaded is larger than %s Megabytes allowed by server"
614
+ "The filters must be an array.","The filters must be an array."
615
+ "The image contents is not valid base64 data.","The image contents is not valid base64 data."
616
+ "The image is not specified.","The image is not specified."
617
+ "The model collection resource name is not defined.","The model collection resource name is not defined."
618
+ "The product %s has been added to comparison list.","The product %s has been added to comparison list."
619
+ "The product %s has been removed from comparison list.","The product %s has been removed from comparison list."
620
+ "The product attribute has been deleted.","The product attribute has been deleted."
621
+ "The product attribute has been saved.","The product attribute has been saved."
622
+ "The product has been created.","The product has been created."
623
+ "The product has been deleted.","The product has been deleted."
624
+ "The product has been duplicated.","The product has been duplicated."
625
+ "The product has been saved.","The product has been saved."
626
+ "The product has required options","The product has required options"
627
+ "The review has been deleted","The review has been deleted"
628
+ "The review has been saved.","The review has been saved."
629
+ "The review was removed by another user or does not exist.","The review was removed by another user or does not exist."
630
+ "The search was deleted.","The search was deleted."
631
+ "The text is too long","The text is too long"
632
+ "There are no %s available.","There are no %s available."
633
+ "There are no customers for this alert","There are no customers for this alert"
634
+ "There are no customers for this alert.","There are no customers for this alert."
635
+ "There are no products matching the selection.","There are no products matching the selection."
636
+ "There was an error while request processing.","There was an error while request processing."
637
+ "This Attribute no longer exists","This Attribute no longer exists"
638
+ "This attribute cannot be deleted.","This attribute cannot be deleted."
639
+ "This attribute cannot be edited.","This attribute cannot be edited."
640
+ "This attribute cannot be updated.","This attribute cannot be updated."
641
+ "This attribute is used in configurable products.","This attribute is used in configurable products."
642
+ "This attribute is used in configurable products. You cannot remove it from the attribute set.","This attribute is used in configurable products. You cannot remove it from the attribute set."
643
+ "This attribute no longer exists","This attribute no longer exists"
644
+ "This attribute set no longer exists.","This attribute set no longer exists."
645
+ "This group contains attributes, used in configurable products. Please move these attributes to another group and try again.","This group contains attributes, used in configurable products. Please move these attributes to another group and try again."
646
+ "This group contains system attributes. Please move system attributes to another group and try again.","This group contains system attributes. Please move system attributes to another group and try again."
647
+ "This is a required option","This is a required option"
648
+ "This product no longer exists.","This product no longer exists."
649
+ "This search no longer exists.","This search no longer exists."
650
+ "Tier Pricing","Tier Pricing"
651
+ "Tile","Tile"
652
+ "Time Format","Time Format"
653
+ "Title","Title"
654
+ "To reindex the enabled product(s), the store or product must be specified","To reindex the enabled product(s), the store or product must be specified"
655
+ "To see product price, add this item to your cart. You can always remove it later.","To see product price, add this item to your cart. You can always remove it later."
656
+ "Top/Left","Top/Left"
657
+ "Top/Right","Top/Right"
658
+ "Total Qty Base Items","Total Qty Base Items"
659
+ "Total incl. Tax: %1$s","Total incl. Tax: %1$s"
660
+ "Total of %d record(s) have been deleted.","Total of %d record(s) have been deleted."
661
+ "Total of %d record(s) have been updated.","Total of %d record(s) have been updated."
662
+ "Type","Type"
663
+ "URL Rewrite Management","URL Rewrite Management"
664
+ "Unable to complete this request.","Unable to complete this request."
665
+ "Unable to find a search term to delete.","Unable to find a search term to delete."
666
+ "Unable to find an attribute to delete.","Unable to find an attribute to delete."
667
+ "Unable to get the product ID.","Unable to get the product ID."
668
+ "Unassigned Attributes","Unassigned Attributes"
669
+ "Unknown EAV indexer type ""%s"".","Unknown EAV indexer type ""%s""."
670
+ "Unknown attribute: %s.","Unknown attribute: %s."
671
+ "Unsupported product type ""%s"".","Unsupported product type ""%s""."
672
+ "Up-sells","Up-sells"
673
+ "Update","Update"
674
+ "Update Attributes","Update Attributes"
675
+ "Update Tier Price","Update Tier Price"
676
+ "Update assigned product","Update assigned product"
677
+ "Update attributes","Update attributes"
678
+ "Update category","Update category"
679
+ "Update product","Update product"
680
+ "Update product image","Update product image"
681
+ "Update product link","Update product link"
682
+ "Update product tier prices","Update product tier prices"
683
+ "Upload new product image ","Upload new product image "
684
+ "Url Rewrite Management","Url Rewrite Management"
685
+ "Use Canonical Link Meta Tag For Categories","Use Canonical Link Meta Tag For Categories"
686
+ "Use Canonical Link Meta Tag For Products","Use Canonical Link Meta Tag For Products"
687
+ "Use Categories Path for Product URLs","Use Categories Path for Product URLs"
688
+ "Use Config Settings","Use Config Settings"
689
+ "Use Default Value","Use Default Value"
690
+ "Use Flat Catalog Category","Use Flat Catalog Category"
691
+ "Use Flat Catalog Product","Use Flat Catalog Product"
692
+ "Use In Layered Navigation","Use In Layered Navigation"
693
+ "Use In Search Results Layered Navigation","Use In Search Results Layered Navigation"
694
+ "Use JavaScript Calendar","Use JavaScript Calendar"
695
+ "Use Static URLs for Media Content in WYSIWYG for Catalog","Use Static URLs for Media Content in WYSIWYG for Catalog"
696
+ "Use To Create Configurable Product","Use To Create Configurable Product"
697
+ "Use Tree Like Category Sitemap","Use Tree Like Category Sitemap"
698
+ "Use config","Use config"
699
+ "Use default","Use default"
700
+ "Use for Promo Rule Conditions","Use for Promo Rule Conditions"
701
+ "Use four-digit year format.","Use four-digit year format."
702
+ "Use in Advanced Search","Use in Advanced Search"
703
+ "Use in Layered Navigation","Use in Layered Navigation"
704
+ "Use in Layered Navigation<br/>(Can be used only with catalog input type 'Dropdown')","Use in Layered Navigation<br/>(Can be used only with catalog input type 'Dropdown')"
705
+ "Use in Quick Search","Use in Quick Search"
706
+ "Used for Sorting in Product Listing","Used for Sorting in Product Listing"
707
+ "Used in Product Listing","Used in Product Listing"
708
+ "Value for ""%s"" is invalid.","Value for ""%s"" is invalid."
709
+ "Value for ""%s"" is invalid: %s","Value for ""%s"" is invalid: %s"
710
+ "Varchar","Varchar"
711
+ "View as","View as"
712
+ "Virtual Product","Virtual Product"
713
+ "Visibility","Visibility"
714
+ "Visible","Visible"
715
+ "Visible on Catalog Pages on Front-end","Visible on Catalog Pages on Front-end"
716
+ "Visible on Product View Page on Front-end","Visible on Product View Page on Front-end"
717
+ "WYSIWYG Editor","WYSIWYG Editor"
718
+ "Watermark","Watermark"
719
+ "Watermark Default Size","Watermark Default Size"
720
+ "Watermark Opacity, Percent","Watermark Opacity, Percent"
721
+ "Watermark Position","Watermark Position"
722
+ "We Also Recommend","We Also Recommend"
723
+ "Website","Website"
724
+ "Websites","Websites"
725
+ "What's this?","What's this?"
726
+ "Whether to show ""All"" option in the ""Show X Per Page"" dropdown.","Whether to show ""All"" option in the ""Show X Per Page"" dropdown."
727
+ "Wrong BuyRequest instance in options group.","Wrong BuyRequest instance in options group."
728
+ "Wrong configuration item instance in options group.","Wrong configuration item instance in options group."
729
+ "Wrong configuration item option instance in options group.","Wrong configuration item option instance in options group."
730
+ "Wrong option instance type in options group.","Wrong option instance type in options group."
731
+ "Wrong option type to get group instance.","Wrong option type to get group instance."
732
+ "Wrong product instance type in options group.","Wrong product instance type in options group."
733
+ "Wrong product type filter specified","Wrong product type filter specified"
734
+ "Wrong product type to extract configurable options.","Wrong product type to extract configurable options."
735
+ "Year Range","Year Range"
736
+ "Yes","Yes"
737
+ "You cannot remove system attribute from this set.","You cannot remove system attribute from this set."
738
+ "You have no items to compare.","You have no items to compare."
739
+ "You may also be interested in the following product(s)","You may also be interested in the following product(s)"
740
+ "Zoom In","Zoom In"
741
+ "Zoom Out","Zoom Out"
742
+ "[GLOBAL]","[GLOBAL]"
743
+ "and","and"
744
+ "categories","categories"
745
+ "each","each"
746
+ "ex. http://domain.com","ex. http://domain.com"
747
+ "leave blank if its not an image","leave blank if its not an image"
748
+ "per page","per page"
749
+ "products","products"
750
+ "px.","px."
751
+ "save","save"
752
+ "select all","select all"
753
+ "unselect all","unselect all"
754
+ "x","x"
app/locale/en_US/Mage_CatalogInventory.csv ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "%s is available for purchase in increments of %s only.","%s is available for purchase in increments of %s only."
2
+ "%s is not a correct comparsion method.","%s is not a correct comparsion method."
3
+ "<strong>Note</strong> that these settings are applicable to cart line items, not the whole cart.","<strong>Note</strong> that these settings are applicable to cart line items, not the whole cart."
4
+ "Add Minimum Qty","Add Minimum Qty"
5
+ "Allow Qty Below 0","Allow Qty Below 0"
6
+ "Allow Qty Below 0 and Notify Customer","Allow Qty Below 0 and Notify Customer"
7
+ "Automatically Return Credit Memo Item to Stock","Automatically Return Credit Memo Item to Stock"
8
+ "Backorders","Backorders"
9
+ "By Fixed value","By Fixed value"
10
+ "By Percentage","By Percentage"
11
+ "Cannot specify product identifier for the order item.","Cannot specify product identifier for the order item."
12
+ "Catalog Inventory","Catalog Inventory"
13
+ "Decrease Stock When Order is Placed","Decrease Stock When Order is Placed"
14
+ "Enable Qty Increments","Enable Qty Increments"
15
+ "In Stock","In Stock"
16
+ "Index Product Stock Status","Index Product Stock Status"
17
+ "Inventory","Inventory"
18
+ "Inventory API","Inventory API"
19
+ "Inventory Section","Inventory Section"
20
+ "Manage Stock","Manage Stock"
21
+ "Maximum Qty Allowed in Shopping Cart","Maximum Qty Allowed in Shopping Cart"
22
+ "Minimum Qty","Minimum Qty"
23
+ "Minimum Qty Allowed in Shopping Cart","Minimum Qty Allowed in Shopping Cart"
24
+ "No Backorders","No Backorders"
25
+ "Not all products are available in the requested quantity","Not all products are available in the requested quantity"
26
+ "Notify for Quantity Below","Notify for Quantity Below"
27
+ "Only X left Threshold","Only X left Threshold"
28
+ "Out of Stock","Out of Stock"
29
+ "Product Stock Options","Product Stock Options"
30
+ "Qty Increments","Qty Increments"
31
+ "Qty for Items' Status to Become Out of Stock","Qty for Items' Status to Become Out of Stock"
32
+ "Retrieve stock data","Retrieve stock data"
33
+ "Retrieve stock data by product ids","Retrieve stock data by product ids"
34
+ "Rule price","Rule price"
35
+ "Set Items' Status to be In Stock When Order is Cancelled","Set Items' Status to be In Stock When Order is Cancelled"
36
+ "Some of the products cannot be ordered in the requested quantity.","Some of the products cannot be ordered in the requested quantity."
37
+ "Stock Options","Stock Options"
38
+ "Stock Status","Stock Status"
39
+ "The stock item for Product in option is not valid.","The stock item for Product in option is not valid."
40
+ "The stock item for Product is not valid.","The stock item for Product is not valid."
41
+ "This product is available for purchase in increments of %s only.","This product is available for purchase in increments of %s only."
42
+ "To Fixed Value","To Fixed Value"
43
+ "To Percentage","To Percentage"
44
+ "Undefined product type.","Undefined product type."
45
+ "Update","Update"
46
+ "Update product stock data","Update product stock data"
47
+ "Update the Product","Update the Product"
app/locale/en_US/Mage_CatalogRule.csv ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "%d Catalog Price Rules based on ""%s"" attribute have been disabled.","%d Catalog Price Rules based on ""%s"" attribute have been disabled."
2
+ "Actions","Actions"
3
+ "Active","Active"
4
+ "Add New Rule","Add New Rule"
5
+ "An error occurred while deleting the rule. Please review the log and try again.","An error occurred while deleting the rule. Please review the log and try again."
6
+ "An error occurred while saving the rule data. Please review the log and try again.","An error occurred while saving the rule data. Please review the log and try again."
7
+ "Apply Rules","Apply Rules"
8
+ "Attribute Set","Attribute Set"
9
+ "Catalog","Catalog"
10
+ "Catalog Price Rule","Catalog Price Rule"
11
+ "Catalog Price Rules","Catalog Price Rules"
12
+ "Category","Category"
13
+ "Conditions","Conditions"
14
+ "Conditions (leave blank for all products)","Conditions (leave blank for all products)"
15
+ "Conditions Combination","Conditions Combination"
16
+ "Customer Groups","Customer Groups"
17
+ "Customer Registered: %s","Customer Registered: %s"
18
+ "Customer is a New Buyer: %s","Customer is a New Buyer: %s"
19
+ "Date Expire","Date Expire"
20
+ "Date From","Date From"
21
+ "Date Start","Date Start"
22
+ "Date To","Date To"
23
+ "Delete Rule","Delete Rule"
24
+ "Description","Description"
25
+ "Description: %s","Description: %s"
26
+ "Edit Rule","Edit Rule"
27
+ "Edit Rule '%s'","Edit Rule '%s'"
28
+ "Expire at: %s","Expire at: %s"
29
+ "From Date","From Date"
30
+ "General Information","General Information"
31
+ "ID","ID"
32
+ "Inactive","Inactive"
33
+ "NOT LOGGED IN","NOT LOGGED IN"
34
+ "Name: %s","Name: %s"
35
+ "New Rule","New Rule"
36
+ "No","No"
37
+ "Options","Options"
38
+ "Priority","Priority"
39
+ "Product Attribute","Product Attribute"
40
+ "Promotions","Promotions"
41
+ "Rule Information","Rule Information"
42
+ "Rule Name","Rule Name"
43
+ "Save Rule","Save Rule"
44
+ "Save and Apply","Save and Apply"
45
+ "Save and Continue Edit","Save and Continue Edit"
46
+ "Start at: %s","Start at: %s"
47
+ "Status","Status"
48
+ "Stop Further Rules Processing","Stop Further Rules Processing"
49
+ "The rule has been deleted.","The rule has been deleted."
50
+ "The rule has been saved.","The rule has been saved."
51
+ "The rules have been applied.","The rules have been applied."
52
+ "There are rules that have been changed but were not applied. Please, click Apply Rules in order to see immediate effect in the catalog.","There are rules that have been changed but were not applied. Please, click Apply Rules in order to see immediate effect in the catalog."
53
+ "This rule no longer exists.","This rule no longer exists."
54
+ "To Date","To Date"
55
+ "Unable to apply rules.","Unable to apply rules."
56
+ "Unable to find a rule to delete.","Unable to find a rule to delete."
57
+ "Update product's %s %s: %s","Update product's %s %s: %s"
58
+ "Websites","Websites"
59
+ "Wrong rule specified.","Wrong rule specified."
60
+ "Yes","Yes"
app/locale/en_US/Mage_CatalogSearch.csv ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "%s and greater","%s and greater"
2
+ "<strong>%d item(s)</strong> were found using the following search criteria","<strong>%d item(s)</strong> were found using the following search criteria"
3
+ "Advanced Search","Advanced Search"
4
+ "Advanced Search Form","Advanced Search Form"
5
+ "Advanced Search Result","Advanced Search Result"
6
+ "All","All"
7
+ "Applies for ""Like"" search type only.","Applies for ""Like"" search type only."
8
+ "Apply Layered Navigation if Search Results are Less Than","Apply Layered Navigation if Search Results are Less Than"
9
+ "Attribute setting change related with Search Index. Please run <a href=""%s"">Rebuild Search Index</a> process.","Attribute setting change related with Search Index. Please run <a href=""%s"">Rebuild Search Index</a> process."
10
+ "Autogenerated Site Map","Autogenerated Site Map"
11
+ "Catalog Advanced Search","Catalog Advanced Search"
12
+ "Catalog Search","Catalog Search"
13
+ "Catalog Search Index","Catalog Search Index"
14
+ "Don't see what you're looking for?","Don't see what you're looking for?"
15
+ "Enter ""0"" to enable layered navigation for any number of results.","Enter ""0"" to enable layered navigation for any number of results."
16
+ "Go","Go"
17
+ "Go to Home Page","Go to Home Page"
18
+ "Grid","Grid"
19
+ "Home","Home"
20
+ "List","List"
21
+ "Maximum Query Length","Maximum Query Length"
22
+ "Maximum Query Words Count","Maximum Query Words Count"
23
+ "Maximum Search query length is %s. Your query was cut.","Maximum Search query length is %s. Your query was cut."
24
+ "Minimal Query Length","Minimal Query Length"
25
+ "Minimum Search query length is %s","Minimum Search query length is %s"
26
+ "Modify your search","Modify your search"
27
+ "No","No"
28
+ "No items were found using the following search criteria.","No items were found using the following search criteria."
29
+ "Please specify at least one search term.","Please specify at least one search term."
30
+ "Popular Search Terms","Popular Search Terms"
31
+ "Quick Search Form","Quick Search Form"
32
+ "Rebuild Catalog product fulltext search index","Rebuild Catalog product fulltext search index"
33
+ "Relevance","Relevance"
34
+ "Results","Results"
35
+ "Search","Search"
36
+ "Search Settings","Search Settings"
37
+ "Search Terms","Search Terms"
38
+ "Search Type","Search Type"
39
+ "Search entire store here...","Search entire store here..."
40
+ "Search results for '%s'","Search results for '%s'"
41
+ "Search results for: '%s'","Search results for: '%s'"
42
+ "Search:","Search:"
43
+ "Specified date is invalid.","Specified date is invalid."
44
+ "Subscribe to Feed","Subscribe to Feed"
45
+ "There are no search terms available.","There are no search terms available."
46
+ "Yes","Yes"
47
+ "Your search returns no results.","Your search returns no results."
48
+ "up to %s","up to %s"
app/locale/en_US/Mage_Centinel.csv ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "3D Secure CAVV","3D Secure CAVV"
2
+ "3D Secure Card Validation","3D Secure Card Validation"
3
+ "3D Secure Cardholder Validation","3D Secure Cardholder Validation"
4
+ "3D Secure Electronic Commerce Indicator","3D Secure Electronic Commerce Indicator"
5
+ "3D Secure Verification Result","3D Secure Verification Result"
6
+ "3D Secure XID","3D Secure XID"
7
+ "Card Issuer Liability","Card Issuer Liability"
8
+ "Card Verification","Card Verification"
9
+ "Enrolled","Enrolled"
10
+ "Enrolled but Authentication Unavailable","Enrolled but Authentication Unavailable"
11
+ "Failed","Failed"
12
+ "MasterCard SecureCode","MasterCard SecureCode"
13
+ "Merchant Liability","Merchant Liability"
14
+ "Not Enrolled","Not Enrolled"
15
+ "Order cannot be placed.","Order cannot be placed."
16
+ "Payment information error. Please start over.","Payment information error. Please start over."
17
+ "Please continue with placing order.","Please continue with placing order."
18
+ "Please verify the card with the issuer bank before placing the order.","Please verify the card with the issuer bank before placing the order."
19
+ "Please verify the card with the issuer bank:","Please verify the card with the issuer bank:"
20
+ "Start/Reset Validation...","Start/Reset Validation..."
21
+ "Successful","Successful"
22
+ "Successful attempt","Successful attempt"
23
+ "The card has failed verification with the issuer bank.","The card has failed verification with the issuer bank."
24
+ "There has been wrong payment information submitted or the time limit has expired. Please, try again.","There has been wrong payment information submitted or the time limit has expired. Please, try again."
25
+ "There has been wrong payment information submitted or time limit has expired. Please, try again.","There has been wrong payment information submitted or time limit has expired. Please, try again."
26
+ "This card has failed validation and cannot be used.","This card has failed validation and cannot be used."
27
+ "This card has failed validation, but it is possible to place the order.","This card has failed validation, but it is possible to place the order."
28
+ "To ensure the security of your transactions","To ensure the security of your transactions"
29
+ "Unable to complete","Unable to complete"
30
+ "Validation failed.","Validation failed."
31
+ "Verification Failed","Verification Failed"
32
+ "Verification Successful","Verification Successful"
33
+ "Verification cannot be processed","Verification cannot be processed"
34
+ "Verified by Visa","Verified by Visa"
app/locale/en_US/Mage_Checkout.csv ADDED
@@ -0,0 +1,309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "%s was added to your shopping cart.","%s was added to your shopping cart."
2
+ "%s was updated in your shopping cart.","%s was updated in your shopping cart."
3
+ "* Required Fields","* Required Fields"
4
+ "Add New Address","Add New Address"
5
+ "Add New Condition","Add New Condition"
6
+ "Add coupon code for shopping cart","Add coupon code for shopping cart"
7
+ "Add gift messages to shopping cart","Add gift messages to shopping cart"
8
+ "Add product to shopping cart","Add product to shopping cart"
9
+ "Add product(s) to shopping cart","Add product(s) to shopping cart"
10
+ "Add to Cart","Add to Cart"
11
+ "Add to Compare","Add to Compare"
12
+ "Add to Wishlist","Add to Wishlist"
13
+ "Additional Product Info","Additional Product Info"
14
+ "Address","Address"
15
+ "Address %s of %s","Address %s of %s"
16
+ "After Adding a Product Redirect to Shopping Cart","After Adding a Product Redirect to Shopping Cart"
17
+ "Allow Guest Checkout","Allow Guest Checkout"
18
+ "Already registered?","Already registered?"
19
+ "An error occurred in the process of payment","An error occurred in the process of payment"
20
+ "An error occurred while deleting this condition.","An error occurred while deleting this condition."
21
+ "An error occurred while saving this condition.","An error occurred while saving this condition."
22
+ "Apply Coupon","Apply Coupon"
23
+ "Are you sure you would like to remove this item from the shopping cart?","Are you sure you would like to remove this item from the shopping cart?"
24
+ "Back","Back"
25
+ "Back to Billing Information","Back to Billing Information"
26
+ "Back to Select Addresses","Back to Select Addresses"
27
+ "Back to Shipping Information","Back to Shipping Information"
28
+ "Back to Shopping Cart","Back to Shopping Cart"
29
+ "Based on your selection, you may be interested in the following items:","Based on your selection, you may be interested in the following items:"
30
+ "Billing Address","Billing Address"
31
+ "Billing Information","Billing Information"
32
+ "Billing Information - %s","Billing Information - %s"
33
+ "Cancel Coupon","Cancel Coupon"
34
+ "Cannot add item to the shopping cart.","Cannot add item to the shopping cart."
35
+ "Cannot add the item to shopping cart","Cannot add the item to shopping cart"
36
+ "Cannot add the item to shopping cart.","Cannot add the item to shopping cart."
37
+ "Cannot apply the coupon code.","Cannot apply the coupon code."
38
+ "Cannot configure product.","Cannot configure product."
39
+ "Cannot open the overview page","Cannot open the overview page"
40
+ "Cannot process the item.","Cannot process the item."
41
+ "Cannot remove the item.","Cannot remove the item."
42
+ "Cannot update shopping cart.","Cannot update shopping cart."
43
+ "Cannot update the item.","Cannot update the item."
44
+ "Card Verification Number Visual Reference","Card Verification Number Visual Reference"
45
+ "Cart Product API","Cart Product API"
46
+ "Cart Subtotal:","Cart Subtotal:"
47
+ "Change","Change"
48
+ "Change Billing Address","Change Billing Address"
49
+ "Checkbox Text","Checkbox Text"
50
+ "Checkout","Checkout"
51
+ "Checkout Conditions","Checkout Conditions"
52
+ "Checkout Method","Checkout Method"
53
+ "Checkout Options","Checkout Options"
54
+ "Checkout Progress Wrapper","Checkout Progress Wrapper"
55
+ "Checkout Section","Checkout Section"
56
+ "Checkout Terms and Conditions","Checkout Terms and Conditions"
57
+ "Checkout as Guest","Checkout as Guest"
58
+ "Checkout as a Guest or Register","Checkout as a Guest or Register"
59
+ "Checkout with Multiple Addresses","Checkout with Multiple Addresses"
60
+ "City","City"
61
+ "Click <a href=""%s"" onclick=""this.target=\'_blank\'"">here to print</a> a copy of your order confirmation.","Click <a href=""%s"" onclick=""this.target=\'_blank\'"">here to print</a> a copy of your order confirmation."
62
+ "Click <a href=""%s"">here</a> to continue shopping.","Click <a href=""%s"">here</a> to continue shopping."
63
+ "Close","Close"
64
+ "Company","Company"
65
+ "Condition Name","Condition Name"
66
+ "Configurable Product Image","Configurable Product Image"
67
+ "Configure Cart Item","Configure Cart Item"
68
+ "Confirm Password","Confirm Password"
69
+ "Content","Content"
70
+ "Content Height","Content Height"
71
+ "Content Height (css)","Content Height (css)"
72
+ "Continue","Continue"
73
+ "Continue Shopping","Continue Shopping"
74
+ "Continue to Billing Information","Continue to Billing Information"
75
+ "Continue to Review Your Order","Continue to Review Your Order"
76
+ "Continue to Shipping Information","Continue to Shipping Information"
77
+ "Country","Country"
78
+ "Coupon code ""%s"" is not valid.","Coupon code ""%s"" is not valid."
79
+ "Coupon code ""%s"" was applied.","Coupon code ""%s"" was applied."
80
+ "Coupon code was canceled.","Coupon code was canceled."
81
+ "Create Billing Address","Create Billing Address"
82
+ "Create Shipping Address","Create Shipping Address"
83
+ "Create an order from shopping cart","Create an order from shopping cart"
84
+ "Create shopping cart","Create shopping cart"
85
+ "Customer Information","Customer Information"
86
+ "Customer's information","Customer's information"
87
+ "Data saving problem","Data saving problem"
88
+ "Default Billing","Default Billing"
89
+ "Default Shipping","Default Shipping"
90
+ "Delete Condition","Delete Condition"
91
+ "Details","Details"
92
+ "Disabled","Disabled"
93
+ "Discount Codes","Discount Codes"
94
+ "Display Cart Summary","Display Cart Summary"
95
+ "Display Shopping Cart Sidebar","Display Shopping Cart Sidebar"
96
+ "Display item quantities","Display item quantities"
97
+ "Display number of items in cart","Display number of items in cart"
98
+ "Display number of items in wishlist","Display number of items in wishlist"
99
+ "Easy access to your order history and status","Easy access to your order history and status"
100
+ "Edit","Edit"
101
+ "Edit Address","Edit Address"
102
+ "Edit Billing Address","Edit Billing Address"
103
+ "Edit Items","Edit Items"
104
+ "Edit Shipping Address","Edit Shipping Address"
105
+ "Edit Terms and Conditions","Edit Terms and Conditions"
106
+ "Edit Your Cart","Edit Your Cart"
107
+ "Edit item","Edit item"
108
+ "Edit item parameters","Edit item parameters"
109
+ "Email Address","Email Address"
110
+ "Enable Onepage Checkout","Enable Onepage Checkout"
111
+ "Enable Terms and Conditions","Enable Terms and Conditions"
112
+ "Enabled","Enabled"
113
+ "Enter a New Address","Enter a New Address"
114
+ "Enter your coupon code if you have one.","Enter your coupon code if you have one."
115
+ "Enter your destination to get a shipping estimate.","Enter your destination to get a shipping estimate."
116
+ "Estimate Shipping and Tax","Estimate Shipping and Tax"
117
+ "Excl. Tax","Excl. Tax"
118
+ "Fast and easy check out","Fast and easy check out"
119
+ "Fax","Fax"
120
+ "Forgot an Item?","Forgot an Item?"
121
+ "Forgot your password?","Forgot your password?"
122
+ "Get a Quote","Get a Quote"
123
+ "Get list of available payment methods","Get list of available payment methods"
124
+ "Get list of available shipping methods","Get list of available shipping methods"
125
+ "Get list of products in shopping cart","Get list of products in shopping cart"
126
+ "Get terms and conditions","Get terms and conditions"
127
+ "Get total prices for shopping cart","Get total prices for shopping cart"
128
+ "Gift Message","Gift Message"
129
+ "Grand Total:","Grand Total:"
130
+ "Grouped Product Image","Grouped Product Image"
131
+ "HTML","HTML"
132
+ "ID","ID"
133
+ "Incl. Tax","Incl. Tax"
134
+ "Invalid method: %s","Invalid method: %s"
135
+ "Item not found or already ordered","Item not found or already ordered"
136
+ "Items","Items"
137
+ "Items After","Items After"
138
+ "Items Before","Items Before"
139
+ "Load customer quote error","Load customer quote error"
140
+ "Loading next step...","Loading next step..."
141
+ "Login","Login"
142
+ "Login/Registration Before","Login/Registration Before"
143
+ "Manage Checkout Terms and Conditions","Manage Checkout Terms and Conditions"
144
+ "Maximum Display Recently Added Item(s)","Maximum Display Recently Added Item(s)"
145
+ "Maximum qty allowed for Shipping to multiple addresses is %s","Maximum qty allowed for Shipping to multiple addresses is %s"
146
+ "Move to Wishlist","Move to Wishlist"
147
+ "Multishipping Checkout","Multishipping Checkout"
148
+ "Multishipping Checkout Address (Any) Form","Multishipping Checkout Address (Any) Form"
149
+ "Multishipping Checkout Billing Address Creation","Multishipping Checkout Billing Address Creation"
150
+ "Multishipping Checkout Billing Address Edit Form","Multishipping Checkout Billing Address Edit Form"
151
+ "Multishipping Checkout Billing Address Selection","Multishipping Checkout Billing Address Selection"
152
+ "Multishipping Checkout Billing Information Step","Multishipping Checkout Billing Information Step"
153
+ "Multishipping Checkout Customer Address Edit Form","Multishipping Checkout Customer Address Edit Form"
154
+ "Multishipping Checkout Overview","Multishipping Checkout Overview"
155
+ "Multishipping Checkout Shipping Address Creation","Multishipping Checkout Shipping Address Creation"
156
+ "Multishipping Checkout Shipping Address Edit Form","Multishipping Checkout Shipping Address Edit Form"
157
+ "Multishipping Checkout Shipping Address Selection","Multishipping Checkout Shipping Address Selection"
158
+ "Multishipping Checkout Shipping Information Step","Multishipping Checkout Shipping Information Step"
159
+ "Multishipping Checkout Success","Multishipping Checkout Success"
160
+ "My Cart","My Cart"
161
+ "My Cart (%s item)","My Cart (%s item)"
162
+ "My Cart (%s items)","My Cart (%s items)"
163
+ "My Cart Link","My Cart Link"
164
+ "New Address","New Address"
165
+ "New Condition","New Condition"
166
+ "ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER","ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER"
167
+ "One Page Checkout","One Page Checkout"
168
+ "One Page Checkout Failure","One Page Checkout Failure"
169
+ "One Page Checkout Overview","One Page Checkout Overview"
170
+ "One Page Checkout Success","One Page Checkout Success"
171
+ "One item of products do not have identifier or sku","One item of products do not have identifier or sku"
172
+ "One item of products is not belong any of quote item","One item of products is not belong any of quote item"
173
+ "Order #","Order #"
174
+ "Order Review","Order Review"
175
+ "Order Success","Order Success"
176
+ "Order place error.","Order place error."
177
+ "Other Items in Your Order","Other Items in Your Order"
178
+ "Overview Items After","Overview Items After"
179
+ "Password","Password"
180
+ "Payment Failed Email Reciever","Payment Failed Email Reciever"
181
+ "Payment Failed Email Sender","Payment Failed Email Sender"
182
+ "Payment Failed Emails","Payment Failed Emails"
183
+ "Payment Failed Template","Payment Failed Template"
184
+ "Payment Information","Payment Information"
185
+ "Payment Method","Payment Method"
186
+ "Payment Methods After Checkout Button","Payment Methods After Checkout Button"
187
+ "Payment Methods Before Checkout Button","Payment Methods Before Checkout Button"
188
+ "Payment method information","Payment method information"
189
+ "Payment method is not defined","Payment method is not defined"
190
+ "Payment methods in shopping cart","Payment methods in shopping cart"
191
+ "Payment profile # %s: ""%s"".","Payment profile # %s: ""%s""."
192
+ "Place Order","Place Order"
193
+ "Please agree to all Terms and Conditions before placing the order.","Please agree to all Terms and Conditions before placing the order."
194
+ "Please agree to all Terms and Conditions before placing the orders.","Please agree to all Terms and Conditions before placing the orders."
195
+ "Please agree to all the terms and conditions before placing the order.","Please agree to all the terms and conditions before placing the order."
196
+ "Please log in below:","Please log in below:"
197
+ "Please select region, state or province","Please select region, state or province"
198
+ "Please select shipping address for applicable items","Please select shipping address for applicable items"
199
+ "Please select shipping methods for all addresses","Please select shipping methods for all addresses"
200
+ "Price","Price"
201
+ "Proceed to Checkout","Proceed to Checkout"
202
+ "Product","Product"
203
+ "Product Name","Product Name"
204
+ "Products","Products"
205
+ "Qty","Qty"
206
+ "Qty:","Qty:"
207
+ "Quantity was recalculated from %d to %d","Quantity was recalculated from %d to %d"
208
+ "Quote Lifetime (days)","Quote Lifetime (days)"
209
+ "Quote item does not exist.","Quote item does not exist."
210
+ "Quote item is not found.","Quote item is not found."
211
+ "Recently added item(s)","Recently added item(s)"
212
+ "Register","Register"
213
+ "Register and save time!","Register and save time!"
214
+ "Register to Create an Account","Register to Create an Account"
215
+ "Register with us for future convenience:","Register with us for future convenience:"
216
+ "Remove Item","Remove Item"
217
+ "Remove This Item","Remove This Item"
218
+ "Remove coupon code from shopping cart","Remove coupon code from shopping cart"
219
+ "Remove item","Remove item"
220
+ "Remove product from shopping cart","Remove product from shopping cart"
221
+ "Remove product(s) from shopping cart","Remove product(s) from shopping cart"
222
+ "Retrieve information about shopping cart","Retrieve information about shopping cart"
223
+ "Review Order","Review Order"
224
+ "Review Order - %s","Review Order - %s"
225
+ "Sales","Sales"
226
+ "Save Condition","Save Condition"
227
+ "Save in address book","Save in address book"
228
+ "See price before order confirmation.","See price before order confirmation."
229
+ "Select Address","Select Address"
230
+ "Select Addresses","Select Addresses"
231
+ "Select Shipping Method","Select Shipping Method"
232
+ "Select State/Province...","Select State/Province..."
233
+ "Select a billing address from your address book or enter a new address.","Select a billing address from your address book or enter a new address."
234
+ "Select a shipping address from your address book or enter a new address.","Select a shipping address from your address book or enter a new address."
235
+ "Send Payment Failed Email Copy Method","Send Payment Failed Email Copy Method"
236
+ "Send Payment Failed Email Copy To","Send Payment Failed Email Copy To"
237
+ "Send To","Send To"
238
+ "Separate by "","".","Separate by "",""."
239
+ "Set customer for shopping cart","Set customer for shopping cart"
240
+ "Set customer's addresses in shopping cart","Set customer's addresses in shopping cart"
241
+ "Set payment method","Set payment method"
242
+ "Set shipping method","Set shipping method"
243
+ "Ship to Multiple Addresses","Ship to Multiple Addresses"
244
+ "Ship to different address","Ship to different address"
245
+ "Ship to this address","Ship to this address"
246
+ "Shipping Address","Shipping Address"
247
+ "Shipping Information","Shipping Information"
248
+ "Shipping Method","Shipping Method"
249
+ "Shipping Methods","Shipping Methods"
250
+ "Shipping To","Shipping To"
251
+ "Shipping information","Shipping information"
252
+ "Shipping method has not been selected yet","Shipping method has not been selected yet"
253
+ "Shipping methods in shopping cart","Shipping methods in shopping cart"
254
+ "Shipping selection is not applicable.","Shipping selection is not applicable."
255
+ "Shopping Cart","Shopping Cart"
256
+ "Shopping Cart Form Before","Shopping Cart Form Before"
257
+ "Shopping Cart Sidebar","Shopping Cart Sidebar"
258
+ "Shopping Cart Sidebar Extra Actions","Shopping Cart Sidebar Extra Actions"
259
+ "Shopping Cart is Empty","Shopping Cart is Empty"
260
+ "Shopping cart ability to set coupon code","Shopping cart ability to set coupon code"
261
+ "Show Content as","Show Content as"
262
+ "Some of the requested products are not available in the desired quantity.","Some of the requested products are not available in the desired quantity."
263
+ "Some of the requested products are unavailable.","Some of the requested products are unavailable."
264
+ "Some products quantities were recalculated because of quantity increment mismatch","Some products quantities were recalculated because of quantity increment mismatch"
265
+ "Sorry, no quotes are available for this order at this time.","Sorry, no quotes are available for this order at this time."
266
+ "State/Province","State/Province"
267
+ "Status","Status"
268
+ "Store View","Store View"
269
+ "Street Address","Street Address"
270
+ "Street Address %s","Street Address %s"
271
+ "Submitting order information...","Submitting order information..."
272
+ "Subtotal","Subtotal"
273
+ "Telephone","Telephone"
274
+ "Terms and Conditions","Terms and Conditions"
275
+ "Terms and Conditions Information","Terms and Conditions Information"
276
+ "Terms and conditions","Terms and conditions"
277
+ "Text","Text"
278
+ "Thank you for your purchase!","Thank you for your purchase!"
279
+ "The condition has been deleted","The condition has been deleted"
280
+ "The condition has been saved.","The condition has been saved."
281
+ "The onepage checkout is disabled.","The onepage checkout is disabled."
282
+ "The product could not be found.","The product could not be found."
283
+ "The product does not exist.","The product does not exist."
284
+ "There are <a href=""%s"">%s items</a> in your cart.","There are <a href=""%s"">%s items</a> in your cart."
285
+ "There is <a href=""%s"">1 item</a> in your cart.","There is <a href=""%s"">1 item</a> in your cart."
286
+ "There was an error processing your order. Please contact us or try again later.","There was an error processing your order. Please contact us or try again later."
287
+ "This condition no longer exists.","This condition no longer exists."
288
+ "Total","Total"
289
+ "Total for this address","Total for this address"
290
+ "Unable to set Payment Method.","Unable to set Payment Method."
291
+ "Unit Price","Unit Price"
292
+ "Update Cart","Update Cart"
293
+ "Update Qty &amp; Addresses","Update Qty &amp; Addresses"
294
+ "Update Shopping Cart","Update Shopping Cart"
295
+ "Update Total","Update Total"
296
+ "Update product quantities in shopping cart","Update product quantities in shopping cart"
297
+ "Update product(s) quantities in shopping cart","Update product(s) quantities in shopping cart"
298
+ "Use Billing Address","Use Billing Address"
299
+ "We are processing your order and you will soon receive an email with details of the order. Once the order has shipped you will receive another email with a link to track its progress.","We are processing your order and you will soon receive an email with details of the order. Once the order has shipped you will receive another email with a link to track its progress."
300
+ "What's this?","What's this?"
301
+ "You have no items in your shopping cart.","You have no items in your shopping cart."
302
+ "You will receive an order confirmation email with details of your order and a link to track its progress.","You will receive an order confirmation email with details of your order and a link to track its progress."
303
+ "Your Checkout Progress","Your Checkout Progress"
304
+ "Your billing agreement # is: %s.","Your billing agreement # is: %s."
305
+ "Your order # is: %s.","Your order # is: %s."
306
+ "Your order has been received","Your order has been received"
307
+ "Your order number is ","Your order number is "
308
+ "Your recurring payment profiles:","Your recurring payment profiles:"
309
+ "Zip/Postal Code","Zip/Postal Code"
app/locale/en_US/Mage_Cms.csv ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "A block identifier with the same properties already exists in the selected store.","A block identifier with the same properties already exists in the selected store."
2
+ "A directory with the same name already exists. Please try another folder name.","A directory with the same name already exists. Please try another folder name."
3
+ "A page URL key for specified store already exists.","A page URL key for specified store already exists."
4
+ "Action","Action"
5
+ "Add New Block","Add New Block"
6
+ "Add New Page","Add New Page"
7
+ "All Countries","All Countries"
8
+ "An error occurred while saving the page.","An error occurred while saving the page."
9
+ "Anchor Custom Text","Anchor Custom Text"
10
+ "Anchor Custom Title","Anchor Custom Title"
11
+ "Are you sure you want to delete current folder?","Are you sure you want to delete current folder?"
12
+ "Are you sure you want to delete the selected file?","Are you sure you want to delete the selected file?"
13
+ "Block","Block"
14
+ "Block Information","Block Information"
15
+ "Block Title","Block Title"
16
+ "CMS","CMS"
17
+ "CMS Content Wrapper","CMS Content Wrapper"
18
+ "CMS Home Page","CMS Home Page"
19
+ "CMS No Cookies Page","CMS No Cookies Page"
20
+ "CMS No Route Page","CMS No Route Page"
21
+ "CMS No-Route Page","CMS No-Route Page"
22
+ "CMS Page","CMS Page"
23
+ "CMS Page Link","CMS Page Link"
24
+ "CMS Page Link Block Template","CMS Page Link Block Template"
25
+ "CMS Page Link Inline Template","CMS Page Link Inline Template"
26
+ "CMS Pages (All)","CMS Pages (All)"
27
+ "CMS Static Block","CMS Static Block"
28
+ "CMS Static Block Default Template","CMS Static Block Default Template"
29
+ "Cannot create new directory.","Cannot create new directory."
30
+ "Cannot delete directory %s.","Cannot delete directory %s."
31
+ "Cannot delete root directory %s.","Cannot delete root directory %s."
32
+ "Cannot upload file.","Cannot upload file."
33
+ "Collapse All","Collapse All"
34
+ "Content","Content"
35
+ "Content Heading","Content Heading"
36
+ "Content Management","Content Management"
37
+ "Contents of a Static Block","Contents of a Static Block"
38
+ "Create Folder...","Create Folder..."
39
+ "Custom Design","Custom Design"
40
+ "Custom Design From","Custom Design From"
41
+ "Custom Design To","Custom Design To"
42
+ "Custom Layout","Custom Layout"
43
+ "Custom Layout Update XML","Custom Layout Update XML"
44
+ "Custom Theme","Custom Theme"
45
+ "Customer Tax Class Information","Customer Tax Class Information"
46
+ "Date Created","Date Created"
47
+ "Delete Block","Delete Block"
48
+ "Delete File","Delete File"
49
+ "Delete Folder","Delete Folder"
50
+ "Delete Page","Delete Page"
51
+ "Description","Description"
52
+ "Design","Design"
53
+ "Disabled","Disabled"
54
+ "Disabled Completely","Disabled Completely"
55
+ "Disabled by Default","Disabled by Default"
56
+ "Edit Block","Edit Block"
57
+ "Edit Block '%s'","Edit Block '%s'"
58
+ "Edit Page","Edit Page"
59
+ "Edit Page '%s'","Edit Page '%s'"
60
+ "Enable WYSIWYG Editor","Enable WYSIWYG Editor"
61
+ "Enabled","Enabled"
62
+ "Enabled by Default","Enabled by Default"
63
+ "Expand All","Expand All"
64
+ "General Information","General Information"
65
+ "Go to Home Page","Go to Home Page"
66
+ "Home","Home"
67
+ "ID","ID"
68
+ "Identifier","Identifier"
69
+ "If empty, the Page Title will be used","If empty, the Page Title will be used"
70
+ "Images (%s)","Images (%s)"
71
+ "Insert File","Insert File"
72
+ "Invalid folder name. Please, use alphanumeric characters, underscores and dashes.","Invalid folder name. Please, use alphanumeric characters, underscores and dashes."
73
+ "Keywords","Keywords"
74
+ "Last Modified","Last Modified"
75
+ "Layout","Layout"
76
+ "Layout Update XML","Layout Update XML"
77
+ "Link to a CMS Page","Link to a CMS Page"
78
+ "Manage Pages","Manage Pages"
79
+ "Media Gallery","Media Gallery"
80
+ "Media Storage","Media Storage"
81
+ "Meta Data","Meta Data"
82
+ "Meta Description","Meta Description"
83
+ "Meta Keywords","Meta Keywords"
84
+ "New Block","New Block"
85
+ "New Folder Name:","New Folder Name:"
86
+ "New Page","New Page"
87
+ "No files found","No files found"
88
+ "Page Information","Page Information"
89
+ "Page Layout","Page Layout"
90
+ "Page Status","Page Status"
91
+ "Page Title","Page Title"
92
+ "Pages","Pages"
93
+ "Product Tax Class Information","Product Tax Class Information"
94
+ "Redirect to CMS-page if Cookies are Disabled","Redirect to CMS-page if Cookies are Disabled"
95
+ "Relative to Website Base URL","Relative to Website Base URL"
96
+ "Save Block","Save Block"
97
+ "Save Page","Save Page"
98
+ "Save Process","Save Process"
99
+ "Select Block...","Select Block..."
100
+ "Select Page...","Select Page..."
101
+ "Show Breadcrumbs for CMS Pages","Show Breadcrumbs for CMS Pages"
102
+ "Show Notice if JavaScript is Disabled","Show Notice if JavaScript is Disabled"
103
+ "Static Blocks","Static Blocks"
104
+ "Status","Status"
105
+ "Storage Root","Storage Root"
106
+ "Store View","Store View"
107
+ "Template","Template"
108
+ "The block has been deleted.","The block has been deleted."
109
+ "The block has been saved.","The block has been saved."
110
+ "The directory %s is not writable by server.","The directory %s is not writable by server."
111
+ "The page URL key cannot consist only of numbers.","The page URL key cannot consist only of numbers."
112
+ "The page URL key contains capital letters or disallowed symbols.","The page URL key contains capital letters or disallowed symbols."
113
+ "The page has been deleted.","The page has been deleted."
114
+ "The page has been saved.","The page has been saved."
115
+ "The static block content cannot contain directive with its self.","The static block content cannot contain directive with its self."
116
+ "This block no longer exists.","This block no longer exists."
117
+ "This page no longer exists.","This page no longer exists."
118
+ "Title","Title"
119
+ "URL Key","URL Key"
120
+ "Unable to find a block to delete.","Unable to find a block to delete."
121
+ "Unable to find a page to delete.","Unable to find a page to delete."
122
+ "WYSIWYG Options","WYSIWYG Options"
123
+ "px.","px."
app/locale/en_US/Mage_Compiler.csv ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Collected Files Count","Collected Files Count"
2
+ "Compilation","Compilation"
3
+ "Compilation State","Compilation State"
4
+ "Compilation error","Compilation error"
5
+ "Compiled","Compiled"
6
+ "Compiled Scopes Count","Compiled Scopes Count"
7
+ "Compiler Status","Compiler Status"
8
+ "Compiler include path is disabled.","Compiler include path is disabled."
9
+ "Compiler include path is enabled.","Compiler include path is enabled."
10
+ "Directory ""%s"" must be writeable","Directory ""%s"" must be writeable"
11
+ "Disable","Disable"
12
+ "Disabled","Disabled"
13
+ "Enable","Enable"
14
+ "Enabled","Enabled"
15
+ "File ""%s"" must be writeable","File ""%s"" must be writeable"
16
+ "Not Compiled","Not Compiled"
17
+ "Run Compilation Process","Run Compilation Process"
18
+ "Scopes Compilation Settings","Scopes Compilation Settings"
19
+ "System","System"
20
+ "The compilation has completed.","The compilation has completed."
21
+ "Tools","Tools"
app/locale/en_US/Mage_Connect.csv ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "1.5.0.0 & later","1.5.0.0 & later"
2
+ "Action","Action"
3
+ "Add Author","Add Author"
4
+ "Add Contents Path","Add Contents Path"
5
+ "Add PHP Extension dependency","Add PHP Extension dependency"
6
+ "Add Package dependency","Add Package dependency"
7
+ "Add files","Add files"
8
+ "Authors","Authors"
9
+ "Channel","Channel"
10
+ "Contents","Contents"
11
+ "Create Extension Package","Create Extension Package"
12
+ "Dependencies","Dependencies"
13
+ "Description","Description"
14
+ "Edit Extension","Edit Extension"
15
+ "Email","Email"
16
+ "Extension","Extension"
17
+ "Extensions","Extensions"
18
+ "Failed to create the package.","Failed to create the package."
19
+ "Failed to load the package data.","Failed to load the package data."
20
+ "Failed to save the package.","Failed to save the package."
21
+ "Files","Files"
22
+ "Folder","Folder"
23
+ "Ignore","Ignore"
24
+ "Include","Include"
25
+ "License","License"
26
+ "License URI","License URI"
27
+ "Load Local Package","Load Local Package"
28
+ "Load local Package","Load local Package"
29
+ "Magento Connect","Magento Connect"
30
+ "Magento Connect Manager","Magento Connect Manager"
31
+ "Max","Max"
32
+ "Maximum","Maximum"
33
+ "Min","Min"
34
+ "Minimum","Minimum"
35
+ "Name","Name"
36
+ "New Extension","New Extension"
37
+ "PHP Version","PHP Version"
38
+ "Package","Package"
39
+ "Package Extensions","Package Extensions"
40
+ "Package File Name","Package File Name"
41
+ "Package Info","Package Info"
42
+ "Packages","Packages"
43
+ "Path","Path"
44
+ "Pre-1.5.0.0","Pre-1.5.0.0"
45
+ "Release Info","Release Info"
46
+ "Remove","Remove"
47
+ "Save As...","Save As..."
48
+ "Save Data and Create Package","Save Data and Create Package"
49
+ "Save package with custom package file name","Save package with custom package file name"
50
+ "Summary","Summary"
51
+ "Supported releases","Supported releases"
52
+ "System","System"
53
+ "Target","Target"
54
+ "The package %s data has been loaded.","The package %s data has been loaded."
55
+ "The package data has been saved.","The package data has been saved."
56
+ "There was a problem saving package data","There was a problem saving package data"
57
+ "Type","Type"
58
+ "User","User"
app/locale/en_US/Mage_Contacts.csv ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "* Required Fields","* Required Fields"
2
+ "Comment","Comment"
3
+ "Contact Form","Contact Form"
4
+ "Contact Information","Contact Information"
5
+ "Contact Us","Contact Us"
6
+ "Contact Us Form","Contact Us Form"
7
+ "Contacts","Contacts"
8
+ "Contacts Section","Contacts Section"
9
+ "Email","Email"
10
+ "Email Options","Email Options"
11
+ "Email Sender","Email Sender"
12
+ "Email Template","Email Template"
13
+ "Enable Contact Us","Enable Contact Us"
14
+ "Name","Name"
15
+ "Send Emails To","Send Emails To"
16
+ "Submit","Submit"
17
+ "Telephone","Telephone"
18
+ "Unable to submit your request. Please, try again later","Unable to submit your request. Please, try again later"
19
+ "Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.","Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us."
app/locale/en_US/Mage_Core.csv ADDED
@@ -0,0 +1,367 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "%s","%s"
2
+ "%s already exist.","%s already exist."
3
+ "%s already exists.","%s already exists."
4
+ "-- Please Select --","-- Please Select --"
5
+ "<strong style=""color:red"">Warning!</strong> When using CDN, in some cases JavaScript may not run properly if CDN is not in your subdomain","<strong style=""color:red"">Warning!</strong> When using CDN, in some cases JavaScript may not run properly if CDN is not in your subdomain"
6
+ "A category object is required for determining the product request path.","A category object is required for determining the product request path."
7
+ "Add Block Names to Hints","Add Block Names to Hints"
8
+ "Add Secret Key to URLs","Add Secret Key to URLs"
9
+ "Add Store Code to Urls","Add Store Code to Urls"
10
+ "Admin","Admin"
11
+ "Admin Base URL","Admin Base URL"
12
+ "Admin User Emails","Admin User Emails"
13
+ "Advanced","Advanced"
14
+ "After selecting a new media storage location, press the Synchronize button
15
+ to transfer all media to that location. Media will not be available in the new
16
+ location until the synchronization process is complete.","After selecting a new media storage location, press the Synchronize button
17
+ to transfer all media to that location. Media will not be available in the new
18
+ location until the synchronization process is complete."
19
+ "Allow Countries","Allow Countries"
20
+ "Allow Symlinks","Allow Symlinks"
21
+ "Allowed IPs (comma separated)","Allowed IPs (comma separated)"
22
+ "Allowed file types: ICO, PNG, GIF, JPEG, APNG, SVG. Not all browsers support all these formats!","Allowed file types: ICO, PNG, GIF, JPEG, APNG, SVG. Not all browsers support all these formats!"
23
+ "Allows customers to stay logged in when switching between different stores.","Allows customers to stay logged in when switching between different stores."
24
+ "Alternative text for next link in pagination menu. If empty, default arrow image will used.","Alternative text for next link in pagination menu. If empty, default arrow image will used."
25
+ "Alternative text for previous link in pagination menu. If empty, default arrow image will used.","Alternative text for previous link in pagination menu. If empty, default arrow image will used."
26
+ "An error occurred while saving. Please review the error log.","An error occurred while saving. Please review the error log."
27
+ "Anchor Text for Next","Anchor Text for Next"
28
+ "Anchor Text for Previous","Anchor Text for Previous"
29
+ "Anchor symbol (#) is not supported in request path","Anchor symbol (#) is not supported in request path"
30
+ "Anchor symbol (#) is not supported in url rewrite suffix","Anchor symbol (#) is not supported in url rewrite suffix"
31
+ "Are you sure?","Are you sure?"
32
+ "Auto-redirect to Base URL","Auto-redirect to Base URL"
33
+ "Back","Back"
34
+ "Backup Options","Backup Options"
35
+ "Base JavaScript URL","Base JavaScript URL"
36
+ "Base Link URL","Base Link URL"
37
+ "Base Media URL","Base Media URL"
38
+ "Base Skin URL","Base Skin URL"
39
+ "Base URL","Base URL"
40
+ "Before modifying the store view code please make sure that it is not used in index.php.","Before modifying the store view code please make sure that it is not used in index.php."
41
+ "Before modifying the website code please make sure that it is not used in index.php.","Before modifying the website code please make sure that it is not used in index.php."
42
+ "Block with name ""%s"" already exists","Block with name ""%s"" already exists"
43
+ "Browser Capabilities Detection","Browser Capabilities Detection"
44
+ "CSS Settings","CSS Settings"
45
+ "Cache Storage Management","Cache Storage Management"
46
+ "Cache storage may contain additional data. Are you sure that you want flush it?","Cache storage may contain additional data. Are you sure that you want flush it?"
47
+ "Can not create invoice. Order was not found.","Can not create invoice. Order was not found."
48
+ "Can't retrieve request object","Can't retrieve request object"
49
+ "Can\'t retrieve entity config: %s","Can\'t retrieve entity config: %s"
50
+ "Cancel","Cancel"
51
+ "Cannot complete this operation from non-admin area.","Cannot complete this operation from non-admin area."
52
+ "Card type does not match credit card number.","Card type does not match credit card number."
53
+ "Code","Code"
54
+ "Controller file was loaded but class does not exist","Controller file was loaded but class does not exist"
55
+ "Cookie Domain","Cookie Domain"
56
+ "Cookie Lifetime","Cookie Lifetime"
57
+ "Cookie Path","Cookie Path"
58
+ "Copyright","Copyright"
59
+ "Countries Options","Countries Options"
60
+ "Create Store","Create Store"
61
+ "Create Store View","Create Store View"
62
+ "Create Website","Create Website"
63
+ "Credit card number does not match credit card type.","Credit card number does not match credit card type."
64
+ "Current Package Name","Current Package Name"
65
+ "Custom Admin Path","Custom Admin Path"
66
+ "Custom Design","Custom Design"
67
+ "Custom Email 1","Custom Email 1"
68
+ "Custom Email 2","Custom Email 2"
69
+ "Custom Variables","Custom Variables"
70
+ "Customer Support","Customer Support"
71
+ "Dashboard","Dashboard"
72
+ "Date From","Date From"
73
+ "Date To","Date To"
74
+ "Date/time format ""%s"" is not supported.","Date/time format ""%s"" is not supported."
75
+ "Debug","Debug"
76
+ "Default","Default"
77
+ "Default Country","Default Country"
78
+ "Default Description","Default Description"
79
+ "Default Keywords","Default Keywords"
80
+ "Default No-route URL","Default No-route URL"
81
+ "Default Pages","Default Pages"
82
+ "Default Robots","Default Robots"
83
+ "Default Store","Default Store"
84
+ "Default Store View","Default Store View"
85
+ "Default Title","Default Title"
86
+ "Default Web URL","Default Web URL"
87
+ "Delete","Delete"
88
+ "Delete Store","Delete Store"
89
+ "Delete Store View","Delete Store View"
90
+ "Delete Website","Delete Website"
91
+ "Deleting a %1$s will not delete the information associated with the %1$s (e.g. categories, products, etc.), but the %1$s will not be able to be restored. It is suggested that you create a database backup before deleting the %1$s.","Deleting a %1$s will not delete the information associated with the %1$s (e.g. categories, products, etc.), but the %1$s will not be able to be restored. It is suggested that you create a database backup before deleting the %1$s."
92
+ "Design","Design"
93
+ "Design Change","Design Change"
94
+ "Developer","Developer"
95
+ "Developer Client Restrictions","Developer Client Restrictions"
96
+ "Disable Email Communications","Disable Email Communications"
97
+ "Disable Modules Output","Disable Modules Output"
98
+ "Display Demo Store Notice","Display Demo Store Notice"
99
+ "Duplicate Of Template Name","Duplicate Of Template Name"
100
+ "Edit Design Change","Edit Design Change"
101
+ "Edit Store","Edit Store"
102
+ "Edit Store View","Edit Store View"
103
+ "Edit Website","Edit Website"
104
+ "Empty identifier field name","Empty identifier field name"
105
+ "Empty main table name","Empty main table name"
106
+ "Enable Charts","Enable Charts"
107
+ "Enabled","Enabled"
108
+ "Enabled for Admin","Enabled for Admin"
109
+ "Enabled for Frontend","Enabled for Frontend"
110
+ "Environment Update Time","Environment Update Time"
111
+ "Error in file: ""%s"" - %s","Error in file: ""%s"" - %s"
112
+ "Error: Passwords do not match","Error: Passwords do not match"
113
+ "Exceptions Log File Name","Exceptions Log File Name"
114
+ "Favicon Icon","Favicon Icon"
115
+ "File %s does not exist","File %s does not exist"
116
+ "File %s is not readable","File %s is not readable"
117
+ "File system","File system"
118
+ "First Day of Week","First Day of Week"
119
+ "Flush Cache Storage","Flush Cache Storage"
120
+ "Flush Magento Cache","Flush Magento Cache"
121
+ "Footer","Footer"
122
+ "Forgot Password Email Sender","Forgot Password Email Sender"
123
+ "Forgot Password Email Template","Forgot Password Email Template"
124
+ "General","General"
125
+ "General Contact","General Contact"
126
+ "General Settings","General Settings"
127
+ "Global","Global"
128
+ "HTML Head","HTML Head"
129
+ "Header","Header"
130
+ "Host","Host"
131
+ "How many links to display at once.","How many links to display at once."
132
+ "ID Path for Specified Store","ID Path for Specified Store"
133
+ "If the current frame position does not cover utmost pages, will render link to current position plus/minus this value.","If the current frame position does not cover utmost pages, will render link to current position plus/minus this value."
134
+ "Incorrect credit card expiration date.","Incorrect credit card expiration date."
135
+ "Input type ""%value%"" not found in the input types list.","Input type ""%value%"" not found in the input types list."
136
+ "Invalid base url type","Invalid base url type"
137
+ "Invalid block name to set child %s: %s","Invalid block name to set child %s: %s"
138
+ "Invalid block type: %s","Invalid block type: %s"
139
+ "Invalid block: %s","Invalid block: %s"
140
+ "Invalid connection","Invalid connection"
141
+ "Invalid layout update handle","Invalid layout update handle"
142
+ "Invalid messages storage ""%s"" for layout messages initialization","Invalid messages storage ""%s"" for layout messages initialization"
143
+ "Invalid query","Invalid query"
144
+ "Invalid transactional email code: ","Invalid transactional email code: "
145
+ "Invalid website\'s configuration path: %s","Invalid website\'s configuration path: %s"
146
+ "JavaScript Settings","JavaScript Settings"
147
+ "Layout","Layout"
148
+ "Leave empty for access from any location.","Leave empty for access from any location."
149
+ "Locale","Locale"
150
+ "Locale Options","Locale Options"
151
+ "Log Settings","Log Settings"
152
+ "Logging from Mage::log(). File is located in {{base_dir}}/var/log","Logging from Mage::log(). File is located in {{base_dir}}/var/log"
153
+ "Logging from Mage::logException(). File is located in {{base_dir}}/var/log","Logging from Mage::logException(). File is located in {{base_dir}}/var/log"
154
+ "Login is Case Sensitive","Login is Case Sensitive"
155
+ "Logo Image Alt","Logo Image Alt"
156
+ "Logo Image Src","Logo Image Src"
157
+ "Mail Sending Settings","Mail Sending Settings"
158
+ "Make sure that base URL ends with '/' (slash), e.g. http://yourdomain/magento/","Make sure that base URL ends with '/' (slash), e.g. http://yourdomain/magento/"
159
+ "Manage Stores","Manage Stores"
160
+ "Match expressions in the same order as displayed in the configuration.","Match expressions in the same order as displayed in the configuration."
161
+ "Maximum length exceeded.","Maximum length exceeded."
162
+ "Media Storage","Media Storage"
163
+ "Merge CSS Files","Merge CSS Files"
164
+ "Merge JavaScript Files","Merge JavaScript Files"
165
+ "Miscellaneous HTML","Miscellaneous HTML"
166
+ "Miscellaneous Scripts","Miscellaneous Scripts"
167
+ "Model class does not exist: %s.","Model class does not exist: %s."
168
+ "Model collection resource name is not defined.","Model collection resource name is not defined."
169
+ "Module ""%1$s"" requires module ""%2$s"".","Module ""%1$s"" requires module ""%2$s""."
170
+ "Name","Name"
171
+ "New Design Change","New Design Change"
172
+ "New Store","New Store"
173
+ "New Store View","New Store View"
174
+ "New Website","New Website"
175
+ "No","No"
176
+ "Offloader header","Offloader header"
177
+ "Package","Package"
178
+ "Pagination","Pagination"
179
+ "Pagination Frame","Pagination Frame"
180
+ "Pagination Frame Skip","Pagination Frame Skip"
181
+ "Parent directory does not exist: %s","Parent directory does not exist: %s"
182
+ "Path ""%value%"" is not available and cannot be used.","Path ""%value%"" is not available and cannot be used."
183
+ "Path ""%value%"" is protected and cannot be used.","Path ""%value%"" is protected and cannot be used."
184
+ "Path ""%value%"" may not include parent directory traversal (""../"", ""..\\).""","Path ""%value%"" may not include parent directory traversal (""../"", ""..\\)."""
185
+ "Please choose to register or to checkout as a guest","Please choose to register or to checkout as a guest"
186
+ "Please define flag code.","Please define flag code."
187
+ "Please enter 6 or more characters.","Please enter 6 or more characters."
188
+ "Please enter 6 or more characters. Leading or trailing spaces will be ignored.","Please enter 6 or more characters. Leading or trailing spaces will be ignored."
189
+ "Please enter 7 or more characters. Password should contain both numeric and alphabetic characters.","Please enter 7 or more characters. Password should contain both numeric and alphabetic characters."
190
+ "Please enter a number 0 or greater in this field.","Please enter a number 0 or greater in this field."
191
+ "Please enter a number greater than 0 in this field.","Please enter a number greater than 0 in this field."
192
+ "Please enter a number lower than 100.","Please enter a number lower than 100."
193
+ "Please enter a valid $ amount. For example $100.00.","Please enter a valid $ amount. For example $100.00."
194
+ "Please enter a valid URL Key. For example ""example-page"", ""example-page.html"" or ""anotherlevel/example-page"".","Please enter a valid URL Key. For example ""example-page"", ""example-page.html"" or ""anotherlevel/example-page""."
195
+ "Please enter a valid URL. For example http://www.example.com or www.example.com","Please enter a valid URL. For example http://www.example.com or www.example.com"
196
+ "Please enter a valid URL. Protocol is required (http://, https:// or ftp://)","Please enter a valid URL. Protocol is required (http://, https:// or ftp://)"
197
+ "Please enter a valid XML-identifier. For example something_1, block5, id-4.","Please enter a valid XML-identifier. For example something_1, block5, id-4."
198
+ "Please enter a valid credit card number.","Please enter a valid credit card number."
199
+ "Please enter a valid credit card verification number.","Please enter a valid credit card verification number."
200
+ "Please enter a valid date between %s and %s","Please enter a valid date between %s and %s"
201
+ "Please enter a valid date equal to or greater than %s","Please enter a valid date equal to or greater than %s"
202
+ "Please enter a valid date less than or equal to %s","Please enter a valid date less than or equal to %s"
203
+ "Please enter a valid date.","Please enter a valid date."
204
+ "Please enter a valid day (1-%d).","Please enter a valid day (1-%d)."
205
+ "Please enter a valid email address. For example johndoe@domain.com.","Please enter a valid email address. For example johndoe@domain.com."
206
+ "Please enter a valid fax number. For example (123) 456-7890 or 123-456-7890.","Please enter a valid fax number. For example (123) 456-7890 or 123-456-7890."
207
+ "Please enter a valid full date","Please enter a valid full date"
208
+ "Please enter a valid month (1-12).","Please enter a valid month (1-12)."
209
+ "Please enter a valid number in this field.","Please enter a valid number in this field."
210
+ "Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.","Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890."
211
+ "Please enter a valid social security number. For example 123-45-6789.","Please enter a valid social security number. For example 123-45-6789."
212
+ "Please enter a valid year (1900-%d).","Please enter a valid year (1900-%d)."
213
+ "Please enter a valid zip code.","Please enter a valid zip code."
214
+ "Please enter a valid zip code. For example 90602 or 90602-1234.","Please enter a valid zip code. For example 90602 or 90602-1234."
215
+ "Please enter issue number or start date for switch/solo card type.","Please enter issue number or start date for switch/solo card type."
216
+ "Please enter valid password.","Please enter valid password."
217
+ "Please input a valid CSS-length. For example 100px or 77pt or 20em or .5ex or 50%.","Please input a valid CSS-length. For example 100px or 77pt or 20em or .5ex or 50%."
218
+ "Please make sure your passwords match.","Please make sure your passwords match."
219
+ "Please select State/Province.","Please select State/Province."
220
+ "Please select an option.","Please select an option."
221
+ "Please select one of the above options.","Please select one of the above options."
222
+ "Please select one of the options.","Please select one of the options."
223
+ "Please set available and/or protected paths list(s) before validation.","Please set available and/or protected paths list(s) before validation."
224
+ "Please specify either a category or a product, or both.","Please specify either a category or a product, or both."
225
+ "Please specify payment method.","Please specify payment method."
226
+ "Please specify shipping method.","Please specify shipping method."
227
+ "Please use letters only (a-z or A-Z) in this field.","Please use letters only (a-z or A-Z) in this field."
228
+ "Please use letters only (a-z) in this field.","Please use letters only (a-z) in this field."
229
+ "Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas.","Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas."
230
+ "Please use only letters (a-z or A-Z) or numbers (0-9) only in this field. No spaces or other characters are allowed.","Please use only letters (a-z or A-Z) or numbers (0-9) only in this field. No spaces or other characters are allowed."
231
+ "Please use only letters (a-z or A-Z) or numbers (0-9) or spaces and # only in this field.","Please use only letters (a-z or A-Z) or numbers (0-9) or spaces and # only in this field."
232
+ "Please use only letters (a-z or A-Z), numbers (0-9) or underscores (_) in this field, first character must be a letter.","Please use only letters (a-z or A-Z), numbers (0-9) or underscores (_) in this field, first character must be a letter."
233
+ "Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.","Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed."
234
+ "Please use only letters (a-z) or numbers (0-9) or spaces and # only in this field.","Please use only letters (a-z) or numbers (0-9) or spaces and # only in this field."
235
+ "Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter.","Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter."
236
+ "Please use only visible characters and spaces.","Please use only visible characters and spaces."
237
+ "Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.","Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006."
238
+ "Please wait, loading...","Please wait, loading..."
239
+ "Polls","Polls"
240
+ "Port (25)","Port (25)"
241
+ "Profiler","Profiler"
242
+ "Request Path for Specified Store","Request Path for Specified Store"
243
+ "Requested file may not include parent directory traversal (""../"", ""..\\ notation)""","Requested file may not include parent directory traversal (""../"", ""..\\ notation)"""
244
+ "Requested invalid store ""%s""","Requested invalid store ""%s"""
245
+ "Resource is not set.","Resource is not set."
246
+ "Return-Path Email","Return-Path Email"
247
+ "Root Category","Root Category"
248
+ "Sales Representative","Sales Representative"
249
+ "Save","Save"
250
+ "Save Store","Save Store"
251
+ "Save Store View","Save Store View"
252
+ "Save Website","Save Website"
253
+ "Search Engines Optimization","Search Engines Optimization"
254
+ "Secure","Secure"
255
+ "Security","Security"
256
+ "Select Date","Select Date"
257
+ "Select Media Database","Select Media Database"
258
+ "Sender Email","Sender Email"
259
+ "Sender Name","Sender Name"
260
+ "Services","Services"
261
+ "Session Cookie Management","Session Cookie Management"
262
+ "Session Lifetime (seconds)","Session Lifetime (seconds)"
263
+ "Session Validation Settings","Session Validation Settings"
264
+ "Set Return-Path","Set Return-Path"
265
+ "Set as Default","Set as Default"
266
+ "Skin (Images / CSS)","Skin (Images / CSS)"
267
+ "Sort Order","Sort Order"
268
+ "Specified date/time ""%1$s"" do not match format ""%2$s"".","Specified date/time ""%1$s"" do not match format ""%2$s""."
269
+ "Start date cannot be greater than end date.","Start date cannot be greater than end date."
270
+ "Startup Page","Startup Page"
271
+ "Status","Status"
272
+ "Storage Configuration for Media","Storage Configuration for Media"
273
+ "Store","Store"
274
+ "Store Contact Address","Store Contact Address"
275
+ "Store Contact Information","Store Contact Information"
276
+ "Store Contact Telephone","Store Contact Telephone"
277
+ "Store Email Addresses","Store Email Addresses"
278
+ "Store Information","Store Information"
279
+ "Store Name","Store Name"
280
+ "Store View","Store View"
281
+ "Store View Information","Store View Information"
282
+ "Store View Name","Store View Name"
283
+ "Store view doesn't exist","Store view doesn't exist"
284
+ "Store with the same code","Store with the same code"
285
+ "System","System"
286
+ "System Log File Name","System Log File Name"
287
+ "Template Path Hints","Template Path Hints"
288
+ "Template Settings","Template Settings"
289
+ "Template Variables","Template Variables"
290
+ "Templates","Templates"
291
+ "Text length does not satisfy specified text range.","Text length does not satisfy specified text range."
292
+ "The %s you entered is invalid. Please make sure that it follows ""http://domain.com/"" format.","The %s you entered is invalid. Please make sure that it follows ""http://domain.com/"" format."
293
+ "The store code may contain only letters (a-z), numbers (0-9) or underscore(_), the first character must be a letter","The store code may contain only letters (a-z), numbers (0-9) or underscore(_), the first character must be a letter"
294
+ "The store does not exist","The store does not exist"
295
+ "The store has been deleted.","The store has been deleted."
296
+ "The store has been saved.","The store has been saved."
297
+ "The store view has been deleted.","The store view has been deleted."
298
+ "The store view has been saved","The store view has been saved"
299
+ "The template Name must not be empty.","The template Name must not be empty."
300
+ "The value is not within the specified range.","The value is not within the specified range."
301
+ "The website does not exist.","The website does not exist."
302
+ "The website has been deleted.","The website has been deleted."
303
+ "The website has been saved.","The website has been saved."
304
+ "Themes","Themes"
305
+ "This category and all its child elements","This category and all its child elements"
306
+ "This category and its child categories only","This category and its child categories only"
307
+ "This category and its products only","This category and its products only"
308
+ "This category only","This category only"
309
+ "This date is a required value.","This date is a required value."
310
+ "This is a required field.","This is a required field."
311
+ "This store cannot be deleted.","This store cannot be deleted."
312
+ "This store view cannot be deleted.","This store view cannot be deleted."
313
+ "This website cannot be deleted.","This website cannot be deleted."
314
+ "This will be displayed just before body closing tag.","This will be displayed just before body closing tag."
315
+ "This will be included before head closing tag in page HTML.","This will be included before head closing tag in page HTML."
316
+ "Timezone","Timezone"
317
+ "Title Prefix","Title Prefix"
318
+ "Title Suffix","Title Suffix"
319
+ "Translate Inline","Translate Inline"
320
+ "Translate, blocks and other output caches should be disabled for both frontend and admin inline translations.","Translate, blocks and other output caches should be disabled for both frontend and admin inline translations."
321
+ "Translations","Translations"
322
+ "Two and more slashes together are not permitted in request path","Two and more slashes together are not permitted in request path"
323
+ "Two and more slashes together are not permitted in url rewrite suffix","Two and more slashes together are not permitted in url rewrite suffix"
324
+ "Unable to create directory: %s","Unable to create directory: %s"
325
+ "Unable to delete store view. Please, try again later.","Unable to delete store view. Please, try again later."
326
+ "Unable to delete store. Please, try again later.","Unable to delete store. Please, try again later."
327
+ "Unable to delete website. Please, try again later.","Unable to delete website. Please, try again later."
328
+ "Unable to proceed. Please, try again","Unable to proceed. Please, try again"
329
+ "Unable to proceed. Please, try again.","Unable to proceed. Please, try again."
330
+ "Unable to save file ""%s"" at ""%s""","Unable to save file ""%s"" at ""%s"""
331
+ "Unable to save file: %s","Unable to save file: %s"
332
+ "Unknown old style column type definition: {$definition}.","Unknown old style column type definition: {$definition}."
333
+ "Unknown scope ""%s"".","Unknown scope ""%s""."
334
+ "Unsecure","Unsecure"
335
+ "Url Options","Url Options"
336
+ "Use Custom Admin Path","Use Custom Admin Path"
337
+ "Use HTTP Only","Use HTTP Only"
338
+ "Use SID on Frontend","Use SID on Frontend"
339
+ "Use Secure URLs in Admin","Use Secure URLs in Admin"
340
+ "Use Secure URLs in Frontend","Use Secure URLs in Frontend"
341
+ "Use Web Server Rewrites","Use Web Server Rewrites"
342
+ "Validate HTTP_USER_AGENT","Validate HTTP_USER_AGENT"
343
+ "Validate HTTP_VIA","Validate HTTP_VIA"
344
+ "Validate HTTP_X_FORWARDED_FOR","Validate HTTP_X_FORWARDED_FOR"
345
+ "Validate REMOTE_ADDR","Validate REMOTE_ADDR"
346
+ "Validation has failed.","Validation has failed."
347
+ "Values less than 60 are ignored. Note that changes will apply after logout.","Values less than 60 are ignored. Note that changes will apply after logout."
348
+ "Variable Code must be unique.","Variable Code must be unique."
349
+ "Warning! Enabling this feature is not recommended on production environments because it represents a potential security risk.","Warning! Enabling this feature is not recommended on production environments because it represents a potential security risk."
350
+ "Web","Web"
351
+ "Website","Website"
352
+ "Website Information","Website Information"
353
+ "Website Name","Website Name"
354
+ "Website code may only contain letters (a-z), numbers (0-9) or underscore(_), the first character must be a letter","Website code may only contain letters (a-z), numbers (0-9) or underscore(_), the first character must be a letter"
355
+ "Website with the same code","Website with the same code"
356
+ "Weekend Days","Weekend Days"
357
+ "Welcome Text","Welcome Text"
358
+ "Wrong file info format","Wrong file info format"
359
+ "Wrong number of arguments for %s","Wrong number of arguments for %s"
360
+ "Wrong old style column type definition: {$definition}.","Wrong old style column type definition: {$definition}."
361
+ "Yes","Yes"
362
+ "You will have to log in after you save your custom admin path.","You will have to log in after you save your custom admin path."
363
+ "Your design change for the specified store intersects with another one, please specify another date range.","Your design change for the specified store intersects with another one, please specify another date range."
364
+ "Your order cannot be completed at this time as there is no payment methods available for it.","Your order cannot be completed at this time as there is no payment methods available for it."
365
+ "Your order cannot be completed at this time as there is no shipping methods available for it. Please make necessary changes in your shipping address.","Your order cannot be completed at this time as there is no shipping methods available for it. Please make necessary changes in your shipping address."
366
+ "Your session has been expired, you will be relogged in now.","Your session has been expired, you will be relogged in now."
367
+ "database ""%s""","database ""%s"""
app/l ADDED
File without changes