Archivo de la etiqueta: script

Autentificación SSO en Squid con eDirectory o LDAP

Hola!!

Esta vez vamos a ver algo sobre autentificación de Squid con eDirectory y LDAP de forma que los usuarios conectados a eDirectory no tengan que introducir el usuario/clave para acceder a través del proxy. Si el usuario no está conectado o no existe, se utilizará la consulta directa al LDAP o autentificar mediante la consulta a un archivo del tipo htpasswd que lo definiremos como «usuarios externos».

Además de la alternancia entre sistemas de autentificación, también es posible indicar usuarios que estarán bloqueados.

Sigue leyendo

Convertir a gettext

Buenas, os dejo un sencillo script para modificar el código fuente de archivos PHP al formato de gettext.

Se parte de la base que el código está traducido usando un array para las cadenas a traducir, esto es, usamos:

$LANG["buttons"][0]="Botón";

para definir la matriz de traducciones y ésta se almacena en un archivo independiente.

#!/bin/bash
#
# gtranslate.sh
#
# Script para convertir cadenas que están guardadas en un array en PHP
# como $LANG["button"][0]="Botón";
# al formato de gettext como _('Button') en los archivos .php bajo
# el directorio donde se ejecuta el script.
#
# Script for convert strings that are saved as array in PHP
# like $LANG["button"][0]="Botón";
# to gettext format like _('Button') in .php files under script
# current path.
#
#
# Es necesario adaptar la variable $LANG_FILE al archivos donde se
# encuentran los arrays de traducciones.
# La variable $LANG_FILE_ALT se utiliza para excluir otro archivo de
# traducciones de ser modificado
#
# Por cada archivo a modificar, se crea un archivo de backup .bak
# Si ya existe un archivo .bak del archivo a modificar, no se realiza
# la modificación
#
# You need to fit the $LANG_FILE var to the file where translation array
# are saved.
# The $LANG_FILE_ALT var is used to exclude another translation file from
# being modified.
#
# Every file to modify is backed up into .bak file
# If .bak of file to be modified already exist, modify won't be made.
#
#
# (c) 2013 - nuxsmin - http://cygnux.org
#
# Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported.
#

LANG_FILE="./locales/es_ES.php"
LANG_FILE_ALT="./locales/en_US.php"

find ./ -name "*.php" | while read FILE;do
  test "$FILE" = "$LANG_FILE" && continue
  test "$FILE" = "$LANG_FILE_ALT" && continue

  echo "$FILE ..."

  test -e "$FILE.bak" && continue
  cp $FILE $FILE.bak || continue

  egrep '^\$LANG\[' $LANG_FILE | while read LINE;do
    test -z "$LINE" && continue

    STRIP="$(echo "$LINE" | sed -e 's/;//g' -e 's/\]/\\\]/g' -e 's/\[/\\\[/g' -e 's/\$/\\\$/g' -e 's/\//\\\//g' -e 's/\&/\\\&/g' -e \"s/'/\\\'/g\")"
    ARR_LANG=`echo "$STRIP" | cut -d "=" -f 1`
    ARR_LANG_DESC=`echo "$STRIP" | cut -d "=" -f 2 | sed -e 's/"//g' -e 's/\&/\&/g' -e 's/\//\\\//g' -e "s/'/\\\'/g"`

    sed -i "s/$ARR_LANG/_('$ARR_LANG_DESC')/g" $FILE || exit
    #break
  done
  #break
done

Espero que os sirva… 😉