Category Archives: php

Actualizar PHP en CentOS

Para actualizar la version de PHP a la 5.2.11 hay que utilizar el repositorio test de remi, el otro repositorio remi tiene la version 5.3.1


cd /etc/yum.repos.d
wget http://dev.centos.org/centos/5/CentOS-Testing.repo
rpm --import http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
yum --enablerepo=c5-testing update php
yum --enablerepo=c5-testing update mysql

Luego reiniciamo mysql y php


service mysqld restart
service httpd restart

Información extraída desde http://www.magentocommerce.com/wiki/how_to/installing_php_5.2.x_on_centos_5.2

CakePHP: Mini control de acceso

Hoy comencé a trabajar sistema utilizando CakePHP en el cual necesito un control de acceso para distinguir entre dos usuarios, un administrador y un usuario normal, no quise usar ACL debido a lo básico de necesidad así que me puse a desarrollar mi propio sistema de control de acceso, con una pequeña variante en el software.

La solución es la siguiente:

En mi app_controller.php

    function beforeFilter() {
        if($this->Session->check("Auth.User")) {
            if($this->_permisos($this->params,$this->Session->read("Auth.User.group_id")) == false) {
                $this->Session->setFlash("No tienes permiso para ingresar a esta area");
                $this->redirect("/");
            }
        }
    }
    function _permisos($params,$group) {

        $normal_permitido = array(
            'users' => array(),
            'tickets'=>array('add','view','index'),
            'comments'=>array('add','view','index'),
            'groups' => array(),
            'types' => array(),
            'subareas' => array(),
            'areas' => array(),
            'pages' => array('display')
        );

        if($group != 1) {
            if(array_key_exists($params["controller"],$normal_permitido)) {
                if(in_array($params["action"], $normal_permitido[$params["controller"]])) {
                    return true;
                }
                else {
                    return false;
                }
            }
            else {
                return false;
            }
        } else {
            return true;
        }
        

    }

La idea es super simple si el usuario no es administrador solo podrá acceder a ciertas acciones los controladores. En el arreglo $normal_permitido se almacenan los controladores y las acciones que tiene permitido visitar.

Ojala les sirva.

Happy baking!

Sheets de ayuda

Hacé un par de dias escribí sobre svn y prometí que podría las sheets que tengo, las sheets son imagenes o pdf donde uno puede encontrar tips y los comandos mas frecuentes para distintos lenguajes o ayuda de uso de algunas aplicaciones.

Entre las sheets que he subido, podrán encontrar sobre php, python, mysql, svn, unix, cakephp, asp, css, html, javascript entre otras.

Muchas la baje desde http://www.ilovejackdaniels.com/cheat-sheets

Si tienen más sheets envienmelas o posteen las urls donde conseguirlas.

Ver Sheets

Diagrama de una peticion en cakephp

cakePHP es uno de los tantos frameworks que existen para PHP, es el que he estado usando yo para mis proyectos (gracias a bilson por la ayuda en los inicio con cakePHP), pero que sucede cuando estamos realizando una peticion a cakephp, por ejemplo cuando queremos ver la siguiente url http://tudominio/noticias/ver/1234, Brandon Parise ha dibujado el diagrama del proceso de respuesta de cakephp ante una peticion como la anterior, es una imagen que todo usuario de cakePHP debe tener encuenta

http://www.cakecollab.org/lifecycle.png