Página 1 de 1

Mostrar parte de un mensaje a invitados

Publicado: 15 Oct 2006, 02:43
por Zuker
Mediante esta modificacion, el contenido del tema sera reducido para los invitados y solo se mostrara una parte.
Y aparecerá un mensaje que les dira que se registren o se conecten con su usuario.

Se puede establecer la cantidad de caracteres a mostrar y tambien que foros se van a excluir.
Tambien se puede establecer la regla para algun tema en especifico.

Abrir viewtopic.php

Buscar

Código: Seleccionar todo

$user_sig_bbcode_uid = $postrow[$i]['user_sig_bbcode_uid'];
Agregar, luego

Código: Seleccionar todo

if ((($forum_id == 1) or ($forum_id == 6)))
{
	$lettercount = (strlen($message));
	if (($userdata['username'] == 'Anonymous') && ($lettercount > 60))
	{
		$path = __FILE__;
		$file = basename ($path);
		if ($file != 'portal.php')//needed for portal support, otherwise portal layout will breakout when clips are played. 
		{
				//first check if message has quote in it or a ot, quote box breaks forums layout.
				$message = strtolower($message);
				$message = str_replace("[quote", "[ quote", $message);
				$message = str_replace("[ot", "[ ot", $message);
				$message = substr(($message), 0, 60).'... <b><a href="http://'.$board_config['server_name'].$board_config['script_path'].'profile.php?mode=register">'.'Regístrese'.'</a> '.'o'.' <a href="http://'.$board_config['server_name'].$board_config['script_path'].'login.php?redirect=viewtopic.php?t='.$postrow[$i]['topic_id'].'">'.'Conéctese'.'</a> '.'si desea ver el contenido total del tema'.'</b>';
		}
	}
}
Este codigo es un ejemplo, y esta puesto para que reduzca el mensaje (solo muestre 60 caracteres) a invitados en todos los temas de los foros con id 1 y 6.

Para modificar la cantidad de caracteres a motrar, simplemente hay que modificar los dos "60" que aparecen en el codigo, y poner la cantidad que se desea

Si se desea añadir mas restrincciones a otros foros, se tiene que agregar

Código: Seleccionar todo

 or ($forum_id == id)
(el id ese es el que tiene asignado el foro)

luego de

Código: Seleccionar todo

($forum_id == 6)
Y si se desea agregar la restrinccion para un tema en particular, sin importar en que foro se encuentre,

hay que agregar

Código: Seleccionar todo

 && ($topic_id != 31)

(donde 31 es el id del tema que queda restringido)

luego de

Código: Seleccionar todo

($forum_id == 6))
Y para agregar mas de un tema, hay que añadir nuevamente

Código: Seleccionar todo

 && ($topic_id != id)
Luego de

Código: Seleccionar todo

 && ($topic_id != 31)
Espero haber sido claro, cualquier consulta, en un tema nuevo con los datos de soporte ;)
Saludos