Project import generated by Copybara.
GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/src/doadddayschedule.php b/src/doadddayschedule.php
new file mode 100644
index 0000000..aeae3ae
--- /dev/null
+++ b/src/doadddayschedule.php
@@ -0,0 +1,64 @@
+<?php
+require_once("core.php");
+security::checkType(security::ADMIN);
+
+if (!security::checkParams("POST", [
+ ["id", security::PARAM_NEMPTY]
+])) {
+ security::go("users.php?msg=unexpected");
+}
+
+$id = (int)$_POST["id"];
+
+if (!security::checkParams("POST", [
+ ["day", security::PARAM_ISARRAY],
+ ["type", security::PARAM_ISARRAY]
+])) {
+ security::go("schedule.php?id=".$id."&msg=empty");
+}
+
+$dates = ["beginswork", "endswork", "beginsbreakfast", "endsbreakfast", "beginslunch", "endslunch"];
+$time = [];
+foreach ($dates as $date) {
+ if (isset($_POST[$date]) && !empty($_POST[$date])) {
+ if (!security::checkParam($_POST[$date], security::PARAM_ISTIME)) {
+ security::go("schedule.php?id=".$id."&msg=unexpected");
+ }
+ $time[$date] = schedules::time2sec($_POST[$date]);
+ } else {
+ $time[$date] = 0;
+ }
+}
+
+$status = schedules::checkAddDayGeneric($time["beginswork"], $time["endswork"], $time["beginsbreakfast"], $time["endsbreakfast"], $time["beginslunch"], $time["endslunch"]);
+
+if ($status != 0) {
+ security::go("schedule.php?id=".$id."&msg=errorcheck".(int)$status);
+}
+
+$flag = false;
+
+foreach ($_POST["day"] as $rawday) {
+ $day = (int)$rawday;
+ if ($day < 0 || $day > 6) continue;
+
+ foreach ($_POST["type"] as $rawtype) {
+ $type = (int)$rawtype;
+ if (!in_array($type, array_keys(calendars::$types))) continue;
+
+ if (!schedules::checkAddDay2ScheduleParticular($id, $day, $type)) {
+ $flag = true;
+ continue;
+ }
+
+ if (!schedules::addDay2Schedule($id, $day, $type, $time["beginswork"], $time["endswork"], $time["beginsbreakfast"], $time["endsbreakfast"], $time["beginslunch"], $time["endslunch"])) {
+ security::go("schedule.php?id=".$id."&msg=unexpected");
+ }
+ }
+}
+
+if ($flag) {
+ security::go("schedule.php?id=".$id."&msg=existing");
+} else {
+ security::go("schedule.php?id=".$id."&msg=added");
+}