Cita:
En primer lugar te voy a explicar un poco en que consiste el script. Lo primero que hacemos es, como siempre, iniciar sesión phpBB con el fin de poder acceder a los datos de sesión del usuario conectado. En este caso simplemente vamos a usar $userdata['session_logged_in'] que te devuelve un booleano que te informa si el usuario conectado es un nick(por decirlo sin protocolos) y tb usaremos $userdata['user_id'] para 'preguntar' mediante un query SQL por los grupos a los que el usuario pertenece.
Iniciado por rockero666
hola mi duda es
komo puedo crear una seccion en mi web donde solo puedan entrar ciertos grupos del foro?
komo puedo crear una seccion en mi web donde solo puedan entrar ciertos grupos del foro?
Bueno, lo que hacemos básicamente es introducir en un array ($acceso_a_grupos) los grupos a los que permitiremos entrar si el usuario pertenece, luego almacenamos en otro array los grupos a los que el usuario pertenece. Posteriormente recorremos el array de los grupos a los que pertence el usuario y si hay alguna coincidencia con los grupos a los que se permite entrar daremos paso.
Poco más o menos es eso. Si sabes php lo entenderás enseguida :)
Código PHP:
<?
$volver="/index1.php";
define('IN_PHPBB', true);
$phpbb_root_path = ''; //PATH DEL FORO RESPECTO DEL SCRIPT
if (!function_exists("init_userprefs"))
{
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
$cookiename = $board_config['cookie_name'];
$cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure'];
}
$acceso_a_grupos=array("Moderadores","Administradores");
if ( !(isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data'])) )
{
output_add_rewrite_var('sid', $userdata['session_id']);
}
if ( $userdata['session_logged_in'] )
{
$sql = mysql_query("SELECT g.group_id, g.group_name, g.group_type, ug.user_pending
FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
WHERE ug.user_id = " . $userdata['user_id'] . "
AND ug.group_id = g.group_id
AND g.group_single_user <> " . TRUE . "
ORDER BY g.group_name, ug.user_id");
while($row=mysql_fetch_array($sql))
$membresia_usuario[]=$row['group_name'];
}
$acceso=FALSE;
if (is_array($membresia_usuario))
{
foreach($membresia_usuario as $grupo)
if (in_array($grupo,$acceso_a_grupos))
$acceso=TRUE;
}
if ($acceso)
{
// Aqui ya pones lo que se mostraría si el usuario es de alguno de los grupos definidos en el array $acceso_a_grupos
print "acceso permitido";
}
else
{
print "acceso denegado";
}
?>
Código PHP:
$acceso_a_grupos=array("Moderadores","Administradores");
1.- Dar acceso a los usuarios que pertenecen al grupo programadores
Código PHP:
$acceso_a_grupos=array("programadores");
Código PHP:
$acceso_a_grupos=array("programadores","diseñadores");
Salu2 ;)