¡Hola, Invitado!


Patrocinantes


Síguenos en Facebook


Síguenos en Twitter

Compartir este tema:
[Código] [MyBB] Modificación al plugin MyBBPublisher
.:WindHack:. Sin conexión
Administrador
*******

Mensajes: 841
Registro en: Jul 2010
Facebook Google+ Twitter YouTube
Gracias dados: 62
Gracias recibidos: 60
Mensaje: #1
[MyBB] Modificación al plugin MyBBPublisher
  • Compartir en Delicious
  • Compartir en Digg
  • Compartir en Linkedin
  • Compartir en MySpace
  • Compartir en Technorati
  • Compartir en Tuenti
Debido a diversas razones y a la sencillez con la que realiza las publicaciones el plugin para difundir los nuevos temas en sitios sociales (Facebook y Twitter), me vi en la obligación de realizar una modificación a MyBBPublisher, la cual está enfocada sólo en Facebook.

Basándome en la referencia (API de facebook) y su método 'post', encontré los parámetros que pueden ser enviados para publicar contenido en nuestra 'fan page'.

MyBBPublisher por defecto maneja sólo estos dos valores:
  • access_token (indispensable)
  • message
Sin embargo, esto nos dá muchas limitaciones, ya que el contenido enviado a facebook queda muy vacío.

Revisando un poco más la referencia, se pueden encontrar los siguientes campos:
  • description -> La descripción del enlace.
  • link -> El enlace adjunto a la publicación.
  • picture -> Nos permite agregar una imagen a la publicación.
  • name -> El nombre del enlace.

Ahora la cuestión radica en conseguir la información necesaria para cada parámetro.

Ya se hace necesario abrir el archivo "mybbpublisher.php" para comenzar a modificar su contenido.

Primero que todo, buscamos aproximadamente la línea 661 donde se encuentra:
Código PHP:
$text_fb stripslashes($mythread['subject']); 

Y agregamos el siguiente código, el cual nos dará la descripción (texto) del tema recién publicado.

Código PHP:
$message_fb htmlspecialchars_uni(stripslashes($mythread['message'])); 
Explicando un poco, esto es fácil...Aplicamos el mismo método usado para obtener el 'Asunto' del tema, pero según mybb_posts para obtener el contenido del post se usa el campo 'message'.

Bien, hasta acá ya conseguimos la descripción, el siguiente paso es modificar el array que guarda la información que será enviada a facebook.

Se encuentra aproximadamente entre la línea 665 ~ 668
Código PHP:
$datafb[] = array(
'type'=>'t',
'id'=>$mythread['tid'],
'msg' => $text_fb,
'url' => $url,
'description' => $message_fb//Agregamos esta línea, que contiene la descripción.
'postid'=>$mythread['fb_id'],
'postuid'=>$mythread['fb_uid']); 

Ahora hacemos exactamente lo mismo en las funciones:
mybbpublisher_editthread(): Aprox. líneas 765 y 779 ~ 781
mybbpublisher_approvethreads(): Aprox. líneas 820 y 833 ~ 835

El siguiente cambio se debe hacer en las líneas 1306 ~ 1316:
Código PHP:
foreach($data as $msg_url)
{
$msg $msg_url['msg'];
$url $msg_url['url'];
$desc $msg_url['description']; //Agregamos este valor.
$id $msg_url['id'];
$type $msg_url['type'];
$postid $msg_url['postid'];
$postuid $msg_url['postuid']; 

Ya casi está terminada la modificación al plugin. El último paso es editar lo siguiente:

Debemos buscar el comentario:
Código PHP:
//$message = "A new announcement, '".$msg."', has been posted to our forums".($url!="" ? " at: ".$url."." : "."); 

Borrar lo que haya ahí, y poner este código:
Código PHP:
$tpURL $url//El enlace del tema
$tpName $msg//El asunto del tema
                                                
//Limitar contenido de la descripción
//$tpContent = substr($desc, 0, 384).'...Continúa leyendo en nuestro foro';

//Eliminar BBCode.
$tpContent preg_replace('/\[.+?\]/','',$desc); 

Y luego, un poco más abajo, está el array que se encarga de reunir todo lo que se enviará y publicará en facebook.

Código PHP:
$attachment =  array('access_token'    => $mybb->settings['mybbpublisher_fb_access_token_page'],                                                                                'message'        => $message,                                                    ); 

En ese array debemos de agregar los siguientes valores.

Código PHP:
$attachment =  array(
'access_token'    => $mybb->settings['mybbpublisher_fb_access_token_page'],                        
'message'        => '¡Hay un nuevo tema en nuestro foro!'
'picture' => 'http://i43.tinypic.com/wqxxsg.png'
'link' => $tpURL
'name' => $tpName,
'description' => $tpContent,); 

Recordar que los parámetros message y picture pueden ser libremente cambiados.

Eso es todo, una vez finalizado...Tendremos algo así:

[Imagen: qxp3kx.png]
(Lo de arriba es el antes, y abajo está el después).

Por cierto, esta es una modificación rápida y funcional, PERO algunas funciones deben ser leídas detenidamente ya que se deben de realizar también algunos cambios en ellas...

Aquí dejo el plugin, con la modificación anterior realizada.
- http://db.tt/PiVr6Cun

[Imagen: WindSig.php]
[Imagen: DaW-User.png]
[Imagen: administradorq.png]
"The only thing they can't take from us are our minds."
29-01-2012 08:26 AM
WWW Buscar Citar
Han agradecido: -Gosw- , swik
-Gosw- Sin conexión
Administrador
*******

Mensajes: 1.984
Registro en: Jul 2010
Facebook Twitter YouTube
Gracias dados: 62
Gracias recibidos: 93
Mensaje: #2
RE: [MyBB] Modificación al plugin MyBBPublisher
  • Compartir en Delicious
  • Compartir en Digg
  • Compartir en Linkedin
  • Compartir en MySpace
  • Compartir en Technorati
  • Compartir en Tuenti
Estupendo trabajo. ;)

[Imagen: administradorq.png]
HTC Desire SLCD: S-OFF, cm7/r2 hboot, CyanogenMod Kernel, CyanogenMod NB 262
Samsung Galaxy S i9000: Chainfire Kernel (CF-ROOT), Value Pack ROM 2.3.6 JVU
SE Xperia x10i: Unlocked Bootloader, FXP052 Kernel, CyanogenMod 7.2.0 FXP052
Motorola Dext MB200: CyanogenMod 7.1 RC1
LG Optimus One P500: Stock ROM 2.3.3
ZTE Racer: Stock
29-01-2012 08:30 AM
WWW Buscar Citar
Han agradecido: .:WindHack:.




Usuario(s) navegando en este tema: 1 invitado(s)