Tarea #1096 -> Activar el proceso de recordar contraseña en el formulario de login

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_PROFIND_Aterrizaje/trunk@17 db07b8d6-80f3-1c4e-84de-227a4fed3af2
This commit is contained in:
roberto 2012-09-24 22:40:08 +00:00
parent e818a2e9da
commit b45903fa94
10 changed files with 452 additions and 185 deletions

View File

@ -16,13 +16,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li class="active"><a href="blog.html">Blog</a></li>
</ul>

View File

@ -16,13 +16,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>

View File

@ -17,13 +17,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li class="active"><a href="index.html">Home</a></li>
<li class="active"><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>
@ -52,18 +52,18 @@
<div class="control-group">
<label class="control-label" for="FormularioLogin_email">Email:</label>
<div class="controls">
<input type="text" class="input-large" id="FormularioLogin_email" name="FormularioLogin_email" placeholder="">
<input type="text" class="input-large" id="FormularioLogin_email" name="FormularioLogin_email">
</div>
</div>
<div class="control-group">
<label class="control-label" for="FormularioLogin_password">Password:</label>
<div class="controls">
<input type="password" class="input-large" id="FormularioLogin_password" name="FormularioLogin_password" placeholder="">
<input type="password" class="input-large" id="FormularioLogin_password" name="FormularioLogin_password">
</div>
</div>
<div class="control-group">
<div class="controls">
<p>Olvidé mi password: <a href="">Solicitar</a></p>
<p>Olvidé mi password: <a id="solicitar_password" href="#">Solicitar</a></p>
</div>
</div>
<div class="control-group pagination-centered resultado">
@ -84,19 +84,19 @@
<div class="control-group">
<label class="control-label" for="FormularioRegistro_email">Email:</label>
<div class="controls">
<input type="text" class="input-large" id="FormularioRegistro_email" name="FormularioRegistro_email" placeholder="">
<input type="text" class="input-large" id="FormularioRegistro_email" name="FormularioRegistro_email">
</div>
</div>
<div class="control-group">
<label class="control-label" for="FormularioRegistro_password">Crear password:</label>
<div class="controls">
<input type="password" class="input-large" id="FormularioRegistro_password" name="FormularioRegistro_password" placeholder="">
<input type="password" class="input-large" id="FormularioRegistro_password" name="FormularioRegistro_password">
</div>
</div>
<div class="control-group">
<label class="control-label" for="FormularioRegistro_password2">Confirmar password:</label>
<div class="controls">
<input type="password" class="input-large" id="FormularioRegistro_password2" name="FormularioRegistro_password2" placeholder="">
<input type="password" class="input-large" id="FormularioRegistro_password2" name="FormularioRegistro_password2">
</div>
</div>
<div class="control-group">
@ -136,7 +136,7 @@
</div>
<div class="span4">
<div class="icon-bg red-bg"><img width="60" height="60" alt="icon" src="img/icons/icon-big-4.png"></div>
<p><a title="Clubjobtic" href="http://www.clubjobtic.com/frasier"><strong>Visite Clubjobtic</strong><br>¡¡ La página de los Agentes de Empleo !!</p></a>
<p><a title="Clubjobtic" href="http://www.clubjobtic.com/frasier"><strong>Visite Clubjobtic</strong><br>¡¡ La página de los Agentes de Empleo !!</a></p>
</div>
</div>
</div>
@ -177,7 +177,7 @@
</div>
</footer>
<div class="modal hide fade">
<div id="msj_info" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3></h3>
@ -190,9 +190,91 @@
</div>
</div>
<div id="msj_recuperar" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>Recuperar password</h3>
</div>
<div class="modal-body">
<p>Indique a continuación el email de su usuario en PROFIND. Recibirá en esa dirección un correo con los pasos necesarios para recuperar su cuenta en PROFIND.</p>
<form class="form-horizontal" id="recuperarForm" method='post' action='/profind/profind/index.php?r=seguridadUsuario/recuperar'>
<fieldset>
<div class="control-group">
<label class="control-label" for="FormularioRecuperar_email">Email:</label>
<div class="controls">
<input type="text" class="input-large" id="FormularioRecuperar_email" name="FormularioRecuperar_email">
</div>
</div>
<div class="control-group pagination-centered resultado"></div>
</fieldset>
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cerrar</button>
<button class="btn btn-primary">Solicitar</button>
</div>
</div>
<?php if ((isset($_GET['key'])) && (isset($_GET['email']))) { ?>
<div id="msj_cambiarpassword" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>Cambiar password</h3>
</div>
<div class="modal-body">
<p>Introduzca a continuación su nueva contraseña para su cuenta en PROFIND.</p>
<form class="form-horizontal" id="cambiarPasswordForm" method='post' action='/profind/profind/index.php?r=seguridadUsuario/cambiarPasswordExt'>
<fieldset>
<?php if (isset($_GET['email'])) { ?>
<div class="control-group">
<label class="control-label">Email:</label>
<div class="controls">
<label class="control-label"><?php echo filter_var($_GET['email'], FILTER_SANITIZE_EMAIL); ?></label>
<input type="hidden" id="FormularioCambiarPassword_email" name="FormularioCambiarPassword_email" value="<?php echo filter_var($_GET['email'], FILTER_SANITIZE_EMAIL); ?>">
</div>
</div>
<?php } ?>
<div class="control-group">
<label class="control-label" for="FormularioCambiarPassword_password">Nueva password:</label>
<div class="controls">
<input type="password" class="input-large" id="FormularioCambiarPassword_password" name="FormularioCambiarPassword_password">
</div>
</div>
<div class="control-group">
<label class="control-label" for="FormularioCambiarPassword_password_repetida">Repita la password:</label>
<div class="controls">
<input type="password" class="input-large" id="FormularioCambiarPassword_password_repetida" name="FormularioCambiarPassword_password_repetida">
</div>
</div>
<?php if (isset($_GET['key'])) { ?>
<input type="hidden" id="FormularioCambiarPassword_key" name="FormularioCambiarPassword_key" value="<?php echo filter_var($_GET['key'], FILTER_SANITIZE_STRING); ?>">
<?php } ?>
<div class="control-group pagination-centered resultado"></div>
</fieldset>
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancelar</button>
<button class="btn btn-primary">Cambiar password</a>
</div>
</div>
<?php } ?>
<script src="js/jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="js/jquery.validate.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src="js/profind.js" type="text/javascript"></script>
<script src="js/profind.js" type="text/javascript"></script>
<?php if ((isset($_GET['key'])) && (isset($_GET['email']))) { ?>
<script type="text/javascript">
$(document).ready(function(){
$('#msj_cambiarpassword').modal('show');
});
</script>
<?php } ?>
</body>
</html>

View File

@ -1,164 +1,349 @@
$(document).ready(function(){
var enviar_login = function() {
var form = $("#entrarForm");
form.find(":submit").attr("disabled", true);
form.find(":submit").addClass('btn-striped');
$('#entrarForm .resultado').children().remove();
$.ajax({
url: form.attr('action'),
dataType: 'json',
type: 'POST',
data : form.serialize()+'&ajax=login-form',
success: function(data, textStatus, XMLHttpRequest) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
if (data.status == '200') {
window.location.href = data.redirect;
}
else {
if (data != null && typeof data == 'object') {
$.each(data, function(key, value){
jQuery('<label/>', {
text: value
}).addClass('error').appendTo('#entrarForm .resultado');
});
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
jQuery('<label/>', {
text: 'Error de comunicación con el servidor'
}).addClass('error').appendTo('#entrarForm .resultado');
}
});
return false;
};
$("#entrarForm").validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules:{
FormularioLogin_email:{
required:true,
email: true
},
FormularioLogin_password:{
required:true
}
},
messages:{
FormularioLogin_email:{
required:"Introduzca su e-mail",
email:"Indique un e-mail válido"
},
FormularioLogin_password:{
required:"Indique su contraseña",
}
},
errorClass: "error help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
},
submitHandler: enviar_login
});
var enviar_registro = function() {
var form = $("#registroForm");
form.find(":submit").attr("disabled", true);
form.find(":submit").addClass('btn-striped');
$('#registroForm .resultado').children().remove();
$.ajax({
url: form.attr('action'),
dataType: 'json',
type: 'POST',
data : form.serialize()+'&ajax=registro-form',
success: function(data, textStatus, XMLHttpRequest) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
if (data.status == '200') {
form.clearForm();
$('.modal .modal-header h3').text(data.titulo);
$('.modal .modal-body p').text(data.texto);
$('.modal').modal('show');
}
else {
if (data != null && typeof data == 'object') {
$.each(data, function(key, value){
jQuery('<label/>', {
text: value
}).addClass('error').appendTo('#registroForm .resultado');
});
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
jQuery('<label/>', {
text: 'Error de comunicación con el servidor'
}).addClass('error').appendTo('#registroForm .resultado');
}
});
return false;
};
$("#registroForm").validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules:{
FormularioRegistro_email:{
required:true,
email: true
},
FormularioRegistro_password:{
required:true,
minlength: 6
},
FormularioRegistro_password2:{
required:true,
minlength: 6,
equalTo: "#FormularioRegistro_password"
},
FormularioRegistro_acepto:{
required:true
}
},
messages:{
FormularioRegistro_email:{
required:"Introduzca su e-mail",
email:"Indique un e-mail válido"
},
FormularioRegistro_password:{
required:"Indique una nueva contraseña",
minlength:"La contraseña debe al menos 6 caracteres"
},
FormularioRegistro_password2:{
required:"Introduzca otra vez la contraseña",
minlength:"La contraseña debe al menos 6 caracteres",
equalTo:"La confirmación de contraseña no coincide"
},
FormularioRegistro_acepto:""
},
errorClass: "error help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
},
submitHandler: enviar_registro
});
profind_login.init();
profind_registro.init();
profind_recuperar_password.init();
profind_cambiar_password.init();
});
profind_login = {
init: function() {
var enviar_login = function() {
var form = $("#entrarForm");
form.find(":submit").attr("disabled", true);
form.find(":submit").addClass('btn-striped');
$('#entrarForm .resultado').children().remove();
$.ajax({
url: form.attr('action'),
dataType: 'json',
type: 'POST',
data : form.serialize()+'&ajax=login-form',
success: function(data, textStatus, XMLHttpRequest) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
if (data.status == '200') {
window.location.href = data.redirect;
}
else {
if (data != null && typeof data == 'object') {
$.each(data, function(key, value){
jQuery('<label/>', {
text: value
}).addClass('error').appendTo('#entrarForm .resultado');
});
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
jQuery('<label/>', {
text: 'Error de comunicación con el servidor'
}).addClass('error').appendTo('#entrarForm .resultado');
}
});
return false;
};
$("#entrarForm").validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules:{
FormularioLogin_email:{
required:true,
email: true
},
FormularioLogin_password:{
required:true
}
},
messages:{
FormularioLogin_email:{
required:"Introduzca su e-mail",
email:"Indique un e-mail válido"
},
FormularioLogin_password:{
required:"Indique su contraseña"
}
},
errorClass: "error help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
},
submitHandler: enviar_login
});
}
};
profind_registro = {
init: function() {
var enviar_registro = function() {
var form = $("#registroForm");
form.find(":submit").attr("disabled", true);
form.find(":submit").addClass('btn-striped');
$('#registroForm .resultado').children().remove();
$.ajax({
url: form.attr('action'),
dataType: 'json',
type: 'POST',
data : form.serialize()+'&ajax=registro-form',
success: function(data, textStatus, XMLHttpRequest) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
if (data.status == '200') {
form.clearForm();
$('#msj_info .modal-header h3').text(data.titulo);
$('#msj_info .modal-body p').text(data.texto);
$('#msj_info').modal('show');
}
else {
if (data != null && typeof data == 'object') {
$.each(data, function(key, value){
jQuery('<label/>', {
text: value
}).addClass('error').appendTo('#registroForm .resultado');
});
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
form.find(":submit").removeClass('btn-striped');
form.find(":submit").attr("disabled", false);
jQuery('<label/>', {
text: 'Error de comunicación con el servidor'
}).addClass('error').appendTo('#registroForm .resultado');
}
});
return false;
};
$("#registroForm").validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules:{
FormularioRegistro_email:{
required:true,
email: true
},
FormularioRegistro_password:{
required:true,
minlength: 6
},
FormularioRegistro_password2:{
required:true,
minlength: 6,
equalTo: "#FormularioRegistro_password"
},
FormularioRegistro_acepto:{
required:true
}
},
messages:{
FormularioRegistro_email:{
required:"Introduzca su e-mail",
email:"Indique un e-mail válido"
},
FormularioRegistro_password:{
required:"Indique una nueva contraseña",
minlength:"La contraseña debe al menos 6 caracteres"
},
FormularioRegistro_password2:{
required:"Introduzca otra vez la contraseña",
minlength:"La contraseña debe al menos 6 caracteres",
equalTo:"La confirmación de contraseña no coincide"
},
FormularioRegistro_acepto:""
},
errorClass: "error help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
},
submitHandler: enviar_registro
});
}
};
profind_recuperar_password = {
init: function() {
$('a#solicitar_password').click(function(){
$('#FormularioRecuperar_email').val($('#FormularioLogin_email').val());
$('#msj_recuperar').modal('show');
});
$('#msj_recuperar .btn-primary').click(function(){
$("#recuperarForm").submit();
});
var recuperar_password = function() {
var form = $("#recuperarForm");
$('#msj_recuperar .btn-primary').addClass('btn-striped');
$('#msj_recuperar .btn-primary').attr("disabled", true);
$('#msj_recuperar .resultado').children().remove();
$.ajax({
url: form.attr('action'),
dataType: 'json',
type: 'POST',
data : form.serialize()+'&ajax=recuperar-form',
success: function(data, textStatus, XMLHttpRequest) {
$('#msj_recuperar .btn-primary').removeClass('btn-striped');
$('#msj_recuperar .btn-primary').attr("disabled", false);
if (data.status == '200') {
form.clearForm();
$('#msj_recuperar').modal('hide');
$('#msj_info .modal-header h3').text(data.titulo);
$('#msj_info .modal-body p').text(data.texto);
$('#msj_info').modal('show');
}
else {
if (data != null && typeof data == 'object') {
$.each(data, function(key, value){
jQuery('<label/>', {
text: value
}).addClass('error').appendTo('#msj_recuperar .resultado');
});
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('#msj_recuperar .btn-primary').removeClass('btn-striped');
$('#msj_recuperar .btn-primary').attr("disabled", false);
jQuery('<label/>', {
text: 'Error de comunicación con el servidor'
}).addClass('error').appendTo('#msj_recuperar .resultado');
}
});
return false;
};
$("#recuperarForm").validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules:{
FormularioRecuperar_email:{
required:true,
email: true
}
},
messages:{
FormularioRecuperar_email:{
required:"Introduzca su e-mail en PROFIND",
email:"Indique un e-mail válido"
}
},
errorClass: "error help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
},
submitHandler: recuperar_password
});
}
};
profind_cambiar_password = {
init: function() {
$('#msj_cambiarpassword .btn-primary').click(function(){
$("#cambiarPasswordForm").submit();
});
var cambiar_password = function() {
var form = $("#cambiarPasswordForm");
$('#msj_cambiarpassword .btn-primary').addClass('btn-striped');
$('#msj_cambiarpassword .btn-primary').attr("disabled", true);
$('#msj_cambiarpassword .resultado').children().remove();
$.ajax({
url: form.attr('action'),
dataType: 'json',
type: 'POST',
data : form.serialize()+'&ajax=cambiar-password-form-ext',
success: function(data, textStatus, XMLHttpRequest) {
$('#msj_cambiarpassword .btn-primary').removeClass('btn-striped');
$('#msj_cambiarpassword .btn-primary').attr("disabled", false);
if (data.status == '200') {
form.clearForm();
$('#msj_cambiarpassword').modal('hide');
$('#msj_info .modal-header h3').text(data.titulo);
$('#msj_info .modal-body p').text(data.texto);
$('#msj_info').modal('show');
}
else {
if (data != null && typeof data == 'object') {
$.each(data, function(key, value){
jQuery('<label/>', {
text: value
}).addClass('error').appendTo('#msj_cambiarpassword .resultado');
});
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('#msj_cambiarpassword .btn-primary').removeClass('btn-striped');
$('#msj_cambiarpassword .btn-primary').attr("disabled", false);
jQuery('<label/>', {
text: 'Error de comunicación con el servidor'
}).addClass('error').appendTo('#msj_cambiarpassword .resultado');
}
});
return false;
};
$("#cambiarPasswordForm").validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules:{
FormularioCambiarPassword_password:{
required:true,
minlength: 6
},
FormularioCambiarPassword_password_repetida:{
required:true,
minlength: 6,
equalTo: "#FormularioCambiarPassword_password"
},
},
messages:{
FormularioCambiarPassword_password:{
required:"Indique una nueva contraseña",
minlength:"La contraseña debe al menos 6 caracteres"
},
FormularioCambiarPassword_password_repetida:{
required:"Introduzca otra vez la contraseña",
minlength:"La contraseña debe al menos 6 caracteres",
equalTo:"La confirmación de contraseña no coincide"
},
},
errorClass: "error help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
},
submitHandler: cambiar_password
});
}
};
$.fn.clearForm = function() {
return this.each(function() {
var type = this.type, tag = this.tagName.toLowerCase();

View File

@ -16,13 +16,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>

View File

@ -16,13 +16,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>

View File

@ -18,13 +18,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li class="active"><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>

View File

@ -17,13 +17,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>

View File

@ -16,13 +16,13 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"> <a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<div class="span4"> <a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a> </div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>

View File

@ -16,12 +16,12 @@
<header id="header">
<div class="container">
<div class="row">
<div class="span4"><a href="index.html"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a></div>
<div class="span4"><a href="index.php"><img src="img/logo.png" width="300" height="79" alt="PROFIND"></a></div>
<!-- Navegación -->
<div class="span8">
<div class="tabnav-wrapper">
<ul id="menu" class="nav nav-tabs">
<li><a href="index.html">Home</a></li>
<li><a href="index.php">Home</a></li>
<li><a href="productos.html">Productos</a></li>
<li><a href="blog.html">Blog</a></li>
</ul>