Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /var/www/mybb-es.com/html/inc/class_language.php on line 201
[Guía] MyCode en la descripción de los foros
Aquilez   10 May, 2009, 5:47 pm
#1
Ambientación: Domingo en la tarde, muy pero muy aburrido y cansado de jugar al C&C ZH.

Gracias a una pequeña idea en el sitio oficial de MyBB, se me dio por poner MyCode en la descripciones de los foros (No se porque, ni tengo foro, pero lamentablemente soy así).

En este tutorial voy a explicar como realizar esto de una manera hard-coded. Es decir, modificando un archivo de MyBB.
La desventaja de esto es que deberás realizar los cambios luego de cada actualización de MyBB (Solamente si actualizan el archivo a editar, obvio :p).

Si aceptas realizar esta guía luego de cada actualización de MyBB que involucre el archivo en cuestión, los pasos para realizarlo son estos:
  1. Editar el archivo functions_forumlist.php ubicado en la carpeta inc.
  2. Buscar:
    Código:
                // Sanitize name and description of forum.
                $forum['name'] = preg_replace("#&(?!\#[0-9]+;)#si", "&", $forum['name']); // Fix & but allow unicode
                $forum['description'] = preg_replace("#&(?!\#[0-9]+;)#si", "&", $forum['description']); // Fix & but allow unicode
                $forum['name'] = preg_replace("#&([^\#])(?![a-z1-4]{1,10};)#i", "&$1", $forum['name']);
                $forum['description'] = preg_replace("#&([^\#])(?![a-z1-4]{1,10};)#i", "&$1", $forum['description']);
  3. Debajo agregar:
    Código:
                // Parser options for forum description
                $parser_options = array(
                    "allow_html" => 0,
                    "allow_mycode" => 1,
                    "allow_smilies" => 1,
                    "allow_imgcode" => 1,
                    "filter_badwords" => 0
                );

                // Parse forum description
                $forum['description'] = $parser->parse_message($forum['description'], $parser_options);
Este codigo hara que que puedan usar MyCode, emoticones e imagenes pero no permitirá usar HTML ni filtrara las palabras malas (?). Pueden cambiar eso cambiando el 0 por 1 o viceversa.

Nota: Intente lograr esto desde un plugin, sin resultado.
Nota para developers: El archivo functions_forumlist.php, encargado de realizar la lista de foros, solo tiene 1 hook al inicio de este, por lo que no puedo reemplazar la variable $forum['description']. Acepto ideas y otras soluciones que mi intelecto desconozca (?)

Edit: Ya me había olvidado:
Esto solo procesará el MyCode en el inicio del foro. No lo procesará en otra parte (Como por ejemplo en el AdminCP).

Edit 2: Resultado:
[Imagen: ifoeqh.jpg]
Cluster   12 Feb, 2012, 1:11 am
#2
Revivo y muevo tutoriales para 1.6.x Big Grin

:)
papi   12 Feb, 2012, 9:37 am
#3
Hombre, como curiosidad esta bien. Lo que pasa que no me gusta recargar de masiado el foro con efectos que no son más que simples adornos y n prestan funcionalidad Wink
  
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.