Hace tiempo hablaba de una librería para trabajar con Jabber desde PHP y me preguntaban si se podía usar para realizar un cliente y realizar acciones con él. Pues he usado esta librería para crearme un cliente de jabber que espere mensajes y los publique en WordPress, para lo cual también he necesitado la librería phpxmlrpc.
Yo el ejemplo lo he hecho con DreamHost y la posibilidad que ofrece de crear un servidor Jabber, claro que también se puede hacer mediante GTalk.
Lo primero es tener dos cuentas: una para el cliente y otra para ti. Cuando ya las tengamos, deberemos autorizar la una a la otra para que puedan enviarse mensajes. Esto es la parte más chapuza ya que hay que hacerlo con clientes tipo Gtalk o Pidgin.
Tan solo nos queda instalar el script en nuestro servidor o en nuestro ordenador (aunque casi mejor en un servidor) y configurarlo. Se copia en el servidor y se edita el fichero orejas.php y modificar los siguientes valores:
- $blog_usuario: nombre del usuario del blog
- $blog_contraseña: contraseña del usuario del blog
- $blog_url: url del blog de WordPress
- $blog_xmlrpc_path: path al script xmlrpc de WordPress
- $blog_puerto: puerto del blog (lo más seguro es que no haya que modificarlo)
- $post_tags: etiquetas por defecto del post que se va a crear
- $post_separador: separador para diferenciar en el mensaje entre título, contenido y etiquetas
- $post_titulo_defecto: título por defecto del post
- $jabber_host: servidor de Jabber, para GTalk creo que es gtalk.google.com
- $jabber_usuario: usuario de jabber
- $jabber_contraseña: contraseña del usuario de jabber
- $jabber_puerto: puerto del servidor de jabber (lo más seguro es que no haya que modificarlo)
Para postear en WP habrá que mandar un mensaje al cliente con el siguiente formato:
titulo##contenido##etiqueta1,etiqueta2,...,etiquetan
Contenido admite HTML y retornos de carro que serán convertidos en párrafos. Si no se quiere indicar título o etiquetas, pues se puede escribir el contenido solamente. El separador ## es modificable. Cuidado si vais a escribir retornos de carro, porque si pulsas sólo INTRO te enviará el mensaje.
Una vez enviado el mensaje, el script posteará en WP y devolverá la URL del nuevo post.
Supongo que se pueden hacer más cosas y mejor, pero para lo que yo lo necesito me basta y me sobra.
Descarga: orejas
Todo bien, pero el navegador que utilizas no tiene pestañas..??
Me gusta la idea 😉
Pero le harÃa un cambio para hacer el snippet más “WordPress compliant” 🙂
Puedes sustituir todas las condiciones del primer if por esta más sencilla:
$current_screen->id = 'post'Upss! me deje un =, serÃa:
$current_screen->id == ‘post’
Para que no salgan los nuevos enlaces en el listado de posts, sólo en la de edición del post.
Gracias Samuel, pero el script solo sale en la edición de posts, ya que evalua esta condición:
$_GET[‘action’] == ‘edit’
Eso sÃ, seguro que al script le faltan muchas cosas 🙂
Gracias
Gracias a ti por la idea 😉
SÃ, si el script sólo sale en la edición de posts… tanto el original como con la modificación que te propongo.
Únicamente que en el primer comentario puse sólo un
=y asà sà que darÃa el problema de salir también los listados, de ahà mi segundo comentario, poniendo==sale sólo en la ventana de edición. Y no es necesario hacer se pedazo de if que haces 😉Yo es que soy muy fanático de usar siempre los métodos que proporciona WordPress en lugar de hacerlo con php “estándar”. Porque asà siempre tienes más opciones de compatibilidad futura e incluso de mejor rendimiento.
Pero vamos, que sÃ, que el script funciona igual en su formato original 😀