function reader_g($user_num, $day) { $conect = connect_acc(); $list = new linked_day(); if ($result = $conect->query("SELECT * FROM `Event` WHERE `USER_#`='{$user_num}' AND `DAY`='{$day}' ORDER BY 'PRIORTY' ASC")) { if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $time_s = explode(' ', $row['TIME_BEGIN']); $time_e = explode(' ', $row['TIME_END']); $time_bs = $row['BUFF_BEGIN']; $time_be = $row['BUFF_END']; if (($buf_time_b = time_diff($time_bs, $time_s[1])) <= $time_s[1]) { $list->add("free time", $buf_time_b, $time_s[1]); } else { $list->add("free time", "00:00:00", $time_s[1]); } $list->add($row['EVENT_NAME'], $time_s[1], $time_e[1]); if (($buf_time_a = time_add($time_be, $time_e[1])) >= $time_e[1]) { $list->add("free time", $time_e[1], $buf_time_a); } else { $list->add("free time", $time_e[1], "23:59:59"); } } } } disconnect($conect); return $list; }
public function fill_time($to_b_filled, $name) { if (strlen($to_b_filled) > 8) { $to_b_filled <= substr($to_b_filled, 8); } $free = $this->free_time(); $largest_val = "00:00:00"; while (count($free) >= 1) { for ($i = 0; $i < count($free); $i++) { if ($free[$i][2] > $largest_val) { $largest_val = $free[$i][2]; $larg_spot = $i; } } if ($free[$larg_spot][2] < $to_b_filled) { $to_b_filled = time_diff($free[$larg_spot][2], $to_b_filled); $this->add($name, $free[$larg_spot][0], $free[$larg_spot][1]); $free = $this->free_time(); } else { $this->add($name, $free[$larg_spot][0], time_add($free[$larg_spot][0], $to_b_filled)); break; } } }