Translations and refactoring

This commit is contained in:
Matteo Gheza 2020-09-27 00:57:37 +02:00
parent d859ee8217
commit 0a231a6b83
49 changed files with 135 additions and 142 deletions

View File

@ -41,7 +41,7 @@ jobs:
- name: WebPack Setup
run: |
cd risorse
cd resources
npm install
webpack -d

4
.gitignore vendored
View File

@ -494,8 +494,8 @@ composer.phar
/server/*/*/vendor/
*.zip
/server/risorse/dist/*
/server/risorse/dist/fonts/.gitkeep
/server/resources/dist/*
/server/resources/dist/fonts/.gitkeep
/server/error-log/*
!/server/error-log/index.html

View File

@ -1,4 +0,0 @@
<?php
require_once 'ui.php';
loadtemplate('anagrafica.html', ['title' => t("Personal data",false), 'dacontrollare' => ucwords(str_replace('_', ' ', urldecode($_GET['user'])))]);
?>

View File

@ -13,7 +13,6 @@ class tools{
public $check_cf_ip;
public function __construct($check_cf_ip){
define("TOOLS", "OK");
$this->check_cf_ip = $check_cf_ip;
}
@ -192,15 +191,12 @@ class database{
}
public function __construct(){
if(!defined("DATABASE")){
define("DATABASE", "OK");
}
$this->connect();
if($this->isOptionsEmpty()){
header('Location: install/install.php');
}
$file_infos = pathinfo(array_reverse(debug_backtrace())[0]['file']);
if(strpos($file_infos['dirname'], 'risorse') !== false) {
if(strpos($file_infos['dirname'], 'resources') !== false) {
$this->options_cache_file = "../../options.txt";
} else {
$this->options_cache_file = "options.txt";
@ -273,88 +269,88 @@ class database{
}
}
public function incrementa($incrementa){
bdump($incrementa);
$sql = "UPDATE `%PREFIX%_profiles` SET `services`= services + 1 WHERE id IN ($incrementa);";
public function increment($increment){
bdump($increment);
$sql = "UPDATE `%PREFIX%_profiles` SET `services`= services + 1 WHERE id IN ($increment);";
$this->exec($sql, false);
}
public function getIncrementa($id){
public function getIncrement($id){
bdump($id);
$sql = "SELECT `incrementa` FROM `%PREFIX%_services` WHERE `id` = :id";
$incrementa = $this->exec($sql, true, [":id" => $id])[0]['incrementa'];
bdump($incrementa);
return $incrementa;
$sql = "SELECT `increment` FROM `%PREFIX%_services` WHERE `id` = :id";
$increment = $this->exec($sql, true, [":id" => $id])[0]['increment'];
bdump($increment);
return $increment;
}
public function diminuisci($id){
$sql = "UPDATE `%PREFIX%_profiles` SET `services`= services - 1 WHERE id IN ({$this->getIncrementa($id)});";
public function decrease($id){
$sql = "UPDATE `%PREFIX%_profiles` SET `services`= services - 1 WHERE id IN ({$this->getIncrement($id)});";
$this->exec($sql, false);
}
public function incrementa_trainings($incrementa){
bdump($incrementa);
$sql = "UPDATE `%PREFIX%_profiles` SET `trainings`= trainings + 1 WHERE id IN ($incrementa);";
public function increment_trainings($increment){
bdump($increment);
$sql = "UPDATE `%PREFIX%_profiles` SET `trainings`= trainings + 1 WHERE id IN ($increment);";
$this->exec($sql, false);
}
public function getIncrementa_trainings($id){
public function getIncrement_trainings($id){
bdump($id);
$sql = "SELECT `incrementa` FROM `%PREFIX%_trainings` WHERE `id` = :id";
$incrementa = $this->exec($sql, true, [":id" => $id])[0]['incrementa'];
bdump($incrementa);
return $incrementa;
$sql = "SELECT `increment` FROM `%PREFIX%_trainings` WHERE `id` = :id";
$increment = $this->exec($sql, true, [":id" => $id])[0]['increment'];
bdump($increment);
return $increment;
}
public function diminuisci_trainings($id){
$sql = "UPDATE `%PREFIX%_profiles` SET `trainings`= trainings - 1 WHERE id IN ({$this->getIncrementa_trainings($id)});";
public function decrease_trainings($id){
$sql = "UPDATE `%PREFIX%_profiles` SET `trainings`= trainings - 1 WHERE id IN ({$this->getIncrement_trainings($id)});";
$this->exec($sql, false);
}
public function add_service($data, $codice, $uscita, $rientro, $capo, $autisti, $personale, $luogo, $note, $tipo, $incrementa, $inseritoda){
public function add_service($data, $codice, $uscita, $rientro, $capo, $autisti, $personale, $luogo, $note, $tipo, $increment, $inserted_by){
$autisti = implode(",", $autisti);
bdump($autisti);
$personale = implode(",", $personale);
bdump($personale);
$incrementa = implode(",", $incrementa);
bdump($incrementa);
$sql = "INSERT INTO `%PREFIX%_services` (`id`, `data`, `codice`, `uscita`, `rientro`, `capo`, `autisti`, `personale`, `luogo`, `note`, `tipo`, `incrementa`, `inseritoda`) VALUES (NULL, :data, :codice, :uscita, :rientro, :capo, :autisti, :personale, :luogo, :note, :tipo, :incrementa, :inseritoda);";
$this->exec($sql, false, [":data" => $data, ":codice" => $codice, "uscita" => $uscita, ":rientro" => $rientro, ":capo" => $capo, ":autisti" => $autisti, ":personale" => $personale, ":luogo" => $luogo, ":note" => $note, ":tipo" => $tipo, ":incrementa" => $incrementa, ":inseritoda" => $inseritoda]);
$this->incrementa($incrementa);
$increment = implode(",", $increment);
bdump($increment);
$sql = "INSERT INTO `%PREFIX%_services` (`id`, `data`, `codice`, `uscita`, `rientro`, `capo`, `autisti`, `personale`, `luogo`, `note`, `tipo`, `increment`, `inserted_by`) VALUES (NULL, :data, :codice, :uscita, :rientro, :capo, :autisti, :personale, :luogo, :note, :tipo, :increment, :inserted_by);";
$this->exec($sql, false, [":data" => $data, ":codice" => $codice, "uscita" => $uscita, ":rientro" => $rientro, ":capo" => $capo, ":autisti" => $autisti, ":personale" => $personale, ":luogo" => $luogo, ":note" => $note, ":tipo" => $tipo, ":increment" => $increment, ":inserted_by" => $inserted_by]);
$this->increment($increment);
}
public function remove_service($id){
$this->diminuisci($id);
$this->decrease($id);
$this->exec("DELETE FROM `%PREFIX%_services` WHERE `id` = :id", true, [":id" => $id]);
}
public function change_service($id, $data, $codice, $uscita, $rientro, $capo, $autisti, $personale, $luogo, $note, $tipo, $incrementa, $inseritoda){
public function change_service($id, $data, $codice, $uscita, $rientro, $capo, $autisti, $personale, $luogo, $note, $tipo, $increment, $inserted_by){
$this->remove_service($id); // TODO: update, instead of removing and re-adding (with another id)
$this->add_service($data, $codice, $uscita, $rientro, $capo, $autisti, $personale, $luogo, $note, $tipo, $incrementa, $inseritoda);
$this->add_service($data, $codice, $uscita, $rientro, $capo, $autisti, $personale, $luogo, $note, $tipo, $increment, $inserted_by);
}
public function add_training($data, $name, $start_time, $end_time, $capo, $personale, $luogo, $note, $incrementa, $inseritoda){
public function add_training($data, $name, $start_time, $end_time, $capo, $personale, $luogo, $note, $increment, $inserted_by){
$personale = implode(",", $personale);
bdump($personale);
$incrementa = implode(",", $incrementa);
bdump($incrementa);
$sql = "INSERT INTO `%PREFIX%_trainings` (`id`, `data`, `name`, `inizio`, `fine`, `capo`, `personale`, `luogo`, `note`, `incrementa`, `inseritoda`) VALUES (NULL, :data, :name, :start_time, :end_time, :capo, :personale, :luogo, :note, :incrementa, :inseritoda);";
$this->exec($sql, false, [":data" => $data, ":name" => $name, "start_time" => $start_time, ":end_time" => $end_time, ":capo" => $capo, ":personale" => $personale, ":luogo" => $luogo, ":note" => $note, ":incrementa" => $incrementa, ":inseritoda" => $inseritoda]);
$this->incrementa_trainings($incrementa);
$increment = implode(",", $increment);
bdump($increment);
$sql = "INSERT INTO `%PREFIX%_trainings` (`id`, `data`, `name`, `inizio`, `fine`, `capo`, `personale`, `luogo`, `note`, `increment`, `inserted_by`) VALUES (NULL, :data, :name, :start_time, :end_time, :capo, :personale, :luogo, :note, :increment, :inserted_by);";
$this->exec($sql, false, [":data" => $data, ":name" => $name, "start_time" => $start_time, ":end_time" => $end_time, ":capo" => $capo, ":personale" => $personale, ":luogo" => $luogo, ":note" => $note, ":increment" => $increment, ":inserted_by" => $inserted_by]);
$this->increment_trainings($increment);
}
public function remove_training($id){
$this->diminuisci_trainings($id);
$this->decrease_trainings($id);
bdump($id);
$this->exec("DELETE FROM `%PREFIX%_trainings` WHERE `id` = :id", true, [":id" => $id]);
}
public function change_training($id, $data, $name, $start_time, $end_time, $capo, $personale, $luogo, $note, $incrementa, $inseritoda){
public function change_training($id, $data, $name, $start_time, $end_time, $capo, $personale, $luogo, $note, $increment, $inserted_by){
$this->remove_training($id); // TODO: update, instead of removing and re-adding (with another id)
bdump("removed");
$this->add_training($data, $name, $start_time, $end_time, $capo, $personale, $luogo, $note, $incrementa, $inseritoda);
$this->add_training($data, $name, $start_time, $end_time, $capo, $personale, $luogo, $note, $increment, $inserted_by);
}
}
@ -386,7 +382,6 @@ class user{
$this->tools = $tools;
$this->auth = new \Delight\Auth\Auth($database->connection, $tools->get_ip(), DB_PREFIX."_", false);
$this->authenticated = $this->auth->isLoggedIn();
define("LOGIN", "OK");
}
public function authenticated(){
@ -397,11 +392,11 @@ class user{
if(!$this->authenticated()){
if($this->database->getOption("intrusion_save")){
if($this->database->getOption("intrusion_save_info")){
$params = [":pagina" => $this->tools->get_page_url(), ":ip" => $this->tools->get_ip(), ":data" => date("d/m/Y"), ":ora" => date("H:i.s"), ":servervar" => json_encode($_SERVER)];
$params = [":page" => $this->tools->get_page_url(), ":ip" => $this->tools->get_ip(), ":data" => date("d/m/Y"), ":ora" => date("H:i.s"), ":servervar" => json_encode($_SERVER)];
} else {
$params = [":pagina" => $this->tools->get_page_url(), ":ip" => "redacted", ":data" => date("d/m/Y"), ":ora" => date("H:i.s"), ":servervar" => json_encode(["redacted" => "true"])];
$params = [":page" => $this->tools->get_page_url(), ":ip" => "redacted", ":data" => date("d/m/Y"), ":ora" => date("H:i.s"), ":servervar" => json_encode(["redacted" => "true"])];
}
$sql = "INSERT INTO `%PREFIX%_intrusions` (`id`, `pagina`, `data`, `ora`, `ip`, `servervar`) VALUES (NULL, :pagina, :data, :ora, :ip, :servervar)";
$sql = "INSERT INTO `%PREFIX%_intrusions` (`id`, `page`, `data`, `ora`, `ip`, `servervar`) VALUES (NULL, :page, :data, :ora, :ip, :servervar)";
$this->database->exec($sql, false, $params);
}
$this->tools->redirect($this->database->getOption("web_url"));
@ -504,7 +499,7 @@ class user{
}
$_SESSION['_user_hidden'] = $user[0]["hidden"];
$_SESSION['_user_disabled'] = $user[0]["disabled"];
$_SESSION['_user_caposquadra'] = $user[0]["caposquadra"];
$_SESSION['_user_foreman'] = $user[0]["foreman"];
return true;
}
}
@ -531,28 +526,28 @@ class user{
}
}
public function add_user($email, $name, $username, $password, $birthday, $capo, $autista, $hidden, $disabled, $inseritoda){
public function add_user($email, $name, $username, $password, $birthday, $capo, $autista, $hidden, $disabled, $inserted_by){
$userId = $this->auth->admin()->createUserWithUniqueUsername($email, $password, $username);
if($userId){
$hidden = $hidden ? 1 : 0;
$disabled = $disabled ? 1 : 0;
$capo = $capo ? 1 : 0;
$autista = $autista ? 1 : 0;
$sql = "INSERT INTO `%PREFIX%_profiles` (`hidden`, `disabled`, `name`, `caposquadra`, `autista`) VALUES (:hidden, :disabled, :name, :caposquadra, :autista)";
$this->database->exec($sql, false, [":hidden" => $hidden, ":disabled" => $disabled, ":name" => $name, ":caposquadra" => $capo, ":autista" => $autista]);
$sql = "INSERT INTO `%PREFIX%_profiles` (`hidden`, `disabled`, `name`, `foreman`, `autista`) VALUES (:hidden, :disabled, :name, :foreman, :autista)";
$this->database->exec($sql, false, [":hidden" => $hidden, ":disabled" => $disabled, ":name" => $name, ":foreman" => $capo, ":autista" => $autista]);
if($capo == 1){
$this->auth->admin()->addRoleForUserById($userId, Role::FULL_VIEWER);
}
$this->log("User created", $userId, $inseritoda, date("d/m/Y"), date("H:i.s"));
$this->log("User created", $userId, $inserted_by, date("d/m/Y"), date("H:i.s"));
return $userId;
} else {
return $false;
}
}
public function remove_user($id, $rimossoda){
public function remove_user($id, $removed_by){
$this->database->exec("DELETE FROM `%PREFIX%_users` WHERE `id` = :id", true, [":id" => $id], "DELETE FROM `%PREFIX%_profiles` WHERE `id` = :id");
$this->log("User removed", null, $rimossoda, date("d/m/Y"), date("H:i.s"));
$this->log("User removed", null, $removed_by, date("d/m/Y"), date("H:i.s"));
}
}
@ -602,7 +597,7 @@ class translations{
$this->language = "en";
}
$file_infos = pathinfo(array_reverse(debug_backtrace())[0]['file']);
if(strpos($file_infos['dirname'], 'risorse') !== false) {
if(strpos($file_infos['dirname'], 'resources') !== false) {
$this->filename = "../../translations/".$this->language."/".$file_infos['basename'];
} else {
$this->filename = "translations/".$this->language."/".$file_infos['basename'];

View File

@ -23,10 +23,10 @@ if($tools->validate_form_data('$post-mod', true, "add")) {
}
} elseif($tools->validate_form_data('$post-mod', true, "delete")) {
bdump("removing service");
if($tools->validate_form_data(['$post-id', '$post-incrementa', '$post-token'])) {
if($tools->validate_form_data(['$post-id', '$post-increment', '$post-token'])) {
if($_POST["token"] == $_SESSION['token']){
bdump("removing service");
$database->remove_service($_POST["id"], $_POST["incrementa"]);
$database->remove_service($_POST["id"], $_POST["increment"]);
$tools->redirect("services.php");
} else {
$tools->redirect("accessdenied.php");
@ -51,10 +51,10 @@ if($tools->validate_form_data('$post-mod', true, "add")) {
} else {
$values = [];
}
if(isset($_GET["incrementa"])){
$incrementa = $_GET["incrementa"];
if(isset($_GET["increment"])){
$increment = $_GET["increment"];
} else {
$incrementa = "";
$increment = "";
}
if($modalità=="edit" || $modalità=="delete"){
if(empty($id)){
@ -63,7 +63,7 @@ if($tools->validate_form_data('$post-mod', true, "add")) {
$tools->redirect("accessdenied.php");
}
}
loadtemplate('edit_service.html', ['service' => ['id' => $id, 'token' => $_SESSION['token'], 'modalità' => $modalità, 'personale' => $personale, 'tipologie' => $tipologie], 'values' => $values, 'incrementa' => $incrementa, 'title' => ucfirst($modalità) . ' '.ucfirst(t("service",false))]);
loadtemplate('edit_service.html', ['service' => ['id' => $id, 'token' => $_SESSION['token'], 'modalità' => $modalità, 'personale' => $personale, 'tipologie' => $tipologie], 'values' => $values, 'increment' => $increment, 'title' => ucfirst($modalità) . ' '.ucfirst(t("service",false))]);
bdump($_SESSION['token'], "token");
}
?>

View File

@ -23,10 +23,10 @@ if($tools->validate_form_data('$post-mod', true, "add")) {
}
} elseif($tools->validate_form_data('$post-mod', true, "delete")) {
bdump("removing training");
if($tools->validate_form_data(['$post-id', '$post-incrementa', '$post-token'])) {
if($tools->validate_form_data(['$post-id', '$post-increment', '$post-token'])) {
if($_POST["token"] == $_SESSION['token']){
bdump("removing training");
$database->remove_training($_POST["id"], $_POST["incrementa"]);
$database->remove_training($_POST["id"], $_POST["increment"]);
$tools->redirect("trainings.php");
} else {
$tools->redirect("accessdenied.php");
@ -49,10 +49,10 @@ if($tools->validate_form_data('$post-mod', true, "add")) {
} else {
$values = [];
}
if(isset($_GET["incrementa"])){
$incrementa = $_GET["incrementa"];
if(isset($_GET["increment"])){
$increment = $_GET["increment"];
} else {
$incrementa = "";
$increment = "";
}
if($modalità=="edit" || $modalità=="delete"){
if(empty($id)){
@ -61,7 +61,7 @@ if($tools->validate_form_data('$post-mod', true, "add")) {
//$tools->redirect("accessdenied.php");
}
}
loadtemplate('edit_training.html', ['training' => ['id' => $id, 'token' => $_SESSION['token'], 'modalità' => $modalità, 'personale' => $personale], 'values' => $values, 'incrementa' => $incrementa, 'title' => ucfirst($modalità) . ' '.ucfirst(t("training",false))]);
loadtemplate('edit_training.html', ['training' => ['id' => $id, 'token' => $_SESSION['token'], 'modalità' => $modalità, 'personale' => $personale], 'values' => $values, 'increment' => $increment, 'title' => ucfirst($modalità) . ' '.ucfirst(t("training",false))]);
bdump($_SESSION['token'], "token");
}
?>

View File

@ -1,3 +0,0 @@
<?php
require_once 'ui.php';
loadtemplate('grafici.html', ['title' => 'Grafici']);

3
server/graphics.php Normal file
View File

@ -0,0 +1,3 @@
<?php
require_once 'ui.php';
loadtemplate('graphics.html', ['title' => 'Graphics']);

View File

@ -250,8 +250,8 @@ CREATE TABLE IF NOT EXISTS `".$prefix."_trainings` (
`capo` text NOT NULL,
`luogo` text NOT NULL,
`note` text NOT NULL,
`incrementa` varchar(999) NOT NULL DEFAULT 'test',
`inseritoda` varchar(200) NOT NULL DEFAULT 'test',
`increment` varchar(999) NOT NULL DEFAULT 'test',
`inserted_by` varchar(200) NOT NULL DEFAULT 'test',
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `".$prefix."_services` (
@ -266,13 +266,13 @@ CREATE TABLE IF NOT EXISTS `".$prefix."_services` (
`luogo` varchar(999) NOT NULL DEFAULT 'test',
`note` varchar(999) NOT NULL DEFAULT 'test',
`tipo` text NOT NULL,
`incrementa` varchar(999) NOT NULL,
`inseritoda` varchar(200) NOT NULL,
`increment` varchar(999) NOT NULL,
`inserted_by` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `".$prefix."_intrusions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pagina` varchar(999) COLLATE utf8mb4_unicode_ci NOT NULL,
`page` varchar(999) COLLATE utf8mb4_unicode_ci NOT NULL,
`data` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`ora` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`ip` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
@ -323,7 +323,7 @@ CREATE TABLE IF NOT EXISTS `".$prefix."_profiles` (
`disabled` BOOLEAN NOT NULL DEFAULT FALSE,
`name` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`available` tinyint(1) NOT NULL DEFAULT 0,
`caposquadra` tinyint(1) NOT NULL DEFAULT 0,
`foreman` tinyint(1) NOT NULL DEFAULT 0,
`autista` tinyint(1) NOT NULL DEFAULT 0,
`telefono` varchar(25) DEFAULT NULL,
`services` int(11) NOT NULL DEFAULT 0,

View File

@ -1,3 +1,3 @@
<?php
require_once 'ui.php';
loadtemplate('profilo.html', ['title' => t("Profile page")]);
loadtemplate('profile.html', ['title' => t("Profile page")]);

View File

@ -3,7 +3,7 @@ include_once("../../core.php");
init_class();
$user->requirelogin();
$risultato = $database->exec("SELECT * FROM `%PREFIX%_profiles` ORDER BY available DESC, caposquadra DESC, services ASC, availability_minutes ASC, name ASC;", true);
$risultato = $database->exec("SELECT * FROM `%PREFIX%_profiles` ORDER BY available DESC, foreman DESC, services ASC, availability_minutes ASC, name ASC;", true);
$hidden = $user->hidden();
?>
@ -53,10 +53,10 @@ th, td {
$name = $user->nameById($row["id"]);
$callFunction = ($row['available'] == 1) ? "NonAttivo" : "Attivo";
$available = $row["available"];
if ($row['caposquadra'] == 1) {
echo "<a onclick='$callFunction(".$row["id"].");'><img src='./risorse/images/cascoRosso.png' width='20px'> ";
if ($row['foreman'] == 1) {
echo "<a onclick='$callFunction(".$row["id"].");'><img src='./resources/images/cascoRosso.png' width='20px'> ";
} else {
echo "<a onclick='Attivo(".$row["id"].");'><img src='./risorse/images/cascoNero.png' width='20px'> ";
echo "<a onclick='Attivo(".$row["id"].");'><img src='./resources/images/cascoNero.png' width='20px'> ";
}
if((time()-$row["online_time"])<=30){
echo "<u>".$name."</u></a></td><td><a onclick='$callFunction(".$row["id"].");'>";
@ -71,7 +71,7 @@ th, td {
echo "</a></td>
<td>";
if ($row['autista'] == 1) {
echo "<img src='./risorse/images/volante.png' width='20px'>";
echo "<img src='./resources/images/volante.png' width='20px'>";
} else {
echo "";
};
@ -83,7 +83,7 @@ th, td {
$services = $row['services'];
$minutes = $row['availability_minutes'];
$u = 'anagrafica.php?user=' . str_replace(' ', '_', urldecode(strtolower($row["id"])));
$u = 'user_details.php?user=' . str_replace(' ', '_', urldecode(strtolower($row["id"])));
echo "<td>$services</td><td>$minutes</td><td><a href='$u'><p>".t("Others infos",false)."</p></a></td></tr>";
}
}

View File

@ -3,7 +3,7 @@ include_once("../../core.php");
init_class();
$user->requirelogin();
$users_sql = "SELECT `id`, `name`, `available`, `caposquadra`, `autista`, `telefono`, `services`, `trainings`, `online`, `availability_minutes`, `immagine` FROM `%PREFIX%_profiles` LIMIT 0 , 30";
$users_sql = "SELECT `id`, `name`, `available`, `foreman`, `autista`, `telefono`, `services`, `trainings`, `online`, `availability_minutes`, `immagine` FROM `%PREFIX%_profiles` LIMIT 0 , 30";
$users = $database->exec($users_sql, true);
$services_sql="SELECT * FROM `%PREFIX%_services` ORDER BY `services`.`id` DESC LIMIT 0 , 30";

View File

@ -7,7 +7,7 @@ $user->requirelogin();
function arraynum(){
global $database;
$risultato = $database->exec("SELECT * FROM `%PREFIX%_profiles` ORDER BY available DESC, caposquadra DESC, services ASC, name ASC", true);
$risultato = $database->exec("SELECT * FROM `%PREFIX%_profiles` ORDER BY available DESC, foreman DESC, services ASC, name ASC", true);
$incremento = array();
$availability_minutes_old = array();
foreach($risultato as $row){

View File

@ -3,7 +3,7 @@ include_once("../../core.php");
init_class();
$user->requirelogin();
$risultato = $database->exec("SELECT * FROM `%PREFIX%_profiles` ORDER BY available DESC, caposquadra DESC, services ASC, availability_minutes ASC, name ASC;", true);
$risultato = $database->exec("SELECT * FROM `%PREFIX%_profiles` ORDER BY available DESC, foreman DESC, services ASC, availability_minutes ASC, name ASC;", true);
$hidden = $user->hidden();
?>
@ -45,7 +45,7 @@ th, td {
foreach($risultato as $row){
if(!in_array($row['name'], $hidden) && ($row['hidden'] == 0 && $row['disabled'] == 0)){
echo "<tr><td>";
if ($row['caposquadra'] == 1) {echo "<img src='./risorse/images/cascoRosso.png' width='20px'> ";} else{echo "<img src='./risorse/images/cascoNero.png' width='20px'> ";}
if ($row['foreman'] == 1) {echo "<img src='./resources/images/cascoRosso.png' width='20px'> ";} else{echo "<img src='./resources/images/cascoNero.png' width='20px'> ";}
if((time()-$row["online_time"])<=30){
echo "<u>".$user->nameById($row["id"])."</u></td><td>";
} else {

View File

@ -46,7 +46,7 @@ foreach($risultato as $row){
echo "<td><a href='edit_service.php?edit&id={$row['id']}'><i style='font-size: 40px' class='fa fa-edit'></i></a></td>";
}
if($impostazioni['delete']) {
echo "<td><a href='edit_service.php?delete&id={$row['id']}&incrementa={$row['incrementa']}'><i style='font-size: 40px' class='fa fa-trash'></i></a></td></tr>";
echo "<td><a href='edit_service.php?delete&id={$row['id']}&increment={$row['increment']}'><i style='font-size: 40px' class='fa fa-trash'></i></a></td></tr>";
}
}
?>

View File

@ -40,7 +40,7 @@ foreach($risultato as $row){
echo "<td><a href='edit_training.php?edit&id={$row['id']}'><i style='font-size: 40px' class='fa fa-edit'></i></a></td>";
}
if($impostazioni['delete']) {
echo "<td><a href='edit_training.php?delete&id={$row['id']}&incrementa={$row['incrementa']}'><i style='font-size: 40px' class='fa fa-trash'></i></a></td></tr>";
echo "<td><a href='edit_training.php?delete&id={$row['id']}&increment={$row['increment']}'><i style='font-size: 40px' class='fa fa-trash'></i></a></td></tr>";
}
}
?>

View File

@ -232,11 +232,11 @@ h1 small {
}
@font-face {
font-family: 'test';
src: url('./risorse/font/test.eot?93129191');
src: url('./risorse/font/test.eot?93129191#iefix') format('embedded-opentype'),
url('./risorse/font/test.woff?93129191') format('woff'),
url('./risorse/font/test.ttf?93129191') format('truetype'),
url('./risorse/font/test.svg?93129191#test') format('svg');
src: url('./resources/font/test.eot?93129191');
src: url('./resources/font/test.eot?93129191#iefix') format('embedded-opentype'),
url('./resources/font/test.woff?93129191') format('woff'),
url('./resources/font/test.ttf?93129191') format('truetype'),
url('./resources/font/test.svg?93129191#test') format('svg');
font-weight: normal;
font-style: normal;
}
@ -317,13 +317,13 @@ function vero1($text, $img1 = "", $img2 = ""){
foreach($risultato as $row){
$name = ($row['online']==1) ? '<u>' . $user->nameById($row["id"]) . "</u>" : $user->nameById($row["id"]);
echo("<h1>".t("Personal data",false)." <b>$name</b></h1><br><br>");
echo('<img alt="VVF" src="./risorse/images/distaccamento.png" width="150" class="img-resposive"><br><br><br>');
echo('<img alt="VVF" src="./resources/images/distaccamento.png" width="150" class="img-resposive"><br><br><br>');
$disp = vero1($row['available'], "<i class='fa fa-check' style='color:green' width='22px'></i>", "<i class='fa fa-times' style='color:red' width='22px'></i>");
$caposquadra = vero1($row['caposquadra'], "<img src='./risorse/images/cascoRosso.png' width='22px'>", "<img src='./risorse/images/cascoNero.png' width='22px'>");
$autista = vero1($row['autista'], "<img src='./risorse/images/volante.png' width='22px'>");
$foreman = vero1($row['foreman'], "<img src='./resources/images/cascoRosso.png' width='22px'>", "<img src='./resources/images/cascoNero.png' width='22px'>");
$autista = vero1($row['autista'], "<img src='./resources/images/volante.png' width='22px'>");
echo("<p>".t("Name",false).": <b>$name</b></p><br>");
echo("<p>".t("Available",false).": <b>{$disp}</b></p><br>");
echo("<p>".t("Foreman",false).": <b>{$caposquadra}</b></p><br>");
echo("<p>".t("Foreman",false).": <b>{$foreman}</b></p><br>");
echo("<p>".t("Driver",false).": <b>{$autista}</b></p><br>");
echo("<p>".t("Phone number",false)." <i class='fa fa-phone' style='color:green' width='22px'></i>: <b><a href='tel:{$row['telefono']}'>{$row['telefono']}</a></b></p><br>");
echo("<p>".t("Availability Minutes",false)." <br>(".t("This month",false).") <i class='demo-icon icon-hourglass'></i>: <b>{$row['availability_minutes']} minutes</b></p><br>");

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 705 B

After

Width:  |  Height:  |  Size: 705 B

View File

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View File

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,4 +1,4 @@
$fa-font-path: "risorse/dist/fonts";
$fa-font-path: "resources/dist/fonts";
/* Importing FontAwesome SCSS from node modules*/
@import "../node_modules/@fortawesome/fontawesome-free/scss/fontawesome";

View File

@ -6,7 +6,7 @@
<div class='text-center' id="err">
<script>
var sound = new Howl({
src: ['{{ urlsoftware }}/risorse/musiche/{{ error_sound }}'],
src: ['{{ urlsoftware }}/resources/sounds/{{ error_sound }}'],
autoplay: true,
volume: 0.9,
onend: function() {
@ -16,7 +16,7 @@ var sound = new Howl({
sound.play();
</script>
Possibile attività di hacking del software rilevata
<img src='{{ urlsoftware }}/risorse/images/{{ error_image }}'></img>
<img src='{{ urlsoftware }}/resources/images/{{ error_image }}'></img>
</div>
<h1>Abbiamo rilevato un' attività sospetta provenire dal tuo dispositivo o dalla tua rete.<br>Se non stavi facendo niente di brutto, e ritieni che questo sia un error, la<br>preghiamo di contattare l'assistenza.</h1>
</body>

View File

@ -3,7 +3,7 @@
<head>
{% block head %}
<title>{{ title }} - ALLERTA sistema gestionale {{ owner }}</title>
<link href="{{ urlsoftware }}/risorse/images/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
<link href="{{ urlsoftware }}/resources/images/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
<meta name="viewport" content="user-scalable=no, initial-scale=1">
<style>
body:not(table){
@ -11,7 +11,7 @@
overflow-x: hidden;
}
</style>
<script src="risorse/dist/main.js"></script>
<script src="resources/dist/main.js"></script>
{% if enable_technical_support and technical_support_open %}
<!-- Smartsupp Live Chat script -->
<script type='text/javascript'>
@ -306,7 +306,7 @@
<a href="{{ urlsoftware }}services.php">{{ 'Services'|t }}</a>
<a href="{{ urlsoftware }}trainings.php">{{ 'Trainings'|t }}</a>
<a href="{{ urlsoftware }}log.php">{{ 'Logs'|t }}</a>
<a {# href="{{ urlsoftware }}grafici.php" #}>{{ 'Graphics'|t }}</a>
<a {# href="{{ urlsoftware }}graphics.php" #}>{{ 'Graphics'|t }}</a>
{% if enable_technical_support %}<a href="javascript:void(0);" onclick="chat()">{{ 'Technical Support' }}</a>{% endif %}
<a style="float: right;" id="logout">{{ 'Hi, %s.'|t|format(user.name) }} <b onclick="location.href='{{ urlsoftware }}logout.php';">{{ 'Logout'|t }}</b></a>
<a href="javascript:void(0);" class="icon" onclick="menu()"></a>

View File

@ -334,7 +334,7 @@ $('form').submit(function () {
<input id="modalità" type="hidden" value="delete" name="mod"></input>
<input id="token" type="hidden" value="{{ service.token }}" name="token"></input>
<input id="id" type="hidden" value="{{ service.id }}" name="id"></input>
<input id="incrementa" type="hidden" value="{{ incrementa }}" name="incrementa"></input>
<input id="increment" type="hidden" value="{{ increment }}" name="increment"></input>
<button id="add" type="submit">{{ 'Submit'|t }}</button>
</form>
<script>

View File

@ -298,7 +298,7 @@ $('#note').val('{{ values.note|e("js") }}');
<input id="modalità" type="hidden" value="delete" name="mod"></input>
<input id="token" type="hidden" value="{{ training.token }}" name="token"></input>
<input id="id" type="hidden" value="{{ training.id }}" name="id"></input>
<input id="incrementa" type="hidden" value="{{ incrementa }}" name="incrementa"></input>
<input id="increment" type="hidden" value="{{ increment }}" name="increment"></input>
<button id="add" type="submit">{{ 'Submit'|t }}</button>
</form>
<script>

View File

@ -2,19 +2,19 @@
{% block content %}
<br>
<img alt="VVF" src="./risorse/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<img alt="VVF" src="./resources/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<br>
<div id="list" hidden></div>
<b>TODO</b>
<script>
$.get( "risorse/ajax/ajax_log.php", function( data ) {
$.get( "resources/ajax/ajax_log.php", function( data ) {
$( "#list" ).html( data );
console.log( "Loaded list." );
});
$(document).ready(function() {
setInterval(function() {
$.get( "risorse/ajax/ajax_log.php", function( data ) {
$.get( "resources/ajax/ajax_log.php", function( data ) {
$( "#list" ).html( data );
});
}, 10000);

View File

@ -8,7 +8,7 @@
<div class='text-center' id="err">
<script>
var sound = new Howl({
src: ['{{ urlsoftware }}/risorse/musiche/{{ error_sound }}'],
src: ['{{ urlsoftware }}/resources/sounds/{{ error_sound }}'],
autoplay: true,
volume: 0.9,
});
@ -18,12 +18,12 @@ sound.play();
$("#err").delay(5000).fadeOut(300);
</script>
{{ error.text }}
<img src='{{ urlsoftware }}/risorse/images/{{ error_image }}'></img>
<img src='{{ urlsoftware }}/resources/images/{{ error_image }}'></img>
</div>
{% endif %}
<div class="container text-center" id="modulogin">
<form method="post">
<img alt="VVF" src="{{ urlsoftware }}/risorse/images/logo.png" class="img-resposive"><br><br><br>
<img alt="VVF" src="{{ urlsoftware }}/resources/images/logo.png" class="img-resposive"><br><br><br>
<input type="text" name="name" placeholder="{{ 'username'|t }}" required autocomplete="username" autofocus><br><br>
<input type="password" name="password" placeholder="{{ 'password'|t }}" required autocomplete="current-password"><br><br>
<input type="checkbox" name="remember_me" value='1' id="remember_me" checked><label for='remember_me'>{{ 'Stay connected'|t }}</label><br>

View File

@ -11,7 +11,7 @@
<script defer>
function Attivo(id){
$.ajax({
url: "risorse/ajax/ajax_aggiornadispo.php",
url: "resources/ajax/ajax_change_availability.php",
method: "POST",
data: {
change_id: id,
@ -27,7 +27,7 @@
function NonAttivo(id){
$.ajax({
url: "risorse/ajax/ajax_aggiornadispo.php",
url: "resources/ajax/ajax_change_availability.php",
method: "POST",
data: {
change_id: id,
@ -43,25 +43,25 @@
</script>
<br>
<br>
<img alt="VVF" src="./risorse/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<img alt="VVF" src="./resources/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<br>
<br>
<div id="list"></div>
{% if user.full_viewer == false %}
<script>
$( "#list" ).load("risorse/ajax/ajax_list.php");
$( "#list" ).load("resources/ajax/ajax_list.php");
$(document).ready(function() {
setInterval(function() {
$( "#list" ).load("risorse/ajax/ajax_list.php");
$( "#list" ).load("resources/ajax/ajax_list.php");
}, 10000);
});
</script>
{% elseif user.full_viewer == true %}
<script>
$( "#list" ).load("risorse/ajax/ajax_admin_list.php");
$( "#list" ).load("resources/ajax/ajax_admin_list.php");
$(document).ready(function() {
setInterval(function() {
$( "#list" ).load("risorse/ajax/ajax_admin_list.php");
$( "#list" ).load("resources/ajax/ajax_admin_list.php");
}, 10000);
});
</script>
@ -91,7 +91,7 @@ $(document).ready(function() {
}
</style>
{% endif %}
<script defer type="text/javascript" src="risorse/js/cache.js"></script>
<script defer type="text/javascript" src="resources/js/cache.js"></script>
<br>
<br>
{% endblock %}

View File

@ -2,18 +2,18 @@
{% block content %}
<br>
<img alt="VVF" src="./risorse/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<img alt="VVF" src="./resources/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<br>
<div id="list"></div>
<script>
$.get( "risorse/ajax/ajax_log.php", function( data ) {
$.get( "resources/ajax/ajax_log.php", function( data ) {
$( "#list" ).html( data );
console.log( "Loaded list." );
});
$(document).ready(function() {
setInterval(function() {
$.get( "risorse/ajax/ajax_log.php", function( data ) {
$.get( "resources/ajax/ajax_log.php", function( data ) {
$( "#list" ).html( data );
});
}, 10000);

View File

@ -55,7 +55,7 @@
}
</style>
<br>
<img alt="VVF" src="./risorse/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<img alt="VVF" src="./resources/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<br>
<p style="text-align: center;">
<a id='add' href="edit_service.php?add">{{ 'Add service'|t }}</a>
@ -63,13 +63,13 @@
<br>
<div id="list"></div>
<script>
$.get( "risorse/ajax/ajax_services.php", function( data ) {
$.get( "resources/ajax/ajax_services.php", function( data ) {
$( "#list" ).html( data );
console.log( "List loaded." );
});
$(document).ready(function() {
setInterval(function() {
$.get( "risorse/ajax/ajax_services.php", function( data ) {
$.get( "resources/ajax/ajax_services.php", function( data ) {
$( "#list" ).html( data );
});
}, 10000);

View File

@ -55,7 +55,7 @@
}
</style>
<br>
<img alt="VVF" src="./risorse/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<img alt="VVF" src="./resources/images/owner.png" width="150" style="display: block; margin-left: auto; margin-right: auto;">
<br>
<p style="text-align: center;">
<a id='add' href="edit_training.php?add">{{ 'Add training'|t }}</a>
@ -63,13 +63,13 @@
<br>
<div id="list"></div>
<script>
$.get( "risorse/ajax/ajax_trainings.php", function( data ) {
$.get( "resources/ajax/ajax_trainings.php", function( data ) {
$( "#list" ).html( data );
console.log( "Loaded list." );
});
$(document).ready(function() {
setInterval(function() {
$.get( "risorse/ajax/ajax_trainings.php", function( data ) {
$.get( "resources/ajax/ajax_trainings.php", function( data ) {
$( "#list" ).html( data );
});
}, 10000);

View File

@ -5,11 +5,11 @@
<div id='list'>
</div>
<script>
$("#list").load("risorse/ajax/ajax_anagrafica.php?user={{ dacontrollare }}");
$("#list").load("resources/ajax/ajax_user_details.php?user={{ view_user }}");
$(document).ready(function() {
setInterval(function() {
$("#list").load("risorse/ajax/ajax_anagrafica.php?user={{ dacontrollare }}");
$("#list").load("resources/ajax/ajax_user_details.php?user={{ view_user }}");
}, 10000);
});
@ -27,12 +27,12 @@ check();
function AttivoAdmin(nameuser, dispo){
dispo = +!dispo;
$.ajax({
url:"ajax_aggiornadispo.php",
url:"ajax_change_availability.php",
method: "POST",
data: {nameuser: nameuser, dispo:dispo},
success: function (data) {
alert("Hai editto la disponibilità di " + nameuser + " in caso in allerta.");
$("#list").load("risorse/ajax/ajax_anagrafica.php?user={{ dacontrollare }}");
$("#list").load("resources/ajax/ajax_user_details.php?user={{ view_user }}");
}
});
};

View File

@ -1,2 +0,0 @@
<?php
var_dump(time()-@filemtime("options.txt") < 604800);

4
server/user_details.php Normal file
View File

@ -0,0 +1,4 @@
<?php
require_once 'ui.php';
loadtemplate('user_details.html', ['title' => t("Personal data",false), 'view_user' => ucwords(str_replace('_', ' ', urldecode($_GET['user'])))]);
?>