Fallo en el mod Ohara YouTube Embed

Started by Príncipe_Azul, October 18, 2017, 04:10:48 AM

Previous topic - Next topic

Príncipe_Azul

Hola amigos, he notado que el mod Ohara YouTube Embed tiene un fallo, les comento:

Supongamos que un usuario crea un tema y pega un código, éste código tiene al comienzo una url de youtube, un ejemplo sería:

# YouTube (Eggdrop/Tcl), Version 1.3
#
# (c) creative (QuakeNet - #computerbase), 15. Feb. 2012
#
# This program is free software: you can redistribute it and / or modify it under the
# terms of the GNU General Public License, see http://www.gnu.org/licenses/gpl.html.
#
# Example:
# <bo2000> like her new video https://www.youtu.be/kfVsfOSbJY0
# <eggbert> [Y] Rebecca Black - Friday - Official Music Video, 17.09.2011 (O 1.8)
#
# Notice:
# !youtube (on|off) enables or disables script for active channel (flags "mno" only)

... aquí el código ...


En teoría el mod no debería mostrar el video cuando el usuario publique el código, de hecho ésto es correcto y hasta ahí funciona bien, el problema viene que ese mod le inserta las etiquetas de YouTube dentro de la etiqueta de código, si bien el video no se muestra, pero quedan mal puestas las etiquetas, un ejemplo:

# YouTube (Eggdrop/Tcl), Version 1.3
#
# (c) creative (QuakeNet - #computerbase), 15. Feb. 2012
#
# This program is free software: you can redistribute it and / or modify it under the
# terms of the GNU General Public License, see http://www.gnu.org/licenses/gpl.html.
#
# Example:
# <bo2000> like her new video [youtube]https://www.youtu.be/kfVsfOSbJY0[/youtube]
# <eggbert> [Y] Rebecca Black - Friday - Official Music Video, 17.09.2011 (O 1.8)
#
# Notice:
# !youtube (on|off) enables or disables script for active channel (flags "mno" only)

... aquí el código ...


Si yo modifico el post de ese usuario o si ese usuario modifica su post al notar ese problema/error y quiere borrar esas etiquetas de
[/b], no podrá hacerlo ya que esas etiquetas sólo son visibles cuando se visualiza el post del usuario, es decir, que el mod no le añade las etiquetas (no las guarda dentro del código), sino que las muestra al cargar el post de ese usuario, por lo que no se pueden borrar, ya que si el usuario modifica el mensaje para borrar esas etiquetas de
, notará que las etiquetas no existen.

Ese mod no debería poner las etiquetas dentro de las etiquetas de código.

¿Cómo se puede solucionar éste fallo?, he notado que también falla al visualizar el post :-\


Muchas gracias de antemano.


Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

Gluz

Eso pasa cuando está activada la parte de AutoEmbed para insertar automáticamente todos los videos, y la parte que revisa los enlaces solo revisa que sean enlaces con formato válido de youtube, vimeo o para gifv ya que va antes de aplicar los BBCodes, los cuales si toman en cuenta que si es un bloque de código no se aplica dentro de ellos ningún otro código BBC.


Ahí se tendría que aplicar una revisión antes, de que si el texto contiene bloques de código, dentro de ellos no se aplique la sustitución, o separar el texto en los tags de código y solo revisar las partes que están fuera de éstos. Eso tendrá que verlo Suki si es posible aplicarlo al MOD o no, ya que con Expresiones Regulares en PHP y las funciones preg_replace no estoy muy familiarizado.


Y esto creo que aplica a cualquier otro mod con autoembed, ya que todos hacen lo mismo, si está activo el autoembed lo que hacen es agregar en el enlace los tags para que luego el parser de BBCodes los convierta, pero no he visto algún otro que revise si está dentro de etiquetas de código para no hacer el reemplazo.

Príncipe_Azul

Hola querido amigo, antes que nada, muchas gracias por tomarte el tiempo en responder y más aún por lo extenso

Me olvidé de comentar que la versión que utilizo de ese mod, es la 1.2, por lo que no tiene la opción de AutoEmbed, solamente tiene 3 opciones:

1. Activar/Desactivar el mod.
2. Ancho del video.
3. Alto del video.

Bueno espero que Suki solucione éste problema, porque es un error, todo lo que esté dentro de las etiquetas de código no deberían de ponerse las otras etiquetas, como en el caso de éste mod que pone el
, si alguien deja una url de un código, por ejemplo un programador deja la url de un video dentro de un código, una explicación o tutorial sobre ese código, la persona que copie el código, lo va a copiar con el
y no debería de ser así.

Quizás te preguntes, ¿por qué utilizo esa versión del mod?, la respuesta es porque no me gusta como se muestra el video en la última versión del mod, te doy un ejemplo:

Versión 1.2 (la que utilizo):



Versión actual (1.2.9):




No sé si eso se podrá cambiar, la forma en la que se muestra el video, me gustaría tener la última versión porque podría deshabilitar el AutoEmbed y así olvidar ese fallo con esa versión, ya que sería una solución.


Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

Gluz

En la versión 1.2 se agregó el autoembed, que es exactamente lo que causa eso, pues el autoembed lo que hace es buscar los enlaces de youtube o vimeo que estén sin las etiquetas BBC correspondientes y las agrega.

Lo que no tiene es la opción de deshabilitarlo, eso se agregó en siguientes versiónes del MOD, pero está el cambio de la forma en como se ve, que es el cambio que tiene youtube de implementar html5 para el reproductor.


Príncipe_Azul

Y no hay forma de deshabilitar el autoembed desde el código fuente?.

Un abrazo y gracias!! :)
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

Gluz

No tengo esa versión, por lo que no se exactamente como está, pero si tiene la función OYTE_Preparse() dentro del archivo Subs.php, eso es lo que hace el AutoEmbed, solo comentar esa línea en teoría debe deshabilitar el autoembed sin tocar nada de la funcionalidad del MOD.

Príncipe_Azul

Que grande Gluuuuuuuz, sos un master, dejé comentada la línea de la siguiente manera:

// $message = OYTE_Preparse($message);

y funciona de 10! no importa que no funcione el autoembed, me da igual, lo importante es que no se inserten esas etiquetas dentro de los códigos.
He realizado distintas pruebas y todo funciona correctamente, además de que me fijé en el log de errores del foro y no hay ningún error.

Muchísimas gracias y damos el tema por Solucionado!

Un abrazo y todas las bendiciones para vos!!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

Advertisement: