feat: Add comprehensive documentation suite and reorganize project structure

- Created complete documentation in docs/ directory
- Added PROJECT_OVERVIEW.md with feature highlights and getting started guide
- Added ARCHITECTURE.md with system design and technical details
- Added SECURITY.md with comprehensive security implementation guide
- Added DEVELOPMENT.md with development workflows and best practices
- Added DEPLOYMENT.md with production deployment instructions
- Added API.md with complete REST API documentation
- Added CONTRIBUTING.md with contribution guidelines
- Added CHANGELOG.md with version history and migration notes
- Reorganized all documentation files into docs/ directory for better organization
- Updated README.md with proper documentation links and quick navigation
- Enhanced project structure with professional documentation standards
This commit is contained in:
SamiAhmed7777
2025-10-21 00:39:45 -07:00
commit 0b7e2d0a5b
6080 changed files with 1332936 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
{if $fb_auth eq "1" or $gp_auth eq "1"}
$("input[name=auth_username]").keydown(function(e) {ldelim} if (e.keyCode == 13) {ldelim} e.preventDefault(); e.stopPropagation(); $("#auth-register-submit").click(); {rdelim} {rdelim});
$("input[name=auth_username]").keyup(function(e) {ldelim}
var _val = $(this).val();
$.ajax({ldelim}
url: '{$main_url}/f_modules/m_frontend/m_auth/{href_entry key="signup"}?do=auth_register',
cache: false,
type: "POST",
dataType: "json",
data: {ldelim} auth_confirm: 0, auth_username: _val, auth_userid: "{$smarty.get.u|sanitize}" {rdelim}
{rdelim}).complete(function(response) {ldelim}
data = response.responseText;
var error = '<span class="err-red"><i class="icon-notification"></i> ' + data.replace('error:', '') + '</span>';
var notice = '<span class="conf-green"><i class="icon-check"></i> Available</span>';
if (data.substr(0, 6) == 'error:') {ldelim}
$(".auth-username-check-response").html(error);
{rdelim} else {ldelim}
$(".auth-username-check-response").html(notice);
{rdelim}
{rdelim});
{rdelim});
$("#auth-register-submit").click(function(e) {ldelim}
e.preventDefault();
var t = $(this);
$("input[name=auth_confirm]").val("1");
$.post("{$main_url}/f_modules/m_frontend/m_auth/{href_entry key="signup"}?do=auth_register", $("#auth-register-form").serialize(), function (data) {ldelim}
var error = '<span class="err-red"><i class="icon-notification"></i> ' + data.replace('error:', '') + '</span>';
var notice = '<span class="conf-green"><i class="icon-check"></i> Available</span>';
if (data.substr(0, 6) == 'error:') {ldelim}
$(".auth-username-check-response").html(error);
{rdelim} else {ldelim}
$("#auth-register-form input").prop("disabled", true);
$("#auth-register-form .auth-username-check-btn").prop("disabled", true);
$(".auth-username-check-response").html(notice);
$.fancybox.close();
location.reload();
{rdelim}
{rdelim});
{rdelim});
{/if}

View File

@@ -0,0 +1,96 @@
{assign var="ro" value='readonly="readonly"'}
{if $error_message ne ""}{$error_message}{elseif $notice_message ne ""}{$notice_message}{/if}
<div class="login-page payment-page">
<div id="signup-content-wrapper" class="">
<div class="pane-left50 font83">
<div class="left-inner-push">
<div class="">{if $smarty.session.signup_username ne "" and $smarty.session.renew_id eq ""}{assign var=l_disabled value='disabled="disabled"'}{/if}
<div class="">
<form id="signup-form-left" action="" method="post" class="user-form entry-form-class">
<article>
<h3 class="content-title"><i class="icon-coin"></i> {if $smarty.session.renew_id eq ""}{lang_entry key="frontend.pkinfo.summary"}{else}{lang_entry key="frontend.pkinfo.renew"}{/if}</h3>
<div class="line"></div>
</article>
<div id="continue-mask" class="wdmax">
<div><span class="label-signin">{lang_entry key="frontend.pkinfo.pkname"}: <span class="pk-text">{$pk_info[0].pk_name}</span></span></div>
<div><span class="label-signin">{lang_entry key="frontend.pkinfo.pkprice"}: <span class="pk-text">{$pk_info[0].pk_priceunit}{$pk_info[0].pk_price}{if $pk_info[0].pk_period eq 31 or $pk_info[0].pk_period eq 365 or $pk_info[0].pk_period eq 30} {$pk_periodtext}{/if}</span></span></div>
<div class="row selector">
{if $pk_info[0].pk_price ne 0 and $smarty.get.u ne ""}
{assign var="per_value" value="{lang_entry key="frontend.pkinfo.pksubperiod"}"}
{if $pk_info[0].pk_period eq 31 or $pk_info[0].pk_period eq 30}{assign var="per_value" value="{lang_entry key="frontend.global.monthly"}"}{elseif $pk_info[0].pk_period eq 365}{assign var="per_value" value="{lang_entry key="frontend.global.yearly"}"}{else}{if $pk_periodtext eq ""}{assign var="per_value" value="{$pk_info[0].pk_period} {lang_entry key="frontend.global.days"}"}{else}{assign var="per_value" value="{$pk_periodtext}"}{/if}{/if}
<div><span class="label-signin" id="pack-period-tmp">{lang_entry key="frontend.pkinfo.pksubperiod"}: <span class="pk-text">{$per_value}</span></span></div>
<input type="hidden" {$ro} name="pk_period_tmp" class="login-input" id="pack-period-tmp-off" value="{lang_entry key="frontend.pkinfo.pksubperiod"}: {$per_value}" />
<input type="hidden" {$ro} name="pk_period" class="login-input no-display" id="pack-period" value="1" />
{if $pk_info[0].pk_period eq 30 or $pk_info[0].pk_period eq 31 or $pk_info[0].pk_period eq 365}
<select name="pk_period_sel" class="wd100 renew-select" onchange="$('#pack-period').val(this.value); $('#pack-period-tmp').html('{lang_entry key="frontend.pkinfo.pksubperiod"}: <span class=&quot;pk-text&quot;>'+this.value+' {if $pk_info[0].pk_period eq 31 or $pk_info[0].pk_period eq 30}{lang_entry key="frontend.global.month"}{elseif $pk_info[0].pk_period eq 365}{lang_entry key="frontend.global.years"}{else}{if $pk_periodtext eq ""}{$pk_info[0].pk_period} {lang_entry key="frontend.global.days"}{else}{$pk_periodtext}{/if}{/if}'+'</span>');">{$pk_period_opts}</select>
{/if}
{else}
<div><span class="label-signin">{lang_entry key="frontend.pkinfo.pksubperiod"}: <span class="pk-text">{$pk_info[0].pk_period} {lang_entry key="frontend.global.days"}</span></span></div>
<input type="hidden" {$ro} name="pk_free_tmp" class="login-input" value="{lang_entry key="frontend.pkinfo.pksubperiod"}: {$pk_info[0].pk_period} {lang_entry key="frontend.global.days"}" />
{/if}
</div>
{if $smarty.get.p ne "" and $smarty.get.u ne "" and $pk_info[0].pk_price ne 0 and $discount_codes eq 1}
<div class="row">
<input type="text" onfocus="if(this.value == '{lang_entry key="frontend.pkinfo.discount"}') { this.value = ''; }" onblur="if(this.value == '') { this.value = '{lang_entry key="frontend.pkinfo.discount"}'; }" name="frontend_pkinfo_discount" class="login-input" id="pack-dsc" value="{lang_entry key="frontend.pkinfo.discount"}" />
</div><br>
{/if}
{if $paypal_payments eq 1 or $moneybookers_payments eq 1}
<div class="row top-padding10">
<span class="label-signin"></span>
<span class="input-signin"><button class="search-button form-button continue-button{if $smarty.session.renew_id ne "" and $smarty.get.p eq "" and $smarty.get.u eq ""} hidden{/if}" {if $pk_info[0].pk_price eq 0}value="1"{/if} name="{if $pk_info[0].pk_price ne 0}signup_continue{else}signup_finalize{/if}" id="{if $pk_info[0].pk_price ne 0}signup-continue{else}signup-finalize{/if}" type="{if $pk_info[0].pk_price ne 0}button{else}submit{/if}" {if $smarty.session.renew_id ne "" and $smarty.get.p eq "" and $smarty.get.u eq ""}disabled="disabled"{/if}><span>{if $pk_info[0].pk_price ne 0}{lang_entry key="frontend.global.continue"}{else}{lang_entry key="frontend.signup.update"}{/if}</span></button></span>
</div>
{/if}
<input type="hidden" name="pk_id" value="{$smarty.get.p|sanitize}" />
<input type="hidden" name="usr_id" value="{$smarty.get.u|sanitize}" />
</div>
<div class="left-float wdmax">
<div id="continue-response"></div>
</div>
</form>
</div>
</div>
</div>
</div>
{assign var="ro" value='readonly="readonly"'}
{assign var="renew" value="1"}
<div class="pane-right50 font83">
<div class="right-inner-push">
<div class="">
<div class="center">
<form id="signup-form-right" action="" method="post" class="entry-form-class user-form">
<div id="different-sub" class="">
<article>
<h3 class="content-title"><i class="icon-coin"></i> {if $smarty.session.renew_id eq "" or ($smarty.get.p ne "" and $smarty.get.u ne "")}{lang_entry key="frontend.pkinfo.diffsub"}{else}{if $smarty.get.t eq ""}{lang_entry key="frontend.pkinfo.renew.text"}{else}{lang_entry key="frontend.pkinfo.diffsub"}{/if}{/if}</h3>
<div class="line"></div>
</article>
<div class="row">
<div class="left-float wd300">{include file="tpl_frontend/tpl_auth/tpl_payment_packlist.tpl"}</div>
</div>
<br>
<div class="row left-float top-padding15">
<span class="label-signin"></span>
<span class="input-signin"><button class="search-button form-button apply-button" name="signup_packchange" id="signup-packchange" type="submit"><span>{lang_entry key="frontend.global.apply"}</span></button></span>
</div>
<input type="hidden" id="frontend_membership_id" name="frontend_membership_id" value="{$smarty.get.u|sanitize}" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var main_url = '{$main_url}/';
$("#signup-continue").bind("click", function () {ldelim}
$("#continue-mask").mask(" ");
$.post(main_url + "{href_entry key="signup"}/payment?do=continue", $("#signup-form-left").serialize(),
function(data){ldelim}
$("#continue-response").html(data);
$("#continue-mask").unmask();
{rdelim});
{rdelim});
</script>

View File

@@ -0,0 +1,25 @@
<div class="top-padding10">
<article>
<h3 class="content-title"><i class="iconBe-coin"></i> {lang_entry key="frontend.pkinfo.pktotal"}</h3>
<div class="line"></div>
</article>
<div class="row">
<span class="label-signin">{lang_entry key="frontend.pkinfo.pktotal"}: </span>
<span class="input-signin"><span class="blued">{$pk_info[0].pk_priceunit}{$pk_totalprice}</span> {if $smarty.post.pk_period}{lang_entry key="frontend.global.for"}{/if} <span class="blued">{if $pk_info[0].pk_period eq 31 or $pk_info[0].pk_period eq 30 or $pk_info[0].pk_period eq 365}{$smarty.post.pk_period|sanitize}{/if}</span> {if $pk_info[0].pk_period eq 31 or $pk_info[0].pk_period eq 30}{if $smarty.post.pk_period eq "1"}{lang_entry key="frontend.global.mont"}{else}{lang_entry key="frontend.global.month"}{/if}{elseif $pk_info[0].pk_period eq 365}{if $smarty.post.pk_period eq "1"}{lang_entry key="frontend.global.year"}{else}{lang_entry key="frontend.global.years"}{/if}{else}<span class="blued">{if $pk_periodtext eq ""}{$pk_info[0].pk_period} {if $pk_info[0].pk_period eq "1"}{lang_entry key="frontend.global.day"}{else}{lang_entry key="frontend.global.days"}{/if}{else}{$pk_periodtext}{/if}</span>{/if}</span>
</div>
<br>
<div class="row top-padding10">
<span class="label-signin"></span>
<span class="input-signin"><button class="search-button form-button apply-button" name="signup_complete" id="signup-complete" type="button"><span>{lang_entry key="frontend.global.confirm"}</span></button></span>
</div>
</div>
<script type="text/javascript">
var main_url = '{$main_url}/';
$("#signup-complete").bind("click", function () {ldelim}
$(".col1").mask(" ");
$.post(main_url + "{href_entry key="signup"}/payment?do=process", $("#signup-form-left").serialize(),
function(data) {ldelim}
$("#continue-response").html(data);
{rdelim});
{rdelim});
</script>

View File

@@ -0,0 +1,65 @@
{if $smarty.session.signup_pack ne ""}
{assign var=pack_value value=$smarty.post.frontend_membership_type|sanitize}
{elseif $smarty.post.frontend_membership_type}
{assign var=pack_value value=$smarty.post.frontend_membership_type|sanitize}
{else}
{if $smarty.get.p|escape:'b64d' gt 0}
{assign var=pack_value value="{lang_entry key="frontend.membership.type"}: {$pk_info[0].pk_name}"}
{else}
{assign var=pack_value value="{lang_entry key="frontend.membership.type"}"}
{/if}
{/if}
<div class="row">
<label>{lang_entry key="frontend.membership.type.sel"}</label>
<div class="input-signup">
<div id="membership_types" class="selector">
<input type="hidden" {$ro} name="frontend_membership_type" class="login-input" id="pack-loc" value="{$pack_value}" />
<input type="hidden" {$ro} name="frontend_membership_type_tmp" class="login-input no-display" value="{$pack_value}" />
<select class="{if $renew eq "1"}renew-select{else}signup-select{/if}" name="frontend_membership_type_sel" id="frontend_membership_type" {$l_disabled} onchange="$('#pack-loc').val('{lang_entry key="frontend.membership.type"}: '+this.options[this.selectedIndex].text);">
{if $smarty.get.p eq "" and $smarty.get.u eq ""}
<option value="">---</option>
{/if}
{section name=p loop=$memberships}
<option value="{$memberships[p].pk_id}" {if $smarty.session.signup_pack eq $memberships[p].pk_id or $pk_info[0].pk_name eq $memberships[p].pk_name}selected="selected"{elseif $smarty.post.frontend_membership_type_sel eq $memberships[p].pk_id or $smarty.get.p|escape:'b64d' eq $memberships[p].pk_id}selected="selected"{/if}>{$memberships[p].pk_name}</option>
{/section}
</select>
</div>
</div>
</div>
<div class="row">
<div id="membership-wrapper">
<div id="membership_info">
<div id="membership_entry" style="display: none;"></div>
{section name=q loop=$memberships}
<div id="membership_entry{$memberships[q].pk_id}" style="display: {if $smarty.session.signup_pack eq $memberships[q].pk_id or $smarty.post.frontend_membership_type_sel eq $memberships[q].pk_id or $pk_info[0].pk_name eq $memberships[q].pk_name or $smarty.get.p|escape:'b64d' eq $memberships[q].pk_id}block{else}none{/if};">
<div class="pk-descr">{$memberships[q].pk_descr}</div>
<div>
<ul class="top-padding10 ul-disc-list">
<li>{insert name=sizeFormat assign=pk_space size=$memberships[q].pk_space}{if $memberships[q].pk_space eq "0"}{lang_entry key="frontend.pkinfo.unlimited"}{else}<span class="bold">{$pk_space}</span>{/if}{lang_entry key="frontend.pkinfo.upspace"}</li>
<li>{insert name=sizeFormat assign=pk_bw size=$memberships[q].pk_bw}{if $memberships[q].pk_bw eq "0"}{lang_entry key="frontend.pkinfo.unlimited"}{else}<span class="bold">{$pk_bw}</span>{/if}{lang_entry key="frontend.pkinfo.bwspace"}</li>
{if $memberships[q].pk_llimit gt 0 and $live_module eq "1"}<li><span class="bold">{$memberships[q].pk_llimit}</span>{lang_entry key="frontend.pkinfo.liveallow"}</li>{elseif $memberships[q].pk_llimit eq 0 and $live_module eq "1"}<li>{lang_entry key="frontend.pkinfo.unlimited"}{lang_entry key="frontend.pkinfo.liveallow"}</li>{/if}
{if $memberships[q].pk_vlimit gt 0 and $video_module eq "1"}<li><span class="bold">{$memberships[q].pk_vlimit}</span>{lang_entry key="frontend.pkinfo.vidallow"}</li>{elseif $memberships[q].pk_vlimit eq 0 and $video_module eq "1"}<li>{lang_entry key="frontend.pkinfo.unlimited"}{lang_entry key="frontend.pkinfo.vidallow"}</li>{/if}
{if $memberships[q].pk_ilimit gt 0 and $image_module eq "1"}<li><span class="bold">{$memberships[q].pk_ilimit}</span>{lang_entry key="frontend.pkinfo.imgallow"}</li>{elseif $memberships[q].pk_ilimit eq 0 and $image_module eq "1"}<li>{lang_entry key="frontend.pkinfo.unlimited"}{lang_entry key="frontend.pkinfo.imgallow"}</li>{/if}
{if $memberships[q].pk_alimit gt 0 and $audio_module eq "1"}<li><span class="bold">{$memberships[q].pk_alimit}</span>{lang_entry key="frontend.pkinfo.audallow"}</li>{elseif $memberships[q].pk_alimit eq 0 and $audio_module eq "1"}<li>{lang_entry key="frontend.pkinfo.unlimited"}{lang_entry key="frontend.pkinfo.audallow"}</li>{/if}
{if $memberships[q].pk_blimit gt 0 and $blog_module eq "1"}<li><span class="bold">{$memberships[q].pk_blimit}</span>{lang_entry key="frontend.pkinfo.blogallow"}</li>{elseif $memberships[q].pk_blimit eq 0 and $blog_module eq "1"}<li>{lang_entry key="frontend.pkinfo.unlimited"}{lang_entry key="frontend.pkinfo.blogallow"}</li>{/if}
{if $memberships[q].pk_dlimit gt 0 and $document_module eq "1"}<li><span class="bold">{$memberships[q].pk_dlimit}</span>{lang_entry key="frontend.pkinfo.docallow"}</li>{elseif $memberships[q].pk_dlimit eq 0 and $document_module eq "1"}<li>{lang_entry key="frontend.pkinfo.unlimited"}{lang_entry key="frontend.pkinfo.docallow"}</li>{/if}
<li>{if $memberships[q].pk_price eq "0"}{lang_entry key="frontend.pkinfo.freereg"}{lang_entry key="frontend.pkinfo.regactive"}<span class="bold">{$memberships[q].pk_period}</span> {lang_entry key="frontend.global.days"}{else}{lang_entry key="frontend.pkinfo.costreg"}<span class="bold">{$memberships[q].pk_priceunit}{$memberships[q].pk_price}</span>{lang_entry key="frontend.pkinfo.regactive"}<span class="bold">{$memberships[q].pk_period}</span> {lang_entry key="frontend.global.days"}{/if}</li>
</ul>
</div>
</div>
{/section}
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {ldelim}
$("#frontend_membership_type").bind("change", function () {ldelim}
var pk_val = $(this).val();
{section name=j loop=$memberships}
$("#membership_entry"+pk_val).stop().slideDown();
if (pk_val != "{$memberships[j].pk_id}") $("#membership_entry{$memberships[j].pk_id}").stop().slideUp();
{/section}
{rdelim});
{rdelim});
</script>

View File

@@ -0,0 +1,38 @@
<div class="outer-border-wrapper info-promo">
<div class="inner-wrapper center">
<article>
<h3 class="content-title"><i class="icon-info"></i> {lang_entry key="frontend.signin.promo.h1"}</h3>
<div class="line"></div>
</article>
<div class="vs-column half">
<ul class="promo-list first">
<li><i class="icon-video"></i> {lang_entry key="frontend.signin.promo.li1"}</li>
<li><i class="icon-image"></i> {lang_entry key="frontend.signin.promo.li2"}</li>
<li><i class="icon-headphones"></i> {lang_entry key="frontend.signin.promo.li3"}</li>
<li><i class="icon-books"></i> {lang_entry key="frontend.signin.promo.li4"}</li>
<li><i class="icon-blog"></i> {lang_entry key="frontend.signin.promo.li5"}</li>
<li><i class="icon-upload"></i> {lang_entry key="frontend.signin.promo.li6"}</li>
<li><i class="icon-share"></i> {lang_entry key="frontend.signin.promo.li7"}</li>
<li><i class="icon-comment"></i> {lang_entry key="frontend.signin.promo.li8"}</li>
<li><i class="icon-thumbs-up"></i> {lang_entry key="frontend.signin.promo.li9"}</li>
<li><i class="icon-flag"></i> {lang_entry key="frontend.signin.promo.li10"}</li>
</ul>
</div>
<div class="vs-column half fit">
<ul class="promo-list second">
<li><i class="icon-bullhorn"></i> {lang_entry key="frontend.signin.promo.li11"}</li>
<li><i class="icon-download"></i> {lang_entry key="frontend.signin.promo.li12"}</li>
<li><i class="icon-comments"></i> {lang_entry key="frontend.signin.promo.li13"}</li>
<li><i class="icon-heart"></i> {lang_entry key="frontend.signin.promo.li14"}</li>
<li><i class="icon-list"></i> {lang_entry key="frontend.signin.promo.li15"}</li>
<li><i class="icon-users"></i> {lang_entry key="frontend.signin.promo.li16"}</li>
<li><i class="icon-envelope"></i> {lang_entry key="frontend.signin.promo.li17"}</li>
<li><i class="icon-search"></i> {lang_entry key="frontend.signin.promo.li18"}</li>
<li><i class="icon-users5"></i> {lang_entry key="frontend.signin.promo.li19"}</li>
<li><i class="icon-cog"></i> {lang_entry key="frontend.signin.promo.li20"}</li>
</ul>
</div>
<center><p><a href="{$main_url}/{href_entry key="signup"}" rel="nofollow">{lang_entry key="frontend.signin.promo.s1"}</a> {lang_entry key="frontend.signin.promo.s2"}</p></center>
</div>
</div>

View File

@@ -0,0 +1,44 @@
{if $smarty.get.s eq "" and $smarty.get.id eq ""}
{if ($password_recovery_captcha eq "1" and $global_section eq "frontend")} {assign var=extra_l value=1}
{elseif ($backend_password_recovery_captcha eq "1" and $global_section eq "backend")}{assign var=extra_l value=3} {/if}
{if ($username_recovery_captcha eq "1" and $global_section eq "frontend")} {assign var=extra_r value=2}
{elseif ($backend_username_recovery_captcha eq "1" and $global_section eq "backend")}{assign var=extra_r value=4} {/if}
<div class="login-margins-off">
<div class="vs-column full fit">
<div class="login-page">
<div class="tabs tabs-style-line">
{insert name=advHTML id="39"}
<h1 class="content-title"><i class="icon-user"></i> {lang_entry key="frontend.global.account"}</h1>
<nav>
<ul>
<li onclick="window.location='{$main_url}/{href_entry key="signin"}'"><a href="#section-topline-1" class="icon icon-enter" rel="nofollow"><span>{lang_entry key="frontend.global.signin"}</span></a></li>
<li onclick="window.location='{$main_url}/{href_entry key="signup"}'"><a href="#section-topline-2" class="icon icon-signup" rel="nofollow"><span>{lang_entry key="frontend.global.signup"}</span></a></li>
<li class="tab-current"><a href="#section-topline-3" class="icon icon-support" rel="nofollow"><span>{lang_entry key="frontend.global.recovery"}</span></a></li>
</ul>
</nav>
<div class="content-wrap">
<section id="section-topline-1">
</section>
<section id="section-topline-2">
</section>
<section id="section-topline-3" class="content-current">
<div>
{include file="tpl_frontend/tpl_auth/tpl_recovery_form.tpl"}
</div>
</section>
</div><!-- /content -->
</div><!-- /tabs -->
{insert name=advHTML id="40"}
</div>
</div>
</div>
<script type="text/javascript">
{include file="tpl_backend/tpl_signinjs.tpl"}
</script>
{else}
{include file="tpl_frontend/tpl_auth/tpl_recovery_form.tpl"}
{/if}

View File

@@ -0,0 +1,137 @@
{if $smarty.get.s ne "" and $smarty.get.id ne ""}
<div class="login-page">
<div class="outer-border-wrapper">
<form id="password-recovery-form" class="recovery-form user-form" method="post" action="">
<article>
<h3 class="content-title"><i class="icon-user"></i> {lang_entry key="recovery.password.account"}</h3>
<div class="line"></div>
</article>
{if $error_message ne ""}{$error_message}{elseif $notice_message ne ""}{$notice_message}{/if}
{if $tpl_error_max eq ""}
<div class="">
<span class="label-signin">{lang_entry key="frontend.global.username"}: </span>
<span class="input-signin">{if $global_section eq "frontend"}{$fe_recovery_username}{else}{$recovery_username}{/if}</span>
</div>
<div class="">
<span class="label-signin">{lang_entry key="recovery.forgot.new.password"}: </span>
<span class="input-signin"><input type="password" id="recover-password-input" name="recovery_forgot_new_password" class="text-input" /></span>
</div>
<div class="">
<span class="label-signin">{lang_entry key="recovery.forgot.retype.password"}: </span>
<span class="input-signin"><input type="password" id="reenter-password-input" name="recovery_forgot_retype_password" class="text-input" /></span>
</div>
<div class="">
<span class="label-signin"></span>
<span class="input-signin"><button class="search-button form-button" name="reset_password" id="reset-password-button" type="submit" value="1">{lang_entry key="frontend.global.submit"}</button></span>
</div>
{/if}
</form>
</div>
</div>
{else}
{if ($password_recovery_captcha eq "1" and $global_section eq "frontend")} {assign var=extra_l value=1}
{elseif ($backend_password_recovery_captcha eq "1" and $global_section eq "backend")} {assign var=extra_l value=3} {/if}
{if ($username_recovery_captcha eq "1" and $global_section eq "frontend")} {assign var=extra_r value=2}
{elseif ($backend_username_recovery_captcha eq "1" and $global_section eq "backend")} {assign var=extra_r value=4} {/if}
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>
<script type="text/javascript">
var recaptcha1;
var recaptcha2;
var myCallBack = function() {ldelim}
{if ($allow_password_recovery eq "1" and $global_section eq "frontend") or ($backend_password_recovery eq "1" and $global_section eq "backend")}
{if ($password_recovery_captcha eq "1" and $global_section eq "frontend") or ($backend_password_recovery_captcha eq "1" and $global_section eq "backend")}
//Render the recaptcha1 on the element with ID "recaptcha1"
recaptcha1 = grecaptcha.render('recaptcha1', {ldelim}
'sitekey' : '{$recaptcha_site_key}', //Replace this with your Site key
'theme' : 'light'
{rdelim});
{/if}
{/if}
{if ($allow_username_recovery eq "1" and $global_section eq "frontend") or ($backend_username_recovery eq "1" and $global_section eq "backend")}
{if ($username_recovery_captcha eq "1" and $global_section eq "frontend") or ($backend_username_recovery_captcha eq "1" and $global_section eq "backend")}
//Render the recaptcha2 on the element with ID "recaptcha2"
recaptcha2 = grecaptcha.render('recaptcha2', {ldelim}
'sitekey' : '{$recaptcha_site_key}', //Replace this with your Site key
'theme' : 'light'
{rdelim});
{/if}
{/if}
{rdelim};
</script>
<div class="">
{if ($allow_password_recovery eq "1" and $global_section eq "frontend") or ($backend_password_recovery eq "1" and $global_section eq "backend")}
<div class="outer-border-wrapper" id="recover-password-mask">
<form id="password-recovery-form" class="user-form" action="" method="post">
<article>
<h3 class="content-title"><i class="icon-user"></i> {if $global_section eq "frontend"}{lang_entry key="recovery.forgot.password"}{else}{lang_entry key="backend.recovery.forgot.password"}{/if}&nbsp;&nbsp;<i class="icon-question" rel="tooltip" title="{if $global_section eq "frontend"}{lang_entry key="recovery.forgot.pass.txt"}{else}{lang_entry key="backend.recovery.forgot.pass.txt"}{/if}{if $password_recovery_captcha eq "1"}{lang_entry key="recovery.verif.code.txt"}{/if}{lang_entry key="recovery.forgot.pass.txt1"}"></i></h3>
<div class="line"></div>
</article>
<div id="recover-password-response" class=""></div>
<div class="inner-wrapper center">
<div class="row">
<span class="label-signin">{lang_entry key="frontend.global.username"}: </span>
<span class="input-signin"><input type="text" id="recover-password-input" name="rec_username" class="text-input" {$left_disabled} /></span>
</div>
{if ($password_recovery_captcha eq "1" and $global_section eq "frontend") or ($backend_password_recovery_captcha eq "1" and $global_section eq "backend")}
<div class="row" style="margin-top: 10px;">
<span class="label-signin"></span>
<span class="input-signin"><div id="recaptcha1" style="margin-top: 10px; margin-bottom: 15px; transform:scale(0.99);-webkit-transform:scale(0.99);transform-origin:0 0;-webkit-transform-origin:0 0;"></div></span>
</div>
{/if}
<div class="clearfix"></div>
<div class="">
<span class="label-signin"></span>
<span class="input-signin">
<button class="search-button form-button" name="recover_password" id="recover-password-button" type="button" value="1" {$left_disabled}>{lang_entry key="frontend.global.submit"}</button>
</span>
</div>
</div>
</form>
</div>
{else}
<article>
<h3 class="content-title"><i class="icon-user"></i> {lang_entry key='recovery.disabled.password'}</h3>
<div class="line"></div>
</article>
{/if}
</div>
<div class="outer-border-wrapper" id="recover-username-mask">
<form id="username-recovery-form" class="user-form" action="" method="post">
{if ($allow_username_recovery eq "1" and $global_section eq "frontend") or ($backend_username_recovery eq "1" and $global_section eq "backend")}
<article>
<h3 class="content-title"><i class="icon-user"></i> {if $global_section eq "frontend"}{lang_entry key="recovery.forgot.username"}{else}{lang_entry key="backend.recovery.forgot.username"}{/if}&nbsp;&nbsp;<i class="icon-question" rel="tooltip" title="{if $global_section eq "frontend"}{lang_entry key="recovery.forgot.user.txt"}{else}{lang_entry key="backend.recovery.forgot.user.txt"}{/if}{if $username_recovery_captcha eq "1"}{lang_entry key="recovery.verif.code.txt"}{/if}{lang_entry key="recovery.forgot.user.txt1"}"></i>
<div class="line"></div>
</h3>
</article>
<div id="recover-username-response" class=""></div>
<div class="inner-wrapper center">
<div class="">
<span class="label-signin">{lang_entry key="frontend.global.email"}: </span>
<span class="input-signin"><input type="text" id="recover-username-input" name="rec_email" class="text-input" {$right_disabled} /></span>
</div>
{if ($username_recovery_captcha eq "1" and $global_section eq "frontend") or ($backend_username_recovery_captcha eq "1" and $global_section eq "backend")}
<div class="row" style="margin-top: 10px;">
<span class="label-signin"></span>
<span class="input-signin"><div id="recaptcha2" style="margin-top: 10px; margin-bottom: 15px; transform:scale(0.99);-webkit-transform:scale(0.99);transform-origin:0 0;-webkit-transform-origin:0 0;"></div></span>
</div>
{/if}
<div class="clearfix"></div>
<div class="">
<span class="label-signin"></span>
<span class="input-signin">
<button class="search-button form-button" name="recover_username" id="recover-username-button" type="button" value="1" {$right_disabled}>{lang_entry key="frontend.global.submit"}</button>
</span>
</div>
</div>
</form>
</div>
{else}
<article>
<h3 class="content-title"><i class="icon-user"></i> {lang_entry key='recovery.disabled.username'}</h3>
<div class="line"></div>
</article>
{/if}
{/if}

View File

@@ -0,0 +1,97 @@
{if $signup_captcha eq "1"}<script type="text/javascript" src="https://www.google.com/recaptcha/api.js"></script>{/if}
<div class="outer-border-wrapper">
<div class="inner-wrapper center">
{if $global_signup eq "0" or $do_disable eq "yes"}
<article>
<h3 class="content-title"><i class="icon-user"></i> {$disabled_signup_message}</h3>
<div class="line"></div>
</article>
{else}
<form id="register-form" class="user-form entry-form-class" method="post" action="">
<br>
{if $error_message ne ""}{$error_message}{elseif $notice_message ne ""}{$notice_message}{/if}
{if $notice_message eq ""}
<div class="row">
<span class="label-signin">{lang_entry key="frontend.signin.username"}: </span>{if $signup_username_availability eq "1"}<span id="check-response"></span>{/if}
<span class="input-signin"><input type="text" id="signup-username" class="text-input login-input" name="frontend_signin_username" value="{if $smarty.post.frontend_signin_username}{$smarty.post.frontend_signin_username|sanitize}{/if}"></span>
</div>
<div class="row">
<span class="label-signin">{lang_entry key="frontend.signup.emailadd"}: </span>
<span class="input-signin"><input type="text" class="text-input login-input" name="frontend_signup_emailadd" value="{if $smarty.post.frontend_signup_emailadd}{$smarty.post.frontend_signup_emailadd|sanitize}{/if}"></span>
</div>
<div class="row">
<span class="label-signin">{lang_entry key="frontend.signin.password"}: </span>
<span class="input-signin"><input type="password" class="text-input" name="frontend_signup_setpass" onclick="this.select();" onfocus="if(this.value == '{lang_entry key="frontend.signin.password"}1') { this.value = ''; }" onblur="if(this.value == '') { this.value = '{lang_entry key="frontend.signin.password"}1'; }" {if $signup_password_meter eq "1"}onkeyup="updatePasswordStrength_new(this,'passwdRating',{ldelim} 'text':2 {rdelim});"{/if} /><a href="" rel="nofollow" class="showp"><i class="icon-eye"></i></a><a href="" rel="nofollow" class="hidep no-display"><i class="icon-eye-blocked"></i></a></span>
{if $signup_password_meter eq "1"}
<div class="row no-top-padding">
<div class="label-signup"></div>
<div class="input-signup">
<div id="passwdRating">
<div id="pass_meter" class="pass_meter"><div class="pass_meter_base"></div></div>
<div id="ps-rating"></div>
</div>
</div>
</div>
{/if}
</div>
<div class="row">
<span class="label-signin">{lang_entry key="frontend.signup.setpassagain"}: </span>
<span class="input-signin"><input type="password" class="text-input" name="frontend_signup_setpassagain" onclick="this.select();" /><a href="" rel="nofollow" class="showp"><i class="icon-eye"></i></a><a href="" rel="nofollow" class="hidep no-display"><i class="icon-eye-blocked"></i></a></span>
</div>
{if $paid_memberships eq "1"}
{include file="tpl_frontend/tpl_auth/tpl_payment_packlist.tpl"}
{/if}
{if $signup_captcha eq "1"}
<div class="captcha-row">
<span class="label-signin"></span>
<span class="input-signin"><div class="g-recaptcha" data-sitekey="{$recaptcha_site_key}" style="transform:scale(0.99);-webkit-transform:scale(0.99);transform-origin:0 0;-webkit-transform-origin:0 0;"></div></span>
</div>
{/if}
<div class="row form-buttons">
<span class="label-signin"></span>
<span class="input-signin">
<button type="submit" class="search-button form-button" value="1" name="frontend_global_submit" style="width:100%"><span>{lang_entry key="frontend.signup.create"}</span></button>
</span>
</div>
</form>
<div class="row form-buttons">
<span class="label-signin"></span>
<span class="input-signin">
{if $fb_auth eq "1" or $gp_auth eq "1"}
<div class="hr"><div class="inner">{lang_entry key="frontend.global.or"}</div></div>
{if $smarty.get.u eq ""}
<center>
{$fb_register}
{$gp_register}
</center>
{else}
{$fb_register}
{$gp_register}
<a href="#upopup" id="inline" class="hidden" rel="nofollow"></a>
<div id="upopup" style="display: none;">
<div class="lb-margins">
<article>
<h3 class="content-title"><i class="icon-user"></i>{lang_entry key="frontend.signup.fbusername"}</h3>
<div class="line"></div>
</article>
<form id="auth-register-form" class="entry-form-class">
<h4><i class="icon-info"></i> {lang_entry key="frontend.signup.fbcomplete"}</h4>
<input name="auth_confirm" type="hidden" value="0">
<input name="auth_userid" type="hidden" class="form-control" placeholder="" value="{if $smarty.session.fb_user['id'] gt 0}{$smarty.session.fb_user['id']}{elseif $smarty.session.gp_user['id'] gt 0}{$smarty.session.gp_user['id']}{/if}">
<input name="auth_username" type="text" class="form-control" placeholder="" value="">
<div class="auth-username-check-response"></div>
<span class="input-signin">
<button class="search-button form-button auth-check-button auth-username-check-btn" value="1" name="frontend_global_check" type="button"><span>{lang_entry key="frontend.global.check"}</span></button>
<button class="search-button form-button apply-button" name="auth-submit-register" id="auth-register-submit" type="button">{lang_entry key="frontend.global.submit"}</button>
</span>
</form>
</div>
</div>
{/if}
{/if}
</span>
</div>
{/if}
{/if}
</div>
</div>

View File

@@ -0,0 +1,31 @@
{if $signup_captcha eq "1" or $signin_captcha eq "1"}<script type="text/javascript" src="https://www.google.com/recaptcha/api.js"></script>{/if}
<div class="login-margins-off">
<div class="vs-column full fit">
<div class="login-page">
<div class="tabs tabs-style-line">
{insert name=advHTML id="39"}
<h1 class="content-title"><i class="icon-user"></i> {lang_entry key="frontend.global.account"}</h1>
<nav>
<ul>
<li class="tab-current"><a href="#section-topline-1" class="icon icon-enter" rel="nofollow"><span>{lang_entry key="frontend.global.signin"}</span></a></li>
<li onclick="window.location='{$main_url}/{href_entry key="signup"}'"><a href="#section-topline-2" class="icon icon-signup" rel="nofollow"><span>{lang_entry key="frontend.global.signup"}</span></a></li>
<li onclick="window.location='{$main_url}/{href_entry key="service"}/{href_entry key="x_recovery"}'"><a href="#section-topline-3" class="icon icon-support" rel="nofollow"><span>{lang_entry key="frontend.global.recovery"}</span></a></li>
</ul>
</nav>
<div class="clearfix"></div>
<div class="content-wrap">
<section id="section-topline-1" class="content-current">
<div class="">
{include file="tpl_frontend/tpl_auth/tpl_signin_loginbox.tpl"}
</div>
</section>
<section id="section-topline-2">
</section>
<section id="section-topline-3">
</section>
</div><!-- /content -->
</div><!-- /tabs -->
{insert name=advHTML id="40"}
</div>
</div>
</div>

View File

@@ -0,0 +1,63 @@
<div class="outer-border-wrapper">
<div class="inner-wrapper center">
{if ($global_section eq "frontend" and $frontend_signin_section eq "1") or ($global_section eq "backend" and $backend_signin_section eq "1")}
<form id="signin-form" class="user-form" method="post" action="{if $global_section eq "frontend"}{$main_url}/{href_entry key="signin"}{if $smarty.get.next ne ""}?next={$smarty.get.next|sanitize}{/if}{/if}">
<br>
{$error_message}
<div class="row">
<span class="label-signin">{lang_entry key="frontend.signin.username"}: </span>
<span class="input-signin"><input {$disabled_input} type="text" class="text-input login-input" name="frontend_signin_username" /></span>
</div>
<div class="row">
<span class="label-signin">{lang_entry key="frontend.signin.password"}: </span>
<span class="input-signin"><input {$disabled_input} type="password" class="text-input" name="frontend_signin_password" onclick="this.select();" /><a href="" rel="nofollow" class="showp"><i class="icon-eye"></i></a><a href="" rel="nofollow" class="hidep no-display"><i class="icon-eye-blocked"></i></a></span>
</div>
{if ($global_section eq "frontend" and $login_remember eq "1") or ($global_section eq "backend" and $backend_remember eq "1")}
<div class="row">
<span class="label-signin no-top-margin icheck-box"><label><input {$disabled_input} type="checkbox" name="signin_remember" value="1" {if $smarty.post.signin_remember}checked="checked"{/if} /> {lang_entry key="frontend.signin.remember"}</label></span>
</div>
{/if}
{if $signin_captcha eq "1"}
<div class="captcha-row">
<span class="label-signin"></span>
<span class="input-signin"><div class="g-recaptcha" data-sitekey="{$recaptcha_site_key}" style="transform:scale(0.99);-webkit-transform:scale(0.99);transf
</div>
{/if}
<div class="clearfix"></div>
<div class="row form-buttons">
{if $fb_auth eq "1" or $gp_auth eq "1"}
<script type="text/javascript">
function popupwindow(url, title, win, w, h) {ldelim}
var y = window.top.outerHeight / 2 + window.top.screenY - ( h / 2);
var x = window.top.outerWidth / 2 + window.top.screenX - ( w / 2);
winpop = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+y+', left='+x);
{rdelim}
</script>
{/if}
<span class="label-signin"></span>
<span class="input-signin">
<center>
<button class="search-button form-button" value="1" name="frontend_global_submit" style="width:100%"><span>{lang_entry key="frontend.global.signin"}</span></button>
{if $fb_auth eq "1" or $gp_auth eq "1"}<div class="hr"><div class="inner">{lang_entry key="frontend.global.or"}</div></div>{/if}
{if $fb_auth eq "1"}
<a href="javascript:;" rel="nofollow" onclick="popupwindow(&quot;{$fb_loginUrl}&display=popup&quot;, &quot;winpop&quot;, &quot;winpop&quot;, &quot;560&quot;, &quot;400&quot;);" style="display:inline-block;padding:10px 20px;"><img src="{$global_images_url}/f_logo_RGB-Blue_58.png" height="32" style="display:block;margin:0 auto;margin-bottom:10px"> <span>{lang_entry key="frontend.signin.fb"}</span></a>
<button class="no-display search-button form-button fb-login-button" onclick="popupwindow(&quot;{$fb_loginUrl}&display=popup&quot;, &quot;winpop&quot;, &quot;winpop&quot;, &quot;560&quot;, &quot;400&quot;);" type="button" value="1" name="frontend_global_fb" style="text-transform:none"><span>{lang_entry key="frontend.signin.fb"}</span></button>{/if}
{if $gp_auth eq "1"}
<a href="javascript:;" rel="nofollow" onclick="popupwindow(&quot;{$gp_loginUrl}&display=popup&quot;, &quot;winpop&quot;, &quot;winpop&quot;, &quot;560&quot;, &quot;400&quot;);" style="display:inline-block;padding:10px 20px;"><img src="{$global_images_url}/google-logo.png" height="32" style="display:block;margin:0 auto;margin-bottom:10px"> <span>{lang_entry key="frontend.signin.gp"}</span></a>
<button class="no-display search-button form-button gp-login-button" onclick="popupwindow(&quot;{$gp_loginUrl}&display=popup&quot;, &quot;winpop&quot;, &quot;winpop&quot;, &quot;560&quot;, &quot;400&quot;);" type="button" value="1" name="frontend_global_gp" style="text-transform:none"><span>{lang_entry key="frontend.signin.gp"}</span></button>
{/if}
</center>
<br>
</span>
</div>
</form>
{else}
<article>
<h3 class="content-title"><i class="icon-user"></i> {lang_entry key='frontend.signin.text11'}</h3>
<div class="line"></div>
</article>
{/if}
</div>
</div>

View File

@@ -0,0 +1,34 @@
<div class="login-margins-off">
<div class="vs-column full fit">
<div class="login-page">
<div class="tabs tabs-style-line">
{insert name=advHTML id="37"}
<h1 class="content-title"><i class="icon-user"></i> {lang_entry key="frontend.global.account"}</h1>
<nav>
<ul>
<li onclick="window.location='{$main_url}/{href_entry key="signin"}'"><a href="#section-topline-1" class="icon icon-enter" rel="nofollow"><span>{lang_entry key="frontend.global.signin"}</span></a></li>
<li class="tab-current"><a href="#section-topline-2" class="icon icon-signup" rel="nofollow"><span>{lang_entry key="frontend.global.signup"}</span></a></li>
<li onclick="window.location='{$main_url}/{href_entry key="service"}/{href_entry key="x_recovery"}'"><a href="#section-topline-3" class="icon icon-support" rel="nofollow"><span>{lang_entry key="frontend.global.recovery"}</span></a></li>
</ul>
</nav>
<div class="clearfix"></div>
<div class="content-wrap">
<section id="section-topline-1">
</section>
<section id="section-topline-2" class="content-current">
<div class="">
{include file="tpl_frontend/tpl_auth/tpl_register.tpl"}
</div>
</section>
<section id="section-topline-3">
</section>
</div><!-- /content -->
</div><!-- /tabs -->
{insert name=advHTML id="38"}
</div>
</div>
</div>
<script type="text/javascript">
{include file="tpl_backend/tpl_signinjs.tpl"}
</script>

View File

@@ -0,0 +1,25 @@
<div class="top-padding10">
<div class="wd350 left-float bold font14 left-padding50">
<div>{lang_entry key="welcome.account.info"}</div>
<div class="left-padding50 font83">
<ul>
<li class="top-padding5">{lang_entry key="welcome.account.youruser"}<br /><span class="normal">{$smarty.session.USER_NAME}</span></li>
{if $paid_memberships eq 1}
<li class="top-padding5">{lang_entry key="welcome.account.yourpack"}<br /><span class="normal">{$pk_name}</span></li>
{else}
<li class="top-padding5">{lang_entry key="welcome.account.youremail"}<br /><span class="normal">{$usr_email}</span></li>
{/if}
</ul>
</div>
</div>
<div class="wd350 left-float bold font14 left-padding50">
<div>{lang_entry key="welcome.account.getstarted"} {$website_shortname}</div>
<div class="left-padding50 font83">
<ul>
<li class="top-padding5 normal">{lang_entry key="welcome.account.customize"}</li>
<li class="top-padding5 normal">{lang_entry key="welcome.account.upload"}</li>
<li class="top-padding5 normal">{lang_entry key="welcome.account.prefs"}</li>
</ul>
</div>
</div>
</div>