/**
  * ファイル履歴情報を登録する
  *
  * @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;
 }
 /**
  * ファイル履歴コメントを登録する
  *
  * @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;
 }
 /**
  * システムアナウンスを登録する
  *
  * @param システムアナウンス情報
  * @return 成功(true) / 失敗(false)
  */
 static function set_system_announce($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $system_announce_id_seq = ACSDB::get_next_seq('system_announce_id_seq');
     $sql = "INSERT INTO system_announce";
     $sql .= " (system_announce_id, user_community_id, subject, body, expire_date)";
     $sql .= " VALUES ({$system_announce_id_seq}, {$form['user_community_id']}, {$form['subject']}, {$form['body']}, {$form['expire_date']})";
     ACSDB::_do_query($sql);
     return $ret;
 }
示例#4
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;
 }
示例#5
0
 /**
  * ログイン情報を登録する
  *
  * @param $user ユーザ情報
  * @return 成功(true) / 失敗(false)
  */
 static function set_login_date(&$user)
 {
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $user_community_id = $acs_user_info_row['user_community_id'];
     // BEGIN
     ACSDB::_do_query("BEGIN");
     // ログイン情報のインサート
     $login_id_seq = ACSDB::get_next_seq('login_id_seq');
     $sql = "INSERT INTO login_info";
     $sql .= " (logout_id, community_id, login_date, logout_date)";
     $sql .= " VALUES (" . $login_id_seq . "," . $user_community_id . ", CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // COMMIT
     ACSDB::_do_query("COMMIT");
     $user->setAttribute('logout_id', $login_id_seq);
     return $ret;
 }
示例#6
0
 /**
  * 掲示板の返信記事を登録する
  *
  * @param 返信記事情報の配列
  * @return 成功(true) / 失敗(false)
  */
 static function set_bbs_res($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $bbs_res_id_seq = ACSDB::get_next_seq('bbs_res_id_seq');
     $sql = "INSERT INTO bbs_res";
     $sql .= " (bbs_id, bbs_res_id, user_community_id, subject, body ,bbs_res_delete_flag)";
     $sql .= " VALUES ({$form['bbs_id']}, {$bbs_res_id_seq},{$form['user_community_id']}, {$form['subject']}, {$form['body']},'f')";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * ルートフォルダ挿入
  *
  * @param $community_id
  */
 static function insert_root_folder($community_id)
 {
     $folder_row = array();
     $timestamp = ACSLib::convert_timestamp_to_pg_date();
     $folder_row['folder_id'] = ACSDB::get_next_seq('folder_id_seq');
     $folder_row['community_id'] = $community_id;
     $folder_row['folder_name'] = ACSMsg::get_mdmsg(__FILE__, 'M001');
     $folder_row['comment'] = "";
     $folder_row['parent_folder_id'] = "";
     $folder_row['entry_user_community_id'] = $community_id;
     $folder_row['entry_date'] = $timestamp;
     $folder_row['update_user_community_id'] = $community_id;
     $folder_row['update_date'] = $timestamp;
     $folder_row['open_level_code'] = "";
     ACSDB::_do_query("BEGIN");
     $ret = ACSFolderModel::insert_folder($folder_row);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     ACSDB::_do_query("COMMIT");
     return $ret;
 }
示例#8
0
 /**
  * ログを登録する
  *
  * @param $acs_user_info_row ACSユーザ情報
  * @param $operation_type_name 操作名
  * @param $operation_result 操作結果 (true/false)
  * @param $message メッセージ
  * @return 成功(true) / 失敗(false)
  */
 static function set_log_debug($user_community_id, $message)
 {
     // ログIDのシーケンス取得
     $log_id_seq = ACSDB::get_next_seq('log_id_seq');
     // INSERTデータ
     $form['log_id'] = $log_id_seq;
     $form['log_date'] = 'now';
     $form['user_id'] = 'debug';
     $form['user_name'] = 'anonymous';
     $form['user_community_id'] = $user_community_id;
     $form['community_name'] = 'DEBUG';
     $form['administrator_flag'] = false;
     $form['operation_code'] = '9999';
     $form['operation_result'] = true;
     $form['message'] = $message;
     // escape
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     $sql = "INSERT INTO log (log_id, log_date, user_id, user_name, user_community_id, community_name, administrator_flag, operation_code, operation_result, message)";
     $sql .= " VALUES ( {$log_id_seq}, 'now', 'debug', 'anonymous', {$user_community_id}, 'DEBUG', false, '9999', true, '{$message}')";
     $ret = ACSDB::_do_query($sql);
     //		return $ret;
     return null;
 }
 /**
  * RSS情報を登録する
  *
  * @param $form フォーム情報
  * @param $rss_channel_row <channel>
  * @param $rss_item_row <item>
  * @return 成功(true) / 失敗(false)
  */
 static function set_bbs_and_external_rss($form, $rss_channel_row, $rss_item_row)
 {
     $org_form = $form;
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     // BEGIN
     ACSDB::_do_query("BEGIN");
     $bbs_id_seq = ACSDB::get_next_seq('bbs_id_seq');
     // bbs
     $sql = "INSERT INTO bbs";
     $sql .= " (bbs_id, community_id, user_community_id, subject, body, open_level_code, expire_date, ml_send_flag)";
     $sql .= " VALUES ({$bbs_id_seq}, {$form['community_id']}, {$form['user_community_id']}, {$form['subject']}, {$form['body']}, {$form['open_level_code']}, ";
     $sql .= ($org_form['expire_date'] != NULL ? $org_form['expire_date'] : "null") . ", {$form['ml_send_flag']})";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     $form = $org_form;
     // bbs_trusted_community
     $open_level_master_array = ACSDB::get_master_array('open_level');
     // 非公開 (メンバのみ)
     if ($open_level_master_array[$form['open_level_code']] == ACSMsg::get_mst('open_level_master', 'D04')) {
         foreach ($form['trusted_community_row_array'] as $trusted_community_row) {
             $trusted_community_id = pg_escape_string($trusted_community_row['community_id']);
             $sql = "INSERT INTO bbs_trusted_community";
             $sql .= " (bbs_id, trusted_community_id)";
             $sql .= " VALUES ({$bbs_id_seq}, {$trusted_community_id})";
             $ret = ACSDB::_do_query($sql);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // external_rss
     ACSLib::escape_sql_array($rss_item_row);
     ACSLib::get_sql_value_array($rss_item_row);
     ACSLib::escape_sql_array($rss_channel_row);
     ACSLib::get_sql_value_array($rss_channel_row);
     $sql = "INSERT INTO external_rss";
     $sql .= " (bbs_id, rss_url, rss_channel_title, rss_item_title, rss_item_content, rss_item_date, rss_item_link)";
     $sql .= " VALUES ({$bbs_id_seq}, {$rss_channel_row['rss_url']}, {$rss_channel_row['rss_channel_title']}, {$rss_item_row['rss_item_title']}, {$rss_item_row['rss_item_content']}, {$rss_item_row['rss_item_date']}, {$rss_item_row['rss_item_link']})";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     if ($ret) {
         $ret = $bbs_id_seq;
     }
     // COMMIT
     ACSDB::_do_query("COMMIT");
     return $ret;
 }
示例#10
0
 /**
  * メッセージを登録する
  *
  * @param $form メッセージ情報の配列
  * @return 成功(登録されたメッセージID) / 失敗(false)
  */
 static function set_message($form)
 {
     $org_form = $form;
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     // BEGIN
     //ACSDB::_do_query("BEGIN");
     $message_id_seq = ACSDB::get_next_seq('message_id_seq');
     $message_sender_id_seq = ACSDB::get_next_seq('message_sender_id_seq');
     $message_receiver_id_seq = ACSDB::get_next_seq('message_receiver_id_seq');
     // messege
     $sql1 = "INSERT INTO message";
     $sql1 .= " (message_id, subject, body)";
     $sql1 .= " VALUES ({$message_id_seq}, {$form['subject']}, {$form['body']})";
     $ret = ACSDB::_do_query($sql1);
     if (!$ret) {
         //ACSDB::_do_query("ROLLBACK");
         echo "ERROR: insert message error";
         return $ret;
     }
     $form = $org_form;
     // messege_sender
     $sql2 = "INSERT INTO message_sender";
     $sql2 .= " (message_sender_id, message_id, community_id, message_delete_flag)";
     $sql2 .= " VALUES ({$message_sender_id_seq}, {$message_id_seq}, {$form['acs_user_info_id']}, 'f')";
     $ret = ACSDB::_do_query($sql2);
     if (!$ret) {
         //ACSDB::_do_query("ROLLBACK");
         echo "ERROR: insert message_sender error";
         return $ret;
     }
     $form = $org_form;
     // messege_receiver
     $sql3 = "INSERT INTO message_receiver";
     $sql3 .= " (message_receiver_id, message_id, community_id, read_flag, message_delete_flag)";
     $sql3 .= " VALUES ({$message_receiver_id_seq}, {$message_id_seq}, {$form['user_community_id']}, 'f', 'f')";
     $ret = ACSDB::_do_query($sql3);
     if (!$ret) {
         //ACSDB::_do_query("ROLLBACK");
         echo "ERROR: insert message_receiver error";
         return $ret;
     }
     if ($ret) {
         return $message_id_seq;
     } else {
         return false;
     }
 }
示例#11
0
 /**
  * ダイアリーコメントを登録する
  *
  * @param $form ダイアリーコメント情報の配列
  * @return 成功(true) / 失敗(false)
  */
 static function set_diary_comment($form)
 {
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     //一意指定のためのコメントID
     $diary_comment_id_seq = ACSDB::get_next_seq('diary_comment_id_seq');
     $sql = "INSERT INTO diary_comment";
     $sql .= " (diary_comment_id, diary_id, user_community_id, body,diary_comment_delete_flag)";
     $sql .= " VALUES ({$diary_comment_id_seq}, {$form['diary_id']}, {$form['user_community_id']}, {$form['body']},'f')";
     $ret = ACSDB::_do_query($sql);
     return $ret;
 }
 /**
  * ファイルID取得
  *
  * @param none
  */
 static function get_next_file_id_seq()
 {
     $file_id = ACSDB::get_next_seq('file_id_seq');
     return $file_id;
 }
示例#13
0
 /**
  * コミュニティを登録する
  *
  * @param $form コミュニティ情報
  * return 成功(コミュニティID) / 失敗(false)
  */
 static function set_community($form)
 {
     // コミュニティ種別マスタ
     $community_type_master_array = ACSDB::get_master_array('community_type');
     //$community_type_code = array_search('コミュニティ', $community_type_master_array);
     $community_type_code = array_search(ACSMsg::get_mst('community_type_master', 'D40'), $community_type_master_array);
     // コンテンツ種別マスタ
     $contents_type_master_array = ACSDB::get_master_array('contents_type');
     // コミュニティメンバ種別マスタ
     $community_member_type_master_array = ACSDB::get_master_array('community_member_type');
     $org_form = $form;
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     // BEGIN
     ACSDB::_do_query("BEGIN");
     // (1) コミュニティ (community)
     $community_id_seq = ACSDB::get_next_seq('community_id_seq');
     $admission_flag = ACSLib::get_pg_boolean($org_form['admission_flag']);
     $sql = "INSERT INTO community";
     $sql .= " (community_id, community_name, community_type_code, category_code, admission_flag)";
     $sql .= " VALUES ('{$community_id_seq}', {$form['community_name']}, '{$community_type_code}', {$form['category_code']}, '{$admission_flag}')";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // contents
     // (2-1) (コミュニティ全体)
     $contents_form = array();
     $contents_form['community_id'] = $community_id_seq;
     //$contents_form['contents_type_code'] = array_search('全体', $contents_type_master_array);
     $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D00'), $contents_type_master_array);
     $contents_form['contents_value'] = '';
     $contents_form['open_level_code'] = ACSAccessControl::get_default_open_level_code(ACSMsg::get_mst('community_type_master', 'D40'), ACSMsg::get_mst('contents_type_master', 'D00'));
     $ret = ACSCommunity::set_contents($contents_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // (2-2) コミュニティプロフィール
     $contents_form = array();
     $contents_form['community_id'] = $community_id_seq;
     $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D07'), $contents_type_master_array);
     $contents_form['contents_value'] = $org_form['community_profile'];
     $contents_form['open_level_code'] = ACSAccessControl::get_default_open_level_code(ACSMsg::get_mst('community_type_master', 'D40'), ACSMsg::get_mst('contents_type_master', 'D07'));
     $ret = ACSCommunity::set_contents($contents_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // (3) 参加資格 (join_trusted_community)
     if (is_array($org_form['join_trusted_community_id_array'])) {
         $join_trusted_community_form = array();
         $join_trusted_community_form['community_id'] = $community_id_seq;
         foreach ($org_form['join_trusted_community_id_array'] as $trusted_community_id) {
             $join_trusted_community_form['trusted_community_id'] = $trusted_community_id;
             $ret = ACSCommunity::set_join_trusted_community($join_trusted_community_form);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // (4) 公開範囲 電子掲示板
     // contents
     $contents_form = array();
     $contents_form['community_id'] = $community_id_seq;
     $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D41'), $contents_type_master_array);
     $contents_form['contents_value'] = '';
     $contents_form['open_level_code'] = $org_form['bbs_open_level_code'];
     $ret = ACSCommunity::set_contents($contents_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // contents_trusted_community
     if (is_array($org_form['bbs_trusted_community_id_array'])) {
         $contents_trusted_community_form = array();
         $contents_trusted_community_form['community_id'] = $community_id_seq;
         $contents_trusted_community_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D41'), $contents_type_master_array);
         $contents_trusted_community_form['open_level_code'] = $org_form['bbs_open_level_code'];
         foreach ($org_form['bbs_trusted_community_id_array'] as $trusted_community_id) {
             $contents_trusted_community_form['trusted_community_id'] = $trusted_community_id;
             $ret = ACSCommunity::set_contents_trusted_community($contents_trusted_community_form);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // (5) 公開範囲 コミュニティフォルダ (cotents)
     // contents
     $contents_form = array();
     $contents_form['community_id'] = $community_id_seq;
     $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D31'), $contents_type_master_array);
     $contents_form['contents_value'] = '';
     $contents_form['open_level_code'] = $org_form['community_folder_open_level_code'];
     $ret = ACSCommunity::set_contents($contents_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // contents_trusted_community
     if (is_array($org_form['community_folder_trusted_community_id_array'])) {
         $contents_trusted_community_form = array();
         $contents_trusted_community_form['community_id'] = $community_id_seq;
         $contents_trusted_community_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D31'), $contents_type_master_array);
         $contents_trusted_community_form['open_level_code'] = $org_form['community_folder_open_level_code'];
         foreach ($org_form['community_folder_trusted_community_id_array'] as $trusted_community_id) {
             $contents_trusted_community_form['trusted_community_id'] = $trusted_community_id;
             $ret = ACSCommunity::set_contents_trusted_community($contents_trusted_community_form);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // (6) 公開範囲 全体
     // contents
     $contents_form = array();
     $contents_form['community_id'] = $community_id_seq;
     //$contents_form['contents_type_code'] = array_search('全体', $contents_type_master_array);
     $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D00'), $contents_type_master_array);
     $contents_form['contents_value'] = '';
     $contents_form['open_level_code'] = $org_form['self_open_level_code'];
     $ret = ACSCommunity::set_contents($contents_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // (7) コミュニティ管理者をセットする
     $community_admin_form = array();
     $community_admin_form['community_id'] = $community_id_seq;
     $community_admin_form['user_community_id'] = $org_form['user_community_id'];
     $ret = ACSCommunity::set_community_admin($community_admin_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // (8) コミュニティML
     // contents
     // コミュニティMLアドレス
     if ($org_form['community_ml_address']) {
         $contents_form = array();
         $contents_form['community_id'] = $community_id_seq;
         $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D61'), $contents_type_master_array);
         $contents_form['contents_value'] = $org_form['community_ml_address'];
         $contents_form['open_level_code'] = ACSAccessControl::get_default_open_level_code(ACSMsg::get_mst('community_type_master', 'D40'), ACSMsg::get_mst('contents_type_master', 'D61'));
         $ret = ACSCommunity::set_contents($contents_form);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // コミュニティMLステータス
         $contents_form = array();
         $contents_form['community_id'] = $community_id_seq;
         $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D62'), $contents_type_master_array);
         $contents_form['contents_value'] = 'QUEUE';
         $contents_form['open_level_code'] = ACSAccessControl::get_default_open_level_code(ACSMsg::get_mst('community_type_master', 'D40'), ACSMsg::get_mst('contents_type_master', 'D62'));
         $ret = ACSCommunity::set_contents($contents_form);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
     }
     // COMMIT
     ACSDB::_do_query("COMMIT");
     return $community_id_seq;
 }
示例#14
0
 /**
  * 親コミュニティ追加 承認待ち を登録する
  *
  * @param $user_community_id 対象のコミュニティID (承認側)
  * @param $waiting_community_id 待機コミュニティID (依頼側)
  * @param $entry_user_community_id 登録したユーザコミュニティID
  * @param $message メッセージ
  * @return 成功(true) / 失敗(false)
  */
 static function set_waiting_for_sub_community_link($community_id, $waiting_community_id, $entry_user_community_id, $message)
 {
     // 待機種別マスタ
     $waiting_type_master_array = ACSDB::get_master_array('waiting_type');
     // 待機状態マスタ
     $waiting_status_master_array = ACSDB::get_master_array('waiting_status');
     $waiting_form = array();
     $waiting_form['waiting_id'] = ACSDB::get_next_seq('waiting_id_seq');
     $waiting_form['community_id'] = $community_id;
     $waiting_form['waiting_community_id'] = $waiting_community_id;
     $waiting_form['waiting_type_code'] = array_search(ACSMsg::get_mst('waiting_type_master', 'D50'), $waiting_type_master_array);
     $waiting_form['waiting_status_code'] = array_search(ACSMsg::get_mst('waiting_status_master', 'D10'), $waiting_status_master_array);
     $waiting_form['message'] = $message;
     $waiting_form['entry_user_community_id'] = $entry_user_community_id;
     $ret = ACSWaitingModel::insert_waiting($waiting_form);
     if ($ret) {
         $ret = $waiting_form['waiting_id'];
     }
     return $ret;
 }
示例#15
0
 /**
  * フォルダ作成
  *
  * @param $input_folder_row
  *
  * @return $ret
  */
 function create_folder($input_folder_row)
 {
     $acs_user_info_row = $this->get_acs_user_info_row();
     $acs_user_community_id = $acs_user_info_row['user_community_id'];
     // フォルダの値セット
     $folder_row = array();
     $timestamp_pg_date = ACSLib::convert_timestamp_to_pg_date();
     $folder_id = ACSDB::get_next_seq('folder_id_seq');
     if ($input_folder_row['entry_date']) {
         $entry_date = $input_folder_row['entry_date'];
     } else {
         $entry_date = $timestamp_pg_date;
     }
     $update_date = $entry_date;
     $folder_row['folder_id'] = $folder_id;
     $folder_row['community_id'] = $this->get_community_id();
     $folder_row['folder_name'] = $input_folder_row['folder_name'];
     $folder_row['comment'] = $input_folder_row['comment'];
     $folder_row['parent_folder_id'] = $this->get_folder_id();
     $folder_row['entry_user_community_id'] = $acs_user_community_id;
     $folder_row['entry_date'] = $entry_date;
     $folder_row['update_user_community_id'] = $acs_user_community_id;
     $folder_row['update_date'] = $update_date;
     $folder_row['open_level_code'] = $input_folder_row['open_level_code'];
     $trusted_community_id_array = $input_folder_row['trusted_community_id_array'];
     /* フォルダ作成 */
     $ret = ACSFolderModel::insert_folder($folder_row, $trusted_community_id_array);
     if (!$ret) {
         return $ret;
     }
     /* 親フォルダの更新日を更新 */
     $ret = ACSFolderModel::update_folder_update_date($this->get_folder_id(), $acs_user_community_id, $update_date);
     if (!$ret) {
         return $ret;
     }
     /* フォルダリストに追加 */
     $folder_obj = ACSFolder::get_folder_instance($folder_row);
     array_push($this->folder_obj_array, $folder_obj);
     return $ret;
 }