Saludos, bueno por ahí estoy intentando crear un pagina dentro del foro en donde muestre a los usuarios que esten subscritos a un grupo VIP ciertas cosas para ellos y los que no sean pues no se muestre.
¿cómo sería tal función en PHP?
Si lo que quieres hacer es sólo mostrar cierto grupo esto podría servirte
Si es en una página a parte tienes que incluir el SSI.php
si es como esta:
http://xxx.xxxxxx.xxx/index.php?action=ciertogrupo
entonces...
La lógica:
function group_spcf(){
global $smcFunc, $context;
loadTemplate('grupo');
//aquí especificas el id del grupo que quieras mostrar
//pondré de ejemplo el grupo con id 1 que es el grupo de administrador
$var_group = 1;
$request_group = $smcFunc['db_query']('', '
SELECT id_member, id_group
FROM {db_prefix}members
WHERE id_group ={int:id}',
array(
'id' => $var_group,
)
);
$user = array();
while ($row = $smcFunc['db_fetch_assoc']($request_group))
{
$user[] = array(
'id'=>$row['id_member'],
);
}
$smcFunc['db_free_result']($request_group);
$context['p_request_user'] = $user;
}
El template(grupo.template.php)
function template_main(){
global $context, $memberContext;
foreach($context['p_request_user'] as $data){
$memCommID = $data['id'];
loadMemberData($memCommID);
loadMemberContext($memCommID);
echo ' El usuario '.$memberContext[$memCommID]['link'].' pertenece al grupo '.$memberContext[$memCommID]['group'].'';
}
}
Si es eso o me equivoqué? xd
Saludos, bueno pues encontre este code, solo que no lo he probado, funcionará para la ultima versión?
echo 'Welcome <span>', $context['user']['name'], '</span><br><br>';
if($context['user']['is_guest'])
{
echo 'GUEST MESSAGE HERE!';
}
else
{
//this is the code that is not working
//members are automatically put in group 9 when the subscribe.
//group 9 is an additional group, but this also didnt work when i tried group 1
if (in_array(9, $user_info['groups']))
{
echo 'SUBSCRIBED MESSAGE HERE!';
}
else
{
echo 'NOT SUBSCRIBED MESSAGE HERE!';
}
}
Ese código solo te funcionaria si el usuario tiene el grupo vip en su grupo principal, si por X causa el usuario es vip pero lo tiene como grupo secundario ya no funcionaria.
También aclarar que debes globalizar las variables $context y $user_info
tambien puedes usar esto
$group_id
espero q te sirva de algo
<?php
require_once('SSI.php');
$group_id = 9;
$users = ssi_fetchGroupMembers($group_id, 'array');
echo '
<center/><style type="text/css">
.xfrdewfsr img {
width: 50px;
height: 50px;
}
</style>
<table border="0" class="ssi_table">';
foreach($users as $user)
{
echo '
<tr>
<td class="xfrdewfsr">
', $user['avatar']['image'], '<br />', '<center />', '', $user['link'], '
</td>
</tr>';
}
echo '
</table>';
?>
Lo que estas haciendo ahí dhayzon es mostrar información del grupo pero de esa forma no sabes si el que la esta viendo esta en ese grupo o no, el usuario quiere mostrar "información" (no sabemos cual) a solo un grupo de usuario.