Pues lo que necesito es hacer un bbcode/plugin que si un usuario pone un bbcode en el post se genere el número aliatorio y salga en el post.
Que el número se guarde en un campo de la base de datos correpondiente al pid del post.
Que no cambie, una vez enviado ya no cambia aunque se edite.
Esto es lo que yo tengo, lo que me falta es lo de la base de datos, creo.
<?php
// Comprobamos si la constante IN_MYBB existe. Si no existe, paramos la ejecución del archivo mostrando un mensaje.
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("parse_message", "mydados");
function mydados_info()
{
return array(
"name" => "MyCode: MyDados", // Nombre del plugin.
"description" => "Permite realizar una tirada de dados", // Descripción del plugin.
"website" => "http://www.foro.skylium.com/", // Sitio web del plugin.
"author" => "<b>Juliens</b></a> para <a href=\"http://www.foro.skylium.com\"><b>Skylium Network</b></a>", // Autor del plugin.
"authorsite" => "http://www.juliohurtado.com/", // Sitio web del autor.
"version" => "1", // Versión del plugin.
"guid" => "", // ID del plugin de MyBB.
"compatibility" => "14*,16*", // Compatibilidad del plugin.
);
}
function mydados_activate()
{
}
function mydados_deactivate()
{
}
function mydados($mensaje)
{
$patron='/\[dado=([0-9]+)\]/is';
if(preg_match_all($patron, $mensaje,$coincidencias,PREG_SET_ORDER))
{
foreach ($coincidencias as $valor) {
//if campo columna de la fila pid#3333 está vacía hacer:
$numrand=mt_rand(1,$valor[1]);
//Grabar eso en una fila de la base de datos
//sino hacer_
$reem='Dado Lanzado: '.$numrand; //en lugar de tomar el
$mensaje= preg_replace($patron,$reem,$mensaje);
}
}
return $mensaje;
}
?>
Me olvidaba, el plugin debería tomar solo el primer bbcode e ignora si es que hay otro