Lessn: script para acortar URLs
Lessn es un script en PHP5 y MySQL que permite realizar un acortador de URLs al estilo micurl o parecidos.
Lessn
Vía / Script & Style
Lessn es un script en PHP5 y MySQL que permite realizar un acortador de URLs al estilo micurl o parecidos.
Lessn
Vía / Script & Style
CodeIgniter es uno de los frameworks PHP que está siendo mejor valorado por los desarrolladores, estando totalmente de acuerdo en esto, cuanto más lo uso más cómodo me parece y más me gusta.
Hace unos dÃas sacaron a la luz su nueva versión (1.5.4), que nos presenta algunas novedades y algunos problemas resueltos, entra las que cabe destacar:
Buddypress es un plugin de WordPress que permite convertirlo en una red social. El plugin está bastante bien, pero una cosa que no me gusta es cómo muestra la pantalla de opciones de tu perfil, dividiendola en distintas secciones: profile, general, … Por lo que tener una única pantalla de opciones es un dolor de cabeza, sobre todo porque cuando se guardan los datos de un grupo de opciones, hace un redirect por lo que no podemos continuar guardando datos.
Para poder solucionar esto hay que mirar qué grupos de opciones se ejecutan inicialmente, y ver que antes del redirect hay un action que deberemos tomar en cuenta:
add_action( 'bp_core_general_settings_after_save', 'iqn_more_settings_save');
function iqn_more_settings_save() {
global $bp;
// Guardar datos del profile
$bp->current_action = 'profile';
$_REQUEST['_wpnonce'] = $_REQUEST['_wpnonce_xprofile'];
bp_xprofile_action_settings();
}
En mi caso, inicialmente, se guardaba antes el general settings, por lo que en el action bp_core_general_settings_after_save lo que hago es llamar a la siguiente función que guarda los siguientes datos.
También es necesario que _wpnonce se modifique para que el formulario no falle por temas de seguridad, por lo que hay que añadir en nuestro formulario lo siguiente:
wp_nonce_field( 'bp_xprofile_settings', '_wpnonce_xprofile' );
Me he encontrado con un problema con RevSlider y W3 Total Cache, cuando actualizo un slider no se renueva la caché. La verdad es que no me gusta nada RevSlider, y para colmo no hay ningún action que permita añadir funciones extra, por lo que para poder borrar la caché cuando se actualiza un slider, tengo que meter mano a la acción ajax:
add_action( 'wp_ajax_revslider_ajax_action', 'purge_cache', 1);
function purge_cache() {
// Me aseguro que sea cuando se actualiza el slider
if (isset($_POST['client_action']) && $_POST['client_action'] == 'update_slide') {
// Si está instalado el plugin
if( class_exists('W3_Plugin_TotalCacheAdmin') ) {
$plugin_totalcacheadmin = & w3_instance('W3_Plugin_TotalCacheAdmin');
// Borro toda la caché, seguro que hay un método que borra la página específica
$plugin_totalcacheadmin->flush_all();
}
}
}
Buen script que nos puede ser muy útil cuando tenemos que ejecutar varios procesos concurrentes, por ejemplo realizar tareas de administración simultáneas. Para ello es necesario utilizar la función pcntl_fork(). El ejemplo es bastante sencillo, pero podemos personalizar el número de procesos que queremos que se ejecuten concurrentemente:
$maxChildren = 4;
$numChildren = 0;
foreach($unitsOfWork as $unit) {
$pids[$numChildren] = pcntl_fork();
if(!$pids[$numChildren]) {
// do work
doWork($unit);
posix_kill(getmypid(), 9);
} else {
$numChildren++;
if($numChildren == $maxChildren) {
pcntl_wait($status);
$numChildren--;
}
}
}
PHP Forking to Concurrency with pcntl_fork()
Via / PHPDeveloper.org
Si el otro día hablaba sobre PHP Quick Profiler, una clase que nos permite realizar debug en nuestras aplicaciones, hoy os enlazo con mod para integrarlo con CodeIgniter.
Es necesario tener activados los hooks de CodeIgniter y activar el profiler de CodeIgniter. A mí personalmente no me gusta usar los hooks, pero aún así se trata de una buena solución.
PHP Quick Profiler para CodeIgniter
phpRemoteShell es una aplicación que permite ejecutar comandos de shell y código PHP en un host remoto sobre HTTP.

Además permite encriptarse y desencriptarse en la petición, PRS se puede alojar a sà mismo en en otro script PHP del servidor para poder restablecerse durante el tiempo de ejecución. Ademas permite modificar el crontab entre otras cosas.
phpRemoteShell
VÃa / International PHP Magazine
Comments are closed.
Voy a parecer la mosca cojonera del blog, pero aún asÃ:
Se ha estado hablando mucho de los acortadores de URLs. No son buenos.
-aportan un nuevo punto de fallo
-ocultan la dirección final (no sé donde me estoy dirigiendo, podrÃa ser un sitio con fama de contener virus y otro software dañino)
en caso de que se den de baja ( http://tr.im ) lo intentó hace poco y armó una buena en la blogosfera obligándoles a rectificar
-resulta innecesario su uso en la mayorÃa de ocasiones y, como se indica en varios sitios, lo correcto es una de las siguientes dos opciones:
1) que cada sitio se gestione sus propias URLs cortas de forma que si el sitio se da de baja también se pierden las URLs cortas, pero al menos ya depende de un punto de fallo (la página en la que se publican).
2) que los sitios más importantes empiecen a ofrecer el servicio de URLs cortas como permalinks a los artÃculos. Si el script publicado aquà tiene esa finalidad, perfecto, ese serÃa el camino a seguir.
Estoy de acuerdo con alsanan, y añado otro argumento: el rendimiento. Una redirección extra significa más tiempo de espera y mayor carga para las conexiones y servidores. De hecho, la existencia de los acortadores sólo tiene sentido por cosas como Twitter –lo cual me parece una estupidez porque bien podÃa Twitter permitir poner enlaces sin ser necesario poner la URL en el texto del mensaje–, y de hecho yo ya he visto ejemplos donde se utilizan acortadores para ocultar el verdadero destino del enlace (publicitario).
No obstante, si se van a usar acortadores de URL, mejor que sean scripts conocidos y libres como el que presenta el post.
Un saludo.