Thread subject: pHpFusion Nederlands (BE|NL) » Ondersteuning, Themas, Infusies, Modificaties en Installatie :: last seen

Posted by barman-productions on 17 mei 2013, 14:26
#1

Hallo
Ik wil volgend op men website:

Een kader,

Anoniem
Aantal
Leden
Naam. tijd
Moderators
naam tijd
Operators
naam. tijd
Beheer
naam. tijd

Hoe doe ik dat?

1 verduidelijking: moderator = medewerker website
operator = medewerker chat

Alvast bedankt

Edited by barman-productions on 17 mei 2013, 14:43

Posted by Tommy on 27 mei 2013, 17:55
#2

Hmmmm dan moet je een heel paneel opnieuw coderen.
Het is namelijk zo dat een paneel met ingelogde leden wel bestaat, maar deze is niet in de vorm die jij zoekt.

Als je met operators en beheerders wil werken, moet je namelijk al beginnen met de beheerders als beheerder op je site toe te voegen, en je operators van de chat als een gebruikers groep aan te maken, dit kan namelijk niet als beheerder op de site ook nog worden weergegeven, je hebt enkel beheerders en super beheerders (admins), de rest moet je doen met gebruikersgroepen.

Dat wil zeggen dat je een paneel zo aan moet passen dat je leden apart staan van de leden in de groep van operators, en dat je beheerders ook nog eens los staan van de rest.
Kortom, het is te doen, maar je moet dan een compleet nieuw paneel maken, of enorm veel aanpassingen doen op bestaande panelen, dat er veel werk bij komt kijken.

Posted by barman-productions on 27 mei 2013, 22:50
#3

moderator = beheerder dan of zie ik dat mis?

Dat paneel wordt automatisch opgemaakt als ik de groupen heb aangemaakt?

Posted by Tommy on 27 mei 2013, 23:24
#4

Quote

chattersplace schreef:

moderator = beheerder dan of zie ik dat mis?

Dat paneel wordt automatisch opgemaakt als ik de groupen heb aangemaakt?


Admin is super beheerder
moderator is inderdaad beheerder.

Maar het paneel past niet automatisch aan als je de gebruikersgroepen aanmaakt.

Het is namelijk zo dat je enkel voor 1 gebruikersgroep een aparte weergave op je online paneel wil hebben, chatoperators dus, dus moet het paneel zo gecodeerd worden dat de overige groepen niet als aparte weergave online komen staan.

Standaard worden gebruikersgroepen niet weergegeven in het online paneel. Enkel admins en beheerders zie je door middel van bijvoorbeeld kleurverschil door het nick mod paneel, de rest blijft dan weer dat je speciaal moet aanpassen.

Dus het paneel moet echt custom made worden gemaakt op jou wensen, omdat je een niet standaard paneel vraag hebt.

Posted by barman-productions on 27 mei 2013, 23:28
#5

Heb ik een speciale infusion hiervoor nodig of kan ik dat met de gewone fusion aanmaken?

Posted by Tommy on 27 mei 2013, 23:38
#6

Quote

chattersplace schreef:

Heb ik een speciale infusion hiervoor nodig of kan ik dat met de gewone fusion aanmaken?


Een bestaande infusion hierop aanpassen is het makkelijkste.
Er zijn genoeg panelen hiervoor te gebruiken, denk aan het paneel hier op de site.

Enkel zou je dan dus een onderscheidt in je panelen moeten maken door middel van database koppelingen waardoor je dus online leden in verschillende groepen kan weergeven.

Het moet te doen zijn, maar een bestaande paneel aanpassen is dan het makkelijkste, en nog zal dat wel het nodige werk mee brengen, maar dan ben je altijd makkelijker geholpen dan met een compleet nieuw paneel, want dan moet je echt alles opnieuw doen, en waarom zou je dat doen als een bestaand paneel aanpassen ook kan natuurlijk.

Posted by barman-productions on 27 mei 2013, 23:47
#7

Quote

Tommy schreef:

Quote

chattersplace schreef:

Heb ik een speciale infusion hiervoor nodig of kan ik dat met de gewone fusion aanmaken?


Een bestaande infusion hierop aanpassen is het makkelijkste.
Er zijn genoeg panelen hiervoor te gebruiken, denk aan het paneel hier op de site.

Enkel zou je dan dus een onderscheidt in je panelen moeten maken door middel van database koppelingen waardoor je dus online leden in verschillende groepen kan weergeven.

Het moet te doen zijn, maar een bestaande paneel aanpassen is dan het makkelijkste, en nog zal dat wel het nodige werk mee brengen, maar dan ben je altijd makkelijker geholpen dan met een compleet nieuw paneel, want dan moet je echt alles opnieuw doen, en waarom zou je dat doen als een bestaand paneel aanpassen ook kan natuurlijk.


Hoe heet het paneel van laatst geziene leden ?

Posted by Tommy on 29 mei 2013, 21:10
#8

Euhm dat durf ik zo niet te zeggen.

Denk dat Wanaboo je daar het beste mee kan helpen, die weet welke infusions op deze site draaien.

Ik heb wel een soortgelijk paneel op mijn site, maar die is niet hetzelfde als hier.

Even aan Wanabo vragen, die kan je daar ongetwijfeld mee helpen.


Posted by Wanabo on 29 mei 2013, 21:30
#9

Het paneel dat hier rechts in het zijpaneel draait komt hier vandaan.
http://php-fusion.org/forum/viewthread.php?thread_id=13&pid=18#post_18

Posted by Tommy on 10 juni 2013, 19:00
#10

Dit kom ik tegen op een andere nss site van PHP Fusion, wellicht heb je er wat aan.

Hier staan laatst geziene leden verdeeld over admins en gewone users.
Het is niet geheel wat je zoekt, maar op dit moment kan ik niks beter vinden.

Je hebt bij PHP Fusion standaard een last online user panel, pas deze aan naar deze code:

Code


/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2009 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: online_users_panel.php
| Author: Nick Jones (Digitanium)
| Edited for PHP-Fusion USA by skpacman
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
 
if (dbcount("(online_user)", DB_ONLINE, (iMEMBER ? "online_user='".$userdata['user_id']."'" : "online_user='0' AND online_ip='".USER_IP."'")) == 1) {
   $result = dbquery(
      "UPDATE ".DB_ONLINE." SET online_lastactive='".time()."', online_ip='".USER_IP."'
      WHERE ".(iMEMBER ? "online_user='".$userdata['user_id']."'" : "online_user='0' AND online_ip='".USER_IP."'"));
} else {
   $result = dbquery(
      "INSERT INTO ".DB_ONLINE." (online_user, online_ip, online_ip_type, online_lastactive)
      VALUES ('".(iMEMBER ? $userdata['user_id'] : 0)."', '".USER_IP."', '".USER_IP_TYPE."', '".time()."')");
}
$result = dbquery("DELETE FROM ".DB_ONLINE." WHERE online_lastactive<".(time()-60)."");
 
openside($locale['global_010']);
$result = dbquery(
   "SELECT ton.online_user, tu.user_id, tu.user_name, tu.user_status, tu.user_level FROM ".DB_ONLINE." ton
   LEFT JOIN ".DB_USERS." tu ON ton.online_user=tu.user_id"
);
$guests = 0;
//$members = array();
//$admins = array();
while ($data = dbarray($result)) {
   if ($data['online_user'] == "0") {
      $guests++;
   }
   /*else {
      if ($data['user_level'] < 102){
         $members[] = array($data['user_id'], $data['user_name'], $data['user_status']);
      }
      if ($data['user_level'] > 101){
         $admins[] = array($data['user_id'], $data['user_name'], $data['user_status']);
      }
   }*/
}
echo THEME_BULLET." ".$locale['global_011'].": ".$guests."
\n";
/*echo THEME_BULLET." Admin Online: ".count($admins)."
\n";
if (count($admins)) {
   $si = 1;
   while (list($key, $admin) = each($admins)) {
      echo "".profile_link($admin[0], $admin[1], $admin[2])."";
      if ($si != count($admins)) { echo ",\n"; } else { echo "
\n"; }
      $si++;
   }
}
echo "
".THEME_BULLET." ".$locale['global_012'].": ".count($members)."
\n";
if (count($members)) {
   $i = 1;
   while (list($key, $member) = each($members)) {
      echo "".profile_link($member[0], $member[1], $member[2])."";
      if ($i != count($members)) { echo ",\n"; } else { echo "
\n"; }
      $i++;
   }
}*/
echo "\n".THEME_BULLET." ".$locale['global_014'].": ".number_format(dbcount("(user_id)", DB_USERS, "user_status<='1'"))."
\n";
if (iADMIN && checkrights("M") && $settings['admin_activation'] == "1") {
   echo "
".THEME_BULLET." ".$locale['global_015']."";
   echo ": ".dbcount("(user_id)", DB_USERS, "user_status='2'")."
\n";
}
$data = dbarray(dbquery("SELECT user_id, user_name, user_status FROM ".DB_USERS." WHERE user_status='0' ORDER BY user_joined DESC LIMIT 0,1"));
echo "".THEME_BULLET." ".$locale['global_016'].": ".profile_link($data['user_id'], $data['user_name'], $data['user_status'])."\n";
 
//LAST SEEN USERS PANEL ADDITION BY skpacman
 
/*---------------------------------------------------+
| PHP-Fusion 7 Content Management System
+----------------------------------------------------+
| Copyright a33; 2002 - 2011 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Filename: last_seen_users_panel.php
| Author: PHP-Fusion Addons Team
| Edited for PHP-Fusion USA by skpacman
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
 
$locale['lsup000'] = "Laatst geziene users";
$locale['lsup001'] = "Online";
$locale['lsup002'] = "Afwezig";
$locale['lsup003'] = "week";
$locale['lsup004'] = "weken";
$locale['lsup005'] = "dag";
$locale['lsup006'] = "dagen";
$locale['lsup007'] = "Laatst geziene admins";
 
echo "
".$locale['lsup007'].":";
 
      $result = dbquery("SELECT
         user_id,
         user_name,
         user_status,
         user_lastvisit
         FROM ".DB_USERS."
         WHERE user_lastvisit >'0'
         AND user_status='0'
         AND user_level>'101'
         ORDER BY user_lastvisit
         DESC LIMIT 0,10
      ");                       
 
         echo "";
         if (dbrows($result) != 0) {
         while ($data = dbarray($result)) {
        $lastseen = time() - $data['user_lastvisit'];
        $iW=sprintf("%2d",floor($lastseen/604800));
        $iD=sprintf("%2d",floor($lastseen/(60*60*24)));
        $iH=sprintf("%02d",floor((($lastseen%604800)%86400)/3600));
        $iM=sprintf("%02d",floor(((($lastseen%604800)%86400)%3600)/60));
        $iS=sprintf("%02d",floor((((($lastseen%604800)%86400)%3600)%60)));
        if ($lastseen < 60){
            $lastseen= $locale['lsup001'];
        } elseif ($lastseen < 360){
            $lastseen= $locale['lsup002'];
        } elseif ($iW > 0){
            if ($iW == 1) { $text = $locale['lsup003']; } else { $text = $locale['lsup004']; }
            $lastseen = $iW." ".$text;
        } elseif ($iD > 0){
            if ($iD == 1) { $text = $locale['lsup005']; } else { $text = $locale['lsup006']; }
            $lastseen = $iD." ".$text;
        } else {
            $lastseen = "".$iH.":".$iM.":".$iS."";
        }
        echo "\n\n\n";
    }
}
echo "
".THEME_BULLET."\n";
        echo profile_link($data['user_id'], $data['user_name'], $data['user_status'])."
".$lastseen."
";
 
echo "
".$locale['lsup000'].":";
 
      $result = dbquery("SELECT
         user_id,
         user_name,
         user_status,
         user_lastvisit
         FROM ".DB_USERS."
         WHERE user_lastvisit >'0'
         AND user_status='0'
         AND user_level<'102'
         ORDER BY user_lastvisit
         DESC LIMIT 0,15
      ");                       
 
         echo "";
         if (dbrows($result) != 0) {
         while ($data = dbarray($result)) {
        $lastseen = time() - $data['user_lastvisit'];
        $iW=sprintf("%2d",floor($lastseen/604800));
        $iD=sprintf("%2d",floor($lastseen/(60*60*24)));
        $iH=sprintf("%02d",floor((($lastseen%604800)%86400)/3600));
        $iM=sprintf("%02d",floor(((($lastseen%604800)%86400)%3600)/60));
        $iS=sprintf("%02d",floor((((($lastseen%604800)%86400)%3600)%60)));
        if ($lastseen < 60){
            $lastseen= $locale['lsup001'];
        } elseif ($lastseen < 360){
            $lastseen= $locale['lsup002'];
        } elseif ($iW > 0){
            if ($iW == 1) { $text = $locale['lsup003']; } else { $text = $locale['lsup004']; }
            $lastseen = $iW." ".$text;
        } elseif ($iD > 0){
            if ($iD == 1) { $text = $locale['lsup005']; } else { $text = $locale['lsup006']; }
            $lastseen = $iD." ".$text;
        } else {
            $lastseen = "".$iH.":".$iM.":".$iS."";
        }
        echo "
\n\n\n";
    }
}
echo "
".THEME_BULLET."\n";
        echo profile_link($data['user_id'], $data['user_name'], $data['user_status'])."
".$lastseen."
";
closeside();


Hopelijk heb je hier wat aan.