function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($request->getParameter('id')); $target_user_community_id = $request->getParameter('id'); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $target_user_community_folder_id = $request->getParameter('folder_id'); $target_file_id = $request->getParameter('file_id'); $file_history_id = $request->getParameter('file_history_id'); $view_mode = $request->getParameter('mode'); // ファイルダウンロード処理 $user_folder_obj = new ACSUserFolder($target_user_community_id, $acs_user_info_row, $target_user_community_folder_id); $folder_obj = $user_folder_obj->get_folder_obj(); // フォルダの公開範囲でアクセス制御 if (!$user_folder_obj->has_privilege($target_user_info_row)) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ルートフォルダ直下のファイルは本人以外アクセス不可 $privilege_array = $this->getCredential(); if ($folder_obj->get_is_root_folder() && !in_array('USER_PAGE_OWNER', $privilege_array)) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } $file_obj = ACSFile::get_file_info_instance($target_file_id); if ($view_mode == 'thumb') { $ret = $file_obj->view_image($file_history_id, $view_mode); } else { $file_obj->download_history_file($file_history_id, $view_mode); } }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $target_user_community_id = $request->getParameter('id'); // 対象となるフォルダIDを取得 $target_user_community_folder_id = $request->getParameter('folder_id'); // 詳細情報を表示するフォルダIDを取得 $detail_user_community_folder_id = $request->getParameter('detail_folder_id'); // 表示するページの所有者情報取得 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($target_user_community_id); // フォルダ情報取得 $user_folder_obj = new ACSUserFolder($target_user_community_id, $acs_user_info_row, $target_user_community_folder_id); $detail_user_folder_obj = new ACSUserFolder($target_user_community_id, $acs_user_info_row, $detail_user_community_folder_id); // フォルダの公開範囲でアクセス制御 if (!$detail_user_folder_obj->has_privilege($target_user_info_row)) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('user_folder_obj', $user_folder_obj); $request->setAttribute('detail_user_folder_obj', $detail_user_folder_obj); return View::SUCCESS; }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $target_user_community_id = $request->getParameter('id'); // 対象となるフォルダIDを取得 $target_user_community_folder_id = $request->getParameter('folder_id'); // 詳細情報を表示するファイルIDを取得 $file_id = $request->getParameter('file_id'); // 表示するページの所有者情報取得 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($target_user_community_id); // フォルダ情報取得 $user_folder_obj = new ACSUserFolder($target_user_community_id, $acs_user_info_row, $target_user_community_folder_id); $folder_obj = $user_folder_obj->get_folder_obj(); // フォルダの公開範囲でアクセス制御 if (!$user_folder_obj->has_privilege($target_user_info_row)) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ルートフォルダ直下のファイルは本人以外アクセス不可 $privilege_array = $this->getCredential(); //if ($folder_obj->get_is_root_folder() && !in_array('USER_PAGE_OWNER', $privilege_array)) { if ($folder_obj->get_is_root_folder() && !$this->get_execute_privilege()) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ファイル情報取得 $file_obj = ACSFile::get_file_info_instance($file_id); // ファイルの詳細情報 $file_detail_info_row = ACSFileDetailInfo::get_file_detail_info_row($file_id); // ファイルの履歴情報 $file_history_row_array = ACSFileHistory::get_file_history_row_array($file_id); // ファイル履歴ごとのコメント foreach ($file_history_row_array as $index => $file_history_row) { $file_history_row_array[$index]['file_history_comment_row_array'] = ACSFileHistoryComment::get_file_history_comment_row_array($file_history_row['file_history_id']); } // ファイルアクセス履歴登録 if ($acs_user_info_row['is_acs_user']) { ACSFile::set_file_access_history($acs_user_info_row['user_community_id'], $file_id); } // 足跡情報取得 $footprint_url = $this->getControllerPath('User', 'FileDetail') . "&id=" . $target_user_community_id . "&file_id=" . $file_obj->get_file_id() . "&folder_id=" . $user_folder_obj->folder_obj->get_folder_id(); $where = "foot.contents_link_url = '" . $footprint_url . "'"; $where .= " AND foot.visitor_community_id = '" . $acs_user_info_row['user_community_id'] . "'"; $footprint_info = ACSUser::get_footprint_list($target_user_community_id, $where); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('file_obj', $file_obj); $request->setAttribute('user_folder_obj', $user_folder_obj); $request->setAttribute('file_detail_info_row', $file_detail_info_row); $request->setAttribute('file_history_row_array', $file_history_row_array); $request->setAttribute('footprint_info', $footprint_info); return View::SUCCESS; }
/** * 初期画面 * GETメソッドの場合、呼ばれる */ function getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); /* エラーを取得 */ //$error_row = $user->getAttribute('error_row'); //$user->removeAttribute('error_row'); $target_user_community_id = $request->getParameter('id'); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $target_user_community_folder_id = $request->getParameter('folder_id'); $mode = $request->getParameter('mode'); // 表示モード $user_folder_obj = new ACSUserFolder($target_user_community_id, $acs_user_info_row, $target_user_community_folder_id); $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($request->getParameter('id')); // グループ表示 $file_detail_info_row_array = array(); if ($mode == 'group') { // ファイルオブジェクトの配列 $target_folder_obj = $user_folder_obj->get_folder_obj(); $file_obj_array = $target_folder_obj->get_file_obj_array(); foreach ($file_obj_array as $file_obj) { $file_detail_info_row = ACSFileDetailInfo::get_file_detail_info_row($file_obj->get_file_id()); if (!$file_detail_info_row['file_id']) { // ファイル詳細情報が設定されてない場合 $file_detail_info_row['file_id'] = $file_obj->get_file_id(); } $file_detail_info_row['display_file_name'] = $file_obj->get_display_file_name(); $file_detail_info_row['thumbnail_server_file_name'] = $file_obj->get_thumbnail_server_file_name(); array_push($file_detail_info_row_array, $file_detail_info_row); } // ファイルカテゴリコードごとのファイルコンテンツ種別の連想配列を取得する $file_contents_type_master_row_array_array = ACSFileDetailInfo::get_file_contents_type_master_row_array_array(); } // フォルダの公開範囲でアクセス制御 if (!$user_folder_obj->has_privilege($target_user_info_row)) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('user_folder_obj', $user_folder_obj); $request->setAttribute('error_row', $error_row); $request->setAttribute('mode', $mode); if ($mode == 'group') { $request->setAttribute('file_detail_info_row_array', $file_detail_info_row_array); $request->setAttribute('file_contents_type_master_row_array_array', $file_contents_type_master_row_array_array); } return View::SUCCESS; }