function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     //削除処理を行う
     $target_user_community_id = $request->getParameter('community_id');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $file_id = $request->getParameter('file_id');
     // ファイル情報取得
     $file_obj = ACSFile::get_file_info_instance($file_id);
     //ファイル情報テーブルのデータ削除
     ACSDB::_do_query("BEGIN");
     $ret = $file_obj->delete_file();
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         print "ERROR: Remove imagefile failed.:file_info";
     } else {
         //community_image_fileテーブルのデータ削除
         $ret = ACSCommunityImageFileModel::delete_community_image($file_obj);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             print "ERROR: Remove imagefile failed.:image_file";
         } else {
             ACSDB::_do_query("COMMIT");
         }
     }
     //表示
     $image_change_url = $this->getControllerPath('Community', 'EditProfileImage');
     $image_change_url .= '&community_id=' . $target_user_community_id;
     header("Location: {$image_change_url}");
     return View::INPUT;
 }
 /**
  * ファイル履歴情報を登録する
  *
  * @param $file_info_row ファイル情報
  * @param $update_user_community_id 登録/更新者のユーザコミュニティID
  * @param $comment コメント
  * @param $file_history_operation_name ファイル履歴操作名
  * @return 成功(file_history_id) / 失敗(false)
  */
 static function set_file_history($file_info_row, $update_user_community_id, $comment, $file_history_operation_name)
 {
     $file_history_operation_master_array = ACSDB::get_master_array('file_history_operation');
     $file_history_id_seq = ACSDB::get_next_seq('file_history_id_seq');
     $file_history_operation_code = array_search($file_history_operation_name, $file_history_operation_master_array);
     ACSLib::escape_sql_array($file_info_row);
     ACSLib::get_sql_value_array($file_info_row);
     // ファイル履歴を登録
     $sql = "INSERT INTO file_history";
     $sql .= " (file_history_id, file_id, display_file_name, server_file_name, thumbnail_server_file_name, mime_type, file_size, update_date, update_user_community_id, file_history_operation_code)";
     $sql .= " VALUES ({$file_history_id_seq}, {$file_info_row['file_id']}, {$file_info_row['display_file_name']}, {$file_info_row['server_file_name']}, {$file_info_row['thumbnail_server_file_name']}, {$file_info_row['mime_type']}, {$file_info_row['file_size']}, {$file_info_row['update_date']}, '{$update_user_community_id}', '{$file_history_operation_code}')";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // ファイル履歴コメントを登録
     $ret = ACSFileHistoryComment::set_file_history_comment($file_history_id_seq, $update_user_community_id, $comment);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // trueの場合はファイル履歴IDをセット
     if ($ret) {
         $ret = $file_history_id_seq;
     }
     return $ret;
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $target_user_community_id = $request->getParameter('id');
     $image_new_mode = $request->getParameter('image_new_mode');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $file_id = $request->getParameter('file_id');
     $open_level_code = $request->getParameter('open_level_code');
     if ($_FILES['new_file']["name"] == "") {
         print "ERROR: This is not imagefile format.";
     }
     // ファイル情報取得
     $file_obj = ACSFile::get_upload_file_info_instance($_FILES['new_file'], $target_user_community_id, $acs_user_info_row['user_community_id']);
     //ファイルの種類チェック
     $image_check = $file_obj->is_image_file();
     if (!$image_check) {
         print "ERROR: This is not imagefile format.";
     }
     /* ファイルアップロード処理 */
     // ファイルの保存
     $ret = $file_obj->save_upload_file('PROFILE');
     ACSDB::_do_query("BEGIN");
     // 追加のみ
     $ret = $file_obj->add_file();
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         print "ERROR: Update image failed.:file_info";
     } else {
         // 上書きされるファイルIDを取得する
         $delete_file_id = ACSCommunityImageFileModel::get_file_id_for_open_level($target_user_community_id, $open_level_code);
         // 一度削除する(空振りもOK)
         $ret = ACSCommunityImageFileModel::delete_community_image_with_open_level($file_obj, $open_level_code);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             print "ERROR: Update image failed.:image_file";
         } else {
             //community_image_fileテーブルへの追加
             $ret = ACSCommunityImageFileModel::put_community_image_with_open_level($file_obj, $open_level_code);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 print "ERROR: Update image failed.:image_file";
             } else {
                 // 上書きされるファイルがある場合→削除
                 if ($delete_file_id) {
                     $delete_file_obj = ACSFile::get_file_info_instance($delete_file_id);
                     $delete_file_obj->delete_file();
                 }
                 ACSDB::_do_query("COMMIT");
                 //追加モードのコミット
             }
         }
     }
     /* 表示アクション呼び出し */
     $image_change_url = $this->getControllerPath('User', 'EditProfileImage');
     $image_change_url .= '&id=' . $target_user_community_id;
     header("Location: {$image_change_url}");
 }
 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}");
         }
     }
 }
 /**
  * file_access_history UPDATE
  *
  * @param $form ファイルアクセス履歴情報
  * @return 成功(true) / 失敗(false)
  */
 static function update_file_access_history($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $sql = "UPDATE file_access_history" . " SET" . "  access_date = " . $form['access_date'] . " WHERE user_community_id = " . $form['user_community_id'] . "  AND file_id = " . $form['file_id'];
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * システムアナウンスを削除する (掲載中止)
  *
  * @param システムアナウンスID
  * @return 成功(true) / 失敗(false)
  */
 static function delete_system_announce($system_announce_id)
 {
     $system_announce_id = pg_escape_string($system_announce_id);
     $sql = "UPDATE system_announce";
     $sql .= " SET system_announce_delete_flag = 't'";
     $sql .= " WHERE system_announce_id = '{$system_announce_id}'";
     ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * 値更新
  *
  * @param  $system_config_group 更新対象のキー
  * @param  $keyword             更新対象のキー
  * @param  $update_value        更新する値
  */
 static function update_system_config_value($system_config_group_name, $keyword, $update_value)
 {
     $sql = "UPDATE system_config";
     $sql .= " SET";
     $sql .= " value = '" . pg_escape_string($update_value) . "'";
     $sql .= " WHERE";
     $sql .= " keyword = '" . $keyword . "'";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * waiting INSERT
  *
  * @param $form 待機コミュニティメンバ情報
  * @return 成功(true) / 失敗(false)
  */
 static function insert_waiting($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $sql = "INSERT INTO waiting";
     $sql .= " (waiting_id, community_id, waiting_community_id, waiting_type_code, waiting_status_code, message, entry_user_community_id)";
     $sql .= " VALUES ({$form['waiting_id']}, {$form['community_id']}, {$form['waiting_community_id']}, {$form['waiting_type_code']}, {$form['waiting_status_code']}, {$form['message']}, {$form['entry_user_community_id']})";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * ファイル履歴コメントを登録する
  *
  * @param $file_history_id ファイル履歴ID
  * @param $entry_user_community_id 登録者のユーザコミュニティID
  * @param $comment コメント
  * @return 
  */
 static function set_file_history_comment($file_history_id, $entry_user_community_id, $comment)
 {
     $file_history_comment_id_seq = ACSDB::get_next_seq('file_history_comment_id_seq');
     $comment = ACSLib::get_sql_value(pg_escape_string($comment));
     $sql = "INSERT INTO file_history_comment";
     $sql .= " (file_history_comment_id, file_history_id, user_community_id, comment)";
     $sql .= " VALUES ({$file_history_comment_id_seq}, {$file_history_id}, '{$entry_user_community_id}', {$comment})";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 static function insert_community_member($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $sql = "INSERT INTO community_member";
     $sql .= " (community_id, user_community_id, community_member_type_code)";
     $sql .= " VALUES ({$form['community_id']}, {$form['user_community_id']}, {$form['community_member_type_code']})";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * bbs_access_history UPDATE
  *
  * @param $form 掲示板アクセス履歴情報
  * @return 成功(true) / 失敗(false)
  */
 static function update_bbs_access_history($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $sql = "UPDATE bbs_access_history";
     $sql .= " SET";
     $sql .= "  access_date = {$form['access_date']}";
     $sql .= " WHERE user_community_id = {$form['user_community_id']}";
     $sql .= "  AND bbs_id = {$form['bbs_id']}";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * コミュニティ削除処理
  */
 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 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;
 }
 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');
     /* 入力画面より */
     if ($move_id == 1) {
         //☆☆ ここからほぼ同じ
         // 画面上のフォーム情報を取得する
         $form['body'] = $request->getParameter('body');
         //内容:body
         $form['user_community_id'] = $acs_user_info_row['user_community_id'];
         $user->setAttribute('new_form_obj', $form);
         $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($form['user_community_id']);
         $request->setAttribute('target_user_info_row', $target_user_info_row);
         //☆☆ ここまでほぼ同じ
         return View::SUCCESS;
         /* 登録確定ボタン「はい」より */
     } else {
         if ($move_id == 2) {
             $user_id = $request->getParameter('id');
             // 対象のdiary_idを取得
             $diary_id = $request->getParameter('diary_id');
             //☆☆ ここからほぼ同じ
             // 画面上のフォーム情報を取得する
             $form = $user->getAttribute('new_form_obj');
             $form['diary_id'] = $diary_id;
             //☆☆ ここまでほぼ同じ
             // DBへの書き込み等
             ACSDB::_do_query("BEGIN");
             //DiaryCommentテーブル情報
             $ret = ACSDiary::set_diary_comment($form);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 echo "ERROR: Insert dairy comment failed.";
                 return;
             }
             ACSDB::_do_query("COMMIT");
             // 書き込み後、GETの処理へ
             $diary_comment_top_page_url = $this->getControllerPath('User', 'DiaryComment') . '&id=' . $acs_user_info_row['user_community_id'] . '&diary_id=' . $diary_id . '&move_id=4';
             header("Location: {$diary_comment_top_page_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;
     }
     $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();
     //削除処理を行う
     $target_user_community_id = $request->getParameter('id');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $file_id = $request->getParameter('file_id');
     $open_level_code = $request->getParameter('open_level_code');
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // ファイル情報取得
     $file_obj = ACSFile::get_file_info_instance($file_id);
     //ファイル情報テーブルのデータ削除
     ACSDB::_do_query("BEGIN");
     $ret = ACSCommunityImageFileModel::delete_community_image_with_open_level($file_obj, $open_level_code);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         print "ERROR: Delete image failed. :image_file";
     } else {
         $row = ACSCommunityImageFileModel::get_file_id_with_open_level($file_obj->get_owner_community_id());
         if ($row == NULL || $file_id != $row['file_id_ol05'] && $file_id != $row['file_id_ol02'] && $file_id != $row['file_id_ol01']) {
             // ファイルごと削除
             $ret = $file_obj->delete_file();
         }
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             print "ERROR: Delete image failed. :image_file";
         } else {
             ACSDB::_do_query("COMMIT");
         }
     }
     //表示
     $image_change_url = $this->getControllerPath('User', 'EditProfileImage');
     $image_change_url .= '&id=' . $target_user_community_id;
     header("Location: {$image_change_url}");
     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');
     /* コミュニティ情報取得 */
     $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');
 }
示例#18
0
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $community_id = $request->getParameter('community_id');
     $bbs_id = $request->getParameter('bbs_id');
     // 入力データ
     $form = $request->ACSGetParameters();
     $form['user_community_id'] = $acs_user_info_row['user_community_id'];
     // bbs更新
     ACSDB::_do_query("BEGIN");
     $ret = ACSBBS::update_bbs($form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         exit;
     }
     ACSDB::_do_query("COMMIT");
     $bbs_url = $this->getControllerPath('Community', 'BBS') . '&community_id=' . $community_id;
     header("Location: {$bbs_url}");
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $target_user_community_id = $request->getParameter('community_id');
     $image_new_mode = $request->getParameter('image_new_mode');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $file_id = $request->getParameter('file_id');
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     //追加と更新の分岐 ver1.1
     // $image_new_modeフラグ
     // file_infoテーブルへの追加trueまたは更新false
     if ($image_new_mode) {
         // ファイル情報取得(新規の場合)
         $file_obj = ACSFile::get_upload_file_info_instance($_FILES['new_file'], $target_user_community_id, $acs_user_info_row['user_community_id']);
     } else {
         // ファイル情報取得(更新の場合)
         $file_obj = ACSFile::get_upload_file_info_instance($_FILES['new_file'], $target_user_community_id, $acs_user_info_row['user_community_id'], $file_id);
     }
     //ファイルの種類チェック
     $image_check = $file_obj->is_image_file();
     if (!$image_check) {
         print "ERROR: This file is not image-format.";
     }
     /* ファイルアップロード処理 */
     // ファイルの保存
     $ret = $file_obj->save_upload_file('PROFILE');
     ACSDB::_do_query("BEGIN");
     if ($image_new_mode) {
         $ret = $file_obj->add_file();
     } else {
         $ret = ACSFileInfoModel::update_all_file_info($file_obj);
     }
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         print "ERROR: Upload image-file failed.:file_info";
     } else {
         if ($image_new_mode) {
             //community_image_fileテーブルへの追加
             $ret = ACSCommunityImageFileModel::insert_community_image($file_obj);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 print "ERROR: Upload image-file failed.:image_file";
             } else {
                 ACSDB::_do_query("COMMIT");
                 //追加モードのコミット
             }
         } else {
             ACSDB::_do_query("COMMIT");
             //更新モードのコミット
         }
     }
     /* 表示アクション呼び出し */
     $image_change_url = $this->getControllerPath('Community', 'EditProfileImage');
     $image_change_url .= '&community_id=' . $target_user_community_id;
     header("Location: {$image_change_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;
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // 対象となるユーザコミュニティIDを取得
     $target_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 処理の種類
     $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('Community', 'EditFileAction.class.php', 'M001'));
         return $this->handleError();
     }
     // 表示するページの所有者情報取得
     $target_community_info_row = ACSCommunity::get_community_row($target_community_id);
     // フォルダ情報取得
     $user_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     // set
     $request->setAttribute('target_community_info_row', $target_community_info_row);
     $request->setAttribute('user_folder_obj', $user_folder_obj);
     /* ----------------- */
     /* 入力画面表示処理 */
     /* ----------------- */
     // action_type (create or update) が存在し、エラーで遷移してきていない場合
     if (!$action_type || $this->hasErrors($controller, $request, $user)) {
         return $this->getDefaultView();
     }
     /* ---------- */
     /* 入力値取得 */
     /* ---------- */
     $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');
     $input_folder_row['trusted_community_id_array'] = $request->getParameter('trusted_community_id_array');
     /* ---------------------- */
     /* フォルダ名重複チェック */
     /* ---------------------- */
     // 対象となるフォルダ配下のフォルダを取得
     $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('Community', '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: Create folder failed.";
             exit;
         }
     } elseif ($action_type == 'update') {
         /* -------- */
         /* 更新処理 */
         /* -------- */
         // 更新対象のフォルダ情報取得
         $update_user_folder_obj = new ACSCommunityFolder($request->getParameter('community_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: Create folder information failed.";
             exit;
         }
     }
     ACSDB::_do_query("COMMIT;");
     /* -------------------- */
     /* フォルダ一覧画面表示 */
     /* -------------------- */
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $folder_action = $this->getControllerPath('Community', 'Folder');
     $folder_action .= '&community_id=' . $target_community_info_row['community_id'];
     $folder_action .= '&folder_id=' . $target_community_folder_id;
     header("Location: {$folder_action}");
 }
 /**
  * ファイル公開情報を削除する
  *
  * @param file_id ファイルID
  * @return true(正常)/false(失敗)
  */
 static function delete_file_public_access($file_id)
 {
     $sql = "DELETE FROM file_public_access \n\t\t\t\tWHERE file_id = " . $file_id;
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // 必須チェック
     //	Validator でできないチェックはここで行う
     if (!$request->getParameter('selected_folder') && !$request->getParameter('selected_file')) {
         // エラーの場合、処理終了
         return $this->setError($controller, $request, $user, 'selected_folder', ACSMsg::get_msg('Community', 'DeleteFolderAction.class.php', 'M001'));
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // 対象となるユーザコミュニティIDを取得
     $target_community_id = $request->getParameter('community_id');
     // 対象となるフォルダIDを取得
     $target_community_folder_id = $request->getParameter('folder_id');
     // 表示するページの所有者情報取得
     $target_community_info_row = ACSCommunity::get_community_row($target_community_id);
     // フォルダ情報取得
     $community_folder_obj = new ACSCommunityFolder($target_community_id, $acs_user_info_row, $target_community_folder_id);
     // set
     $request->setAttribute('target_community_info_row', $target_community_info_row);
     $request->setAttribute('community_folder_obj', $community_folder_obj);
     /* ------------ */
     /* 確認画面表示 */
     /* ------------ */
     if ($request->getParameter('action_type') == 'confirm') {
         return $this->getDefaultView();
     } elseif ($request->getParameter('action_type') == 'delete') {
         ACSDB::_do_query("BEGIN");
         // フォルダ
         $folder_row_array = array();
         $delete_folder_id_array = $request->getParameter('selected_folder');
         if ($delete_folder_id_array) {
             foreach ($delete_folder_id_array as $folder_id) {
                 // 削除処理
                 $_folder_obj = $community_folder_obj->folder_obj->get_folder_obj($folder_id);
                 $ret = $community_folder_obj->delete_folder($_folder_obj);
                 if (!$ret) {
                     ACSDB::_do_query("ROLLBACK;");
                     print "ERROR: Remove folder failed.";
                     exit;
                 }
             }
         }
         // ファイル
         $file_row_array = array();
         $delete_file_id_array = $request->getParameter('selected_file');
         if ($delete_file_id_array) {
             foreach ($delete_file_id_array as $file_id) {
                 // 公開用ファイル情報
                 ACSFileDetailInfo::delete_file_public_access($file_id);
                 // 削除処理
                 $_file_obj = $community_folder_obj->folder_obj->get_file_obj($file_id);
                 $ret = $_file_obj->delete_file();
                 if (!$ret) {
                     ACSDB::_do_query("ROLLBACK;");
                     print "ERROR: Remove file failed.";
                     exit;
                 }
             }
         }
         ACSDB::_do_query("COMMIT;");
         // フォルダ表示アクション呼び出し
         $folder_action = $this->getControllerPath('Community', 'Folder');
         $folder_action .= '&community_id=' . $target_community_id;
         $folder_action .= '&folder_id=' . $target_community_folder_id;
         header("Location: {$folder_action}");
     }
 }
示例#23
0
 /**
  * 掲示板の返信記事を削除する
  *
  * @param 親記事ID
  * @return 成功(true) / 失敗(false)
  */
 static function delete_bbs_res($bbs_res_id_array)
 {
     /*
     if (count($bbs_res_id_array) > 1) {
     	$bbs_res_id = implode(',', $bbs_res_id_array);
     }else{
     	$bbs_res_id = $bbs_res_id_array;
     }
     */
     $bbs_res_id_csv = implode(',', $bbs_res_id_array);
     ACSDB::_do_query("BEGIN");
     //サブ記事の削除
     $sql = "UPDATE bbs_res";
     $sql .= " SET bbs_res_delete_flag = 't'";
     $sql .= " WHERE bbs_res.bbs_res_id IN({$bbs_res_id_csv})";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         echo ACSMsg::get_mdmsg(__FILE__, 'M001');
         return false;
     }
     ACSDB::_do_query("COMMIT");
     return true;
 }
示例#24
0
 /**
  * diaryファイル情報削除
  * 
  * @param $file_id
  * @param $diary_id
  */
 function delete_diary_file($file_id, $diary_id)
 {
     $sql = "DELETE FROM diary_file";
     $sql .= " WHERE";
     $sql .= " file_id = " . $file_id;
     $sql .= " AND";
     $sql .= " diary_id = " . $diary_id;
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * スケジュール参加情報のDB更新
  * 
  * スケジュール参加情報のDB更新を実施します。<br>
  * 更新されるテーブルは以下の通り<br>
  *     schedule_paticipant<br>
  *     schedule_answer<br>
  *
  * @param boolean $is_participant_only 参加登録のみの場合TRUE(未指定時はFALSE)
  */
 function update_participant($is_participant_only = FALSE)
 {
     // BEGIN
     ACSDB::_do_query("BEGIN");
     if ($this->is_new()) {
         $sql = "INSERT INTO schedule_participant (" . " schedule_id, " . " user_community_id, " . " participant_comment, " . " participant_delete_flag " . ") VALUES (" . " " . pg_escape_string($this->schedule_id) . "," . " " . pg_escape_string($this->user_community_id) . "," . " '" . pg_escape_string($this->participant_comment) . "'," . " '" . pg_escape_string($this->participant_delete_flag) . "' " . ")";
         // Update
     } else {
         $sql = "UPDATE schedule_participant SET " . " participant_comment = " . " '" . pg_escape_string($this->participant_comment) . "'," . " participant_delete_flag = " . " '" . pg_escape_string($this->participant_delete_flag) . "' " . "WHERE schedule_id " . "= " . pg_escape_string($this->schedule_id) . " AND user_community_id " . "= " . pg_escape_string($this->user_community_id);
     }
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     $this->_is_new = 'f';
     // 回答(schedule_answer)の登録(Delete/Insert)
     if ($is_participant_only === FALSE) {
         // 一旦Delete
         $sql = "DELETE FROM schedule_answer " . "WHERE schedule_id " . "= " . pg_escape_string($this->schedule_id) . " AND user_community_id " . "= " . pg_escape_string($this->user_community_id);
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // すべてInsert
         foreach ($this->_schedule_answer_array as $adjustment_date_id => $answer_no) {
             $sql = "INSERT INTO schedule_answer ( " . " schedule_id, " . " user_community_id, " . " adjustment_date_id, " . " answer_no " . ") VALUES (" . " " . pg_escape_string($this->schedule_id) . "," . " " . pg_escape_string($this->user_community_id) . "," . " " . pg_escape_string($adjustment_date_id) . "," . " " . pg_escape_string($answer_no) . " " . ")";
             $ret = ACSDB::_do_query($sql);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // COMMIT
     $ret = ACSDB::_do_query("COMMIT");
     return $ret;
 }
 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}");
     }
 }
示例#27
0
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     //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', 'D10'), ACSMsg::get_mst('contents_type_master', 'D21'));
     // ユーザー情報
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // 対象となるUserIDを取得
     $user_community_id = $request->getParameter('id');
     /* 入力画面より */
     if ($move_id == 1) {
         //☆☆ ここからほぼ同じ
         // 画面上のフォーム情報を取得する
         $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['trusted_community_flag'] = $request->getParameter('trusted_community_flag');
         //マイフレンズグループを指定した場合
         $form['trusted_community_id_array'] = $request->getParameter('trusted_community_id_array');
         //選択したグループ群
         $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 "Read file failed.\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['user_community_id'] = $user_community_id;
         $user->setAttribute('new_form_obj', $form);
         //☆☆ ここまでほぼ同じ
         return View::SUCCESS;
         /* 登録確定ボタン「はい」より */
     } else {
         if ($move_id == 2) {
             $user_community_id = $request->getParameter('id');
             //☆☆ ここからほぼ同じ
             // 画面上のフォーム情報を取得する
             $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'), $user_community_id, $form['user_community_id']);
                 if ($file_obj) {
                     //form情報へ登録
                     $form['new_file'] = $file_obj;
                 } else {
                     echo "Create file failed.";
                     return;
                 }
             }
             //2.Diaryテーブル情報
             $ret = ACSDiary::set_Diary($form);
             if ($ret) {
                 ACSDB::_do_query("COMMIT");
             } else {
                 ACSDB::_do_query("ROLLBACK");
             }
             // 書き込み後、GETの処理へ
             $diary_top_page_url = $this->getControllerPath('User', 'Diary') . '&id=' . $user_community_id;
             header("Location: {$diary_top_page_url}");
         }
     }
 }
示例#28
0
 /**
  * スケジュール情報のDB更新
  * 
  * スケジュール情報のDB更新を実施します。<br>
  * 更新されるテーブルは以下の通り<br>
  *     schedule<br>
  *     schedule_adjustment_dates<br>
  *     schedule_answer_selection<br>
  * 候補日時は、set_schdedule_adjustment_datetime_append() および <br>
  * set_schdedule_adjustment_datetime_delete() で指定された内容が反映されあます。
  * 
  * @return boolean TRUE...成功/FALSE...失敗
  */
 function update_schedule()
 {
     // BEGIN
     ACSDB::_do_query("BEGIN");
     if ($this->is_new()) {
         // スケジュールidの取得
         $this->schedule_id = ACSDB::get_next_seq('schedule_id_seq');
         $sql = "INSERT INTO schedule (" . " schedule_id, " . " community_id, " . " user_community_id, " . " schedule_name, " . " schedule_place, " . " schedule_detail, " . " schedule_closing_datetime, " . " schedule_target_kind, " . " decide_adjustment_date_id " . ") VALUES (" . " " . pg_escape_string($this->schedule_id) . "," . " " . pg_escape_string($this->community_id) . "," . " " . pg_escape_string($this->user_community_id) . "," . " '" . pg_escape_string($this->schedule_name) . "'," . " '" . pg_escape_string($this->schedule_place) . "'," . " '" . pg_escape_string($this->schedule_detail) . "'," . " '" . $this->schedule_closing_datetime . "'," . " '" . pg_escape_string($this->schedule_target_kind) . "'," . " " . pg_escape_string($this->decide_adjustment_date_id) . " " . ")";
         // Update
     } else {
         $sql = "UPDATE schedule SET " . " schedule_name " . "= '" . pg_escape_string($this->schedule_name) . "'," . " schedule_place " . "= '" . pg_escape_string($this->schedule_place) . "'," . " schedule_detail " . "= '" . pg_escape_string($this->schedule_detail) . "'," . " schedule_closing_datetime " . "= '" . $this->schedule_closing_datetime . "'," . " schedule_target_kind " . "= '" . pg_escape_string($this->schedule_target_kind) . "', " . " update_datetime = CURRENT_TIMESTAMP " . "WHERE schedule_id " . "= " . pg_escape_string($this->schedule_id) . " AND user_community_id " . "= " . pg_escape_string($this->user_community_id);
     }
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // 候補日時の登録(削除)
     if (is_array($this->_adjustment_dates_stack['delete'])) {
         $sql = "UPDATE schedule_adjustment_dates " . "SET adjustment_date_delete_flag = TRUE ";
         $where = "";
         foreach ($this->_adjustment_dates_stack['delete'] as $delete_dates) {
             $where .= ($where != "" ? "," : "") . $delete_dates;
         }
         $sql .= "WHERE schedule_id = " . pg_escape_string($this->schedule_id) . " AND adjustment_date_id IN (" . $where . ")";
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
     }
     // 候補日時の登録(追加)
     if (is_array($this->_adjustment_dates_stack['append'])) {
         foreach ($this->_adjustment_dates_stack['append'] as $append_str) {
             // スケジュール候補日時idの取得
             $seq = ACSDB::get_next_seq('adjustment_date_id_seq');
             $sql = "INSERT INTO schedule_adjustment_dates " . "(schedule_id, adjustment_date_id, adjustment_date_string" . ") VALUES (" . "" . pg_escape_string($this->schedule_id) . "," . "" . $seq . "," . "'" . pg_escape_string($append_str) . "')";
             $ret = ACSDB::_do_query($sql);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // 選択肢の登録(Delete&Insert)
     if (is_array($this->_answer_selection_array)) {
         // 一旦Delete
         $sql = "DELETE FROM schedule_answer_selection " . "WHERE schedule_id " . "= " . pg_escape_string($this->schedule_id);
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // すべてInsert
         foreach ($this->_answer_selection_array as $answer_no => $selection) {
             ACSLib::escape_sql_array($selection);
             if ($selection['answer_score'] == '') {
                 $selection['answer_score'] = "null";
             }
             $sql = "INSERT INTO schedule_answer_selection ( " . " schedule_id,answer_no,answer_char," . " answer_score, answer_detail, answer_default " . ") VALUES (" . " " . pg_escape_string($this->schedule_id) . ", " . " " . pg_escape_string($answer_no) . ", " . "'" . $selection['answer_char'] . "', " . "" . $selection['answer_score'] . ", " . "'" . $selection['answer_detail'] . "', " . "'" . $selection['answer_default'] . "') ";
             $ret = ACSDB::_do_query($sql);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // COMMIT
     $ret = ACSDB::_do_query("COMMIT");
     return $ret;
 }
示例#29
0
 /**
  * ログイン情報を削除する
  *
  * @param $before_date 現在日時より何日前より過去のログイン情報を消すか
  * @param $use_button_flg ログアウトボタン押下有無で消す消さないを変えるか
  * @return 成功(true) / 失敗(false)
  */
 static function delete_login_info($before_date, $use_button_flg = NULL)
 {
     // BEGIN
     ACSDB::_do_query("BEGIN");
     $sql = "DELETE";
     $sql .= " FROM ";
     $sql .= " login_info";
     $sql .= " WHERE ";
     $sql .= " login_date < current_timestamp + '-{$before_date} days'";
     if ($use_button_flg) {
         $sql .= " and use_button_flg = '" . $use_button_flg . "'";
     }
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // COMMIT
     ACSDB::_do_query("COMMIT");
     return $ret;
 }
 /**
  * 画像ファイル情報UPDATE(公開範囲選択有り)
  *
  * @param $file_obj ファイル情報
  * @param $open_level_code 公開レベルコード
  * @param $file_id_upd_flg = NULL ファイル情報更新フラグ
  * @return 成功(true) / 失敗(false)
  */
 static function update_community_image_with_open_level($file_obj, $open_level_code, $row = NULL)
 {
     $sql = "UPDATE community_image_file";
     $sql .= " SET ";
     if ($row != NULL) {
         $sql .= " file_id = " . $file_obj->get_file_id() . ",";
         // 一般向けに対して更新する場合
         if ($open_level_code == "01") {
             if ($row['file_id_ol05'] == NULL) {
                 $sql .= " file_id_ol05 = " . $file_obj->get_file_id() . ",";
             }
             if ($row['file_id_ol02'] == NULL) {
                 $sql .= " file_id_ol02 = " . $file_obj->get_file_id() . ",";
             }
         }
         // ログインユーザ向けに対して更新する場合
         if ($open_level_code == "02") {
             if ($row['file_id_ol05'] == NULL) {
                 $sql .= " file_id_ol05 = " . $file_obj->get_file_id() . ",";
             }
         }
     }
     $sql .= " file_id_ol" . $open_level_code . " = " . $file_obj->get_file_id();
     $sql .= " WHERE ";
     $sql .= " community_id = " . $file_obj->get_owner_community_id();
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }