/** * @param $avatar * @return string */ private function avatar_convert($avatar) { lib()->load("Avatar"); return Avatar::get($avatar, $this); }
/** * 对数组信息进行解析,和增加部分信息 * @param array $list * @param bool $convert_avatar 是否对头像进行处理 * @return mixed */ public function parsePic(&$list, $convert_avatar = true) { if ($convert_avatar) { lib()->load('User', 'Avatar'); } for ($i = 0, $l = count($list); $i < $l; $i++) { if (!empty($list[$i]['user_avatar'])) { if ($convert_avatar) { $list[$i]['user_avatar'] = Avatar::get($list[$i]['user_avatar'], User::getUser($list[$i]['user_id'])); } } if (empty($list[$i]['server_url'])) { continue; } $list[$i]['pic_url'] = $this->makePictureUrl($list[$i]['server_url'], $list[$i]['pic_path'], $list[$i]['pic_path']); $list[$i]['pic_thumbnails_url'] = $this->makePictureUrl($list[$i]['server_url'], $list[$i]['pic_thumbnails_path'], $list[$i]['pic_path']); $list[$i]['pic_hd_url'] = $this->makePictureUrl($list[$i]['server_url'], $list[$i]['pic_hd_path'], $list[$i]['pic_path']); $list[$i]['pic_display_url'] = $this->makePictureUrl($list[$i]['server_url'], $list[$i]['pic_display_path'], $list[$i]['pic_path']); } return $list; }
/** * 获取当前设置的图集信息 * @return array */ private function get() { $where = ['gallery.id' => $this->gallery_id]; if ($this->user_id !== NULL) { $where = ['AND' => ['gallery.id' => $this->gallery_id, 'gallery.users_id' => intval($this->user_id)]]; } $this->info = $this->db->select("gallery", ['[><]users' => ['users_id' => 'id'], '[>]users_like_gallery' => ['id' => 'gallery_id', '______' => ['users_like_gallery.users_id' => is_login() ? login_user()->getId() : 0]]], ['users.user_name' => 'user_name', 'users.user_url' => 'user_url', 'users.user_aliases' => 'user_aliases', 'users.user_status' => 'user_status', 'users.user_avatar' => 'user_avatar', 'gallery.id' => 'gallery_id', 'gallery.users_id' => 'user_id', 'gallery.gallery_title' => 'gallery_title', 'gallery.gallery_description' => 'gallery_description', 'gallery.gallery_create_time' => 'gallery_create_time', 'gallery.gallery_like_count' => 'gallery_like_count', 'gallery.gallery_update_time' => 'gallery_update_time', 'gallery.gallery_comment_count' => 'gallery_comment_count', 'gallery.gallery_comment_status' => 'gallery_comment_status', 'gallery.gallery_front_cover' => 'gallery_front_cover', 'gallery.gallery_status' => 'gallery_status', 'users_like_gallery.like_time' => 'gallery_like_time'], $where); if (!isset($this->info[0])) { $this->info = NULL; $this->error = _('Gallery not found.'); } else { lib()->load('Avatar', 'User'); $this->info = $this->info[0]; $this->info['user_avatar'] = Avatar::get($this->info['user_avatar'], User::getUser($this->info['user_id'])); $this->info['gallery_tags'] = $this->getTags($this->gallery_id); $this->info['gallery_pictures'] = $this->getPictures($this->gallery_id); $front_cover = intval($this->info['gallery_front_cover']); if ($front_cover > 0) { lib()->load('Picture'); $pic = new Picture(); $this->info['front_cover'] = $pic->get_pic($front_cover); } } return $this->info; }