GamerSK

Untitled

Feb 18th, 2020
813
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.59 KB | None | 0 0
  1. <?php
  2. $online_users = dbquery("SELECT
  3.     o.online_user, u.user_id, u.user_name, u.user_avatar, u.user_status, u.user_groups
  4.     FROM ".DB_ONLINE." o
  5.     LEFT JOIN ".DB_USERS." u ON o.online_user = u.user_id
  6. ");
  7. $offline_users = dbquery("SELECT
  8.     user_id, user_name, user_lastvisit, user_avatar, user_status, user_groups
  9.     FROM ".DB_USERS."
  10.     WHERE user_lastvisit < :time
  11.     ORDER BY user_lastvisit DESC
  12.     LIMIT :limit
  13. ", [
  14.     ':time' => time() - 10,
  15.     ':limit' => max(10 - $online_users->num_rows, 0)
  16. ]);
  17. $result[] = $online_users;
  18. $result[] = $offline_users;
  19. ?>
  20. <div class='scapmain'><img src='<?php echo THEME; ?>assets/img/panel-s.png' style='vertical-align: middle; margin-left: 15px;' alt='' /><span>KTO JE ONLINE?</span></div>
  21. <div class='scapmain-body no-padding'>
  22.     <ul class="online-user-panel">
  23.     <?php
  24.         foreach ($result as $object) {
  25.             if (dbrows($object)) {
  26.                 while ($user_data = dbarray($object)) {
  27.                     echo '<li>';
  28.                         if (!empty($user_data['user_groups'])) {
  29.                             $groups = [];
  30.                             $groups_db = explode('.', $user_data['user_groups']);
  31.                             asort($groups_db);
  32.                             array_shift($groups_db);
  33.                             $nickcolor = 'inherit';
  34.                             $index = 0;
  35.                             foreach ($groups_db as $group_id) {
  36.                                 $group = dbarray(dbquery("SELECT * FROM ".DB_USER_GROUPS." WHERE group_id = :group_id", [':group_id' => $group_id]));
  37.                                 $color = "inherit";
  38.                                 if ( !empty($group['group_color']) ) {
  39.                                     $color = $group['group_color'];
  40.                                     if ( $index == 0 )
  41.                                         $nickcolor = $group['group_color'];
  42.                                 }
  43.                                 $groups[] = '<a href="'.BASEDIR.'profile.php?group_id='.$group_id.'" class="group" style="color: '.$color.'">'.$group['group_name'].'</a>';
  44.                                 $index++;
  45.                                 unset($group);
  46.                             }
  47.                         }
  48.                         $isonline = empty($user_data['user_lastvisit']) ? 'avatar-online' : 'avatar-offline';
  49.                         echo '<div class="'.$isonline.'">';
  50.                             echo display_avatar($user_data, '35px', '', TRUE, 'img-rounded');
  51.                         echo '</div>';
  52.                         echo '<div class="d-flex justify-content-between flex-grow">';
  53.                             echo '<div>';
  54.                                 echo '<a href="'.BASEDIR.'profile.php?lookup='.$user_data['user_id'].'"><span style="color: '.$nickcolor.'">'.$user_data['user_name'].'</span></a>';
  55.                                 echo '<div class="groups">';
  56.                                     echo implode(', ', $groups);
  57.                                 echo '</div>';
  58.                             echo '</div>';
  59.                             if ( !empty($user_data['user_lastvisit']) ) {
  60.                                 echo '<span class="when-online">';
  61.                                     echo timer($user_data['user_lastvisit']);
  62.                                 echo '</span>';
  63.                             }
  64.  
  65.                         echo '</div>';
  66.                     echo '</li>';
  67.                 }
  68.             }
  69.         }
  70.     ?>
  71.     </ul>
  72. </div>
Advertisement
Add Comment
Please, Sign In to add comment