blob: 171139602d5084c3b6a9f2098206a4500fbe46dd [file] [log] [blame]
Copybara botbe50d492023-11-30 00:16:42 +01001<?php
Adrià Vilanova Martínez5af86512023-12-02 20:44:16 +01002/*
3 * hores
4 * Copyright (c) 2023 Adrià Vilanova Martínez
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as
8 * published by the Free Software Foundation, either version 3 of the
9 * License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public
17 * License along with this program.
18 * If not, see http://www.gnu.org/licenses/.
19 */
20
Copybara botbe50d492023-11-30 00:16:42 +010021require_once("core.php");
22security::checkType(security::ADMIN);
23
24if (!security::checkParams("POST", [
25 ["type", security::PARAM_ISINT],
26 ["worker", security::PARAM_ISINT],
27 ["firstday", security::PARAM_ISDATE],
28 ["lastday", security::PARAM_ISDATE],
29 ["day", security::PARAM_ISARRAY],
30 ["daytype", security::PARAM_ISARRAY]
31])) {
32 security::go(visual::getContinueUrl("incidents.php", "empty", "POST"));
33}
34
35$type = (int)$_POST["type"];
36$worker = (int)$_POST["worker"];
37$details = ((isset($_POST["details"]) && is_string($_POST["details"])) ? $_POST["details"] : "");
38$firstday = $_POST["firstday"];
39$lastday = $_POST["lastday"];
40$days = $_POST["day"];
41$typeDays = $_POST["daytype"];
42
43if (isset($_POST["allday"]) && $_POST["allday"] == 1) {
44 $begins = incidents::STARTOFDAY;
45 $ends = incidents::ENDOFDAY;
46} else {
47 if (!security::checkParams("POST", [
48 ["begins", security::PARAM_ISTIME],
49 ["ends", security::PARAM_ISTIME]
50 ])) {
51 security::go(visual::getContinueUrl("incidents.php", "empty", "POST"));
52 }
53
54 $begins = schedules::time2sec($_POST["begins"]);
55 $ends = schedules::time2sec($_POST["ends"]);
56}
57
58if (recurringIncidents::add($worker, $type, $details, $firstday, $lastday, $begins, $ends, "ME", $typeDays, $days)) security::go(visual::getContinueUrl("incidents.php", "addedrecurring", "POST"));
59else security::go(visual::getContinueUrl("incidents.php", "unexpectedrecurring", "POST"));