chore: add AGPL3-or-later license

This CL adds the AGPL3-or-later license for all public code.

It also adds some configuration so we can use headroom to automatically
generate the license headers.

GitOrigin-RevId: 634827ab248c207e6841dbad29f59aeadcbef541
diff --git a/src/inc/api.php b/src/inc/api.php
index 9b606be..aa12ca2 100644
--- a/src/inc/api.php
+++ b/src/inc/api.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class api {
   public static function inputJson() {
     $string = trim(file_get_contents("php://input"));
diff --git a/src/inc/calendars.php b/src/inc/calendars.php
index a8b4a9f..213c6da 100644
--- a/src/inc/calendars.php
+++ b/src/inc/calendars.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class calendars {
   const TYPE_FESTIU = 0;
   const TYPE_FEINER = 1;
diff --git a/src/inc/calendarsView.php b/src/inc/calendarsView.php
index eddc230..46a3761 100644
--- a/src/inc/calendarsView.php
+++ b/src/inc/calendarsView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class calendarsView {
   public static function renderCalendar($current, $ends, $selectedFunc, $disabled = false, $extra = false) {
     $interval = new DateInterval("P1D");
diff --git a/src/inc/categories.php b/src/inc/categories.php
index a75d998..d4b3453 100644
--- a/src/inc/categories.php
+++ b/src/inc/categories.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class categories {
   private static function parseEmails($string) {
     $string = str_replace(" ", "", $string);
diff --git a/src/inc/common.php b/src/inc/common.php
index 26d02aa..3dc12e0 100644
--- a/src/inc/common.php
+++ b/src/inc/common.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class common {
   public static function getDayTimestamp($originaltime) {
     $datetime = new DateTime();
diff --git a/src/inc/companies.php b/src/inc/companies.php
index 702151f..4646ca7 100644
--- a/src/inc/companies.php
+++ b/src/inc/companies.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class companies {
   public static function add($company, $cif) {
     global $con;
diff --git a/src/inc/csv.php b/src/inc/csv.php
index ce44c81..ed01c2a 100644
--- a/src/inc/csv.php
+++ b/src/inc/csv.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class csv {
   public static $fields = ["dni", "name", "category", "email", "companies"];
 
diff --git a/src/inc/db.php b/src/inc/db.php
index 293707a..91042df 100644
--- a/src/inc/db.php
+++ b/src/inc/db.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class db {
   const EXPORT_DB_FORMAT_SQL = 0;
 
diff --git a/src/inc/export.php b/src/inc/export.php
index 6800d50..f52f926 100644
--- a/src/inc/export.php
+++ b/src/inc/export.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class export {
   const FORMAT_PDF = 1;
   const FORMAT_DETAILEDPDF = 2;
diff --git a/src/inc/files.php b/src/inc/files.php
index 5f9cce2..4e84862 100644
--- a/src/inc/files.php
+++ b/src/inc/files.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class files {
   const NAME_LENGTH = 16;
   const MAX_SIZE = 6*1024*1024;
diff --git a/src/inc/help.php b/src/inc/help.php
index 3fe7179..2b77277 100644
--- a/src/inc/help.php
+++ b/src/inc/help.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class help {
   const PLACE_INCIDENT_FORM = 0;
   const PLACE_VALIDATION_PAGE = 1;
diff --git a/src/inc/helpView.php b/src/inc/helpView.php
index d6b642a..614b706 100644
--- a/src/inc/helpView.php
+++ b/src/inc/helpView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class helpView {
   public static function renderHelpButton($place, $topRight = false, $margin = false) {
     $url = help::get($place);
diff --git a/src/inc/incidents.php b/src/inc/incidents.php
index 7664fe9..b558ed9 100644
--- a/src/inc/incidents.php
+++ b/src/inc/incidents.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class incidents {
   const STARTOFDAY = 0;
   const ENDOFDAY = 60*60*24;
diff --git a/src/inc/incidentsView.php b/src/inc/incidentsView.php
index ca646cb..1f90bc8 100644
--- a/src/inc/incidentsView.php
+++ b/src/inc/incidentsView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class incidentsView {
   public static $limitOptions = [10, 15, 20, 30, 40, 50];
 
diff --git a/src/inc/intervals.php b/src/inc/intervals.php
index 10c31f7..98061e9 100644
--- a/src/inc/intervals.php
+++ b/src/inc/intervals.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class intervals {
   public static function wellFormed($i) {
     return (isset($i[0]) && isset($i[1]) && $i[0] <= $i[1]);
diff --git a/src/inc/listings.php b/src/inc/listings.php
index b3aa258..5c6977f 100644
--- a/src/inc/listings.php
+++ b/src/inc/listings.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class listings {
   public static function renderFilterDialog($form, $select) {
     global $_GET;
diff --git a/src/inc/mail.php b/src/inc/mail.php
index 7f3b353..e767d0f 100644
--- a/src/inc/mail.php
+++ b/src/inc/mail.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 use PHPMailer\PHPMailer\PHPMailer;
 use PHPMailer\PHPMailer\Exception;
 use PHPMailer\PHPMailer\SMTP;
diff --git a/src/inc/people.php b/src/inc/people.php
index deccc10..ddb3617 100644
--- a/src/inc/people.php
+++ b/src/inc/people.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class people {
   public static $filters = ["categories", "types", "companies"];
   public static $mysqlFilters = ["categories", "types"];
diff --git a/src/inc/recovery.php b/src/inc/recovery.php
index 1f8307b..a4057bc 100644
--- a/src/inc/recovery.php
+++ b/src/inc/recovery.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class recovery {
   const TOKEN_BYTES = 32;
   const EXPIRATION_TIME = 60*60*24;
diff --git a/src/inc/recurringIncidents.php b/src/inc/recurringIncidents.php
index b07bf66..258fba6 100644
--- a/src/inc/recurringIncidents.php
+++ b/src/inc/recurringIncidents.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class recurringIncidents {
   /*public static function oldAdd($worker, $type, $details, $ifirstday, $ilastday, $begins, $ends, $creator = "ME", $typedays, $days, $alreadyTimestamp = false) {
     global $con, $conf;
diff --git a/src/inc/registry.php b/src/inc/registry.php
index 363968d..8b09d14 100644
--- a/src/inc/registry.php
+++ b/src/inc/registry.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class registry {
   const LOGS_PAGINATION_LIMIT = 30;
   const REGISTRY_PAGINATION_LIMIT = 20;
diff --git a/src/inc/registryView.php b/src/inc/registryView.php
index 1767bc3..f068558 100644
--- a/src/inc/registryView.php
+++ b/src/inc/registryView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class registryView {
   public static function renderRegistry(&$registry, &$companies, $scrollable = false, $showPersonAndCompany = true, $isForWorker = false, $isForValidationView = false) {
     global $conf, $renderRegistryAutoIncremental;
diff --git a/src/inc/schedules.php b/src/inc/schedules.php
index 87b5ed6..a987cc4 100644
--- a/src/inc/schedules.php
+++ b/src/inc/schedules.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class schedules {
   const STATUS_NO_ACTIVE_SCHEDULE = 0;
   const STATUS_HALFWAY_CONFIGURED_SCHEDULE = 1;
diff --git a/src/inc/schedulesView.php b/src/inc/schedulesView.php
index aab3a2f..69dfb3c 100644
--- a/src/inc/schedulesView.php
+++ b/src/inc/schedulesView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class schedulesView {
   const HOUR_HEIGHT = 30;
 
diff --git a/src/inc/secondFactor.php b/src/inc/secondFactor.php
index 1b0de75..bcf8937 100644
--- a/src/inc/secondFactor.php
+++ b/src/inc/secondFactor.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 require_once(__DIR__."/../lib/GoogleAuthenticator/GoogleAuthenticator.php");
 require_once(__DIR__."/../lib/WebAuthn/WebAuthn.php");
 
diff --git a/src/inc/secondFactorView.php b/src/inc/secondFactorView.php
index 7ed9712..53c078c 100644
--- a/src/inc/secondFactorView.php
+++ b/src/inc/secondFactorView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class secondFactorView {
   public static function renderSecret($secret) {
     for ($i = 0; $i < strlen($secret); $i++) {
diff --git a/src/inc/security.php b/src/inc/security.php
index 1d3159b..8c2214d 100644
--- a/src/inc/security.php
+++ b/src/inc/security.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class security {
   const HYPERADMIN = 0;
   const ADMIN = 2;
diff --git a/src/inc/validations.php b/src/inc/validations.php
index d3c310f..2b063f9 100644
--- a/src/inc/validations.php
+++ b/src/inc/validations.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class validations {
   const DEFAULT_REMINDER_GRACE_PERIOD = 3; // When sending email notifications about pending elements to verify,
                                    // only elements effective until the current day minus the grace period
diff --git a/src/inc/validationsView.php b/src/inc/validationsView.php
index b6b2b68..52df778 100644
--- a/src/inc/validationsView.php
+++ b/src/inc/validationsView.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class validationsView {
   public static function renderPendingValidations($userId) {
     $workers = workers::getPersonWorkers((int)$userId);
diff --git a/src/inc/visual.php b/src/inc/visual.php
index 02a3457..676d129 100644
--- a/src/inc/visual.php
+++ b/src/inc/visual.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class visual {
   const VIEW_ADMIN = 0;
   const VIEW_WORKER = 1;
diff --git a/src/inc/workers.php b/src/inc/workers.php
index 6c6e1d9..f004286 100644
--- a/src/inc/workers.php
+++ b/src/inc/workers.php
@@ -1,4 +1,23 @@
 <?php
+/*
+ * hores
+ * Copyright (c) 2023 Adrià Vilanova Martínez
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.
+ * If not, see http://www.gnu.org/licenses/.
+ */
+
 class workers {
   const AFFILIATION_STATUS_NOTWORKING = 0;
   const AFFILIATION_STATUS_WORKING = 1;