/** * スケジュール一覧インスタンス生成 * * 戻り値は、array([user_community_id] => ACSScheduleParticipantインスタンス) * * @param string $schedule_id 該当のスケジュールid * @param boolean $is_target_kind_all 全員参加モードで取得するかどうか * @return array ACSScheduleParticipantインスタンスの配列 */ function &get_schedule_participant_instance_list($schedule_id, $is_target_kind_all) { if ($is_target_kind_all) { $sql = "SELECT " . " sc.schedule_id, " . " mmb.user_community_id, " . " pa.participant_comment, " . " pa.participant_delete_flag, " . " cmm.community_name AS user_community_name " . "FROM (((schedule AS sc " . "LEFT JOIN community AS cm " . " ON sc.community_id = cm.community_id) " . "LEFT JOIN community_member AS mmb " . " ON sc.community_id = mmb.community_id) " . "LEFT JOIN community AS cmm " . " ON mmb.user_community_id = cmm.community_id) " . "LEFT JOIN schedule_participant AS pa " . " ON sc.schedule_id = pa.schedule_id " . " AND mmb.user_community_id = pa.user_community_id " . "WHERE sc.schedule_id = " . pg_escape_string($schedule_id) . " AND cmm.delete_flag != 't'"; " ORDER BY mmb.user_community_id "; } else { $sql = "SELECT " . " pa.schedule_id, " . " pa.user_community_id, " . " pa.participant_comment, " . " pa.participant_delete_flag, " . " cm.community_name AS user_community_name " . "FROM schedule_participant AS pa " . "LEFT JOIN community AS cm " . " ON pa.user_community_id = cm.community_id " . "WHERE pa.schedule_id = " . pg_escape_string($schedule_id) . " AND pa.participant_delete_flag = FALSE " . " AND cm.delete_flag != 't'"; " ORDER BY pa.user_community_id "; } $participant_rows = ACSDB::_get_row_array($sql); $sql = "SELECT * FROM schedule_answer " . "WHERE schedule_id = " . pg_escape_string($schedule_id) . " ORDER BY user_community_id, adjustment_date_id"; $answer_res = ACSDB::_get_res($sql); $answer_all_rows = array(); while ($row = $answer_res->fetchRow(DB_FETCHMODE_ASSOC)) { $answer_all_rows[$row['user_community_id']][] = $row; } $answer_res->free(); $schedule_participant_array = array(); foreach ($participant_rows as $participant_row) { $user_community_id = $participant_row['user_community_id']; $schedule_participant =& new ACSScheduleParticipant($schedule_id, $user_community_id); $schedule_participant->initialize($participant_row, $answer_all_rows[$user_community_id]); $schedule_participant_array[$user_community_id] = $schedule_participant; } return $schedule_participant_array; }
/** * マスタデータを連想配列として取得する * * @param マスタテーブル名のprefix (***_master) * @return マスタデータの連想配列 */ static function get_master_array($prefix, $where = "") { $ret_array = array(); $master_table = $prefix . '_master'; $code = $prefix . '_code'; $name = $prefix . '_name'; $sql = "SELECT *"; $sql .= " FROM {$master_table}"; if ($where != "") { $sql .= " WHERE " . $where; } $sql .= " ORDER BY {$code} ASC"; $res = ACSDB::_get_res($sql); while ($row = $res->fetchRow()) { $ret_array[$row[$code]] = $row[$name]; } ksort($ret_array); return $ret_array; }