registration can force to upload photo
This commit is contained in:
parent
c9778e71b9
commit
153da7c63b
@ -95,6 +95,25 @@ switch ($do) {
|
||||
$d->phonenumber = $phone_number;
|
||||
if ($d->save()) {
|
||||
$user = $d->id();
|
||||
if ($config['photo_register'] == 'yes' && !empty($_FILES['photo']['name']) && file_exists($_FILES['photo']['tmp_name'])) {
|
||||
if (function_exists('imagecreatetruecolor')) {
|
||||
$hash = md5_file($_FILES['photo']['tmp_name']);
|
||||
$subfolder = substr($hash, 0, 2);
|
||||
$folder = $UPLOAD_PATH . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
|
||||
if (!file_exists($folder)) {
|
||||
mkdir($folder);
|
||||
}
|
||||
$folder = $UPLOAD_PATH . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR . $subfolder . DIRECTORY_SEPARATOR;
|
||||
if (!file_exists($folder)) {
|
||||
mkdir($folder);
|
||||
}
|
||||
$imgPath = $folder . $hash . '.jpg';
|
||||
File::resizeCropImage($_FILES['photo']['tmp_name'], $imgPath, 1600, 1600, 100);
|
||||
$d->photo = '/photos/' . $subfolder . '/' . $hash . '.jpg';
|
||||
$d->save();
|
||||
}
|
||||
}
|
||||
if (file_exists($_FILES['photo']['tmp_name'])) unlink($_FILES['photo']['tmp_name']);
|
||||
User::setFormCustomField($user);
|
||||
run_hook('register_user'); #HOOK
|
||||
r2(U . 'login', 's', Lang::T('Register Success! You can login now'));
|
||||
|
@ -915,5 +915,8 @@
|
||||
"Data_Change": "Data Change",
|
||||
"Photo": "Photo",
|
||||
"Home_Address": "Home Address",
|
||||
"Email_Address": "Email Address"
|
||||
"Email_Address": "Email Address",
|
||||
"Photo_Required": "Photo Required",
|
||||
"Customer_Registration_need_to_upload_their_photo": "Customer Registration need to upload their photo",
|
||||
"Account_already_exists": "Account already exists"
|
||||
}
|
@ -20,23 +20,19 @@
|
||||
<div id="collapseGeneral" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Application Name / Company
|
||||
Name')}</label>
|
||||
<label class="col-md-2 control-label">{Lang::T('Application Name / Company Name')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="text" required class="form-control" id="CompanyName" name="CompanyName"
|
||||
value="{$_c['CompanyName']}">
|
||||
</div>
|
||||
<span class="help-block col-md-4">{Lang::T('This Name will be shown on the
|
||||
Title')}</span>
|
||||
<span class="help-block col-md-4">{Lang::T('This Name will be shown on the Title')}</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Company Logo')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="file" class="form-control" id="logo" name="logo" accept="image/*">
|
||||
<span class="help-block">{Lang::T('For PDF Reports | Best size 1078 x 200 |
|
||||
uploaded image
|
||||
will be
|
||||
autosize')}</span>
|
||||
<span
|
||||
class="help-block">{Lang::T('For PDF Reports | Best size 1078 x 200 | uploaded image will be autosize')}</span>
|
||||
</div>
|
||||
<span class="help-block col-md-4">
|
||||
<a href="./{$logo}" target="_blank"><img src="./{$logo}" height="48" alt="logo for PDF"></a>
|
||||
@ -166,12 +162,14 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<form class="form-horizontal" method="post" role="form" action="{$_url}settings/login-page-post" enctype="multipart/form-data">
|
||||
<form class="form-horizontal" method="post" role="form" action="{$_url}settings/login-page-post"
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" name="csrf_token" value="{$csrf_token}">
|
||||
<div class="panel" id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel-heading" role="tab" id="LoginPage">
|
||||
<h3 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseLoginPage" aria-expanded="true" aria-controls="collapseLoginPage">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseLoginPage"
|
||||
aria-expanded="true" aria-controls="collapseLoginPage">
|
||||
{Lang::T('Customer Login Page Settings')}
|
||||
</a>
|
||||
</h3>
|
||||
@ -182,8 +180,10 @@
|
||||
<label class="col-md-2 control-label">{Lang::T('Choose Template')}</label>
|
||||
<div class="col-md-6">
|
||||
<select name="login_page_type" id="login_page_type" class="form-control">
|
||||
<option value="default" {if $_c['login_page_type']=='default' }selected="selected"{/if}>{Lang::T('Default')}</option>
|
||||
<option value="custom" {if $_c['login_page_type']=='custom' }selected="selected"{/if}>{Lang::T('Custom')}</option>
|
||||
<option value="default" {if $_c['login_page_type']=='default' }selected="selected" {/if}>
|
||||
{Lang::T('Default')}</option>
|
||||
<option value="custom" {if $_c['login_page_type']=='custom' }selected="selected" {/if}>
|
||||
{Lang::T('Custom')}</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="help-block col-md-4"><small>{Lang::T('Select your login template type')}</small></span>
|
||||
@ -194,54 +194,70 @@
|
||||
<div class="col-md-6">
|
||||
<select name="login_Page_template" id="login_Page_template" class="form-control">
|
||||
{foreach $template_files as $template}
|
||||
<option value="{$template.value|escape}" {if $_c['login_Page_template'] eq $template.value}selected="selected" {/if}>{$template.name|escape}</option>
|
||||
<option value="{$template.value|escape}"
|
||||
{if $_c['login_Page_template'] eq $template.value}selected="selected" {/if}>
|
||||
{$template.name|escape}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<span class="help-block col-md-4"><small>{Lang::T('Select your preferred login template')}</small></span>
|
||||
<span
|
||||
class="help-block col-md-4"><small>{Lang::T('Select your preferred login template')}</small></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Page Heading / Company Name')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="text" required class="form-control" id="login_page_head" name="login_page_head" value="{$_c['login_page_head']}">
|
||||
<input type="text" required class="form-control" id="login_page_head" name="login_page_head"
|
||||
value="{$_c['login_page_head']}">
|
||||
</div>
|
||||
<span class="help-block col-md-4"><small>{Lang::T('This Name will be shown on the login wallpaper')}</small></span>
|
||||
<span
|
||||
class="help-block col-md-4"><small>{Lang::T('This Name will be shown on the login wallpaper')}</small></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Page Description')}</label>
|
||||
<div class="col-md-6">
|
||||
<textarea class="form-control" id="login_page_description" name="login_page_description" rows="3">{Lang::htmlspecialchars($_c['login_page_description'])}</textarea>
|
||||
<textarea class="form-control" id="login_page_description" name="login_page_description"
|
||||
rows="3">{Lang::htmlspecialchars($_c['login_page_description'])}</textarea>
|
||||
</div>
|
||||
<span class="help-block col-md-4"><small>{Lang::T('This will also display on wallpaper, You can use html tag')}</small></span>
|
||||
<span
|
||||
class="help-block col-md-4"><small>{Lang::T('This will also display on wallpaper, You can use html tag')}</small></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Favicon')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="file" class="form-control" id="login_page_favicon" name="login_page_favicon" accept="image/*">
|
||||
<span class="help-block"><small>{Lang::T('Best size 30 x 30 | uploaded image will be autosize')}</small></span>
|
||||
<input type="file" class="form-control" id="login_page_favicon" name="login_page_favicon"
|
||||
accept="image/*">
|
||||
<span
|
||||
class="help-block"><small>{Lang::T('Best size 30 x 30 | uploaded image will be autosize')}</small></span>
|
||||
</div>
|
||||
<span class="help-block col-md-4">
|
||||
<a href="./{$favicon}" target="_blank"><img src="./{$favicon}" height="48" alt="Favicon"></a>
|
||||
<a href="./{$favicon}" target="_blank"><img src="./{$favicon}" height="48"
|
||||
alt="Favicon"></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Login Page Logo')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="file" class="form-control" id="login_page_logo" name="login_page_logo" accept="image/*">
|
||||
<span class="help-block"><small>{Lang::T('Best size 300 x 60 | uploaded image will be autosize')}</small></span>
|
||||
<input type="file" class="form-control" id="login_page_logo" name="login_page_logo"
|
||||
accept="image/*">
|
||||
<span
|
||||
class="help-block"><small>{Lang::T('Best size 300 x 60 | uploaded image will be autosize')}</small></span>
|
||||
</div>
|
||||
<span class="help-block col-md-4">
|
||||
<a href="./{$login_logo}" target="_blank"><img src="./{$login_logo}" height="48" alt="Logo"></a>
|
||||
<a href="./{$login_logo}" target="_blank"><img src="./{$login_logo}" height="48"
|
||||
alt="Logo"></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Login Page Wallpaper')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="file" class="form-control" id="login_page_wallpaper" name="login_page_wallpaper" accept="image/*">
|
||||
<span class="help-block"><small>{Lang::T('Best size 1920 x 1080 | uploaded image will be autosize')}</small></span>
|
||||
<input type="file" class="form-control" id="login_page_wallpaper"
|
||||
name="login_page_wallpaper" accept="image/*">
|
||||
<span
|
||||
class="help-block"><small>{Lang::T('Best size 1920 x 1080 | uploaded image will be autosize')}</small></span>
|
||||
</div>
|
||||
<span class="help-block col-md-4">
|
||||
<a href="./{$wallpaper}" target="_blank"><img src="./{$wallpaper}" height="48" alt="Wallpaper"></a>
|
||||
<a href="./{$wallpaper}" target="_blank"><img src="./{$wallpaper}" height="48"
|
||||
alt="Wallpaper"></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -304,6 +320,22 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Photo Required')}</label>
|
||||
<div class="col-md-6">
|
||||
<select name="photo_register" id="photo_register" class="form-control">
|
||||
<option value="no">
|
||||
{Lang::T('No')}
|
||||
</option>
|
||||
<option value="yes" {if $_c['photo_register']=='yes' }selected="selected" {/if}>
|
||||
{Lang::T('Yes')}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('Customer Registration need to upload their photo')}
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('SMS OTP Registration')}</label>
|
||||
<div class="col-md-6">
|
||||
@ -362,8 +394,8 @@
|
||||
<label class="col-md-3 control-label">{Lang::T('Enable Session Timeout')}</label>
|
||||
<div class="col-md-5">
|
||||
<label class="switch">
|
||||
<input type="checkbox" id="enable_session_timeout" value="1"
|
||||
name="enable_session_timeout" {if $_c['enable_session_timeout']==1}checked{/if}>
|
||||
<input type="checkbox" id="enable_session_timeout" value="1" name="enable_session_timeout"
|
||||
{if $_c['enable_session_timeout']==1}checked{/if}>
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
@ -409,7 +441,8 @@
|
||||
</select>
|
||||
</div>
|
||||
<p class="help-block col-md-4">
|
||||
<a href="https://en.wikipedia.org/wiki/Cross-site_request_forgery" target="_blank">{Lang::T('Cross-site request forgery')}</a>
|
||||
<a href="https://en.wikipedia.org/wiki/Cross-site_request_forgery"
|
||||
target="_blank">{Lang::T('Cross-site request forgery')}</a>
|
||||
</p>
|
||||
</div>
|
||||
<button class="btn btn-success btn-block" type="submit">
|
||||
@ -933,8 +966,8 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">Tawk.to Javascript API key</label>
|
||||
<div class="col-md-6">
|
||||
<input type="text" class="form-control" id="tawkto_api_key" name="tawkto_api_key" value="{$_c['tawkto_api_key']}"
|
||||
placeholder="39e52264cxxxxxxxxxxxxxdd078af5342e8">
|
||||
<input type="text" class="form-control" id="tawkto_api_key" name="tawkto_api_key"
|
||||
value="{$_c['tawkto_api_key']}" placeholder="39e52264cxxxxxxxxxxxxxdd078af5342e8">
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-md-2"></label>
|
||||
@ -1190,7 +1223,7 @@
|
||||
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var sectionTimeoutCheckbox = document.getElementById('enable_session_timeout');
|
||||
var timeoutDurationInput = document.getElementById('timeout_duration_input');
|
||||
var timeoutDurationField = document.getElementById('session_timeout_duration');
|
||||
@ -1200,7 +1233,7 @@
|
||||
timeoutDurationField.required = true;
|
||||
}
|
||||
|
||||
sectionTimeoutCheckbox.addEventListener('change', function () {
|
||||
sectionTimeoutCheckbox.addEventListener('change', function() {
|
||||
if (this.checked) {
|
||||
timeoutDurationInput.style.display = 'block';
|
||||
timeoutDurationField.required = true;
|
||||
@ -1210,9 +1243,9 @@
|
||||
}
|
||||
});
|
||||
|
||||
document.querySelector('form').addEventListener('submit', function (event) {
|
||||
document.querySelector('form').addEventListener('submit', function(event) {
|
||||
if (sectionTimeoutCheckbox.checked && (!timeoutDurationField.value || isNaN(
|
||||
timeoutDurationField.value))) {
|
||||
timeoutDurationField.value))) {
|
||||
event.preventDefault();
|
||||
alert('Please enter a valid session timeout duration.');
|
||||
timeoutDurationField.focus();
|
||||
@ -1246,11 +1279,11 @@
|
||||
document.getElementById('login_page_type').addEventListener('change', function() {
|
||||
var selectedValue = this.value;
|
||||
var customFields = document.getElementById('customFields');
|
||||
|
||||
|
||||
if (selectedValue === 'custom') {
|
||||
customFields.style.display = 'block';
|
||||
} else {
|
||||
customFields.style.display = 'none';
|
||||
customFields.style.display = 'none';
|
||||
}
|
||||
});
|
||||
document.getElementById('login_page_type').dispatchEvent(new Event('change'));
|
||||
|
@ -21,8 +21,9 @@
|
||||
<label>{Lang::T('Phone Number')}</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon" id="basic-addon1"><i
|
||||
class="glyphicon glyphicon-phone-alt"></i></span>
|
||||
<input type="text" class="form-control" name="phone_number" value="{$phone_number}" readonly
|
||||
class="glyphicon glyphicon-phone-alt"></i></span>
|
||||
<input type="text" class="form-control" name="phone_number" value="{$phone_number}"
|
||||
readonly
|
||||
placeholder="{if $_c['country_code_phone']!= '' || $_c['registration_username'] == 'phone'}{$_c['country_code_phone']} {Lang::T('Phone Number')}{else}{Lang::T('Phone Number')}{/if}">
|
||||
</div>
|
||||
</div>
|
||||
@ -31,6 +32,12 @@
|
||||
<input type="text" required class="form-control" id="otp_code" value=""
|
||||
placeholder="{Lang::T('Verification Code')}" name="otp_code">
|
||||
</div>
|
||||
{if $_c['photo_register'] == 'yes'}
|
||||
<div class="form-group">
|
||||
<label>{Lang::T('Photo')}</label>
|
||||
<input type="file" required class="form-control" id="photo" name="photo" accept="image/*">
|
||||
</div>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<label>{Lang::T('Full Name')}</label>
|
||||
<input type="text" required class="form-control" id="fullname" value="{$fullname}"
|
||||
@ -58,7 +65,8 @@
|
||||
<!-- Username Field -->
|
||||
<div class="form-group">
|
||||
<label>{Lang::T('Username')}</label>
|
||||
<input type="text" required class="form-control" id="username" name="username" placeholder="{Lang::T('Choose a Username')}">
|
||||
<input type="text" required class="form-control" id="username" name="username"
|
||||
placeholder="{Lang::T('Choose a Username')}">
|
||||
</div>
|
||||
<!-- Password Fields -->
|
||||
<div class="form-group">
|
||||
@ -123,4 +131,4 @@
|
||||
<!--End of Tawk.to Script-->
|
||||
{/if}
|
||||
|
||||
{include file="customer/footer-public.tpl"}
|
||||
{include file="customer/footer-public.tpl"}
|
@ -41,6 +41,12 @@
|
||||
placeholder="{if $_c['country_code_phone']!= '' || $_c['registration_username'] == 'phone'}{$_c['country_code_phone']} {Lang::T('Phone Number')}{elseif $_c['registration_username'] == 'email'}{Lang::T('Email')}{else}{Lang::T('Username')}{/if}">
|
||||
</div>
|
||||
</div>
|
||||
{if $_c['photo_register'] == 'yes'}
|
||||
<div class="form-group">
|
||||
<label>{Lang::T('Photo')}</label>
|
||||
<input type="file" required class="form-control" id="photo" name="photo" accept="image/*">
|
||||
</div>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<label>{Lang::T('Full Name')}</label>
|
||||
<input type="text" required class="form-control" id="fullname" value="{$fullname}"
|
||||
|
@ -36,7 +36,7 @@
|
||||
<option value="time">Time</option>
|
||||
<option value="number">Number</option>
|
||||
<option value="option">Option</option>
|
||||
<option value="image">Image</option>
|
||||
{* <option value="image">Image</option> *}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -109,7 +109,7 @@
|
||||
<option value="time" {if $field['type'] == 'time'}selected{/if}>Time</option>
|
||||
<option value="number" {if $field['type'] == 'number'}selected{/if}>Number</option>
|
||||
<option value="option" {if $field['type'] == 'option'}selected{/if}>Option</option>
|
||||
<option value="image" {if $field['type'] == 'image'}selected{/if}>Image</option>
|
||||
{* <option value="image" {if $field['type'] == 'image'}selected{/if}>Image</option> *}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,3 +1,3 @@
|
||||
{
|
||||
"version": "2024.11.11"
|
||||
"version": "2024.11.20"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user