public static function top_uploaders($params = array('limit' => 10, 'user' => null)) { $query = "SELECT * FROM xbt_users"; if (!User::admin_logged_in()) { $query .= " WHERE shown=1"; if (!empty($params['user'])) { $query .= " OR uid=" . $params['user']->uid; } } $query .= " ORDER BY uploaded DESC LIMIT " . DB::escape($params['limit']); if ($results = DB::query($query)) { $users = array(); while ($result = mysql_fetch_array($results)) { $user = new User($result); array_push($users, $user); } return $users; } else { return false; } }
<?php if ($user->shown || $user->active || User::admin_logged_in()) { ?> <a href="<?php echo WWW_BASE_PATH; ?> user/<?php echo $user->name; ?> "><?php echo $user->display_name; ?> </a> <?php } else { ?> <em><?php echo $user->display_name; ?> </em> <?php }
public function __get($key) { switch ($key) { case 'display_name': if ($this->shown || $this->active || User::admin_logged_in()) { return $this->name; } else { return 'Anonymous'; } break; case 'byline': if ($this->shown || $this->active || User::admin_logged_in()) { return '<a href="' . WWW_BASE_PATH . 'user/' . $this->name . '">' . $this->display_name . '</a>'; } else { return '<em>' . $this->display_name . '</em>'; } break; case 'unread_messages': return Message::count_unread_for($this->uid); break; //case 'profile_url': // if ($this->shown || User::admin_logged_in()) return WWW_BASE_PATH . 'user/' . $this->name; // else return null; // break; } if (array_key_exists($key, $this->data)) { return $this->data[$key]; } return null; /*$trace = debug_backtrace(); trigger_error( 'Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE); return null;*/ }