Enlever le droit aux invités de voir "qui est actif depuis 15min"

Started by apophis292, August 17, 2016, 01:53:01 PM

Previous topic - Next topic

apophis292

Bonjour,

Je voulais savoir s'il était possible de supprimer le droit aux invités (et à des groupes de membres) de voir quel membre a été actif "depuis moins de 15min" comme indiqué en bas des forums SMF.

J'ai un forum de jeu sur navigateur, et du coup les gens peuvent voir si on est connecté au forum, et donc au jeu, ce qui peut être nuisible lors d'attaques, etc...

Merci d'avance :)

Ps: je précise que décocher la fonction "voir qui est en ligne" ne fonctionne pas, elle supprime uniquement la possibilité de voir qui est en ligne à l'instant T.

maximus23

Bonsoir,

Si tu as décoché la case Voir la page Qui est en ligne ? ils ne verront que ceci : 1 Invité, 10 Membres par exemple donc rien de plus. Maintenant si tu veux tout retirer c'est dans le fichier BoardIndex.template au niveau du code :
// "Users online" - in order of activity.

Mais je ne vois pas en quoi il y aurait des soucis pour tes jeux ou pour le forum ??

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

apophis292

En gros si tu veux, ils voient sur le forum "apophis connecté il y a moins de 15 min" (même avec l'option décochée, ils voient le pseudo, donc bizarre).

Ce qui est handicapant pour le jeu (Ogame en l'occurrence) est que du coup un gars peut voir si tu es co, et du coup ça change pour pour les attaques :)

Je veux juste retirer pour les invités et membres de groupes spéciaux

apophis292

je te joins une capture d'écran pour te monter, pour info, j'étais co en invité.

maximus23

Alors modifie le fichier BoardIndex.template pour chaque thème l'utilisant de cette façon :

Faire un backup avant modifications

Rechercher :

// "Users online" - in order of activity.
echo '
<div class="title_barIC">
<h4 class="titlebg">
<span class="ie6_header floatleft">
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who' . '">' : '', '<img class="icon" src="', $settings['images_url'], '/icons/online.gif', '" alt="', $txt['online_users'], '" />', $context['show_who'] ? '</a>' : '', '
', $txt['online_users'], '
</span>
</h4>
</div>
<p class="inline stats">
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who">' : '', comma_format($context['num_guests']), ' ', $context['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ' . comma_format($context['num_users_online']), ' ', $context['num_users_online'] == 1 ? $txt['user'] : $txt['users'];

// Handle hidden users and buddies.
$bracketList = array();
if ($context['show_buddies'])
$bracketList[] = comma_format($context['num_buddies']) . ' ' . ($context['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']);
if (!empty($context['num_spiders']))
$bracketList[] = comma_format($context['num_spiders']) . ' ' . ($context['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']);
if (!empty($context['num_users_hidden']))
$bracketList[] = comma_format($context['num_users_hidden']) . ' ' . $txt['hidden'];

if (!empty($bracketList))
echo ' (' . implode(', ', $bracketList) . ')';

echo $context['show_who'] ? '</a>' : '', '
</p>
<p class="inline smalltext">';

// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);

// Showing membergroups?
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
echo '
<br />[' . implode(']&nbsp;&nbsp;[', $context['membergroups']) . ']';
}

echo '
</p>
<p class="last smalltext">
', $txt['most_online_today'], ': <strong>', comma_format($modSettings['mostOnlineToday']), '</strong>.
', $txt['most_online_ever'], ': ', comma_format($modSettings['mostOnline']), ' (', timeformat($modSettings['mostDate']), ')
</p>';


Remplacer par ceci :

if ($context['user']['is_logged'])
{
// "Users online" - in order of activity.
echo '
<div class="title_barIC">
<h4 class="titlebg">
<span class="ie6_header floatleft">
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who' . '">' : '', '<img class="icon" src="', $settings['images_url'], '/icons/online.gif', '" alt="', $txt['online_users'], '" />', $context['show_who'] ? '</a>' : '', '
', $txt['online_users'], '
</span>
</h4>
</div>
<p class="inline stats">
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who">' : '', comma_format($context['num_guests']), ' ', $context['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ' . comma_format($context['num_users_online']), ' ', $context['num_users_online'] == 1 ? $txt['user'] : $txt['users'];

// Handle hidden users and buddies.
$bracketList = array();
if ($context['show_buddies'])
$bracketList[] = comma_format($context['num_buddies']) . ' ' . ($context['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']);
if (!empty($context['num_spiders']))
$bracketList[] = comma_format($context['num_spiders']) . ' ' . ($context['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']);
if (!empty($context['num_users_hidden']))
$bracketList[] = comma_format($context['num_users_hidden']) . ' ' . $txt['hidden'];

if (!empty($bracketList))
echo ' (' . implode(', ', $bracketList) . ')';

echo $context['show_who'] ? '</a>' : '', '
</p>
<p class="inline smalltext">';

// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);

// Showing membergroups?
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
echo '
<br />[' . implode(']&nbsp;&nbsp;[', $context['membergroups']) . ']';
}

echo '
</p>
<p class="last smalltext">
', $txt['most_online_today'], ': <strong>', comma_format($modSettings['mostOnlineToday']), '</strong>.
', $txt['most_online_ever'], ': ', comma_format($modSettings['mostOnline']), ' (', timeformat($modSettings['mostDate']), ')
</p>';

}



Là il faudra être enregistré et en ligne pour le voir :)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

apophis292

Je vais tester ça :)
Tu donnes des cours privés sinon? :D

edit: merci, ça marche du tonnerre!

apophis292

Dernière question, je vois donc que c'est cela uniquement que tu as modifié:

if ($context['user']['is_logged'])

Puis-je ajouter une autre condition comme des groupes bien spécifiques, et non tout ceux qui sont enregistrés ?

Exemple de groupes : "Diplomate" "Lieutenant"

maximus23

Tu ajoutes une permission spécifique pour tes groupes :

Faire un backup des fichiers.

Fichier Sources/ManagePermissions.php
Rechercher :

         'profile_remote_avatar' => array(false, 'profile', 'use_avatar'),

Ajouter après :
         'view_online' => array(false, 'profile', 'view_online'),


Sauver le fichier.

Fichier Themes/default/languages/Modifications.english.php
Ajouter avant la fin de fichier :
$txt['permissionname_view_online'] = 'Voir les Membres';
$txt['permissionhelp_view_online'] = 'Cette option permet de voir les Membres';

Sauver le Fichier.

Voilà tu auras une permission de plus pour chaque groupe et tu mets alors :

if (($context['user']['is_logged']) && AllowedTo('view_online'))
{
etc .....
}



:)


Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

apophis292


maximus23

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Advertisement: