function getDefaultView()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $target_user_community_id = $request->getParameter('id');
     $target_user_community_folder_id = $request->getParameter('folder_id');
     $file_id = $request->getParameter('file_id');
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // マスタ
     $file_category_master_array = ACSDB::get_master_array('file_category');
     $file_contents_type_master_array = ACSDB::get_master_array('file_contents_type');
     // ファイルカテゴリコードごとのファイルコンテンツ種別の連想配列を取得する
     $file_contents_type_master_row_array_array = ACSFileDetailInfo::get_file_contents_type_master_row_array_array();
     // set
     $request->setAttribute('file_contents_type_master_row_array_array', $file_contents_type_master_row_array_array);
     $request->setAttribute('file_category_master_array', $file_category_master_array);
     $request->setAttribute('file_contents_type_master_array', $file_contents_type_master_array);
     return View::INPUT;
 }
 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');
     // form
     $form = $request->ACSGetParameters();
     $file_contents_type_list_row_array = ACSFileDetailInfo::get_file_contents_type_list_row_array($form['file_category_code']);
     $file_contents_form_array = array();
     foreach ($file_contents_type_list_row_array as $file_contents_type_list_row) {
         $file_contents_form = array('file_id' => $file_id, 'file_contents_type_code' => $file_contents_type_list_row['file_contents_type_code'], 'file_contents_value' => $form['file_contents_array'][$file_contents_type_list_row['file_contents_type_code']]);
         array_push($file_contents_form_array, $file_contents_form);
     }
     $ret = ACSFileDetailInfo::set_file_detail_info($file_id, $form['file_category_code'], $file_contents_form_array);
     if ($ret) {
         $file_detail_url = $this->getControllerPath('User', 'FileDetail');
         $file_detail_url .= '&id=' . $target_user_community_id;
         $file_detail_url .= '&folder_id=' . $target_user_community_folder_id;
         $file_detail_url .= '&file_id=' . $file_id;
         // ファイル詳細情報URLへ
         header("Location: {$file_detail_url}");
     }
 }
 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;
 }
 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_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 詳細情報を表示するファイルIDを取得
     $file_id = $request->getParameter('file_id');
     // コミュニティ管理者か
     $is_community_admin = false;
     if (ACSCommunity::is_community_admin($acs_user_info_row['user_community_id'], $target_community_id)) {
         $is_community_admin = true;
     }
     // 表示するページの所有者情報取得
     $target_community_row = ACSCommunity::get_community_row($target_community_id);
     // フォルダ情報取得
     $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     $folder_obj = $community_folder_obj->get_folder_obj();
     // ファイル情報取得
     $file_obj = ACSFile::get_file_info_instance($file_id);
     // ファイル公開設定
     $submit_kind = $request->getParameter('submit_kind');
     // プットファイルでない場合
     if ($file_obj->get_owner_community_id() == $target_community_id) {
         if ($submit_kind != "" && $is_community_admin) {
             // ファイル公開URL作成
             if ($submit_kind == "insert") {
                 $form['folder_id'] = $target_community_folder_id;
                 $form['community_id'] = $target_community_id;
                 ACSFileDetailInfo::insert_file_public_access($file_id, $form);
                 // ファイル公開URL削除
             } else {
                 if ($submit_kind == "delete") {
                     ACSFileDetailInfo::delete_file_public_access($file_id);
                     // ファイル公開アクセス数リセット
                 } else {
                     if ($submit_kind == "reset") {
                         $form['access_count'] = 0;
                         $form['access_start_date'] = "'now'";
                         ACSFileDetailInfo::update_file_public_access($file_id, $form);
                     }
                 }
             }
         }
     }
     $contents_link_url = $this->getControllerPath('Community', 'FileDetail') . "&community_id=" . $target_community_id . "&file_id=" . $file_obj->get_file_id() . "&folder_id=" . $community_folder_obj->folder_obj->get_folder_id();
     header("Location: {$contents_link_url}");
     return View::SUCCESS;
 }
Esempio n. 5
0
 /**
  * 初期画面
  * GETメソッドの場合、呼ばれる
  */
 function getDefaultView()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $target_community_id = $request->getParameter('community_id');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $target_community_folder_id = $request->getParameter('folder_id');
     $mode = $request->getParameter('mode');
     // 表示モード
     $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     $target_community_row = ACSCommunity::get_community_row($request->getParameter('community_id'));
     // グループ表示
     $file_detail_info_row_array = array();
     if ($mode == 'group') {
         // ファイルオブジェクトの配列
         $target_folder_obj = $community_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();
             if ($file_obj->get_owner_community_id() == $target_community_row['community_id']) {
                 $file_detail_info_row['is_put'] = false;
             } else {
                 $file_detail_info_row['is_put'] = true;
             }
             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 (!$community_folder_obj->has_privilege($target_community_row)) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     $request->setAttribute('target_community_row', $target_community_row);
     $request->setAttribute('community_folder_obj', $community_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;
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $target_user_community_id = $request->getParameter('id');
     $target_user_community_folder_id = $request->getParameter('folder_id');
     // form
     $form = $request->ACSGetParameters();
     /* ファイルアップロード処理 */
     $ret = 0;
     if ($_FILES['new_file']['tmp_name'] != '') {
         // ファイル情報取得
         $file_obj = ACSFile::get_upload_file_info_instance($_FILES['new_file'], $target_user_community_id, $acs_user_info_row['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();
         $ret = $folder_obj->add_file($file_obj);
     }
     if (!$ret) {
         print "ERROR: Upload file failed.";
     }
     if ($ret) {
         // 新規登録したファイルID
         $file_id = $file_obj->get_file_id();
     }
     // ファイル履歴情報登録
     if ($ret) {
         $file_info_row = ACSFileInfoModel::select_file_info_row($file_id);
         $ret = ACSFileHistory::set_file_history($file_info_row, $acs_user_info_row['user_community_id'], $form['comment'], ACSMsg::get_mst('file_history_operation_master', 'D0101'));
     }
     // ファイル詳細情報登録
     if ($form['file_category_code'] != '' && $ret) {
         $file_contents_type_list_row_array = ACSFileDetailInfo::get_file_contents_type_list_row_array($form['file_category_code']);
         $file_contents_form_array = array();
         foreach ($file_contents_type_list_row_array as $file_contents_type_list_row) {
             $file_contents_form = array('file_id' => $file_id, 'file_contents_type_code' => $file_contents_type_list_row['file_contents_type_code'], 'file_contents_value' => $form['file_contents_array'][$file_contents_type_list_row['file_contents_type_code']]);
             array_push($file_contents_form_array, $file_contents_form);
         }
         $ret = ACSFileDetailInfo::set_file_detail_info($file_id, $form['file_category_code'], $file_contents_form_array);
     }
     // フォルダ表示アクション呼び出し
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $folder_action = $this->getControllerPath('User', 'Folder');
     $folder_action .= '&id=' . $target_user_community_id;
     $folder_action .= '&folder_id=' . $target_user_community_folder_id;
     header("Location: {$folder_action}");
 }
 /**
  * ファイルカテゴリコードごとのファイルコンテンツ種別の連想配列を取得する
  *
  * @param 
  * @return 
  */
 static function get_file_contents_type_master_row_array_array()
 {
     $file_category_master_row_array = ACSDB::get_master_array('file_category');
     $file_contents_type_master_row_array = ACSDB::get_master_array('file_contents_type');
     $file_contents_type_master_row_array_array = array();
     foreach ($file_category_master_row_array as $file_category_code => $file_category_name) {
         $file_contents_type_list_row_array = ACSFileDetailInfo::get_file_contents_type_list_row_array($file_category_code);
         $file_contents_type_master_row_array_array[$file_category_code] = array();
         $file_contents_type_master_row_array_array[$file_category_code]['file_category_code'] = $file_category_code;
         $file_contents_type_master_row_array_array[$file_category_code]['file_category_name'] = $file_category_name;
         $file_contents_type_master_row_array_array[$file_category_code]['file_contents_row_array'] = array();
         foreach ($file_contents_type_list_row_array as $file_contents_type_list_row) {
             $file_contents_row = array();
             $file_contents_row['file_contents_type_code'] = $file_contents_type_list_row['file_contents_type_code'];
             $file_contents_row['file_contents_type_name'] = $file_contents_type_master_row_array[$file_contents_type_list_row['file_contents_type_code']];
             $file_contents_type_master_row_array_array[$file_category_code]['file_contents_type_master_row_array'][$file_contents_type_list_row['file_contents_type_code']] = $file_contents_row;
         }
     }
     return $file_contents_type_master_row_array_array;
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $key = $request->getParameter('key');
     // ファイル情報取得
     $file_public_access_row = ACSFileDetailInfo::get_file_public_access_row("", "access_code = '" . $key . "'");
     // ファイルアクセス数更新
     if ($file_public_access_row) {
         $form = array();
         $form['all_access_count'] = $file_public_access_row['all_access_count'] + 1;
         $form['access_count'] = $file_public_access_row['access_count'] + 1;
         ACSFileDetailInfo::update_file_public_access($file_public_access_row['file_id'], $form);
     } else {
         print "NOT FOUND";
     }
     // ファイルダウンロード処理
     $community_folder_obj = new ACSCommunityFolder($file_public_access_row['community_id'], "", $file_public_access_row['folder_id']);
     $folder_obj = $community_folder_obj->get_folder_obj();
     $folder_obj->download_file($file_public_access_row['file_id']);
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // 必須チェック
     //	Validator でできないチェックはここで行う
     if (!$request->getParameter('selected_folder') && !$request->getParameter('selected_file')) {
         // エラーの場合、処理終了
         return $this->setError($controller, $request, $user, 'selected_folder', ACSMsg::get_msg('Community', 'DeleteFolderAction.class.php', 'M001'));
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // 対象となるユーザコミュニティIDを取得
     $target_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 表示するページの所有者情報取得
     $target_community_info_row = ACSCommunity::get_community_row($target_community_id);
     // フォルダ情報取得
     $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     // set
     $request->setAttribute('target_community_info_row', $target_community_info_row);
     $request->setAttribute('community_folder_obj', $community_folder_obj);
     /* ------------ */
     /* 確認画面表示 */
     /* ------------ */
     if ($request->getParameter('action_type') == 'confirm') {
         return $this->getDefaultView();
     } elseif ($request->getParameter('action_type') == 'delete') {
         ACSDB::_do_query("BEGIN");
         // フォルダ
         $folder_row_array = array();
         $delete_folder_id_array = $request->getParameter('selected_folder');
         if ($delete_folder_id_array) {
             foreach ($delete_folder_id_array as $folder_id) {
                 // 削除処理
                 $_folder_obj = $community_folder_obj->folder_obj->get_folder_obj($folder_id);
                 $ret = $community_folder_obj->delete_folder($_folder_obj);
                 if (!$ret) {
                     ACSDB::_do_query("ROLLBACK;");
                     print "ERROR: Remove folder failed.";
                     exit;
                 }
             }
         }
         // ファイル
         $file_row_array = array();
         $delete_file_id_array = $request->getParameter('selected_file');
         if ($delete_file_id_array) {
             foreach ($delete_file_id_array as $file_id) {
                 // 公開用ファイル情報
                 ACSFileDetailInfo::delete_file_public_access($file_id);
                 // 削除処理
                 $_file_obj = $community_folder_obj->folder_obj->get_file_obj($file_id);
                 $ret = $_file_obj->delete_file();
                 if (!$ret) {
                     ACSDB::_do_query("ROLLBACK;");
                     print "ERROR: Remove file failed.";
                     exit;
                 }
             }
         }
         ACSDB::_do_query("COMMIT;");
         // フォルダ表示アクション呼び出し
         $folder_action = $this->getControllerPath('Community', 'Folder');
         $folder_action .= '&community_id=' . $target_community_id;
         $folder_action .= '&folder_id=' . $target_community_folder_id;
         header("Location: {$folder_action}");
     }
 }
 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_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 詳細情報を表示するファイルIDを取得
     $file_id = $request->getParameter('file_id');
     // コミュニティ管理者か
     $is_community_admin = false;
     if (ACSCommunity::is_community_admin($acs_user_info_row['user_community_id'], $target_community_id)) {
         $is_community_admin = true;
     }
     // 表示するページの所有者情報取得
     $target_community_row = ACSCommunity::get_community_row($target_community_id);
     // フォルダ情報取得
     $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     $folder_obj = $community_folder_obj->get_folder_obj();
     // フォルダの公開範囲でアクセス制御
     if (!$community_folder_obj->has_privilege($target_community_row)) {
         // 2010.03.24 未ログイン時の誘導
         // ログインユーザでない場合はログイン画面へ
         if ($user->hasCredential('PUBLIC_USER')) {
             $controller->forward("User", "Login");
             return;
         }
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // ルートフォルダ直下のファイルはコミュニティメンバ以外アクセス不可
     if ($folder_obj->get_is_root_folder() && $user->hasCredential('COMMUNITY_MEMBER')) {
         // 2010.03.24 未ログイン時の誘導
         // ログインユーザでない場合はログイン画面へ
         if ($user->hasCredential('PUBLIC_USER')) {
             $controller->forward("User", "Login");
             return;
         }
         $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);
     }
     // プットファイルでない場合
     if ($file_obj->get_owner_community_id() == $target_community_id) {
         // ファイルの公開情報
         $file_public_access_row = ACSFileDetailInfo::get_file_public_access_row($file_id);
     }
     // set
     $request->setAttribute('target_community_row', $target_community_row);
     $request->setAttribute('file_obj', $file_obj);
     $request->setAttribute('community_folder_obj', $community_folder_obj);
     $request->setAttribute('file_detail_info_row', $file_detail_info_row);
     $request->setAttribute('file_history_row_array', $file_history_row_array);
     $request->setAttribute('is_community_admin', $is_community_admin);
     $request->setAttribute('file_public_access_row', $file_public_access_row);
     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_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 表示するページの所有者情報取得
     $target_community_info_row = ACSCommunity::get_community_row($target_community_id);
     // フォルダ情報取得
     $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     // set
     $request->setAttribute('target_community_info_row', $target_community_info_row);
     $request->setAttribute('community_folder_obj', $community_folder_obj);
     // 移動先フォルダID
     $move_target_folder_id = $request->getParameter('selected_move_folder_id');
     /* -------- */
     /* 移動処理 */
     /* -------- */
     ACSDB::_do_query("BEGIN");
     // 移動先がルートフォルダの場合は、公開範囲をセットする必要があるため、
     // ルートフォルダの情報を取得しておく
     $root_folder_obj = ACSFolder::get_folder_instance($community_folder_obj->get_root_folder_row($community_folder_obj->get_community_id()));
     // フォルダ
     $folder_row_array = array();
     $selected_folder_id_array = $request->getParameter('selected_folder');
     if ($selected_folder_id_array) {
         foreach ($selected_folder_id_array as $folder_id) {
             // 移動するフォルダ取得
             $_folder_obj = $community_folder_obj->folder_obj->get_folder_obj($folder_id);
             // 移動処理
             $ret = $_folder_obj->move_folder($move_target_folder_id);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK;");
                 print "ERROR: Move folder failed.";
                 exit;
             }
             // 公開範囲を更新
             if ($move_target_folder_id == $root_folder_obj->get_folder_id()) {
                 // ルートフォルダへ移動の場合、公開範囲をセット
                 $new_open_level_code = $community_folder_obj->folder_obj->get_open_level_code();
                 $new_trusted_community_row_array = $community_folder_obj->folder_obj->get_trusted_community_row_array();
             } else {
                 // ルートフォルダ以外へ移動の場合、公開範囲をリセット
                 $new_open_level_code = "";
                 $new_trusted_community_row_array = array();
             }
             $ret = $_folder_obj->update_open_level_code($new_open_level_code, $new_trusted_community_row_array);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK;");
                 print "ERROR: Move folder failed.";
                 exit;
             }
         }
     }
     // ファイル
     $file_row_array = array();
     $selected_file_id_array = $request->getParameter('selected_file');
     if ($selected_file_id_array) {
         foreach ($selected_file_id_array as $file_id) {
             // 移動処理
             $file_obj = $community_folder_obj->folder_obj->get_file_obj($file_id);
             $ret = $community_folder_obj->folder_obj->move_file($file_obj, $move_target_folder_id);
             //$ret = $_file_obj->rename_display_file_name($new_file_name);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK;");
                 print "ERROR: Move file failed.";
                 exit;
             }
         }
     }
     ACSDB::_do_query("COMMIT;");
     // 公開用ファイル情報更新
     $form['folder_id'] = $move_target_folder_id;
     ACSFileDetailInfo::update_file_public_access($file_id, $form);
     // フォルダ表示アクション呼び出し
     $folder_action = $this->getControllerPath('Community', 'Folder');
     $folder_action .= '&community_id=' . $target_community_id;
     $folder_action .= '&folder_id=' . $target_community_folder_id;
     header("Location: {$folder_action}");
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // 対象となるユーザコミュニティIDを取得
     $target_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 詳細情報を表示するファイルIDを取得
     $file_id = $request->getParameter('file_id');
     // アクセス制御 // プットフォルダ、ファイルはNG
     $file_obj = ACSFile::get_file_info_instance($file_id);
     if ($file_obj->get_owner_community_id() != $target_community_id) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // form
     $form = $request->ACSGetParameters();
     $file_contents_type_list_row_array = ACSFileDetailInfo::get_file_contents_type_list_row_array($form['file_category_code']);
     $file_contents_form_array = array();
     foreach ($file_contents_type_list_row_array as $file_contents_type_list_row) {
         $file_contents_form = array('file_id' => $file_id, 'file_contents_type_code' => $file_contents_type_list_row['file_contents_type_code'], 'file_contents_value' => $form['file_contents_array'][$file_contents_type_list_row['file_contents_type_code']]);
         array_push($file_contents_form_array, $file_contents_form);
     }
     $ret = ACSFileDetailInfo::set_file_detail_info($file_id, $form['file_category_code'], $file_contents_form_array);
     if ($ret) {
         $file_detail_url = $this->getControllerPath('Community', 'FileDetail');
         $file_detail_url .= '&community_id=' . $target_community_id;
         $file_detail_url .= '&folder_id=' . $target_community_folder_id;
         $file_detail_url .= '&file_id=' . $file_id;
         // ファイル詳細情報URLへ
         header("Location: {$file_detail_url}");
     }
 }