Programadora web y fan incondicional del Doctor

Archivo para la Categoría "Programación"

Minientrada

Actualizar desde WP 2.2 (con éxito)

Ayer me cansé de recibir SPAM de un dominio que tengo muchos años, www.androides.biz y decidí ponerle el Akismet, que por el momento es el mejor filtro de SPAM que he encontrado. Hace magia, de recibir cientos de comentarios falsos, a no recibir ni uno. Voilá!

Entonces me dí cuenta de que tenía un WordPress 2.2 (del año de la tos) y me dije: “Sería conveniente actualizar esto, no vaya a ser que entren hasta la cocina.”
Lo primero es sacar copia de los archivos y la base de datos. Lo siguiente es planificar un poco: ¿Cuántos pasos quiero dar hasta llegar a la versión 3.9?

La respuesta es lógica, cuantos menos te saltes, mejor. Si pretendes actualizar del 2.2 al 3.9 directamente el resultado será un EPIC FAIL.
Yo lo he hecho en varios pasos y me ha salido bien a la primera:
WP 2.2 –> WP 2.5 –> WP 2.9 –> WP 3.5 –> WP 3.9

Igual te puedes saltar alguno intermedio, pero dado que no es un proceso complicado, no me la jugaría. Un saludo!

Minientrada

Buscar y reemplazar en MySQL

Cómo hacer search and replace en MySQL: este trocito de código nos va a solucionar la existencia, por ejemplo, en caso de tener un archivo SQL realmente ENORME, tan grande que el Dreamweaver se ponga en huelga y diga que no lo abre (me acaba de pasar…)

Digamos que necesitas cambiar en la base de datos unas 100 veces la extensión de un dominio. No es plan de ponerse a buscar y cambiar a mano una por una…

Comando:
UPDATE nombre-de-tabla SET nombre-del-campo = REPLACE(nombre-del-campo, "dominio.es", "dominio.com");

Esto es to… esto es to… esto es tooodo, amigos!

Cron para borrar archivos antiguos

Super Coco hoy os va a enseñar cómo se ejecuta una tarea cron para borrar esos archivos antiguos automáticamente que están ocupando espacio innecesario en el servidor.

Let me show you how to set up a cronjob to delete old files like temporary files or received email files.

05 10 * * * find /home/complete-path/finaldirectory -ctime +7 -depth -mindepth 1 -delete

Esta es la forma más segura de hacerlo ya que sólo borrará el contenido de la carpeta, y no la propia carpeta, evitando así errores futuros. Le he puesto 7 días porque yo lo necesito para borrar correo antiguo sin perder los más recientes, en caso de que no hayan sido descargados por POP3. Se puede hacer primero una prueba cambiando -delete por -print.

This is the safest way I found as it only deletes the directory content and not the directory itself. So with this way I avoid future cron errors. I put 7 days because I need it to delete old temporary email on the server account but not losing newer files if they have been not downloaded through POP3 protocol. You can test before setting it up changing -delete for -print command.

Saludos & Best regards 🙂

Desactivando extensiones manualmente en Magento

Ahora mismo me sobra una extensión en Magento, la que conectaba el Post Affiliate Pro con mi tienda Magento, y que ya no voy a utilizar nevermore.

Los pasos para desactivarla manualmente son:

1 – Lo más importante: Desactivar Magento Compilation Tool antes de tocar nada más.

2 – Editar de <active>true</active> a <active>false</active> en /app/etc/modules/Mage_Pap.xml

3 – Limpiar la caché de Magento (Flush Magento Cache + Flush Cache Storage).

4 – Salir y volver a entrar en la administración de Magento (logout + login) et voilà

Lo demás es totalemente opcional, puedes eliminar los archivos que subiste al servidor o no.

NO actualizando Magento 1.6.1.0 → 1.7

Llevo 5 horas con la actualización.

Nota mental: NO LO HAGAS hasta que no saque alguien los parches necesarios…

Se duplica el menú porque Custommenu no es compatible, se duplica una tabla de la BD porque hay que actualizar Manadev…

Todo roto!! Restaurando copia de seguridad. Fuck!

Vulnerabilidad de la plataforma Zend para Magento

Con fecha de ayer:

The vulnerability potentially allows an attacker to read any file on the web server where the Zend XMLRPC functionality is enabled. This might include password files, configuration files, and possibly even databases if they are stored on the same machine as the Magento web server.

–> Te entran hasta la cocina para todas las páginas del mismo servidor. Un agujero de seguridad como la copa de un pino. Te dejan el servidor como la bandera de Japón. Y podría seguir todo el día con estas comparaciones.

** SOLUCIÓN **

A. Preferiblemente, actualizar a la versión 1.7.0.2

B. Si no fuera posible la actualización inmediata, entonces seguir estos pasos:

  • 1. Vía FTP, navega hasta la raíz www-root donde está alojado Magento.
  • 2. Ahora navega hasta /app/code/core/Mage/Api/controllers.
  • 3. Abre XmlrpcController.php para editarlo.
  • 4. Comenta o borra el método entero: public indexAction()
  • 5. Guarda los cambios.

Descargar sesiones completas de MixCloud

Hola niñas y niños que vivís pegados a un ordenador, hoy os oy a enseñar cómo se descargan las sesiones completas que escuchais en http://www.mixcloud.com/

Me encanta el Rockabilly y el Rock’N’Roll y el usuario Rock’N’Rolio tiene un montón de sesiones que os harán mover el esqueleto. Pero qué pasa si no tienes conexión a internet para escucharlo en streaming? Pues que te lo descargas, te lo pones en el móvil y lo escuchas desde donde te de la real gana. Hombre ya! Sólo necesitamos el Crome instalado.

Por ejemplo, para la sesión Rock’N’Rolio Diciembre 2011 – http://www.mixcloud.com/RocknRolio/rock-n-rolio-dec-2011/ en cualquier punto de la web hacemos click derecho y pinchamos en inspeccionar elemento, o lo que es lo mismo, pulsamos la tecla F12.

En el panel que aparece, seleccionamos la pestaña Network y nos dirá que no hay datos, que recarguemos la ventana. No es necesario, sólo con darle al botón verde grande: play mostrará los datos que va recibiendo.

En el inspeccionador, tenemos una columna para ordenar por Type, el que se queda el último es el formato vídeo/mp4 que pesará un montón más que el resto de archivos y ese es el fichero de nuestra sesión, el que queremos descargar desde mixcloud. Le hacemos click derecho y abrir en pestaña nueva.

Nos quedará una dirección como esta: http://stream8.mxcdn.com/cloudcasts/m4a/64/6/4/b/f/fcd2-5ce4-44e1-bc06-71b3af561919.m4a

Las dos partes en negrita las cambiamos por lo siguiente: m4a/64 –> originals y la extensión .m4a –> .mp3 con lo que se queda en http://stream8.mxcdn.com/cloudcasts/originals/6/4/b/f/fcd2-5ce4-44e1-bc06-71b3af561919.mp3

En este caso he tenido mucha suerte porque me ha cargado a la primera, pero no es lo habitual. Lo normal es que nos de un hermoso 404 y que tengamos que ir probando con variaciones de esta url, desde stream1 hasta stream9 (al principio de la dirección). Cuando cargue y empiece a reproducirse el archivo mp3 original, hacemos click derecho en cualquier parte de la ventana y guardamos como.

Ala, a disfrutar de los streamings de Mixcloud sin necesidad de conexión!