function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // get $community_id = $request->ACSgetParameter('community_id'); $community_row = ACSCommunity::get_community_row($community_id); $form = $request->ACSgetParameters(); // 検索時 if ($form['search']) { $folder_row_array = array(); $put_folder_row_array = array(); $file_info_row_array = array(); $put_file_info_row_array = array(); // フォルダ検索 if ($form['target'] != 'file') { $folder_row_array = ACSCommunityFolder::search_folder_row_array($community_id, $form); $put_folder_row_array = ACSCommunityFolder::search_put_folder_row_array($community_id, $form); } // ファイル検索 if ($form['target'] != 'folder') { $file_info_row_array = ACSCommunityFolder::search_file_info_row_array($community_id, $form); $put_file_info_row_array = ACSCommunityFolder::search_put_file_info_row_array($community_id, $form); } // フォルダ foreach ($folder_row_array as $index => $folder_row) { $target_folder_obj = new ACSCommunityFolder($community_id, $acs_user_info_row, $folder_row['folder_id']); $folder_row_array[$index]['update_date'] = $target_folder_obj->folder_obj->get_update_date_yyyymmddhmi(); // 公開レベル $folder_row_array[$index]['open_level_code'] = $target_folder_obj->folder_obj->get_open_level_code(); $folder_row_array[$index]['open_level_name'] = $target_folder_obj->folder_obj->get_open_level_name(); $open_level_master_row = ACSAccessControl::get_open_level_master_row($folder_row_array[$index]['open_level_code']); $folder_row_array[$index] = array_merge($folder_row_array[$index], $open_level_master_row); $folder_row_array[$index]['trusted_community_row_array'] = $target_folder_obj->folder_obj->get_trusted_community_row_array(); // パス $path_folder_obj_array = $target_folder_obj->get_path_folder_obj_array(); $path_array = array(); foreach ($path_folder_obj_array as $path_folder_obj_index => $path_folder_obj) { if ($path_folder_obj_index != 0) { array_push($path_array, $path_folder_obj->get_folder_name()); } } $folder_row_array[$index]['path_array'] = $path_array; } // プットフォルダ foreach ($put_folder_row_array as $index => $folder_row) { $target_folder_obj = new ACSCommunityFolder($community_id, $acs_user_info_row, $folder_row['folder_id']); $put_folder_row_array[$index]['update_date'] = $target_folder_obj->folder_obj->get_update_date_yyyymmddhmi(); // 公開レベル $put_folder_row_array[$index]['open_level_code'] = $target_folder_obj->folder_obj->get_open_level_code(); $put_folder_row_array[$index]['open_level_name'] = $target_folder_obj->folder_obj->get_open_level_name(); $open_level_master_row = ACSAccessControl::get_open_level_master_row($put_folder_row_array[$index]['open_level_code']); $put_folder_row_array[$index] = array_merge($put_folder_row_array[$index], $open_level_master_row); $put_folder_row_array[$index]['trusted_community_row_array'] = $target_folder_obj->folder_obj->get_trusted_community_row_array(); // パス $path_folder_obj_array = $target_folder_obj->get_path_folder_obj_array(); $path_array = array(); foreach ($path_folder_obj_array as $path_folder_obj_index => $path_folder_obj) { if ($path_folder_obj_index != 0) { array_push($path_array, $path_folder_obj->get_folder_name()); } } $put_folder_row_array[$index]['path_array'] = $path_array; } // ファイル foreach ($file_info_row_array as $index => $file_info_row) { $target_folder_obj = new ACSCommunityFolder($community_id, $acs_user_info_row, $file_info_row['folder_id']); $target_file_obj = new ACSFile($file_info_row); $file_info_row_array[$index]['file_size'] = $target_file_obj->get_file_size_kb(); $file_info_row_array[$index]['update_date'] = $target_file_obj->get_update_date_yyyymmddhmi(); $file_info_row_array[$index]['is_root_folder'] = $target_folder_obj->folder_obj->get_is_root_folder(); // 公開レベル $file_info_row_array[$index]['open_level_code'] = $target_folder_obj->folder_obj->get_open_level_code(); $file_info_row_array[$index]['open_level_name'] = $target_folder_obj->folder_obj->get_open_level_name(); $open_level_master_row = ACSAccessControl::get_open_level_master_row($file_info_row_array[$index]['open_level_code']); $file_info_row_array[$index] = array_merge($file_info_row_array[$index], $open_level_master_row); $file_info_row_array[$index]['trusted_community_row_array'] = $target_folder_obj->folder_obj->get_trusted_community_row_array(); // パス $path_folder_obj_array = $target_folder_obj->get_path_folder_obj_array(); $path_array = array(); foreach ($path_folder_obj_array as $path_folder_obj_index => $path_folder_obj) { if ($path_folder_obj_index != 0) { array_push($path_array, $path_folder_obj->get_folder_name()); } } array_push($path_array, $file_info_row['display_file_name']); $file_info_row_array[$index]['path_array'] = $path_array; } // プットファイル foreach ($put_file_info_row_array as $index => $file_info_row) { // プットされたフォルダの直下に位置するプットファイルのfolder_idは // プットされたフォルダのfolder_idに変換する if ($file_info_row['put_community_folder_id'] != '') { $file_info_row['folder_id'] = $file_info_row['put_community_folder_id']; $put_file_info_row_array[$index] = $file_info_row; } $target_folder_obj = new ACSCommunityFolder($community_id, $acs_user_info_row, $file_info_row['folder_id']); $target_file_obj = new ACSFile($file_info_row); $put_file_info_row_array[$index]['file_size'] = $target_file_obj->get_file_size_kb(); $put_file_info_row_array[$index]['update_date'] = $target_file_obj->get_update_date_yyyymmddhmi(); $put_file_info_row_array[$index]['is_root_folder'] = $target_folder_obj->folder_obj->get_is_root_folder(); // 公開レベル $put_file_info_row_array[$index]['open_level_code'] = $target_folder_obj->folder_obj->get_open_level_code(); $put_file_info_row_array[$index]['open_level_name'] = $target_folder_obj->folder_obj->get_open_level_name(); $open_level_master_row = ACSAccessControl::get_open_level_master_row($put_file_info_row_array[$index]['open_level_code']); $put_file_info_row_array[$index] = array_merge($put_file_info_row_array[$index], $open_level_master_row); $put_file_info_row_array[$index]['trusted_community_row_array'] = $target_folder_obj->folder_obj->get_trusted_community_row_array(); // パス $path_folder_obj_array = $target_folder_obj->get_path_folder_obj_array(); $path_array = array(); foreach ($path_folder_obj_array as $path_folder_obj_index => $path_folder_obj) { if ($path_folder_obj_index != 0) { array_push($path_array, $path_folder_obj->get_folder_name()); } } array_push($path_array, $file_info_row['display_file_name']); $put_file_info_row_array[$index]['path_array'] = $path_array; } } // set $request->setAttribute('community_row', $community_row); $request->setAttribute('form', $form); $request->setAttribute('folder_row_array', $folder_row_array); $request->setAttribute('put_folder_row_array', $put_folder_row_array); $request->setAttribute('file_info_row_array', $file_info_row_array); $request->setAttribute('put_file_info_row_array', $put_file_info_row_array); return View::INPUT; }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); // get $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $target_user_info_row = $request->getAttribute('target_user_info_row'); $user_folder_obj = $request->getAttribute('user_folder_obj'); // フォルダの所有者 $target_user_community_id = $target_user_info_row['user_community_id']; $target_user_community_info_row['community_name'] = $target_user_info_row['community_name']; $target_user_community_info_row['top_page_url'] = $this->getControllerPath('User', DEFAULT_ACTION); $target_user_community_info_row['top_page_url'] .= '&id=' . $target_user_community_id; // 対象のフォルダ $folder_obj = $user_folder_obj->get_folder_obj(); // 本人のページかどうか $is_self_page = false; if ($target_user_community_id == $acs_user_info_row['user_community_id']) { $is_self_page = true; } // 対象のフォルダ情報 $folder_info_row = array(); $folder_info_row['folder_name'] = $folder_obj->get_folder_name(); $folder_info_row['folder_url'] = $this->getControllerPath('User', 'Folder'); $folder_info_row['folder_url'] .= '&id=' . $target_user_community_id; // フォルダへ戻るURL $back_url = $folder_info_row['folder_url']; // プット先コミュニティ取得 $org_put_community_row_array = $folder_obj->get_put_community_row_array(); // プット先コミュニティを表示用に加工 $put_community_row_array = array(); // テンプレートに渡すプット先コミュニティ情報 foreach ($org_put_community_row_array as $put_community_row) { // メンバでない非公開コミュニティは表示対象にしない $_is_community_member = ACSCommunity::is_community_member($acs_user_info_row['user_community_id'], $put_community_row['community_id']); if ($put_community_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D03') && !$_is_community_member) { continue; } $_put_community_row = array(); // ---------------------- // プット先コミュニティ加工 // コミュニティ名 $_put_community_row['community_name'] = $put_community_row['community_name']; // コミュニティトップページURL $_put_community_row['top_page_url'] = $this->getControllerPath('Community', DEFAULT_ACTION); $_put_community_row['top_page_url'] .= '&community_id=' . $put_community_row['community_id']; // ---------------------- // プット先フォルダ加工 // ACSFolder インスタンス生成 // プット先フォルダのパス情報を取得するため $put_folder_obj = new ACSCommunityFolder($put_community_row['community_id'], $acs_user_info_row, $put_community_row['put_community_folder_id']); // プット先フォルダ名(コミュニティフォルダのパス) $put_folder_path = $put_folder_obj->get_path_folder_obj_array(); $folder_path_str = ""; foreach ($put_folder_path as $_folder_obj) { // ルートフォルダは追加しない if ($_folder_obj->is_root_folder) { continue; } $folder_path_str .= $_folder_obj->get_folder_name(); $folder_path_str .= "/"; } $_put_community_row['put_folder_name'] = $folder_path_str; // プット先フォルダURL $put_folder_url = $this->getControllerPath('Community', 'Folder'); $put_folder_url .= '&community_id=' . $put_community_row['community_id']; $put_folder_url .= '&folder_id=' . $put_community_row['put_community_folder_id']; $_put_community_row['put_folder_url'] = $put_folder_url; array_push($put_community_row_array, $_put_community_row); } // テンプレート $this->setScreenId("0001"); $this->setTemplate('PutCommunity.tpl.php'); // set $this->setAttribute('target_user_community_info_row', $target_user_community_info_row); $this->setAttribute('is_self_page', $is_self_page); $this->setAttribute('folder_info_row', $folder_info_row); $this->setAttribute('back_url', $back_url); $this->setAttribute('put_community_row_array', $put_community_row_array); return parent::execute(); }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); // get $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $target_user_info_row = $request->getAttribute('target_user_info_row'); $user_folder_obj = $request->getAttribute('user_folder_obj'); $detail_user_folder_obj = $request->getAttribute('detail_user_folder_obj'); $target_user_community_id = $target_user_info_row['user_community_id']; // URL付加情報(表示するユーザ情報) $target_community_info = '&id=' . $target_user_community_id; $folder_info = '&folder_id=' . $user_folder_obj->folder_obj->get_folder_id(); // フォルダの所有者 $_target_user_info_row['community_name'] = $target_user_info_row['community_name']; $_target_user_info_row['top_page_url'] = $this->getControllerPath('User', DEFAULT_ACTION); $_target_user_info_row['top_page_url'] .= $target_community_info; // 本人かどうか if ($target_user_community_id == $acs_user_info_row['user_community_id']) { $is_self_page = true; } else { $is_self_page = false; } // プット可能なフォルダかどうか if ($user_folder_obj->is_put_available()) { $is_put_available = true; } else { $is_put_available = false; } // フォルダパス情報 $path_folder_obj_array = $user_folder_obj->get_path_folder_obj_array(); $path_folder_row_array = array(); foreach ($path_folder_obj_array as $path_folder_obj) { $path_folder_row = array(); // フォルダ名 if ($path_folder_obj->get_is_root_folder()) { $folder_name = $target_user_info_row['community_name']; //$folder_name .= "さんのフォルダ"; $folder_name = ACSMsg::get_tag_replace(ACSMsg::get_msg('User', 'FolderDetailSuccessView.class.php', 'FOLDER_NM'), array("{COMMUNITY_NAME}" => $target_user_info_row['community_name'])); } else { $folder_name = $path_folder_obj->get_folder_name(); } // フォルダURL $link_url = $this->getControllerPath('User', 'Folder'); $link_url .= $target_community_info; $link_url .= "&folder_id=" . $path_folder_obj->get_folder_id(); // set $path_folder_row['folder_name'] = $folder_name; $path_folder_row['link_url'] = $link_url; array_push($path_folder_row_array, $path_folder_row); } /* ---------------- */ /* フォルダ詳細情報 */ /* ---------------- */ $detail_folder_obj = $detail_user_folder_obj->get_folder_obj(); $detail_folder_row = array(); $detail_folder_row['folder_name'] = $detail_folder_obj->get_folder_name(); $detail_folder_row['comment'] = $detail_folder_obj->get_comment(); $detail_folder_row['open_level_name'] = $detail_folder_obj->get_open_level_name(); // 閲覧許可コミュニティ名作成 $detail_folder_row['trusted_community_row_array'] = array(); $trusted_community_row_array = $detail_folder_obj->get_trusted_community_row_array(); if ($is_self_page) { foreach ($trusted_community_row_array as $trusted_community_row) { $_trusted_community_row = array(); $_trusted_community_row['community_name'] = $trusted_community_row['community_name']; array_push($detail_folder_row['trusted_community_row_array'], $_trusted_community_row); } } // 登録者 $detail_folder_row['entry_user_community_name'] = $detail_folder_obj->get_entry_user_community_name(); $detail_folder_row['entry_user_community_link_url'] = $this->getControllerPath('User', DEFAULT_ACTION); $detail_folder_row['entry_user_community_link_url'] .= '&id=' . $detail_folder_obj->get_entry_user_community_id(); $detail_folder_row['entry_date'] = $detail_folder_obj->get_entry_date_yyyymmddhmi(); // 更新者 $detail_folder_row['update_user_community_name'] = $detail_folder_obj->get_update_user_community_name(); $detail_folder_row['update_user_community_link_url'] = $this->getControllerPath('User', DEFAULT_ACTION); $detail_folder_row['update_user_community_link_url'] .= '&id=' . $detail_folder_obj->get_update_user_community_id(); $detail_folder_row['update_date'] = $detail_folder_obj->get_update_date_yyyymmddhmi(); // プット先コミュニティ $detail_folder_row['put_community_row_array'] = array(); if ($detail_folder_obj->get_put_community_row_array()) { foreach ($detail_folder_obj->get_put_community_row_array() as $put_community_row) { // メンバでない非公開コミュニティは表示対象にしない $_is_community_member = ACSCommunity::is_community_member($acs_user_info_row['user_community_id'], $put_community_row['community_id']); if ($put_community_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D03') && !$_is_community_member) { continue; } $_put_community_row = array(); // プット先コミュニティ情報 $_put_community_row['community_name'] = $put_community_row['community_name']; $_put_community_row['top_page_url'] = $this->getControllerPath('Community', DEFAULT_ACTION); $_put_community_row['top_page_url'] .= '&community_id=' . $put_community_row['community_id']; // プット先フォルダ情報 $put_folder_obj = new ACSCommunityFolder($put_community_row['community_id'], $acs_user_info_row, $put_community_row['put_community_folder_id']); // プット先フォルダ名(コミュニティフォルダのパス) $put_folder_path = $put_folder_obj->get_path_folder_obj_array(); $folder_path_str = ""; foreach ($put_folder_path as $_folder_obj) { // ルートフォルダは追加しない if ($_folder_obj->is_root_folder) { continue; } $folder_path_str .= $_folder_obj->get_folder_name(); $folder_path_str .= "/"; } $_put_community_row['folder_name'] = $folder_path_str; $_put_community_row['folder_link_url'] = $this->getControllerPath('Community', 'Folder'); $_put_community_row['folder_link_url'] .= '&community_id=' . $put_community_row['community_id']; $_put_community_row['folder_link_url'] .= '&folder_id=' . $put_community_row['put_community_folder_id']; array_push($detail_folder_row['put_community_row_array'], $_put_community_row); } } // メニュー if ($is_self_page) { // フォルダ情報編集メニュー $edit_folder_url = $this->getControllerPath('User', 'EditFolder'); $edit_folder_url .= $target_community_info; $edit_folder_url .= $folder_info; $edit_folder_url .= '&edit_folder_id=' . $detail_user_folder_obj->folder_obj->get_folder_id(); $menu['edit_folder_url'] = $edit_folder_url; // フォルダ削除メニュー $delete_folder_url = $this->getControllerPath('User', 'DeleteFolder'); $delete_folder_url .= $target_community_info; $delete_folder_url .= $folder_info; $delete_folder_url .= '&action_type=confirm'; $delete_folder_url .= '&selected_folder[]=' . $detail_user_folder_obj->folder_obj->get_folder_id(); $menu['delete_folder_url'] = $delete_folder_url; // フォルダ移動メニュー $move_folder_url = $this->getControllerPath('User', 'MoveFolderList'); $move_folder_url .= $target_community_info; $move_folder_url .= $folder_info; $move_folder_url .= '&selected_folder[]=' . $detail_user_folder_obj->folder_obj->get_folder_id(); $menu['move_folder_url'] = $move_folder_url; } // 戻り先URL(フォルダ一覧) $back_url = ""; $back_url = $this->getControllerPath('User', 'Folder'); $back_url .= $target_community_info; $back_url .= $folder_info; // テンプレート $this->setScreenId("0001"); $this->setTemplate('FolderDetail.tpl.php'); // set $this->setAttribute('is_self_page', $is_self_page); $this->setAttribute('is_put_available', $is_put_available); $this->setAttribute('target_user_info_row', $_target_user_info_row); $this->setAttribute('path_folder_row_array', $path_folder_row_array); $this->setAttribute('detail_folder_row', $detail_folder_row); $this->setAttribute('menu', $menu); $this->setAttribute('back_url', $back_url); return parent::execute(); }