Google Docs Printer es una librería que permite recuperar y mostrar documentos alojados en Google Docs, para ello hace uso del identificador del documento dado por Google.
Esta librería tan solo accede al documento y obtiene el HTML que muestra el documento, no tiene más funcionalidades, pero aún así puede venirnos muy bien.
Para mí, uno de los mayores fracasos de Twitter es su API, una limitación de su uso increíble para algo que le podría dar mucho juego a la aplicación. Ahora mismo no sé en cuánto está el límite, pero la posibilidad de realizar una aplicación basada en Twitter es una pesadilla.
Para aquellos que no quieran sufrir lo que hemos sufrido con TwitterPoster (los espacios en blanco es porque la gente actualiza su imagen y no podemos recuperar la de todos los usuarios por el límite en el API de Twitter), les recomiendo usar Twitter mediante CURL.
Os paso un script sencillito que he realizado:
<?php
// Primer hacemos login
$url ="https://twitter.com/sessions";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Por si tienen limitación por navegador
curl_setopt($ch, curlOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
// Poned una ruta para las cookies
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/');
curl_setopt ($ch, CURLOPT_COOKIEFILE, '/temp/');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username_or_email=[usuario]&password=[contraseña]");
// Para que funcione el https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, curlOPT_SSL_VERIFYHOST, 2);
curl_exec ($ch);
// Cargamos el home, porque Twitter añade dos campos ocultos para poder publicar por web
$url ="http://twitter.com/home";
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
// Recuperamos los campos ocultos
preg_match('//', $result, $match);
$authenticity_token = $match[1];
preg_match('//', $result, $match);
$siv = $match[1];
// Insertamos el texto
$res = $url ="http://twitter.com/status/update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'siv='.$siv.'&authenticity_token='.$auth.'&status=[texto]');
curl_exec ($ch);
curl_close ($ch);
unset($ch);
?>
¿Qué fallo tiene este script? pues que si cambian el HTML (campos de formulario, …) o las URLs deja de funcionar, pero al menos no tenemos limitaciones. Eso sí, es más costoso para sus servidores y para los nuestros, porque en vez de hacer una llamada, hacemos 3, y en nuestro caso, a parte parseamos una página para obtener dos campos ocultos.
MODx es lo que se llamarÃa un CMF (Content Management Framework), una mezcla entre CMS (Content Management System)y framework. Realizado en PHP, permite realizar aplicaciones de forma sencilla, validando código XHTML, con layouts CSS y con utilización de Ajax.
A parte de tener en cuenta los estándares web y tratar con Ajax (gracias a script.aculo.us), hay que añadir que en los navegadores más comunes, dispone de un instalador paso a paso, hace uso de FCKeditor, diferencia entre las sesiones de usuarios y de gestores de la aplicación, y exporta a formatos como PDF o Word, entre otras cosas. MODx
Gracias Bentejuy por el aviso.
PHP.JS es un script que quiere mover las funciones PHP a Javascript, para que el desarrollador use la misma nomenclatura, ya que hay funciones muy similares y que para desarrolladores poco experimentados puede resultarles confuso.
Yo recomiendo que la gente aprenda ambos lenguajes y que los sepa diferenciar, pero ante la confusión de lenguajes puedes echar mano a este script, aunque de rendimiento puede ir peor.
Entre las funciones nos encontramos las que tratan los arrays, strings, UTF-8, entre otras. PHP.JS
Vía / dzone
Contact Form 7 es uno de los plugins de WordPress más utilizados, ya que nos permite incluir formularios de contacto de forma sencilla en nuestros blogs. El problema viene cuando queremos añadir validaciones a los campos del formulario. Una forma sencilla, quizás haya un plugin que lo haga, es editar el functions.php y añadir un action al init que compruebe los valores de $_POST y devolver el JSON oportuno:
add_action('init', 'comprueba_form', 1); // prioridad 1 para que actue antes que el plugin
function comprueba_form() {
if ( 'POST' == $_SERVER['REQUEST_METHOD'] &&
isset( $_POST['_wpcf7_is_ajax_call'] ) &&
$_POST['_wpcf7'] == '1') { // _wpcf7 es el id del formulario para diferenciarlos
// comprobaciones
if ($_POST['campo'] != 'valor') {
echo '{"mailSent":false,"into":"#wpcf7-f2-p813-o1","captcha":null,"message":"El campo 'campo' falla.","onSentOk":null}';
exit();
}
}
}
Leer feeds no es algo que se deba limitar a aplicaciones lectoras de feeds, ya que actualmente muchas webs ofrecen sus datos mediante este formato. Hacer un lector de feeds puede ser algo complicado, o más bien laborioso, ya que hay varios formatos y versiones, a parte de que no todo el mundo publica feeds válidados.
Se puede realizar un sencillo lector de feeds con PHP gracias a la librería SimpleXML (se necesita PHP5). Tan solo habrá que leer el feed y parsearlo, y luego acceder a sus elementos. Algo así como:
$data = @simplexml_load_string(file_get_contents($url));
if ($data) {
// Obtiene el los elementos <item>
$items = $data->xpath('//item');
}
Pero hay que tener en cuenta que el existen etiquetas como <content:encoded> que la librería no las leerá y recuperará tan fácilmente. Para ello deberemos mirar el xmlns correspondiente:
Con este código se puede empezar a leer feeds, pero aún así, si necesitáis más, podéis mirar este post, que es donde he encontrado la solución al <content:encoded>.
ffmpeg-php es una librerÃa para acceder y recuperar información de ficheros de video y audio.
Con esta librerÃa se pueden obtener frames de los ficheros de video como imágenes para luego manipularlas con las funciones GD de PHP. Muy útil para crear thumbnails de los videos que poseemos. De los ficheros audio se puede obtener la duración y el bitrate. Son varios los formatos de audio (mp3, wma, …) y de video (mov, avi, mpg, wmv, …) los que admite esta librerÃa.
Entre las caracterÃsticas que nos ofrece, nos encontramos con lo siguiente: orientado a objetos, obtener imágenes de los frames de un video, crear GIFs animados de los frames de un video o de imágenes GD, utiliza las caracterÃsticas de ffmpeg para redimensionar y recortar los frames obtenidos, obtener de los ficheros mp3 la información meta de los archivos.
Para utilizar esta librerÃa es necesario ffmpeg-0.4.9_pre1, php-4.3.0 y gd-2.0. ffmpeg-php