Simple Machines Community Forum

SMF Support => Language Specific Support => Français (French) => Aiheen aloitti: Pяηѕѕ LF - joulukuu 05, 2008, 09:34:09 AP

Otsikko: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 05, 2008, 09:34:09 AP
Salut,

Moi j'utilise le mod custom actions pour créer des nouvelles pages = action.

j'ai une page action=test

J'aimerais inclure les utilisateurs qui sont actuellement sur cette page.

les utilisateurs online sur cette page.

Quelqu'un qui s'y connait un peu pourrait m'aider pour que faire ça ?

une connaissance ma donné ce code mais sans plus quoi. je sais pas si ça pourrait servir. J'ajoute ce code ds le custom actions mais ça le fait pas ni en php ni en html.

/ Show just numbers...?

if ($settings['display_who_viewing'] == 1)

echo count($context['view_members']), ' ', count($context['view_members']) == 1 ? $txt['who_member'] : $txt[19];

// Or show the actual people viewing the topic?

else

echo empty($context['view_members_list']) ? '0 ' . $txt[19] : implode(', ', $context['view_members_list']) . ((empty($context['view_num_hidden']) || $context['can_moderate_forum']) ? '' : ' (+ ' . $context['view_num_hidden'] . ' ' . $txt['hidden'] . ')');



// Now show how many guests are here too.

echo $txt['who_and'], $context['view_num_guests'], ' ', $context['view_num_guests'] == 1 ? $txt['guest'] : $txt['guests'], $txt['who_viewing_topic'], '

</td>

</tr>';



Quelqu'un qui s'y connait un peu pourrait m'aider pour que faire ça ?
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Eleglin - joulukuu 05, 2008, 01:16:55 IP
Euh ce n'est pas déjà sur SMF par défaut ?

http://www.simplemachines.org/community/index.php?action=who
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 05, 2008, 02:31:21 IP
Lainaus käyttäjältä: Eleglin - joulukuu 05, 2008, 01:16:55 IP
Euh ce n'est pas déjà sur SMF par défaut ?

http://www.simplemachines.org/community/index.php?action=who

en faite le code que j'ai ajouter il ne sert peut etre à rien on ma donner ça comme ca mais je pense qu'il ne sert à rien.

Moi j'aimerais simplement montrer les utilisateurs se trouvant ds la page action=test que j'ai créer.

par ex.

Eleglin, Pяєηѕєѕ 丂√丂, Arthur, etc.. visualise la page.
 
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: GravuTrad - joulukuu 05, 2008, 04:07:20 IP
Ce code te permet d'afficher soit le nombre d'utilisateurs parcourant la page, soit le le nom des users lui même, mais aussi le nombre de visiteurs.

Maintenant il faut voir pour l'intégrer dans le mod custom actions...
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 05, 2008, 05:04:48 IP
Lainaus käyttäjältä: GravuTrad - joulukuu 05, 2008, 04:07:20 IP
Ce code te permet d'afficher soit le nombre d'utilisateurs parcourant la page, soit le le nom des users lui même, mais aussi le nombre de visiteurs.

Maintenant il faut voir pour l'intégrer dans le mod custom actions...

Et tu penses que c'est faisable ?  :-\

J'essaye en jouant avec ce code mais ça donne rien  :-[

tu dois peut être avoir une ptite idée nan toi ? lol
 




wdm2005 m'a donné un code je pense que ça peut le faire j'ai pas encore testé parce que je suis pas chez moi mais je suis impatiente de le tester :)
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: DeathSign - joulukuu 06, 2008, 12:47:07 IP
Jte fais ça j'ai juste besoin de savoir le nom de l'action (action=cenomla).

EDIT: LoL pas vu ton ptit edit mais je l'ai fait de mon côté et ça marche, jvais l'inclure dans mes pages ^^. Si celui de wdm2005 est bon c'est pas plus mal ;)
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 08, 2008, 02:06:50 IP
Lainaus käyttäjältä: DeathSign - joulukuu 06, 2008, 12:47:07 IP
Jte fais ça j'ai juste besoin de savoir le nom de l'action (action=cenomla).

EDIT: LoL pas vu ton ptit edit mais je l'ai fait de mon côté et ça marche, jvais l'inclure dans mes pages ^^. Si celui de wdm2005 est bon c'est pas plus mal ;)


Salut,

c'est possible que tu partages ce que tu as fait j'aimerais tester avec le tien pour voir parce que celui de wdm2005 le fait mais sans plus c'est comme ci il le faisait pas  :P.

j'essaye ça sur un page action=test

le code de wdm2005 il est sur le forum arcade tu peux y jetter un coup d'oeil si tu veux.

Donc, ici j'attend ta méthode à toi elle est peut être meilleur lol sans doute.  :D
 
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: DeathSign - joulukuu 09, 2008, 12:42:50 IP
Ok je suis allé voir, et j'ai une solution plus light (une seule requête) largement inspiré du code que tu as commencé par citer.

Ce code pourrait se scinder en deux, la première partie dans les fichiers du répertoire "Sources" et l'autre dans "template" car il s'agit de l'affichage. Je dis ça car je code moi-même mes pages directement dans les sources. Tout mettre à la suite fonctionne bien sûr tout aussi bien.

// DeathSign - Affichage des membres (+ invités et nombre d'utilisateur caché éventuel) présents sur la page ?action=$dsaction
$dsaction = 'tchat';

// Partie "Sources"
$context['ds_members_list'] = array();
$context['ds_num_members'] = 0;
$context['ds_num_hidden'] = 0;

$dslenght = strlen($dsaction);

$request = db_query("
SELECT
lo.ID_MEMBER, lo.logTime, mem.realName, mem.memberName, mem.showOnline,
mg.onlineColor, mg.ID_GROUP
FROM {$db_prefix}log_online AS lo
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lo.ID_MEMBER)
LEFT JOIN {$db_prefix}membergroups AS mg ON (mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))
WHERE INSTR(lo.url, 's:6:\"action\";s:$dslenght:\"$dsaction\";') OR lo.session = '" . ($user_info['is_guest'] ? 'ip' . $user_info['ip'] : session_id()) . "'", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request))
{
if (empty($row['ID_MEMBER']))
continue;

if (!empty($row['onlineColor']))
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" style="color: ' . $row['onlineColor'] . ';">' . $row['realName'] . '</a>';
else
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>';

if (!empty($row['showOnline']) || allowedTo('moderate_forum'))
$context['ds_members_list'][$row['logTime'] . $row['memberName']] = empty($row['showOnline']) ? '<i>' . $link . '</i>' : $link;

$context['ds_num_members']++;

if (empty($row['showOnline']))
$context['ds_num_hidden']++;
}
$context['ds_num_guests'] = mysql_num_rows($request) - $context['ds_num_members'];
mysql_free_result($request);

krsort($context['ds_members_list']);

// Partie "template"
echo '<p>', empty($context['ds_members_list']) ? '0 membre' : implode(', ', $context['ds_members_list']) . (empty($context['ds_num_hidden']) ? '' : ' (+ ' . $context['ds_num_hidden'] . ' cach&eacute;' . ')'), ' et ', $context['ds_num_guests'], ' ', $context['ds_num_guests'] <= 1 ? 'Invit&eacute;' : 'Invit&eacute;s', ' sur cette page</p>';


Si tu changes ?page=test, il faudra le changer dans la variable $dsaction.
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 11, 2008, 05:07:50 IP
Merci DeathSign,

Ta solution est beaucoup mieux, Mais je n'y arrive pas.  :-[

En faite je vais dans custom actions je crée une nouvelle page en php et dans la partie code je copie le code que tu ma donné entier en changer 'tchat' par 'test'. Ca le fait pas.

J'ai ce message.

Database Error

Table 'prnss.log_online' doesn't exist
File: /homez.13/prnss/www/forum/Sources/Load.php(1768) : eval()'d code(9) : eval()'d code
Line: 18

Note: It appears that your database may require an upgrade. Your forum's files are currently at version SMF 1.1.7, while your database is at version 1.1.4. The above error might possibly go away if you execute the latest version of upgrade.php. 

ici tout à l'air en orde .  :-\



Je dois faire quoi ? :(
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: DeathSign - joulukuu 12, 2008, 02:51:20 IP
Hmm ok je te rassure rien à voir avec ta version de SMF.

Effectivement j'ai oublié de rechanger l'action en test lol. Sinon les variables que le script a besoin sont :
$context, $scripturl, $user_info, $db_prefix

Je vais voir ton mod CustomAction de plus près...

EDIT :
Dans ton journal d'erreur, as-tu d'autres messages ?
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 13, 2008, 12:50:30 IP
"Effectivement j'ai oublié de rechanger l'action en test lol."

Je n'ai pas dit que tu avais oublié  :P de changer juste que moi je l'ai changer et malgré ça ça donnait l'erreur. lol

les variables je sais pas comment les utliser  :-\ quand je rajoute cette ligne avec le code que tu as donné en premier ça le fait pas je sais pas exactement ou il faut l'insérer tu sais être un peu plus claire stp ?  :-[

$context, $scripturl, $user_info, $db_prefix

Sinon pas d'autre message erreurs..

lol 'ton mod'.. le mod que j'utilise c'est celui ca http://custom.simplemachines.org/mods/index.php?mod=331
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: DeathSign - joulukuu 15, 2008, 12:35:01 IP
Hello,

J'ai installé ton mod en local et on n'a pas d'accès aux variables $scripturl, $user_info, $db_prefix

Mon script ne fonctionne donc pas. Mais pour permettre à mon code de les avoir, il suffit de modifier le fichier CustomAction.template.php situé dans Themes\default

Changer la ligne 7 (qui commence par global...) par :
global $context, $scripturl, $user_info, $db_prefix;

Testé ça fonctionne chez moi.

PS: Tu devais avoir des Undefined variable dans ton journal d'erreur avant cette modif, c'est pas grave ^^
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 16, 2008, 05:33:20 IP
Salut DeathSign,

Pour le journal d'erreur, je pense qu'il y a une option qui soit tu enregistre les messages d'err. soit pas. Moi je pense que je ne les enregistr. pas donc c'est toujours nickel meme qd il y en a  :P.

Sinon après avoir effectué la modif. ds le CustomAction.template.php le code fonctionne  :) mais ça le fait pas je sais pas.

Par exemple. Je suis sur la page J'ai

"Admin et  0 Invité sur cette page"

meme quand il ya plusieurs personnes sur cette page j'ai chaque fois le meme message "Admin et  0 Invité sur cette page". Et les autres ont eux sur leur page "xxxxx et  0 Invité sur cette page"

Chacun à sur la page son nick et 0 invité.

je fais renouvelle la page et eux aussi mais le message en dessous ne change pas  :-\. Tu as une idée par rapport à ça ?
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: DeathSign - joulukuu 16, 2008, 06:49:18 IP
L'action spécifiée dans la variable $dsaction correspond-elle bien à celle de la page ?

Moi pour vérifier que ça marche bien, j'ouvre la page dans mon navigateur puis j'ouvre un second navigateur et je vais sur cette même page.
Otsikko: Re: Ajouter Les Utilisateurs en Ligne Sur une Page Action=.. avec Custom Actions
Kirjoitti: Pяηѕѕ LF - joulukuu 20, 2008, 06:31:28 IP
Oui j'ai revérifié plusieurs fois defois ça le fait defois pas c bizarre :) mais bon c'est déjà pas mal. Te remercie pour tout l'ensemble de ton aide à ce sujet. +rep hehe