Si queremos que nuestra aplicación convierta los vÃdeos a Flash, el script siguiente nos ayudará a realizar el proceso. Para ello necesitaremos FFMPEG-PHP, FFMPEG y FLVTool2.
Spinner Control es una librerÃa creada con Prototype que permite crear controles HTML que modifican su valor mediante botones incluidos en ellos. Ya hace tiempo implementamos nuestro propio controlador, por lo que no es necesario explicar cómo hacerlo.
Entre las caracterÃsticas que ofrece encontramos lo siguiente:
TwitPic es un servicio que se utiliza para subir fotos que luego publicas en Twitter. Si estás realizando una aplicación que tira de Twitter y quieres dar la oportunidad al usuario de subir sus fotos puedes hacer uso de esta aplicación y su API (es necesario darse de alta):
$twitpic = new TwitPic($api_key, $consumer_key, $consumer_secret, $oauth_token, $oauth_secret);
try {
/*
* Retrieves all images where the user is facetagged
*/
$user = $twitpic->faces->show(array('user'=>'meltingice'));
print_r($user->images);
$media = $twitpic->media->show(array('id'=>1234));
echo $media->message;
$user = $twitpic->users->show(array('username'=>'meltingice'), array('process'=>false, 'format'=>'xml'));
echo $user; // raw XML response data
/*
* Uploads an image to TwitPic
*/
$resp = $twitpic->upload(array('media'=>'path/to/file.jpg', 'message'=>'This is an example'));
print_r($resp);
/*
* Uploads an image to TwitPic AND posts a tweet
* to Twitter.
*
* NOTE: this still uses v2 of the TwitPic API. This means that the code makes 2 separate
* requests: one to TwitPic for the image, and one to Twitter for the tweet. Because of this,
* understand this call may take a bit longer than simply uploading the image.
*/
$resp = $twitpic->uploadAndPost(array('media'=>'path/to/file.jpg', 'message'=>'Another example'));
print_r($resp);
} catch (TwitPicAPIException $e) {
echo $e->getMessage();
}
Comienzo: Symfony tiene mucha documentación y gente por detrás desarrollando y ayudando, algo de lo que anda un poco corto Zend.
Testing: Symfony viene con tareas de testing por lÃnea de comandos y genera una clase vacÃa para ello al crear un controlador. Mientras que Zend no ofrece soporte para testing.
Plantillas: Zend tiene un sistema de plantillas un poco verde al que hay que hacerle algunos hacks para realizar algunas cosas. Symfony, al contrario, su sistema de plantillas es muy maduro, al cual le puedes añadir módulos.
Plugins: más de lo mismo, Symfony es extensible, Zend no.
Módulos de bases de datos: Zend usa ActiveRecord, mientras que en Simfony le puedes añadir el motor que desees, incluso Zend_Db.
Un buen artÃculo que nos enseña cómo instalar PHP 5.2 en nuestro servidor, cuando el hosting no nos lo ofrece. En este caso se trata de DreamHost, pero como bien dice el autor, se puede usar para otros como Site5 Hositng o TextDrive.
En este caso, el autor necesita de PHP 5.2 por necesidades con la librerÃa GD y Freetype y aunque el hosting ofrece un script que deberÃa realizarnos la instalación, no funciona correctamente.
El script que nos ofrece nos descargará los archivos necesarios mediante FTP y HTTP, descomprimirá lo obtenido y lo instalará.
Espero que sea de utilidad para aquellos que se encuentren con el mismo problema. Install Your Own PHP 5 on Your Web Host
Ahora viene la parte más complicada, y digo complicada porque sinceramente he tenido que mirar el código porque algo me fallaba cuando seguía lo que decía la documentación.
El nombre del fichero JSON tiene el siguiente formato [dominio de traducción]-[idioma]-[handler del fichero].json, total nada.
Dominio será el que usemos para traducir, en el ejemplo sería mi-plugin:
__( 'Hola que tal', 'mi-plugin' );
Idioma es el código del idioma, en este caso es_ES
Y por último el handler del fichero es el primer parámetro que usamos en wp_enqueue_script
Lo podemos ver todo en un ejemplo final:
wp_enqueue_script(
'mi-plugin-handler', // El handler mencionado anteriormente
$blocks_script, // Nuestro path
[
'wp-i18n', // De referenciar al menos a wp-i18n
],
);
wp_set_script_translations( 'mi-plugin-handler, 'mi-plugin', plugin_dir_path( __FILE__ ) . 'languages' );