/**
  * スケジュール一覧インスタンス生成
  *
  *  戻り値は、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;
 }
示例#2
0
 /**
  * マスタデータを連想配列として取得する
  *
  * @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;
 }