(15 Dec, 2012, 9:06 pm)Steeep escribió: Bastante bien para ser el primer plugin, lo si me parecería mejor si fuera con expresiones regulares, ya que podrías detectar [YO] - [Yo] - [yO] y el efecto sería el mismo, en cambio con str_replace, solo detecta y reemplaza [yo] y lo otro es que puedes y deberías hacer el llamado a la hook parse_message un sola vez ya que mensaje es una solo y los reemplazos puedes hacerlos todos en una sola función.
Todo esto es a modo de consejo, no tomes nada a mal
(15 Dec, 2012, 9:07 pm)bender escribió: mmm ya veo lo acabo de probar... pero en [yo] no deberia ir fijo el nick del user que puso el tag y solo [tu] deberia ser variable?
me refiero a que puse [yo][tu][foro] ... si lo veo como admin sale "admin" "admin" "nombre del foro" y si lo veo como test sale "test" "test" "nombre del foro", entonces [yo] y [tu] cumplen la misma funcion ? [yo] deberia ser fijo y [tu] variable dependiendo quien lea el tema :B
Saludos y buen trabajo de todas formas y animo para que sigas mejorandolo!
(15 Dec, 2012, 9:14 pm)Steeep escribió: Busca expresiones regulares con PHP, te saldrán resultados de inmediato.
Pero son 3 llamados distintos, para que quieres 3 si puedes hacer uno solo.
Que errores te daba al hacerlo en una sola función?
<?php
$plugins->add_hook('postbit', 'foo');
function foo(&$post)
{
global $mybb;
$code = array(
'[tu]' => (isset($mybb->user['username']) ? htmlspecialchars_uni($mybb->user['username']) : 'Guest'),
'[foro]' => $mybb->settings['bbname'],
'[yo]' => $post['username']
);
$post['message'] = str_replace(array_keys($code), array_values($code), $post['message']);
}