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 getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 表示対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // 他ユーザのデータが見えないようチェック if (!$this->get_execute_privilege() && $acs_user_info_row["user_community_id"] != $user_community_id) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); //送信済画面の処理 $move_id = $request->getParameter('move_id'); if ($move_id == 2) { // 全ての送信済メッセージ $message_row_array = ACSMessage::get_send_message_row_array($user_community_id); } else { // 全ての受信メッセージ $message_row_array = ACSMessage::get_receive_message_row_array($user_community_id); } // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('message_row_array', $message_row_array); $request->setAttribute('move_id', $move_id); 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を取得 $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 getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // 対象となるマイフレンズグループコミュニティIDを取得 $friends_group_community_id = $request->ACSgetParameter('community_id'); if (!$this->get_execute_privilege()) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // get // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // マイフレンズ一覧 $friends_row_array = ACSUser::get_friends_row_array($user_community_id); // 指定されたマイフレンズグループの情報 $friends_group_row = ACSCommunity::get_community_row($friends_group_community_id); // 指定されたマイフレンズグループのメンバ一覧 $friends_group_member_row_array = ACSCommunity::get_community_member_user_info_row_array($friends_group_community_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('friends_row_array', $friends_row_array); $request->setAttribute('friends_group_row', $friends_group_row); $request->setAttribute('friends_group_member_row_array', $friends_group_member_row_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を取得 $user_community_id = $request->ACSgetParameter('id'); if (!$this->get_execute_privilege()) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // マイフレンズグループ $friends_group_row_array = ACSUser::get_friends_group_row_array($user_community_id); foreach ($friends_group_row_array as $index => $friends_group_row) { $friends_group_row_array[$index]['friends_row_array'] = ACSCommunity::get_community_member_user_info_row_array($friends_group_row['community_id']); } // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('friends_group_row_array', $friends_group_row_array); return View::SUCCESS; }
function getDefaultView() { $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を取得 $user_community_id = $request->ACSgetParameter('id'); $waiting_type_code = $request->ACSgetParameter('waiting_type_code'); $waiting_status_code = $request->ACSgetParameter('waiting_status_code'); // 待機種別マスタ $waiting_type_master_array = ACSDB::get_master_array('waiting_type'); // 待機状態マスタ $waiting_status_master_array = ACSDB::get_master_array('waiting_status'); $waiting_type_name = $waiting_type_master_array[$waiting_type_code]; $waiting_status_name = $waiting_status_master_array[$waiting_status_code]; // 待機情報 $waiting_row_array = ACSWaiting::get_waiting_row_array($user_community_id, $waiting_type_name, $waiting_status_name); if ($waiting_type_name == ACSMsg::get_mst('waiting_type_master', 'D30')) { foreach ($waiting_row_array as $index => $waiting_row) { $waiting_row_array[$index]['entry_user_info_row'] = ACSUser::get_user_info_row_by_user_community_id($waiting_row['entry_user_community_id']); } } // set $request->setAttribute('waiting_type_name', $waiting_type_name); $request->setAttribute('waiting_row_array', $waiting_row_array); return View::INPUT; }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); //mode 画面の遷移を取得する $move_id = $request->getParameter('move_id'); // ユーザー情報 $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるUserIDを取得 $user_community_id = $request->getParameter('id'); // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); /* 入力画面より */ if ($move_id == 1) { //☆☆ ここからほぼ同じ // 画面上のフォーム情報を取得する $form['subject'] = $request->getParameter('subject'); //件名:subject $form['body'] = $request->getParameter('body'); //内容:body $form['info_mail'] = $request->getParameter('info_mail'); //メール通知:info_mail $user->setAttribute('new_form_obj', $form); $request->setAttribute('target_user_info_row', $target_user_info_row); //☆☆ ここまでほぼ同じ return View::SUCCESS; /* 登録確定ボタン「はい」より */ } else { if ($move_id == 2) { $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $user_community_id = $request->getParameter('id'); //☆☆ ここからほぼ同じ // 画面上のフォーム情報を取得する $form = $user->getAttribute('new_form_obj'); $new_file_obj = $form['file_obj']; $form['user_community_id'] = $user_community_id; $form['acs_user_info_id'] = $acs_user_info_row['user_community_id']; //☆☆ ここまでほぼ同じ // DBへの書き込み等 ACSDB::_do_query("BEGIN"); // Messageテーブル情報 $ret = ACSMessage::set_message($form); if ($ret) { ACSDB::_do_query("COMMIT"); } else { ACSDB::_do_query("ROLLBACK"); } // 通知メール送信処理 if ($form['info_mail'] == "on") { ACSMessage::send_info_mail($ret, $form['user_community_id'], $form['acs_user_info_id']); } // 書き込み後、GETの処理へ $action_url = $this->getControllerPath('User', 'MessageBox') . '&id=' . $acs_user_info_row['user_community_id'] . '&move_id=2'; header("Location: {$action_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(); // 必須チェック // Validator でできないチェックはここで行う if (!$request->getParameter('selected_folder') && !$request->getParameter('selected_file')) { // エラーの場合、処理終了 return $this->setError($controller, $request, $user, 'selected_folder', ACSMsg::get_msg('User', 'RenameFolderListAction.class.php', 'M001')); } $acs_user_info_row = $user->getAttribute('acs_user_info_row'); if (!$this->get_execute_privilege()) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // 対象となるユーザコミュニティIDを取得 $target_user_community_id = $request->getParameter('id'); // 対象となるフォルダIDを取得 $target_user_community_folder_id = $request->getParameter('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); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('user_folder_obj', $user_folder_obj); // 名前変更対象を取得 // フォルダ $selected_folder_obj_array = array(); // View にわたす変更対象のフォルダ $selected_folder_row_array = array(); $selected_folder_array = $request->getParameter('selected_folder'); if ($selected_folder_array) { foreach ($selected_folder_array as $selected_folder_id) { $_selected_folder_obj = $user_folder_obj->folder_obj->get_folder_obj($selected_folder_id); array_push($selected_folder_obj_array, $_selected_folder_obj); } } // ファイル $selected_file_obj_array = array(); // View にわたす変更対象のファイル $selected_file_row_array = array(); $selected_file_array = $request->getParameter('selected_file'); if ($selected_file_array) { foreach ($selected_file_array as $selected_file_id) { $_selected_file_obj = $user_folder_obj->folder_obj->get_file_obj($selected_file_id); array_push($selected_file_obj_array, $_selected_file_obj); } } // set $request->setAttribute('selected_folder_obj_array', $selected_folder_obj_array); $request->setAttribute('selected_file_obj_array', $selected_file_obj_array); return View::INPUT; }
function get_access_control_info(&$controller, &$request, &$user) { $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->getParameter('id'); // コミュニティ情報 $user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // アクセス制御情報 // $friends_list_contents_row = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D11')); $access_control_info = array('role_array' => ACSAccessControl::get_user_community_role_array($acs_user_info_row, $user_info_row), 'contents_row_array' => array($friends_list_contents_row)); return $access_control_info; }
function getDefaultView() { $context =& $this->getContext(); $user = $context->getUser(); $request = $context->getRequest(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 表示対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); $year = $request->ACSgetParameter('year'); // 年 $month = $request->ACSgetParameter('month'); // 月 $day = $request->ACSgetParameter('day'); // 日 if (checkdate($month, $day, $year)) { // 年月日指定 $diary_row_array = ACSDiary::get_diary_row_array_by_year_month_day($user_community_id, $year, $month, $day); } elseif (checkdate($month, 1, $year)) { // 年月指定 $diary_row_array = ACSDiary::get_diary_row_array_by_year_month($user_community_id, $year, $month); unset($day); } else { // 全てのダイアリー $diary_row_array = ACSDiary::get_diary_row_array($user_community_id); unset($year); unset($month); unset($day); } // 公開範囲を最終登録と同じもので表示しておく if ($diary_row_array) { $last_open_level_code = $diary_row_array[0]['open_level_code']; } // 信頼済みコミュニティ情報 foreach ($diary_row_array as $index => $diary_row) { if ($diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) { $diary_row_array[$index]['trusted_community_row_array'] = ACSDiary::get_diary_trusted_community_row_array($diary_row['diary_id']); } } // 公開範囲 $open_level_master_row_array = ACSAccessControl::get_open_level_master_row_array(ACSMsg::get_mst('community_type_master', 'D10'), ACSMsg::get_mst('contents_type_master', 'D21')); // マイフレンズグループ $friends_group_row_array = ACSUser::get_friends_group_row_array($user_community_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('diary_row_array', $diary_row_array); $request->setAttribute('open_level_master_row_array', $open_level_master_row_array); $request->setAttribute('friends_group_row_array', $friends_group_row_array); $request->setAttribute('last_open_level_code', $last_open_level_code); return View::INPUT; }
function getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象のmessage_idを取得 $message_id = $request->ACSgetParameter('message_id'); // ユーザ情報 $user_community_id = $request->ACSgetParameter('id'); $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // 他ユーザのデータが見えないようチェック if ($this->get_execute_privilege() == 2 && $acs_user_info_row["user_community_id"] != $user_community_id) { // ログイン画面に遷移 $controller->forward("User", "Login"); return; } if ($this->get_execute_privilege() == 1 && $acs_user_info_row["user_community_id"] != $user_community_id) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } //送信済画面の処理 $move_id = $request->getParameter('move_id'); if ($move_id == 2) { // 送信済メッセージ詳細 $message_row = ACSMessage::get_send_message_row($message_id); } else { // 受信メッセージ詳細 $message_row = ACSMessage::get_receive_message_row($message_id); // 未読・既読判定 if ($message_row['read_flag'] == "f") { // 未読時、DBのフラグ変更 $message_receiver_id = $message_row['message_receiver_id']; ACSDB::_do_query("BEGIN"); // message_receiverテーブル情報変更 $ret = ACSMessage::read_message($message_receiver_id); if ($ret) { ACSDB::_do_query("COMMIT"); } else { ACSDB::_do_query("ROLLBACK"); } } } // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('message_row', $message_row); $request->setAttribute('move_id', $move_id); return View::INPUT; }
/** * 初期画面 * 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; }
function getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); return View::INPUT; }
function execute() { $context =& $this->getContext(); $user = $context->getUser(); $request = $context->getRequest(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // get $target_user_info_row = $request->getAttribute('target_user_info_row'); $new_diary_row_array = $request->getAttribute('new_diary_row_array'); // 加工 foreach ($new_diary_row_array as $index => $new_diary_row) { $new_diary_row_array[$index]['diary_comment_url'] = $this->getControllerPath(DEFAULT_MODULE, 'DiaryComment') . '&id=' . $new_diary_row['community_id'] . '&diary_id=' . $new_diary_row['diary_id']; $new_diary_row_array[$index]['is_unread'] = ACSLib::get_boolean($new_diary_row['is_unread']); } // 新着日記一覧URL $new_diary_url = $this->getControllerPath(DEFAULT_MODULE, 'NewDiary') . '&id=' . $target_user_info_row['user_community_id']; // 表示件数制御 $display_count = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D02'), 'NEW_INFO_TOP_DISPLAY_MAX_COUNT'); //---- アクセス制御 ----// $_new_diary_row_array = array(); foreach ($new_diary_row_array as $index => $new_diary_row) { if (count($_new_diary_row_array) >= $display_count) { break; } // diary_trusted_community if ($new_diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) { $new_diary_row_array[$index]['trusted_community_row_array'] = $new_diary_row['trusted_community_row_array'] = ACSDiary::get_diary_trusted_community_row_array($new_diary_row['diary_id']); } $diary_target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($new_diary_row['community_id']); $role_array = ACSAccessControl::get_user_community_role_array($acs_user_info_row, $diary_target_user_info_row); $new_diary_row = ACSAccessControl::get_valid_row_for_user_community($acs_user_info_row, $role_array, $new_diary_row); if ($new_diary_row) { array_push($_new_diary_row_array, $new_diary_row); } } $new_diary_row_array = $_new_diary_row_array; //----------------------// // set $this->setAttribute('target_user_info_row', $target_user_info_row); $this->setAttribute('new_diary_row_array', $new_diary_row_array); $this->setAttribute('new_diary_url', $new_diary_url); $this->setAttribute('get_days', $request->getAttribute('get_days')); // テンプレート $this->setTemplate('NewDiary.tpl.php'); $context->getController()->setRenderMode(View::RENDER_VAR); $request->setAttribute("NewDiary", $this->render()); return parent::execute(); }
function get_execute_privilege(&$controller, &$request, &$user) { // 公開範囲情報取得 $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $diary_file_row = ACSDiaryFile::get_diary_file_row_by_file_id($request->ACSgetParameter('id')); $diary_row = ACSDiary::get_diary_row($diary_file_row['diary_id']); if (!$diary_row) { return false; } $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($diary_row['community_id']); if ($diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) { $diary_row['trusted_community_row_array'] = ACSDiary::get_diary_trusted_community_row_array($diary_row['diary_id']); } // アクセス制御判定 $role_array = ACSAccessControl::get_user_community_role_array($acs_user_info_row, $target_user_info_row); $ret = ACSAccessControl::is_valid_user_for_user_community($acs_user_info_row, $role_array, $diary_row); return $ret; }
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を取得 $user_community_id = $request->ACSgetParameter('id'); // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // 公開範囲のリストデータ $open_level_master_row_array = ACSAccessControl::get_open_level_master_row_array(ACSMsg::get_mst('community_type_master', 'D10'), ACSMsg::get_mst('contents_type_master', 'D21')); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('open_level_master_row_array', $open_level_master_row_array); return View::INPUT; }
function execute() { $context =& $this->getContext(); $controller = $context->getController(); $user = $context->getUser(); $request = $context->getRequest(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); if ($user_community_id == null || $user_community_id == '') { $user_community_id = $request->getAttribute("id"); } // 他ユーザのデータが見えないようチェック if (!$this->get_execute_privilege() && $acs_user_info_row["user_community_id"] != $user_community_id) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // インライン表示の場合: 1(true) $inline_mode = $request->ACSgetParameter('inline_mode'); if ($inline_mode == null || $inline_mode == '') { $inline_mode = $request->getAttribute("inline_mode"); } // 取得範囲の指定 $get_days = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D02'), $inline_mode ? 'NEW_INFO_TOP_TERM' : 'NEW_INFO_LIST_TERM'); $request->setAttribute('get_days', $get_days); // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // コメントしたダイアリー一覧を取得する if ($inline_mode) { $commented_diary_row_array = ACSDiary::get_commented_diary_row_array($user_community_id, $get_days, true); } else { $commented_diary_row_array = ACSDiary::get_commented_diary_row_array($user_community_id, $get_days); } // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('commented_diary_row_array', $commented_diary_row_array); if ($inline_mode) { return View::INPUT; } else { return View::SUCCESS; } }
/** * プット先コミュニティ選択画面表示 */ function getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // 対象となるフォルダIDを取得 $target_folder_id = $request->ACSgetParameter('folder_id'); // 他ユーザのデータが見えないようチェック if (!$this->get_execute_privilege()) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // マイコミュニティ $community_row_array = ACSUser::get_community_row_array($user_community_id); // マイコミュニティのフォルダツリーを追加 $community_folder_obj_array = array(); $community_row_index = 0; foreach ($community_row_array as $community_row) { $community_folder_obj = array(); $folder_tree = array(); // ルートフォルダのインスタンス生成 $community_folder_obj = new ACSCommunityFolder($community_row['community_id'], $acs_user_info_row, ''); $folder_tree = $community_folder_obj->get_folder_tree(); $community_row_array[$community_row_index]['folder_tree'] = $folder_tree; $community_row_index++; } // プット先コミュニティ(設定されているコミュニティ) $put_community_row_array = ACSFolderModel::select_put_community($target_folder_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('target_folder_id', $target_folder_id); $request->setAttribute('community_row_array', $community_row_array); $request->setAttribute('put_community_row_array', $put_community_row_array); return View::INPUT; }
/** * 初期画面 * GETメソッドの場合、呼ばれる */ 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'); // 表示するページの所有者情報取得 $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); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('user_folder_obj', $user_folder_obj); return View::SUCCESS; }
function getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); // 表示対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // 他ユーザのデータが見えないようチェック if (!$this->get_execute_privilege()) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); 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を取得 $user_community_id = $request->ACSgetParameter('id'); // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // マイコミュニティ $community_row_array = ACSUser::get_community_row_array($user_community_id); // コミュニティ全体の公開範囲をセットする foreach ($community_row_array as $index => $community_row) { $community_row_array[$index]['contents_row_array']['self'] = ACSCommunity::get_contents_row($community_row['community_id'], ACSMsg::get_mst('contents_type_master', 'D00')); $community_row_array[$index]['is_community_member'] = ACSCommunity::is_community_member($acs_user_info_row['user_community_id'], $community_row['community_id']); } // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('community_row_array', $community_row_array); return View::SUCCESS; }
function getDefaultView() { $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); // ファイル情報取得 $file_obj = ACSFile::get_file_info_instance($file_id); // ファイルの詳細情報 $file_detail_info_row = ACSFileDetailInfo::get_file_detail_info_row($file_id); // マスタ $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('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_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::SUCCESS; }
function getDefaultView() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // 削除するユーザコミュニティIDを取得 $delete_user_community_id = $request->ACSgetParameter('delete_user_community_id'); if (!$this->get_execute_privilege()) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // ユーザ情報 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); // 削除するユーザ情報 $delete_user_info_row = ACSUser::get_user_info_row_by_user_community_id($delete_user_community_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('delete_user_info_row', $delete_user_info_row); return View::INPUT; }
function get_user_info_row_array($user_community_id_array) { $user_info_row_array = array(); foreach ($user_community_id_array as $user_community_id) { $user_info_row = array(); $user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id); array_push($user_info_row_array, $user_info_row); } return $user_info_row_array; }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); // 必須チェック // Validator でできないチェックはここで行う if (!$request->getParameter('selected_folder') && !$request->getParameter('selected_file')) { // エラーの場合、処理終了 //return $this->setError($controller, $request, $user, 'selected_folder', '削除するフォルダ・ファイルを選択してください。'); return $this->setError($controller, $request, $user, 'selected_folder', ACSMsg::get_msg('User', 'DeleteFolderAction.class.php', 'M001')); } $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'); // 表示するページの所有者情報取得 $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); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('user_folder_obj', $user_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 = $user_folder_obj->folder_obj->get_folder_obj($folder_id); $ret = $user_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) { // 削除処理 $_file_obj = $user_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('User', 'Folder'); $folder_action .= '&id=' . $target_user_community_id; $folder_action .= '&folder_id=' . $target_user_community_folder_id; header("Location: {$folder_action}"); } }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); // 必須チェック // Validator でできないチェックはここで行う if (!$request->getParameter('selected_message')) { // エラーの場合、処理終了 return $this->setError($controller, $request, $user, 'selected_message', ACSMsg::get_msg('User', 'DeleteMessageAction.class.php', 'M001')); } $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $target_user_community_id = $request->getParameter('id'); // 対象となるメッセージIDを取得 $target_message_id = $request->getParameter('selected_message'); // 表示するページの所有者情報取得 $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($target_user_community_id); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('target_message_id', $target_message_id); $request->setAttribute('move_id', $request->getParameter('move_id')); /* ------------ */ /* 確認画面表示 */ /* ------------ */ if ($request->getParameter('action_type') == 'confirm') { return View::SUCCESS; } elseif ($request->getParameter('action_type') == 'delete') { $move_id = $request->getParameter('move_id'); ACSDB::_do_query("BEGIN"); // フォルダ $folder_row_array = array(); $delete_message_id_array = $request->getParameter('selected_message'); if ($delete_message_id_array) { if ($move_id == 2) { foreach ($delete_message_id_array as $message_id) { // 削除処理 $ret = ACSMessage::delete_send_message($message_id); if (!$ret) { ACSDB::_do_query("ROLLBACK;"); print "ERROR: Delete message failed."; exit; } } } else { foreach ($delete_message_id_array as $message_id) { // 削除処理 $ret = ACSMessage::delete_receive_message($message_id); if (!$ret) { ACSDB::_do_query("ROLLBACK;"); print "ERROR: Delete message failed."; exit; } } } } ACSDB::_do_query("COMMIT;"); // フォルダ表示アクション呼び出し $message_action = $this->getControllerPath('User', 'MessageBox'); $message_action .= '&id=' . $target_user_community_id; if ($move_id == 2) { $message_action .= '&move_id=2'; } header("Location: {$message_action}"); } }
/** * ユーザコミュニティIDを指定して、ユーザ情報(プロフィール)を取得する * * @param ユーザコミュニティID * @param $include_private_flag 非公開ユーザコミュニティも含める * @return ユーザ情報 (連想配列) */ static function get_user_profile_row($user_community_id, $include_private_flag = false) { $user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id, $include_private_flag); if (!$user_info_row) { return; } // プロフィール(contents) $user_info_row['contents_row_array'] = array(); $user_info_row['contents_row_array']['user_name'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D01')); $user_info_row['contents_row_array']['mail_addr'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D02')); $user_info_row['contents_row_array']['belonging'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D03')); $user_info_row['contents_row_array']['speciality'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D04')); $user_info_row['contents_row_array']['birthplace'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D05')); $user_info_row['contents_row_array']['birthday'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D06')); $user_info_row['contents_row_array']['community_profile'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D07')); $user_info_row['contents_row_array']['community_profile_login'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D08')); $user_info_row['contents_row_array']['community_profile_friend'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D09')); $user_info_row['contents_row_array']['self'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D00')); $user_info_row['contents_row_array']['friends_list'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D11')); $user_info_row['contents_row_array']['mail_lang'] = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D51')); // データ無しの場合は空のarrayを入れる foreach ($user_info_row['contents_row_array'] as $contents_key => $contents_row) { if (!$contents_row) { $user_info_row['contents_row_array'][$contents_key] = array(); } } // 信頼済みコミュニティ // birthplace if ($user_info_row['contents_row_array']['birthplace']['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) { // trusted_community_flag $user_info_row['contents_row_array']['birthplace']['trusted_community_row_array'] = ACSCommunity::get_contents_trusted_community_row_array($user_community_id, $user_info_row['contents_row_array']['birthplace']['contents_type_code'], $user_info_row['contents_row_array']['birthplace']['open_level_code']); if (count($user_info_row['contents_row_array']['birthplace']['trusted_community_row_array']) && $user_info_row['contents_row_array']['birthplace']['trusted_community_row_array'][0]['community_type_name'] == ACSMsg::get_mst('community_type_master', 'D20')) { $user_info_row['contents_row_array']['birthplace']['trusted_community_flag'] = 0; } else { $user_info_row['contents_row_array']['birthplace']['trusted_community_flag'] = 1; } // trusted_community_id_csv $trusted_community_id_array = array(); foreach ($user_info_row['contents_row_array']['birthplace']['trusted_community_row_array'] as $trusted_community_row) { array_push($trusted_community_id_array, $trusted_community_row['community_id']); } $user_info_row['contents_row_array']['birthplace']['trusted_community_id_csv'] = implode(',', $trusted_community_id_array); } // birthday if ($user_info_row['contents_row_array']['birthday']['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) { // trusted_community_flag $user_info_row['contents_row_array']['birthday']['trusted_community_row_array'] = ACSCommunity::get_contents_trusted_community_row_array($user_community_id, $user_info_row['contents_row_array']['birthday']['contents_type_code'], $user_info_row['contents_row_array']['birthday']['open_level_code']); if (count($user_info_row['contents_row_array']['birthday']['trusted_community_row_array']) && $user_info_row['contents_row_array']['birthday']['trusted_community_row_array'][0]['community_type_name'] == ACSMsg::get_mst('community_type_master', 'D20')) { $user_info_row['contents_row_array']['birthday']['trusted_community_flag'] = 0; } else { $user_info_row['contents_row_array']['birthday']['trusted_community_flag'] = 1; } // trusted_community_id_csv $trusted_community_id_array = array(); foreach ($user_info_row['contents_row_array']['birthday']['trusted_community_row_array'] as $trusted_community_row) { array_push($trusted_community_id_array, $trusted_community_row['community_id']); } $user_info_row['contents_row_array']['birthday']['trusted_community_id_csv'] = implode(',', $trusted_community_id_array); } // flat foreach ($user_info_row['contents_row_array'] as $contents_key => $contents_row) { $user_info_row[$contents_key] = $contents_row['contents_value']; } return $user_info_row; }
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 $target_user_info_row = $request->getAttribute('target_user_info_row'); $diary_row_array = $request->getAttribute('diary_row_array_result'); $open_level_master_row_array = $request->getAttribute('open_level_master_row_array'); $friends_group_row_array = $request->getAttribute('friends_group_row_array'); $err_str = $request->getAttribute('err_str'); $form_pre = $request->getAttribute('form_pre'); // トップページURL $link_page_url['top_page_url'] = $this->getControllerPath(DEFAULT_MODULE, 'Diary') . '&id=' . $acs_user_info_row['user_community_id']; //他人の日記を閲覧している場合のトップページURL $link_page_url['else_user_top_page_url'] = $this->getControllerPath(DEFAULT_MODULE, 'Index') . '&id=' . $target_user_info_row['community_id']; //他人の日記を閲覧している場合の日記ページURL $link_page_url['else_user_diary_url'] = $this->getControllerPath(DEFAULT_MODULE, 'Diary') . '&id=' . $target_user_info_row['community_id']; //検索画面url $link_page_url['search_diary_url'] = SCRIPT_PATH; // get でサブミットするための、遷移先情報 $module = 'User'; $action = 'SearchResultDiary'; $id = $target_user_info_row['community_id']; $move_id = '2'; // 加工 if ($diary_row_array) { foreach ($diary_row_array as $index => $diary_row) { // ユーザ画像URL $diary_row_array[$index]['image_url'] = ACSUser::get_image_url($diary_row['community_id'], 'thumb'); //ユーザページ $user_row = ACSUser::get_user_profile_row($diary_row['community_id']); $diary_row_array[$index]['top_page_url'] = $this->getControllerPath(DEFAULT_MODULE, DEFAULT_ACTION) . '&id=' . $diary_row['community_id']; $diary_row_array[$index]['community_name'] = $user_row['community_name']; // 投稿日時 $diary_row_array[$index]['post_date'] = ACSLib::convert_pg_date_to_str($diary_row['post_date']); // コメントページURL $diary_row_array[$index]['diary_comment_url'] = $this->getControllerPath('User', 'DiaryComment') . '&id=' . $diary_row['community_id'] . '&diary_id=' . $diary_row['diary_id']; // 信頼済みコミュニティ(マイフレンズグループ)が定義されているか if ($diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) { if (count($diary_row['trusted_community_row_array']) && $diary_row['trusted_community_row_array'][0]['community_type_name'] == ACSMsg::get_mst('community_type_master', 'D20')) { $diary_row_array[$index]['trusted_community_flag'] = 0; } else { $diary_row_array[$index]['trusted_community_flag'] = 1; } } } //---- アクセス制御 ----// $role_array = ACSAccessControl::get_user_community_role_array($acs_user_info_row, $target_user_info_row); $diary_row_array = ACSAccessControl::get_valid_row_array_for_user_community($acs_user_info_row, $role_array, $diary_row_array); //特別::全件検索の場合 ターゲットが自分のままになってしまうことを回避 $diary_row_array_result = array(); foreach ($diary_row_array as $index => $diary_row) { $diary_target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($diary_row['community_id']); $role_array = ACSAccessControl::get_user_community_role_array($acs_user_info_row, $diary_target_user_info_row); $is_valid_user = ACSAccessControl::is_valid_user_for_community($acs_user_info_row, $role_array, $diary_row); if ($is_valid_user) { //アクセス権がある array_push($diary_row_array_result, $diary_row); } } //----------------------// } // 本人のページかどうか if ($target_user_info_row['user_community_id'] == $acs_user_info_row['user_community_id']) { $is_self_page = 1; } else { $is_self_page = 0; } // set $this->setAttribute('target_user_info_row', $target_user_info_row); $this->setAttribute('diary_row_array_result', $diary_row_array_result); $this->setAttribute('is_self_page', $is_self_page); $this->setAttribute('link_page_url', $link_page_url); $this->setAttribute('open_level_master_row_array', $open_level_master_row_array); $this->setAttribute('friends_group_row_array', $friends_group_row_array); $this->setAttribute('err_str', $err_str); $this->setAttribute('form_pre', $form_pre); $this->setAttribute('module', $module); $this->setAttribute('action', $action); $this->setAttribute('id', $id); $this->setAttribute('move_id', $move_id); // テンプレート $this->setScreenId("0001"); $this->setTemplate('SearchResultDiary.tpl.php'); return parent::execute(); }
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'); // 処理の種類 $action_type = $request->getParameter('action_type'); // get $form = $request->ACSGetParameters(); // Validatorで出来ないエラーチェックを行う // if (mb_strlen($form['folder_name']) > 100) { $this->setError($controller, $request, $user, 'folder_name', ACSMsg::get_msg('User', 'EditFolderAction.class.php', 'M001')); return $this->handleError(&$controller, &$request, &$user); } // 表示するページの所有者情報取得 $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); // set $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('user_folder_obj', $user_folder_obj); /* ----------------- */ /* 入力画面表示処理 */ /* ----------------- */ // action_type (create or update) が存在し、エラーで遷移してきていない場合 if (!$action_type || $this->hasErrors($controller, $request, $user)) { return $this->getDefaultView(); } // 選択された公開範囲の判別のためのデータ取得 $open_level_master_row_array = ACSAccessControl::get_all_open_level_master_row_array(); /* ---------- */ /* 入力値取得 */ /* ---------- */ $edit_folder_id = $request->getParameter('edit_folder_id'); $input_folder_row = array(); $input_folder_row['folder_name'] = $request->getParameter('folder_name'); $input_folder_row['comment'] = $request->getParameter('comment'); $input_folder_row['open_level_code'] = $request->getParameter('open_level_code'); $open_level_row = $open_level_master_row_array[$input_folder_row['open_level_code']]; $open_level_name = $open_level_row['open_level_name']; if ($open_level_name == ACSMsg::get_mst('open_level_master', 'D05')) { if ($request->getParameter('trusted_community_flag') == '0') { // 全ての友人をセット $friends_community_id = ACSUser::get_friends_community_id($target_user_community_id); $input_folder_row['trusted_community_id_array'] = array($friends_community_id); } else { // マイフレンズグループの場合は、指定されているマイフレンズグループIDをセット $input_folder_row['trusted_community_id_array'] = $request->getParameter('trusted_community'); } } /* ---------------------- */ /* フォルダ名重複チェック */ /* ---------------------- */ // 対象となるフォルダ配下のフォルダを取得 $sub_folder_obj_array = $user_folder_obj->folder_obj->get_folder_obj_array(); foreach ($sub_folder_obj_array as $sub_folder_obj) { if ($sub_folder_obj->get_folder_id() == $edit_folder_id) { // 更新対象のフォルダはチェック対象としない continue; } if ($sub_folder_obj->get_folder_name() == $input_folder_row['folder_name']) { // エラーメッセージをセットし、処理を中断する return $this->setError($controller, $request, $user, 'folder_name', ACSMsg::get_msg('User', 'EditFolderAction.class.php', 'M003') . '[' . $input_folder_row['folder_name'] . ']'); } } ACSDB::_do_query("BEGIN"); /* -------- */ /* 登録処理 */ /* -------- */ if ($action_type == 'create') { $ret = $user_folder_obj->folder_obj->create_folder($input_folder_row); if (!$ret) { ACSDB::_do_query("ROLLBACK;"); print "ERROR: フォルダを作成できませんでした。"; exit; } } elseif ($action_type == 'update') { /* -------- */ /* 更新処理 */ /* -------- */ // 更新対象のフォルダ情報取得 $update_user_folder_obj = new ACSUserFolder($request->getParameter('id'), $acs_user_info_row, $edit_folder_id); $ret = $update_user_folder_obj->folder_obj->update_folder($input_folder_row); if (!$ret) { ACSDB::_do_query("ROLLBACK;"); print "ERROR: フォルダ情報を変更できませんでした。"; exit; } } ACSDB::_do_query("COMMIT;"); /* -------------------- */ /* フォルダ一覧画面表示 */ /* -------------------- */ $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $folder_action = $this->getControllerPath('User', 'Folder'); $folder_action .= '&id=' . $target_user_info_row['user_community_id']; $folder_action .= '&folder_id=' . $target_user_community_folder_id; header("Location: {$folder_action}"); }