Está en: »

Etiquetas : programación

Comprobar si un script en bash ya se está ejecutando

bash

Algo realmente útil para cuando necesitamos que sólo haya una ejecución del mismo script (por ejemplo, para copias de seguridad automáticas ejecutadas desde cron).

Lógicamente, se incluye al principio del script.

if pidof -x $(basename $0) > /dev/null; then
  for p in $(pidof -x $(basename $0)); do
    if [ $p -ne $ ]; then
      echo "El script $0 ya se está ejecutando. Saliendo..."
      exit
    fi
  done
fi

Establecer una categoría como página principal o excluir algunas en wordpress

Para establecer una categoría como página principal en wordpress, bastará con editar el archivo functions.php de nuestra plantilla y añadir al final (antes del ?>):

function only_category($query)
{
        if ( $query->is_home )
        {
                $query->set('cat', '26');
        }
        return $query;
}

add_filter('pre_get_posts', 'only_category');

Donde 26 es el id de la categoría a establecer. Podemos establecer varios separando las ids con espacios. Ej:

$query->set('cat', '26 33 15');

Del mismo modo, si lo que queremos es excluir algunas categorías dejando todas las demás, bastará con poner los ids de las categorías en negativo. Ej:

$query->set('cat', '-26 -33');

¿Problemas con botones de aplicaciones java en kde4?

Al usar eclipse (o cualquier derivado de este como aptana por ejemplo) bajo kde4, nos topamos con que algunos botones (y otras funcionalidades) no funcionan correctamente.

El problema viene dado por la integración entre gtk+ y kde4 (bueno, más bien por SWT). A pesar de que se realizan muchos esfuerzos para su correcto funcionamiento, nos podemos encontrar con detalles tan molestos como este caso.

Pues bien, esto podemos arreglarlo lanzando eclipse de esta forma:

GDK_NATIVE_WINDOWS=true eclipse

Básicamente estamos indicando que GDK no utilice su ‘client-side windows’ y en cambio, pueda realizar las llamadas directamente al servidor X.

Por cierto y según he visto, acrobat también tuvo/tiene un problema parecido que se soluciona de la misma forma.

Configurar tiempo de caché para un dominio

Para configurar una caché para todo un dominio, podemos usar mod_expires de apache.
Su uso es tan sencillo como insertar en el archivo .htaccess lo siguiente:


        
                ExpiresActive on
                ExpiresDefault "access plus 10 day"
        

Con esta configuración estamos estableciendo que todos los archivos que terminen en las extensiones especificadas tengan una caché de 10 días.

Muy sencillo y a su vez, muy útil

Depuración y rendimiento de una aplicación en php (y por supuesto codeIgniter)

PHP quick profiler

PHP quick profiler

PHP quick profiler es una librería para php5 que nos permite tener una consola extra donde poder revisar la ejecución de nuestra aplicación.

Es una gran librería que nos revela información variada como datos recibidos, clases iniciadas, el lugar donde las mismas se inician, número de consultas a la sql, consultas a la sql, tiempo de carga, memoria consumida por la aplicación, archivos incluidos y un largo etcétera.

Continúe leyendo…

HMVC – Sistema modular en codeIgniter

codeIgniter

HMVC es un «plugin» que nos permite programar módulos bajo el framework php codeigniter.

En un principio, la librería nos permite tener para cada módulo los controladores, modelos, vistas y librerías que necesitemos. Es una librería realmente potente ya que incluso nos permite cargar la salida de una función de un controlador en otro controlador.

Página y archivo de descarga:
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

Continúe leyendo…

retornar una vista en vez de mostrarla – codeIgniter

codeIgniter

Para retornar una vista ya procesada en vez de mostrarla, hay que pasar un valor verdadero como tercer parámetro (true por ejemplo).

$vista = $this->load->view('mivista', $array_de_parametros, TRUE);

Funciones para mssql (Microsft SQL Server)

Aquí os dejo una serie de funciones/sentencias para Microsoft SQL Server (mssql)
Continúe leyendo…

Insertar valores retornados desde un select en MS SQL

Actualmente estoy desarrollando una aplicación (intranet) basada en php y mssql (Microsoft SQL server 2000) para un cliente.

Necesito realizar un volcado de algunos datos de una tabla en otra donde los campos son distintos. Para realizarlo, utilizo la sentencia:

INSERT INTO tabla2
SELECT campo1 AS campo1nuevo, campo2 AS campo2nuevo, campo3 AS campo3nuevo, campo4 AS campo4nuevo
FROM tabla1
WHERE campo1.tabla2 = 'valor a filtrar'


Donde:
tabla1 => tabla desde donde vamos a leer los campos
tabla2 => tabla donde vamos a insertar los campos
campo1, campo2 … => nombre de los campos que vamos a leer de la tabla1
campo1nuevo, campo2nuevo => nombre de los campos donde vamos a insertar los valores
campo1.tabla2 => campo a filtrar para los valores que vamos a leer

Continúe leyendo…

Crear copias de seguridad en servidor web de hosting mediante php

Cuando tenemos un cms alojado, normalmente suele tener algún sistema para las copias de seguridad. Pero también es cierto que la mayoría simplemente hacen un backup de la base de datos, dejando los adjuntos (imágenes, vídeos, ficheros…) descartados.

Otras veces, por necesidades del cliente, desarrollamos nosotros mismos la aplicación.

La cuestión es que sea cual sea el caso, se suele necesitar un sistema de backups medianamente funcional. Y para dicho propósito, he creado un script en php.

El funcionamiento del archivo es bien sencillo:
Continúe leyendo…