Simple Machines Community Forum

SMF Support => Language Specific Support => Español (Spanish) => Aiheen aloitti: lolicute - heinäkuu 09, 2013, 01:34:30 AP

Otsikko: Función sobre usuarios VIP
Kirjoitti: lolicute - heinäkuu 09, 2013, 01:34:30 AP
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?
Otsikko: Re: Función sobre usuarios VIP
Kirjoitti: MorderBR - heinäkuu 09, 2013, 02:54:38 AP
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
Otsikko: Re: Función sobre usuarios VIP
Kirjoitti: lolicute - heinäkuu 09, 2013, 04:41:44 AP
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!';
    }
}


Otsikko: Re: Función sobre usuarios VIP
Kirjoitti: 4Kstore - heinäkuu 09, 2013, 10:04:27 AP
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
Otsikko: Re: Función sobre usuarios VIP
Kirjoitti: Dhayzon - heinäkuu 09, 2013, 11:14:41 AP
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>'
;
?>
Otsikko: Re: Función sobre usuarios VIP
Kirjoitti: 4Kstore - heinäkuu 09, 2013, 11:21:49 AP
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.