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を取得 $community_id = $request->ACSgetParameter('community_id'); // コミュニティ情報 $community_row = ACSCommunity::get_community_row($community_id); $form = $request->ACSGetParameters(); $form['community_id'] = $community_row['community_id']; // 更新 ACSCommunity::update_community_admin($acs_user_info_row, $form); $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'EditCommunityAdminAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'EditCommunityAdminAction.class.php', 'M002')); $done_obj->add_link(ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'EditCommunityAdminAction.class.php', 'BACK_TO_CM'), array("{COMMUNITY_NAME}" => $community_row['community_name'])), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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'); $form = $request->ACSGetParameters(); $form['user_community_id'] = $acs_user_info_row['user_community_id']; if ($form['community_ml_address'] != '') { // コミュニティMLにプレフィックス・サフィックスを追加 $form['community_ml_address'] = ACS_COMMUNITY_ML_ADDR_PREFIX . $form['community_ml_address'] . ACS_COMMUNITY_ML_ADDR_SUFFIX; } // コミュニティ作成 $community_id = ACSCommunity::set_community($form); // コミュニティ情報 $community_row = ACSCommunity::get_community_row($community_id); // forward $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'CreateCommunityAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'CreateCommunityAction.class.php', 'M002')); $done_obj->add_link($community_row['community_name'] . ' ' . ACSMsg::get_msg('Community', 'CreateCommunityAction.class.php', 'M003'), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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; } /* コミュニティ情報取得 */ $target_community_id = $request->getParameter('community_id'); $target_community_row = ACSCommunity::get_community_row($request->getParameter('community_id')); /* 削除処理 */ $delete_user_community_id_array = $request->getParameter('delete_user_community_id_array'); $ret = ACSCommunity::delete_community_member($target_community_id, $delete_user_community_id_array); if (!$ret) { "ERROR : delete community member failed"; exit; } /* 完了画面表示 */ // 引数セット $community_top_url = $this->getControllerPath('Community', ''); $community_top_url .= '&community_id=' . $target_community_row['community_id']; $community_top_link_name = ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'DeleteCommunityMemberAction.class.php', 'BACK_TO_CM'), array("{COMMUNITY_NAME}" => $target_community_row['community_name'])); $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'DeleteCommunityMemberAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'DeleteCommunityMemberAction.class.php', 'M002')); $done_obj->add_link($community_top_link_name, $community_top_url); $request->setAttribute('done_obj', $done_obj); // 画面呼び出し $controller->forward('Common', 'Done'); }
/** * コミュニティ削除処理 */ 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; } /* コミュニティ情報取得 */ $target_community_id = $request->getParameter('community_id'); $target_community_row = ACSCommunity::get_community_row($request->getParameter('community_id')); /* 削除処理 */ ACSDB::_do_query("BEGIN"); $ret = ACSCommunity::delete_community($target_community_id); if (!$ret) { ACSDB::_do_query("ROLLBACK"); "ERROR : delete community failed"; exit; } // フォルダのディレクトリ移動 $from_dir = ACS_FOLDER_DIR . "/"; $from_dir .= ACSFile::get_upload_file_save_path($target_community_id); if (file_exists($from_dir)) { $to_dir = ACS_TRASH_FOLDER_DIR . "/"; $to_dir .= ACSFile::get_upload_file_save_path($target_community_id); if (!file_exists(ACS_TRASH_FOLDER_DIR)) { // 置き場所ディレクトリがなければ作成する mkdir(ACS_TRASH_FOLDER_DIR); chmod(ACS_TRASH_FOLDER_DIR, 0777); } $ret = rename($from_dir, $to_dir); if (!$ret) { ACSDB::_do_query("ROLLBACK"); "ERROR : delete community failed"; exit; } } ACSDB::_do_query("COMMIT"); /* 完了画面表示 */ // 引数セット $message = ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'DeleteCommunityAction.class.php', 'DELETECM'), array('{TARGET_COMMUNITY_NAME}' => $target_community_row['community_name'])); $top_page_url = $this->getControllerPath('User', 'Index'); $top_page_link_name = ACSMsg::get_msg('Community', 'DeleteCommunityAction.class.php', 'M001'); $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'DeleteCommunityAction.class.php', 'M002')); $done_obj->set_message($message); $done_obj->add_link($top_page_link_name, $top_page_url); $request->setAttribute('done_obj', $done_obj); // 画面呼び出し $controller->forward('Common', 'Done'); }
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'); $form = $form = $request->ACSGetParameters(); // 対象となるコミュニティIDを取得 $community_id = $request->ACSgetParameter('community_id'); // コミュニティ情報 $community_row = ACSCommunity::get_community_profile_row($community_id); ACSDB::_do_query("BEGIN"); // 生成されたwaiting_idの配列 $waiting_id_array = array(); foreach ($form['user_community_id_array'] as $invited_user_community_id) { // コミュニティ招待承認待ち登録 $waiting_id = ACSWaiting::set_waiting_for_invite_to_community($invited_user_community_id, $community_id, $acs_user_info_row['user_community_id'], $form['message']); if (!$waiting_id) { ACSDB::_do_query("ROLLBACK"); break; } // 生成されたwaiting情報を保持 array_push($waiting_id_array, $waiting_id); } if ($waiting_id) { ACSDB::_do_query("COMMIT"); } // 生成されたwaiting情報を元に複数メール送信 foreach ($waiting_id_array as $waiting_id) { // コミュニティ招待承認依頼通知メール ACSWaiting::send_admission_request_notify_mail($waiting_id); } // forward $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'InviteToCommunityAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'InviteToCommunityAction.class.php', 'M002')); $done_obj->add_link(ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'InviteToCommunityAction.class.php', 'BACK_TO_CM'), array("{COMMUNITY_NAME}" => $community_row['community_name'])), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); $delete_user_community_id = $request->ACSgetParameter('delete_user_community_id'); $form = $request->ACSGetParameters(); // フレンズ削除 ACSUser::delete_friends($user_community_id, $delete_user_community_id); $friends_list_top_page_url = $this->getControllerPath('User', 'FriendsList') . '&id=' . $user_community_id; // ACSDone $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('User', 'DeleteFriendsAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('User', 'DeleteFriendsAction.class.php', 'M002')); $done_obj->add_link(ACSMsg::get_msg('User', 'DeleteFriendsAction.class.php', 'M003'), $friends_list_top_page_url); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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を取得 $community_id = $request->ACSgetParameter('community_id'); // コミュニティ情報 $community_row = ACSCommunity::get_community_row($community_id); $form = $request->ACSGetParameters(); $ret = ACSExternalRSS::set_external_rss_contents($community_id, $form); // forward $done_obj = new ACSDone(); if ($ret) { $done_obj->set_title(ACSMsg::get_msg('Community', 'EditExternalRSSAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'EditExternalRSSAction.class.php', 'M002')); $done_obj->add_link($community_row['community_name'] . ' ' . ACSMsg::get_msg('Community', 'EditExternalRSSAction.class.php', 'M003'), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); } else { $done_obj->set_title(ACSMsg::get_msg('Community', 'EditExternalRSSAction.class.php', 'M004')); } $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $form = $form = $request->ACSGetParameters(); // 対象となるコミュニティIDを取得 $community_id = $request->ACSgetParameter('community_id'); // コミュニティ情報 $community_row = ACSCommunity::get_community_profile_row($community_id); // 承認が必要か $is_admission_required = ACSCommunity::is_admission_required_for_join_community($acs_user_info_row['user_community_id'], $community_id); // forward $done_obj = new ACSDone(); $done_obj->set_message(ACSMsg::get_msg('Community', 'JoinCommunityAction.class.php', 'M003')); $done_obj->add_link($community_row['community_name'] . ' ' . ACSMsg::get_msg('Community', 'JoinCommunityAction.class.php', 'M004'), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); if ($is_admission_required) { // コミュニティ参加承認待ち登録 $waiting_id = ACSWaiting::set_waiting_for_join_community($community_id, $acs_user_info_row['user_community_id'], $form['message']); // 参加承認依頼通知メール ACSWaiting::send_admission_request_notify_mail($waiting_id); $done_obj->set_title(ACSMsg::get_msg('Community', 'JoinCommunityAction.class.php', 'M001')); } else { // コミュニティメンバ登録 $community_member_form = array(); $community_member_form['community_id'] = $community_id; $community_member_form['user_community_id'] = $acs_user_info_row['user_community_id']; ACSCommunity::set_community_member($community_member_form); $done_obj->set_title(ACSMsg::get_msg('Community', 'JoinCommunityAction.class.php', 'M002')); } $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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を取得 $community_id = $request->ACSgetParameter('community_id'); $form = $request->ACSGetParameters(); // コミュニティ情報 $community_row = ACSCommunity::get_community_profile_row($community_id); if ($form['mode'] == 'parent') { $parent_community_id = $form['delete_community_id']; $sub_community_id = $community_id; } elseif ($form['mode'] == 'sub') { $parent_community_id = $community_id; $sub_community_id = $form['delete_community_id']; } // 削除 ACSCommunity::delete_community_link($parent_community_id, $sub_community_id); // forward $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'DeleteCommunityLinkAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'DeleteCommunityLinkAction.class.php', 'M002')); $done_obj->add_link(ACSMsg::get_msg('Community', 'DeleteCommunityLinkAction.class.php', 'M003'), $this->getControllerPath('Community', 'CommunityLink') . '&community_id=' . $community_row['community_id']); $done_obj->add_link(ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'DeleteCommunityLinkAction.class.php', 'BACK_TO_CM'), array("{COMMUNITY_NAME}" => $community_row['community_name'])), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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->getParameter('id'); $form = $request->ACSGetParameters(); // マイフレンズ追加 承認待ち を登録する $waiting_id = ACSWaiting::set_waiting_for_add_friends($user_community_id, $acs_user_info_row['user_community_id'], $form['message']); // マイフレンズ追加 承認依頼通知メール ACSWaiting::send_admission_request_notify_mail($waiting_id); // forward $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('User', 'AddFriendsAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('User', 'AddFriendsAction.class.php', 'M002')); $done_obj->add_link(ACSMsg::get_msg('User', 'AddFriendsAction.class.php', 'M003'), './'); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
/** * コミュニティ削除処理 */ 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_community_id = $request->getParameter('community_id'); $target_community_row = ACSCommunity::get_community_row($request->getParameter('community_id')); /* 削除処理 */ ACSDB::_do_query("BEGIN"); $ret = ACSCommunity::delete_community_member($target_community_id, array($acs_user_info_row['user_community_id'])); if (!$ret) { ACSDB::_do_query("ROLLBACK"); "ERROR : Delete community member failed."; exit; } ACSDB::_do_query("COMMIT"); /* 完了画面表示 */ // 引数セット $message = ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'LeaveCommunityAction.class.php', 'LEAVE_CM'), array("{COMMUNITY_NAME}" => $target_community_row['community_name'])); // マイページトップページURL $top_page_url = $this->getControllerPath('User', 'Index'); $top_page_link_name = ACSMsg::get_msg('Community', 'LeaveCommunityAction.class.php', 'M001'); // コミュニティURL $community_top_page_url = $this->getControllerPath('Community', 'Index'); $community_top_page_url .= '&community_id=' . $target_community_row['community_id']; $community_top_page_link_name = ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'LeaveCommunityAction.class.php', 'BACK_TO_CM'), array("{COMMUNITY_NAME}" => $target_community_row['community_name'])); $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('Community', 'LeaveCommunityAction.class.php', 'M002')); $done_obj->set_message($message); $done_obj->add_link($top_page_link_name, $top_page_url); $done_obj->add_link($community_top_page_link_name, $community_top_page_url); $request->setAttribute('done_obj', $done_obj); // 画面呼び出し $controller->forward('Common', 'Done'); }
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を取得 $community_id = $request->ACSgetParameter('community_id'); $form = $request->ACSGetParameters(); // コミュニティ情報 $community_row = ACSCommunity::get_community_profile_row($community_id); // forward $done_obj = new ACSDone(); ACSDB::_do_query("BEGIN"); // 生成されたwaiting_idの配列 $waiting_id_array = array(); $ret = 1; // 1:成功 / 0:失敗 foreach ($form['trusted_community_id_array'] as $link_community_id) { if (ACSCommunity::is_community_admin($acs_user_info_row['user_community_id'], $link_community_id)) { // リンク依頼先コミュニティの管理者である場合は承認待ち登録せずに、即座にリンクを追加する if ($form['link_type'] == 'parent') { $ret = ACSCommunity::set_community_link($link_community_id, $community_id); } elseif ($form['link_type'] == 'sub') { $ret = ACSCommunity::set_community_link($community_id, $link_community_id); } } else { if ($form['link_type'] == 'parent') { // 親コミュニティ追加承認待ち登録 $waiting_id = ACSWaiting::set_waiting_for_parent_community_link($link_community_id, $community_id, $acs_user_info_row['user_community_id'], $form['message']); } elseif ($form['link_type'] == 'sub') { // サブコミュニティ追加承認待ち登録 $waiting_id = ACSWaiting::set_waiting_for_sub_community_link($link_community_id, $community_id, $acs_user_info_row['user_community_id'], $form['message']); } if ($waiting_id) { // 生成されたwaiting情報を保持 array_push($waiting_id_array, $waiting_id); } else { $ret = 0; } } if (!$ret) { ACSDB::_do_query("ROLLBACK"); break; } } if ($ret) { // COMMIT ACSDB::_do_query("COMMIT"); // 生成されたwaiting情報を元に複数メール送信 foreach ($waiting_id_array as $waiting_id) { // コミュニティ間リンク追加依頼通知メール ACSWaiting::send_admission_request_notify_mail($waiting_id); } $done_obj->set_title(ACSMsg::get_msg('Community', 'AddCommunityLinkAction.class.php', 'M001')); $done_obj->set_message(ACSMsg::get_msg('Community', 'AddCommunityLinkAction.class.php', 'M002')); $done_obj->add_link(ACSMsg::get_msg('Community', 'AddCommunityLinkAction.class.php', 'M003'), $this->getControllerPath('Community', 'CommunityLink') . '&community_id=' . $community_row['community_id']); $done_obj->add_link($community_row['community_name'] . ' ' . ACSMsg::get_msg('Community', 'AddCommunityLinkAction.class.php', 'M004'), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); } else { $done_obj->set_message('失敗しました。'); } $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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を取得 $form = $request->ACSgetParameters(); // 待機情報 $waiting_row = ACSWaiting::get_waiting_row($form['waiting_id']); // ACSDone $done_obj = new ACSDone(); if ($form['accept_button']) { // 承認ボタン押下時 // ACSDB::_do_query("BEGIN"); if ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D10')) { $ret = ACSUser::set_friends($waiting_row['community_id'], $waiting_row['waiting_community_id']); } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D30')) { $community_member_form = array('community_id' => $waiting_row['waiting_community_id'], 'user_community_id' => $waiting_row['community_id']); $ret = ACSCommunity::set_community_member($community_member_form); } if ($ret) { // 承認済みをセット $ret = ACSWaiting::update_waiting_waiting_status_code($form['waiting_id'], ACSMsg::get_mst('waiting_status_master', 'D20'), $acs_user_info_row['user_community_id'], $form['reply_message']); if ($ret) { ACSDB::_do_query("COMMIT"); // 整合性保持 if ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D10')) { // マイフレンズ追加の双方向の重複を解除 ACSWaiting::update_waiting_for_add_friends($waiting_row['community_id'], $waiting_row['waiting_community_id']); } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D30')) { // 招待の重複を解除 ACSWaiting::update_waiting_for_invite_to_community($waiting_row['community_id'], $waiting_row['waiting_community_id']); // 参加の重複を解除 ACSWaiting::update_waiting_for_join_community($waiting_row['waiting_community_id'], $waiting_row['community_id']); } // 返信メッセージ if ($form['reply_message'] != '') { $ret = ACSWaiting::send_admission_accept_notify_mail($form['waiting_id']); } //$done_obj->set_title("$waiting_row[waiting_type_name] 承認完了"); $done_obj->set_title(ACSMsg::get_tag_replace(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'FIN_ADM'), array("{WAITING_TYPE_NAME}" => $waiting_row[waiting_type_name]))); $done_obj->set_message(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'M001')); } else { $done_obj->set_message(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'M002')); } } else { ACSDB::_do_query("ROLLBACK"); } } elseif ($form['reject_button']) { // 拒否ボタン押下時 // $ret = ACSWaiting::update_waiting_waiting_status_code($form['waiting_id'], ACSMsg::get_mst('waiting_status_master', 'D30'), $acs_user_info_row['user_community_id']); if ($ret) { //$done_obj->set_title("$waiting_row[waiting_type_name] 拒否完了"); $done_obj->set_title(ACSMsg::get_tag_replace(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'FIN_DIS'), array("{WAITING_TYPE_NAME}" => $waiting_row[waiting_type_name]))); $done_obj->set_message(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'M001')); } else { $done_obj->set_message(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'M002')); } } $done_obj->add_link(ACSMsg::get_msg('User', 'WaitingListAction.class.php', 'M003'), './'); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }
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'); $form = $request->ACSGetParameters(); // システム設定データ取得(全件) $system_config_obj = new ACSSystemConfig(); // Validatorで出来ないエラーチェックを行う // $err_flg = false; foreach ($system_config_obj->get_system_config_keyword_data_obj_array() as $get_system_config_keyword_data_obj) { $keyword = $get_system_config_keyword_data_obj->get_keyword(); $system_config_group_name = $get_system_config_keyword_data_obj->get_system_config_group_name(); $name = $get_system_config_keyword_data_obj->get_name(); $type = $get_system_config_keyword_data_obj->get_type(); // numberの項目は自然数 if ($type == 'number' && !ACSErrorCheck::is_natural_number($form[$keyword])) { //$this->setError($controller, $request, $user, $keyword, "[$system_config_group_name] -> [$name] の値が正しくありません。(1以上)"); $this->setError($controller, $request, $user, $keyword, ACSMsg::get_tag_replace(ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M_WRONG_VALUE'), array("{GROUP_NAME}" => $system_config_group_name, "{NAME}" => $name, "{VAL}" => 1))); $err_flg = true; } // number0の項目は自然数(0を含む) if ($type == 'number0' && !ACSErrorCheck::is_natural_number($form[$keyword], true)) { $this->setError($controller, $request, $user, $keyword, ACSMsg::get_tag_replace(ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M_WRONG_VALUE'), array("{GROUP_NAME}" => $system_config_group_name, "{NAME}" => $name, "{VAL}" => 0))); $err_flg = true; } } if ($err_flg) { return $this->handleError(); } $ret = true; ACSDB::_do_query("BEGIN"); foreach ($system_config_obj->get_system_config_keyword_data_obj_array() as $system_config_keyword_data_obj) { $_system_config_row = array(); $param_key = $system_config_keyword_data_obj->get_keyword(); //$param_key = $system_config_keyword_data_obj->get_system_config_group() . ',' . $system_config_keyword_data_obj->get_keyword(); // parameter 取得 $update_value = $request->getParameter($param_key, 'NO_KEY'); if ($update_value == 'NO_KEY') { // POST にキーがない場合、無視する continue; } // 必須チェック //if (!$update_value) { if (trim($update_value) == '') { $ret = false; break; } // 値チェック // number 型のデータの場合、数値チェック(1 以上)を行う if ($system_config_keyword_data_obj->get_type() == 'number') { if (!is_numeric($update_value) or $update_value < 1) { $ret = false; break; } } // number0 型のデータの場合、数値チェック(0 以上)を行う if ($system_config_keyword_data_obj->get_type() == 'number0') { if (!is_numeric($update_value) or $update_value < 0) { $ret = false; break; } } // 更新処理 $ret = ACSSystemConfig::update_value($system_config_keyword_data_obj->get_system_config_group_name(), $system_config_keyword_data_obj->get_keyword(), $update_value); if (!$ret) { break; } } if (!$ret) { // rollback ACSDB::_do_query("ROLLBACK"); print "ERROR: Update configuration failed."; exit; } // commit ACSDB::_do_query("COMMIT"); // ログ登録: システム設定変更 ACSLog::set_log($acs_user_info_row, 'Change System Settings', $ret); // 完了画面表示 // 引数セット $message = ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M005'); $system_config_url = $this->getControllerPath('System', 'EditSystemConfig'); $system_config_link_name = ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M002'); $system_top_page_url = $this->getControllerPath('System', DEFAULT_ACTION); $system_top_page_link_name = ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M003'); $done_obj = new ACSDone(); $done_obj->set_title(ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M004')); $done_obj->set_message($message); $done_obj->add_link($system_config_link_name, $system_config_url); $done_obj->add_link($system_top_page_link_name, $system_top_page_url); $request->setAttribute('done_obj', $done_obj); // 画面呼び出し $controller->forward('Common', 'Done'); }
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を取得 $form = $request->ACSgetParameters(); // 待機種別マスタ $waiting_type_master_array = ACSDB::get_master_array('waiting_type'); // 待機状態マスタ $waiting_status_master_array = ACSDB::get_master_array('waiting_status'); // 待機情報 $waiting_row = ACSWaiting::get_waiting_row($form['waiting_id']); // コミュニティ情報 $community_row = ACSCommunity::get_community_row($waiting_row['community_id']); // forward $done_obj = new ACSDone(); if ($form['accept_button']) { // 承認ボタン押下時 // ACSDB::_do_query("BEGIN"); if ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D20')) { // コミュニティメンバ追加 $community_member_form = array(); $community_member_form['community_id'] = $waiting_row['community_id']; $community_member_form['user_community_id'] = $waiting_row['waiting_community_id']; $ret = ACSCommunity::set_community_member($community_member_form); } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D40')) { // コミュニティ間リンク設定 $ret = ACSCommunity::set_community_link($waiting_row['community_id'], $waiting_row['waiting_community_id']); } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D50')) { // コミュニティ間リンク設定 $ret = ACSCommunity::set_community_link($waiting_row['waiting_community_id'], $waiting_row['community_id']); } if ($ret) { // 承認済みをセット $ret = ACSWaiting::update_waiting_waiting_status_code($form['waiting_id'], ACSMsg::get_mst('waiting_status_master', 'D20'), $acs_user_info_row['user_community_id'], $form['reply_message']); if ($ret) { ACSDB::_do_query("COMMIT"); // 整合性保持 if ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D20')) { // 参加の重複を解除 ACSWaiting::update_waiting_for_join_community($waiting_row['community_id'], $waiting_row['waiting_community_id']); // 招待の重複を解除 ACSWaiting::update_waiting_for_invite_to_community($waiting_row['waiting_community_id'], $waiting_row['community_id']); } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D40')) { // 親コミュニティ追加の重複解除 ACSWaiting::update_waiting_for_parent_community_link($waiting_row['community_id'], $waiting_row['waiting_community_id']); // サブコミュニティ追加の重複解除 ACSWaiting::update_waiting_for_sub_community_link($waiting_row['waiting_community_id'], $waiting_row['community_id']); } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D50')) { // サブコミュニティ追加の重複解除 ACSWaiting::update_waiting_for_sub_community_link($waiting_row['community_id'], $waiting_row['waiting_community_id']); // 親コミュニティ追加の重複解除 ACSWaiting::update_waiting_for_parent_community_link($waiting_row['waiting_community_id'], $waiting_row['community_id']); } // 返信メッセージ if ($form['reply_message'] != '') { $ret = ACSWaiting::send_admission_accept_notify_mail($form['waiting_id']); } $done_obj->set_title(ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'FIN_ADM'), array("{WAITING_TYPE_NAME}" => $waiting_row[waiting_type_name]))); $done_obj->set_message(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'M001')); } else { $done_obj->set_message(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'M002')); } } else { ACSDB::_do_query("ROLLBACK"); } } elseif ($form['reject_button']) { // 拒否ボタン押下時 $ret = ACSWaiting::update_waiting_waiting_status_code($form['waiting_id'], ACSMsg::get_mst('waiting_status_master', 'D30'), $acs_user_info_row['user_community_id']); if ($ret) { $done_obj->set_title(ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'FIN_DIS'), array("{WAITING_TYPE_NAME}" => $waiting_row[waiting_type_name]))); $done_obj->set_message(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'M001')); } else { $done_obj->set_message(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'M002')); } } $done_obj->add_link(ACSMsg::get_tag_replace(ACSMsg::get_msg('Community', 'WaitingListAction.class.php', 'BACK_TO_CM'), array("{COMMUNITY_NAME}" => $community_row['community_name'])), $this->getControllerPath('Community', DEFAULT_ACTION) . '&community_id=' . $community_row['community_id']); $request->setAttribute('done_obj', $done_obj); $controller->forward('Common', 'Done'); }