profile_Image - Version 1.0.0

Version Notes

First Release

Download this release

Release Info

Developer Chandan Kumar Singh
Extension profile_Image
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

app/design/frontend/base/default/layout/attributecustomer.xml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout>
3
+ <default>
4
+
5
+ </default>
6
+
7
+ <customer_account_create translate="label">
8
+ <reference name="customer_form_register">
9
+ <action method="setTemplate"><template>attributecustomer/customer/form/register.phtml</template></action>
10
+ </reference>
11
+ </customer_account_create>
12
+
13
+ <customer_account>
14
+ <reference name="customer_account_navigation">
15
+ <action method="addLink" translate="label" module="customerattribute">
16
+ <name>customerattribute</name>
17
+ <path>profile/profileimage/index/</path>
18
+ <label>Profile Image</label>
19
+ <position>2</position>
20
+ </action>
21
+ </reference>
22
+ </customer_account>
23
+
24
+ <profile_profileimage_index translate="label">
25
+ <update handle="customer_account"/>
26
+ <reference name="content">
27
+ <block type="core/template" name="customerattribute" template="attributecustomer/profileimage.phtml" />
28
+ </reference>
29
+ </profile_profileimage_index>
30
+
31
+ </layout>
app/design/frontend/base/default/template/attributecustomer/customer/form/register.phtml ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-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@magento.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.magento.com for more information.
20
+ *
21
+ * @category design
22
+ * @package rwd_default
23
+ * @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * Create account form template
30
+ *
31
+ * @see app/design/frontend/base/default/template/customer/form/register.phtml
32
+ */
33
+ /** @var $this Mage_Customer_Block_Form_Register */
34
+ ?>
35
+ <div class="account-create">
36
+ <div class="page-title">
37
+ <h1><?php echo $this->__('Create an Account') ?></h1>
38
+ </div>
39
+ <?php echo $this->getChildHtml('form_fields_before')?>
40
+ <?php echo $this->getMessagesBlock()->toHtml() ?>
41
+ <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate" class="scaffold-form" enctype="multipart/form-data">
42
+ <div class="fieldset">
43
+ <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
44
+ <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
45
+ <input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
46
+ <p class="form-instructions"><?php echo $this->__('Please enter the following information to create your account.') ?></p>
47
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
48
+ <ul class="form-list">
49
+ <li class="fields">
50
+ <?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?>
51
+ </li>
52
+ <li class="fields">
53
+ <label for="avatar" class="required"><em>*</em><?php echo $this->__('Avatar Image') ?></label>
54
+ <div class="input-box">
55
+ <input type="file" name="avatar" title="<?php echo $this->__('Avatar Image') ?>" id="avatar" class="input-
56
+ text required-entry" onchange="readURL(this);" />
57
+ <img id="uploadimag" src="#" alt="your image" style="display:none" />
58
+ </div>
59
+ </li>
60
+ <li>
61
+ <label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
62
+ <div class="input-box">
63
+ <input type="email" autocapitalize="off" autocorrect="off" spellcheck="false" name="email" id="email_address" value="<?php echo $this->escapeHtml($this->getFormData()->getEmail()) ?>" title="<?php echo $this->quoteEscape($this->__('Email Address')) ?>" class="input-text validate-email required-entry" />
64
+ </div>
65
+ </li>
66
+ <?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
67
+ <?php if ($_dob->isEnabled()): ?>
68
+ <li><?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?></li>
69
+ <?php endif ?>
70
+ <?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
71
+ <?php if ($_taxvat->isEnabled()): ?>
72
+ <li><?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?></li>
73
+ <?php endif ?>
74
+ <?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
75
+ <?php if ($_gender->isEnabled()): ?>
76
+ <li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
77
+ <?php endif ?>
78
+
79
+ <?php if($this->getShowAddressFields()): ?>
80
+ <li class="hidden">
81
+ <input type="hidden" name="create_address" value="1" />
82
+ </li>
83
+ <li class="fields">
84
+ <div class="field">
85
+ <label for="company"><?php echo $this->__('Company') ?></label>
86
+ <div class="input-box">
87
+ <input type="text" name="company" id="company" value="<?php echo $this->escapeHtml($this->getFormData()->getCompany()) ?>" title="<?php echo $this->quoteEscape($this->__('Company')) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" />
88
+ </div>
89
+ </div>
90
+ <div class="field">
91
+ <label for="telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
92
+ <div class="input-box">
93
+ <input type="tel" name="telephone" id="telephone" value="<?php echo $this->escapeHtml($this->getFormData()->getTelephone()) ?>" title="<?php echo $this->quoteEscape($this->__('Telephone')) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" />
94
+ </div>
95
+ </div>
96
+ </li>
97
+ <?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
98
+ <li class="wide">
99
+ <label for="street_1" class="required"><em>*</em><?php echo $this->__('Street Address') ?></label>
100
+ <div class="input-box">
101
+ <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet(0)) ?>" title="<?php echo $this->quoteEscape($this->__('Street Address')) ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
102
+ </div>
103
+ </li>
104
+ <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
105
+ <?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
106
+ <li class="wide">
107
+ <label for="billing:street<?php echo $_i ?>"><?php echo $this->__('Street Address %s', $_i) ?></label>
108
+ <div class="input-box">
109
+ <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet($_i - 1)) ?>" title="<?php echo $this->quoteEscape($this->__('Street Address %s', $_i)) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
110
+ </div>
111
+ </li>
112
+ <?php endfor; ?>
113
+ <li class="fields">
114
+ <div class="field">
115
+ <label for="city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
116
+ <div class="input-box">
117
+ <input type="text" name="city" value="<?php echo $this->escapeHtml($this->getFormData()->getCity()) ?>" title="<?php echo $this->quoteEscape($this->__('City')) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>" id="city" />
118
+ </div>
119
+ </div>
120
+ <div class="field">
121
+ <label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
122
+ <div class="input-box">
123
+ <select id="region_id" name="region_id" title="<?php echo $this->quoteEscape($this->__('State/Province')) ?>" class="validate-select" style="display:none;">
124
+ <option value=""><?php echo $this->__('Please select region, state or province') ?></option>
125
+ </select>
126
+ <script type="text/javascript">
127
+ //<![CDATA[
128
+ $('region_id').setAttribute('defaultValue', "<?php echo $this->getFormData()->getRegionId() ?>");
129
+ //]]>
130
+ </script>
131
+ <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getRegion()) ?>" title="<?php echo $this->quoteEscape($this->__('State/Province')) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
132
+ </div>
133
+ </div>
134
+ </li>
135
+ <li class="fields">
136
+ <div class="field">
137
+ <label for="zip" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
138
+ <div class="input-box">
139
+ <input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getFormData()->getPostcode()) ?>" title="<?php echo $this->quoteEscape($this->__('Zip/Postal Code')) ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
140
+ </div>
141
+ </div>
142
+ <div class="field">
143
+ <label for="country" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
144
+ <div class="input-box">
145
+ <?php echo $this->getCountryHtmlSelect() ?>
146
+ </div>
147
+ </div>
148
+ </li>
149
+ <li class="hidden">
150
+ <input type="hidden" name="default_billing" value="1" />
151
+ <input type="hidden" name="default_shipping" value="1" />
152
+ </li>
153
+ <?php endif; ?>
154
+ <li class="fields">
155
+ <div class="field">
156
+ <label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
157
+ <div class="input-box">
158
+ <input type="password" name="password" id="password" title="<?php echo $this->quoteEscape($this->__('Password')) ?>" class="input-text required-entry validate-password" />
159
+ </div>
160
+ </div>
161
+ <div class="field">
162
+ <label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
163
+ <div class="input-box">
164
+ <input type="password" name="confirmation" title="<?php echo $this->quoteEscape($this->__('Confirm Password')) ?>" id="confirmation" class="input-text required-entry validate-cpassword" />
165
+ </div>
166
+ </div>
167
+ </li>
168
+ <?php echo $this->getChildHtml('form.additional.info'); ?>
169
+ <?php if ($this->isNewsletterEnabled()): ?>
170
+ <li class="control">
171
+ <div class="input-box">
172
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->quoteEscape($this->__('Sign Up for Newsletter')) ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
173
+ </div>
174
+ <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
175
+ </li>
176
+ <?php endif ?>
177
+ <?php echo $this->getChildHtml('persistent.remember.me'); ?>
178
+ </ul>
179
+ <?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
180
+ </div>
181
+ <div class="buttons-set">
182
+ <p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="back-link"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
183
+ <button type="submit" title="<?php echo $this->quoteEscape($this->__('Register')) ?>" class="button"><span><span><?php echo $this->__('Register') ?></span></span></button>
184
+ </div>
185
+ <?php if (Mage::helper('checkout')->isContextCheckout()): ?>
186
+ <input name="context" type="hidden" value="checkout" />
187
+ <?php endif; ?>
188
+ </form>
189
+ <script type="text/javascript">
190
+ //<![CDATA[
191
+ var dataForm = new VarienForm('form-validate', true);
192
+ <?php if($this->getShowAddressFields()): ?>
193
+ new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
194
+ <?php endif; ?>
195
+ //]]>
196
+ </script>
197
+ </div>
198
+
199
+ <script type="text/javascript">
200
+ function readURL(input) {
201
+ if (input.files && input.files[0]) {
202
+ var reader = new FileReader();
203
+ reader.onload = function (e) {
204
+ jQuery('#uploadimag')
205
+ .css('display','block')
206
+ .attr('src', e.target.result)
207
+ .width(200)
208
+ .height(200);
209
+ };
210
+ reader.readAsDataURL(input.files[0]);
211
+ }
212
+ }
213
+ </script>
app/design/frontend/base/default/template/attributecustomer/profileimage.phtml ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="page-title">
2
+ <h1><?php echo $this->__('Customer Profile Image') ?></h1>
3
+ </div>
4
+ <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
5
+ <div class="box-account box-info">
6
+ <div class="col2-set">
7
+
8
+ <div class="col-1">
9
+ <div class="box">
10
+ <div class="box-title">
11
+ <h3>Avtar Image</h3>
12
+ </div>
13
+ <div class="box-content">
14
+ <img class="img-responsive" id="img-responsive" src="<?php Mage::helper('customerattribute')->getImage(); ?>" alt="Profile Image">
15
+ </div>
16
+ </div>
17
+ </div>
18
+
19
+ <div class="col-2">
20
+ <div class="box">
21
+ <div class="box-title">
22
+ <h3>Change Avtar Image</h3>
23
+ </div>
24
+ <div class="box-content">
25
+ <form action="<?php echo Mage::helper('customerattribute')->getUploadUrl() ?>" method="post" enctype="multipart/form-data" onsubmit="return checkSize(27000)" >
26
+ <div class="fieldset">
27
+ <ul class="form-list">
28
+ <li>
29
+ <input type="file" name="avatar" id="file" onChange="readURL(this);" required><br>
30
+ </li>
31
+ <li>
32
+ <img id="uploadimag" src="#" alt="your image" style="display:none" />
33
+ </li>
34
+ <li>
35
+ <button type ="submit" name="submit" title="upload" class="button">
36
+ <span><span><?php echo $this->__('Upload') ?></span></span>
37
+ </button>
38
+ </li>
39
+
40
+ </ul>
41
+ </div>
42
+ </form>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ </div>
48
+ </div>
49
+
50
+
51
+ <div class="buttons-set">
52
+ <p class="back-link"><a href="<?php echo $this->getUrl('customer/account/') ?>"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
53
+ </div>
54
+
55
+ <script type="text/javascript">
56
+ function readURL(input) {
57
+ if (input.files && input.files[0]) {
58
+ var reader = new FileReader();
59
+ reader.onload = function (e) {
60
+ jQuery('#uploadimag')
61
+ .css('display','block')
62
+ .attr('src', e.target.result)
63
+ .width(200)
64
+ .height(200);
65
+ };
66
+ reader.readAsDataURL(input.files[0]);
67
+ }
68
+ }
69
+
70
+ function checkSize(max_img_size)
71
+ {
72
+ var input = document.getElementById("file");
73
+ // check for browser support (may need to be modified)
74
+ if(input.files && input.files.length == 1)
75
+ {
76
+ if (input.files[0].size > max_img_size)
77
+ {
78
+ alert("The file must be less than " + input.files[0].size + "KB and please upload size 200X200");
79
+ return false;
80
+ }
81
+ }
82
+
83
+ return true;
84
+ }
85
+
86
+ </script>
87
+
88
+ <style type="text/css">
89
+ img#img-responsive {
90
+ width: 200px;
91
+ border: 1px solid;
92
+ padding: 10px;
93
+ }
94
+ </style>
app/etc/modules/Chandan_Customerattribute.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Chandan_Customerattribute>
5
+ <codePool>community</codePool>
6
+ <active>true</active>
7
+ </Chandan_Customerattribute>
8
+ </modules>
9
+ </config>
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>profile_Image</name>
4
+ <version>1.0.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Profile Image</summary>
10
+ <description>Profile Image</description>
11
+ <notes>First Release</notes>
12
+ <authors><author><name>Chandan Kumar Singh</name><user>chandan8050</user><email>chandankumar8050@gmail.com</email></author></authors>
13
+ <date>2017-02-03</date>
14
+ <time>04:29:21</time>
15
+ <contents><target name="mageetc"><dir name="modules"><file name="Chandan_Customerattribute.xml" hash="aec08690c29efa9a66bfb42d23036baf"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="attributecustomer.xml" hash="68afb39335f3640492892f5de74b0263"/></dir><dir name="template"><dir name="attributecustomer"><dir name="customer"><dir name="form"><file name="register.phtml" hash="b924a70fbd6c7e9b445106ebecbbb741"/></dir></dir><file name="profileimage.phtml" hash="275211ba4183cf0b20aa7c2ab380210a"/></dir></dir></dir></dir></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php></required></dependencies>
18
+ </package>