コード例 #1
0
ファイル: Favourites.php プロジェクト: railpage/railpagecore
 /**
  * Get users who have favourited the supplied image
  * @since Version 3.10.0
  * @param \Railpage\Images\Image $Image
  * @return array
  */
 public function getImageFavourites(Image $Image)
 {
     $query = "SELECT f.*, u.username \r\n            FROM image_favourites AS f \r\n                LEFT JOIN nuke_users AS u ON f.user_id = u.user_id\r\n            WHERE f.image_id = ? \r\n            ORDER BY f.date DESC";
     $return = array();
     foreach ($this->db->fetchAll($query, $Image->id) as $row) {
         $row['url'] = UserUrlUtility::MakeURLs($row)->getURLs();
         $return[] = $row;
     }
     return $return;
 }
コード例 #2
0
ファイル: Locomotive.php プロジェクト: railpage/railpagecore
 /**
  * Load notes
  * @since Version 3.2
  * @version 3.2
  * @return array
  */
 public function loadNotes()
 {
     $query = "SELECT n.*, u.username, user_avatar FROM loco_notes AS n LEFT JOIN nuke_users AS u ON n.user_id = u.user_id WHERE n.loco_id = ?";
     $notes = array();
     foreach ($this->db->fetchAll($query, $this->id) as $row) {
         if (!empty($row['user_avatar'])) {
             try {
                 #$User = UserFactory::CreateUser($row['user_id']);
                 $row['user_avatar'] = AvatarUtility::Format($row['user_avatar'], 50, 50);
                 #$row['user_url'] = $User->url;
                 $row['user_url'] = UserUrlUtility::MakeURLs($row);
             } catch (Exception $e) {
                 global $Error;
                 $Error->save($e);
             }
         }
         $notes[$row['note_id']] = $row;
     }
     return $notes;
 }
コード例 #3
0
ファイル: User.php プロジェクト: railpage/railpagecore
 /**
  * Create URLs
  * @since Version 3.8.7
  * @return \Railpage\Users\User
  */
 private function createUrls()
 {
     $this->url = Utility\UrlUtility::MakeURLs($this);
 }
コード例 #4
0
 /**
  * Find the most concacted members between the supplied user
  * @since Version 3.10.0
  * @return array
  */
 public function getMostContactedUsers()
 {
     if (!$this->Author instanceof User) {
         throw new Exception(__NAMESPACE__ . "::Author has not been set");
     }
     $query = "SELECT COUNT(*) AS num_msgs, pm.privmsgs_to_userid AS user_id, u.username, u.user_avatar\n                        FROM nuke_bbprivmsgs AS pm \n                            LEFT JOIN nuke_users AS u ON u.user_id = pm.privmsgs_to_userid \n                        WHERE pm.privmsgs_from_userid = ? \n                        AND pm.privmsgs_to_userid != ? \n                        AND pm.privmsgs_date >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 90 day)) \n                        GROUP BY pm.privmsgs_to_userid \n                        ORDER BY COUNT(*) DESC \n                        LIMIT 0, 10";
     $params = [$this->Author->id, $this->Author->id];
     $users = $this->db->fetchAll($query, $params);
     foreach ($users as $key => $row) {
         $users[$key]['url'] = UserUrlUtility::MakeURLs($row)->getURLs();
         $users[$key]['avatar'] = array("tiny" => AvatarUtility::Format($row['user_avatar'], 25, 25), "thumb" => AvatarUtility::Format($row['user_avatar'], 50, 50), "small" => AvatarUtility::Format($row['user_avatar'], 75, 75), "medium" => AvatarUtility::Format($row['user_avatar'], 100, 100));
     }
     return $users;
 }
コード例 #5
0
ファイル: Article.php プロジェクト: railpage/railpagecore
 /**
  * Get actions on this article
  * @since Version 3.10.0
  * @return array
  */
 public function getChangelog()
 {
     $query = "SELECT u.username, u.user_id, u.user_avatar, s.time AS timestamp, 'Article created' AS title, '' AS args\r\n                        FROM nuke_stories AS s\r\n                        LEFT JOIN nuke_users AS u ON u.user_id = s.user_id\r\n                        WHERE s.sid = ?\r\n                    UNION \r\n                    SELECT u.username, l.user_id, u.user_avatar, l.timestamp, l.title, l.args \r\n                        FROM log_staff AS l \r\n                        LEFT JOIN nuke_users AS u ON u.user_id = l.user_id\r\n                        WHERE `key` = 'article_id' \r\n                        AND key_val = ? \r\n                    UNION \r\n                    SELECT u.username, l.user_id, u.user_avatar, l.timestamp, l.title, l.args \r\n                        FROM log_general AS l \r\n                        LEFT JOIN nuke_users AS u ON u.user_id = l.user_id\r\n                        WHERE `key` = 'article_id' \r\n                        AND value = ? \r\n                    ORDER BY UNIX_TIMESTAMP(`timestamp`) DESC";
     $params = [$this->id, $this->id, $this->id];
     $return = $this->db->fetchAll($query, $params);
     foreach ($return as $key => $val) {
         $return[$key]['user'] = array("user_id" => $val['user_id'], "username" => $val['username'], "avatar" => array("small" => AvatarUtility::Format($val['user_avatar'], 50, 50), "medium" => AvatarUtility::Format($val['user_avatar'], 80, 80), "large" => AvatarUtility::Format($val['user_avatar'], 128, 128)), "url" => UrlUtility::MakeURLs($val)->getURLs());
         $return[$key]['args'] = json_decode($val['args'], true);
     }
     return $return;
 }
コード例 #6
0
ファイル: Statistics.php プロジェクト: railpage/railpagecore
 /**
  * Get the top 5 photos viewed today/weekly/overall
  * @since Version 3.10.0
  * @param string $lookup
  * @param int $num
  * @return array
  */
 public function getMostViewedPhotos($lookup = self::HITS_WEEKLY, $num = 5)
 {
     $allowed = [self::HITS_DAILY => "hits_today", self::HITS_WEEKLY => "hits_weekly", self::HITS_OVERALL => "hits_overall"];
     if (!in_array($lookup, array_keys($allowed))) {
         throw new InvalidArgumentException("Parameter supplied for lookup type is invalid");
     }
     $query = "SELECT i.*,\r\n            u.username,\r\n            f.*\r\n            FROM image AS i\r\n            LEFT JOIN image_flags AS f ON f.image_id = i.id\r\n            LEFT JOIN nuke_users AS u ON i.user_id = u.user_id\r\n            ORDER BY " . $allowed[$lookup] . " DESC \r\n            LIMIT 0, ?";
     $result = $this->db->fetchAll($query, $num);
     foreach ($result as $key => $val) {
         $result[$key]['meta'] = json_decode($val['meta'], true);
         $result[$key]['meta']['author']['url'] = UserUrlUtility::MakeURLs($val);
         $result[$key]['meta']['sizes'] = Images::normaliseSizes($result[$key]['meta']['sizes']);
         if ($result[$key]['meta']['author']['url'] instanceof Url) {
             $result[$key]['meta']['author']['url'] = $result[$key]['meta']['author']['url']->getURLs();
         }
     }
     return $result;
 }