Uutiset:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu
Advertisement:

Función sobre usuarios VIP

Aloittaja lolicute, heinäkuu 09, 2013, 01:34:30 AP

« edellinen - seuraava »

lolicute

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?

MorderBR

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

lolicute

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!';
    }
}



4Kstore

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

¡¡NEW MOD: Sparkles User Names!!!

Dhayzon

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>'
;
?>

4Kstore

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.

¡¡NEW MOD: Sparkles User Names!!!

Advertisement: