Project import generated by Copybara.
GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/src/doaddschedule.php b/src/doaddschedule.php
new file mode 100644
index 0000000..d91254f
--- /dev/null
+++ b/src/doaddschedule.php
@@ -0,0 +1,46 @@
+<?php
+require_once("core.php");
+security::checkType(security::ADMIN);
+
+if (!security::checkParams("POST", [
+ ["worker", security::PARAM_NEMPTY]
+])) {
+ security::go("users.php?msg=unexpected");
+}
+
+$w = workers::get((int)$_POST["worker"]);
+
+if ($w === false) {
+ security::go("users.php?msg=unexpected");
+}
+
+if (!security::checkParams("POST", [
+ ["begins", security::PARAM_ISDATE],
+ ["ends", security::PARAM_ISDATE]
+])) {
+ security::go("userschedule.php?id=".(int)$w["person"]."&msg=empty");
+}
+
+$begins = $_POST["begins"];
+$ends = $_POST["ends"];
+
+$status = schedules::add($w["id"], $begins, $ends);
+
+switch ($status) {
+ case 0:
+ $id = mysqli_insert_id($con);
+ security::go("schedule.php?id=".(int)$id."&msg=added");
+ break;
+
+ case 1:
+ security::go("userschedule.php?id=".(int)$w["person"]."&msg=overlaps");
+ break;
+
+ case 3:
+ security::go("userschedule.php?id=".(int)$w["person"]."&msg=order");
+ break;
+
+ default:
+ security::go("userschedule.php?id=".(int)$w["person"]."&msg=unexpected");
+ break;
+}