mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Eliminadas vistas del login antiguo
This commit is contained in:
@ -1,76 +0,0 @@
|
||||
<div class="authincation h-100">
|
||||
<div class="container-fluid h-100">
|
||||
<div class="row justify-content-center h-100 align-items-center">
|
||||
<div class="col-md-4">
|
||||
<div class="authincation-content">
|
||||
<div class="row no-gutters">
|
||||
<div class="col-xl-12">
|
||||
<div class="auth-form">
|
||||
<h4 class="text-center mb-4"><?= lang("App.login_title_otp") ?></h4>
|
||||
<form action="<?=site_url("login/otp")?>" id="sendForm" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<div class="form-group">
|
||||
<label><strong><?= lang("App.login_otp_code") ?></strong></label>
|
||||
<div><span><?= lang("App.login_otp_span") ?></span></div>
|
||||
<div id="otp" class="inputs d-flex flex-row justify-content-center mt-2">
|
||||
<input class="m-2 text-center form-control rounded" type="text" id="pin_1" name="pin_1" maxlength="1" />
|
||||
<input class="m-2 text-center form-control rounded" type="text" id="pin_2" name="pin_2" maxlength="1" />
|
||||
<input class="m-2 text-center form-control rounded" type="text" id="pin_3" name="pin_3" maxlength="1" />
|
||||
<input class="m-2 text-center form-control rounded" type="text" id="pin_4" name="pin_4" maxlength="1" />
|
||||
<input class="m-2 text-center form-control rounded" type="text" id="pin_5" name="pin_5" maxlength="1" />
|
||||
<input class="m-2 text-center form-control rounded" type="text" id="pin_6" name="pin_6" maxlength="1" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center mt-1 mb-2">
|
||||
<button type="button" class="btn btn-dark btn-block" onclick="window.location.href = '<?=site_url("login")?>';"><?= lang("App.login_come_back") ?></button>
|
||||
</div>
|
||||
<p class="text-primary" id="msg" style="display: none;"><i class="fas fa-spinner fa-pulse"></i> <?= lang("App.login_wait") ?></p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="<?=site_url("themes/focus2/vendor/global/global.min.js")?>"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
$(document).ready(function () {
|
||||
$('#pin_1').focus();
|
||||
});
|
||||
document.addEventListener("DOMContentLoaded", function(event) {
|
||||
function OTPInput() {
|
||||
const inputs = document.querySelectorAll('#otp > *[id]');
|
||||
for (let i = 0; i < inputs.length; i++) {
|
||||
inputs[i].addEventListener('keydown', function(event) {
|
||||
if (event.key === "Backspace") {
|
||||
inputs[i].value = '';
|
||||
if (i !== 0) inputs[i - 1].focus();
|
||||
} else {
|
||||
if (i === inputs.length - 1 && inputs[i].value !== '') {
|
||||
return true;
|
||||
} else if (event.keyCode > 47 && event.keyCode < 58) {
|
||||
inputs[i].value = event.key;
|
||||
if (i !== inputs.length - 1) inputs[i + 1].focus();
|
||||
event.preventDefault();
|
||||
} else if (event.keyCode > 64 && event.keyCode < 91) {
|
||||
inputs[i].value = String.fromCharCode(event.keyCode);
|
||||
if (i !== inputs.length - 1) inputs[i + 1].focus();
|
||||
event.preventDefault();
|
||||
} else if (event.keyCode > 95 && event.keyCode < 106) {
|
||||
inputs[i].value = event.key;
|
||||
if (i !== inputs.length - 1) inputs[i + 1].focus();
|
||||
event.preventDefault();
|
||||
}
|
||||
if(i === 5){
|
||||
load();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
OTPInput();
|
||||
});
|
||||
</script>
|
||||
@ -1,79 +0,0 @@
|
||||
<!-- Content -->
|
||||
|
||||
<div class="authentication-wrapper authentication-cover authentication-bg">
|
||||
<div class="authentication-inner row">
|
||||
<!-- /Left Text -->
|
||||
<div class="d-none d-lg-flex col-lg-7 p-0">
|
||||
<div class="auth-cover-bg auth-cover-bg-color d-flex justify-content-center align-items-center">
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/safekat/login/auth-login-illustration-light.png')?>"
|
||||
alt="auth-forgot-password-cover"
|
||||
class="img-fluid my-5 auth-illustration"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/illustrations/bg-shape-image-light.png'); ?>"
|
||||
alt="auth-forgot-password-cover"
|
||||
class="platform-bg"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Left Text -->
|
||||
|
||||
<!-- Forgot Password -->
|
||||
<div class="d-flex col-12 col-lg-5 align-items-center p-sm-5 p-4">
|
||||
<div class="w-px-400 mx-auto">
|
||||
<!-- Logo -->
|
||||
<div class="app-brand mb-4">
|
||||
<a href="index.html" class="app-brand-link gap-2">
|
||||
<span class="app-brand-logo">
|
||||
<img src="<?=site_url('themes/vuexy/img/branding/logo.png')?>"
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<!-- /Logo -->
|
||||
<h3 class="mb-1 fw-bold"><?= lang("App.login_title_forgot_password") ?> 🔒</h3>
|
||||
<p class="mb-4">Enter your email and we'll send you instructions to reset your password</p>
|
||||
<?= formAlert() ?>
|
||||
<form id="sendForm" class="mb-3" action="<?=site_url("integration/reset_password")?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label"><?= lang("App.login_email") ?></label>
|
||||
<input
|
||||
type="email"
|
||||
class="form-control"
|
||||
id="email"
|
||||
name="email"
|
||||
placeholder="<?= lang("App.login_email_ph") ?>"
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
<?php
|
||||
// TODO IMN remove recaptcha options?
|
||||
if($settings['captcha_recovery']??false): ?>
|
||||
<?php if($settings['captcha_gateway'] == 'recaptcha'): ?>
|
||||
<div class="text-center mt-2">
|
||||
<div class="g-recaptcha" style="display: inline-block" data-sitekey="<?=$settings['captcha_site_key']??''?>"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if($settings['captcha_gateway'] == 'hcaptcha'): ?>
|
||||
<div class="text-center mt-2">
|
||||
<div class="h-captcha" style="display: inline-block" data-sitekey="<?=$settings['captcha_site_key']??''?>"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<button class="btn btn-primary d-grid w-100"><?= lang("App.login_request") ?></button>
|
||||
</form>
|
||||
<div class="text-center">
|
||||
<a href="<?=site_url("login")?>" class="d-flex align-items-center justify-content-center">
|
||||
<i class="ti ti-chevron-left scaleX-n1-rtl"></i>
|
||||
<?= lang("App.login_come_back") ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Forgot Password -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- / Content -->
|
||||
@ -1,112 +0,0 @@
|
||||
<!-- Content -->
|
||||
|
||||
<div class="authentication-wrapper authentication-cover authentication-bg">
|
||||
<div class="authentication-inner row">
|
||||
<!-- /Left Text -->
|
||||
<div class="d-none d-lg-flex col-lg-7 p-0">
|
||||
<div class="auth-cover-bg auth-cover-bg-color d-flex justify-content-center align-items-center">
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/safekat/login/auth-login-illustration-light.png')?>"
|
||||
alt="auth-login-cover"
|
||||
class="img-fluid my-5 auth-illustration"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/illustrations/bg-shape-image-light.png'); ?>"
|
||||
alt="auth-login-cover"
|
||||
class="platform-bg"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Left Text -->
|
||||
|
||||
<!-- Login -->
|
||||
<div class="d-flex col-12 col-lg-5 align-items-center p-sm-5 p-4">
|
||||
<div class="w-px-400 mx-auto">
|
||||
<!-- Logo -->
|
||||
<div class="app-brand mb-4">
|
||||
<a href="<?= site_url('login'); ?>" class="app-brand-link gap-2">
|
||||
<span class="app-brand-logo">
|
||||
<img src="<?=site_url('themes/vuexy/img/branding/logo.png')?>"
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<!-- /Logo -->
|
||||
<h3 class="mb-1 fw-bold"><?= lang("App.login_title") ?> 👋</h3>
|
||||
|
||||
<form id="formAuthentication" class="mb-3" action="<?= site_url('login/authenticate'); ?>" method="POST">
|
||||
<?= csrf_field() ?>
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label"><?= lang("App.login_email") ?></label>
|
||||
<input
|
||||
type="email"
|
||||
class="form-control"
|
||||
id="email"
|
||||
name="email"
|
||||
placeholder="<?= lang("App.login_email_ph") ?>"
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3 form-password-toggle">
|
||||
<div class="d-flex justify-content-between">
|
||||
<label class="form-label" for="password"><?= lang("App.login_password") ?></label>
|
||||
<?php if($settings['forgot_password']??false): ?>
|
||||
<a href="<?= site_url('login/forgot_password'); ?>">
|
||||
<small><?= lang("App.login_forgot_password") ?></small>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="input-group input-group-merge">
|
||||
<input
|
||||
type="password"
|
||||
id="password"
|
||||
class="form-control"
|
||||
name="password"
|
||||
placeholder="<?= lang("App.login_password_ph") ?>"
|
||||
aria-describedby="password"
|
||||
onclick="pass()"
|
||||
/>
|
||||
<span id="show_pass" class="input-group-text cursor-pointer"><i class="ti ti-eye-off"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($settings['remember_me']??false): ?>
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="remember" name="remember"" />
|
||||
<label class="form-check-label" for="remember"> <?= lang("App.login_remember_me") ?> </label>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<button class="btn btn-primary d-grid w-100"><?= lang("App.login_access") ?></button>
|
||||
<?php
|
||||
// IMN OJO, lo mismo eliminar TODO
|
||||
if($settings['captcha_login']??false): ?>
|
||||
<?php if($settings['captcha_gateway'] == 'recaptcha'): ?>
|
||||
<div class="text-center mt-2">
|
||||
<div class="g-recaptcha" style="display: inline-block" data-sitekey="<?=$settings['captcha_site_key']??''?>"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if($settings['captcha_gateway'] == 'hcaptcha'): ?>
|
||||
<div class="text-center mt-2">
|
||||
<div class="h-captcha" style="display: inline-block" data-sitekey="<?=$settings['captcha_site_key']??''?>"></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</form>
|
||||
|
||||
<?php if($settings['registration']??false): ?>
|
||||
<p class="text-center">
|
||||
<span><?= lang("App.login_signup_desc") ?></span>
|
||||
<a href="<?= site_url('login/signup'); ?>">
|
||||
<span><?= lang("App.login_signup") ?></span>
|
||||
</a>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Login -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- / Content -->
|
||||
@ -1,86 +0,0 @@
|
||||
<!-- Content -->
|
||||
|
||||
<div class="authentication-wrapper authentication-cover authentication-bg">
|
||||
<div class="authentication-inner row">
|
||||
<!-- /Left Text -->
|
||||
<div class="d-none d-lg-flex col-lg-7 p-0">
|
||||
<div class="auth-cover-bg auth-cover-bg-color d-flex justify-content-center align-items-center">
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/safekat/login/auth-login-illustration-light.png')?>"
|
||||
alt="auth-reset-password-cover"
|
||||
class="img-fluid my-5 auth-illustration"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/illustrations/bg-shape-image-light.png'); ?>"
|
||||
alt="auth-reset-password-cover"
|
||||
class="platform-bg"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Left Text -->
|
||||
|
||||
<!-- Reset Password -->
|
||||
<div class="d-flex col-12 col-lg-5 align-items-center p-4 p-sm-5">
|
||||
<div class="w-px-400 mx-auto">
|
||||
<!-- Logo -->
|
||||
<div class="app-brand mb-4">
|
||||
<a href="index.html" class="app-brand-link gap-2">
|
||||
<span class="app-brand-logo">
|
||||
<img src="<?=site_url('themes/vuexy/img/branding/logo.png')?>"
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<!-- /Logo -->
|
||||
|
||||
<h3 class="mb-1 fw-bold"><?= lang("App.login_title_recovery") ?> 🔒</h3>
|
||||
<p class="mb-4">for <span class="fw-bold"><?=$user??''?></span></p>
|
||||
<?= formAlert() ?>
|
||||
<form id="sendForm" class="mb-3" action="<?=site_url("login/recovery_store")?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<input type="hidden" name="token" value="<?=$token??''?>">
|
||||
<input type="hidden" name="user" value="<?=$user??''?>">
|
||||
<div class="mb-3 form-password-toggle">
|
||||
<label class="form-label" for="password"><?= lang("App.login_new_password") ?></label>
|
||||
<div class="input-group input-group-merge">
|
||||
<input
|
||||
type="password"
|
||||
id="password"
|
||||
class="form-control"
|
||||
name="password"
|
||||
placeholder="<?= lang("App.login_password_ph") ?>"
|
||||
aria-describedby="password"
|
||||
onclick="pass()"
|
||||
/>
|
||||
<span class="input-group-text cursor-pointer"><i class="ti ti-eye-off"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 form-password-toggle">
|
||||
<label class="form-label" for="confirm-password">Confirm Password</label>
|
||||
<div class="input-group input-group-merge">
|
||||
<input
|
||||
type="password"
|
||||
id="confirm-password"
|
||||
class="form-control"
|
||||
name="confirm-password"
|
||||
placeholder="············"
|
||||
aria-describedby="password"
|
||||
/>
|
||||
<span class="input-group-text cursor-pointer"><i class="ti ti-eye-off"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary d-grid w-100 mb-3"><?= lang("App.login_btn_recovery") ?></button>
|
||||
<div class="text-center">
|
||||
<a href="<?=site_url("login")?>">
|
||||
<i class="ti ti-chevron-left scaleX-n1-rtl"></i>
|
||||
<?= lang("App.login_come_back") ?>
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Reset Password -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- / Content -->
|
||||
@ -1,124 +0,0 @@
|
||||
<!-- Content -->
|
||||
|
||||
<div class="authentication-wrapper authentication-cover authentication-bg">
|
||||
<div class="authentication-inner row">
|
||||
<!-- /Left Text -->
|
||||
<div class="d-none d-lg-flex col-lg-7 p-0">
|
||||
<div class="auth-cover-bg auth-cover-bg-color d-flex justify-content-center align-items-center">
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/safekat/login/auth-login-illustration-light.png')?>"
|
||||
alt="auth-register-cover"
|
||||
class="img-fluid my-5 auth-illustration"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="<?=site_url('themes/vuexy/img/illustrations/bg-shape-image-light.png'); ?>"
|
||||
alt="auth-register-cover"
|
||||
class="platform-bg"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Left Text -->
|
||||
|
||||
<!-- Register -->
|
||||
<div class="d-flex col-12 col-lg-5 align-items-center p-sm-5 p-4">
|
||||
<div class="w-px-400 mx-auto">
|
||||
<!-- Logo -->
|
||||
<div class="app-brand mb-4">
|
||||
<a href="index.html" class="app-brand-link gap-2">
|
||||
<span class="app-brand-logo">
|
||||
<img src="<?=site_url('themes/vuexy/img/branding/logo.png')?>"
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<!-- /Logo -->
|
||||
<h3 class="mb-1 fw-bold"><?= lang("App.login_title_signup") ?> 🚀</h3>
|
||||
<p class="mb-4">Make your app management easy and fun!</p>
|
||||
|
||||
<?= formAlert() ?>
|
||||
<form id="sendForm" class="mb-3" action="<?=site_url("login/store")?>" method="POST">
|
||||
<?= csrf_field() ?>
|
||||
<div class="mb-3">
|
||||
<label for="first_name" class="form-label"><?= lang("App.login_first_name") ?></label>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
id="first_name"
|
||||
name="first_name"
|
||||
placeholder=<?= lang("App.login_first_name_ph") ?>
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="last_name" class="form-label"><?= lang("App.login_last_name") ?></label>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
id="last_name"
|
||||
name="last_name"
|
||||
placeholder=<?= lang("App.login_last_name_ph") ?>
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label"><?= lang("App.login_email") ?></label>
|
||||
<input type="text" class="form-control" id="email" name="email" placeholder="<?= lang("App.login_email_ph") ?>" />
|
||||
</div>
|
||||
<div class="mb-3 form-password-toggle">
|
||||
<label class="form-label" for="password"><?= lang("App.login_password") ?></label>
|
||||
<div class="input-group input-group-merge">
|
||||
<input
|
||||
type="password"
|
||||
id="btn_pass"
|
||||
class="form-control"
|
||||
name="password"
|
||||
placeholder="<?= lang("App.login_password_ph") ?>"
|
||||
aria-describedby="password"
|
||||
onclick="pass()"
|
||||
/>
|
||||
<span class="input-group-text cursor-pointer"><i class="ti ti-eye-off"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if($settings['terms_conditions']??false): ?>
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="accept" name="accept" <?= set_value('accept')=='on'?'checked':''?> />
|
||||
<label class="form-check-label" for="accept">
|
||||
I agree to
|
||||
<a href="javascript:void(0);"><?= lang("App.login_accept_terms") ?></a>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<button class="btn btn-primary d-grid w-100" onclick="validate()"><?= lang("App.login_register") ?></button>
|
||||
</form>
|
||||
|
||||
<p class="text-center">
|
||||
<a href="<?=site_url("login")?>">
|
||||
<span><?= lang("App.login_come_back") ?></span>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Register -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- / Content -->
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
function validate(){
|
||||
if(<?= $settings['terms_conditions']??0 ?> === 1){
|
||||
if(document.getElementById('accept').checked === true){
|
||||
load();
|
||||
}else{
|
||||
toastr.error('<?= lang("App.login_alert_terms") ?>','<?= lang("App.login_alert") ?>!',{positionClass: 'toast-top-center'})
|
||||
}
|
||||
}else{
|
||||
load();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -1,29 +0,0 @@
|
||||
<!-- Required vendors -->
|
||||
<!-- Core JS -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/jquery/jquery.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.js') ?>"></script>
|
||||
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/i18n/i18n.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/typeahead-js/typeahead.js') ?>"></script>
|
||||
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/menu.js') ?>"></script>
|
||||
|
||||
|
||||
<!-- Vendors JS -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/toastr/toastr.min.js'); ?>"></script>
|
||||
|
||||
<!-- Main JS -->
|
||||
<script src="<?= site_url('themes/vuexy/js/main.js') ?>"></script>
|
||||
|
||||
<!-- Page JS -->
|
||||
|
||||
<!-- Custom JS -->
|
||||
<script src="<?= site_url('assets/js/login.js'); ?>"></script>
|
||||
|
||||
<?= toastAlert() ?>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,103 +0,0 @@
|
||||
<?php
|
||||
$session = session();
|
||||
$token = $session->get('token') ?? '';
|
||||
$tfa = $session->get('tfa') ?? false;
|
||||
$settings = $session->get('settings');
|
||||
if (!empty($token) && $tfa == false) {
|
||||
echo "<script>window.location.href = '/'; </script>";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html
|
||||
lang="<?= $settings['default_language'] ?? 'es' ?>"
|
||||
class="h-100"
|
||||
class="dark-style customizer-hide"
|
||||
dir="ltr"
|
||||
data-theme="theme-default"
|
||||
data-assets-path="<?= site_url('themes/vuexy/') ?>"
|
||||
data-template="vertical-menu-template-no-customizer"
|
||||
>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
|
||||
/>
|
||||
|
||||
<title><?= $settings['title'] ?? '' ?><?= empty($title ?? '') ? '' : ' - ' . $title ?></title>
|
||||
|
||||
<meta name="description" content=""/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="<?= site_url('themes/vuexy/img/favicon/favicon.ico') ?>"/>
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-57x57.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-60x60.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-72x72.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-76x76.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="114x114"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-114x114.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="120x120"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-120x120.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="144x144"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-144x144.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="152x152"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-152x152.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="180x180"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-180x180.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="192x192"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/android-icon-192x192.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="32x32"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-32x32.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="96x96"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-96x96.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="16x16"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-16x16.png') ?>">
|
||||
<link rel="manifest" href="<?= site_url('themes/vuexy/img/favicon/manifest.json') ?>">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/fontawesome.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/tabler-icons.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/flag-icons.css') ?>"/>
|
||||
|
||||
<!-- Core CSS -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/core-dark.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/theme-default-dark.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/safekat.css') ?>"/>
|
||||
|
||||
<!-- Vendors CSS -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/typeahead-js/typeahead.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/toastr/toastr.css') ?>"/>
|
||||
|
||||
<!-- Vendor -->
|
||||
<link rel="stylesheet"
|
||||
href="<?= site_url('themes/vuexy/vendor/libs/formvalidation/dist/css/formValidation.min.css') ?>"/>
|
||||
|
||||
<!-- Page CSS -->
|
||||
<!-- Page -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/pages/page-auth.css') ?>"/>
|
||||
<!-- Helpers -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/helpers.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/js/config.js') ?>"></script>
|
||||
|
||||
<?php
|
||||
if ($settings['captcha_gateway'] == 'recaptcha') {
|
||||
echo "<script src='https://www.google.com/recaptcha/api.js' async defer></script>";
|
||||
} else {
|
||||
echo "<script src='https://www.hCaptcha.com/1/api.js' async defer></script>";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body>
|
||||
Reference in New Issue
Block a user