Recent twitter entries...

  •  

Cómo incrementar el tiempo de sesión en cakePHP

Posted by | Posted in CakePHP, php | Posted on 02-06-2010

2

Hoy he necesitado aumentar el tiempo que permanecía un usuario logueado sin que le sacara la aplicación considerándole usuario sin credenciales. Para modificar dicho tiempo es necesario acceder al siguiente código que se encuentra en el fichero: APP->CONFIG->core.php

/**
 * Session time out time (in seconds).
 * Actual value depends on 'Security.level' setting.
 * 120 son 2 minutos -> si session.timeout es high  2x10 => 20 minutos
 * 360 son 6 minutos -> si session.timeout es high  6x10 => 1 hora
 * 8640 son 144 minutos  -> si session.timeout es high  24 horas
 */
Configure::write('Session.timeout', '120'); //3600 seconds
y
/**
 * The level of CakePHP security. The session timeout time defined
 * in 'Session.timeout' is multiplied according to the settings here.
 * Valid values:
 *
 * 'high'	Session timeout in 'Session.timeout' x 10
 * 'medium'	Session timeout in 'Session.timeout' x 100
 * 'low'		Session timeout in 'Session.timeout' x 300
 *
 * CakePHP session IDs are also regenerated between requests if
 * 'Security.level' is set to 'high'.
 */
Configure::write('Security.level', 'high');
Si tenéis el timeout a 120 y el nivel de seguridad a high, el tiempo que os permitirá estar logueados sin ninguna actividad en la aplicación es de 120*10/60 = 20 minutos.
Si quisiérais mantener el logueo durante 24 horas con un nivel de seguridad high tendréis que poner el timeout a 8640 (8640*10/(60*24) = 1).
Espero que os haya sido de utilidad!!

Como introducir un icono en tu página web (Normal, CakePHP y Wordpress)

Posted by | Posted in CakePHP, Programacion Web General, Recursos, php | Posted on 26-03-2010

0

La lección de hoy es la de introducir un icono en vuestra página para que en los navegadores se pueda ver justo al lado de la ruta. Quiero explicarlo para tres casos distintos: Para una pa´gina web normal, para una aplicación de cakePHP y para el blog Wordpress.

Icono en web Normal

En el primero de los casos hay que realizar los siguientes pasos:

  • Subir un icono mediante ftp a tu servidor.
  • En aquellas páginas que se quiera tener es necesario agregar la siguiente línea de código en el head de la página en la que queráis el iconito (cambiad favicon por el nombre de vuestro icono):
 <link href="/favicon.ico" rel="shortcut icon">

Icono en web creada en CakePHP

Para aquellos que estéis trabajando con cakePHP simplemente tenéis que renombrar vuestro icono llamándolo favicon.ico y sustituyéndolo por el que se encuentra en la carpeta webroot de vuestra aplicación (el icono inicial es el que representa a una tarta).

Icono en un blog Wordpress

Tenéis que:

  • Subir  vuestro icono a la carpeta raíz de vuestra web
  • Introducir en el header.php del theme que estéis utilizando (ese theme se encontrará en la carpeta wp-content/themes/tutheme) la línea de código siguiente:
 <link href="/favicon.ico" rel="shortcut icon"/>

Buscador de iconos

Y si no sabéis donde encontrar vuestro icono aquí os dejo una página bastante interesante, en la cuál se pueden hacer búsquedas de iconos, que posteriormente te dan la oportunidad de descargar en diferentes tamaños, tipos,…. Realmente muy útil. Es http://findicons.com/.

Nota Importante: Puede que no veáis en un primer momento el icono que habéis instalado. Esto puede deberse a los archivos temporales que ha almacenado el navegador que utilizáis. Borradlos y volved a probar (o esperad a que automáticamente se borren, cosa que puede tardar un montón de tiempo)

Cakephp: Radiobutton en formulario

Posted by | Posted in CakePHP, php | Posted on 16-02-2010

2

Pues hoy he necesitado crear unos radiobuttons dentro de un formulario. Este formulario se llama una y otra vez porque su objetivo es el hacer que el usuario conteste una pregunta y si acierta, que conteste otra.

En un principio mi código era el siguiente:

<?php
  $contents = '';
  $contents .= $question;
  $contents .= $form->create('User', array('action' => 'index/'.$id));
  $contents .= $form->radio('Respuesta', array('1'=>$answer1, '2'=>$answer2, '3'=>$answer3));
  $contents .= $form->end('Enviar info');
  echo $contents;
?>

Pero esto me generó un problema: por alguna extraña razón me mantenía el valor de la pregunta anterior en el formulario. Es decir, si había marcado la 3ª respuesta como válida en la primera pregunta, pulsaba el botón de enviar la información y en la segunda pregunta me mapeaba esa 3ª respuesta.
Buscando por foros encontré una solución que no me valió, la de añadir un default (quizás hay alguien que lo haya podido desentrañar)
En mi caso, y como lo resolví fue agregando array(‘value’=>’0′) en la creación del radiobutton. De esta forma el código queda así:

<?php
  $contents = '';
  $contents .= $question;
  $contents .= $form->create('User', array('action' => 'index/'.$id));
  $contents .= $form->radio('Respuesta', array('1'=>$answer1, '2'=>$answer2, '3'=>$answer3), array('value'=>'0'));
  $contents .= $form->end('Enviar info');
  echo $contents;
?>