function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $target_community_id = $request->getParameter('community_id'); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $target_community_folder_id = $request->getParameter('folder_id'); // form $form = $request->ACSGetParameters(); /* ファイルアップロード処理 */ $ret = 0; if ($_FILES['new_file']['tmp_name'] != '') { // ファイル情報取得 $file_obj = ACSFile::get_upload_file_info_instance($_FILES['new_file'], $target_community_id, $acs_user_info_row['user_community_id']); // フォルダにファイル追加処理 $user_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id); $folder_obj = $user_folder_obj->get_folder_obj(); $ret = $folder_obj->add_file($file_obj); } if (!$ret) { print "ERROR: Upload file failed."; } if ($ret) { // 新規登録したファイルID $file_id = $file_obj->get_file_id(); // 2007.12 追加 // ML通知チェックがあればMLにメール送信する $send_announce_mail = $request->getParameter('send_announce_mail'); if ($send_announce_mail == "t") { ACSCommunityMail::send_fileupload_mail($target_community_id, $acs_user_info_row, $folder_obj, $file_obj); } } // ファイル履歴情報登録 if ($ret) { $file_info_row = ACSFileInfoModel::select_file_info_row($file_id); $ret = ACSFileHistory::set_file_history($file_info_row, $acs_user_info_row['user_community_id'], $form['comment'], ACSMsg::get_mst('file_history_operation_master', 'D0101')); } // ファイル詳細情報登録 if ($form['file_category_code'] != '' && $ret) { $file_contents_type_list_row_array = ACSFileDetailInfo::get_file_contents_type_list_row_array($form['file_category_code']); $file_contents_form_array = array(); foreach ($file_contents_type_list_row_array as $file_contents_type_list_row) { $file_contents_form = array('file_id' => $file_id, 'file_contents_type_code' => $file_contents_type_list_row['file_contents_type_code'], 'file_contents_value' => $form['file_contents_array'][$file_contents_type_list_row['file_contents_type_code']]); array_push($file_contents_form_array, $file_contents_form); } $ret = ACSFileDetailInfo::set_file_detail_info($file_id, $form['file_category_code'], $file_contents_form_array); } // フォルダ表示アクション呼び出し $acs_user_info_row = $user->getAttribute('acs_user_info_row'); $folder_action = $this->getControllerPath('Community', 'Folder'); $folder_action .= '&community_id=' . $target_community_id; $folder_action .= '&folder_id=' . $target_community_folder_id; header("Location: {$folder_action}"); }
/** * プット先コミュニティ設定処理 */ function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); // 対象となるフォルダIDを取得 $target_folder_id = $request->ACSgetParameter('folder_id'); // ACSUserFolder インスタンス生成 $user_folder_obj = new ACSUserFolder($user_community_id, $acs_user_info_row, $target_folder_id); $target_folder_obj = $user_folder_obj->get_folder_obj(); // 選択された community_id, folder_id を取得 $selected_put_folder_row_array = $request->getParameter('selected_put_folder_id'); // ---------------------------- // 更新用にデータ加工 // プット先コミュニティ更新用に、row_array 作成 $put_community_row_array = array(); foreach ($selected_put_folder_row_array as $community_id => $folder_id) { array_push($put_community_row_array, array('put_community_id' => $community_id, 'put_community_folder_id' => $folder_id)); } // ---------------------------- // 更新処理 $ret = $target_folder_obj->update_put_community($target_folder_id, $put_community_row_array); if (!$ret) { print "ERROR: Update put-community failed.<br>\n"; exit; } // ML通知チェックがあればMLにメール送信する // コミュニティ情報の取得 $send_announce_mail = $request->getParameter('send_announce_mail'); if ($send_announce_mail == "t") { foreach ($selected_put_folder_row_array as $community_id => $folder_id) { $folder_info = ACSFolderModel::select_folder_row($folder_id); ACSCommunityMail::send_putfolder_mail($acs_user_info_row, $folder_info, $community_id); } } // 処理が終わったら、ウィンドウを閉じる $controller->forward('Common', 'CloseChildWindow'); }
/** * 確認・登録処理 * * POSTメソッドの場合、呼ばれる。 * "schedule_id"パラメータが無い場合は新規作成とする。 */ function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $params =& $request->getParameters(); if (!$this->get_execute_privilege()) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // 更新するスケジュールインスタンスの取得 $schedule =& $this->getFormPostSchedule(&$params, unserialize($user->getAttribute('org_schedule'))); $acs_user_info_row =& $user->getAttribute('acs_user_info_row'); // (不正対策) // 幹事以外の場合 if (!$schedule->is_organizer($acs_user_info_row)) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // (不正対策) // 決定済みのスケジュールであった場合 if ($schedule->is_fixed()) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // 追加する候補日時の設定 $append_dates = $this->getBlankOff($params['edit_append_adjustment_dates']); if ($append_dates) { $schedule->set_schdedule_adjustment_datetime_append($append_dates); } // 削除指定する候補日時の設定 $delete_dates = $params['delete_adjustment_dates']; if (is_array($delete_dates)) { foreach ($delete_dates as $delete_adjustment_date_id) { $schedule->set_schdedule_adjustment_datetime_delete($delete_adjustment_date_id); } } // 新規登録か更新かの取得 $is_new = $schedule->is_new(); // 更新の実行 $schedule->update_schedule(); // コミュニティMLへの通知 if ($params['send_annouce_mail'] == 't') { if ($is_new) { $subject_msg_key = "M003"; $action_msg_key = "M006"; } else { $subject_msg_key = "M004"; $action_msg_key = "M007"; } // 全メンバへメールを送信 ACSCommunityMail::send_schedule_announce_mail($schedule, "UPD%03d", $subject_msg_key, '', array('{ACTION}' => $action_msg_key)); } // リダイレクト(リロード対策) $controller->redirect($this->getControllerPath('Community', 'Schedule') . "&community_id=" . $schedule->community_id); }
/** * 登録実行処理 * POSTメソッドの場合、呼ばれる */ function execute() { $context = $this->getContext(); $controller = $context->getController(); $request = $context->getRequest(); $user = $context->getUser(); $params =& $request->getParameters(); // ログインユーザ情報の設定 $acs_user_info_row =& $user->getAttribute('acs_user_info_row'); $request->setAttributeByRef('acs_user_info_row', $acs_user_info_row); // 幹事でないスケジュールや決定済の場合セキュリティエラー // 最新スケジュール情報を取得して可否を確認 $schedule =& ACSSchedule::get_schedule_instance($params['community_id'], $params['schedule_id']); if ($schedule->is_fixed() || !$schedule->is_organizer($acs_user_info_row)) { // このページへアクセスすることはできません。 $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // 候補日時選択画面からのPOSTの場合 if ($params['post_from_answer'] == 't') { $request->setAttributeByRef('schedule', $schedule); $return_view = $this->getMailInputView($controller, $request, $user); // メール入力画面からのPOSTの場合 } else { // DB更新 $schedule->update_decide_schedule($params['mailentry_adjustment_id']); // システムのメールアドレスを取得 $system_mail_addr = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_MAIL_ADDR'); // メール送信相手の設定 // 自由参加の場合対象となるメンバの取得 $target_mmb = ""; if ($schedule->is_target_all() === FALSE) { $p_array =& ACSScheduleParticipant::get_schedule_participant_instance_list($schedule->schedule_id, FALSE); foreach ($p_array as $user_community_id => $schedule_participant) { $target_mmb[] = $user_community_id; } $p_array = ""; } // メールの送信 ACSCommunityMail::send_community_mail($schedule->community_id, $system_mail_addr, $params['mail_subject'], $params['mail_message'], $target_mmb); // リダイレクト(リロード対策) $controller->redirect($this->getControllerPath('Community', 'Schedule') . "&community_id=" . $schedule->community_id); } return $return_view; }
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; } //mode 画面の遷移を取得する $move_id = $request->getParameter('move_id'); // 公開範囲 $open_level_master_row_array = ACSAccessControl::get_open_level_master_row_array(ACSMsg::get_mst('community_type_master', 'D40'), ACSMsg::get_mst('contents_type_master', 'D42')); // ユーザー情報 $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるコミュニティIDを取得 $community_id = $request->getParameter('community_id'); $bbs_id = $request->getParameter('bbs_id'); /* 入力画面より */ if ($move_id == 1) { // 画面上のフォーム情報を取得する $form['subject'] = $request->getParameter('subject'); //件名:subject // 本文 $form['body'] = $request->getParameter('body'); //内容:body $form['community_id'] = $community_id; //当コミュニティのID $form['user_community_id'] = $acs_user_info_row['user_community_id']; // 投稿者print "form_row:"; $form['bbs_id'] = $bbs_id; // 投稿者print "form_row:"; $user->setAttribute('new_form_obj', $form); return View::SUCCESS; /* 登録確定ボタン「はい」より */ } else { if ($move_id == 2) { // 画面上のフォーム情報を取得する $form = $user->getAttribute('new_form_obj'); // DBへの書き込み等 $ret = ACSBBS::set_bbs_res($form); if ($ret) { // 掲示板アクセス履歴へ記録 ACSBBS::set_bbs_access_history($acs_user_info_row['user_community_id'], $form['bbs_id']); // bbs情報取得 $bbs_row = ACSBBS::get_bbs_row($request->getParameter('bbs_id')); // MLオプションありの場合 if ($bbs_row['ml_send_flag'] == 't') { // MLステータスの取得 $ml_status_row = ACSCommunity::get_contents_row($community_id, ACSMsg::get_mst('contents_type_master', 'D62')); $ml_status = $ml_status_row['contents_value']; // ML有りの場合メールを送信 if ($ml_status == 'ACTIVE') { // "Re:"の削除 $subject_msg = mb_ereg_replace(ACS_COMMUNITY_ML_SUBJECT_PREFIX_CLEAR_REGEX, '', $form['subject']); // 件名編集 $subject = "Re: " . str_replace('{BBSID}', $bbs_id, ACS_COMMUNITY_ML_SUBJECT_FORMAT) . $subject_msg; // ML送信 ACSCommunityMail::send_community_mailing_list($community_id, $acs_user_info_row['mail_addr'], $subject, $form['body']); } } } else { echo ACSMsg::get_msg('Community', 'BBSResPreAction.class.php', 'M001'); } // 書き込み後、BBS Top 表示の処理へ $action_url = $this->getControllerPath('Community', 'BBS') . '&community_id=' . $community_id . '&move_id=4'; header("Location: {$action_url}"); } } }
/** * スケジュール通知メールの送信 * * 各ユーザの言語に対応してスケジュール関連の<br> * 通知メールを送信する * * @param object $schedule スケジュールインスタンス(ACSSchedule) * @param string $serial_msg_key_fmg シリアルメッセージ取得用フォーマット(例:"RMD%03d") * @param string $subject_msg_key 件名メッセージ取得用キー(例:"M001") * @param array $additional_tags 追加する置換プレースフォルダ(未指定も可) * @param array $additional_message_tags 追加する置換プレースフォルダ(メッセージid指定) * (未指定も可) メール言語に対応して置換されます * @return boolean true/false */ static function send_schedule_announce_mail(&$schedule, $serial_msg_key_fmg, $subject_msg_key, $additional_tags = "", $additional_message_tags = "") { // スケジュールURL $schedule_url = "{SYSTEM_SCRIPT_PATH}" . "?{SYSTEM_MODULE_ACCESSOR}=Community" . "&{SYSTEM_ACTION_ACCESSOR}=AnswerSchedule" . "&community_id={$schedule->community_id}" . "&schedule_id={$schedule->schedule_id}"; $user_community_row =& ACSUser::get_user_profile_row($schedule->user_community_id); // システムのメールアドレスを取得 $system_mail_addr = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_MAIL_ADDR'); // 各言語用のメッセージを準備 $msgs = array(); $subjects = array(); $org_lang = ACSMsg::get_lang(); foreach (ACSMsg::get_lang_list_array() as $lang => $lang_disp) { ACSMsg::set_lang($lang); $tags_array = array('{USER_NAME}' => $user_community_row['user_name'], '{USER_COMMUNITY_NAME}' => $user_community_row['community_name'], '{SCHEDULE_NAME}' => $schedule->schedule_name, '{SCHEDULE_DETAIL}' => $schedule->schedule_detail, '{SCHEDULE_CLOSING_DATETIME}' => ACSLib::convert_pg_date_to_str($schedule->schedule_closing_datetime), '{SCHEDULE_URL}' => $schedule_url); if (is_array($additional_tags)) { $tags_array = array_merge($tags_array, $additional_tags); } if (is_array($additional_message_tags)) { $msg_array = array(); foreach ($additional_message_tags as $tag => $msg_key) { $msg_array[$tag] = ACSMsg::get_mdmsg(__FILE__, $msg_key); } $tags_array = array_merge($tags_array, $msg_array); } $msgs[$lang] = ACSMsg::get_serial_msg('lib', basename(__FILE__), $serial_msg_key_fmg); $msgs[$lang] = ACSMsg::get_tag_replace($msgs[$lang], $tags_array); // subjectの編集 $subjects[$lang] = ACSMsg::get_mdmsg(__FILE__, $subject_msg_key); } ACSMsg::set_lang($org_lang); // メールの送信(全コミュニティメンバ) return ACSCommunityMail::send_community_mail($schedule->community_id, $system_mail_addr, $subjects, $msgs); }
/** * 外部RSS自動取り込みを実行する * * @param $community_row コミュニティ情報 * @return $msg */ static function do_process($community_row) { $msg = ""; // 公開レベルマスタ $open_level_master_array = ACSDB::get_master_array('open_level'); // 外部RSSコンテンツ情報を付加 $community_row = ACSExternalRSS::add_contents_row_array($community_row); // RSS情報を取得 $rss_row_array = ACSExternalRSS::get_external_rss_row_array($community_row['contents_row_array']['external_rss_url']['contents_value']); if ($rss_row_array == false) { return; } // 外部RSS.投稿者が該当コミュニティのコミュニティ管理者であるかどうかチェックする $community_admin_user_info_row_array = ACSCommunity::get_community_admin_user_info_row_array($community_row['community_id']); $err_flg = 1; foreach ($community_admin_user_info_row_array as $community_admin_user_info_row) { if ($community_admin_user_info_row['user_community_id'] == $community_row['contents_row_array']['external_rss_post_user']['contents_value']) { $err_flg = 0; break; } } if ($err_flg) { return; } // 投稿者情報 (ml_addrを含む情報) $post_user_info_row = ACSUser::get_user_info_row_by_user_community_id($community_row['contents_row_array']['external_rss_post_user']['contents_value']); $post_user_info_row = ACSUser::get_user_info_row_by_user_id($post_user_info_row['user_id']); // 投稿情報($form) // // 初期化 $form = array(); $form['community_id'] = $community_row['community_id']; $form['user_community_id'] = $community_row['contents_row_array']['external_rss_post_user']['contents_value']; $form['open_level_code'] = $community_row['contents_row_array']['external_rss_url']['open_level_code']; // パブリックリリース の場合 if ($open_level_master_array[$form['open_level_code']] == ACSMsg::get_mst('open_level_master', 'D06') && intval($community_row['contents_row_array']['external_rss_public_release_expire_term']['contents_value']) >= 1) { $form['expire_date'] = "CURRENT_DATE + '@ " . ($community_row['contents_row_array']['external_rss_public_release_expire_term']['contents_value'] - 1) . " days'::INTERVAL"; } else { $form['expire_date'] = ''; } // 非公開 (メンバのみ) の場合 if ($open_level_master_array[$form['open_level_code']] == ACSMsg::get_mst('open_level_master', 'D04')) { $form['trusted_community_row_array'] = $community_row['contents_row_array']['external_rss_url']['trusted_community_row_array']; } else { $form['trusted_community_row_array'] = array(); } $form['ml_send_flag'] = ACSLib::get_pg_boolean(ACSLib::get_boolean($community_row['contents_row_array']['external_rss_ml_send_flag']['contents_value'])); // RSS記事ごとの処理 // foreach ($rss_row_array['items'] as $rss_item_row) { // 掲載されているかチェック if (!ACSExternalRSS::is_posted_value($community_row['community_id'], $rss_item_row['rss_item_title'], $rss_item_row['rss_item_date'])) { // 掲載されていない場合 $form['subject'] = $rss_item_row['rss_item_title']; $form['body'] = $rss_item_row['rss_item_content']; $form['post_date'] = $rss_item_row['rss_item_date']; $bbs_id = ACSExternalRSS::set_bbs_and_external_rss($form, $rss_row_array['channel_info'], $rss_item_row); if (!$bbs_id) { echo "ERROR\n"; exit; } else { $msg .= "掲載: {$community_row['community_name']} (community_id={$community_row['community_id']})\n"; $msg .= "\t=> {$form['subject']} (bbs_id={$bbs_id})\n"; if (ACSLib::get_boolean($form['ml_send_flag'])) { // MLステータスの取得 $ml_status_row = ACSCommunity::get_contents_row($community_row['community_id'], ACSMsg::get_mst('contents_type_master', 'D62')); $ml_status = $ml_status_row['contents_value']; // ML有りの場合メールを送信 if ($ml_status == 'ACTIVE') { // 件名編集 $subject = str_replace('{BBSID}', $bbs_id, ACS_COMMUNITY_ML_SUBJECT_FORMAT) . $form['subject']; // ML送信 ACSCommunityMail::send_community_mailing_list($community_row['community_id'], $post_user_info_row['mail_addr'], $form['subject'], $form['body']); $msg .= "\t=> ML送信\n"; } } } } } return $msg; }
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'); $target_community_id = $request->getParameter('community_id'); $target_community_folder_id = $request->getParameter('folder_id'); $file_id = $request->getParameter('file_id'); // アクセス制御 // プットフォルダ、ファイルはNG $file_obj = ACSFile::get_file_info_instance($file_id); if ($file_obj->get_owner_community_id() != $target_community_id) { $controller->forward(SECURE_MODULE, SECURE_ACTION); return; } // form $form = $request->ACSGetParameters(); $ret = false; // ファイル更新処理 if ($_FILES['new_file']['tmp_name'] != '') { // ファイルobj $file_obj = ACSFile::get_upload_file_info_instance_for_update($_FILES['new_file'], $target_community_id, $acs_user_info_row['user_community_id'], $file_id); // フォルダobj $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id); $folder_obj = $community_folder_obj->get_folder_obj(); // ファイル履歴が1件も登録されていない場合は"作成"を登録する $file_history_row_array = ACSFileHistory::get_file_history_row_array($file_id); if (count($file_history_row_array) == 0) { $file_info_row = ACSFileInfoModel::select_file_info_row($file_id); $file_history_id = ACSFileHistory::set_file_history($file_info_row, $file_info_row['entry_user_community_id'], '', ACSMsg::get_mst('file_history_operation_master', 'D0101')); } // file_info更新, ファイル保存 $ret = $folder_obj->update_file($file_obj); } if (!$ret) { print "ERROR: ファイルアップロードに失敗しました"; } // ファイル履歴情報登録 if ($ret) { $file_info_row = ACSFileInfoModel::select_file_info_row($file_id); $ret = ACSFileHistory::set_file_history($file_info_row, $acs_user_info_row['user_community_id'], $form['comment'], ACSMsg::get_mst('file_history_operation_master', 'D0201')); // 2007.12 追加 // ML通知チェックがあればMLにメール送信する // コミュニティ情報の取得 $send_announce_mail = $request->getParameter('send_announce_mail'); if ($send_announce_mail == "t") { ACSCommunityMail::send_fileupload_mail($target_community_id, $acs_user_info_row, $folder_obj, $file_obj); } } // ファイル詳細情報へ遷移 $file_detail_url = $this->getControllerPath('Community', 'FileDetail'); $file_detail_url .= '&community_id=' . $target_community_id; $file_detail_url .= '&file_id=' . $file_id; $file_detail_url .= '&folder_id=' . $target_community_folder_id; header("Location: {$file_detail_url}"); }
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; } //mode 画面の遷移を取得する $move_id = $request->getParameter('move_id'); // 公開範囲 $open_level_master_row_array = ACSAccessControl::get_open_level_master_row_array(ACSMsg::get_mst('community_type_master', 'D40'), ACSMsg::get_mst('contents_type_master', 'D42')); // ユーザー情報 $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 対象となるコミュニティIDを取得 $community_id = $request->getParameter('community_id'); //エラーの初期化 /* 入力画面より */ if ($move_id == 1) { $err = 'OK'; //エラー値の初期化 //☆☆ ここからほぼ同じ // 画面上のフォーム情報を取得する $form['subject'] = $request->getParameter('subject'); //件名:subject $form['body'] = $request->getParameter('body'); //内容:body $form['open_level_code'] = $request->getParameter('open_level_code'); //公開範囲コード:open_level_code foreach ($open_level_master_row_array as $open_level_master_row) { if ($open_level_master_row['open_level_code'] == $form['open_level_code']) { $form['open_level_name'] = htmlspecialchars($open_level_master_row['open_level_name']); //公開範囲表示名:open_level_name } } $form['new_file'] = $request->getParameter('new_file'); //画像:new_file //ファイル情報のあるなしをチェックしておく if (!ini_get('mbstring.encoding_translation')) { $form['file_name'] = mb_convert_encoding($_FILES['new_file']['name'], mb_internal_encoding(), mb_http_output()); } else { $form['file_name'] = $_FILES['new_file']['name']; } if ($form['file_name'] != '') { /* ディレクトリ存在チェック */ // ない場合は作成する $to_dir = ACS_TEMPORARY_FILE_DIR; if (!file_exists($to_dir)) { mkdir($to_dir); chmod($to_dir, 0777); } //ファイルがある場合、仮置き場所を設定する $_FILES['new_file']['upload_tmp_dir'] = ACS_TEMPORARY_FILE_DIR; //仮置きのファイル名を設定する $type_name = session_id(); $upload = $_FILES['new_file']['upload_tmp_dir']; $upload .= $type_name; if (!move_uploaded_file($_FILES['new_file']['tmp_name'], $upload)) { echo "ファイルの読み込みに失敗しました\n"; } $_FILES['new_file']['tmp_name'] = $upload; $form['file_obj'] = $_FILES['new_file']; $user->setAttribute('new_file_info', $upload); $user->setAttribute('new_file_obj', $_FILES['new_file']); } $form['xdate'] = $request->getParameter('xdate'); //掲載最終日:xdate //掲載最終日デフォルト値 if ($form['xdate'] == '') { $form[xdate] = ''; } //閲覧許可コミュニティ $form['trusted_community_id_array'] = $request->getParameter('trusted_community_id_array'); $form['trusted_community_row_array'] = ACSCommunity::get_each_community_row_array($form['trusted_community_id_array']); $form['community_id'] = $community_id; //当コミュニティのID $form['user_community_id'] = $acs_user_info_row['user_community_id']; // 投稿者print "form_row:"; // ML送信オプション $form['is_ml_send'] = $request->getParameter('is_ml_send'); //画像:new_file //☆☆ ここまでほぼ同じ $user->setAttribute('new_form_obj', $form); return View::SUCCESS; /* 登録確定ボタン「はい」より */ } else { if ($move_id == 2) { //☆☆ ここからほぼ同 // 画面上のフォーム情報を取得する $form = $user->getAttribute('new_form_obj'); $new_file_obj = $form['file_obj']; //☆☆ ここまでほぼ同じ // DBへの書き込み等 ACSDB::_do_query("BEGIN"); if ($form['file_name'] != "") { //ファイル情報があった場合 //1.ファイル情報取得(新規) $file_obj = ACSFile::get_upload_file_info_instance($user->getAttribute('new_file_obj'), $community_id, $form['user_community_id']); //form情報へ登録 $form['new_file'] = $file_obj; } //2.bbsテーブル情報 $ret = ACSBBS::set_bbs($form); if ($ret) { ACSDB::_do_query("COMMIT"); // 掲示板アクセス履歴 ACSBBS::set_bbs_access_history($acs_user_info_row['user_community_id'], $ret); } else { ACSDB::_do_query("ROLLBACK"); } $bbs_id_seq = $ret; // MLオプションありの場合 if ($form['is_ml_send'] == 't') { // MLステータスの取得 $ml_status_row = ACSCommunity::get_contents_row($community_id, ACSMsg::get_mst('contents_type_master', 'D62')); $ml_status = $ml_status_row['contents_value']; // ML有りの場合メールを送信 if ($bbs_id_seq && $ml_status == 'ACTIVE') { // 件名編集 $subject = str_replace('{BBSID}', $bbs_id_seq, ACS_COMMUNITY_ML_SUBJECT_FORMAT) . $form['subject']; // ML送信 ACSCommunityMail::send_community_mailing_list($community_id, $acs_user_info_row['mail_addr'], $subject, $form['body']); } } $action_url = $this->getControllerPath('Community', 'BBS') . '&community_id=' . $community_id . '&move_id=4'; header("Location: {$action_url}"); } } }