Foros del Web » Programando para Internet » PHP »

activar o desactivar frontend

Estas en el tema de activar o desactivar frontend en el foro de PHP en Foros del Web. Hola a todos! Estoy armando un cms simple, y le quiero agregar la opcion de desactivar el sitio (la parte frontal), pero que si estas ...
  #1 (permalink)  
Antiguo 26/10/2010, 10:00
 
Fecha de Ingreso: junio-2009
Mensajes: 85
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta activar o desactivar frontend

Hola a todos!

Estoy armando un cms simple, y le quiero agregar la opcion de desactivar el sitio (la parte frontal), pero que si estas logueado como administrador, de todas maneras puedas ver el sitio.

Hasta ahora tengo lo siguiente:

Código PHP:
<?php if ($_SESSION['variable']) { ?>

<div>cabecera del administrador</div>

<?php ?>

<div>sitio</div>
Una de las condiciones que quiero respetar, es mantener siempre separado el diseño de la programacion.

Entonces, lo que se me ocurre pero no se plasmar, es lo siguiente:

Código PHP:
<?php if ($_SESSION['variable']) { ?>

<div>cabecera del administrador</div>

<?php ?>

<?php if (si el admin esta logueado pasar directamente al else) {

if ((
dato en db con valor de sitio "on" "off") == ON) { ?>

<div> el sitio esta en tares de mantenimiento</div>

<?php } else { ?>

<div>sitio</div>

<?php ?>
Con mysql no tengo problemas para agregar eso, bastaria con un enum y los 2 valores distintos, y el form pertinente para modificar el valor. Tampoco es problema agregar ese dato en el if. Lo que no termino de armar es como indicar que si el usuario esta logueado, se saltee el if y pase directamente al else.


Espero que me puedan ayudar, y desde ya muchas gracias a todos!
  #2 (permalink)  
Antiguo 26/10/2010, 10:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: activar o desactivar frontend

pues deberías negar dicha expresión en tu if()
Cita:
si (no_esta_logeado() || mantenimiento() == 'on') //
ya que si esta logeado lógicamente termina de evaluar las siguientes expresiones y pasaría al else...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/10/2010, 10:30
 
Fecha de Ingreso: junio-2009
Mensajes: 85
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: activar o desactivar frontend

Gracias pateketrueke!

Voy a probar y te comento!
  #4 (permalink)  
Antiguo 26/10/2010, 13:48
 
Fecha de Ingreso: junio-2009
Mensajes: 85
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: activar o desactivar frontend

bueno, estoy trabado :S

Llegue hasta esta parte:


Código PHP:
Ver original
  1. <?php } ?>
  2. <div class="contenedor">
  3. <?php if (($variable['FilaDeTabla'])=='Desactivado') {
  4.     if (empty($_SESSION['variable'])) { ?>
  5.         <div>Estamos realizando tareas de mantenimiento, por favor regrese m&aacute;s tarde</div>
  6.     <?php }
  7. } else { ?>
  8.  
  9. <div>sitio entero</div>
  10.  
  11. <?php } ?></div>

Ahora bien, esto hace que si activo o desactivo el sitio, los usuarios que NO son el admin ven los cambios. Pero si el admin esta online, queda la pagina en blanco. Imagino que lo que esta mal es esto:

if -> la opcion desactivada esta seleccionada

if -> la sesion esta vacia -> mostrar el div de mantenimiento

Entonces como la sesion no esta vacia, se corta el script, no? como hago para que siga su curso hasta el else que muestra el sitio?

Gracias, y saludos!
  #5 (permalink)  
Antiguo 26/10/2010, 16:09
 
Fecha de Ingreso: junio-2009
Mensajes: 85
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: activar o desactivar frontend

Bueno, creo haber encontrado la solucion:

La dejo para ver si le sirve a alguien:

El objetivo es que sitio pueda activarse o desactivarse para que los usuarios que no esten logueados puedan o no ver el sitio (la parte frontal, claro esta)

Pero, si es el administrador del sitio quien entra a la parte frontal, se tiene que mostrar todo el sitio, aunque este desactivado.

Para eso, hice este codigo:

Código PHP:
Ver original
  1. //Este codigo revisa si el dato de la db Y la sesion son verdaderos
  2.  
  3. <?php if (($tuvariable['datoDeLaDb'])=='Desactivado' && (empty($_SESSION['variable']))) { ?>
  4.  
  5. //Si son verdaderos, muestra un mensaje de advertencia
  6.           <div>Site offline. Please check back later.</div>
  7.  
  8. //Pero, si uno de los 2 valores devuelve FALSE, entonces se muestra el sitio entero
  9.  
  10. <?php } else { ?>
  11. <div>TU SITIO</div>
  12. <?php } ?>

Gracias de todas maneras

Saludos!

Etiquetas: frontend
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:14.