Posts Tagged ‘php’

Join strings recursively

Sunday, January 20th, 2008

I didn’t want to search for it, so I made mine:

  • python:
def join(l):
    """ Joins pieces with a connector recursively """
    if type(l) is list:
        if len(l) < 3:
            exit("ERROR: there aren't any pieces to join")
        c0 = join(l[0])
        c2 = join(l[2:]) if len(l) > 3 else join(l[2])
        if all([c0,c2]):
            return “%s%s%s” % (c0, l[1], c2)
        else:
            return c0 or c2
    else:
        return l
  • php:
/**
 * Function to construct a "clean" text by passing
 * an array of words and its connectors.
 */
function join_clean($words){
    if(is_array($words)){
        if(count($words) < 3)
            die("ERROR: there aren't any pieces to join");
        $c0 = join_clean($words[0]);
        if(count($words) > 3)
            $c2 = join_clean(array_slice($words, 2));
        else
            $c2 = join_clean($words[2]);
        if($c0 && $c2)
            return $c0.$words[1].$c2;
        elseif($c0)
            return $c0;
        else
            return $c2;
    }else
        return $words;
}

php_dbase

Friday, July 20th, 2007

Al compilar php con la opción dbase para generar la biblioteca compartida dbase.so, (./configure –enable-dbase=shared) no se debe hacer un symlink desde la biblioteca de extensiones de php hasta el destino .so compilado, eso funcionaba antes pero ahora no. Antes me funcionaba lo más bien, lo hice con phpmapscript.so (cuando éste no era paquete debian y había que compilarlo) y con dbase.so. Hay que copiar el .so y meterlo en la carpeta de bibliotecas de php “/usr/lib/php5/200xxxxx/“.

php_ldap

Tuesday, May 22nd, 2007

Quería que un Joomla! se autenticara contra un servidor ldap cuya uri era ldaps://… o sea que andaba por el puerto 636 (ldaps). Primero utilicé un Joomla! de prueba 1.0.12 con php5 y apache2.2, luego de muchos intentos puede configurar bien los 2 bots necesarios (php_ldap y ldap_ssi) para un Single Sign-In colocando en el campo uri el string “ldaps://…” y en el puerto el número 636. Luego al pasarme al Joomla! en producción (1.0.8) estos mismos seteos no me anduvieron creo que porque estaba usando php4 entonces probé sacar la “s” de ldaps y todo anduvo fenómeno.