RSS .92| RSS 2.0| ATOM 0.3
  • Inicio
  • Correo Web
  •  

    Code Igniter: Site config

    Octubre 18, 2007 @ 9:55
    Alex Sancho

    Recientemente, construyendo una aplicación con este framework, me encontré con la necesidad de incluir una sección desde la que poder configurar parámetros de manera persistente, es decir, dentro de una base de datos.

    En CodeIgniter tenemos la clase CI_Config, que se encarga de leer las preferencias desde un fichero y asignarlas dentro de variables en el objeto “config”, a las que podemos acceder con $this->config->item('variable');.

    Aunque no es exactamente lo que necesitaba, esta clase ofrece los métodos necesarios para mantener una configuración, con lo que construir una nueva librería me pareció algo innecesario. Es en este punto donde se me ocurrió aprovechar lo que ya me ofrece el framework y adaptarlo a mis necesidades.

    Básicamente solo he tenido que crear una librería con tres métodos que complementan los que ya se incluyen.

    <?php if(!defined('BASEPATH')) exit('No direct script access allowed');
        class Site_Config
        {
            private $CI;
    
            public function __construct()
            {
                $this->CI =& get_instance();
            $this->_table = 'settings';
            if(!$this->read()) $this->install();
            }
    
            public function __destruct()
            {
                unset($this->CI);
            }
    
            public function save($cfg)
            {
                foreach($cfg as $item => $value) {
                    $this->CI->config->set_item($item, $value);
                }
                $config =& get_config();
            $this->CI->db->where('id', '1');
            $this->CI->db->update($this->_table, array('cfg' => addslashes(serialize($config))));
            return ($this->CI->db->affected_rows() != 0) ? TRUE : FALSE;
            }
    
            private function read()
            {
            $this->CI->db->select('cfg')->limit(1);
            $query = $this->CI->db->get($this->_table);
            if($query->num_rows() > 0) {
                $load = $query->row();
                $cfg = unserialize(stripslashes($load->cfg));
                    foreach($cfg as $item => $value) $this->CI->config->set_item($item, $value);
                return TRUE;
            }
            return FALSE;
            }
    
            private function install()
            {
                $config =& get_config();
            $this->CI->db->insert($this->_table, array('id' =>1, 'cfg' => addslashes(serialize($config))));
            }
        }
        ?>

    El funcionamiento de la librería es bastante evidente, tan solo tenemos que añadirla al autoload y todas las preferencias que tengamos en la base de datos estarán disponibles mediante $this->config->item().

    Dentro del controlador, podemos utilizar cualquiera de los metodos habituales para validar y rellenar un formulario:

    public function index()
        {
        $this->load->library('validation');
        $rules['site_name'] = "trim|required";
            ...
        $this->validation->set_rules($rules);
            $fields['site_name'] = 'Nombre del sitio';
            ...
        $this->validation->set_fields($fields);
        if($this->validation->run()) {
                ...
            $this->site_config->save($_POST));
                ...
        }
        }

    Espero que os sirva de utilidad, cualquier pregunta en lo comentarios. Salu2

    Comentarios (0) | | Digg It! | | ma.gnolia |


    ESPINACAS (CON PASEO)

    Octubre 17, 2007 @ 20:06
    EL COCINERO FIEL
    Hola! Tengo varias novedades. Vamos por partes. En Antena 3 Neox emiten un programa titulado España por la cara. Su protagonista, María, se dedica a visitar a bloggers de todas partes. A mí, pasó a verme el pasado 17 de septiembre. A falta de confirmación, el programa se emitirá el lunes o el martes a las 16:30 en Neox (canal de TDT). Creo que se puede ver aquí.

    Más cosas, WeShow, una web que "selecciona y ordena los mejores vídeos de la red", me escribió un correo diciéndome que mis vídeos estaban entre los más votados para el Premio WeShow, en la sección de gastronomía. Me invitaron a que me conectase y votase por mis propios vídeos y que sugiriera a todo el mundo que hiciese lo mismo. Bueno, está claro que es una acción de marketing para lograr notoriedad, pero siempre hace ilusión que los vídeos gusten.

    Por último, he incluido una mini encuesta. Me interesa saber si os gustan más los vídeos en los que me centro en la receta (como el rissoto) o preferís que, de vez en cuando, me salga del "guión", como podréis comprobar en la siguiente receta.

    El vídeo dura 2:53 y os lo podéis descargar aquí. Por cierto, estoy probando un nuevo reproductor, a sugerencia de Gonzalo. Es el de Blip, la imagen fija tiene mucha más calidad, pero los movimientos no son tan sutiles como en Youtube. Ya me contaréis.

    Abrazos.

    En Blip



    En Youtube


    RISOTTO CON SETAS (NO APTA)

    Octubre 13, 2007 @ 12:19
    EL COCINERO FIEL
    Hola! De nuevo por aquí. Hoy con una receta de risotto, más arroz. Seguro que media Italia se me echa encima por profanar una de sus recetas. Tengo la tranquilidad de que ni ellos se ponen de acuerdo. Por cierto, aquí podréis encontrar una propuesta mucho mejor, con ingredientes y demás. Sólo le falta el toque personal para ser perfecta.

    ¿Qué más? Ah!, sí, mi hermano es un gran actor. Os voy a dejar un spot de Renault para que podáis disfrutar de su magnífica interpretación (es el director de la orquesta).

    Por cierto, esta semana me han ofreceido trabajo en un restaurante de Madrid. Qué ilusión! Como ya os he comentado en alguna otra ocasión, la cocina es sólo un hobby, pero no por eso deja de ser halagador.

    En fin, la receta dura 4:25 y os la podéis descargar aquí.

    Abrazos.

    Aquí me hermano.

    PSP slim, copias de seguridad

    Octubre 7, 2007 @ 21:55
    Alex Sancho

    Recientemente ha caído en mis manos una de estas consolas, ligera, manejable, y muy negra.

    La cuestión es que me gustaría poder utilizar copias de seguridad de mis juegos en ella, pero después de recorrer la red de arriba a abajo buscando información relacionada con el tema, tan solo he conseguido un “gran dolor de cabeza” y un empacho de información mas que nada inútil.

    ¿Alguno conoce algún tutorial donde se indiquen claramente los pasos a dar para conseguir lo que comento?

    Por si el dato resulta relevante, la versión del software (firmware??) se actualizo nada mas conectarla al router, y ahora mismo tiene la 3.71.

    Ademas le he metido una memory stick de 1gb de la casa sandisk.

    Se agradece cualquier información al respecto.

    Comentarios (6) | | Digg It! | | ma.gnolia |


    BACALAO AL AJOARRIERO (CON AJOS DE VALLELADO)

    Octubre 5, 2007 @ 18:51
    EL COCINERO FIEL
    ¿Qué tal? Este verano Rubén me regaló un par de ristras de ajos de Vallelado. Queda poquita gente que se dedique a hacer ristras, pero Rubén siempre acaba encontrando cosas interesantes. A mi, la verdad, me gusta tener siempre una ristra en la despensa.

    ¿Qué más? He estado mirando recetas del ajoarriero en la web y, como siempre, hay mil versiones. Seguro que los puristas se me tiran al cuello, pero ya sabéis que yo no creo en el "purismo", sino en los gustos, y cada cual tiene los suyos, afortunadamente.

    Por cierto, una gran idea, que no he podido llevar a cabo, es añadir a la cebolla la piel del bacalao cortada en juliana. Las piezas de bacalao que compré no tenían piel.

    El vídeo dura 4:01 y os lo podéis descargar aquí.

    Abrazos.

    Aquí otra manera de hacerlo:

    BACALAO AL AJOARRIERO

    Ingredientes para 4 / 6 personas

    800 gr de bacalao

    6 dientes de ajo

    600 gr de tomates rallados

    300 gr de pimientos del piquillo en lata

    1 pimiento verde

    1 cebolla

    400 gr. de patatas

    Tiempo de realización 40 minutos.

    Preparación

    1. Desmigar el bacalao, previamente desalado y exprimirle todo el agua primero con las manos y luego con trapo limpio y seco.

    2. En una cazuela con aceite se ponen los ajos en láminas y se añaden los pimientos del piquillo, cortados en trocitos. Se deja pochar suavemente y reservamos.

    3. En otra cazuela, se pone otro poco de aceite y se echa la cebolla pelada y troceada, el pimiento verde, cortado pequeño. Cuando empiece la cebolla a dorarse y el pimiento esté blando se añade el tomate rallado. Cuando ya esté casi hecho, se añade una cucharadita de café de azúcar.

    4. En otra sartén freímos las patatas cortadas a dados. Una vez hechas se escurren y se reservan. En ese mismo aceite doramos 3 dientes de ajo y la guindilla. Retiramos los ajos y la guindilla y rehogamos el bacalao, lo tenemos el tiempo justo para que coja calor.

    5. Añadimos el bacalao a la cazuela donde está la cebolla, el pimiento verde y el tomate. Mezclamos. Añadimos los pimientos del piquillo y finalmente las patatas. Se cuece todo a fuego lento durante 10 minutos y se sirve caliente.