Es posible agregarle al bbcode hidden de este mod, la opcion de no mostrarlo hasta postear? (aparte de estar registrado y logueado por supuesto), como lo hace el (ABD)Simple Hiden BBcode Mod (http://www.phpbb-es.com/foro/mods-desar ... 24821.html)

Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..
Gracias.
La Administración de phpBB España.
Megabyte escribió:como lo hace el (ABD)Simple Hiden BBcode Mod
Son dos comportamientos diferentes, uno se fija si ya ha postrado en ese tema y el otro la cantidad general de mensajes en el foroMegabyte escribió:y si se adaptara con el mod que adjunto...
Voy a probar que se puede hacer, en el ABBC 3 de leviatan21 nunca lo he intentando, pero si con otros MODs, tenme pacienciaMegabyte escribió:a la espera de Alorse....
¿ Cual de los 2 métodos mensajes en ese tema o mensajes generales ?Alorse escribió:Voy a probar que se puede hacer
Alorse escribió:Voy a probar que se puede hacer, en el ABBC 3 de leviatan21 nunca lo he intentando, pero si con otros MODs, tenme pacienciaMegabyte escribió:a la espera de Alorse....
Con el de mensajes en el tema, si no a posteado en dicho tema no puede ver el contenido del hiddenleviatan21 escribió:¿ Cual de los 2 métodos mensajes en ese tema o mensajes generales ?
function hidden_pass($in)
, todos los cambios los haremos en dicha función y en dicho archivo.Código: Seleccionar todo
global $user;
Código: Seleccionar todo
global $user, $topic_id, $db;
$sql = "SELECT topic_id, poster_id
FROM " . POSTS_TABLE . "
WHERE topic_id = $topic_id
AND poster_id = " . $user->data['user_id'];
$result = $db->sql_query($sql);
Código: Seleccionar todo
if ($user->data['user_id'] == ANONYMOUS || $user->data['is_bot'])
Código: Seleccionar todo
if ($user->data['user_id'] == ANONYMOUS || $user->data['is_bot'] || $db->sql_affectedrows($result) == false)
En base a tu propuesta, hice esta, a ver que opinas :Alorse escribió:Con eso debería funcionar como lo deseas, ya tu te encargaras de cambiar el mensaje que sale en los archivos de idioma.
Código: Seleccionar todo
/**
* Parsing the hidden tag - Second pass.
* @param string $in post text between [hidden] & [/hidden]
* @version 3.0.6
**/
function hidden_pass($in)
{
global $user;
// Check if the topic viewer has posted in a topic
$unhide = false;
$topic_id = request_var('t', 0);
if ($user->data['user_id'] != ANONYMOUS && $topic_id)
{
global $db;
$sql = "SELECT poster_id, topic_id
FROM " . POSTS_TABLE . "
WHERE topic_id = $topic_id
AND poster_id = " . $user->data['user_id'];
$result = $db->sql_query($sql);
$unhide = $db->sql_affectedrows($result) ? true : false;
$db->sql_freeresult($result);
}
if ($user->data['user_id'] == ANONYMOUS || $user->data['is_bot'])
{
return str_replace(array('{HIDDEN_ON}', '{HIDDEN_TEXT}'), array($user->lang['HIDDEN_ON'], $user->lang['HIDDEN_EXPLAIN']), $this->bbcode_tpl('hidden'));
}
else
{
if (!$unhide)
{
return str_replace(array('{HIDDEN_ON}', '{HIDDEN_TEXT}'), array($user->lang['HIDDEN_ON'], $user->lang['HIDDEN_NO_POSTS_EXPLAIN']), $this->bbcode_tpl('hidden'));
}
$in = make_clickable(trim(preg_replace('#<!-- ([lmwe]) --><a class=(.*?) href=(.*?)>(.*?)</a><!-- ([lmwe]) -->#si','$3', $in)));
$in = str_replace(array("\r\n", '\"', '\'', '(', ')'), array("\n", '"', ''', '(', ')'), trim($in)) ;
return str_replace(array('{HIDDEN_OFF}', '{UNHIDDEN_TEXT}'), array($user->lang['HIDDEN_OFF'], $in), $this->bbcode_tpl('unhidden'));
}
}
Código: Seleccionar todo
'HIDDEN_EXPLAIN' => 'La Administración del Sitio requiere que esté registrado y se haya identificado para ver este mensaje.',
Código: Seleccionar todo
'HIDDEN_NO_POSTS_EXPLAIN' => 'La Administración del Sitio requiere que al menos hayas respondido e este tema para ver este mensaje.',
ese error es por el portal, en el portal no hay variable $topic_id, prueba mi versionMegabyte escribió:Alorse: me dió un error..
global $user, $topic_id, $db;
lo agrego al final????leviatan21 escribió:En base a tu propuesta, hice esta, a ver que opinas :Alorse escribió:Con eso debería funcionar como lo deseas, ya tu te encargaras de cambiar el mensaje que sale en los archivos de idioma.Código: Seleccionar todo
/** * Parsing the hidden tag - Second pass. * @param string $in post text between [hidden] & [/hidden] * @version 3.0.6 **/ function hidden_pass($in) { global $user; // Check if the topic viewer has posted in a topic $unhide = false; $topic_id = request_var('t', 0); if ($user->data['user_id'] != ANONYMOUS && $topic_id) { global $db; $sql = "SELECT poster_id, topic_id FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id AND poster_id = " . $user->data['user_id']; $result = $db->sql_query($sql); $unhide = $db->sql_affectedrows($result) ? true : false; $db->sql_freeresult($result); } if ($user->data['user_id'] == ANONYMOUS || $user->data['is_bot']) { return str_replace(array('{HIDDEN_ON}', '{HIDDEN_TEXT}'), array($user->lang['HIDDEN_ON'], $user->lang['HIDDEN_EXPLAIN']), $this->bbcode_tpl('hidden')); } else { if (!$unhide) { return str_replace(array('{HIDDEN_ON}', '{HIDDEN_TEXT}'), array($user->lang['HIDDEN_ON'], $user->lang['HIDDEN_NO_POSTS_EXPLAIN']), $this->bbcode_tpl('hidden')); } $in = make_clickable(trim(preg_replace('#<!-- ([lmwe]) --><a class=(.*?) href=(.*?)>(.*?)</a><!-- ([lmwe]) -->#si','$3', $in))); $in = str_replace(array("\r\n", '\"', '\'', '(', ')'), array("\n", '"', ''', '(', ')'), trim($in)) ; return str_replace(array('{HIDDEN_OFF}', '{UNHIDDEN_TEXT}'), array($user->lang['HIDDEN_OFF'], $in), $this->bbcode_tpl('unhidden')); } }