Achang_Chinacustomer - Version 1.0.0

Version Notes

合并first name 和 last name

Download this release

Release Info

Developer Minglong Li
Extension Achang_Chinacustomer
Version 1.0.0
Comparing to
See all releases


Code changes from version 0.2.0 to 1.0.0

app/code/local/Achang/Chinacustomer/Block/Grid.php ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Adminhtml
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Adminhtml customer grid block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Adminhtml
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Achang_Chinacustomer_Block_Grid extends Mage_Adminhtml_Block_Customer_Grid
35
+ {
36
+
37
+ protected function _prepareColumns()
38
+ {
39
+ $this->addColumn('entity_id', array(
40
+ 'header' => Mage::helper('customer')->__('ID'),
41
+ 'width' => '50px',
42
+ 'index' => 'entity_id',
43
+ 'type' => 'number',
44
+ ));
45
+ /*$this->addColumn('firstname', array(
46
+ 'header' => Mage::helper('customer')->__('First Name'),
47
+ 'index' => 'firstname'
48
+ ));
49
+ $this->addColumn('lastname', array(
50
+ 'header' => Mage::helper('customer')->__('Last Name'),
51
+ 'index' => 'lastname'
52
+ ));*/
53
+ $this->addColumn('firstname', array(
54
+ 'header' => Mage::helper('customer')->__('Name'),
55
+ 'index' => 'firstname'
56
+ ));
57
+ $this->addColumn('email', array(
58
+ 'header' => Mage::helper('customer')->__('Email'),
59
+ 'width' => '150',
60
+ 'index' => 'email'
61
+ ));
62
+
63
+ $groups = Mage::getResourceModel('customer/group_collection')
64
+ ->addFieldToFilter('customer_group_id', array('gt'=> 0))
65
+ ->load()
66
+ ->toOptionHash();
67
+
68
+ $this->addColumn('group', array(
69
+ 'header' => Mage::helper('customer')->__('Group'),
70
+ 'width' => '100',
71
+ 'index' => 'group_id',
72
+ 'type' => 'options',
73
+ 'options' => $groups,
74
+ ));
75
+
76
+ $this->addColumn('Telephone', array(
77
+ 'header' => Mage::helper('customer')->__('Telephone'),
78
+ 'width' => '100',
79
+ 'index' => 'billing_telephone'
80
+ ));
81
+
82
+ $this->addColumn('billing_postcode', array(
83
+ 'header' => Mage::helper('customer')->__('ZIP'),
84
+ 'width' => '90',
85
+ 'index' => 'billing_postcode',
86
+ ));
87
+
88
+ $this->addColumn('billing_country_id', array(
89
+ 'header' => Mage::helper('customer')->__('Country'),
90
+ 'width' => '100',
91
+ 'type' => 'country',
92
+ 'index' => 'billing_country_id',
93
+ ));
94
+
95
+ $this->addColumn('billing_region', array(
96
+ 'header' => Mage::helper('customer')->__('State/Province'),
97
+ 'width' => '100',
98
+ 'index' => 'billing_region',
99
+ ));
100
+
101
+ $this->addColumn('customer_since', array(
102
+ 'header' => Mage::helper('customer')->__('Customer Since'),
103
+ 'type' => 'datetime',
104
+ 'align' => 'center',
105
+ 'index' => 'created_at',
106
+ 'gmtoffset' => true
107
+ ));
108
+
109
+ if (!Mage::app()->isSingleStoreMode()) {
110
+ $this->addColumn('website_id', array(
111
+ 'header' => Mage::helper('customer')->__('Website'),
112
+ 'align' => 'center',
113
+ 'width' => '80px',
114
+ 'type' => 'options',
115
+ 'options' => Mage::getSingleton('adminhtml/system_store')->getWebsiteOptionHash(true),
116
+ 'index' => 'website_id',
117
+ ));
118
+ }
119
+
120
+ $this->addColumn('action',
121
+ array(
122
+ 'header' => Mage::helper('customer')->__('Action'),
123
+ 'width' => '100',
124
+ 'type' => 'action',
125
+ 'getter' => 'getId',
126
+ 'actions' => array(
127
+ array(
128
+ 'caption' => Mage::helper('customer')->__('Edit'),
129
+ 'url' => array('base'=> '*/*/edit'),
130
+ 'field' => 'id'
131
+ )
132
+ ),
133
+ 'filter' => false,
134
+ 'sortable' => false,
135
+ 'index' => 'stores',
136
+ 'is_system' => true,
137
+ ));
138
+
139
+ $this->addExportType('*/*/exportCsv', Mage::helper('customer')->__('CSV'));
140
+ $this->addExportType('*/*/exportXml', Mage::helper('customer')->__('Excel XML'));
141
+ //return parent::_prepareColumns();
142
+ }
143
+
144
+ }
app/code/local/Achang/Chinacustomer/etc/config.xml CHANGED
@@ -31,6 +31,12 @@
31
  <chinacustomer>
32
  <class>Achang_Chinacustomer_Block</class>
33
  </chinacustomer>
 
 
 
 
 
 
34
  </blocks>
35
  <resources>
36
  <chinacustomer_setup>
31
  <chinacustomer>
32
  <class>Achang_Chinacustomer_Block</class>
33
  </chinacustomer>
34
+ <!-- rewrite adminhtml blocks -->
35
+ <adminhtml>
36
+ <rewrite>
37
+ <customer_grid>Achang_Chinacustomer_Block_Grid</customer_grid>
38
+ </rewrite>
39
+ </adminhtml>
40
  </blocks>
41
  <resources>
42
  <chinacustomer_setup>
app/code/local/Achang/RemoveBilling/Block/Checkout/Onepage.php DELETED
@@ -1,30 +0,0 @@
1
- <?php
2
- /**
3
- * Created by Achang WebDev
4
- *
5
- * @file Onepage.php
6
- * @author Owen <owen@achang.com>
7
- * @copyright Achang WebDev
8
- * @link http://www.achang.com
9
- *
10
- * Date Time: 13-8-2 上午10:43
11
- */
12
-
13
- class Achang_RemoveBilling_Block_Checkout_Onepage extends Mage_Checkout_Block_Onepage
14
- {
15
- public function getSteps()
16
- {
17
- $steps = array();
18
-
19
- if (!$this->isCustomerLoggedIn()) {
20
- $steps['login'] = $this->getCheckout()->getStepData('login');
21
- }
22
-
23
- $stepCodes = array('billing', 'shipping_method', 'payment', 'review','shipping');
24
-
25
- foreach ($stepCodes as $step) {
26
- $steps[$step] = $this->getCheckout()->getStepData($step);
27
- }
28
- return $steps;
29
- }
30
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Achang/RemoveBilling/Helper/Data.php DELETED
@@ -1,14 +0,0 @@
1
- <?php
2
- /**
3
- * Created by Achang WebDev
4
- *
5
- * @file ${FILE_NAME}
6
- * @author Owen <owen@achang.com>
7
- * @copyright Achang WebDev
8
- * @link http://www.achang.com
9
- *
10
- * Date Time: 13-8-2 上午10:38
11
- */
12
- class Achang_RemoveBilling_Helper_Data extends Mage_Core_Helper_Abstract {
13
-
14
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Achang/RemoveBilling/etc/config.xml DELETED
@@ -1,31 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <Achang_RemoveBilling>
5
- <version>0.1.0</version>
6
- </Achang_RemoveBilling>
7
- </modules>
8
- <global>
9
- <models>
10
- <removebilling>
11
- <class>Achang_RemoveBilling_Model</class>
12
- </removebilling>
13
-
14
- </models>
15
- <blocks>
16
- <removebilling>
17
- <class>Achang_RemoveBilling_Block</class>
18
- </removebilling>
19
- <checkout>
20
- <rewrite>
21
- <onepage>Achang_RemoveBilling_Block_Checkout_Onepage</onepage>
22
- </rewrite>
23
- </checkout>
24
- </blocks>
25
- <helpers>
26
- <removebilling>
27
- <class>Achang_RemoveBilling_Helper</class>
28
- </removebilling>
29
- </helpers>
30
- </global>
31
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Mage/Customer/Model/Address/Abstract.php ADDED
@@ -0,0 +1,402 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Customer
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Address abstract model
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Customer
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_Customer_Model_Address_Abstract extends Mage_Core_Model_Abstract
35
+ {
36
+ /**
37
+ * Possible customer address types
38
+ */
39
+ const TYPE_BILLING = 'billing';
40
+ const TYPE_SHIPPING = 'shipping';
41
+
42
+ /**
43
+ * Prefix of model events
44
+ *
45
+ * @var string
46
+ */
47
+ protected $_eventPrefix = 'customer_address';
48
+
49
+ /**
50
+ * Name of event object
51
+ *
52
+ * @var string
53
+ */
54
+ protected $_eventObject = 'customer_address';
55
+
56
+ /**
57
+ * Directory country models
58
+ *
59
+ * @var array
60
+ */
61
+ static protected $_countryModels = array();
62
+
63
+ /**
64
+ * Directory region models
65
+ *
66
+ * @var array
67
+ */
68
+ static protected $_regionModels = array();
69
+
70
+ /**
71
+ * Get full customer name
72
+ *
73
+ * @return string
74
+ */
75
+ public function getName()
76
+ {
77
+ $name = '';
78
+ $config = Mage::getSingleton('eav/config');
79
+ if ($config->getAttribute('customer_address', 'prefix')->getIsVisible() && $this->getPrefix()) {
80
+ $name .= $this->getPrefix() . ' ';
81
+ }
82
+ $name .= $this->getFirstname();
83
+ if ($config->getAttribute('customer_address', 'middlename')->getIsVisible() && $this->getMiddlename()) {
84
+ $name .= ' ' . $this->getMiddlename();
85
+ }
86
+ $name .= ' ' . $this->getLastname();
87
+ if ($config->getAttribute('customer_address', 'suffix')->getIsVisible() && $this->getSuffix()) {
88
+ $name .= ' ' . $this->getSuffix();
89
+ }
90
+ return $name;
91
+ }
92
+
93
+ /**
94
+ * get address street
95
+ *
96
+ * @param int $line address line index
97
+ * @return string
98
+ */
99
+ public function getStreet($line=0)
100
+ {
101
+ $street = parent::getData('street');
102
+ if (-1 === $line) {
103
+ return $street;
104
+ } else {
105
+ $arr = is_array($street) ? $street : explode("\n", $street);
106
+ if (0 === $line || $line === null) {
107
+ return $arr;
108
+ } elseif (isset($arr[$line-1])) {
109
+ return $arr[$line-1];
110
+ } else {
111
+ return '';
112
+ }
113
+ }
114
+ }
115
+
116
+ public function getStreet1()
117
+ {
118
+ return $this->getStreet(1);
119
+ }
120
+
121
+ public function getStreet2()
122
+ {
123
+ return $this->getStreet(2);
124
+ }
125
+
126
+ public function getStreet3()
127
+ {
128
+ return $this->getStreet(3);
129
+ }
130
+
131
+ public function getStreet4()
132
+ {
133
+ return $this->getStreet(4);
134
+ }
135
+
136
+ public function getStreetFull()
137
+ {
138
+ return $this->getData('street');
139
+ }
140
+
141
+ public function setStreetFull($street)
142
+ {
143
+ return $this->setStreet($street);
144
+ }
145
+
146
+ /**
147
+ * set address street informa
148
+ *
149
+ * @param unknown_type $street
150
+ * @return unknown
151
+ */
152
+ public function setStreet($street)
153
+ {
154
+ if (is_array($street)) {
155
+ $street = trim(implode("\n", $street));
156
+ }
157
+ $this->setData('street', $street);
158
+ return $this;
159
+ }
160
+
161
+ /**
162
+ * Create fields street1, street2, etc.
163
+ *
164
+ * To be used in controllers for views data
165
+ *
166
+ */
167
+ public function explodeStreetAddress()
168
+ {
169
+ $streetLines = $this->getStreet();
170
+ foreach ($streetLines as $i=>$line) {
171
+ $this->setData('street'.($i+1), $line);
172
+ }
173
+ return $this;
174
+ }
175
+
176
+ /**
177
+ * To be used when processing _POST
178
+ */
179
+ public function implodeStreetAddress()
180
+ {
181
+ $this->setStreet($this->getData('street'));
182
+ return $this;
183
+ }
184
+
185
+ /**
186
+ * Retrieve region name
187
+ *
188
+ * @return string
189
+ */
190
+ public function getRegion()
191
+ {
192
+ $regionId = $this->getData('region_id');
193
+ $region = $this->getData('region');
194
+
195
+ if ($regionId) {
196
+ if ($this->getRegionModel($regionId)->getCountryId() == $this->getCountryId()) {
197
+ $region = $this->getRegionModel($regionId)->getName();
198
+ $this->setData('region', $region);
199
+ }
200
+ }
201
+
202
+ if (!empty($region) && is_string($region)) {
203
+ $this->setData('region', $region);
204
+ }
205
+ elseif (!$regionId && is_numeric($region)) {
206
+ if ($this->getRegionModel($region)->getCountryId() == $this->getCountryId()) {
207
+ $this->setData('region', $this->getRegionModel($region)->getName());
208
+ $this->setData('region_id', $region);
209
+ }
210
+ }
211
+ elseif ($regionId && !$region) {
212
+ if ($this->getRegionModel($regionId)->getCountryId() == $this->getCountryId()) {
213
+ $this->setData('region', $this->getRegionModel($regionId)->getName());
214
+ }
215
+ }
216
+
217
+ return $this->getData('region');
218
+ }
219
+
220
+ /**
221
+ * Return 2 letter state code if available, otherwise full region name
222
+ *
223
+ */
224
+ public function getRegionCode()
225
+ {
226
+ $regionId = $this->getData('region_id');
227
+ $region = $this->getData('region');
228
+
229
+ if (!$regionId && is_numeric($region)) {
230
+ if ($this->getRegionModel($region)->getCountryId() == $this->getCountryId()) {
231
+ $this->setData('region_code', $this->getRegionModel($region)->getCode());
232
+ }
233
+ }
234
+ elseif ($regionId) {
235
+ if ($this->getRegionModel($regionId)->getCountryId() == $this->getCountryId()) {
236
+ $this->setData('region_code', $this->getRegionModel($regionId)->getCode());
237
+ }
238
+ }
239
+ elseif (is_string($region)) {
240
+ $this->setData('region_code', $region);
241
+ }
242
+ return $this->getData('region_code');
243
+ }
244
+
245
+ public function getRegionId()
246
+ {
247
+ $regionId = $this->getData('region_id');
248
+ $region = $this->getData('region');
249
+ if (!$regionId) {
250
+ if (is_numeric($region)) {
251
+ $this->setData('region_id', $region);
252
+ $this->unsRegion();
253
+ } else {
254
+ $regionModel = Mage::getModel('directory/region')
255
+ ->loadByCode($this->getRegionCode(), $this->getCountryId());
256
+ $this->setData('region_id', $regionModel->getId());
257
+ }
258
+ }
259
+ return $this->getData('region_id');
260
+ }
261
+
262
+ public function getCountry()
263
+ {
264
+ /*if ($this->getData('country_id') && !$this->getData('country')) {
265
+ $this->setData('country', Mage::getModel('directory/country')
266
+ ->load($this->getData('country_id'))->getIso2Code());
267
+ }
268
+ return $this->getData('country');*/
269
+ $country = $this->getCountryId();
270
+ return $country ? $country : $this->getData('country');
271
+ }
272
+
273
+ /**
274
+ * Retrive country model
275
+ *
276
+ * @return Mage_Directory_Model_Country
277
+ */
278
+ public function getCountryModel()
279
+ {
280
+ if(!isset(self::$_countryModels[$this->getCountryId()])) {
281
+ self::$_countryModels[$this->getCountryId()] = Mage::getModel('directory/country')
282
+ ->load($this->getCountryId());
283
+ }
284
+
285
+ return self::$_countryModels[$this->getCountryId()];
286
+ }
287
+
288
+ /**
289
+ * Retrive country model
290
+ *
291
+ * @return Mage_Directory_Model_Country
292
+ */
293
+ public function getRegionModel($region=null)
294
+ {
295
+ if(is_null($region)) {
296
+ $region = $this->getRegionId();
297
+ }
298
+
299
+ if(!isset(self::$_regionModels[$region])) {
300
+ self::$_regionModels[$region] = Mage::getModel('directory/region')->load($region);
301
+ }
302
+
303
+ return self::$_regionModels[$region];
304
+ }
305
+
306
+ /**
307
+ * @deprecated for public function format
308
+ */
309
+ public function getHtmlFormat()
310
+ {
311
+ return $this->getConfig()->getFormatByCode('html');
312
+ }
313
+
314
+ /**
315
+ * @deprecated for public function format
316
+ */
317
+ public function getFormated($html=false)
318
+ {
319
+ return $this->format($html ? 'html' : 'text');
320
+ //Mage::getModel('directory/country')->load($this->getCountryId())->formatAddress($this, $html);
321
+ }
322
+
323
+ public function format($type)
324
+ {
325
+ if(!($formatType = $this->getConfig()->getFormatByCode($type))
326
+ || !$formatType->getRenderer()) {
327
+ return null;
328
+ }
329
+ Mage::dispatchEvent('customer_address_format', array('type' => $formatType, 'address' => $this));
330
+ return $formatType->getRenderer()->render($this);
331
+ }
332
+
333
+ /**
334
+ * Retrive address config object
335
+ *
336
+ * @return Mage_Customer_Model_Address_Config
337
+ */
338
+ public function getConfig()
339
+ {
340
+ return Mage::getSingleton('customer/address_config');
341
+ }
342
+
343
+ protected function _beforeSave()
344
+ {
345
+ parent::_beforeSave();
346
+ $this->getRegion();
347
+ return $this;
348
+ }
349
+
350
+ /**
351
+ * Validate address attribute values
352
+ *
353
+ * @return bool
354
+ */
355
+ public function validate()
356
+ {
357
+ $errors = array();
358
+ $this->implodeStreetAddress();
359
+ if (!Zend_Validate::is($this->getFirstname(), 'NotEmpty')) {
360
+ $errors[] = Mage::helper('customer')->__('Please enter the first name.');
361
+ }
362
+
363
+ if (false && !Zend_Validate::is($this->getLastname(), 'NotEmpty')) {
364
+ $errors[] = Mage::helper('customer')->__('Please enter the last name.');
365
+ }
366
+
367
+ if (!Zend_Validate::is($this->getStreet(1), 'NotEmpty')) {
368
+ $errors[] = Mage::helper('customer')->__('Please enter the street.');
369
+ }
370
+
371
+ if (!Zend_Validate::is($this->getCity(), 'NotEmpty')) {
372
+ $errors[] = Mage::helper('customer')->__('Please enter the city.');
373
+ }
374
+
375
+ if (!Zend_Validate::is($this->getTelephone(), 'NotEmpty')) {
376
+ $errors[] = Mage::helper('customer')->__('Please enter the telephone number.');
377
+ }
378
+
379
+ $_havingOptionalZip = Mage::helper('directory')->getCountriesWithOptionalZip();
380
+ if (!in_array($this->getCountryId(), $_havingOptionalZip)
381
+ && !Zend_Validate::is($this->getPostcode(), 'NotEmpty')
382
+ ) {
383
+ $errors[] = Mage::helper('customer')->__('Please enter the zip/postal code.');
384
+ }
385
+
386
+ if (!Zend_Validate::is($this->getCountryId(), 'NotEmpty')) {
387
+ $errors[] = Mage::helper('customer')->__('Please enter the country.');
388
+ }
389
+
390
+ if ($this->getCountryModel()->getRegionCollection()->getSize()
391
+ && !Zend_Validate::is($this->getRegionId(), 'NotEmpty')
392
+ && Mage::helper('directory')->isRegionRequired($this->getCountryId())
393
+ ) {
394
+ $errors[] = Mage::helper('customer')->__('Please enter the state/province.');
395
+ }
396
+
397
+ if (empty($errors) || $this->getShouldIgnoreValidation()) {
398
+ return true;
399
+ }
400
+ return $errors;
401
+ }
402
+ }
app/locale/en_US/Mage_Customer.csv ADDED
@@ -0,0 +1,474 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "'%value%' appears to be a DNS hostname but cannot extract TLD part","'%value%' appears to be a DNS hostname but cannot extract TLD part"
2
+ "'%value%' appears to be a DNS hostname but cannot match TLD against known list","'%value%' appears to be a DNS hostname but cannot match TLD against known list"
3
+ "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'","'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'"
4
+ "'%value%' appears to be a DNS hostname but contains a dash in an invalid position","'%value%' appears to be a DNS hostname but contains a dash in an invalid position"
5
+ "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded","'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded"
6
+ "'%value%' appears to be a local network name but local network names are not allowed","'%value%' appears to be a local network name but local network names are not allowed"
7
+ "'%value%' appears to be an IP address, but IP addresses are not allowed","'%value%' appears to be an IP address, but IP addresses are not allowed"
8
+ "'%value%' does not appear to be a valid local network name","'%value%' does not appear to be a valid local network name"
9
+ "* Required Fields","* Required Fields"
10
+ "ALL GROUPS","ALL GROUPS"
11
+ "Account Dashboard","Account Dashboard"
12
+ "Account Information","Account Information"
13
+ "Account Sharing Options","Account Sharing Options"
14
+ "Account confirmation is required. Please, check your e-mail for confirmation link. To resend confirmation email please <a href=""%s"">click here</a>.","Account confirmation is required. Please, check your e-mail for confirmation link. To resend confirmation email please <a href=""%s"">click here</a>."
15
+ "Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href=""%s"">click here</a>.","Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href=""%s"">click here</a>."
16
+ "Action","Action"
17
+ "Add New Address","Add New Address"
18
+ "Add New Customer","Add New Customer"
19
+ "Add New Customer Group","Add New Customer Group"
20
+ "Added From","Added From"
21
+ "Additional Address Entries","Additional Address Entries"
22
+ "Address","Address"
23
+ "Address Book","Address Book"
24
+ "Address Books","Address Books"
25
+ "Address Information","Address Information"
26
+ "Address Templates","Address Templates"
27
+ "Addresses","Addresses"
28
+ "Admin","Admin"
29
+ "All","All"
30
+ "All Store Views","All Store Views"
31
+ "All countries","All countries"
32
+ "Always optional.","Always optional."
33
+ "Amount","Amount"
34
+ "An error occurred while deleting the address.","An error occurred while deleting the address."
35
+ "An error occurred while retrieving the option value: %s.","An error occurred while retrieving the option value: %s."
36
+ "An error occurred while saving the collection, aborting. Error: %s","An error occurred while saving the collection, aborting. Error: %s"
37
+ "An invalid option ID is specified for %s (%s), skipping the record.","An invalid option ID is specified for %s (%s), skipping the record."
38
+ "Approved","Approved"
39
+ "Are you sure that you want to remove this item?","Are you sure that you want to remove this item?"
40
+ "Are you sure you want to cancel adding of this address?","Are you sure you want to cancel adding of this address?"
41
+ "Are you sure you want to delete this address?","Are you sure you want to delete this address?"
42
+ "Are you sure?","Are you sure?"
43
+ "Array of Entity collections is expected.","Array of Entity collections is expected."
44
+ "Assign a Customer Group","Assign a Customer Group"
45
+ "Average Sale","Average Sale"
46
+ "Back","Back"
47
+ "Back - link to the previously viewed page","Back - link to the previously viewed page"
48
+ "Back to Login","Back to Login"
49
+ "Bad request.","Bad request."
50
+ "Based on the VAT ID, the customer would belong to the Customer Group %s.","Based on the VAT ID, the customer would belong to the Customer Group %s."
51
+ "Bill to Name","Bill to Name"
52
+ "Bought From","Bought From"
53
+ "By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.","By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more."
54
+ "CSV","CSV"
55
+ "Cancel","Cancel"
56
+ "Cannot save a new password.","Cannot save a new password."
57
+ "Cannot save address.","Cannot save address."
58
+ "Cannot save the customer.","Cannot save the customer."
59
+ "Cannot share customer accounts globally because some customer accounts with the same emails exist on multiple websites and cannot be merged.","Cannot share customer accounts globally because some customer accounts with the same emails exist on multiple websites and cannot be merged."
60
+ "Change Account Password","Change Account Password"
61
+ "Change Billing Address","Change Billing Address"
62
+ "Change Password","Change Password"
63
+ "Change Shipping Address","Change Shipping Address"
64
+ "City","City"
65
+ "Company","Company"
66
+ "Config","Config"
67
+ "Configure","Configure"
68
+ "Confirm New Password","Confirm New Password"
69
+ "Confirm Password","Confirm Password"
70
+ "Confirmation Link Email","Confirmation Link Email"
71
+ "Confirmed","Confirmed"
72
+ "Contact Information","Contact Information"
73
+ "Continue Shopping","Continue Shopping"
74
+ "Country","Country"
75
+ "Create","Create"
76
+ "Create New Account Options","Create New Account Options"
77
+ "Create New Customer Account","Create New Customer Account"
78
+ "Create Order","Create Order"
79
+ "Create an Account","Create an Account"
80
+ "Create customer","Create customer"
81
+ "Create customer address","Create customer address"
82
+ "Current Password","Current Password"
83
+ "Customer","Customer"
84
+ "Customer API","Customer API"
85
+ "Customer Account Edit Form","Customer Account Edit Form"
86
+ "Customer Account Login Form","Customer Account Login Form"
87
+ "Customer Account Logout Success","Customer Account Logout Success"
88
+ "Customer Account Registration Form","Customer Account Registration Form"
89
+ "Customer Addresses","Customer Addresses"
90
+ "Customer Configuration","Customer Configuration"
91
+ "Customer Forgot Password Form","Customer Forgot Password Form"
92
+ "Customer Group","Customer Group"
93
+ "Customer Groups","Customer Groups"
94
+ "Customer Information","Customer Information"
95
+ "Customer Login","Customer Login"
96
+ "Customer My Account (All Pages)","Customer My Account (All Pages)"
97
+ "Customer My Account Address Book","Customer My Account Address Book"
98
+ "Customer My Account Address Edit Form","Customer My Account Address Edit Form"
99
+ "Customer My Account Dashboard","Customer My Account Dashboard"
100
+ "Customer Since","Customer Since"
101
+ "Customer View","Customer View"
102
+ "Customer collection expected.","Customer collection expected."
103
+ "Customer email is required","Customer email is required"
104
+ "Customer website ID must be specified when using the website scope","Customer website ID must be specified when using the website scope"
105
+ "Customer will stay on the current page if ""No"" is selected.","Customer will stay on the current page if ""No"" is selected."
106
+ "Customers","Customers"
107
+ "Customers Only","Customers Only"
108
+ "Customers Section","Customers Section"
109
+ "DD","DD"
110
+ "Date","Date"
111
+ "Date Added","Date Added"
112
+ "Date of Birth","Date of Birth"
113
+ "Day","Day"
114
+ "Days in Wishlist","Days in Wishlist"
115
+ "Default Addresses","Default Addresses"
116
+ "Default Billing Address","Default Billing Address"
117
+ "Default Email Domain","Default Email Domain"
118
+ "Default Group","Default Group"
119
+ "Default Shipping Address","Default Shipping Address"
120
+ "Default Value for Disable Automatic Group Changes Based on VAT ID","Default Value for Disable Automatic Group Changes Based on VAT ID"
121
+ "Default Welcome Email","Default Welcome Email"
122
+ "Delete","Delete"
123
+ "Delete Address","Delete Address"
124
+ "Delete Customer","Delete Customer"
125
+ "Delete Customer Group","Delete Customer Group"
126
+ "Delete customer","Delete customer"
127
+ "Delete customer address","Delete customer address"
128
+ "Deleted Stores","Deleted Stores"
129
+ "Details","Details"
130
+ "Disabled","Disabled"
131
+ "Edit","Edit"
132
+ "Edit Account Info","Edit Account Info"
133
+ "Edit Account Information","Edit Account Information"
134
+ "Edit Address","Edit Address"
135
+ "Edit Address Entry","Edit Address Entry"
136
+ "Edit Customer Group ""%s""","Edit Customer Group ""%s"""
137
+ "Edit Customer Groups","Edit Customer Groups"
138
+ "Edit Customer's Address","Edit Customer's Address"
139
+ "Edit Group","Edit Group"
140
+ "Edit Newsletters","Edit Newsletters"
141
+ "Email","Email"
142
+ "Email Address","Email Address"
143
+ "Email Sender","Email Sender"
144
+ "Email:","Email:"
145
+ "Enable Automatic Assignment to Customer Group","Enable Automatic Assignment to Customer Group"
146
+ "Entity collection is expected.","Entity collection is expected."
147
+ "Excel XML","Excel XML"
148
+ "Failed to confirm customer account.","Failed to confirm customer account."
149
+ "Fax","Fax"
150
+ "First Name","Name"
151
+ "Forgot Email Template","Forgot Email Template"
152
+ "Forgot Password","Forgot Password"
153
+ "Forgot Your Password","Forgot Your Password"
154
+ "Forgot Your Password?","Forgot Your Password?"
155
+ "Forgot and Remind Email Sender","Forgot and Remind Email Sender"
156
+ "Form Fields Before","Form Fields Before"
157
+ "From your My Account Dashboard you have the ability to view a snapshot of your recent account activity and update your account information. Select a link below to view or edit information.","From your My Account Dashboard you have the ability to view a snapshot of your recent account activity and update your account information. Select a link below to view or edit information."
158
+ "Gender","Gender"
159
+ "Gender is required.","Gender is required."
160
+ "General Subscription","General Subscription"
161
+ "Generate Human-Friendly Customer ID","Generate Human-Friendly Customer ID"
162
+ "Global","Global"
163
+ "Grand Total","Grand Total"
164
+ "Group","Group"
165
+ "Group Information","Group Information"
166
+ "Group Name","Group Name"
167
+ "Group for Invalid VAT ID","Group for Invalid VAT ID"
168
+ "Group for Valid VAT ID - Domestic","Group for Valid VAT ID - Domestic"
169
+ "Group for Valid VAT ID - Intra-Union","Group for Valid VAT ID - Intra-Union"
170
+ "Guest","Guest"
171
+ "HTML","HTML"
172
+ "Hello, %s!","Hello, %s!"
173
+ "ID","ID"
174
+ "IP Address","IP Address"
175
+ "If there is an account associated with %s you will receive an email with a link to reset your password.","If there is an account associated with %s you will receive an email with a link to reset your password."
176
+ "If you are a registered VAT customer, please click <a href=""%s"">here</a> to enter you billing address for proper VAT calculation","If you are a registered VAT customer, please click <a href=""%s"">here</a> to enter you billing address for proper VAT calculation"
177
+ "If you are a registered VAT customer, please click <a href=""%s"">here</a> to enter you shipping address for proper VAT calculation","If you are a registered VAT customer, please click <a href=""%s"">here</a> to enter you shipping address for proper VAT calculation"
178
+ "If you believe this is an error, please contact us at %s","If you believe this is an error, please contact us at %s"
179
+ "If you have an account with us, please log in.","If you have an account with us, please log in."
180
+ "Invalid attribute option specified for attribute %s (%s), skipping the record.","Invalid attribute option specified for attribute %s (%s), skipping the record."
181
+ "Invalid attribute set specified, skipping the record.","Invalid attribute set specified, skipping the record."
182
+ "Invalid billing address for (%s)","Invalid billing address for (%s)"
183
+ "Invalid current password","Invalid current password"
184
+ "Invalid customer data","Invalid customer data"
185
+ "Invalid email address ""%s"".","Invalid email address ""%s""."
186
+ "Invalid email address.","Invalid email address."
187
+ "Invalid login or password.","Invalid login or password."
188
+ "Invalid password reset token.","Invalid password reset token."
189
+ "Invalid shipping address for (%s)","Invalid shipping address for (%s)"
190
+ "Invalid store specified, skipping the record.","Invalid store specified, skipping the record."
191
+ "Invalid website, skipping the record, line: %s","Invalid website, skipping the record, line: %s"
192
+ "Last Activity","Last Activity"
193
+ "Last Date Subscribed","Last Date Subscribed"
194
+ "Last Date Unsubscribed","Last Date Unsubscribed"
195
+ "Last Name","Last Name"
196
+ "Last URL","Last URL"
197
+ "Leave empty for default (15 minutes).","Leave empty for default (15 minutes)."
198
+ "Leave empty for default (2). Valid range: 1-4","Leave empty for default (2). Valid range: 1-4"
199
+ "Lifetime Sales","Lifetime Sales"
200
+ "Log In","Log In"
201
+ "Log Out","Log Out"
202
+ "Login","Login"
203
+ "Login Information","Login Information"
204
+ "Login Options","Login Options"
205
+ "Login and password are required.","Login and password are required."
206
+ "Login or Create an Account","Login or Create an Account"
207
+ "MM","MM"
208
+ "Manage Addresses","Manage Addresses"
209
+ "Manage Customers","Manage Customers"
210
+ "Maximum length must be less then %s symbols","Maximum length must be less then %s symbols"
211
+ "Missing email, skipping the record, line: %s","Missing email, skipping the record, line: %s"
212
+ "Missing email, skipping the record.","Missing email, skipping the record."
213
+ "Missing first name, skipping the record, line: %s","Missing first name, skipping the record, line: %s"
214
+ "Missing firstname, skipping the record.","Missing firstname, skipping the record."
215
+ "Missing last name, skipping the record, line: %s","Missing last name, skipping the record, line: %s"
216
+ "Missing lastname, skipping the record.","Missing lastname, skipping the record."
217
+ "Missing website, skipping the record, line: %s","Missing website, skipping the record, line: %s"
218
+ "Month","Month"
219
+ "My Account","My Account"
220
+ "My Account Wrapper","My Account Wrapper"
221
+ "My Dashboard","My Dashboard"
222
+ "My Orders","My Orders"
223
+ "Name","Name"
224
+ "Name and Address Options","Name and Address Options"
225
+ "Never","Never"
226
+ "New Address","New Address"
227
+ "New Address Entry","New Address Entry"
228
+ "New Customer","New Customer"
229
+ "New Customer Address","New Customer Address"
230
+ "New Customer Group","New Customer Group"
231
+ "New Customer Groups","New Customer Groups"
232
+ "New Customers","New Customers"
233
+ "New Group","New Group"
234
+ "New Password","New Password"
235
+ "New account","New account"
236
+ "New account confirmation key","New account confirmation key"
237
+ "New account confirmed","New account confirmed"
238
+ "New password field cannot be empty.","New password field cannot be empty."
239
+ "Newsletter","Newsletter"
240
+ "Newsletter Finish","Newsletter Finish"
241
+ "Newsletter Information","Newsletter Information"
242
+ "Newsletter Received","Newsletter Received"
243
+ "Newsletter Start","Newsletter Start"
244
+ "Newsletter Subscription","Newsletter Subscription"
245
+ "Newsletters","Newsletters"
246
+ "No Items Found","No Items Found"
247
+ "No Newsletter Found","No Newsletter Found"
248
+ "No customer collections found","No customer collections found"
249
+ "No item specified.","No item specified."
250
+ "Not Sent","Not Sent"
251
+ "Not confirmed, can login","Not confirmed, can login"
252
+ "Not confirmed, cannot login","Not confirmed, cannot login"
253
+ "Number of Lines in a Street Address ","Number of Lines in a Street Address "
254
+ "Offline","Offline"
255
+ "Online","Online"
256
+ "Online Customers","Online Customers"
257
+ "Online Customers Options","Online Customers Options"
258
+ "Online Minutes Interval","Online Minutes Interval"
259
+ "Order #","Order #"
260
+ "Order Total","Order Total"
261
+ "Orders","Orders"
262
+ "PDF","PDF"
263
+ "Password","Password"
264
+ "Password Management","Password Management"
265
+ "Password Options","Password Options"
266
+ "Password forgotten","Password forgotten"
267
+ "Password:","Password:"
268
+ "Paused","Paused"
269
+ "Pending","Pending"
270
+ "Per Website","Per Website"
271
+ "Personal Information","Personal Information"
272
+ "Please enter a number 1 or greater in this field.","Please enter a number 1 or greater in this field."
273
+ "Please enter a valid date between %s and %s at %s.","Please enter a valid date between %s and %s at %s."
274
+ "Please enter a valid date equal to or greater than %s at %s.","Please enter a valid date equal to or greater than %s at %s."
275
+ "Please enter a valid date less than or equal to %s at %s.","Please enter a valid date less than or equal to %s at %s."
276
+ "Please enter the city.","Please enter the city."
277
+ "Please enter the country.","Please enter the country."
278
+ "Please enter the first name.","Please enter the first name."
279
+ "Please enter the last name.","Please enter the last name."
280
+ "Please enter the state/province.","Please enter the state/province."
281
+ "Please enter the street.","Please enter the street."
282
+ "Please enter the telephone number.","Please enter the telephone number."
283
+ "Please enter the zip/postal code.","Please enter the zip/postal code."
284
+ "Please enter your email address below. You will receive a link to reset your password.","Please enter your email address below. You will receive a link to reset your password."
285
+ "Please enter your email below and we\'ll send you confirmation link for it.","Please enter your email below and we\'ll send you confirmation link for it."
286
+ "Please enter your email.","Please enter your email."
287
+ "Please make sure your passwords match.","Please make sure your passwords match."
288
+ "Please select","Please select"
289
+ "Please select a website which contains store view","Please select a website which contains store view"
290
+ "Please select region, state or province","Please select region, state or province"
291
+ "Please, check your email for confirmation key.","Please, check your email for confirmation key."
292
+ "Prefix Dropdown Options","Prefix Dropdown Options"
293
+ "Price","Price"
294
+ "Product","Product"
295
+ "Product ID","Product ID"
296
+ "Product Name","Product Name"
297
+ "Product Reviews","Product Reviews"
298
+ "Product Tags","Product Tags"
299
+ "Purchase On","Purchase On"
300
+ "Purchased At","Purchased At"
301
+ "Qty","Qty"
302
+ "Recent Orders","Recent Orders"
303
+ "Records for %s store found.","Records for %s store found."
304
+ "Recovery Link Expiration Period (days)","Recovery Link Expiration Period (days)"
305
+ "Redirect Customer to Account Dashboard after Logging in","Redirect Customer to Account Dashboard after Logging in"
306
+ "Refunded","Refunded"
307
+ "Registered Customers","Registered Customers"
308
+ "Remind Email Template","Remind Email Template"
309
+ "Remind Password","Remind Password"
310
+ "Remove","Remove"
311
+ "Require Emails Confirmation","Require Emails Confirmation"
312
+ "Reset a Password","Reset a Password"
313
+ "Retrieve address data","Retrieve address data"
314
+ "Retrieve address info","Retrieve address info"
315
+ "Retrieve customer addresses","Retrieve customer addresses"
316
+ "Retrieve customer data","Retrieve customer data"
317
+ "Retrieve customer groups","Retrieve customer groups"
318
+ "Retrieve customer info","Retrieve customer info"
319
+ "Retrieve customers","Retrieve customers"
320
+ "Retrieve your confirmation link here","Retrieve your confirmation link here"
321
+ "Retrieve your password here","Retrieve your password here"
322
+ "SKU","SKU"
323
+ "Sales Statistics","Sales Statistics"
324
+ "Save","Save"
325
+ "Save Address","Save Address"
326
+ "Save Customer","Save Customer"
327
+ "Save Customer Group","Save Customer Group"
328
+ "Save Password","Save Password"
329
+ "Save and Continue Edit","Save and Continue Edit"
330
+ "Saved %d record(s)","Saved %d record(s)"
331
+ "Semicolon (;) separated values.<br/>Put semicolon in the beginning for empty first option.<br/>Leave empty for open text field.","Semicolon (;) separated values.<br/>Put semicolon in the beginning for empty first option.<br/>Leave empty for open text field."
332
+ "Send From","Send From"
333
+ "Send Welcome Email","Send Welcome Email"
334
+ "Send Welcome Email after Confirmation","Send Welcome Email after Confirmation"
335
+ "Send auto-generated password","Send auto-generated password"
336
+ "Send confirmation link","Send confirmation link"
337
+ "Sending","Sending"
338
+ "Sent","Sent"
339
+ "Session Start Time","Session Start Time"
340
+ "Set as Default Billing Address","Set as Default Billing Address"
341
+ "Set as Default Shipping Address","Set as Default Shipping Address"
342
+ "Share Customer Accounts","Share Customer Accounts"
343
+ "Shipped to First Name","Shipped to First Name"
344
+ "Shipped to Last Name","Shipped to Last Name"
345
+ "Shipped to Name","Shipped to Name"
346
+ "Shopping Cart","Shopping Cart"
347
+ "Shopping Cart - %d item(s)","Shopping Cart - %d item(s)"
348
+ "Shopping Cart of %1$s - %2$d item(s)","Shopping Cart of %1$s - %2$d item(s)"
349
+ "Show Date of Birth","Show Date of Birth"
350
+ "Show Gender","Show Gender"
351
+ "Show Middle Name (initial)","Show Middle Name (initial)"
352
+ "Show Prefix","Show Prefix"
353
+ "Show Suffix","Show Suffix"
354
+ "Show Tax/VAT Number","Show Tax/VAT Number"
355
+ "Show VAT Number on Frontend","Show VAT Number on Frontend"
356
+ "Sign Up for Newsletter","Sign Up for Newsletter"
357
+ "Skipping import row, required field ""%s"" is not defined.","Skipping import row, required field ""%s"" is not defined."
358
+ "Skipping import row, website ""%s"" field does not exist.","Skipping import row, website ""%s"" field does not exist."
359
+ "State/Province","State/Province"
360
+ "Status","Status"
361
+ "Store","Store"
362
+ "Store View","Store View"
363
+ "Street Address","Street Address"
364
+ "Street Address %s","Street Address %s"
365
+ "Subject","Subject"
366
+ "Submit","Submit"
367
+ "Subscribe to Newsletter","Subscribe to Newsletter"
368
+ "Subscribed to Newsletter?","Subscribed to Newsletter?"
369
+ "Suffix Dropdown Options","Suffix Dropdown Options"
370
+ "Tag Name","Tag Name"
371
+ "Tax Calculation Based On","Tax Calculation Based On"
372
+ "Tax Class","Tax Class"
373
+ "Tax/VAT number","Tax/VAT number"
374
+ "Telephone","Telephone"
375
+ "Text","Text"
376
+ "Text One Line","Text One Line"
377
+ "Thank you for registering with %s.","Thank you for registering with %s."
378
+ "The Date of Birth is required.","The Date of Birth is required."
379
+ "The TAX/VAT number is required.","The TAX/VAT number is required."
380
+ "The VAT ID entered (%s) is not a valid VAT ID.","The VAT ID entered (%s) is not a valid VAT ID."
381
+ "The VAT ID entered (%s) is not a valid VAT ID. The customer would belong to Customer Group %s.","The VAT ID entered (%s) is not a valid VAT ID. The customer would belong to Customer Group %s."
382
+ "The VAT ID is valid. The current Customer Group will be used.","The VAT ID is valid. The current Customer Group will be used."
383
+ "The account information has been saved.","The account information has been saved."
384
+ "The address does not belong to this customer.","The address does not belong to this customer."
385
+ "The address has been deleted.","The address has been deleted."
386
+ "The address has been saved.","The address has been saved."
387
+ "The customer ID and email did not match, skipping the record, line: %s","The customer ID and email did not match, skipping the record, line: %s"
388
+ "The customer does not have default billing address.","The customer does not have default billing address."
389
+ "The customer email (%s) already exists, skipping the record, line: %s","The customer email (%s) already exists, skipping the record, line: %s"
390
+ "The customer group has been deleted.","The customer group has been deleted."
391
+ "The customer group has been saved.","The customer group has been saved."
392
+ "The customer is currently assigned to Customer Group %s.","The customer is currently assigned to Customer Group %s."
393
+ "The first name cannot be empty.","The first name cannot be empty."
394
+ "The group ""%s"" cannot be deleted","The group ""%s"" cannot be deleted"
395
+ "The last name cannot be empty.","The last name cannot be empty."
396
+ "The minimum password length is %s","The minimum password length is %s"
397
+ "The password cannot be empty.","The password cannot be empty."
398
+ "The password must have at least 6 characters. Leading or trailing spaces will be ignored.","The password must have at least 6 characters. Leading or trailing spaces will be ignored."
399
+ "The suffix that goes after name (Jr., Sr., etc.)","The suffix that goes after name (Jr., Sr., etc.)"
400
+ "The title that goes before name (Mr., Mrs., etc.)","The title that goes before name (Mr., Mrs., etc.)"
401
+ "There are no items in customer's wishlist at the moment","There are no items in customer's wishlist at the moment"
402
+ "There are no items in customer\'s shopping cart at the moment","There are no items in customer\'s shopping cart at the moment"
403
+ "There is already an account with this email address. If you are sure that it is your email address, <a href=""%s"">click here</a> to get your password and access your account.","There is already an account with this email address. If you are sure that it is your email address, <a href=""%s"">click here</a> to get your password and access your account."
404
+ "There was an error validating the VAT ID.","There was an error validating the VAT ID."
405
+ "There was an error validating the VAT ID. The customer would belong to Customer Group %s.","There was an error validating the VAT ID. The customer would belong to Customer Group %s."
406
+ "This account is not confirmed.","This account is not confirmed."
407
+ "This account is not confirmed. <a href=""%s"">Click here</a> to resend confirmation email.","This account is not confirmed. <a href=""%s"">Click here</a> to resend confirmation email."
408
+ "This customer email already exists","This customer email already exists"
409
+ "This customer has no saved addresses.","This customer has no saved addresses."
410
+ "This email does not require confirmation.","This email does not require confirmation."
411
+ "This email will be sent instead of default welcome email, after account confirmation.","This email will be sent instead of default welcome email, after account confirmation."
412
+ "This is My Default %s Address","This is My Default %s Address"
413
+ "To Cart","To Cart"
414
+ "To show VAT number on frontend, set Show VAT Number on Frontend option to Yes.","To show VAT number on frontend, set Show VAT Number on Frontend option to Yes."
415
+ "Total","Total"
416
+ "Type","Type"
417
+ "Unknown","Unknown"
418
+ "Unsubscribe from Newsletter","Unsubscribe from Newsletter"
419
+ "Update","Update"
420
+ "Update customer address data","Update customer address data"
421
+ "Update customer data","Update customer data"
422
+ "Use as My Default %s Address","Use as My Default %s Address"
423
+ "Use as My Default Billing Address","Use as My Default Billing Address"
424
+ "Use as My Default Shipping Address","Use as My Default Shipping Address"
425
+ "Use as my default billing address","Use as my default billing address"
426
+ "Use as my default shipping address","Use as my default shipping address"
427
+ "VAT Number","VAT Number"
428
+ "VAT Request Date","VAT Request Date"
429
+ "VAT Request Identifier","VAT Request Identifier"
430
+ "Validate VAT Number","Validate VAT Number"
431
+ "Validate on Each Transaction","Validate on Each Transaction"
432
+ "Validation Error Group","Validation Error Group"
433
+ "View","View"
434
+ "View Order","View Order"
435
+ "Visitor","Visitor"
436
+ "Visitors Only","Visitors Only"
437
+ "Website","Website"
438
+ "Welcome Email","Welcome Email"
439
+ "Wishlist","Wishlist"
440
+ "Wishlist - %d item(s)","Wishlist - %d item(s)"
441
+ "Would you like to change the Customer Group for this order?","Would you like to change the Customer Group for this order?"
442
+ "Wrong confirmation key.","Wrong confirmation key."
443
+ "Wrong customer account specified.","Wrong customer account specified."
444
+ "Wrong email.","Wrong email."
445
+ "Wrong transactional account email type","Wrong transactional account email type"
446
+ "YYYY","YYYY"
447
+ "Year","Year"
448
+ "You are currently not subscribed to any newsletter.","You are currently not subscribed to any newsletter."
449
+ "You are currently not subscribed to our newsletter.","You are currently not subscribed to our newsletter."
450
+ "You are currently subscribed to 'General Subscription'.","You are currently subscribed to 'General Subscription'."
451
+ "You are currently subscribed to our newsletter.","You are currently subscribed to our newsletter."
452
+ "You are now logged out","You are now logged out"
453
+ "You have logged out and will be redirected to our homepage in 5 seconds.","You have logged out and will be redirected to our homepage in 5 seconds."
454
+ "You have no additional address entries in your address book.","You have no additional address entries in your address book."
455
+ "You have no additional entries in your address book.","You have no additional entries in your address book."
456
+ "You have no default billing address in your address book.","You have no default billing address in your address book."
457
+ "You have no default entries in your address book.","You have no default entries in your address book."
458
+ "You have no default shipping address in your address book.","You have no default shipping address in your address book."
459
+ "You have not set a default billing address.","You have not set a default billing address."
460
+ "You have not set a default shipping address.","You have not set a default shipping address."
461
+ "You have placed no orders yet.","You have placed no orders yet."
462
+ "You have placed no products yet.","You have placed no products yet."
463
+ "You will be charged tax.","You will be charged tax."
464
+ "You will not be charged tax.","You will not be charged tax."
465
+ "Your Tax ID cannot be validated.","Your Tax ID cannot be validated."
466
+ "Your VAT ID was successfully validated.","Your VAT ID was successfully validated."
467
+ "Your account balance is: %s","Your account balance is: %s"
468
+ "Your password has been updated.","Your password has been updated."
469
+ "Your password reset link has expired.","Your password reset link has expired."
470
+ "ZIP","ZIP"
471
+ "ZIP/Post Code","ZIP/Post Code"
472
+ "Zip/Postal Code","Zip/Postal Code"
473
+ "n/a","n/a"
474
+ "or","or"
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Achang_Chinacustomer</name>
4
- <version>0.2.0</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>&#x53BB;&#x9664;lastname</summary>
10
- <description>&#x53BB;&#x9664;lastname remove last name</description>
11
- <notes>remoe last name for chinacustomer</notes>
12
  <authors><author><name>achang</name><user>achang</user><email>magento@achang.com</email></author></authors>
13
- <date>2013-08-02</date>
14
- <time>05:47:39</time>
15
- <contents><target name="magelocal"><dir name="Achang"><dir name="Chinacustomer"><dir name="Helper"><file name="Data.php" hash="d925deb4a5640dae570b450245a7d66c"/></dir><dir name="Model"><dir name="Customer"><file name="Customer.php" hash="047a539b90769c9dbb7668d211fa93e6"/></dir><dir name="Sales"><dir name="Quote"><file name="Address.php" hash="614693895ef8f9543c24d9312719a4b1"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="fc39a31d71e1c1b7cacb21c5524304e9"/></dir><dir name="sql"><dir name="chinacustomer_setup"><file name="mysql4-install-0.1.0.php" hash="a37f348d689fc37ab82d2c7ca7088201"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="b6e8a3f8272e1b9fbf0e6d0338fa0b10"/></dir></dir></dir><dir name="RemoveBilling"><dir name="Block"><dir name="Checkout"><file name="Onepage.php" hash="7f88cee677b265ec8fe66a08cac8186d"/></dir></dir><dir name="Helper"><file name="Data.php" hash="530adbd6463bdb7ad07044d1bcd62a25"/></dir><dir name="etc"><file name="config.xml" hash="3de0aa4ee23392a4a49d2f8c8ca39c91"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Achang_Chinacustomer.xml" hash="8090dbd13b7f8bd4f49fbb378352f255"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="customer"><dir name="widget"><file name="name.phtml" hash="4f21134cbc62771531e8b495290bf3c0"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Achang_Chinacustomer</name>
4
+ <version>1.0.0</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>&#x5408;&#x5E76;first name &#x548C; last name</summary>
10
+ <description>&#x4E3A;&#x9002;&#x5E94;&#x4E2D;&#x56FD;&#x6D88;&#x8D39;&#x8005;&#x7684;&#x4E60;&#x60EF;&#xFF0C;&#x6211;&#x4EEC;&#x5408;&#x5E76;&#x4E86; first name &#x548C; last name&#x3002;</description>
11
+ <notes>&#x5408;&#x5E76;first name &#x548C; last name</notes>
12
  <authors><author><name>achang</name><user>achang</user><email>magento@achang.com</email></author></authors>
13
+ <date>2013-10-17</date>
14
+ <time>03:38:12</time>
15
+ <contents><target name="magelocal"><dir name="Achang"><dir name="Chinacustomer"><dir name="Block"><file name="Grid.php" hash="05f8e70d9fa1f9aeb48e128f4326a296"/></dir><dir name="Helper"><file name="Data.php" hash="d925deb4a5640dae570b450245a7d66c"/></dir><dir name="Model"><dir name="Customer"><file name="Customer.php" hash="047a539b90769c9dbb7668d211fa93e6"/></dir><dir name="Sales"><dir name="Quote"><file name="Address.php" hash="614693895ef8f9543c24d9312719a4b1"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="d4409519746e8eeccf79d2f98a583b52"/></dir><dir name="sql"><dir name="chinacustomer_setup"><file name="mysql4-install-0.1.0.php" hash="a37f348d689fc37ab82d2c7ca7088201"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="b6e8a3f8272e1b9fbf0e6d0338fa0b10"/></dir></dir></dir></dir><dir name="Mage"><dir name="Customer"><dir name="Model"><dir name="Address"><file name="Abstract.php" hash="2d3002361c028244584a0937d342c54d"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Achang_Chinacustomer.xml" hash="8090dbd13b7f8bd4f49fbb378352f255"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="customer"><dir name="widget"><file name="name.phtml" hash="4f21134cbc62771531e8b495290bf3c0"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Mage_Customer.csv" hash="c0dade3b3eb85060199978a79690dfe8"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>