Пример #1
0
 /**
  * Album detail
  * 
  * @access  public
  * @params  integer
  * @return  Response
  */
 public function action_detail($id = null)
 {
     $id = (int) $id;
     $album = Model_Album::check_authority($id, null, 'member');
     $this->check_browse_authority($album->public_flag, $album->member_id);
     // 既読処理
     if (\Auth::check()) {
         $this->change_notice_status2read($this->u->id, 'album', $id);
     }
     $disabled_to_update = \Album\Site_Util::check_album_disabled_to_update($album->foreign_table);
     list($limit, $page) = $this->common_get_pager_list_params(\Config::get('articles.limit'), \Config::get('articles.limit_max'));
     $data = Model_AlbumImage::get_pager_list(array('related' => array('album'), 'where' => \Site_Model::get_where_params4list(0, \Auth::check() ? $this->u->id : 0, $this->check_is_mypage($album->member_id), array(array('album_id', $id))), 'limit' => $limit, 'order_by' => array('id' => 'desc')), $page);
     if (\Config::get('album.display_setting.detail.display_upload_form') && !$disabled_to_update && \Auth::check() && $album->member_id == $this->u->id) {
         $data['val'] = self::get_validation_public_flag();
     }
     $data['id'] = $id;
     $data['album'] = $album;
     $data['is_member_page'] = true;
     $data['disabled_to_update'] = $disabled_to_update;
     $data['liked_album_image_ids'] = conf('like.isEnabled') && \Auth::check() ? \Site_Model::get_liked_ids('album_image', $this->u->id, $data['list']) : array();
     $this->set_title_and_breadcrumbs($album->name, null, $album->member, 'album', null, false, false, array('title' => $album->name, 'description' => $album->body, 'image' => \Site_Util::get_image_uri4image_list($data['list'], 'ai', 'raw')));
     $this->template->subtitle = \View::forge('_parts/detail_subtitle', array('album' => $album, 'disabled_to_update' => $disabled_to_update));
     $this->template->post_footer = \View::forge('_parts/detail_footer');
     $this->template->post_footer = \View::forge('_parts/detail_footer', array('is_mypage' => check_uid($album->member_id)));
     $this->template->content = \View::forge('detail', $data);
 }
Пример #2
0
 public static function get_album_images($limit, $page = 1, $self_member_id = 0, $target_member_obj = null, $is_mypage = false, $params = array(), $is_return_array = false, $is_asc = false)
 {
     if (!is_array($params)) {
         $params = (array) $params;
     }
     if ($target_member_obj && !$target_member_obj instanceof \Model_Member) {
         throw new InvalidArgumentException('parameter target_member_obj is invalid.');
     }
     if (!empty($params['select']) && !\DBUtil::field_exists('album_image', $params['select'])) {
         throw new \ValidationFailedException();
     }
     $params = array_merge($params, array('where' => \Site_Model::get_where_params4list($target_member_obj ? $target_member_obj->id : 0, $self_member_id ?: 0, $is_mypage, !empty($params['where']) ? $params['where'] : array(), $target_member_obj ? 'album.member_id' : 'member_id'), 'limit' => $limit, 'order_by' => array('id' => $is_asc ? 'asc' : 'desc')));
     if ($target_member_obj) {
         $params['related'] = array('album');
     }
     $data = Model_AlbumImage::get_pager_list($params, $page, $is_return_array);
     $data['liked_album_image_ids'] = conf('like.isEnabled') && $self_member_id ? \Site_Model::get_liked_ids('album_image', $self_member_id, $data['list']) : array();
     return $data;
 }