Compare commits

..

6 Commits

Author SHA1 Message Date
solocla d04e7f6a57 added completo induments 2026-04-30 14:53:48 +02:00
solocla 434645382b fixed trasnlation and part error 2026-04-03 10:01:13 +02:00
solocla 70d39770f8 modified pdf1 and tabeldescription 2026-03-17 14:38:43 +01:00
solocla 5e5a7483ab update privacy rules 2025-10-13 07:56:24 +02:00
solocla 6c32acfd8f english and format regolamenti 2025-09-16 11:38:33 +02:00
solocla 18364b7127 fixed TF in inglese 2025-09-12 15:15:33 +02:00
82 changed files with 3297 additions and 2790 deletions
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

+10 -3
View File
@@ -251,7 +251,7 @@ $certname->execute(); ?>
<td id="cont_photoone"> <td id="cont_photoone">
<?php if (!empty($trfnumberfinal->getColumnVal("photoone"))) { ?> <?php if (!empty($trfnumberfinal->getColumnVal("photoone"))) { ?>
<img src="uploaddocuments/<?php echo ($trfnumberfinal->getColumnVal("photoone")); ?>" height="200" alt="" /> <img src="uploaddocuments/<?php echo ($trfnumberfinal->getColumnVal("photoone")); ?>" height="200" alt="" />
<a href="deletephotoone.php?idtrf=<?php echo $idtrf; ?>"><i class="fas fa-trash-alt text-danger font-16"></i></a>
<?php } ?> <?php } ?>
</td> </td>
<td> <td>
@@ -261,6 +261,7 @@ $certname->execute(); ?>
<?php if (!empty($trfnumberfinal->getColumnVal("phototwo"))) { ?> <?php if (!empty($trfnumberfinal->getColumnVal("phototwo"))) { ?>
<img src="uploaddocuments/<?php echo ($trfnumberfinal->getColumnVal("phototwo")); ?>" height="200" alt="" /> <img src="uploaddocuments/<?php echo ($trfnumberfinal->getColumnVal("phototwo")); ?>" height="200" alt="" />
<a href="deletephototwo.php?idtrf=<?php echo $idtrf; ?>"><i class="fas fa-trash-alt text-danger font-16"></i></a>
<?php } ?> <?php } ?>
</td> </td>
@@ -751,7 +752,10 @@ $certname->execute(); ?>
// $("#photoaded").load(location.href + " #photoaded"); // $("#photoaded").load(location.href + " #photoaded");
// SHOW PHOTO 1 // SHOW PHOTO 1
$('#cont_photoone').html(data); $('#cont_photoone').html(
data + ' <a href="deletephotoone.php?idtrf=<?php echo $idtrf; ?>"><i class="fas fa-trash-alt text-danger font-16"></i></a>'
);
} }
}); });
}); });
@@ -798,7 +802,10 @@ $certname->execute(); ?>
// $('.gallery').html(data); // $('.gallery').html(data);
// $("#photoaded").load(location.href + " #photoaded"); // $("#photoaded").load(location.href + " #photoaded");
// SHOW PHOTO 2 // SHOW PHOTO 2
$('#cont_phototwo').html(data); $('#cont_phototwo').html(
data + ' <a href="deletephototwo.php?idtrf=<?php echo $idtrf; ?>"><i class="fas fa-trash-alt text-danger font-16"></i></a>'
);
} }
}); });
}); });
+6 -1
View File
@@ -271,7 +271,7 @@ if (isset($_POST['adduser'])) {
</div> </div>
<div class="custom-control custom-switch switch-success"> <div class="custom-control custom-switch switch-success">
<input type="checkbox" class="custom-control-input" id="privacy_accepted" name="privacy_accepted" onchange="checkAcceptance()"> <input type="checkbox" class="custom-control-input" id="privacy_accepted" name="privacy_accepted" onchange="checkAcceptance()">
<label class="custom-control-label" for="privacy_accepted">Dichiaro di aver letto e compreso linformativa sui dati personali <a href="regolamentoprivacy.php" target="_blank"><u>qui presente</u></a>. Tratteremo i tuoi dati in conformità con la privacy policy di CIMAC / I declare that I have read and understood the information on <a href="privacydoc.php" target="_blank"><u>personal data herein</u></a>. We will handle your data in conformity with CIMAC privacy policy</label> <label class="custom-control-label" for="privacy_accepted">Dichiaro di aver letto e compreso linformativa sui dati personali <a href="informativappeasy.php" target="_blank"><u>qui presente</u></a>. / I declare that I have read and understood the information on <a href="informativappeasy_eng.php" target="_blank"><u>personal data herein</u></a>.</label>
</div> </div>
</div><!--end col--> </div><!--end col-->
</div><!--end form-group--> </div><!--end form-group-->
@@ -286,6 +286,8 @@ if (isset($_POST['adduser'])) {
<div class="m-3 text-center text-muted"> <div class="m-3 text-center text-muted">
<p class="">Hai già un account? / Already have an account ? <a href="login" class="text-primary ml-2">Log in</a></p> <p class="">Hai già un account? / Already have an account ? <a href="login" class="text-primary ml-2">Log in</a></p>
<br>
<p> <a href="regolamentoprivacy.php" target="_blank">Privacy Policy ITA</a> / <a href="privacydoc.php" target="_blank">Privacy Policy ENG</a> - <a href="cookie-policy-it.php" target="_blank">Cookie Policy ITA</a> / <a href="cookie-policy-en.php" target="_blank">Cookie Policy ENG</a> </p>
</div> </div>
</div><!--end card-body--> </div><!--end card-body-->
</div><!--end card--> </div><!--end card-->
@@ -293,6 +295,7 @@ if (isset($_POST['adduser'])) {
</div><!--end col--> </div><!--end col-->
</div><!--end row--> </div><!--end row-->
</div><!--end container--> </div><!--end container-->
<!-- End Log In page --> <!-- End Log In page -->
<!-- jQuery --> <!-- jQuery -->
@@ -370,6 +373,8 @@ if (isset($_POST['adduser'])) {
} }
}; };
</script> </script>
</body> </body>
</html> </html>
+375
View File
@@ -0,0 +1,375 @@
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require_once('../Connections/cmctrfdb.php'); ?>
<?php require_once('../webassist/mysqli/rsobj.php'); ?>
<?php require_once('../webassist/mysqli/queryobj.php'); ?>
<?php
// include('include/headscript.php');
?>
<?php //insert query
if (isset($_POST['adduser'])) {
if (isset($_POST['first_name'])) {
$first_name = $_POST['first_name'];
}
if (isset($_POST['last_name'])) {
$last_name = $_POST['last_name'];
}
if (isset($_POST['emailuser'])) {
$emailuser = $_POST['emailuser'];
}
if (isset($_POST['datein'])) {
$datein = $_POST['datein'];
}
if (isset($_POST['language'])) {
$langid = $_POST['language'];
}
if (isset($_POST['company_name'])) {
$company_name = $_POST['company_name'];
}
if (isset($_POST['vat_number'])) {
$vat_number = $_POST['vat_number'];
}
if (isset($_POST['terms_accepted'])) {
$terms_accepted = $_POST['terms_accepted'];
}
if (isset($_POST['privacy_accepted'])) {
$privacy_accepted = $_POST['privacy_accepted'];
}
$checkmail = new WA_MySQLi_RS("checkmail", $cmctrfdb, 0);
$checkmail->setQuery("SELECT * FROM auth_users WHERE auth_users.email='$emailuser'");
$checkmail->execute();
if (!empty($checkmail->getColumnVal("id"))) {
$varmailrepeat = 'Y'; ?>
<?php
} else {
$mysqli = new mysqli($hostname_cmctrfdb, $username_cmctrfdb, $password_cmctrfdb, $database_cmctrfdb);
$query = "INSERT INTO auth_users (email, first_name, last_name, password, role_id, status, email_verified_at, created_at, updated_at, langid, termuseaccepted, privacyaccepted, company_name, vat_number) VALUES ('$emailuser', '$first_name', '$last_name', '12345!AA', '2', 'Active', '$datein', '$datein', '$datein', '$langid', '$datein', '$datein', '$company_name', '$vat_number')";
// Esegui la query
$mysqli->query($query);
$inserttrue = 'Y';
// Chiudi la connessione al database
$mysqli->close();
//Now include the following following files based
//on the correct file path. Third file is required only if you want to enable SMTP.
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';
//mail to client
$mail = new PHPMailer(true);
try {
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = "smtp.office365.com"; // Specify main and backup server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = "noreply@cimac.it"; // SMTP username
$mail->Password = "Fol42937"; // SMTP password
$mail->SMTPSecure = "tls"; // Enable encryption, 'ssl' also accepted
$mail->Port = 587;
$mmessage = "mailnewuser";
include('include/mailnewuser.php');
// Email body content
$htmlContent = $mailmessage1;
$mail->From = $fromaddresssmail;
$mail->FromName = 'CIMAC Application Form System';
$mail->addAddress($emailuser); // Add a recipient
$mail->Subject = "Creazione Nuovo Utente";
$mail->Body = $htmlContent;
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
// mail to Marco for new user
$mail = new PHPMailer(true);
try {
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = $mailhost; // Specify main and backup server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = $mailusername; // SMTP username
$mail->Password = $mailpassword; // SMTP password
$mail->SMTPSecure = $mailmethod; // Enable encryption, 'ssl' also accepted
$mail->Port = $mailport;
// Email body content
$mail->From = $fromaddresssmail;
$mail->FromName = 'CIMAC Application Form System';
$mail->addBCC('m.piccolini@cimac.it'); // Add a recipient
$mail->addBCC($csmail); // Add a recipient
$mail->addBCC($csmail3);
$mail->addBCC('info@acscreativesolutions.com');
$mail->Subject = 'Nuovo Utente';
$mail->Body = "Ciao! E' stato inserito un nuovo Utente $emailuser ";
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CIMAC Application Form</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" />
<meta content="" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<!-- App css -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/jquery-ui.min.css" rel="stylesheet">
<link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
</head>
<body class="account-body accountbg">
<!-- Log In page -->
<div class="container-fluid">
<div class="row vh-100 ">
<div class="col-12 align-self-center">
<div class="auth-pagea">
<div class="card auth-card shadow-lg" style="max-width: 800px; width: 100%; margin: 0 auto;">
<div class="card-body">
<div class="px-3">
<div>
<a href="https://www.cimac.it/modulo_certificazione/public/login" class="logo logo-admin"><img src="assets/img/cimac-logo.png" height="55" alt="logo" class="auth-logo"></a>
</div><!--end auth-logo-box-->
<div class="text-center auth-logo-text">
<h4 class="mt-0 mb-3 mt-5">REGISTRAZIONE PIATTAFORMA PPEASY<br>REGISTRATION PPEASY PLATFORM</h4>
</div> <!--end auth-logo-text-->
<?php if (isset($varmailrepeat)) { ?>
<div class="alert icon-custom-alert alert-outline-pink b-round fade show" role="alert">
<i class="mdi mdi-alert-outline alert-icon"></i>
<div class="alert-text">
<strong>Email già presente nel database.
</div>
<div class="alert-close">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true"><i class="mdi mdi-close text-danger"></i></span>
</button>
</div>
</div><?php } ?>
<?php if (isset($inserttrue)) { ?>
<div class="alert icon-custom-alert alert-outline-success alert-success-shadow" role="alert">
<i class="mdi mdi-check-all alert-icon"></i>
<div class="alert-text">
<strong>Ben fatto!</strong> Utente creato con successo.
</div>
</div>
<p>Presto riceverai una mail per impostare la tua prima password e poi potrai procedere con l'uso del portale!</p><br>
<p>Soon you will receive an email in order to setup your first password and then you can start to use the portal!</p><br>
<?php } ?>
<?php if (!isset($inserttrue)) { ?>
<form class="form-horizontal auth-form my-4" action="auth-creation.php" method="post" name="usernew" onsubmit="return validateForm();">
<?php $nowtime = date("Y-m-d G:i:s"); ?>
<div class="form-group">
<label for="useremail">Nome/Name</label>
<div class="input-group mb-3">
<span class="auth-form-icon">
<i class="dripicons-user"></i>
</span>
<input type="text" class="form-control" id="first_name" name="first_name" placeholder="Nome/Name" required>
</div>
</div><!--end form-group-->
<div class="form-group">
<label for="useremail">Cognome / Surname</label>
<div class="input-group mb-3">
<span class="auth-form-icon">
<i class="dripicons-user"></i>
</span>
<input type="text" class="form-control" id="last_name" name="last_name" placeholder="Cognome / Surname" required>
</div>
</div><!--end form-group-->
<div class="form-group">
<label for="useremail">Email</label>
<div class="input-group mb-3">
<span class="auth-form-icon">
<i class="dripicons-mail"></i>
</span>
<input type="email" class="form-control" id="emailuser" name="emailuser" placeholder="Email" required>
</div>
</div><!--end form-group-->
<div class="form-group">
<label for="useremail">Ragione sociale azienda / Company Name</label>
<div class="input-group mb-3">
<span class="auth-form-icon">
<i class="dripicons-briefcase"></i>
</span>
<input type="text" class="form-control" id="company_name" name="company_name" placeholder="Ragione sociale azienda / Company Name" required>
</div>
</div><!--end form-group-->
<div class="form-group">
<label for="useremail">P.IVA azienda / Vat Number or ID Tax Number</label>
<div class="input-group mb-3">
<span class="auth-form-icon">
<i class="dripicons-id"></i>
</span>
<input type="text" class="form-control" id="vat_number" name="vat_number" placeholder="P.IVA azienda / Vat Number or ID Tax Number" required>
</div>
</div><!--end form-group-->
<div class="form-row">
<div class="col-md-8 mb-8">
<label for="exampleFormControlSelect1">Lingua / Language</label>
<select class="form-control" id="language" name="language" required>
<option value="1">Italiano</option>
<option value="2">English</option>
</select>
</div>
<input type="hidden" id="status" name="status" value="Active">
<input type="hidden" id="role_id" name="role_id" value="2">
<input type="hidden" id="adduser" name="adduser" value="Y">
<input type="hidden" id="datein" name="datein" value="<?php echo $nowtime; ?>">
</div>
<div class="form-group row mt-4">
<div class="col-sm-12">
<div class="custom-control custom-switch switch-success">
<input type="checkbox" class="custom-control-input" id="terms_accepted" name="terms_accepted" onchange="checkAcceptance()">
<label class="custom-control-label" for="terms_accepted">Registrandoti accetti i termini e le condizioni duso della piattaforma PPEASY <a href="terminiecondizioni.php" target="_blank"><u>qui presenti</u></a> / By registering you agree to <a href="termsandconditions.php" target="_blank"><u>these terms and conditions</u></a> of use of the PPEASY platform </label>
</div>
<div class="custom-control custom-switch switch-success">
<input type="checkbox" class="custom-control-input" id="privacy_accepted" name="privacy_accepted" onchange="checkAcceptance()">
<label class="custom-control-label" for="privacy_accepted">Dichiaro di aver letto e compreso linformativa sui dati personali <a href="regolamentoprivacy.php" target="_blank"><u>qui presente</u></a>. Tratteremo i tuoi dati in conformità con la privacy policy di CIMAC / I declare that I have read and understood the information on <a href="privacydoc.php" target="_blank"><u>personal data herein</u></a>. We will handle your data in conformity with CIMAC privacy policy</label>
</div>
</div><!--end col-->
</div><!--end form-group-->
<div class="form-group mb-0 row">
<div class="col-12 mt-2">
<button class="btn btn-round btn-block" type="submit" id="registerButton" disabled style="background-color: #f5f5f5; color: #333333;">Registrati / Register <i class="fas fa-sign-in-alt ml-1"></i></button>
</div><!--end col-->
</div> <!--end form-group-->
</form><?php } ?><!--end form-->
</div><!--end /div-->
<div class="m-3 text-center text-muted">
<p class="">Hai già un account? / Already have an account ? <a href="login" class="text-primary ml-2">Log in</a></p>
</div>
</div><!--end card-body-->
</div><!--end card-->
</div><!--end auth-card-->
</div><!--end col-->
</div><!--end row-->
</div><!--end container-->
<!-- End Log In page -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script>
<script src="assets/js/metismenu.min.js"></script>
<script src="assets/js/waves.js"></script>
<script src="assets/js/feather.min.js"></script>
<script src="assets/js/jquery.slimscroll.min.js"></script>
<!-- App js -->
<script src="../assets/js/app.js"></script>
<script>
function validateForm() {
var termsAccepted = document.getElementById("terms_accepted").checked;
var privacyAccepted = document.getElementById("privacy_accepted").checked;
if (!termsAccepted || !privacyAccepted) {
alert("Devi accettare i Termini di Uso e la Privacy Policy per registrarti / You must accept the Terms of Use and Privacy Policy to register.");
return false;
}
return true;
}
function checkAcceptance() {
var termsAccepted = document.getElementById("terms_accepted").checked;
var privacyAccepted = document.getElementById("privacy_accepted").checked;
var registerButton = document.getElementById("registerButton");
if (termsAccepted && privacyAccepted) {
registerButton.disabled = false;
registerButton.className = "btn btn-gradient-primary btn-round btn-block waves-effect waves-light";
registerButton.style.backgroundColor = "";
registerButton.style.color = "";
} else {
registerButton.disabled = true;
registerButton.className = "btn btn-round btn-block";
registerButton.style.backgroundColor = "#f5f5f5";
registerButton.style.color = "#333333";
}
}
// Initial check on page load
window.onload = checkAcceptance;
</script>
<!-- Cookie Banner -->
<div id="cookie-banner" style="position: fixed; bottom: 0; width: 100%; background: #333; color: #fff; padding: 15px; text-align: center; z-index: 1000; font-family: Arial, sans-serif;">
<div id="cookie-text">
<p>
Questo sito utilizza esclusivamente cookie tecnici per garantire funzionalità essenziali (come login e sicurezza).
<a href="cookie-policy-it.php" target="_blank" style="color: #fff; text-decoration: underline; margin-left: 5px;">Scopri di più</a>
</p>
<p>
This site uses only technical cookies to ensure essential features (such as login and security).
<a href="cookie-policy-en.php" target="_blank" style="color: #fff; text-decoration: underline; margin-left: 5px;">Learn more</a>
</p>
</div>
<div>
<button onclick="closeBanner()" style="background: #28a745; color: #fff; border: none; padding: 8px 16px; margin: 5px; cursor: pointer;">OK</button>
</div>
</div>
<script>
function closeBanner() {
document.getElementById('cookie-banner').style.display = 'none';
localStorage.setItem('cookiesAcknowledged', 'true');
}
// Nasconde il banner se l'utente ha già chiuso
window.onload = function() {
if (localStorage.getItem('cookiesAcknowledged')) {
document.getElementById('cookie-banner').style.display = 'none';
}
};
</script>
</body>
</html>
+192 -196
View File
@@ -1,197 +1,193 @@
<?php require_once '../Connections/cmctrfdb.php'; ?> <?php require_once '../Connections/cmctrfdb.php'; ?>
<?php require_once '../webassist/mysqli/rsobj.php'; ?> <?php require_once '../webassist/mysqli/rsobj.php'; ?>
<?php <?php
error_reporting(E_ALL); error_reporting(E_ALL);
ini_set('display_errors', TRUE); ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE); ini_set('display_startup_errors', TRUE);
include 'include/headscript.php'; include 'include/headscript.php';
include('languages/' . $_SESSION['langselect'] . '/tdgen.php'); include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
?>
<?php ?>
// Controlla se il form è stato inviato
if (isset($_POST['submit'])) { <?php
$description = $_POST['descriptionlogo']; // Assumi che la validazione dell'input sia già stata fatta // Check if the form has been submitted
$targetDir = "logos/"; // Assicurati che questa directory esista e sia scrivibile if (isset($_POST['submit'])) {
$description = $_POST['descriptionlogo']; // Assume input validation is already done
$file = $_FILES['logofile']; $targetDir = "logos/"; // Ensure this directory exists and is writable
$fileName = $file['name'];
$fileTmpName = $file['tmp_name']; $loadedFile = $_FILES['logofile'];
$fileError = $file['error']; $fileName = $loadedFile['name'];
$fileTmpName = $loadedFile['tmp_name'];
// Estrai l'estensione del file $fileError = $loadedFile['error'];
$exploded = explode('.', $fileName);
$fileExt = strtolower(end($exploded)); // Extract file extension
$exploded = explode('.', $fileName);
// Controlla se non ci sono errori e se il file è un PNG o JPG $fileExt = strtolower(end($exploded));
if ($fileError === 0 && ($fileExt === 'png' || $fileExt === 'jpg' || $fileExt === 'jpeg')) {
$newFileName = $idcompany . "_" . time() . "." . $fileExt; // Rinomina il file // Check for errors and if file is PNG or JPG
$fileDestination = $targetDir . $newFileName; if ($fileError === 0 && ($fileExt === 'png' || $fileExt === 'jpg' || $fileExt === 'jpeg')) {
$newFileName = $idcompany . "_" . time() . "." . $fileExt; // Rename file
$conn = new mysqli($servername, $username, $password, $dbname); $fileDestination = $targetDir . $newFileName;
// Sposta il file nella directory definitiva
if (move_uploaded_file($fileTmpName, $fileDestination)) { $conn = new mysqli($servername, $username, $password, $dbname);
// Qui esegui l'inserimento nel database // Move file to destination directory
$sql = "INSERT INTO logo_td (descriptionlogo, filenamelogo, idcompany) VALUES (?, ?, ?)"; if (move_uploaded_file($fileTmpName, $fileDestination)) {
$stmt = $conn->prepare($sql); // Perform database insertion
$sql = "INSERT INTO logo_td (descriptionlogo, filenamelogo, idcompany) VALUES (?, ?, ?)";
if ($stmt) { $stmt = $conn->prepare($sql);
$stmt->bind_param("ssi", $description, $newFileName, $idcompany); if ($stmt) {
$stmt->execute(); $stmt->bind_param("ssi", $description, $newFileName, $idcompany);
} else { $stmt->execute();
echo "Errore durante l'inserimento nel database."; } else {
} echo ($_SESSION['langselect'] == 'en') ? "Error during database insertion." : "Errore durante l'inserimento nel database.";
} else { }
echo "C'è stato un errore nel caricamento del file."; } else {
} echo ($_SESSION['langselect'] == 'en') ? "There was an error uploading the file." : "C'è stato un errore nel caricamento del file.";
} else { }
echo "Sono ammessi solo file PNG e JPG."; } else {
} echo ($_SESSION['langselect'] == 'en') ? "Only PNG and JPG files are allowed." : "Sono ammessi solo file PNG e JPG.";
} }
?> }
?>
<!DOCTYPE html>
<html lang="en"> <!DOCTYPE html>
<html lang="<?php echo ($_SESSION['langselect'] == 'en') ? 'en' : 'it'; ?>">
<head>
<meta charset="UTF-8"> <head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="UTF-8">
<title>Aggiungi Logo</title> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> <title><?php echo ($_SESSION['langselect'] == 'en') ? 'Add Logo' : 'Aggiungi Logo'; ?></title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet"> <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
<style> <style>
.drag-area { .drag-area {
border: 2px dashed #ccc; border: 2px dashed #ccc;
border-radius: 20px; border-radius: 20px;
width: auto; width: auto;
margin: 10px 0; margin: 10px 0;
padding: 20px; padding: 20px;
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
color: #ccc; color: #ccc;
} }
.drag-area.highlight { .drag-area.highlight {
border-color: blue; border-color: blue;
background-color: rgba(0, 0, 255, 0.1); background-color: rgba(0, 0, 255, 0.1);
} }
.custom-file-label::after { .custom-file-label::after {
content: "Sfoglia"; content: "<?php echo ($_SESSION['langselect'] == 'en') ? 'Browse' : 'Sfoglia'; ?>";
} }
</style> </style>
</head> </head>
<body> <body>
<div class="container mt-5"> <div class="container mt-5">
<button onclick="closeAndRefresh()">Chiudi e Aggiorna</button> <?php echo $_SESSION['langselect'];
<h3 style="display: inline-block;">Aggiungi Logo</h3> <button onclick="closeAndRefresh()"><?php echo ($_SESSION['langselect'] == 'en') ? 'Close and Refresh' : 'Chiudi e Aggiorna'; ?></button>
<h3 style="display: inline-block;"><?php echo ($_SESSION['langselect'] == 'en') ? 'Add Logo' : 'Aggiungi Logo'; ?></h3>
<form id="uploadLogoForm" action="logopopup.php" method="post" enctype="multipart/form-data">
<div class="form-group"> <form id="uploadLogoForm" action="logopopup.php" method="post" enctype="multipart/form-data">
<label for="logoDescription">Descrizione Logo:</label> <div class="form-group">
<input type="text" class="form-control" id="logoDescription" name="descriptionlogo" required> <label for="logoDescription"><?php echo ($_SESSION['langselect'] == 'en') ? 'Logo Description:' : 'Descrizione Logo:'; ?></label>
</div> <input type="text" class="form-control" id="logoDescription" name="descriptionlogo" required>
</div>
<div class="drag-area" id="drag-area"> <div class="drag-area" id="drag-area">
<p>Trascina qui il file o clicca per selezionare</p> <p><?php echo ($_SESSION['langselect'] == 'en') ? 'Drag file here or click to select' : 'Trascina qui il file o clicca per selezionare'; ?></p>
</div> </div>
<div class="custom-file mb-3">
<div class="custom-file mb-3"> <input type="file" class="custom-file-input" id="logoFile" name="logofile" accept=".png, .jpg, .jpeg" required hidden>
<input type="file" class="custom-file-input" id="logoFile" name="logofile" accept=".png, .jpg, .jpeg" required hidden> <label class="custom-file-label" for="logoFile"><?php echo ($_SESSION['langselect'] == 'en') ? 'Choose file' : 'Scegli file'; ?></label>
<label class="custom-file-label" for="logoFile">Scegli file</label> </div>
</div> <button type="submit" class="btn btn-primary" name="submit"><?php echo ($_SESSION['langselect'] == 'en') ? 'Upload Logo' : 'Carica Logo'; ?></button>
</form>
<button type="submit" class="btn btn-primary" name="submit">Carica Logo</button> </div>
</form> <div class="container mt-5">
</div> <h3><?php echo ($_SESSION['langselect'] == 'en') ? 'Uploaded Logos' : 'Loghi Caricati'; ?></h3>
<div class="container mt-5"> <table class="table">
<h3>Loghi Caricati</h3> <thead>
<table class="table"> <tr>
<thead> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Description' : 'Descrizione'; ?></th>
<tr> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Logo' : 'Logo'; ?></th>
<th>Descrizione</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Action' : 'Azione'; ?></th>
<th>Logo</th> </tr>
<th>Azione</th> </thead>
</tr> <tbody>
</thead> <?php
<tbody> $conn = new mysqli($servername, $username, $password, $dbname);
<?php $query = "SELECT idlogo_td, descriptionlogo, filenamelogo FROM logo_td WHERE idcompany = ?";
$conn = new mysqli($servername, $username, $password, $dbname); $stmt = $conn->prepare($query);
$query = "SELECT idlogo_td, descriptionlogo, filenamelogo FROM logo_td WHERE idcompany = ?"; $stmt->bind_param("i", $idcompany); // Assume $idcompany is already defined and sanitized
$stmt = $conn->prepare($query); $stmt->execute();
$stmt->bind_param("i", $idcompany); // Assumi che $idcompany sia già definita e pulita $result = $stmt->get_result();
$stmt->execute(); while ($row = $result->fetch_assoc()) {
$result = $stmt->get_result(); echo "<tr>";
echo "<td>" . htmlspecialchars($row['descriptionlogo']) . "</td>";
while ($row = $result->fetch_assoc()) { echo "<td><img src='logos/" . htmlspecialchars($row['filenamelogo']) . "' alt='Logo' style='width: 50px;'></td>";
echo "<tr>"; echo "<td><a href='deleteLogo.php?id=" . $row['idlogo_td'] . "' onclick='return confirm(\"" . ($_SESSION['langselect'] == 'en' ? 'Are you sure you want to delete this logo?' : 'Sei sicuro di voler cancellare questo logo?') . "\");'><i class='fas fa-trash-alt' style='color: red;'></i></a></td>";
echo "<td>" . htmlspecialchars($row['descriptionlogo']) . "</td>"; echo "</tr>";
echo "<td><img src='logos/" . htmlspecialchars($row['filenamelogo']) . "' alt='Logo' style='width: 50px;'></td>"; }
echo "<td><a href='deleteLogo.php?id=" . $row['idlogo_td'] . "' onclick='return confirm(\"Sei sicuro di voler cancellare questo logo?\");'><i class='fas fa-trash-alt' style='color: red;'></i></a></td>"; ?>
echo "</tr>"; </tbody>
} </table>
?> </div>
</tbody>
</table> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
</div> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.2/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.2/dist/umd/popper.min.js"></script> // Show file name in Bootstrap custom file input when selected
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> $(".custom-file-input").on("change", function() {
<script> var fileName = $(this).val().split("\\").pop();
// Mostra il nome del file nel campo custom file di Bootstrap quando selezionato $(this).siblings(".custom-file-label").addClass("selected").html(fileName);
$(".custom-file-input").on("change", function() { });
var fileName = $(this).val().split("\\").pop();
$(this).siblings(".custom-file-label").addClass("selected").html(fileName); var dragArea = document.getElementById('drag-area');
}); var input = document.getElementById('logoFile');
var dragArea = document.getElementById('drag-area'); // Highlight drag area
var input = document.getElementById('logoFile'); ['dragenter', 'dragover'].forEach(eventName => {
dragArea.addEventListener(eventName, (e) => {
// Highlight drag area preventDefaults(e);
['dragenter', 'dragover'].forEach(eventName => { dragArea.classList.add('highlight');
dragArea.addEventListener(eventName, (e) => { }, false);
preventDefaults(e); });
dragArea.classList.add('highlight');
}, false); // Unhighlight drag area
}); ['dragleave', 'drop'].forEach(eventName => {
dragArea.addEventListener(eventName, (e) => {
// Unhighlight drag area preventDefaults(e);
['dragleave', 'drop'].forEach(eventName => { dragArea.classList.remove('highlight');
dragArea.addEventListener(eventName, (e) => { }, false);
preventDefaults(e); });
dragArea.classList.remove('highlight');
}, false); // Handle drop
}); dragArea.addEventListener('drop', (e) => {
preventDefaults(e);
// Handle drop let dt = e.dataTransfer;
dragArea.addEventListener('drop', (e) => { let files = dt.files;
preventDefaults(e); input.files = files;
let dt = e.dataTransfer; $(".custom-file-label").addClass("selected").html(files[0].name);
let files = dt.files; }, false);
input.files = files;
$(".custom-file-label").addClass("selected").html(files[0].name); function preventDefaults(e) {
}, false); e.preventDefault();
e.stopPropagation();
function preventDefaults(e) { }
e.preventDefault();
e.stopPropagation(); // Click on drag area to open file dialog
} dragArea.addEventListener('click', () => input.click());
</script>
// Click on drag area to open file dialog <script>
dragArea.addEventListener('click', () => input.click()); function closeAndRefresh() {
</script> if (window.opener && !window.opener.closed) {
<script> window.opener.updateSelectDropdown();
function closeAndRefresh() { }
if (window.opener && !window.opener.closed) { window.close();
window.opener.updateSelectDropdown(); }
} </script>
window.close(); </body>
}
</script>
</body>
</html> </html>
+169 -535
View File
@@ -3,10 +3,10 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>CIMAC Application Form</title> <title>CIMAC Cookie Policy</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" /> <meta content="Cookie Policy for PPeasy Platform" name="description" />
<meta content="" name="author" /> <meta content="Paola Crespi" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon --> <!-- App favicon -->
@@ -19,17 +19,83 @@
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text strong,
.auth-logo-text span,
.auth-logo-text a {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-size: 10pt;
font-family: Calibri, sans-serif;
color: black;
}
.auth-logo-text p:first-child strong {
font-size: 14pt;
}
.auth-logo-text strong {
font-weight: bold;
}
.auth-logo-text a {
color: #00F;
text-decoration: underline;
}
.auth-logo-text p+p,
.auth-logo-text p+strong,
.auth-logo-text strong+p,
.auth-logo-text strong+strong {
margin-top: 20px;
}
.privacy-title {
font-size: 18pt !important;
font-weight: bold;
margin-bottom: 20px;
}
.cookie-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.cookie-table th,
.cookie-table td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
font-family: Calibri, sans-serif;
font-size: 10pt;
}
.cookie-table th {
background-color: #f2f2f2;
font-weight: bold;
}
.indented {
margin-left: 20px;
}
</style>
</head> </head>
<body class="account-body accountbg"> <body class="account-body accountbg">
<!-- Log In page --> <!-- Cookie Policy page -->
<div class="container"> <div class="container">
<div class="row vh-100 "> <div class="row vh-100">
<div class="col-12 align-self-center"> <div class="col-12 align-self-center">
<div> <div>
<div class="card auth-card shadow-lg"> <div class="card auth-card shadow-lg">
<div class="card-body"> <div class="card-body">
<div class="px-5"> <div class="px-5">
<div> <div>
@@ -37,544 +103,112 @@
</div><!--end auth-logo-box--> </div><!--end auth-logo-box-->
<div class="text-center auth-logo-text"> <div class="text-center auth-logo-text">
<br>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <p class="privacy-title">Cookie Policy</p>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<p><strong>Introduction</strong></p>
<head> <p>Dear User,<br>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Anci Servizi s.r.l. with sole shareholder, B.U. Cimac (hereinafter referred to as the &ldquo;Controller&rdquo; pursuant to Article 26 of European Regulation 2016/679), following the new Guidelines on cookies and other tracking tools issued by the Supervisory Authority on June 10, 2021—which can be consulted at the following address: <a href="https://www.garanteprivacy.it/web/guest/home/docweb/-/docweb-display/docweb/9677876">Linee guida cookie e altri strumenti di tracciamento - 10 giugno 2021</a>—and in accordance with the provisions of European Regulation 2016/679 (hereinafter also &ldquo;GDPR&rdquo;), hereby informs users of the website, in general terms, as follows and, in detail, through the table provided in the subsequent point 4, regarding the cookies and other tracking systems and technical identifiers specifically used on the website you are browsing.</p>
<title>TERMINI_E_CONDIZIONI_PPEASY</title>
<meta name="author" content="Paola Crespi" /> <p><strong>1. Cookies</strong></p>
<style type="text/css"> <p>A cookie is a small text file placed by a website on the user&apos;s hard drive. Specifically, these are strings of text that websites (so-called publishers or &ldquo;first parties&rdquo;) visited by the user, or different websites or web servers (so-called &ldquo;third parties&rdquo;), place and store—directly in the case of publishers and indirectly through them in the case of third parties—on a terminal device available to the user. Cookies uniquely identify the browser or allow access to information on the user&apos;s terminal.<br>
* { As noted by the Supervisory Authority in its June 2021 decision, &ldquo;... Terminals refer to, for example, a computer, tablet, smartphone, or any other device capable of storing information ... including IoT (Internet of Things) devices ...&rdquo;. Cookies do not damage the computer and do not contain viruses. They streamline web traffic analysis or indicate when a specific site is visited, allowing web applications to send information to individual users.</p>
margin: 0; <p><strong>Why are cookies used?</strong></p>
padding: 0; <p>Cookies are necessary for the operation of the website (technical cookies) to optimize performance and provide better browsing experiences (so-called navigation cookies). They offer users a smooth and simplified browsing experience, avoiding the need to re-enter the same information on each visit. Cookies perform various functions, including session monitoring, storing configuration information for users accessing the server, and facilitating online content usage (e.g., tracking items in an online shopping cart or form data).<br>
text-indent: 0; The Supervisory Authority notes that similar results can be achieved using other tools such as &ldquo;tracking tools&rdquo; and &ldquo;passive identifiers,&rdquo; which involve merely observing the user and allow similar processing to cookies. Passive tools include, for example, fingerprinting.<br>
} Information encoded in cookies may include personal data (e.g., username, unique identifier, email address, IP address) or non-personal data (e.g., language settings, device type used for browsing).<br>
Only the cookies listed in the table in point 4 are used on this website.</p>
h1 {
color: black; <p><strong>2. Types of Cookies and Classification Methods</strong></p>
font-family: Calibri, sans-serif; <p>Cookies can be classified by lifecycle:<br>
font-style: normal; <span class="indented"><strong>Session Cookies:</strong> Placed during a website visit and removed when the user leaves the site and closes the browser. Stored in temporary memory, they allow a website to track a user across pages. Websites use cookies (see <a href="https://www.garanteprivacy.it/web/guest/home/docweb/-/docweb-display/docweb/9677876">Linee guida cookie e altri strumenti di tracciamento - 10 giugno 2021</a>) because they lack their own memory. These cookies act like keys—if your computer has the key, the site grants access without treating you as a new visitor. These cookies are not stored persistently and are deleted when the browser is closed.</span><br>
font-weight: bold; <span class="indented"><strong>Persistent Cookies:</strong> Stored on the computer for a longer period and removed only after expiration or manual deletion. During their lifespan, information is transmitted to the server each time the user visits the site or views a resource from the site (e.g., an ad). They store login details and remember preferences or settings. Mostly used to monitor user behavior and improve user experience.</span>
text-decoration: none; </p>
font-size: 10pt; <p>Cookies can also be classified by origin:<br>
} <span class="indented"><strong>First-party Cookies:</strong> Sent directly by the site being visited and managed by the site owner.</span><br>
<span class="indented"><strong>Third-party Cookies:</strong> Sent by domains different from the one in the address bar, often appearing when pages include external content (e.g., ads). These cookies may track browsing history and are used by advertisers to serve personalized ads.</span>
.p, </p>
p { <p>Cookies can be classified by purpose:<br>
color: black; <span class="indented"><strong>Technical Cookies:</strong> Necessary for navigation and service delivery.</span><br>
font-family: Calibri, sans-serif; <span class="indented"><strong>Statistical Cookies:</strong> Used by the site owner to optimize the site by collecting aggregated user data.</span><br>
font-style: normal; <span class="indented"><strong>Preference Cookies (Functional Cookies):</strong> Enhance site usability and personalize browsing experience.</span><br>
font-weight: normal; <span class="indented"><strong>Marketing and Profiling Cookies:</strong> Used to build a user profile and deliver targeted ads.</span><br>
text-decoration: none; <span class="indented"><strong>Social Network Cookies:</strong> Allow social networks (e.g., Facebook) to identify users and collect data while browsing other sites.</span>
font-size: 10pt; </p>
margin: 0pt;
} <p><strong>3. Other Tracking Tools and Technical Identifiers</strong></p>
<p>The Data Protection Authority, on this web page <a href="https://www.garanteprivacy.it/web/guest/home/docweb/-/docweb-display/docweb/9677876">Linee guida cookie e altri strumenti di tracciamento - 10 giugno 2021</a>, explores the subject in greater depth through a summary sheet of its guidelines on cookies and other tracking tools.<br>
.s1 { In this context, the Data Controller wishes to remind users that tracking tools may have different characteristics in terms of duration and, therefore, may be considered based on their lifespan (session or persistent), or from a subjective perspective (depending on whether the publisher acts independently or on behalf of a &ldquo;third party&rdquo;).<br>
color: black; Identifiers may be categorized according to various criteria, the main one being the purpose for which they are used: either &ldquo;technical&rdquo; or &ldquo;non-technical&rdquo; in nature, with the latter category to be interpreted broadly, since the current legal framework—aimed at protecting the confidentiality of electronic communications as well as personal information—is structured as a general prohibition on the processing of data subjects&rsquo; information, except for exceptions that are strictly and narrowly codified and not subject to analogical extension.<br>
font-family: Calibri, sans-serif; In the following point 4, the Data Controller, in compliance with the aforementioned provision, highlights—by means of a table—the tracking systems and technical identifiers present, where applicable, on the website you are browsing.</p>
font-style: normal;
font-weight: normal; <p><strong>4. Technical Cookies Used</strong></p>
text-decoration: none; <p>The Data Controller, through the service provided by C.E. Soft s.r.l., uses only technical cookies necessary for the proper functioning of the web application. These cookies do not require user consent, as they are solely used to ensure essential functionality and secure browsing, without profiling or tracking purposes.<br>
font-size: 7pt; Following the most important information about active cookies:</p>
} <table class="cookie-table">
<tr>
.s2 { <th>Cookie</th>
color: black; <th>Purposes</th>
font-family: Calibri, sans-serif; <th>Category</th>
font-style: normal; <th>Duration</th>
font-weight: normal; <th>Notes</th>
text-decoration: underline; </tr>
font-size: 8pt; <tr>
} <td>laravel_session</td>
<td>Maintains authenticated user session</td>
.s4 { <td>Technical</td>
color: #00F; <td>Session (browser closure)</td>
font-family: Calibri, sans-serif; <td>Securely stored, linked to server-side data</td>
font-style: normal; </tr>
font-weight: normal; <tr>
text-decoration: none; <td>XSRF-TOKEN</td>
font-size: 8pt; <td>Protects against CSRF attacks</td>
} <td>Technical</td>
<td>Session</td>
.a, <td>Secure token, no sensitive data, read by JavaScript</td>
a { </tr>
color: black; </table>
font-family: Calibri, sans-serif; <p>As these cookies are strictly necessary, they cannot be disabled via the application, as their removal would compromise the web application&apos;s functionality.</p>
font-style: normal;
font-weight: normal; <p><strong>5. Your Rights and How to Exercise Them</strong></p>
text-decoration: none; <p>I diritti riconosciuti agli interessati dal GDPR sono:<br>
font-size: 8pt; <span class="indented">art. 15 Right of access: the data subject/user has the right to obtain information about which of their personal data is being processed by the Controller, the purposes pursued, the duration for which such data will be retained, and the methods with which said data is processed.</span><br>
} <span class="indented">art. 16 Right to rectification: the data subject/user has the right to verify the accuracy of their data and to request any modifications or additions.</span><br>
<span class="indented">art. 17 Right to erasure: the data subject/user may request the erasure of their data under certain conditions, such as, for example, when the personal data is no longer necessary for the purpose for which it was collected.</span><br>
.s5 { <span class="indented">We reserve the right to decline your request for erasure (pursuant to art. 17 GDPR) for any of the following reasons:</span><br>
color: black; <span class="indented">&nbsp;&nbsp;- to exercise the right to freedom of expression and information;</span><br>
font-family: Calibri, sans-serif; <span class="indented">&nbsp;&nbsp;- to comply with legal obligations or carry out a task in the public interest or exercise official authority;</span><br>
font-style: normal; <span class="indented">&nbsp;&nbsp;- for reasons of public health in the public interest;</span><br>
font-weight: normal; <span class="indented">&nbsp;&nbsp;- for archiving, research, or statistical purposes;</span><br>
text-decoration: underline; <span class="indented">&nbsp;&nbsp;- to establish, exercise, or defend a legal claim.</span><br>
font-size: 7pt; <span class="indented">art. 18 Right to restriction of processing: the data subject/user may request a restriction on processing activities concerning their data under certain conditions, such as, for example, if the data was acquired for a specific purpose unlawfully.</span><br>
} <span class="indented">art. 20 Right to data portability: the user/data subject has the right to receive their data in a structured, commonly used and machine-readable format and, where technically feasible, to have it transferred without hindrance to another controller when the data is processed by automated means and the processing is based on the Users consent, on a contract to which the User is party, or on related contractual measures.</span><br>
<span class="indented">art. 21 Right to object: the user/data subject has the right to object to the processing of their data when such processing is based on legal grounds other than consent, for reasons related to their particular situation; when, on the other hand, the legal basis is consent, the data subject/user may object at any time, but the processing carried out up to that point remains lawful.</span><br>
.s7 { <span class="indented">art. 22 Automated decision-making regarding individuals, including profiling: except for specific exemptions expressly provided for by law, the data subject/user has the right not to be subject to a decision based solely on automated processing, including profiling, that produces legal effects concerning them or similarly significantly affects them.</span>
color: black; </p>
font-family: Calibri, sans-serif; <p>To exercise the rights listed above or for further information, simply send an e-mail to the following address: <a href="mailto:privacy@assocalzaturifici.it">privacy@assocalzaturifici.it</a>, indicating in the subject &ldquo;cookies policy: exercise of rights under GDPR&rdquo; and specifying in the body of the e-mail the right you wish to exercise and, if applicable, the e-mail address at which you wish to receive a response.<br>
font-style: normal; The Data Controller will respond to the exercise of rights within the timeframes specified in art. 12, paragraph 3, GDPR. Please remember that you have the right to lodge a complaint with a supervisory authority (Data Protection Authority: <a href="https://www.garanteprivacy.it">www.garanteprivacy.it</a>).</p>
font-weight: normal;
text-decoration: none; <p><strong>6. Data Breach</strong></p>
font-size: 8pt; <p>If the Data Controller suffers a data breach as defined in Article 34, posing a risk to individuals&rsquo; rights and freedoms, it will—if necessary—notify the Supervisory Authority and inform affected individuals.</p>
}
<p><strong>7. Different Purposes</strong></p>
li { <p>If the Data Controller intends to process personal data for purposes other than those for which it was collected, it will first provide the data subject with information about the new purpose and obtain specific consent if required.</p>
display: block;
} </div><!--end auth-logo-text-->
#l1 { <h4 class="mt-0 mb-3 mt-5"></h4>
padding-left: 0pt;
counter-reset: c1 1;
}
#l1>li>*:first-child:before {
counter-increment: c1;
content: "(" counter(c1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l1>li:first-child>*:first-child:before {
counter-increment: c1 0;
}
li {
display: block;
}
#l2 {
padding-left: 0pt;
counter-reset: d1 2;
}
#l2>li>*:first-child:before {
counter-increment: d1;
content: counter(d1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
}
#l3 {
padding-left: 0pt;
counter-reset: d2 1;
}
#l3>li>*:first-child:before {
counter-increment: d2;
content: counter(d1, decimal)"." counter(d2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l3>li:first-child>*:first-child:before {
counter-increment: d2 0;
}
#l4 {
padding-left: 0pt;
}
#l4>li>*:first-child:before {
content: "- ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l5 {
padding-left: 0pt;
counter-reset: e1 3;
}
#l5>li>*:first-child:before {
counter-increment: e1;
content: counter(e1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l5>li:first-child>*:first-child:before {
counter-increment: e1 0;
}
#l6 {
padding-left: 0pt;
counter-reset: e2 1;
}
#l6>li>*:first-child:before {
counter-increment: e2;
content: counter(e1, decimal)"." counter(e2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l6>li:first-child>*:first-child:before {
counter-increment: e2 0;
}
li {
display: block;
}
#l7 {
padding-left: 0pt;
counter-reset: f1 4;
}
#l7>li>*:first-child:before {
counter-increment: f1;
content: counter(f1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l7>li:first-child>*:first-child:before {
counter-increment: f1 0;
}
#l8 {
padding-left: 0pt;
counter-reset: f2 1;
}
#l8>li>*:first-child:before {
counter-increment: f2;
content: counter(f1, decimal)"." counter(f2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l8>li:first-child>*:first-child:before {
counter-increment: f2 0;
}
li {
display: block;
}
#l9 {
padding-left: 0pt;
counter-reset: g1 5;
}
#l9>li>*:first-child:before {
counter-increment: g1;
content: counter(g1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l9>li:first-child>*:first-child:before {
counter-increment: g1 0;
}
#l10 {
padding-left: 0pt;
counter-reset: g2 1;
}
#l10>li>*:first-child:before {
counter-increment: g2;
content: counter(g1, decimal)"." counter(g2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l10>li:first-child>*:first-child:before {
counter-increment: g2 0;
}
li {
display: block;
}
#l11 {
padding-left: 0pt;
counter-reset: h1 6;
}
#l11>li>*:first-child:before {
counter-increment: h1;
content: counter(h1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l11>li:first-child>*:first-child:before {
counter-increment: h1 0;
}
#l12 {
padding-left: 0pt;
counter-reset: h2 1;
}
#l12>li>*:first-child:before {
counter-increment: h2;
content: counter(h1, decimal)"." counter(h2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l12>li:first-child>*:first-child:before {
counter-increment: h2 0;
}
#l13 {
padding-left: 0pt;
}
#l13>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
#l14 {
padding-left: 0pt;
}
#l14>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
li {
display: block;
}
#l15 {
padding-left: 0pt;
counter-reset: i1 7;
}
#l15>li>*:first-child:before {
counter-increment: i1;
content: counter(i1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l15>li:first-child>*:first-child:before {
counter-increment: i1 0;
}
#l16 {
padding-left: 0pt;
counter-reset: i2 1;
}
#l16>li>*:first-child:before {
counter-increment: i2;
content: counter(i1, decimal)"." counter(i2, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l16>li:first-child>*:first-child:before {
counter-increment: i2 0;
}
#l17 {
padding-left: 0pt;
counter-reset: j1 1;
}
#l17>li>*:first-child:before {
counter-increment: j1;
content: "(" counter(j1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l17>li:first-child>*:first-child:before {
counter-increment: j1 0;
}
#l18 {
padding-left: 0pt;
counter-reset: k1 1;
}
#l18>li>*:first-child:before {
counter-increment: k1;
content: "(" counter(k1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l18>li:first-child>*:first-child:before {
counter-increment: k1 0;
}
li {
display: block;
}
#l19 {
padding-left: 0pt;
counter-reset: l1 8;
}
#l19>li>*:first-child:before {
counter-increment: l1;
content: counter(l1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
}
#l20 {
padding-left: 0pt;
counter-reset: l2 1;
}
#l20>li>*:first-child:before {
counter-increment: l2;
content: counter(l1, decimal)"." counter(l2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l20>li:first-child>*:first-child:before {
counter-increment: l2 0;
}
#l21 {
padding-left: 0pt;
counter-reset: m1 1;
}
#l21>li>*:first-child:before {
counter-increment: m1;
content: "(" counter(m1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l21>li:first-child>*:first-child:before {
counter-increment: m1 0;
}
</style>
</head>
<body>
TEXT HERE
</body>
</html>
</div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5">
</h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br><br><br><br>
</div><!--end card-body--> </div><!--end card-body-->
</div><!--end card--> </div><!--end card-->
</div><!--end auth-card--> </div><!--end auth-card-->
</div><!--end col--> </div><!--end col-->
</div><!--end row--> </div><!--end row-->
</div><!--end container--> </div><!--end container-->
<!-- End Log In page --> <!-- End Cookie Policy page -->
<!-- jQuery -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script> <script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script> <script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script> <script src="assets/js/bootstrap.bundle.min.js"></script>
+171 -536
View File
@@ -1,12 +1,12 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="it">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>CIMAC Application Form</title> <title>CIMAC Cookie Policy</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" /> <meta content="Informativa sui Cookie per la Piattaforma PPeasy" name="description" />
<meta content="" name="author" /> <meta content="Paola Crespi" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon --> <!-- App favicon -->
@@ -19,17 +19,83 @@
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text strong,
.auth-logo-text span,
.auth-logo-text a {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-size: 10pt;
font-family: Calibri, sans-serif;
color: black;
}
.auth-logo-text p:first-child strong {
font-size: 14pt;
}
.auth-logo-text strong {
font-weight: bold;
}
.auth-logo-text a {
color: #00F;
text-decoration: underline;
}
.auth-logo-text p+p,
.auth-logo-text p+strong,
.auth-logo-text strong+p,
.auth-logo-text strong+strong {
margin-top: 20px;
}
.privacy-title {
font-size: 18pt !important;
font-weight: bold;
margin-bottom: 20px;
}
.cookie-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.cookie-table th,
.cookie-table td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
font-family: Calibri, sans-serif;
font-size: 10pt;
}
.cookie-table th {
background-color: #f2f2f2;
font-weight: bold;
}
.indented {
margin-left: 20px;
}
</style>
</head> </head>
<body class="account-body accountbg"> <body class="account-body accountbg">
<!-- Log In page --> <!-- Cookie Policy page -->
<div class="container"> <div class="container">
<div class="row vh-100 "> <div class="row vh-100">
<div class="col-12 align-self-center"> <div class="col-12 align-self-center">
<div> <div>
<div class="card auth-card shadow-lg"> <div class="card auth-card shadow-lg">
<div class="card-body"> <div class="card-body">
<div class="px-5"> <div class="px-5">
<div> <div>
@@ -37,544 +103,113 @@
</div><!--end auth-logo-box--> </div><!--end auth-logo-box-->
<div class="text-center auth-logo-text"> <div class="text-center auth-logo-text">
<br>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <p class="privacy-title">Informativa sui Cookie</p>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<p><strong>Introduzione</strong></p>
<head> <p>Gentile Utente,<br>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Anci Servizi s.r.l. a socio unico B.U. Cimac, da qui in avanti solo il &ldquo;Titolare&rdquo; ex art 26 Regolamento Europeo 2016/679, a seguito delle nuove Linee guida cookies e altri strumenti di tracciamento del 10 giugno 2021 emanate dall&rsquo;Autorità Garante di cui si può prendere visione al seguente indirizzo: <a href="https://www.garanteprivacy.it/web/guest/home/docweb/-/docweb-display/docweb/9677876">Linee guida cookie e altri strumenti di tracciamento - 10 giugno 2021</a>, ed in conformità con quanto previsto nel Regolamento Europeo 2016/679 (da qui in poi anche GDPR), informa i naviganti del sito, in via generale, su quanto segue e nel dettaglio, tramite la tabella presente nel successivo punto 4, sui cookies e gli altri sistemi di tracciamento ed identificatori tecnici utilizzati specificatamente sul sito sul quale state navigando.</p>
<title>TERMINI_E_CONDIZIONI_PPEASY</title>
<meta name="author" content="Paola Crespi" /> <p><strong>1. Cookies</strong></p>
<style type="text/css"> <p>Un cookie è un piccolo file di testo che viene depositato da un sito web sul disco rigido dell&rsquo;utente, nel dettaglio sono stringhe di testo che i siti web (cd. Publisher o &ldquo;prime parti&rdquo;) visitati dall&rsquo;utente ovvero siti o web server diversi (cd. &ldquo;terze parti&rdquo;) posizionano ed archiviano direttamente, nel caso dei publisher e indirettamente, cioè per il tramite di questi ultimi, nel caso delle &ldquo;terze parti&rdquo; all&rsquo;interno di un dispositivo terminale nella disponibilità dell&rsquo;utente medesimo.<br>
* { I cookies identificano così in modo univoco il browser del navigatore oppure consentono l&apos;accesso ad informazioni sul terminale dell&apos;utente. Per come ricorda l&rsquo;Autorità Garante nel provvedimento del giugno 2021 &ldquo; I terminali a cui ci si riferisce sono, ad esempio, un computer, un tablet, uno smartphone, ovvero ogni altro dispositivo in grado di archiviare informazioni tra essi occorre annoverare anche i cd. dispositivi IoT (Internet of Things) &rdquo;.<br>
margin: 0; I cookies non danneggiano il computer e non contengono virus. I cookies hanno la funzione di snellire l&apos;analisi del traffico sul Web o di segnalare quando un sito specifico viene visitato e consentono alle applicazioni Web di inviare informazioni a singoli utenti.</p>
padding: 0; <p><strong>Perché si utilizzano i cookies?</strong></p>
text-indent: 0; <p>I cookies sono necessari al funzionamento del sito (cookies tecnici) al fine di ottimizzarne le prestazioni e fornire migliori esperienze di navigazione (c.d. cookies di navigazione). Tramite i cookies si fornisce ai propri Utenti un&rsquo;esperienza di navigazione il più possibile fluida e semplificata, ad ogni visita sul sito, infatti, non si devono più ricevere o inserire le stesse informazioni. I cookies possono dunque svolgere importanti e diverse funzioni, tra cui il monitoraggio di sessioni, la memorizzazione di informazioni su specifiche configurazioni riguardanti gli utenti che accedono al server, l&rsquo;agevolazione nella fruizione dei contenuti online etc. (possono ad esempio essere impiegati per tenere traccia degli articoli in un carrello degli acquisti online o delle informazioni utilizzate per la compilazione di un modulo informatico).<br>
} In generale il Garante ricorda che alcuni dei risultati perseguiti tramite i cookies sono raggiungibili anche tramite l&rsquo;utilizzo di altri strumenti come gli &ldquo;strumenti di tracciamento&rdquo; gli &ldquo;identificatori passivi&rdquo; presuppongono la mera osservazione dell&rsquo;Utente e, così facendo, consentono di effettuare trattamenti analoghi a quelli dei cookies. Tra gli strumenti &ldquo;passivi&rdquo; è ricompreso ad es.: il fingerprinting.<br>
Le informazioni codificate nei cookies possono includere dati personali, come un nome utente, un identificativo univoco o un indirizzo e-mail, un indirizzo IP, ma possono anche contenere dati non personali, come le impostazioni della lingua o informazioni sul tipo di dispositivo che una persona sta utilizzando per navigare nel sito.<br>
h1 { Nel presente sito sono utilizzati i soli cookies illustrati nella tabella riportati nel seguente punto 4.</p>
color: black;
font-family: Calibri, sans-serif; <p><strong>2. Tipologie di cookies e modalità di classificazione</strong></p>
font-style: normal; <p>I cookies possono essere classificati in base al ciclo di vita:<br>
font-weight: bold; <span class="indented"><strong>Cookies di sessione:</strong> i cookies di sessione sono collocati sul computer durante la sessione di visita di un sito web e vengono rimossi quando si lascia il sito e si chiude il browser. Il cookie viene memorizzato nella memoria temporanea del computer. I cookies di sessione permettono a un sito web di seguirti come utente che attraversa un sito web da una pagina all&rsquo;altra. I siti web non hanno una memoria propria, ma usano i cookies (<a href="https://www.garanteprivacy.it/web/guest/home/docweb/-/docweb-display/docweb/9677876">Linee guida cookie e altri strumenti di tracciamento - 10 giugno 2021</a>) per questo. Un buon paragone è pensare a questi cookies come a delle chiavi. Quando il tuo computer ha già la chiave, il sito web può immediatamente farti entrare, invece di trattarti come un nuovo visitatore ad ogni visualizzazione della pagina. Questa tipologia di cookies non viene memorizzata in modo persistente sul dispositivo dell&apos;utente e vengono cancellati alla chiusura del browser.</span><br>
text-decoration: none; <span class="indented"><strong>Cookie persistenti:</strong> i cookies persistenti sono collocati sul computer per un periodo di tempo più lungo. Vengono rimossi solo dopo aver superato il tempo di scadenza del cookie o finché l&rsquo;utente stesso non lo rimuove. Ciò significa che, per l&apos;intera durata di vita del cookie, le sue informazioni verranno trasmesse al server ogni volta che l&apos;utente visita il sito web, o ogni volta che l&apos;utente visualizza una risorsa appartenente a tale sito da un altro sito (ad esempio un annuncio pubblicitario). Poiché questo tipo di cookies rimane sul pc per un periodo di tempo più lungo rispetto ai cookies di sessione, i cookies persistenti possono essere utilizzati per molteplici scopi come la memorizzazione dei dettagli di accesso e il ricordo delle vostre preferenze o impostazioni. I cookies persistenti sono per lo più utilizzati per monitorare i visitatori quando navigano in un sito web per &ldquo;vedere&rdquo; cosa piace al visitatore in modo che la sua esperienza utente possa essere migliorata.</span>
font-size: 10pt; </p>
} <p>I cookies possono essere classificati in base provenienza:<br>
<span class="indented"><strong>Cookies di prima parte:</strong> sono i cookies inviati al browser direttamente dal sito che si sta visitando e sono gestiti direttamente dal proprietario e/o responsabile del sito.</span><br>
.p, <span class="indented"><strong>Cookies di terza parte:</strong> i cookies di terze parti, appartengono a domini diversi da quello mostrato nella barra degli indirizzi. Questi tipi di cookies appaiono in genere quando le pagine web sono dotate di contenuti, come ad esempio banner pubblicitari, da siti web esterni. Questo implica la possibilità di monitoraggio della cronologia di navigazione dell&apos;utente, ed è spesso usato dagli inserzionisti, nel tentativo di servire annunci rilevanti e personalizzati per ciascun utente.</span>
p { </p>
color: black; <p>In ragione dell&rsquo;utilizzo/finalità dell&apos;utilizzo:<br>
font-family: Calibri, sans-serif; <span class="indented"><strong>Cookies tecnici:</strong> servono per la navigazione (in quanto funzionalmente necessari per lo scorrimento della pagina, la consultazione dei contenuti, l&rsquo;erogazione del servizio) e per facilitare l&apos;accesso e la fruizione del sito da parte dell&apos;utente.</span><br>
font-style: normal; <span class="indented"><strong>Cookies statistici:</strong> vengono utilizzati a fini di ottimizzazione del sito, direttamente dal titolare del sito stesso, che potrà raccogliere informazioni in forma aggregata sul numero degli utenti e su come questi visitano il sito.</span><br>
font-weight: normal; <span class="indented"><strong>Cookies per la memorizzazione delle preferenze (detti anche cookies funzionali):</strong> sono cookies utili a favorire l&apos;utilizzo efficace del sito da parte dell&apos;utente e favorire così l&apos;esperienza personalizzata di navigazione.</span><br>
text-decoration: none; <span class="indented"><strong>Cookies di marketing e profilazione (pubblicitari):</strong> questi cookies vengono utilizzati per ipotizzare un &ldquo;profilo&rdquo; di navigazione dell&apos;utente, in modo da poter proporre messaggi pubblicitari in linea al suo comportamento e interessi nella rete.</span><br>
font-size: 10pt; <span class="indented"><strong>Cookies di social network:</strong> questi cookies consentono alle reti sociali, quali ad es.: Facebook, di identificare i propri utenti e raccogliere informazioni anche mentre navigano su altri siti.</span>
margin: 0pt; </p>
}
<p><strong>3. Altri strumenti di tracciamento ed identificatori tecnici</strong></p>
.s1 { <p>Il Garante a questa pagina web <a href="https://www.garanteprivacy.it/web/guest/home/docweb/-/docweb-display/docweb/9677876">Linee guida cookie e altri strumenti di tracciamento - 10 giugno 2021</a> approfondisce il tema in esame tramite una scheda di sintesi sulle proprie linee guida cookies e altri strumenti di tracciamento, in questa sede preme al Titolare ricordare che gli strumenti di tracciamento possono avere caratteristiche diverse sotto il profilo temporale e dunque essere considerati in base alla loro durata (di sessione o permanenti), ovvero dal punto di vista soggettivo (a seconda che il publisher agisca autonomamente o per conto della &ldquo;terza parte&rdquo;).<br>
color: black; Gli identificatori possono essere catalogati secondo criteri diversi, dei quali il principale resta la finalità per la quale vengono utilizzati: di natura &ldquo;tecnica&rdquo; o di natura &ldquo;non tecnica&rdquo;, dovendosi intendere quest&rsquo;ultima categoria in senso ampio, dal momento che l&rsquo;attuale disciplina di legge, tesa alla tutela della confidenzialità delle comunicazioni elettroniche oltre che delle informazioni di carattere personale, è formulata secondo lo schema di una generale proibizione di trattamento dei dati degli interessati, salvo eccezioni rigorosamente e restrittivamente codificate, insuscettibili di estensione analogica.<br>
font-family: Calibri, sans-serif; Al successivo punto 4 il Titolare, in ottemperanza con il provvedimento richiamato, tramite tabella, evidenzia i sistemi di tracciamento e gli identificatori tecnici presenti, nel caso, sul sito sul quale state navigando.</p>
font-style: normal;
font-weight: normal; <p><strong>4. Cookie tecnici utilizzati</strong></p>
text-decoration: none; <p>Il Titolare, attraverso il servizio fornito da C.E. Soft srl, utilizza esclusivamente cookie tecnici necessari al corretto funzionamento della webapp.<br>
font-size: 7pt; Tali cookie non richiedono il consenso dell&rsquo;utente, in quanto sono impiegati unicamente per garantire funzionalità essenziali e la sicurezza della navigazione, senza finalità di profilazione o tracciamento.<br>
} Di seguito si riportano le informazioni principali sui cookie attivi:</p>
<table class="cookie-table">
.s2 { <tr>
color: black; <th>Nome del cookie</th>
font-family: Calibri, sans-serif; <th>Finalità</th>
font-style: normal; <th>Categoria</th>
font-weight: normal; <th>Durata</th>
text-decoration: underline; <th>Note di sicurezza</th>
font-size: 8pt; </tr>
} <tr>
<td>laravel_session</td>
.s4 { <td>Mantiene la sessione utente autenticato</td>
color: #00F; <td>Tecnico</td>
font-family: Calibri, sans-serif; <td>Sessione (chiusura browser)</td>
font-style: normal; <td>Salvato in modo sicuro, associato a dati lato server</td>
font-weight: normal; </tr>
text-decoration: none; <tr>
font-size: 8pt; <td>XSRF-TOKEN</td>
} <td>Protezione da attacchi CSRF</td>
<td>Tecnico</td>
.a, <td>Sessione</td>
a { <td>Token sicuro, non contiene dati sensibili, letto da JavaScript</td>
color: black; </tr>
font-family: Calibri, sans-serif; </table>
font-style: normal; <p>Poiché si tratta di cookie strettamente necessari, non è prevista la possibilità di disattivarli tramite l&rsquo;applicazione, in quanto la loro rimozione comprometterebbe il funzionamento stesso della webapp.</p>
font-weight: normal;
text-decoration: none; <p><strong>5. Quali sono i Suoi diritti e come può esercitarli?</strong></p>
font-size: 8pt; <p>I diritti riconosciuti agli interessati dal GDPR sono:<br>
} <span class="indented">art. 15 - diritto di accesso, ovvero l&rsquo;interessato/utente ha diritto ad ottenere informazioni sui quali suoi dati personali sono trattati dal Titolare, sulle finalità perseguite, sul tempo per cui detti dati verranno conservati e le modalità con cui gli stessi sono trattati.</span><br>
<span class="indented">art. 16 - diritto alla rettifica, ovvero l&rsquo;interessato/utente ha diritto a verificare la correttezza dei propri dati ed a richiedere eventuali modifiche/integrazioni.</span><br>
.s5 { <span class="indented">art. 17 diritto alla cancellazione, ovvero l&rsquo;interessato/utente può chiedere la cancellazione dei propri dati al ricorrere di determinate condizioni, quali, ad es, il dato personale non è più necessario per la finalità per il quale è stato raccolto.</span><br>
color: black; <span class="indented">È nostro diritto rifiutare di soddisfare la Sua eventuale richiesta di cancellazione (ex art 17 GDPR) per uno dei seguenti motivi:</span><br>
font-family: Calibri, sans-serif; <span class="indented">&nbsp;&nbsp;- per esercitare il diritto alla libertà di espressione e di informazione;</span><br>
font-style: normal; <span class="indented">&nbsp;&nbsp;- per adempiere a obblighi di legge o svolgere un compito di interesse pubblico o esercitare un&rsquo;autorità ufficiale;</span><br>
font-weight: normal; <span class="indented">&nbsp;&nbsp;- per motivi di salute pubblica nell&rsquo;interesse pubblico;</span><br>
text-decoration: underline; <span class="indented">&nbsp;&nbsp;- per fini di archiviazione, ricerca o statistiche;</span><br>
font-size: 7pt; <span class="indented">&nbsp;&nbsp;- per esercitare o difendere un diritto legale.</span><br>
} <span class="indented">art. 18 diritto alla limitazione di trattamento, ovvero l&rsquo;interessato/utente può chiedere una limitazione dei trattamenti esperibili con riferimento ai propri dati al ricorrere di determinate condizioni, quali, ad es. per l&rsquo;interessato il dato è stato acquisito rispetto a quella specifica finalità in modo illecito.</span><br>
<span class="indented">art. 20 diritto alla portabilità dei dati, ovvero l&rsquo;utente/interessato ha diritto di ricevere i propri dati in formato strutturato, di uso comune e leggibile da dispositivo automatico e, ove tecnicamente fattibile, di ottenerne il trasferimento senza ostacoli ad un altro titolare quando i dati sono trattati con strumenti automatizzati ed il trattamento è basato sul consenso dell&rsquo;Utente, su un contratto di cui l&rsquo;Utente è parte o su misure contrattuali ad esso connesse.</span><br>
.s7 { <span class="indented">art. 21 diritto di opposizione, ovvero l&rsquo;utente/interessato ha diritto di opporsi al trattamento dei propri dati quando esso avviene su una base giuridica diversa dal consenso per motivi connessi alla sua situazione particolare; quando, invece, la base giuridica è il consenso l&rsquo;interessato/utente può opporsi in qualsiasi momento, ma il trattamento fino a quel momento svolto resta lecito.</span><br>
color: black; <span class="indented">art. 22 Processo decisionale automatizzato relativo alle persone fisiche, compresa la profilazione: salvo specifiche deroghe previste espressamente dall&rsquo;articolo di legge, l&apos;interessato/utente ha il diritto a non essere sottoposto a una decisione basata unicamente sul trattamento automatizzato, compresa la profilazione, che produca effetti giuridici che lo riguardano o che incida in modo analogo significativamente sulla sua persona.</span>
font-family: Calibri, sans-serif; </p>
font-style: normal; <p>Per esercitare i diritti sopra elencati o per avere maggiori informazioni le sarà sufficiente inviare una e-mail al seguente indirizzo: <a href="mailto:privacy@assocalzaturifici.it">privacy@assocalzaturifici.it</a>, indicando nell&rsquo;oggetto &ldquo;cookies policy: esercizio dei diritti ex GDPR&rdquo; ed inserendo nel corpo della mail il diritto che si vuole esercitare e nel caso l&rsquo;indirizzo e-mail sul quale si desidera ricevere riscontro.<br>
font-weight: normal; Il Titolare darà riscontro all&rsquo;esercizio dei diritti entro le tempistiche indicate in art 12 comma 3 GDPR. Le ricordiamo che è sua facoltà proporre reclamo a un&apos;autorità di controllo (Autorità Garante per la protezione dei dati personali: <a href="https://www.garanteprivacy.it">www.garanteprivacy.it</a>).</p>
text-decoration: none;
font-size: 8pt; <p><strong>6. Data breach</strong></p>
} <p>Nel caso in cui il Titolare del Trattamento dati subisca una violazione per come configurata in art. 34 comportante un rischio per i diritti e le libertà delle persone fisiche (data breach) si attiverà se del caso per effettuare la notifica all&rsquo;Autorità Garante e la comunicazione dell&rsquo;accaduto a tutti gli interessati.</p>
li { <p><strong>7. Finalità diverse</strong></p>
display: block; <p>Il Titolare avvisa che qualora intendesse trattare ulteriormente i dati personali per una finalità diversa da quella per cui essi sono stati raccolti, prima di tale ulteriore trattamento fornirà all&apos;interessato informazioni in merito a tale diversa finalità ed ogni ulteriore informazione pertinente, raccogliendo, nel caso, specifico consenso.</p>
}
</div><!--end auth-logo-text-->
#l1 {
padding-left: 0pt; <h4 class="mt-0 mb-3 mt-5"></h4>
counter-reset: c1 1;
}
#l1>li>*:first-child:before {
counter-increment: c1;
content: "(" counter(c1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l1>li:first-child>*:first-child:before {
counter-increment: c1 0;
}
li {
display: block;
}
#l2 {
padding-left: 0pt;
counter-reset: d1 2;
}
#l2>li>*:first-child:before {
counter-increment: d1;
content: counter(d1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
}
#l3 {
padding-left: 0pt;
counter-reset: d2 1;
}
#l3>li>*:first-child:before {
counter-increment: d2;
content: counter(d1, decimal)"." counter(d2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l3>li:first-child>*:first-child:before {
counter-increment: d2 0;
}
#l4 {
padding-left: 0pt;
}
#l4>li>*:first-child:before {
content: "- ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l5 {
padding-left: 0pt;
counter-reset: e1 3;
}
#l5>li>*:first-child:before {
counter-increment: e1;
content: counter(e1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l5>li:first-child>*:first-child:before {
counter-increment: e1 0;
}
#l6 {
padding-left: 0pt;
counter-reset: e2 1;
}
#l6>li>*:first-child:before {
counter-increment: e2;
content: counter(e1, decimal)"." counter(e2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l6>li:first-child>*:first-child:before {
counter-increment: e2 0;
}
li {
display: block;
}
#l7 {
padding-left: 0pt;
counter-reset: f1 4;
}
#l7>li>*:first-child:before {
counter-increment: f1;
content: counter(f1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l7>li:first-child>*:first-child:before {
counter-increment: f1 0;
}
#l8 {
padding-left: 0pt;
counter-reset: f2 1;
}
#l8>li>*:first-child:before {
counter-increment: f2;
content: counter(f1, decimal)"." counter(f2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l8>li:first-child>*:first-child:before {
counter-increment: f2 0;
}
li {
display: block;
}
#l9 {
padding-left: 0pt;
counter-reset: g1 5;
}
#l9>li>*:first-child:before {
counter-increment: g1;
content: counter(g1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l9>li:first-child>*:first-child:before {
counter-increment: g1 0;
}
#l10 {
padding-left: 0pt;
counter-reset: g2 1;
}
#l10>li>*:first-child:before {
counter-increment: g2;
content: counter(g1, decimal)"." counter(g2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l10>li:first-child>*:first-child:before {
counter-increment: g2 0;
}
li {
display: block;
}
#l11 {
padding-left: 0pt;
counter-reset: h1 6;
}
#l11>li>*:first-child:before {
counter-increment: h1;
content: counter(h1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l11>li:first-child>*:first-child:before {
counter-increment: h1 0;
}
#l12 {
padding-left: 0pt;
counter-reset: h2 1;
}
#l12>li>*:first-child:before {
counter-increment: h2;
content: counter(h1, decimal)"." counter(h2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l12>li:first-child>*:first-child:before {
counter-increment: h2 0;
}
#l13 {
padding-left: 0pt;
}
#l13>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
#l14 {
padding-left: 0pt;
}
#l14>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
li {
display: block;
}
#l15 {
padding-left: 0pt;
counter-reset: i1 7;
}
#l15>li>*:first-child:before {
counter-increment: i1;
content: counter(i1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l15>li:first-child>*:first-child:before {
counter-increment: i1 0;
}
#l16 {
padding-left: 0pt;
counter-reset: i2 1;
}
#l16>li>*:first-child:before {
counter-increment: i2;
content: counter(i1, decimal)"." counter(i2, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l16>li:first-child>*:first-child:before {
counter-increment: i2 0;
}
#l17 {
padding-left: 0pt;
counter-reset: j1 1;
}
#l17>li>*:first-child:before {
counter-increment: j1;
content: "(" counter(j1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l17>li:first-child>*:first-child:before {
counter-increment: j1 0;
}
#l18 {
padding-left: 0pt;
counter-reset: k1 1;
}
#l18>li>*:first-child:before {
counter-increment: k1;
content: "(" counter(k1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l18>li:first-child>*:first-child:before {
counter-increment: k1 0;
}
li {
display: block;
}
#l19 {
padding-left: 0pt;
counter-reset: l1 8;
}
#l19>li>*:first-child:before {
counter-increment: l1;
content: counter(l1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
}
#l20 {
padding-left: 0pt;
counter-reset: l2 1;
}
#l20>li>*:first-child:before {
counter-increment: l2;
content: counter(l1, decimal)"." counter(l2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l20>li:first-child>*:first-child:before {
counter-increment: l2 0;
}
#l21 {
padding-left: 0pt;
counter-reset: m1 1;
}
#l21>li>*:first-child:before {
counter-increment: m1;
content: "(" counter(m1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l21>li:first-child>*:first-child:before {
counter-increment: m1 0;
}
</style>
</head>
<body>
TEXT HERE
</body>
</html>
</div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5">
</h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br><br><br><br>
</div><!--end card-body--> </div><!--end card-body-->
</div><!--end card--> </div><!--end card-->
</div><!--end auth-card--> </div><!--end auth-card-->
</div><!--end col--> </div><!--end col-->
</div><!--end row--> </div><!--end row-->
</div><!--end container--> </div><!--end container-->
<!-- End Log In page --> <!-- End Cookie Policy page -->
<!-- jQuery -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script> <script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script> <script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script> <script src="assets/js/bootstrap.bundle.min.js"></script>
+6 -1
View File
@@ -417,7 +417,12 @@ $conn->close();
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h3 class="mt-0 header-title">FIRMA IL TECHNICAL FILE</h3> <h3 class="mt-0 header-title">
<?= $_SESSION['langselect'] === 'en'
? 'SIGN THE TECHNICAL FILE'
: 'FIRMA IL TECHNICAL FILE' ?>
</h3>
<h4 class="mt-0 header-title"><?php echo $declarationtitle; ?></h4> <h4 class="mt-0 header-title"><?php echo $declarationtitle; ?></h4>
<p class="text-muted mb-3"><?php echo $declarationtitle_help; ?></p> <p class="text-muted mb-3"><?php echo $declarationtitle_help; ?></p>
+90
View File
@@ -0,0 +1,90 @@
<?php
require_once('../Connections/cmctrfdb.php'); // definisce $servername, $username, $password, $dbname
header('X-Content-Type-Options: nosniff');
function json_out($arr)
{
header('Content-Type: application/json; charset=utf-8');
echo json_encode($arr);
exit;
}
$method = $_SERVER['REQUEST_METHOD'];
// accetto sia POST (AJAX) che GET (link classico)
$idtrf = null;
$field = 'photofilename'; // campo di default per la “foto principale”
if ($method === 'POST') {
$idtrf = isset($_POST['idtrf']) ? (int)$_POST['idtrf'] : 0;
if (!empty($_POST['field'])) {
$field = preg_replace('/[^a-zA-Z0-9_]/', '', $_POST['field']); // sanitize
}
} else { // GET
$idtrf = isset($_GET['idtrf']) ? (int)$_GET['idtrf'] : 0;
if (!empty($_GET['field'])) {
$field = preg_replace('/[^a-zA-Z0-9_]/', '', $_GET['field']);
}
}
if ($idtrf <= 0) {
if ($method === 'POST') json_out(['ok' => false, 'msg' => 'bad id']);
header("Location: index.php");
exit;
}
// connessione
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
if ($method === 'POST') json_out(['ok' => false, 'msg' => 'db connect error']);
die("Connessione al database fallita");
}
// (opzionale) prendo il filename corrente per fare unlink
// NB: solo se il campo è uno dei previsti
$allowedFields = ['photofilename', 'photoone', 'phototwo'];
if (!in_array($field, $allowedFields, true)) {
$conn->close();
if ($method === 'POST') json_out(['ok' => false, 'msg' => 'invalid field']);
header("Location: adddocument.php?idtrf=$idtrf");
exit;
}
$col = $field; // alias per chiarezza
// recupero valore attuale
$currentFile = null;
$sqlSel = "SELECT `$col` AS f FROM `trf-details` WHERE idtrfdetails = ?";
$stmtSel = $conn->prepare($sqlSel);
$stmtSel->bind_param("i", $idtrf);
$stmtSel->execute();
$stmtSel->bind_result($currentFile);
$stmtSel->fetch();
$stmtSel->close();
// metto a NULL il campo
$sqlUpd = "UPDATE `trf-details` SET `$col` = NULL WHERE idtrfdetails = ?";
$stmtUpd = $conn->prepare($sqlUpd);
$stmtUpd->bind_param("i", $idtrf);
$stmtUpd->execute();
$affected = $stmtUpd->affected_rows;
$stmtUpd->close();
// (opzionale) elimino file fisico se presente
if (!empty($currentFile)) {
// photofilename e foto addizionali stanno in uploadimages/, le top photo spesso pure
$path = __DIR__ . "/uploadimages/" . $currentFile;
if (is_file($path)) {
@unlink($path);
}
}
$conn->close();
if ($method === 'POST') {
json_out(['ok' => ($affected >= 0), 'idtrf' => $idtrf, 'field' => $field]);
}
// GET → redirect alla pagina
header("Location: adddocument.php?idtrf=$idtrf&t=" . time());
exit;
+34
View File
@@ -0,0 +1,34 @@
<?php
require_once('../Connections/cmctrfdb.php'); // Database connection
if (isset($_GET['idtrf']) && is_numeric($_GET['idtrf'])) {
$idtrf = intval($_GET['idtrf']);
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connessione al database fallita: " . $conn->connect_error);
}
// Esegui l'aggiornamento per impostare photoone a NULL
$query = "UPDATE `trf-details` SET photoone = NULL WHERE idtrfdetails = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("i", $idtrf);
$stmt->execute();
if ($stmt->affected_rows > 0) {
error_log("Successfully updated photoone to NULL for idtrfdetails = $idtrf");
} else {
error_log("Failed to update photoone for idtrfdetails = $idtrf");
}
$stmt->close();
$conn->close();
// Reindirizza alla pagina principale
header("Location: adddocument.php?idtrf=$idtrf&t=" . time());
exit;
} else {
// Se idtrf non è valido, reindirizza
header("Location: index.php");
exit;
}
+34
View File
@@ -0,0 +1,34 @@
<?php
require_once('../Connections/cmctrfdb.php'); // Database connection
if (isset($_GET['idtrf']) && is_numeric($_GET['idtrf'])) {
$idtrf = intval($_GET['idtrf']);
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connessione al database fallita: " . $conn->connect_error);
}
// Esegui l'aggiornamento per impostare phototwo a NULL
$query = "UPDATE `trf-details` SET phototwo = NULL WHERE idtrfdetails = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("i", $idtrf);
$stmt->execute();
if ($stmt->affected_rows > 0) {
error_log("Successfully updated phototwo to NULL for idtrfdetails = $idtrf");
} else {
error_log("Failed to update phototwo for idtrfdetails = $idtrf");
}
$stmt->close();
$conn->close();
// Reindirizza alla pagina principale
header("Location: adddocument.php?idtrf=$idtrf&t=" . time());
exit;
} else {
// Se idtrf non è valido, reindirizza
header("Location: index.php");
exit;
}
+80 -37
View File
@@ -148,7 +148,7 @@ $connpart = mysqli_connect($hostname_cmctrfdb, $username_cmctrfdb, $password_cmc
$searchhighlightpart = "SELECT DISTINCT partsidnumber FROM identificationparts WHERE identificationparts.idtrfdetails='$idtrf'"; $searchhighlightpart = "SELECT DISTINCT partsidnumber FROM identificationparts WHERE identificationparts.idtrfdetails='$idtrf'";
$resultpart = mysqli_query($connpart, $searchhighlightpart); $resultpart = mysqli_query($connpart, $searchhighlightpart);
// Crea un array vuoto per contenere i dati // Crea un array vuoto per contenere i dati
//$partids = array(); $partids = array();
?> ?>
<?php <?php
// Scansiona i risultati della query e aggiungi i valori della colonna "partid" all'array // Scansiona i risultati della query e aggiungi i valori della colonna "partid" all'array
@@ -343,9 +343,9 @@ $partids[] = '0';
</div> </div>
<div class="form-row"> <div class="form-row">
<div class="col-md-3 mb-2"> <div class="col-md-3 mb-2">
<label for="validationServer01"><?php echo $descriptionpart; ?> </label> <label for="validationServer01"><?php echo $descriptionpart; ?> (max 90 caratteri/chars)</label>
<input type="text" required data-readonly class="form-control is-valid" id="descriptionpartvalue" name="descriptionpartvalue" placeholder="<?php echo $descriptionpart; ?>"> <input type="text" required data-readonly class="form-control is-valid" id="descriptionpartvalue" name="descriptionpartvalue" placeholder="<?php echo $descriptionpart; ?>" maxlength="90">
<b></b><i><?php //echo $addpartphoto; <b></b><i><?php //echo $addpartphoto;
?></i> ?></i>
@@ -358,7 +358,7 @@ $partids[] = '0';
<div class="col-md-3 mb-2"> <div class="col-md-3 mb-2">
<label for="validationServer02"><?php echo $articlepart; ?></label> <label for="validationServer02"><?php echo $articlepart; ?></label>
<i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center5"></i> <i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center5"></i>
<input type="text" class="form-control is-valid" id="articlepartvalue" name="articlepartvalue" required placeholder="<?php echo $articlepart; ?>" required=""> <input type="text" class="form-control is-valid" id="articlepartvalue" name="articlepartvalue" required placeholder="<?php echo $articlepart; ?>" required="" maxlength="90">
<b> </b><i><?php echo $searchsentence; ?></i> <b> </b><i><?php echo $searchsentence; ?></i>
</div> </div>
@@ -368,18 +368,18 @@ $partids[] = '0';
<input type="hidden" id="companyidn" name="companyidn" value="<?php echo $idcompany; ?>"> <input type="hidden" id="companyidn" name="companyidn" value="<?php echo $idcompany; ?>">
<div class="col-md-3 mb-2"> <div class="col-md-3 mb-2">
<label for="validationServer01"><?php echo $descriptionitem; ?> </label> <label for="validationServer01"><?php echo $descriptionitem; ?> (max 90 caratteri/chars)</label>
<i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center6"></i> <i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center6"></i>
<input type="text" class="form-control is-valid" id="materialpartvalue" name="materialpartvalue" required placeholder="<?php echo $descriptionitem; ?>" required=""> <input type="text" class="form-control is-valid" id="materialpartvalue" name="materialpartvalue" required placeholder="<?php echo $descriptionitem; ?>" required="" maxlength="90">
</div> </div>
<div class="col-md-3 mb-2"> <div class="col-md-3 mb-2">
<label for="validationServerUsername"><?php echo $colorpart; ?></label> <label for="validationServerUsername"><?php echo $colorpart; ?> (max 90 caratteri/chars)</label>
<i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center7"></i> <i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center7"></i>
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend"> <div class="input-group-prepend">
</div> </div>
<input id="colorvalue" name="colorvalue" required class="form-control" type="text" placeholder="<?php echo $colorpart; ?>" aria-describedby="inputGroupPrepend3" required=""> <input id="colorvalue" name="colorvalue" required class="form-control" type="text" placeholder="<?php echo $colorpart; ?>" aria-describedby="inputGroupPrepend3" required="" maxlength="90">
</div> </div>
</div> </div>
@@ -719,52 +719,95 @@ $partids[] = '0';
// t-shirt hivis // t-shirt hivis
$mandatoryParts = array('FM', 'RM'); $mandatoryParts = array('FM', 'RM');
$totalparthighlight = array(1, 2, 3, 4, 5, 6, 7, 'FM', 'RM'); $totalparthighlight = array(1, 2, 3, 4, 5, 6, 7, 'FM', 'RM');
} elseif ($idarticletype == '4' && $modelidart == '18' && $hivis == 'N') { } elseif ($idarticletype == '4' && in_array((string)$modelidart, ['19', '22'], true) && $hivis == 'N') {
// tuta // tuta
$mandatoryParts = array(1, 8); $mandatoryParts = array(1, 8);
$totalparthighlight = array(1, 2, 3, 4, 5, 6, 7, 8, 9); $totalparthighlight = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
} elseif ($idarticletype == '4' && $modelidart == '18' && $hivis == 'Y') { } elseif ($idarticletype == '4' && in_array((string)$modelidart, ['19', '22'], true) && $hivis == 'Y') {
// tuta hivis // tuta hivis
$mandatoryParts = array('FM', 'RM'); $mandatoryParts = array('FM', 'RM');
$totalparthighlight = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 'FM', 'RM'); $totalparthighlight = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 'FM', 'RM');
} elseif ($idarticletype == '4' && $modelidart == '20') {
// calzino
$mandatoryParts = array('1');
$totalparthighlight = array(1, 2, 3);
} elseif ($idarticletype == '4' && $modelidart == '21') {
// calzino
$mandatoryParts = array('1');
$totalparthighlight = array(1, 2, 3);
} }
$diffparts = array_diff($totalparthighlight, $partids);
$missingMandatoryParts = array_intersect($mandatoryParts, $diffparts);
echo '<button onclick="checkParts()" class="btn btn-success waves-effect waves-light">' . $nextsteptitle . '</button>'; $diffparts = array_values(array_diff($totalparthighlight, $partids));
$missingMandatoryParts = array_values(array_intersect($mandatoryParts, $diffparts));
$ENFORCE_PARTS_BLOCK = false; // <-- metti true per tornare al blocco "duro"
$nextUrl = "adddocument.php?idtrf=" . urlencode($idtrf) . "&codestep=7";
echo '<button type="button" onclick="checkParts(event)" class="btn btn-success waves-effect waves-light">'
. $nextsteptitle .
'</button>';
echo '<script> echo '<script>
function checkParts() { function checkParts(e) {
var missingMandatoryParts = ' . json_encode(array_values($missingMandatoryParts)) . '; if (e) e.preventDefault();
var missingParts = ' . json_encode(array_values($diffparts)) . ';
var missingMandatoryParts = ' . json_encode($missingMandatoryParts) . ';
if (missingMandatoryParts.length > 0) { var missingParts = ' . json_encode($diffparts) . ';
var enforceBlock = ' . ($ENFORCE_PARTS_BLOCK ? 'true' : 'false') . ';
var nextUrl = ' . json_encode($nextUrl) . ';
// 1) Mandatory missing
if (missingMandatoryParts.length > 0) {
if (enforceBlock) {
Swal.fire({ Swal.fire({
icon: "error", icon: "error",
title: "Attenzione! Parti Obbligatorie Mancanti / Attention: Missing Mandatory Parts", title: "Attenzione! Parti Obbligatorie Mancanti",
text: "Aggiungere le parti obbligatorie / Add mandatory parts. Mancante/Missing " + missingMandatoryParts.join(", "), text: "Mancano: " + missingMandatoryParts.join(", "),
confirmButtonText: "OK" confirmButtonText: "OK"
}); });
} else if (missingParts.length > 0) { return;
Swal.fire({
icon: "warning",
title: "' . $titlealertstd . '",
text: "' . $partsnotfound . ' " + missingParts.join(", "),
confirmButtonText: "' . $confirmButtonTextalertstd . '",
showCancelButton: true,
cancelButtonText: "' . $cancelButtonTextalertstd . '"
}).then((result) => {
if (result.isConfirmed) {
window.location.href = "adddocument.php?idtrf=' . $idtrf . '&codestep=7";
} else if (result.dismiss === Swal.close) {
alert("' . $cancelButtonTextalertstd . '");
}
});
} else {
window.location.href = "adddocument.php?idtrf=' . $idtrf . '&codestep=7";
} }
// Soft mode: avviso ma NON blocca
Swal.fire({
icon: "warning",
title: "Parti obbligatorie mancanti",
html: "Mancano le seguenti parti obbligatorie:<br><b>" + missingMandatoryParts.join(", ") + "</b><br><br>Vuoi procedere comunque?",
showCancelButton: true,
confirmButtonText: "Procedi comunque",
cancelButtonText: "Torna indietro"
}).then((result) => {
if (result.isConfirmed) {
window.location.href = nextUrl;
}
});
return;
} }
// 2) Non-mandatory missing
if (missingParts.length > 0) {
Swal.fire({
icon: "warning",
title: ' . json_encode($titlealertstd) . ',
text: ' . json_encode($partsnotfound) . ' + " " + missingParts.join(", "),
confirmButtonText: ' . json_encode($confirmButtonTextalertstd) . ',
showCancelButton: true,
cancelButtonText: ' . json_encode($cancelButtonTextalertstd) . '
}).then((result) => {
if (result.isConfirmed) {
window.location.href = nextUrl;
}
});
return;
}
// 3) Everything OK
window.location.href = nextUrl;
}
</script>'; </script>';
?> ?>
+3 -7
View File
@@ -5,16 +5,12 @@
© 2023 CE Soft © 2023 CE Soft
</div> </div>
<div class="col-sm-12 col-md-6 text-center text-md-right"> <div class="col-sm-12 col-md-6 text-center text-md-right">
<span class="text-muted">CE SOFT SRL</span> |
<a href="terminiecondizioni.php" target="_blank">Termini IT</a> | <a href="regolamentoprivacy.php" target="_blank">Regolamento Privacy</a> / <a href="privacydoc.php" target="_blank">Privacy Policy</a> - <a href="cookie-policy-it.php" target="_blank">Cookie Policy Ita</a> / <a href="cookie-policy-en.php" target="_blank">Cookie Policy ENG</a>
<a href="termsandconditions.php" target="_blank">Terms EN</a> |
<a href="regolamentoprivacy.php" target="_blank">Privacy IT</a> |
<a href="privacydoc.php" target="_blank">Privacy EN</a> |
<a href="cookie-policy-it.php" target="_blank">Cookie IT</a> |
<a href="cookie-policy-en.php" target="_blank">Cookie EN</a>
</div> </div>
</div> </div>
</div> </div>
</div>
</footer> </footer>
<script> <script>
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
+108 -2
View File
@@ -1260,7 +1260,7 @@ if ($idarticletype == "4" && $modelidart == 18 && $hivis == 'Y') { ?>
<?php <?php
// TUTA // TUTA
if ($idarticletype == "4" && $modelidart == 19 && $hivis == 'N') { ?> if ($idarticletype == "4" && in_array((string)$modelidart, ['19', '22'], true) && $hivis == 'N') { ?>
<?php include('languages/' . $_SESSION['langselect'] . '/ind17.php'); ?> <?php include('languages/' . $_SESSION['langselect'] . '/ind17.php'); ?>
<!-- Image Map Generated by http://www.image-map.net/ --> <!-- Image Map Generated by http://www.image-map.net/ -->
<div style="position:relative;width:635px;height:516px;"> <div style="position:relative;width:635px;height:516px;">
@@ -1439,7 +1439,7 @@ if ($idarticletype == "4" && $modelidart == 19 && $hivis == 'N') { ?>
<?php } ?> <?php } ?>
<?php <?php
// TUTA HIVIS // TUTA HIVIS
if ($idarticletype == "4" && $modelidart == 19 && $hivis == 'Y') { ?> if ($idarticletype == "4" && in_array((string)$modelidart, ['19', '22'], true) && $hivis == 'Y') { ?>
<?php include('languages/' . $_SESSION['langselect'] . '/ind16.php'); ?> <?php include('languages/' . $_SESSION['langselect'] . '/ind16.php'); ?>
<!-- Image Map Generated by http://www.image-map.net/ --> <!-- Image Map Generated by http://www.image-map.net/ -->
<div style="position:relative;width:776.75px;height:672.75px;"> <div style="position:relative;width:776.75px;height:672.75px;">
@@ -1575,4 +1575,110 @@ if ($idarticletype == "4" && $modelidart == 19 && $hivis == 'Y') { ?>
<area shape="rect" coords="497.9,610.35,563.25,656.25" target="_self" alt="<?php echo $ind_nine; ?>" title="<?php echo $ind_nine; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_nine; ?>';document.getElementById('partid').value='9';" href="javascript:void(0)"> <area shape="rect" coords="497.9,610.35,563.25,656.25" target="_self" alt="<?php echo $ind_nine; ?>" title="<?php echo $ind_nine; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_nine; ?>';document.getElementById('partid').value='9';" href="javascript:void(0)">
<area shape="rect" coords="686.4,579.15,728.65,614.25" target="_self" alt="<?php echo $ind_rm; ?>" title="<?php echo $ind_rm; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_rm; ?>';document.getElementById('partid').value='RM';" href="javascript:void(0)"> <area shape="rect" coords="686.4,579.15,728.65,614.25" target="_self" alt="<?php echo $ind_rm; ?>" title="<?php echo $ind_rm; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_rm; ?>';document.getElementById('partid').value='RM';" href="javascript:void(0)">
</map> </map>
<?php } ?>
<?php
// CALZINO
if ($idarticletype == "4" && $modelidart == 20) { ?>
<?php include('languages/' . $_SESSION['langselect'] . '/ind19.php'); ?>
<!-- Image Map Converted from GIMP Image Map -->
<div style="position:relative;width:669px;height:561px;">
<img src="../images/ind19.png" width="669" height="561" usemap="#map">
<?php if (in_array(1, $partids)) { ?>
<div id="part_1" style="position:absolute;left:88px;top:160px;width:77px;height:69px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>'; document.getElementById('partid').value='1';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(3, $partids)) { ?>
<div id="part_3" style="position:absolute;left:500px;top:27px;width:86px;height:78px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_three; ?>'; document.getElementById('partid').value='3';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(2, $partids)) { ?>
<div id="part_2a" style="position:absolute;left:500px;top:280px;width:83px;height:80px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>'; document.getElementById('partid').value='2';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(2, $partids)) { ?>
<div id="part_2b" style="position:absolute;left:27px;top:430px;width:90px;height:74px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>'; document.getElementById('partid').value='2';"
href="javascript:void(0)">
</div>
<?php } ?>
</div>
<map name="map">
<area shape="rect" coords="92,175,169,244" target="_self" alt="<?php echo $ind_one; ?>" title="<?php echo $ind_one; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>';document.getElementById('partid').value='1';" href="javascript:void(0)">
<area shape="rect" coords="545,27,631,105" target="_self" alt="<?php echo $ind_three; ?>" title="<?php echo $ind_three; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_three; ?>';document.getElementById('partid').value='3';" href="javascript:void(0)">
<area shape="rect" coords="560,322,643,402" target="_self" alt="<?php echo $ind_two; ?>" title="<?php echo $ind_two; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>';document.getElementById('partid').value='2';" href="javascript:void(0)">
<area shape="rect" coords="27,479,117,553" target="_self" alt="<?php echo $ind_two; ?>" title="<?php echo $ind_two; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>';document.getElementById('partid').value='2';" href="javascript:void(0)">
</map>
<?php } ?>
<?php
// BOXER
if ($idarticletype == "4" && $modelidart == 21) { ?>
<?php include('languages/' . $_SESSION['langselect'] . '/ind21.php'); ?>
<!-- Image Map Converted from GIMP Image Map -->
<div style="position:relative;width:677px;height:293px;">
<img src="../images/ind21.png" width="677" height="293" usemap="#map">
<?php if (in_array(1, $partids)) { ?>
<div id="part_1a" style="position:absolute;left:7px;top:180px;width:42px;height:33px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>'; document.getElementById('partid').value='1';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(1, $partids)) { ?>
<div id="part_1b" style="position:absolute;left:210px;top:195px;width:42px;height:35px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>'; document.getElementById('partid').value='1';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(1, $partids)) { ?>
<div id="part_1c" style="position:absolute;left:245px;top:78px;width:44px;height:38px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>'; document.getElementById('partid').value='1';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(1, $partids)) { ?>
<div id="part_1d" style="position:absolute;left:550px;top:65px;width:58px;height:44px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>'; document.getElementById('partid').value='1';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(2, $partids)) { ?>
<div id="part_2a" style="position:absolute;left:78px;top:220px;width:66px;height:43px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>'; document.getElementById('partid').value='2';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(2, $partids)) { ?>
<div id="part_2b" style="position:absolute;left:400px;top:220px;width:49px;height:43px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>'; document.getElementById('partid').value='2';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(3, $partids)) { ?>
<div id="part_3a" style="position:absolute;left:205px;top:28px;width:43px;height:37px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_three; ?>'; document.getElementById('partid').value='3';"
href="javascript:void(0)">
</div>
<?php } ?>
<?php if (in_array(3, $partids)) { ?>
<div id="part_3b" style="position:absolute;left:260px;top:28px;width:40px;height:43px;background-color:yellow;opacity:0.4;cursor:pointer;"
onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_three; ?>'; document.getElementById('partid').value='3';"
href="javascript:void(0)">
</div>
<?php } ?>
</div>
<map name="map">
<area shape="rect" coords="7,197,49,230" target="_self" alt="<?php echo $ind_one; ?>" title="<?php echo $ind_one; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>';document.getElementById('partid').value='1';" href="javascript:void(0)">
<area shape="rect" coords="237,211,279,246" target="_self" alt="<?php echo $ind_one; ?>" title="<?php echo $ind_one; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>';document.getElementById('partid').value='1';" href="javascript:void(0)">
<area shape="rect" coords="273,84,317,122" target="_self" alt="<?php echo $ind_one; ?>" title="<?php echo $ind_one; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>';document.getElementById('partid').value='1';" href="javascript:void(0)">
<area shape="rect" coords="601,70,659,114" target="_self" alt="<?php echo $ind_one; ?>" title="<?php echo $ind_one; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_one; ?>';document.getElementById('partid').value='1';" href="javascript:void(0)">
<area shape="rect" coords="81,240,147,283" target="_self" alt="<?php echo $ind_two; ?>" title="<?php echo $ind_two; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>';document.getElementById('partid').value='2';" href="javascript:void(0)">
<area shape="rect" coords="442,243,491,286" target="_self" alt="<?php echo $ind_two; ?>" title="<?php echo $ind_two; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_two; ?>';document.getElementById('partid').value='2';" href="javascript:void(0)">
<area shape="rect" coords="228,28,271,65" target="_self" alt="<?php echo $ind_three; ?>" title="<?php echo $ind_three; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_three; ?>';document.getElementById('partid').value='3';" href="javascript:void(0)">
<area shape="rect" coords="282,26,322,69" target="_self" alt="<?php echo $ind_three; ?>" title="<?php echo $ind_three; ?>" onclick="document.getElementById('descriptionpartvalue').value='<?php echo $ind_three; ?>';document.getElementById('partid').value='3';" href="javascript:void(0)">
</map>
<?php } ?> <?php } ?>
+706
View File
@@ -0,0 +1,706 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CIMAC Application Form</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" />
<meta content="" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<!-- App css -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/jquery-ui.min.css" rel="stylesheet">
<link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text ul,
.auth-logo-text li {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
}
.auth-logo-text ul {
padding-left: 20px;
}
.auth-logo-text p[style="font-size: 18px;"] {
margin-bottom: 20px;
}
.auth-logo-text p+p,
.auth-logo-text p+ul,
.auth-logo-text ul+p {
margin-top: 20px;
}
</style>
</head>
<body class="account-body accountbg">
<!-- Log In page -->
<div class="container">
<div class="row vh-100 ">
<div class="col-12 align-self-center">
<div>
<div class="card auth-card shadow-lg">
<div class="card-body">
<div class="px-5">
<div>
<a href="https://www.cimac.it/modulo_certificazione/public/login" class="logo logo-admin"><img src="assets/img/cimac-logo.png" height="55" alt="logo" class="auth-logo"></a>
</div><!--end auth-logo-box-->
<div class="text-center auth-logo-text">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TERMINI_E_CONDIZIONI_PPEASY</title>
<meta name="author" content="Paola Crespi" />
<style type="text/css">
* {
margin: 0;
padding: 0;
text-indent: 0;
}
h1 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 10pt;
}
.p,
p {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
margin: 0pt;
}
.s1 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 7pt;
}
.s2 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 8pt;
}
.s4 {
color: #00F;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.a,
a {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.s5 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 7pt;
}
.s7 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l1 {
padding-left: 0pt;
counter-reset: c1 1;
}
#l1>li>*:first-child:before {
counter-increment: c1;
content: "(" counter(c1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l1>li:first-child>*:first-child:before {
counter-increment: c1 0;
}
li {
display: block;
}
#l2 {
padding-left: 0pt;
counter-reset: d1 2;
}
#l2>li>*:first-child:before {
counter-increment: d1;
content: counter(d1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
}
#l3 {
padding-left: 0pt;
counter-reset: d2 1;
}
#l3>li>*:first-child:before {
counter-increment: d2;
content: counter(d1, decimal)"." counter(d2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l3>li:first-child>*:first-child:before {
counter-increment: d2 0;
}
#l4 {
padding-left: 0pt;
}
#l4>li>*:first-child:before {
content: "- ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l5 {
padding-left: 0pt;
counter-reset: e1 3;
}
#l5>li>*:first-child:before {
counter-increment: e1;
content: counter(e1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l5>li:first-child>*:first-child:before {
counter-increment: e1 0;
}
#l6 {
padding-left: 0pt;
counter-reset: e2 1;
}
#l6>li>*:first-child:before {
counter-increment: e2;
content: counter(e1, decimal)"." counter(e2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l6>li:first-child>*:first-child:before {
counter-increment: e2 0;
}
li {
display: block;
}
#l7 {
padding-left: 0pt;
counter-reset: f1 4;
}
#l7>li>*:first-child:before {
counter-increment: f1;
content: counter(f1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l7>li:first-child>*:first-child:before {
counter-increment: f1 0;
}
#l8 {
padding-left: 0pt;
counter-reset: f2 1;
}
#l8>li>*:first-child:before {
counter-increment: f2;
content: counter(f1, decimal)"." counter(f2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l8>li:first-child>*:first-child:before {
counter-increment: f2 0;
}
li {
display: block;
}
#l9 {
padding-left: 0pt;
counter-reset: g1 5;
}
#l9>li>*:first-child:before {
counter-increment: g1;
content: counter(g1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l9>li:first-child>*:first-child:before {
counter-increment: g1 0;
}
#l10 {
padding-left: 0pt;
counter-reset: g2 1;
}
#l10>li>*:first-child:before {
counter-increment: g2;
content: counter(g1, decimal)"." counter(g2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l10>li:first-child>*:first-child:before {
counter-increment: g2 0;
}
li {
display: block;
}
#l11 {
padding-left: 0pt;
counter-reset: h1 6;
}
#l11>li>*:first-child:before {
counter-increment: h1;
content: counter(h1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l11>li:first-child>*:first-child:before {
counter-increment: h1 0;
}
#l12 {
padding-left: 0pt;
counter-reset: h2 1;
}
#l12>li>*:first-child:before {
counter-increment: h2;
content: counter(h1, decimal)"." counter(h2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l12>li:first-child>*:first-child:before {
counter-increment: h2 0;
}
#l13 {
padding-left: 0pt;
}
#l13>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
#l14 {
padding-left: 0pt;
}
#l14>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
li {
display: block;
}
#l15 {
padding-left: 0pt;
counter-reset: i1 7;
}
#l15>li>*:first-child:before {
counter-increment: i1;
content: counter(i1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l15>li:first-child>*:first-child:before {
counter-increment: i1 0;
}
#l16 {
padding-left: 0pt;
counter-reset: i2 1;
}
#l16>li>*:first-child:before {
counter-increment: i2;
content: counter(i1, decimal)"." counter(i2, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l16>li:first-child>*:first-child:before {
counter-increment: i2 0;
}
#l17 {
padding-left: 0pt;
counter-reset: j1 1;
}
#l17>li>*:first-child:before {
counter-increment: j1;
content: "(" counter(j1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l17>li:first-child>*:first-child:before {
counter-increment: j1 0;
}
#l18 {
padding-left: 0pt;
counter-reset: k1 1;
}
#l18>li>*:first-child:before {
counter-increment: k1;
content: "(" counter(k1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l18>li:first-child>*:first-child:before {
counter-increment: k1 0;
}
li {
display: block;
}
#l19 {
padding-left: 0pt;
counter-reset: l1 8;
}
#l19>li>*:first-child:before {
counter-increment: l1;
content: counter(l1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
}
#l20 {
padding-left: 0pt;
counter-reset: l2 1;
}
#l20>li>*:first-child:before {
counter-increment: l2;
content: counter(l1, decimal)"." counter(l2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l20>li:first-child>*:first-child:before {
counter-increment: l2 0;
}
#l21 {
padding-left: 0pt;
counter-reset: m1 1;
}
#l21>li>*:first-child:before {
counter-increment: m1;
content: "(" counter(m1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l21>li:first-child>*:first-child:before {
counter-increment: m1 0;
}
</style>
</head>
<body>
<br>
<p style="font-size: 18px;"><strong>Oggetto: Informativa relativa al trattamento dei dati personali dellUtente.</strong></p>
<p>Ai sensi dell&rsquo;attuale normativa sul trattamento dei dati personali (Regolamento Ue 2016/679 nonch&eacute; Codice Privacy i.e.: D. Lgs. 196/03 per come modificato dal D. Lgs 101/2018) La informiamo che i Dati forniti riguardanti il soggetto interessato (anche nell&rsquo;ipotesi di soggetto operante in qualit&agrave; di impresa individuale, piccolo imprenditore, professionista) ovvero i suoi dipendenti, collaboratori o clienti (i &ldquo;Dati&rdquo;), saranno trattati in conformit&agrave; alle disposizioni di cui alla normativa privacy attualmente applicabile, in ogni caso il trattamento dei dati avviene in modo da garantire la sicurezza dei dati stessi e secondo i principi di correttezza, liceit&agrave; e riservatezza previsti dalla legge (artt. 5, 6 e 32 del Regolamento UE 2016/679 - da qui in avanti solo GDPR-).</p>
<p><strong>Titolare del trattamento e DPO</strong></p>
<p>Il Titolare del trattamento dei dati, ai sensi dell&rsquo;art. 4 e 24 GDPR &egrave; Anci Servizi s.r.l. a socio unico, con sede legale in Milano, Via Alberto Riva Villasanta 3, con sede operativa, B.U. <strong>CIMAC</strong>, in Vigevano, Via Aguzzafame n. 60/B, per contatti &egrave; sufficiente inviare una e-mail a: <a href="mailto:info@cimac.it">info@cimac.it</a> o telefonare al n.: 038184722 o 02438291. Il Titolare ha nominato un proprio DPO, Avv. Laura Marretta, contattabile ai riferimenti sopra elencati o via email scrivendo a <a href="mailto:privacy@assocalzaturifici.it">privacy@assocalzaturifici.it</a></p>
<p><strong>Scopo dell&rsquo;informativa</strong></p>
<p>Il Titolare adotta per come richiesto dall&rsquo;art 12 GDPR la seguente informativa quale misura per fornirLe le informazioni di cui all&rsquo;art 13 GDPR e le comunicazioni di cui agli artt. da 15 a 22 e 34 GDPR relative al trattamento dei dati personali da lei forniti per accreditarsi sulla piattaforma e creare il suo profilo ed utilizzare i servizi in essa presenti.</p>
<p><strong>Finalit&agrave; del trattamento e Basi giuridiche</strong></p>
<p>I dati da lei liberamente conferiti, dati riguardanti sia l&rsquo;anagrafica aziendale che personale dell&rsquo;Utente, sia i dati relativi a suoi dipendenti, collaboratori o clienti sono tutti dati non rientranti nelle categorie particolari di dati personali per come elencati nell&rsquo;art. 9 GDPR e sono trattati dal Titolare per le seguenti <strong>finalit&agrave;</strong>:</p>
<ul>
<p>1-Accredito alla piattaforma e creazione del Profilo Utente</p>
<p>2-Accredito di suoi dipendenti e/o collaboratori che saranno poi autorizzati all&rsquo;utilizzo della piattaforma dopo loro specifica creazione del profilo utente</p>
<p>3-Comunicazione dati per procedere con il servizio &ldquo;Ho un DPI da certificare&rdquo;</p>
<p>4-Comunicazione dati di suoi clienti per procedere con il servizio &ldquo;Ho un DPI da certificare per un mio cliente&rdquo;</p>
<p>5-Invio di comunicazioni tecniche (comunicazioni tecniche e di servizio da parte del Titolare o suoi Responsabili)</p>
<p>6-Inviarle comunicazioni relativi ai servizi del Cimac</p>
<p>7-Difendere/far valere un diritto.</p>
</ul>
<p>In relazione alle finalit&agrave; sopra elencate le <strong>basi giuridiche</strong> sono per il punto da 1) a 5) il contratto intercorrente tra le parti per l&rsquo;utilizzo della piattaforma e dei suoi servizi); per i punti 6) e 7) il legittimo interesse del Titolare. (al quale potr&agrave; opporsi in qualsiasi momento scrivendo al DPO o seguendo le istruzioni contenute nel footer delle comunicazioni che ricever&agrave;)</p>
<p><strong>&nbsp;Trattamento e conservazione dei dati</strong></p>
<p>Nell&rsquo;ottica delle finalit&agrave; sopra esposte, il trattamento sui dati conferiti al Titolare comprender&agrave; quanto necessario per la corretta erogazione dei servizi ossia: la gestione, l&rsquo;organizzazione, la conservazione e la creazione del database, la consultazione, il riscontro, l&rsquo;archiviazione, la comunicazione, l&rsquo;invio di comunicazioni, l&rsquo;elaborazione, la realizzazione di statistiche anonime, l'utilizzo, la distruzione e la modifica del dato trattato a seguito di segnalazione da parte dell&rsquo;interessato.</p>
<p>Il Titolare inoltre avvisa che qualora intendesse trattare ulteriormente i dati personali per una finalit&agrave; diversa da quella per cui essi sono stati raccolti, prima di tale ulteriore trattamento fornir&agrave; all'interessato informazioni in merito a tale diversa finalit&agrave; ed ogni ulteriore informazione pertinente, raccogliendo, nel caso specifico consenso al trattamento.</p>
<p>&nbsp;I dati saranno trattati per il tempo necessario a soddisfare le finalit&agrave; della raccolta e gli obblighi di legge ai quali &egrave; soggetto il Titolare.</p>
<p><strong>Ambito di comunicazione e diffusione</strong></p>
<p>Il trattamento comprender&agrave; la comunicazione dei dati ai membri della struttura organizzativa del Titolare, ovvero ad Autorizzati nell&rsquo;ambito della gestione del servizio erogato, a Responsabili nominati ex art 28 GDPR. Nello specifico si segnala che la soc. C.E. Soft s.r.l. (<a href="http://www.cesoft.io">www.cesoft.io</a>), nostro Responsabile, svolge anche il ruolo di &ldquo;Administrator&rdquo; della piattaforma. <em><u>I dati raccolti non saranno oggetto di diffusione</u></em>.</p>
<p><strong>Natura del Conferimento</strong>:</p>
<p>Il conferimento dei dati &egrave; facoltativo, tuttavia il mancato conferimento degli stessi potrebbe impedire l&rsquo;uso della piattaforma o dei suoi servizi. Pertanto, nel caso di utilizzo della piattaforma e dei suoi servizi, il trattamento sui dati personali conferiti (anche in nome per conto e nell'interesse dei propri dipendenti e/o consulenti, clienti) si riterr&agrave; comunque autorizzato ai sensi dell&rsquo;art. 6 comma 1 lett. b GDPR</p>
<p><strong>Trasferimento dei dati personali</strong></p>
<p>Il trattamento comprender&agrave; l&rsquo;utilizzo dei dati conferiti in territorio UE ed extra UE, ma solo in caso di paesi rientranti nelle ipotesi ex art 45 e 46 e 49 GDPR.</p>
<p><strong>Categorie particolari di dati personali</strong></p>
<p>Il Titolare ricorda all&rsquo;interessato che i Dati personali richiesti e da questo forniti non sono dati rientranti nelle categorie particolari di dati personali per come elencati negli artt. 9 e 10 GDPR.</p>
<p><strong>Esistenza di un processo decisionale automatizzato, compresa la profilazione</strong></p>
<p>Il Titolare non effettua alcun trattamento in base a processi decisionali automatizzati, n&eacute; effettua profilazione.</p>
<p><strong>Modalit&agrave; di trattamento e misure di sicurezza</strong>:</p>
<p>il trattamento potr&agrave; avvenire sia mediante modalit&agrave; cartacea che tramite strumenti elettronici ad opera di soggetti appositamente Autorizzati al trattamento, per come richiesto ex art. 13 comma 2 lett. F GDPR il Titolare conferma che il Trattamento non avviene tramite un processo decisionale automatizzato n&eacute; viene effettuata profilazione se non a seguito di suo espresso consenso sul punto.</p>
<p>Il Titolare osserva idonee misure di sicurezza per come previsto ex art 32 GDPR per prevenire la perdita dei dati, usi illeciti o non corretti ed accessi non autorizzati.</p>
<p><strong>Responsabilit&agrave; per il conferimento dei dati </strong></p>
<p>Resta inteso che per tutti i dati inseriti in piattaforma, sia nella totalit&agrave; dei dati conferiti che in relazione ad ogni e singolo dato anche in relazione alla correttezza, liceit&agrave; e veridicit&agrave; nonch&eacute; alla possibilit&agrave; di utilizzo e comunicazione, ne risponde il legale rappresentante della societ&agrave; che creer&agrave; il profilo, lo stesso che dovr&agrave; anche mantenere indenne il Titolare da ogni e qualsivoglia pretesa potesse insorgere e da ogni richiesta di risarcimento danni diretti e/o indiretti.</p>
<p><strong>Data breach</strong>:</p>
<p>Nel caso in cui il Titolare del Trattamento dati subisca una violazione per come configurata in art. 34 comportante un rischio per i diritti e le libert&agrave; delle persone fisiche (data breach) si attiver&agrave; &ndash; se del caso &ndash;per effettuare la notifica all&rsquo;Autorit&agrave; garante e la comunicazione dell&rsquo;l&rsquo;accaduto a tutti gli interessati.</p>
<p><strong>Diritti dell&rsquo;interessato </strong></p>
<p>Il Titolare inoltra La informa che le sono garantiti i diritti espressi nell&rsquo;art 13 c. 2 GDPR e quindi:</p>
<ul>
<p>diritto d&rsquo;accesso ai dati personali ed alle informazioni collegate elencate sub art. 15 Reg. UE;</p>
<p>la rettifica o la cancellazione dei dati conferiti o la limitazione del trattamento;</p>
<p>opporsi al trattamento;</p>
<p>portabilit&agrave; dei dati;</p>
<p>qualora il trattamento sia basato sull'articolo 6, paragrafo 1, lettera a), oppure sull'articolo 9, paragrafo 2, lettera a) a revocare il consenso in qualsiasi momento senza pregiudicare la liceit&agrave; del trattamento basata sul consenso prestato prima della revoca;</p>
<p>proporre reclamo a un'autorit&agrave; di controllo.</p>
</ul>
<p><strong>Esercizio dei diritti</strong></p>
<p>I diritti sopra esposti potranno essere esercitati inviando una e-mail al DPO indicando nell&rsquo;oggetto: &ldquo;esercizio dei diritti ex GDPR&rdquo; ed inserendo nel corpo della mail il diritto che si desidera esercitare, nonch&eacute; nome, cognome e indirizzo e-mail sulla quale si intende ricevere risposta da parte di Anci Servizi s.r.l.</p>
<p>Il Titolare, una volta processato quanto ricevuto, invier&agrave; relativo riscontro nei termini indicati dall'art 12 punto 3 GDPR.</p>
</body>
</html>
</div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5">
</h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br>
</div><!--end card-body-->
</div><!--end card-->
</div><!--end auth-card-->
</div><!--end col-->
</div><!--end row-->
</div><!--end container-->
<!-- End Log In page -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script>
<script src="assets/js/metismenu.min.js"></script>
<script src="assets/js/waves.js"></script>
<script src="assets/js/feather.min.js"></script>
<script src="assets/js/jquery.slimscroll.min.js"></script>
<!-- App js -->
<script src="../assets/js/app.js"></script>
</body>
</html>
+283
View File
@@ -0,0 +1,283 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Privacy Notice - PPEASY Platform</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" />
<meta content="" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<!-- App css -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/jquery-ui.min.css" rel="stylesheet">
<link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text ul,
.auth-logo-text li {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-family: Calibri, sans-serif;
font-size: 10pt;
}
.auth-logo-text ul {
padding-left: 20px;
}
.auth-logo-text p[style="font-size: 18px;"] {
margin-bottom: 20px;
}
.auth-logo-text p+p,
.auth-logo-text p+ul,
.auth-logo-text ul+p {
margin-top: 20px;
}
.auth-logo-text a {
color: #00F;
text-decoration: underline;
font-family: Calibri, sans-serif;
font-size: 10pt;
}
.auth-logo-text strong {
font-weight: bold;
}
</style>
</head>
<body class="account-body accountbg">
<!-- Log In page -->
<div class="container">
<div class="row vh-100">
<div class="col-12 align-self-center">
<div>
<div class="card auth-card shadow-lg">
<div class="card-body">
<div class="px-5">
<div>
<a href="https://www.cimac.it/modulo_certificazione/public/login" class="logo logo-admin"><img src="assets/img/cimac-logo.png" height="55" alt="logo" class="auth-logo"></a>
</div>
<div class="text-center auth-logo-text">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>INFORMATIVA_PPEASY</title>
<meta name="author" content="Paola Crespi" />
<style type="text/css">
* {
margin: 0;
padding: 0;
text-indent: 0;
}
p {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
margin: 0pt;
}
.s1 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 7pt;
}
.s2 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 8pt;
}
.s4 {
color: #00F;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.a,
a {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.s5 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 7pt;
}
.s7 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l1 {
padding-left: 0pt;
}
#l1>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
</style>
</head>
<body>
<br>
<p style="font-size: 18px;"><strong>Subject: Information Notice Regarding the Processing of the Users Personal Data</strong></p>
<p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">Pursuant to the current legislation on the processing of personal data (EU Regulation 2016/679 as well as the Privacy Code, i.e.: Legislative Decree 196/03 as amended by Legislative Decree 101/2018), we inform you that the data provided concerning the data subject (including in the case of an individual business, small entrepreneur, or professional) or their employees, collaborators, or clients (the “Data”), will be processed in accordance with the provisions of the currently applicable privacy legislation. In any case, the processing of data is carried out in a manner that ensures the security of the data itself and according to the principles of fairness, lawfulness, and confidentiality provided by law (Articles 5, 6, and 32 of EU Regulation 2016/679 hereinafter only GDPR).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Data Controller and DPO</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller, pursuant to Articles 4 and 24 GDPR, is Anci Servizi s.r.l. a sole shareholder company, with registered office in Milan, Via Alberto Riva Villasanta 3, and operational headquarters, B.U. CIMAC, in Vigevano, Via Aguzzafame n. 60/B. For contacts, simply send an email to: <a href="mailto:info@cimac.it">info@cimac.it</a> or call: 038184722 or 02438291. The Data Controller has appointed its own DPO, Mrs Laura Marretta - Attorney at Law, who can be contacted at the above references or by email at <a href="mailto:privacy@assocalzaturifici.it">privacy@assocalzaturifici.it</a>.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Purpose of the Information Notice</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller, as required by Article 12 GDPR, adopts the following information notice as a measure to provide you with the information referred to in Article 13 GDPR and the communications referred to in Articles 15 to 22 and 34 GDPR relating to the processing of personal data you provide to register on the platform, create your profile, and use the services available on it.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Purposes of Processing and Legal Bases</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The data you freely provide, concerning both the company and personal details of the User, as well as data relating to your employees, collaborators, or clients, do not fall within the special categories of personal data as listed in Article 9 GDPR and are processed by the Data Controller for the following purposes:</p>
<ul id="l1">
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Registration on the platform and creation of the User Profile</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Registration of your employees and/or collaborators who will then be authorized to use the platform after their specific user profile is created</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Communication of data to proceed with the “I have PPE to certify” service</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Communication of your clients data to proceed with the “I have PPE to certify for my client” service</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Sending technical communications (technical and service communications from the Data Controller or its Data Processors)</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Sending you communications relating to Cimac services</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Defending/asserting a right.</p>
</li>
</ul>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Regarding the purposes listed above, the legal bases are: for points 1) to 5), the contract between the parties for the use of the platform and its services; for points 6) and 7), the legitimate interest of the Data Controller (to which you may object at any time by writing to the DPO or following the instructions in the footer of the communications you receive).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Processing and Data Retention</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">For the purposes outlined above, the processing of data provided to the Data Controller will include what is necessary for the correct provision of services, namely: management, organization, storage and creation of the database, consultation, response, archiving, communication, sending communications, processing, creation of anonymous statistics, use, destruction, and modification of the processed data following a report by the data subject.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller also informs you that if it intends to further process personal data for a purpose other than that for which they were collected, before such further processing, it will provide the data subject with information regarding this different purpose and any other relevant information, collecting, in the specific case, consent to the processing.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Data will be processed for the time necessary to fulfill the purposes of collection and the legal obligations to which the Data Controller is subject.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Scope of Communication and Dissemination</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Processing will include the communication of data to members of the Data Controllers organizational structure, or to Authorized persons within the management of the provided service, to Data Processors appointed pursuant to Article 28 GDPR. Specifically, it is noted that the company C.E. Soft s.r.l. (<a href="http://www.cesoft.srl">www.cesoft.srl</a>), our Data Processor, also acts as “Administrator” of the platform system. The collected data will not be subject to dissemination.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Nature of Data Provision</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The provision of data is optional; however, failure to provide such data may prevent the use of the platform or its services. Therefore, in the case of use of the platform and its services, the processing of personal data provided (also in the name and on behalf and in the interest of your employees and/or consultants, clients) will in any case be considered as authorized pursuant to Article 6, paragraph 1, letter b GDPR.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Transfer of Personal Data</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Processing will include the use of the data provided within the EU and outside the EU, but only in the case of countries falling within the cases under Articles 45, 46, and 49 GDPR.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Special Categories of Personal Data</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller reminds the data subject that the personal data requested and provided do not fall within the special categories of personal data as listed in Articles 9 and 10 GDPR.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Existence of Automated Decision-Making, Including Profiling</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller does not carry out any data processing based on automated decision-making processes, nor does it carry out profiling.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Processing Methods and Security Measures</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Processing may take place both on paper and by electronic means by persons specifically Authorized to process, as required by Article 13, paragraph 2, letter f GDPR. The Data Controller confirms that processing does not take place through automated decision-making processes nor is profiling carried out unless you have expressly consented to it.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller observes appropriate security measures as provided for by Article 32 GDPR to prevent data loss, unlawful or incorrect use, and unauthorized access.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Responsibility for Data Provision</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">It is understood that for all data entered into the platform, both for all data provided and for each individual data item, including with regard to correctness, lawfulness, and truthfulness as well as the possibility of use and communication, the legal representative of the company creating the profile is responsible, and must also hold the Data Controller harmless from any and all claims that may arise and from any request for compensation for direct and/or indirect damages.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Data Breach</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">If the Data Controller suffers a breach as defined in Article 34 involving a risk to the rights and freedoms of natural persons (data breach), it will where necessary notify the Supervisory Authority and communicate the incident to all data subjects.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Rights of the Data Subject</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Data Controller informs you that you are guaranteed the rights expressed in Article 13, paragraph 2 GDPR, and therefore:</p>
<ul id="l1">
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">right of access to personal data and related information listed under Article 15 EU Regulation;</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">right of rectification or erasure of the data provided or restriction of processing;</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">right to object to processing;</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">right to data portability;</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">if processing is based on Article 6, paragraph 1, letter a), or Article 9, paragraph 2, letter a), right to revoke consent at any time without affecting the lawfulness of processing based on consent before its withdrawal;</p>
</li>
<li>
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">right to submit a complaint with a supervisory authority.</p>
</li>
</ul>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><strong>Exercise of Rights</strong></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The above rights may be exercised by sending an email to the DPO indicating in the subject: “exercise of rights under GDPR” and including in the body of the email the right you wish to exercise, as well as your name, surname, and the email address to which you wish to receive a response from Anci Servizi s.r.l.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Once your request has been processed, the Data Controller will send a response within the time limits indicated by Article 12, point 3 GDPR.</p>
</body>
</html>
</div>
<h4 class="mt-0 mb-3 mt-5"></h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- End Log In page -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script>
<script src="assets/js/metismenu.min.js"></script>
<script src="assets/js/waves.js"></script>
<script src="assets/js/feather.min.js"></script>
<script src="assets/js/jquery.slimscroll.min.js"></script>
<!-- App js -->
<script src="../assets/js/app.js"></script>
</body>
</html>
+6
View File
@@ -0,0 +1,6 @@
<?php
$ind_one = "Main fabric";
$ind_two = "Reinforcement";
$ind_three = "Elastic band";
?>
+6
View File
@@ -0,0 +1,6 @@
<?php
$ind_one = "Main fabric";
$ind_two = "Reinforcement";
$ind_three = "Elastic band";
?>
+17 -2
View File
@@ -4,8 +4,8 @@ $prodplacemanufacturer = "Matches the Manufacturer's Address";
$classificationshoes = "Classification (for footwear only)"; $classificationshoes = "Classification (for footwear only)";
$classone = "I - Footwear of leather and other materials, excluding footwear entirely of rubber or entirely polymeric"; $classone = "I - Footwear of leather and other materials, excluding footwear entirely of rubber or entirely polymeric";
$classtwo = "II - Entirely rubber footwear (fully vulcanized) or completely polymeric footwear (fully molded)"; $classtwo = "II - Entirely rubber footwear (fully vulcanized) or completely polymeric footwear (fully molded)";
$declarone = "Fornita con il DPI"; $declarone = "Provided with the PPE";
$declartwo = "Disponibile sul sito web"; $declartwo = "Available on the website";
$coverone = "Harmonized standard"; $coverone = "Harmonized standard";
$covertwo = "Manufacturer's instructions and information"; $covertwo = "Manufacturer's instructions and information";
$coverthree = "Marking"; $coverthree = "Marking";
@@ -57,3 +57,18 @@ $toreview = "Send for Review";
$toreviewhelp = "The Technical File will be sent to Cimac for document review"; $toreviewhelp = "The Technical File will be sent to Cimac for document review";
$techapplied = "Any technical specifications applied (other than harmonised standards)"; $techapplied = "Any technical specifications applied (other than harmonised standards)";
$corrtdcertified = "Matching with already certified PPE"; $corrtdcertified = "Matching with already certified PPE";
$addprodplace = "Add production place";
$searchcomp = "Search Company";
$savebutton = "Save";
$notesearchcomp = "Enter at least 3 characters of the company name to start the search.";
$uploadExample = "Do you want to upload a markup example?";
$selectLogo = "Select a logo";
$noLogoAvailable = "No logo available";
$addLogo = "Add Logo";
$productionControlDescription = "Description of production control means";
$addControlMeans = "Add control means";
$selectQualityControl = "Select a quality control";
$addPart = "Add Part";
$packtitle = "Packaging";
$dectitle = "EU Declaration of Conformity";
$webtitle = "Website Address";
+6
View File
@@ -0,0 +1,6 @@
<?php
$ind_one = "Tessuto principale";
$ind_two = "Rinforzo";
$ind_three = "Elastico";
?>
+6
View File
@@ -0,0 +1,6 @@
<?php
$ind_one = "Tessuto principale";
$ind_two = "Rinforzo";
$ind_three = "Elastico";
?>
+15
View File
@@ -57,3 +57,18 @@ $toreview = "Invia in Revisione";
$toreviewhelp = "Il Fascicolo tecnico verrà inviato a Cimac per la revisione documentale"; $toreviewhelp = "Il Fascicolo tecnico verrà inviato a Cimac per la revisione documentale";
$techapplied = "Eventuali specifiche tecniche applicate (diverse dalle norme armonizzate)"; $techapplied = "Eventuali specifiche tecniche applicate (diverse dalle norme armonizzate)";
$corrtdcertified = "Corrispondenza DPI già certificati:"; $corrtdcertified = "Corrispondenza DPI già certificati:";
$addprodplace = "Aggiungi Luogo di produzione";
$searchcomp = "Ricerca azienda";
$savebutton = "Salva";
$notesearchcomp = "Inserisci almeno 3 caratteri del nome della compagnia per iniziare la ricerca.";
$uploadExample = "Vuoi caricare un esempio di marcatura?";
$selectLogo = "Seleziona un logo";
$noLogoAvailable = "Nessun logo disponibile";
$addLogo = "Aggiungi Logo";
$productionControlDescription = "Descrizione mezzi di controllo della produzione";
$addControlMeans = "Aggiungi mezzi di controllo";
$selectQualityControl = "Seleziona un controllo di qualità";
$addPart = "Aggiungi Parte";
$packtitle = "Imballaggio";
$dectitle = "Dichiarazione di conformità UE";
$webtitle = "Indirizzo del sito web";
+18 -18
View File
@@ -40,14 +40,14 @@ if (isset($_POST['submit'])) {
$stmt->execute(); $stmt->execute();
$stmt->close(); $stmt->close();
} else { } else {
echo "Errore durante l'inserimento nel database."; echo ($_SESSION['langselect'] == 'en') ? "Error during database insertion." : "Errore durante l'inserimento nel database.";
} }
} else { } else {
echo "Errore nel caricamento del file."; echo ($_SESSION['langselect'] == 'en') ? "Error uploading the file." : "Errore nel caricamento del file.";
} }
$conn->close(); $conn->close();
} else { } else {
echo "Sono ammessi solo file PNG e JPG."; echo ($_SESSION['langselect'] == 'en') ? "Only PNG and JPG files are allowed." : "Sono ammessi solo file PNG e JPG.";
} }
// Reindirizza per evitare reinvii // Reindirizza per evitare reinvii
header("Location: logopopup.php?idcompany=$idcompany"); header("Location: logopopup.php?idcompany=$idcompany");
@@ -56,12 +56,12 @@ if (isset($_POST['submit'])) {
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="<?php echo ($_SESSION['langselect'] == 'en') ? 'en' : 'it'; ?>">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Aggiungi Logo</title> <title><?php echo ($_SESSION['langselect'] == 'en') ? 'Add Logo' : 'Aggiungi Logo'; ?></title>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
<style> <style>
@@ -82,43 +82,43 @@ if (isset($_POST['submit'])) {
} }
.custom-file-label::after { .custom-file-label::after {
content: "Sfoglia"; content: "<?php echo ($_SESSION['langselect'] == 'en') ? 'Browse' : 'Sfoglia'; ?>";
} }
</style> </style>
</head> </head>
<body> <body>
<div class="container mt-5"> <div class="container mt-5">
<button type="button" class="btn btn-secondary" onclick="closeAndRefresh()">Chiudi e Aggiorna</button> <button type="button" class="btn btn-secondary" onclick="closeAndRefresh()"><?php echo ($_SESSION['langselect'] == 'en') ? 'Close and Refresh' : 'Chiudi e Aggiorna'; ?></button>
<h3>Aggiungi Logo</h3> <h3><?php echo ($_SESSION['langselect'] == 'en') ? 'Add Logo' : 'Aggiungi Logo'; ?></h3>
<form id="uploadLogoForm" action="logopopup.php?idcompany=<?php echo $idcompany; ?>" method="post" enctype="multipart/form-data"> <form id="uploadLogoForm" action="logopopup.php?idcompany=<?php echo $idcompany; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="idcompany" value="<?php echo $idcompany; ?>"> <input type="hidden" name="idcompany" value="<?php echo $idcompany; ?>">
<div class="form-group"> <div class="form-group">
<label for="logoDescription">Descrizione Logo:</label> <label for="logoDescription"><?php echo ($_SESSION['langselect'] == 'en') ? 'Logo Description:' : 'Descrizione Logo:'; ?></label>
<input type="text" class="form-control" id="logoDescription" name="descriptionlogo" required> <input type="text" class="form-control" id="logoDescription" name="descriptionlogo" required>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="logoFile">File Logo:</label> <label for="logoFile"><?php echo ($_SESSION['langselect'] == 'en') ? 'Logo File:' : 'File Logo:'; ?></label>
<div class="drag-area" id="drag-area"> <div class="drag-area" id="drag-area">
<p>Trascina qui il file o clicca per selezionare</p> <p><?php echo ($_SESSION['langselect'] == 'en') ? 'Drag the file here or click to select' : 'Trascina qui il file o clicca per selezionare'; ?></p>
</div> </div>
<div class="custom-file mb-3"> <div class="custom-file mb-3">
<input type="file" class="custom-file-input" id="logoFile" name="logofile" accept=".png,.jpg,.jpeg" required> <input type="file" class="custom-file-input" id="logoFile" name="logofile" accept=".png,.jpg,.jpeg" required>
<label class="custom-file-label" for="logoFile">Scegli file</label> <label class="custom-file-label" for="logoFile"><?php echo ($_SESSION['langselect'] == 'en') ? 'Choose file' : 'Scegli file'; ?></label>
</div> </div>
</div> </div>
<button type="submit" class="btn btn-primary" name="submit">Carica Logo</button> <button type="submit" class="btn btn-primary" name="submit"><?php echo ($_SESSION['langselect'] == 'en') ? 'Upload Logo' : 'Carica Logo'; ?></button>
</form> </form>
</div> </div>
<div class="container mt-5"> <div class="container mt-5">
<h3>Loghi Caricati</h3> <h3><?php echo ($_SESSION['langselect'] == 'en') ? 'Uploaded Logos' : 'Loghi Caricati'; ?></h3>
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>Descrizione</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Description' : 'Descrizione'; ?></th>
<th>Logo</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Logo' : 'Logo'; ?></th>
<th>Azione</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Action' : 'Azione'; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -135,7 +135,7 @@ if (isset($_POST['submit'])) {
echo "<td>" . htmlspecialchars($row['descriptionlogo']) . "</td>"; echo "<td>" . htmlspecialchars($row['descriptionlogo']) . "</td>";
echo "<td><img src='logos/" . htmlspecialchars($row['filenamelogo']) . "' alt='Logo' style='width: 50px;'></td>"; echo "<td><img src='logos/" . htmlspecialchars($row['filenamelogo']) . "' alt='Logo' style='width: 50px;'></td>";
echo "<td>"; echo "<td>";
echo "<a href='deletelogo.php?id=" . $row['idlogo_td'] . "&idcompany=$idcompany' onclick='return confirm(\"Sei sicuro di voler cancellare questo logo?\");'><i class='fas fa-trash-alt' style='color: red;'></i></a>"; echo "<a href='deletelogo.php?id=" . $row['idlogo_td'] . "&idcompany=$idcompany' onclick='return confirm(\"" . ($_SESSION['langselect'] == 'en' ? 'Are you sure you want to delete this logo?' : 'Sei sicuro di voler cancellare questo logo?') . "\");'><i class='fas fa-trash-alt' style='color: red;'></i></a>";
echo "</td>"; echo "</td>";
echo "</tr>"; echo "</tr>";
} }
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7 -5
View File
@@ -80,14 +80,16 @@ foreach ($idartchs as $idartch) {
$pdf->Ln(); $pdf->Ln();
} }
$prevrepLabel = ($_SESSION['langselect'] == 'it') ? 'N. Rapporto Precedente' : 'Previous Report n.'; // Reference certificate number
if (isset($trfData['previousreportnumber']) && trim($trfData['previousreportnumber']) !== '') {
// Stampa la riga $refCertLabel = ($_SESSION['langselect'] == 'it')
if (!empty($trfData['previousreportnumber'])) { ? 'Numero del certificato di riferimento'
$prevrepLabel = ($_SESSION['langselect'] == 'it') ? 'N. Rapporto Precedente' : 'Previous Report n.'; : 'Reference certificate number';
$pdf->Cell(50, 6, $prevrepLabel, 1, 0, 'L'); $pdf->Cell(50, 6, $refCertLabel, 1, 0, 'L');
$pdf->Cell(140, 6, $trfData['previousreportnumber'], 1, 0, 'L', true); $pdf->Cell(140, 6, $trfData['previousreportnumber'], 1, 0, 'L', true);
$pdf->Ln();
} }
@@ -103,12 +103,14 @@ foreach ($idartchs as $idartch) {
$pdf->Cell(140, 6, $articleCharacteristic, 1, 0, 'L', TRUE); $pdf->Cell(140, 6, $articleCharacteristic, 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
} }
$prevrepLabel = ($_SESSION['langselect'] == 'it') ? 'N. Rapporto Precedente' : 'Previous Report n.';
// Stampa la riga
if (!empty($trfData['previousreportnumber'])) { if (!empty($trfData['previousreportnumber'])) {
$prevrepLabel = ($_SESSION['langselect'] == 'it') ? 'N. Rapporto Precedente' : 'Previous Report n.';
$pdf->Cell(50, 6, $prevrepLabel, 1, 0, 'L'); // Reference certificate number
$pdf->Cell(140, 6, $trfData['previousreportnumber'], 1, 0, 'L', true); $refCertLabel = ($_SESSION['langselect'] == 'it')
? 'Numero del certificato di riferimento'
: 'Reference certificate number';
$pdf->Cell(50, 6, $refCertLabel, 1, 0, 'L');
$pdf->Cell(140, 6, $trfData['previousreportnumber'], 1, 0, 'L', TRUE);
$pdf->Ln();
} }
+35 -35
View File
@@ -1,48 +1,48 @@
<?php <?php
$citytitle=html_entity_decode($citytitle); $citytitle = html_entity_decode($citytitle);
$citytitleb=utf8_decode($citytitle); $citytitleb = utf8_decode($citytitle);
//invoice contacts //invoice contacts
// ***start with invoice address // ***start with invoice address
$kindcont='headertest'; $kindcont = 'headertest';
// parse contacts data with variable kindofcontacts // parse contacts data with variable kindofcontacts
$contactsinfo = mysqli_query($cmctrfdb, "SELECT * FROM contacts LEFT JOIN countries ON countries.idcountries=contacts.country WHERE contacts.idtrf='$idtrf' AND contacts.kindofcontacts='$kindcont'"); $contactsinfo = mysqli_query($cmctrfdb, "SELECT * FROM contacts LEFT JOIN countries ON countries.idcountries=contacts.country WHERE contacts.idtrf='$idtrf' AND contacts.kindofcontacts='$kindcont'");
$contactsinfoData = mysqli_fetch_assoc($contactsinfo); $contactsinfoData = mysqli_fetch_assoc($contactsinfo);
$companyname=$contactsinfoData['companyname']; $companyname = $contactsinfoData['companyname'];
$pdf->SetFont('Arial','',8); $pdf->SetFont('Arial', '', 8);
$pdf->SetTextColor(0,0,0); $pdf->SetTextColor(0, 0, 0);
$pdf->SetFont('','B','10'); $pdf->SetFont('', 'B', '10');
$pdf->Cell(190,6,$headerreportpdf,1,0,'C'); $pdf->Cell(190, 6, $headerreportpdf, 1, 0, 'C');
$pdf->Ln(); $pdf->Ln();
$pdf->SetFont('','',8); $pdf->SetFont('', '', 8);
$pdf->Cell(40,6,$companypdf,1,0,'L'); $pdf->Cell(40, 6, $companypdf, 1, 0, 'L');
$pdf->SetFillColor(232, 242, 255); $pdf->SetFillColor(232, 242, 255);
$companyname=html_entity_decode($companyname); $companyname = html_entity_decode($companyname);
$companyname = iconv('UTF-8', 'windows-1252', $companyname); $companyname = iconv('UTF-8', 'windows-1252', $companyname);
$pdf->Cell(150,6,$companyname,1,0,'L',TRUE); $pdf->Cell(150, 6, $companyname, 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
$pdf->Cell(40,6,$addresspdf,1,0,'L'); $pdf->Cell(40, 6, $addresspdf, 1, 0, 'L');
$contactsaddress=html_entity_decode($contactsinfoData['address']); //$contactsaddress=html_entity_decode($contactsinfoData['address']);
$contactsaddress = iconv('UTF-8', 'windows-1252', $contactsaddress); //$contactsaddress = iconv('UTF-8', 'windows-1252', $contactsaddress);
$pdf->Cell(150,6,$contactsaddress,1,0,'L',TRUE); $contactsaddress = html_entity_decode($contactsinfoData['address'], ENT_QUOTES, 'UTF-8');
$pdf->Cell(150, 6, $contactsaddress, 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
$pdf->Cell(40,6,$citytitleb,1,0,'L'); $pdf->Cell(40, 6, $citytitleb, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['city'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['city'], 1, 0, 'L', TRUE);
$pdf->Cell(40,6,$zippdf,1,0,'L'); $pdf->Cell(40, 6, $zippdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['cap'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['cap'], 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
$pdf->Cell(40,6,$vatpdf,1,0,'L'); $pdf->Cell(40, 6, $vatpdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['piva'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['piva'], 1, 0, 'L', TRUE);
$pdf->Cell(40,6,$countrypdf,1,0,'L'); $pdf->Cell(40, 6, $countrypdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['namecountry'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['namecountry'], 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
$pdf->Cell(40,6,$phonepdf,1,0,'L'); $pdf->Cell(40, 6, $phonepdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['telephone'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['telephone'], 1, 0, 'L', TRUE);
$pdf->Cell(40,6,$emailpdf,1,0,'L'); $pdf->Cell(40, 6, $emailpdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['email'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['email'], 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
$pdf->Cell(40,6,$contactnamepdf,1,0,'L'); $pdf->Cell(40, 6, $contactnamepdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['contactname'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['contactname'], 1, 0, 'L', TRUE);
$pdf->Cell(40,6,$contactsurnamepdf,1,0,'L'); $pdf->Cell(40, 6, $contactsurnamepdf, 1, 0, 'L');
$pdf->Cell(55,6,$contactsinfoData['contactsurname'],1,0,'L',TRUE); $pdf->Cell(55, 6, $contactsinfoData['contactsurname'], 1, 0, 'L', TRUE);
$pdf->Ln(); $pdf->Ln();
?>
+2 -2
View File
@@ -47,8 +47,8 @@ $pdf->Ln();
include('pdfcreation/headerreporttable.php'); include('pdfcreation/headerreporttable.php');
$pdf->Ln(); $pdf->Ln();
//header certificate contact //header certificate contact
//include('pdfcreation/headercertificatetable.php'); include('pdfcreation/headercertificatetable.php');
//$pdf->Ln(); $pdf->Ln();
//invoice contact //invoice contact
include('pdfcreation/invoicecontacttable.php'); include('pdfcreation/invoicecontacttable.php');
$pdf->Ln(); $pdf->Ln();
+2 -2
View File
@@ -38,8 +38,8 @@ $pdf->Ln();
$pdf->Ln(); $pdf->Ln();
$pdf->Ln(); $pdf->Ln();
//header report contact //header report contact
//include('pdfcreation/headerreporttable.php'); include('pdfcreation/headerreporttable.php');
//$pdf->Ln(); $pdf->Ln();
//header certificate contact //header certificate contact
include('pdfcreation/headercertificatetable.php'); include('pdfcreation/headercertificatetable.php');
$pdf->Ln(); $pdf->Ln();
+3 -3
View File
@@ -39,12 +39,12 @@ $pdf->Ln();
include('pdfcreation/fileattached.php'); include('pdfcreation/fileattached.php');
$pdf->Ln(); $pdf->Ln();
$pdf->Ln(); $pdf->Ln();
//header report contact
include('pdfcreation/headerreporttable.php');
$pdf->Ln();
//header certificate contact //header certificate contact
include('pdfcreation/headercertificatetable.php'); include('pdfcreation/headercertificatetable.php');
$pdf->Ln(); $pdf->Ln();
//header certificate contact
//include('pdfcreation/headercertificatetable.php');
//$pdf->Ln();
//invoice contact //invoice contact
include('pdfcreation/invoicecontacttable.php'); include('pdfcreation/invoicecontacttable.php');
$pdf->Ln(); $pdf->Ln();
+2 -2
View File
@@ -38,8 +38,8 @@ $pdf->Ln();
$pdf->Ln(); $pdf->Ln();
$pdf->Ln(); $pdf->Ln();
//header report contact //header report contact
//include('pdfcreation/headerreporttable.php'); include('pdfcreation/headerreporttable.php');
//$pdf->Ln(); $pdf->Ln();
//header certificate contact //header certificate contact
include('pdfcreation/headercertificatetable.php'); include('pdfcreation/headercertificatetable.php');
$pdf->Ln(); $pdf->Ln();
+14 -12
View File
@@ -15,7 +15,11 @@ if ($formname == "Y") {
$UpdateQuery = new WA_MySQLi_Query($cmctrfdb); $UpdateQuery = new WA_MySQLi_Query($cmctrfdb);
$UpdateQuery->Action = "update"; $UpdateQuery->Action = "update";
$UpdateQuery->Table = "auth_users"; $UpdateQuery->Table = "auth_users";
$UpdateQuery->bindColumn("privacyaccepted", "s", "" . ((isset($_POST["datetoday"])) ? $_POST["datetoday"] : "") . "", "WA_DEFAULT"); $dateToday = (isset($_POST["datetoday"])) ? $_POST["datetoday"] : "";
$UpdateQuery->bindColumn("privacyaccepted", "s", $dateToday, "WA_DEFAULT");
$UpdateQuery->bindColumn("termuseaccepted", "s", $dateToday, "WA_DEFAULT");
$UpdateQuery->addFilter("id", "=", "i", "" . ($iduserlogin) . ""); $UpdateQuery->addFilter("id", "=", "i", "" . ($iduserlogin) . "");
$UpdateQuery->execute(); $UpdateQuery->execute();
@@ -109,12 +113,9 @@ $companyData = mysqli_fetch_assoc($companydetails);
<!-- card for show requirements --> <!-- card for show requirements -->
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="mt-0 header-title">Accettazione Privacy</h4> <h4 class="mt-0 header-title">Accettazione Regolamenti / Regulations Acceptance</h4>
<p>Per procedere all'utilizzo di questo portale è necessario accettare i regolamenti sotto indicati:</p> <p>Per procedere all'utilizzo di questo portale è necessario accettare i regolamenti sotto indicati:<br>
To proceed with the use of this portal, you must accept the regulations listed below:</p>
<a href="https://www.cimac.it/it/privacy-policy/" target="blank"><button type="button" class="btn btn-outline-primary waves-effect waves-light">Privacy Policy</button></a> <a href="https://www.cimac.it/it/cookie-policy/" target="blank"><button type="button" class="btn btn-outline-primary waves-effect waves-light">Cookie Policy</button></a> <a href="https://www.cimac.it/informativa-privacy/" target="blank"><button type="button" class="btn btn-outline-primary waves-effect waves-light">Informativa Policy</button></a>
<br><br>
<br> <br>
<form action="" method="post" name="formcompany" class="was-validated" id="regulationForm"> <form action="" method="post" name="formcompany" class="was-validated" id="regulationForm">
@@ -126,9 +127,9 @@ $companyData = mysqli_fetch_assoc($companydetails);
<input type="checkbox" class="custom-control-input" id="toggleTerms" onchange="checkToggles()"> <input type="checkbox" class="custom-control-input" id="toggleTerms" onchange="checkToggles()">
<label class="custom-control-label" for="toggleTerms"> <label class="custom-control-label" for="toggleTerms">
Accetto i termini e le condizioni duso della piattaforma PPEASY Accetto i termini e le condizioni duso della piattaforma PPEASY
<a href="#" target="_blank">qui presenti</a> / <a href="terminiecondizioni.php" target="_blank">qui presenti</a> /
I agree to I agree to
<a href="#" target="_blank">these terms and conditions</a> of use of the PPEASY platform <a href="termsandconditions.php" target="_blank">these terms and conditions</a> of use of the PPEASY platform
</label> </label>
</div> </div>
@@ -137,16 +138,17 @@ $companyData = mysqli_fetch_assoc($companydetails);
<input type="checkbox" class="custom-control-input" id="togglePrivacy" onchange="checkToggles()"> <input type="checkbox" class="custom-control-input" id="togglePrivacy" onchange="checkToggles()">
<label class="custom-control-label" for="togglePrivacy"> <label class="custom-control-label" for="togglePrivacy">
Dichiaro di aver letto e compreso linformativa sui dati personali Dichiaro di aver letto e compreso linformativa sui dati personali
<a href="#" target="_blank">qui presente</a>. Tratteremo i tuoi dati in conformità con la privacy policy di CIMAC / <a href="informativappeasy.php" target="_blank">qui presente</a>./
I declare that I have read and understood the information on I declare that I have read and understood the information on
<a href="#" target="_blank">personal data herein</a>. We will handle your data in conformity with CIMAC privacy policy <a href="privacydoc.php" target="_blank">personal data herein</a>.
</label> </label>
</div> </div>
<!-- Bottone finale --> <!-- Bottone finale -->
<button class="btn btn-gradient-primary mt-3" type="submit" id="acceptBtn" disabled> <button class="btn btn-gradient-primary mt-3" type="submit" id="acceptBtn" disabled>
ACCETTO I REGOLAMENTI SOPRA RIPORTATI ACCETTO TUTTO / ACCEPT ALL
</button> </button>
</form> </form>
<script> <script>
function checkToggles() { function checkToggles() {
+77 -526
View File
@@ -3,10 +3,10 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>CIMAC Application Form</title> <title>CIMAC Privacy Policy</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" /> <meta content="Privacy Policy for PPeasy Platform" name="description" />
<meta content="" name="author" /> <meta content="Paola Crespi" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon --> <!-- App favicon -->
@@ -19,17 +19,59 @@
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text strong,
.auth-logo-text span,
.auth-logo-text a {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-size: 10pt;
font-family: Calibri, sans-serif;
color: black;
}
.auth-logo-text p:first-child strong {
font-size: 14pt;
}
.auth-logo-text strong {
font-weight: bold;
}
.auth-logo-text a {
color: #00F;
text-decoration: underline;
}
.auth-logo-text p+p,
.auth-logo-text p+strong,
.auth-logo-text strong+p,
.auth-logo-text strong+strong {
margin-top: 20px;
}
.privacy-title {
font-size: 18pt !important;
font-weight: bold;
margin-bottom: 20px;
}
</style>
</head> </head>
<body class="account-body accountbg"> <body class="account-body accountbg">
<!-- Log In page --> <!-- Privacy Policy page -->
<div class="container"> <div class="container">
<div class="row vh-100 "> <div class="row vh-100">
<div class="col-12 align-self-center"> <div class="col-12 align-self-center">
<div> <div>
<div class="card auth-card shadow-lg"> <div class="card auth-card shadow-lg">
<div class="card-body"> <div class="card-body">
<div class="px-5"> <div class="px-5">
<div> <div>
@@ -37,544 +79,53 @@
</div><!--end auth-logo-box--> </div><!--end auth-logo-box-->
<div class="text-center auth-logo-text"> <div class="text-center auth-logo-text">
<br>
<p class="privacy-title">Privacy Policy</p>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <p><strong>Premise</strong></p>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it"> <p>This document concerns the privacy policies of personal data for &ldquo;CIMAC&rdquo; (a business unit of Anci Servizi s.r.l. a sole shareholder, hereafter &ldquo;ANCI&rdquo;), which, through C.E. Soft s.r.l., manages the platform called PPeasy (the &ldquo;Platform&rdquo;). It describes how users&rsquo; personal data is processed.<br>
We regularly update the texts on the Platform to comply with legislative changes. Therefore, this document may be modified at ANCI&rsquo;s discretion at any time, and continued use of the Platform implies acceptance of these changes. ANCI recommends users check this document regularly; any updates or changes will be published here.</p>
<head> <p><strong>Privacy Policy</strong></p>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <p>In accordance with Recommendation No. 2/2001 (from European data protection authorities to identify minimum requirements for collecting personal data online, especially regarding the information that data controllers must provide to users when they access web pages, regardless of the purpose of the connection) and as required by Article 12 of the GDPR, Anci Servizi s.r.l. a sole shareholder, B.U. Cimac, as the Data Controller under Articles 4 and 24 of the GDPR (hereafter &ldquo;Data Controller&rdquo;), provides this information to supply the data subject with the details required by Article 13 of the GDPR and the communications under Articles 15 to 22 and 34 of the GDPR regarding the processing of personal data provided for platform access and subsequent use.<br>
<title>TERMINI_E_CONDIZIONI_PPEASY</title> We inform you that your personal data is processed according to the principles described in Article 5 of the GDPR (fairness, relevance, transparency, adequacy, confidentiality, and protection of rights) and that processing is carried out under the legal bases provided by Article 6 of the GDPR, for purposes related to the relationship established with the Data Controller. When browsing the Platform, the Data Controller does not collect any special categories of data as defined in Article 9 of the GDPR.<br>
<meta name="author" content="Paola Crespi" /> From users of our Platform, we only process &ldquo;Browsing Data, Cookies, and Data provided voluntarily by the user. We collect a limited amount of data, which we use to improve your experience and manage the services we provide (e.g., responding to your requests), based on Article 6(1)(b) and (f) of the GDPR.</p>
<style type="text/css"> <p>You can view our full privacy notice here:<br>
* { <a href="https://www.cimac.it/modulo_certificazione/public/regolamentoprivacy.php">https://www.cimac.it/modulo_certificazione/public/regolamentoprivacy.php</a>
margin: 0; </p>
padding: 0;
text-indent: 0;
}
h1 { <p><strong>Browsing Data</strong></p>
color: black; <p>The IT systems and software procedures used to operate the Platform acquire, during their normal operation, some personal data whose transmission is implicit in the use of Internet communication protocols. This category includes IP addresses or domain names of computers and terminals used by users, URI/URL addresses, etc.<br>
font-family: Calibri, sans-serif; Data may be used to ascertain responsibility in case of hypothetical computer crimes. Browsing data is not retained for more than 30 days and is deleted after processing (except for any need to ascertain crimes by judicial authorities). We also record every login to the Platform for pages with restricted access.</p>
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 10pt;
}
.p, <p><strong>Cookies</strong></p>
p { <p>For information about cookies on the Platform, please refer to the full cookies policy available here:<br>
color: black; <a href="https://www.cimac.it/modulo_certificazione/public/cookie-policy-it.php">https://www.cimac.it/modulo_certificazione/public/cookie-policy-it.php</a>
font-family: Calibri, sans-serif; </p>
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
margin: 0pt;
}
.s1 { <p><strong>User Eligibility</strong></p>
color: black; <p>The Platform and its services are intended only for adults and registered users. By accessing the Platform, users confirm, under their sole responsibility, that they are at least 18 years old and fully capable of understanding and consenting.</p>
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 7pt;
}
.s2 { <p><strong>Liability</strong></p>
color: black; <p>ANCI is not responsible for Platform malfunctions or the inability/difficulty to provide services due to issues with telephone lines, electricity, or global/national networks, including but not limited to breakdowns, overloads, interruptions, or causes beyond its reasonable control (e.g., riots, terrorism, war, strikes, tornadoes, hurricanes, floods, fires, epidemics, landslides). ANCI will strive to maintain the Platform&rsquo;s efficiency and functionality; if forced to interrupt use for exceptional events or maintenance, it will minimize such interruptions. ANCI is also not responsible for third-party actions or omissions that affect the Platform&rsquo;s operation, including slowdowns or failures of telephone lines or computers managing telematic traffic.</p>
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 8pt;
}
.s4 { <p><strong>Applicable Law</strong></p>
color: #00F; <p>By accessing the Platform and browsing its web pages, the user agrees to be subject to the applicable laws in Italy. Written complaints should be sent to <a href="mailto:privacy@assocalzaturifici.it">privacy@assocalzaturifici.it</a>. ANCI will cooperate with authorities to resolve any complaints regarding personal data processing not resolved directly between the Controller and individuals. This privacy policy is governed by Italian law. Any disputes are subject to the jurisdiction of the Italian courts, specifically the Court of Milan.</p>
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.a, </div><!--end auth-logo-text-->
a {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.s5 { <h4 class="mt-0 mb-3 mt-5"></h4>
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 7pt;
}
.s7 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l1 {
padding-left: 0pt;
counter-reset: c1 1;
}
#l1>li>*:first-child:before {
counter-increment: c1;
content: "(" counter(c1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l1>li:first-child>*:first-child:before {
counter-increment: c1 0;
}
li {
display: block;
}
#l2 {
padding-left: 0pt;
counter-reset: d1 2;
}
#l2>li>*:first-child:before {
counter-increment: d1;
content: counter(d1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
}
#l3 {
padding-left: 0pt;
counter-reset: d2 1;
}
#l3>li>*:first-child:before {
counter-increment: d2;
content: counter(d1, decimal)"." counter(d2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l3>li:first-child>*:first-child:before {
counter-increment: d2 0;
}
#l4 {
padding-left: 0pt;
}
#l4>li>*:first-child:before {
content: "- ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l5 {
padding-left: 0pt;
counter-reset: e1 3;
}
#l5>li>*:first-child:before {
counter-increment: e1;
content: counter(e1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l5>li:first-child>*:first-child:before {
counter-increment: e1 0;
}
#l6 {
padding-left: 0pt;
counter-reset: e2 1;
}
#l6>li>*:first-child:before {
counter-increment: e2;
content: counter(e1, decimal)"." counter(e2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l6>li:first-child>*:first-child:before {
counter-increment: e2 0;
}
li {
display: block;
}
#l7 {
padding-left: 0pt;
counter-reset: f1 4;
}
#l7>li>*:first-child:before {
counter-increment: f1;
content: counter(f1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l7>li:first-child>*:first-child:before {
counter-increment: f1 0;
}
#l8 {
padding-left: 0pt;
counter-reset: f2 1;
}
#l8>li>*:first-child:before {
counter-increment: f2;
content: counter(f1, decimal)"." counter(f2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l8>li:first-child>*:first-child:before {
counter-increment: f2 0;
}
li {
display: block;
}
#l9 {
padding-left: 0pt;
counter-reset: g1 5;
}
#l9>li>*:first-child:before {
counter-increment: g1;
content: counter(g1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l9>li:first-child>*:first-child:before {
counter-increment: g1 0;
}
#l10 {
padding-left: 0pt;
counter-reset: g2 1;
}
#l10>li>*:first-child:before {
counter-increment: g2;
content: counter(g1, decimal)"." counter(g2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l10>li:first-child>*:first-child:before {
counter-increment: g2 0;
}
li {
display: block;
}
#l11 {
padding-left: 0pt;
counter-reset: h1 6;
}
#l11>li>*:first-child:before {
counter-increment: h1;
content: counter(h1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l11>li:first-child>*:first-child:before {
counter-increment: h1 0;
}
#l12 {
padding-left: 0pt;
counter-reset: h2 1;
}
#l12>li>*:first-child:before {
counter-increment: h2;
content: counter(h1, decimal)"." counter(h2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l12>li:first-child>*:first-child:before {
counter-increment: h2 0;
}
#l13 {
padding-left: 0pt;
}
#l13>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
#l14 {
padding-left: 0pt;
}
#l14>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
li {
display: block;
}
#l15 {
padding-left: 0pt;
counter-reset: i1 7;
}
#l15>li>*:first-child:before {
counter-increment: i1;
content: counter(i1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l15>li:first-child>*:first-child:before {
counter-increment: i1 0;
}
#l16 {
padding-left: 0pt;
counter-reset: i2 1;
}
#l16>li>*:first-child:before {
counter-increment: i2;
content: counter(i1, decimal)"." counter(i2, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l16>li:first-child>*:first-child:before {
counter-increment: i2 0;
}
#l17 {
padding-left: 0pt;
counter-reset: j1 1;
}
#l17>li>*:first-child:before {
counter-increment: j1;
content: "(" counter(j1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l17>li:first-child>*:first-child:before {
counter-increment: j1 0;
}
#l18 {
padding-left: 0pt;
counter-reset: k1 1;
}
#l18>li>*:first-child:before {
counter-increment: k1;
content: "(" counter(k1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l18>li:first-child>*:first-child:before {
counter-increment: k1 0;
}
li {
display: block;
}
#l19 {
padding-left: 0pt;
counter-reset: l1 8;
}
#l19>li>*:first-child:before {
counter-increment: l1;
content: counter(l1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
}
#l20 {
padding-left: 0pt;
counter-reset: l2 1;
}
#l20>li>*:first-child:before {
counter-increment: l2;
content: counter(l1, decimal)"." counter(l2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l20>li:first-child>*:first-child:before {
counter-increment: l2 0;
}
#l21 {
padding-left: 0pt;
counter-reset: m1 1;
}
#l21>li>*:first-child:before {
counter-increment: m1;
content: "(" counter(m1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l21>li:first-child>*:first-child:before {
counter-increment: m1 0;
}
</style>
</head>
<body>
TEXT HERE
</body>
</html>
</div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5">
</h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br><br><br><br>
</div><!--end card-body--> </div><!--end card-body-->
</div><!--end card--> </div><!--end card-->
</div><!--end auth-card--> </div><!--end auth-card-->
</div><!--end col--> </div><!--end col-->
</div><!--end row--> </div><!--end row-->
</div><!--end container--> </div><!--end container-->
<!-- End Log In page --> <!-- End Privacy Policy page -->
<!-- jQuery -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script> <script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script> <script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script> <script src="assets/js/bootstrap.bundle.min.js"></script>
+5 -5
View File
@@ -11,7 +11,7 @@ if (isset($_GET['idtd'])) {
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Aggiungi Production Place</title> <title><?php echo $addprodplace; ?></title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<style> <style>
.container { .container {
@@ -55,7 +55,7 @@ if (isset($_GET['idtd'])) {
<body> <body>
<div class="container mt-3"> <div class="container mt-3">
<h3>Aggiungi Production Place</h3> <h3><?php echo $addprodplace; ?></h3>
<form id="productionPlaceForm" method="post" action="save_datalocplace.php"> <form id="productionPlaceForm" method="post" action="save_datalocplace.php">
<div class="form-group row"> <div class="form-group row">
<label for="companyname" class="col-sm-2 col-form-label">Company Name</label> <label for="companyname" class="col-sm-2 col-form-label">Company Name</label>
@@ -114,7 +114,7 @@ if (isset($_GET['idtd'])) {
<div class="row"> <div class="row">
<div class="col-sm-9 offset-sm-3"> <div class="col-sm-9 offset-sm-3">
<button type="submit" class="btn btn-primary">Salva</button> <button type="submit" class="btn btn-primary"><?php echo $savebutton; ?></button>
</div> </div>
</div> </div>
<br> <br>
@@ -123,10 +123,10 @@ if (isset($_GET['idtd'])) {
<hr> <!-- Riga orizzontale --> <hr> <!-- Riga orizzontale -->
<form name="search"> <form name="search">
<div class="form-group row"> <div class="form-group row">
<label for="companysearch" class="col-sm-2 col-form-label">Ricerca azienda</label> <label for="companysearch" class="col-sm-2 col-form-label"><?php echo $searchcomp; ?></label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control" id="companysearch" name="companysearch" required> <input type="text" class="form-control" id="companysearch" name="companysearch" required>
<small class="form-text text-muted" style="font-size: 12px;">Inserisci almeno 3 caratteri del nome della compagnia per iniziare la ricerca.</small> <small class="form-text text-muted" style="font-size: 12px;"><?php echo $notesearchcomp; ?></small>
</div> </div>
</div> </div>
+14 -14
View File
@@ -12,7 +12,7 @@ if (isset($_POST['idcompany'])) {
} elseif (isset($_GET['idcompany'])) { } elseif (isset($_GET['idcompany'])) {
$idcompany = intval($_GET['idcompany']); $idcompany = intval($_GET['idcompany']);
} else { } else {
die("Errore: idcompany non specificato."); die(($_SESSION['langselect'] == 'en') ? "Error: idcompany not specified." : "Errore: idcompany non specificato.");
} }
include('languages/' . $_SESSION['langselect'] . '/tdgen.php'); include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
@@ -58,7 +58,7 @@ if (isset($_POST['submit'])) {
$stmt->execute(); $stmt->execute();
$stmt->close(); $stmt->close();
} else { } else {
echo "Errore durante l'aggiornamento nel database."; echo ($_SESSION['langselect'] == 'en') ? "Error during database update." : "Errore durante l'aggiornamento nel database.";
} }
} else { } else {
// Modalità INSERT // Modalità INSERT
@@ -69,7 +69,7 @@ if (isset($_POST['submit'])) {
$stmt->execute(); $stmt->execute();
$stmt->close(); $stmt->close();
} else { } else {
echo "Errore durante l'inserimento nel database."; echo ($_SESSION['langselect'] == 'en') ? "Error during database insertion." : "Errore durante l'inserimento nel database.";
} }
} }
$conn->close(); $conn->close();
@@ -80,12 +80,12 @@ if (isset($_POST['submit'])) {
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="<?php echo ($_SESSION['langselect'] == 'en') ? 'en' : 'it'; ?>">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $editMode ? 'Modifica Qualificazione' : 'Aggiungi Qualificazione'; ?></title> <title><?php echo $editMode ? ($_SESSION['langselect'] == 'en' ? 'Edit Qualification' : 'Modifica Qualificazione') : ($_SESSION['langselect'] == 'en' ? 'Add Qualification' : 'Aggiungi Qualificazione'); ?></title>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
<script src="ckeditor/build/ckeditor.js"></script> <script src="ckeditor/build/ckeditor.js"></script>
@@ -138,34 +138,34 @@ if (isset($_POST['submit'])) {
<body> <body>
<div class="container mt-5"> <div class="container mt-5">
<button type="button" class="btn btn-secondary" onclick="closeAndRefresh()">Chiudi e Aggiorna</button> <button type="button" class="btn btn-secondary" onclick="closeAndRefresh()"><?php echo ($_SESSION['langselect'] == 'en') ? 'Close and Refresh' : 'Chiudi e Aggiorna'; ?></button>
<h3><?php echo $editMode ? 'Modifica Controllo Qualità produzione' : 'Aggiungi Controllo Qualità produzione'; ?></h3> <h3><?php echo $editMode ? ($_SESSION['langselect'] == 'en' ? 'Edit Production Quality Control' : 'Modifica Controllo Qualità produzione') : ($_SESSION['langselect'] == 'en' ? 'Add Production Quality Control' : 'Aggiungi Controllo Qualità produzione'); ?></h3>
<form action="qualcheck.php?idcompany=<?php echo $idcompany; ?>" method="post"> <form action="qualcheck.php?idcompany=<?php echo $idcompany; ?>" method="post">
<input type="hidden" name="idcompany" value="<?php echo $idcompany; ?>"> <input type="hidden" name="idcompany" value="<?php echo $idcompany; ?>">
<input type="hidden" name="qualcheck_id" value="<?php echo $qualcheckId; ?>"> <input type="hidden" name="qualcheck_id" value="<?php echo $qualcheckId; ?>">
<div class="form-group"> <div class="form-group">
<label for="descriptionQualcheck">Descrizione:</label> <label for="descriptionQualcheck"><?php echo ($_SESSION['langselect'] == 'en') ? 'Description:' : 'Descrizione:'; ?></label>
<input type="text" class="form-control" id="descriptionQualcheck" name="descriptionqualcheck" value="<?php echo $description; ?>" required> <input type="text" class="form-control" id="descriptionQualcheck" name="descriptionqualcheck" value="<?php echo $description; ?>" required>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="qualcheckText">Controllo Qualità produzione:</label> <label for="qualcheckText"><?php echo ($_SESSION['langselect'] == 'en') ? 'Production Quality Control:' : 'Controllo Qualità produzione:'; ?></label>
<textarea class="form-control" id="qualcheckText" name="qualchecktext" rows="5"><?php echo $qualchecktext; ?></textarea> <textarea class="form-control" id="qualcheckText" name="qualchecktext" rows="5"><?php echo $qualchecktext; ?></textarea>
</div> </div>
<button type="submit" class="btn btn-primary" name="submit"><?php echo $editMode ? 'Aggiorna' : 'Aggiungi'; ?></button> <button type="submit" class="btn btn-primary" name="submit"><?php echo $editMode ? ($_SESSION['langselect'] == 'en' ? 'Update' : 'Aggiorna') : ($_SESSION['langselect'] == 'en' ? 'Add' : 'Aggiungi'); ?></button>
<?php if ($editMode) { ?> <?php if ($editMode) { ?>
<a href="qualcheck.php?idcompany=<?php echo $idcompany; ?>" class="btn btn-secondary">Annulla Modifica</a> <a href="qualcheck.php?idcompany=<?php echo $idcompany; ?>" class="btn btn-secondary"><?php echo ($_SESSION['langselect'] == 'en') ? 'Cancel Edit' : 'Annulla Modifica'; ?></a>
<?php } ?> <?php } ?>
</form> </form>
</div> </div>
<div class="container mt-5"> <div class="container mt-5">
<h3>Controllo Qualità produzione Inseriti</h3> <h3><?php echo ($_SESSION['langselect'] == 'en') ? 'Inserted Production Quality Controls' : 'Controllo Qualità produzione Inseriti'; ?></h3>
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>Descrizione</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Description' : 'Descrizione'; ?></th>
<th>Azioni</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Actions' : 'Azioni'; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
+75 -511
View File
@@ -19,6 +19,49 @@
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text strong,
.auth-logo-text span,
.auth-logo-text a {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-size: 10pt;
font-family: Calibri, sans-serif;
color: black;
}
.auth-logo-text p:first-child strong {
font-size: 14pt;
}
.auth-logo-text strong {
font-weight: bold;
}
.auth-logo-text a {
color: #00F;
text-decoration: underline;
}
.auth-logo-text p+p,
.auth-logo-text p+strong,
.auth-logo-text strong+p,
.auth-logo-text strong+strong {
margin-top: 20px;
}
.privacy-title {
font-size: 18pt !important;
font-weight: bold;
margin-bottom: 20px;
}
</style>
</head> </head>
<body class="account-body accountbg"> <body class="account-body accountbg">
@@ -43,526 +86,50 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TERMINI_E_CONDIZIONI_PPEASY</title> <title>Privacy Policy</title>
<meta name="author" content="Paola Crespi" /> <meta name="author" content="Paola Crespi" />
<style type="text/css">
* {
margin: 0;
padding: 0;
text-indent: 0;
}
h1 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 10pt;
}
.p,
p {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
margin: 0pt;
}
.s1 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 7pt;
}
.s2 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 8pt;
}
.s4 {
color: #00F;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.a,
a {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
.s5 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: underline;
font-size: 7pt;
}
.s7 {
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l1 {
padding-left: 0pt;
counter-reset: c1 1;
}
#l1>li>*:first-child:before {
counter-increment: c1;
content: "(" counter(c1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l1>li:first-child>*:first-child:before {
counter-increment: c1 0;
}
li {
display: block;
}
#l2 {
padding-left: 0pt;
counter-reset: d1 2;
}
#l2>li>*:first-child:before {
counter-increment: d1;
content: counter(d1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
}
#l3 {
padding-left: 0pt;
counter-reset: d2 1;
}
#l3>li>*:first-child:before {
counter-increment: d2;
content: counter(d1, decimal)"." counter(d2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l3>li:first-child>*:first-child:before {
counter-increment: d2 0;
}
#l4 {
padding-left: 0pt;
}
#l4>li>*:first-child:before {
content: "- ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
li {
display: block;
}
#l5 {
padding-left: 0pt;
counter-reset: e1 3;
}
#l5>li>*:first-child:before {
counter-increment: e1;
content: counter(e1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l5>li:first-child>*:first-child:before {
counter-increment: e1 0;
}
#l6 {
padding-left: 0pt;
counter-reset: e2 1;
}
#l6>li>*:first-child:before {
counter-increment: e2;
content: counter(e1, decimal)"." counter(e2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l6>li:first-child>*:first-child:before {
counter-increment: e2 0;
}
li {
display: block;
}
#l7 {
padding-left: 0pt;
counter-reset: f1 4;
}
#l7>li>*:first-child:before {
counter-increment: f1;
content: counter(f1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l7>li:first-child>*:first-child:before {
counter-increment: f1 0;
}
#l8 {
padding-left: 0pt;
counter-reset: f2 1;
}
#l8>li>*:first-child:before {
counter-increment: f2;
content: counter(f1, decimal)"." counter(f2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l8>li:first-child>*:first-child:before {
counter-increment: f2 0;
}
li {
display: block;
}
#l9 {
padding-left: 0pt;
counter-reset: g1 5;
}
#l9>li>*:first-child:before {
counter-increment: g1;
content: counter(g1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l9>li:first-child>*:first-child:before {
counter-increment: g1 0;
}
#l10 {
padding-left: 0pt;
counter-reset: g2 1;
}
#l10>li>*:first-child:before {
counter-increment: g2;
content: counter(g1, decimal)"." counter(g2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l10>li:first-child>*:first-child:before {
counter-increment: g2 0;
}
li {
display: block;
}
#l11 {
padding-left: 0pt;
counter-reset: h1 6;
}
#l11>li>*:first-child:before {
counter-increment: h1;
content: counter(h1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l11>li:first-child>*:first-child:before {
counter-increment: h1 0;
}
#l12 {
padding-left: 0pt;
counter-reset: h2 1;
}
#l12>li>*:first-child:before {
counter-increment: h2;
content: counter(h1, decimal)"." counter(h2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l12>li:first-child>*:first-child:before {
counter-increment: h2 0;
}
#l13 {
padding-left: 0pt;
}
#l13>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
#l14 {
padding-left: 0pt;
}
#l14>li>*:first-child:before {
content: "";
color: black;
font-family: Symbol, serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 10pt;
}
li {
display: block;
}
#l15 {
padding-left: 0pt;
counter-reset: i1 7;
}
#l15>li>*:first-child:before {
counter-increment: i1;
content: counter(i1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l15>li:first-child>*:first-child:before {
counter-increment: i1 0;
}
#l16 {
padding-left: 0pt;
counter-reset: i2 1;
}
#l16>li>*:first-child:before {
counter-increment: i2;
content: counter(i1, decimal)"." counter(i2, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l16>li:first-child>*:first-child:before {
counter-increment: i2 0;
}
#l17 {
padding-left: 0pt;
counter-reset: j1 1;
}
#l17>li>*:first-child:before {
counter-increment: j1;
content: "(" counter(j1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l17>li:first-child>*:first-child:before {
counter-increment: j1 0;
}
#l18 {
padding-left: 0pt;
counter-reset: k1 1;
}
#l18>li>*:first-child:before {
counter-increment: k1;
content: "(" counter(k1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l18>li:first-child>*:first-child:before {
counter-increment: k1 0;
}
li {
display: block;
}
#l19 {
padding-left: 0pt;
counter-reset: l1 8;
}
#l19>li>*:first-child:before {
counter-increment: l1;
content: counter(l1, decimal)" ";
color: black;
font-style: normal;
font-weight: normal;
text-decoration: none;
}
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
}
#l20 {
padding-left: 0pt;
counter-reset: l2 1;
}
#l20>li>*:first-child:before {
counter-increment: l2;
content: counter(l1, decimal)"." counter(l2, decimal)" ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: bold;
text-decoration: none;
font-size: 8pt;
}
#l20>li:first-child>*:first-child:before {
counter-increment: l2 0;
}
#l21 {
padding-left: 0pt;
counter-reset: m1 1;
}
#l21>li>*:first-child:before {
counter-increment: m1;
content: "(" counter(m1, lower-roman)") ";
color: black;
font-family: Calibri, sans-serif;
font-style: normal;
font-weight: normal;
text-decoration: none;
font-size: 8pt;
}
#l21>li:first-child>*:first-child:before {
counter-increment: m1 0;
}
</style>
</head> </head>
<body> <body>
TEXT HERE <br>
<p class="privacy-title">Privacy Policy</p>
<p><strong>Premesse</strong></p>
<p>Questo documento, concernente le politiche di riservatezza dei dati personali di &ldquo;CIMAC&rdquo; B.U. di Anci Servizi s.r.l. a socio unico (di seguito &ldquo;ANCI&rdquo;) che, tramite la societ&agrave; C.E. Soft s.r.l. gestisce la Piattaforma denominata PPeasy (di seguito la &ldquo;Piattaforma&rdquo;), e descrive le modalit&agrave; di trattamento dei dati personali degli utenti della Piattaforma<br>
Vi ricordiamo che &egrave; nostra prassi aggiornare costantemente i testi presenti in Piattaforma ed adeguarli alle novit&agrave; legislative. Pertanto, il presente documento potr&agrave; essere modificato a discrezione di ANCI in qualsiasi parte lo ritenga opportuno e l&apos;utilizzo successivo della Piattaforma ne determiner&agrave; l&apos;accettazione. ANCI raccomanda agli utenti di controllare il presente documento con regolarit&agrave;; eventuali aggiornamenti e/o modifiche saranno qui pubblicati.</p>
<p><strong>Privacy Policy</strong></p>
<p>In accordo con la Raccomandazione n. 2/2001 (raccomandazione delle autorit&agrave; europee per la protezione dei dati personali per individuare alcuni requisiti minimi per la raccolta di dati personali on-line, e, in particolare, le modalit&agrave;, i tempi e la natura delle informazioni che i titolari del trattamento devono fornire agli utenti quando questi si collegano a pagine web, indipendentemente dagli scopi del collegamento) e per come richiesto dall&rsquo;art 12 GDPR, Anci Servizi s.r.l. a socio unico, B.U. Cimac, nella sua qualit&agrave; di Titolare del trattamento dei dati personali ai sensi dell&rsquo;art 4 e 24 GDPR (da qui in avanti solo il Titolare), somministra la seguente informativa quale misura per fornire all&rsquo;interessato le informazioni di cui all&rsquo;art 13 GDPR e le comunicazioni di cui agli artt. da 15 a 22 e 34 GDPR relative al trattamento dei dati personali forniti in sede di accredito per l&rsquo;utilizzo della piattaforma e per il suo successivo uso.<br>
In via preliminare la informiamo che i Suoi dati personali sono trattati in base ai principi applicabili al trattamento di dati personali per come descritti nell&rsquo;art 5 GDPR, i.e. i principi di correttezza, pertinenza, trasparenza, adeguatezza, tutela della riservatezza e dei diritti ecc. e che il trattamento &egrave; svolto in base alle condizioni di liceit&agrave; previste ex art 6 GDPR, per le finalit&agrave; inerenti al rapporto instaurato con il Titolare ed infine che, navigando sulla Piattaforma, il Titolare non raccoglie alcun suo dato particolare per come definito in art 9 GDPR.<br>
Dagli utilizzatori della nostra Piattaforma trattiamo solo dati appartenenti alla tipologia di &ldquo;<em>Dati di Navigazione, Cookies e Dati comunicati dall&apos;utente e spontaneamente forniti,</em> raccogliamo, pertanto, un numero limitato di dati, che utilizziamo per migliorare la vostra esperienza d&rsquo;uso della nostra Piattaforma e per gestire i servizi che forniamo (ad es.: risposte alle vostre richieste) base giuridica: art 6 comma 1 lett. b ed f.</p>
<p>Qui pu&ograve; prendere visione della nostra Informativa sul trattamento dei dati personali.<br>&nbsp;<br><a href="https://www.cimac.it/modulo_certificazione/public/regolamentoprivacy.php">https://www.cimac.it/modulo_certificazione/public/regolamentoprivacy.php</a></p>
<p>In relazione ai <strong>dati di Navigazione</strong> segnaliamo che i sistemi informatici e le procedure software preposte al funzionamento della Piattaforma acquisiscono, nel corso del loro normale esercizio, alcuni dati personali la cui trasmissione &egrave; implicita nell&rsquo;uso dei protocolli di comunicazione di Internet. In questa categoria di dati rientrano gli indirizzi IP o i nomi a dominio dei computer e dei terminali utilizzati dagli utenti, gli indirizzi in dotazione URI/URL (Uniform Resource Identifier/Locator). I dati potrebbero essere utilizzati per l&rsquo;accertamento di responsabilit&agrave; in caso di ipotetici reati informatici. I dati di navigazione non persistono per pi&ugrave; di 30 giorni e vengono cancellati dopo l&rsquo;elaborazione (salve eventuali necessit&agrave; di accertamento di reati da parte dell&apos;Autorit&agrave; giudiziaria). Inoltre avremo contezza di ogni accesso effettuato tramite login alla presente Piattaforma in relazione alle pagine con accesso riservato<br>
In relazione ai <strong>Cookies</strong> presenti sulla Piattaforma si rimanda integralmente a quanto previsto nella cookies policy qui disponibile <a id="_anchor_2" href="#_msocom_2" language="JavaScript" name="_msoanchor_2">[ml2]</a>.</p>
<p><a href="https://www.cimac.it/modulo_certificazione/public/cookie-policy-it.php">https://www.cimac.it/modulo_certificazione/public/cookie-policy-it.php</a></p>
<p>Si ricorda che La piattaforma ed i suoi servizi sono destinati unicamente ai maggiorenni, nonch&eacute;, agli utenti registrati.<br>
Gli utenti con l&rsquo;accesso alla Piattaforma confermano, sotto piena ed esclusiva responsabilit&agrave; personale, di aver compiuto il diciottesimo anno di et&agrave; e di essere pienamente capaci di intendere e di volere.</p>
<p><strong>Responsabilit&agrave;</strong>
<p>Anci non sar&agrave; ritenuta in alcun modo responsabile del malfunzionamento della Piattaforma o dell&rsquo;impossibilit&agrave; o difficolt&agrave; di svolgere le prestazioni accessorie derivanti da responsabilit&agrave; dei gestori delle linee telefoniche, elettriche e di reti mondiali e nazionali, a titolo esemplificativo, ma non esaustivo, a seguito di guasti, sovraccarichi, interruzioni, ecc. ovvero da cause al di fuori della propria sfera di ragionevole controllo o da cause di forza maggiore o caso fortuito, quali, a titolo esemplificativo e non esaustivo, tumulti popolari, atti di terrorismo e di guerra, scioperi, sommosse, trombe d&rsquo;aria, uragani, alluvioni, incendi, epidemie, frane e smottamenti.<br>
ANCI si impegna a mantenere l&apos;efficienza e la funzionalit&agrave; della Piattaforma; qualora fosse costretta ad interromperne l&rsquo;uso per eventi eccezionali o per manutenzione, conterr&agrave; nel minor tempo possibile tali interruzioni o sospensioni.<br>
ANCI non sar&agrave; altres&igrave; responsabile per comportamenti o omissioni di terzi che pregiudichino il funzionamento della Piattaforma, compresi, in via esemplificativa e non esaustiva, i rallentamenti di velocit&agrave; o il mancato funzionamento delle linee telefoniche e degli elaboratori che gestiscono il traffico telematico tra gli utilizzatori e la Piattaforma.</p>
<p><strong>Applicazione della normativa</strong></p>
<p>L&rsquo;utente, accedendo alla Piattaforma e navigando nelle relative pagine web, dichiara di accettare la sottoposizione alle applicabili normative vigenti in Italia.<br>
&Egrave; nostra prassi rispondere agli utenti che inviano reclami scritti formali all&rsquo;indirizzo e-mail <a href="mailto:privacy@assocalzaturifici.it">privacy@assocalzaturifici.it</a> per approfondire il problema segnalato. Ci impegniamo a collaborare con le autorit&agrave; competenti, per dirimere eventuali reclami riguardo al trattamento di dati personali che non vengano risolti direttamente tra il Titolare ed i singoli privati.<br>
La presente privacy policy &egrave; disciplinata dalla legge italiana. Ogni controversia relativa al rispetto &egrave; soggetta in via non esclusiva alla giurisdizione italiana, con competenza del Tribunale di Milano.</p>
</body> </body>
</html> </html>
</div> <!--end auth-logo-text--> </div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5"> <h4 class="mt-0 mb-3 mt-5"></h4>
</h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br><br><br><br>
</div><!--end card-body--> </div><!--end card-body-->
</div><!--end card--> </div><!--end card-->
</div><!--end auth-card--> </div><!--end auth-card-->
@@ -571,10 +138,7 @@
</div><!--end container--> </div><!--end container-->
<!-- End Log In page --> <!-- End Log In page -->
<!-- jQuery -->
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script> <script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script> <script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script> <script src="assets/js/bootstrap.bundle.min.js"></script>
+6 -6
View File
@@ -40,11 +40,9 @@ if (isset($_POST["rangemeasuremaxtext"])) {
if (isset($_POST["articletype"])) { if (isset($_POST["articletype"])) {
$articletype = $_POST["articletype"]; $articletype = $_POST["articletype"];
} }
if (isset($_POST["previousreportnumber"])) { $previousreportnumber = isset($_POST["previousreportnumber"])
$previousreportnumber = $_POST["previousreportnumber"]; ? $_POST["previousreportnumber"]
} else { : null;
$previousreportnumber = '';
}
if (isset($_POST["toextend"])) { if (isset($_POST["toextend"])) {
$toextend = $_POST["toextend"]; $toextend = $_POST["toextend"];
} else { } else {
@@ -153,7 +151,9 @@ if (isset($formupdtrfdetails)) {
$UpdateQuery->bindColumn("idarticletype", "i", "$articletype", "WA_DEFAULT"); $UpdateQuery->bindColumn("idarticletype", "i", "$articletype", "WA_DEFAULT");
$UpdateQuery->bindColumn("idarticle_characteristics", "s", "$listartchar", "WA_DEFAULT"); $UpdateQuery->bindColumn("idarticle_characteristics", "s", "$listartchar", "WA_DEFAULT");
$UpdateQuery->bindColumn("registeredmark", "s", "$registeredmark", "WA_DEFAULT"); $UpdateQuery->bindColumn("registeredmark", "s", "$registeredmark", "WA_DEFAULT");
$UpdateQuery->bindColumn("previousreportnumber", "s", "$previousreportnumber", "WA_DEFAULT"); if ($previousreportnumber !== null) {
$UpdateQuery->bindColumn("previousreportnumber", "s", "$previousreportnumber", "WA_DEFAULT");
}
$UpdateQuery->bindColumn("toextend", "s", "$toextend", "WA_DEFAULT"); $UpdateQuery->bindColumn("toextend", "s", "$toextend", "WA_DEFAULT");
$UpdateQuery->bindColumn("revisionfor", "s", "$revisionfor", "WA_DEFAULT"); $UpdateQuery->bindColumn("revisionfor", "s", "$revisionfor", "WA_DEFAULT");
$UpdateQuery->bindColumn("renewdate", "s", "$renewdate", "WA_DEFAULT"); $UpdateQuery->bindColumn("renewdate", "s", "$renewdate", "WA_DEFAULT");
+17 -17
View File
@@ -152,23 +152,23 @@ $conn->close();
?> ?>
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="mt-0">Allega documenti al tuo fascicolo tecnico <i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center5"></i> <h4 class="mt-0"><?php echo ($_SESSION['langselect'] == 'en') ? 'Attach documents to your technical dossier' : 'Allega documenti al tuo fascicolo tecnico'; ?> <i class="fas fa-info-circle" data-toggle="modal" data-animation="bounce" data-target=".bs-example-modal-center5"></i></h4>
<div class="modal fade bs-example-modal-center5" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"> <div class="modal fade bs-example-modal-center5" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered"> <div class="modal-dialog modal-dialog-centered">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title mt-0" id="exampleModalLabel"><?php echo $m18btitle; ?></h5> <h5 class="modal-title mt-0" id="exampleModalLabel"><?php echo $m18btitle; ?></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p><?php echo nl2br($documenthelp); ?> <p><?php echo nl2br($documenthelp); ?>
</p> </p>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div><!-- /.modal --> </div><!-- /.modal -->
</h4> </h4>
+15 -11
View File
@@ -504,10 +504,14 @@ $conn->close();
<?php echo $ceexample; ?> <?php echo $ceexample; ?>
</div> </div>
<label class="my-3">Vuoi caricare un esempio di marcatura?</label> <label class="my-3"><?php echo $uploadExample; ?></label>
<select class="form-control data-field" data-column="cemarkupload" id="cemarkUploadSelect" name="cemarkupload"> <select class="form-control data-field" data-column="cemarkupload" id="cemarkUploadSelect" name="cemarkupload">
<option value="N" <?php echo (isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'N') ? 'selected' : ''; ?>>No</option> <option value="N" <?php echo (isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'N') ? 'selected' : ''; ?>>
<option value="Y" <?php echo (isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'Y') ? 'selected' : ''; ?>>Sì</option> <?php echo ($_SESSION['langselect'] == 'en') ? 'No' : 'No'; ?>
</option>
<option value="Y" <?php echo (isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'Y') ? 'selected' : ''; ?>>
<?php echo ($_SESSION['langselect'] == 'en') ? 'Yes' : 'Sì'; ?>
</option>
</select> </select>
<div id="inputFieldsSection" <?php echo (isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'N') ? '' : 'style="display: none;"'; ?>> <div id="inputFieldsSection" <?php echo (isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'N') ? '' : 'style="display: none;"'; ?>>
@@ -529,7 +533,7 @@ $conn->close();
$result = $stmt->get_result(); $result = $stmt->get_result();
// Inizia le opzioni con un'opzione di default che funge da prompt // Inizia le opzioni con un'opzione di default che funge da prompt
$options = "<option value=''>Seleziona un logo</option>"; $options = "<option value=''>$selectLogo</option>";
if ($result->num_rows > 0) { if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) { while ($row = $result->fetch_assoc()) {
@@ -541,7 +545,7 @@ $conn->close();
} }
} else { } else {
// Aggiungi un'opzione se non ci sono loghi disponibili // Aggiungi un'opzione se non ci sono loghi disponibili
$options .= "<option value=''>Nessun logo disponibile</option>"; $options .= "<option value=''>$noLogoAvailable</option>";
} }
$stmt->close(); $stmt->close();
$conn->close(); $conn->close();
@@ -551,7 +555,7 @@ $conn->close();
<select class="form-control data-field" data-column="manufacturerlogoid" id="logoSelection" name="manufacturerlogoid"> <select class="form-control data-field" data-column="manufacturerlogoid" id="logoSelection" name="manufacturerlogoid">
<?php echo $options; ?> <?php echo $options; ?>
</select><br> </select><br>
<a href="javascript:void(0);" onclick="openPopup()" style="font-size: small; text-decoration: underline; color: blue;">Aggiungi Logo</a> <a href="javascript:void(0);" onclick="openPopup()" style="font-size: small; text-decoration: underline; color: blue;"><?php echo $addLogo; ?></a>
<img id="selectedLogo" src="" alt="Selected Logo" style="max-width: 100px; margin-top: 10px; display: none;"> <img id="selectedLogo" src="" alt="Selected Logo" style="max-width: 100px; margin-top: 10px; display: none;">
@@ -604,7 +608,7 @@ $conn->close();
<div id="fileUploadSection" <?php echo isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'Y' ? '' : 'style="display: none;"'; ?>> <div id="fileUploadSection" <?php echo isset($rowtd['cemarkupload']) && $rowtd['cemarkupload'] == 'Y' ? '' : 'style="display: none;"'; ?>>
<form></form> <form></form>
<form action="upload_mark.php" method="post" id="uploadFormMark" name="uploadFormMark" enctype="multipart/form-data"> <form action="upload_mark.php" method="post" id="uploadFormMark" name="uploadFormMark" enctype="multipart/form-data">
<label class="my-3">Carica il file:</label> <label class="my-3"><?php echo ($_SESSION['langselect'] == 'en') ? 'Upload the file:' : 'Carica il file:'; ?></label>
<?php <?php
// Connessione al database // Connessione al database
$conn = new mysqli($servername, $username, $password, $dbname); $conn = new mysqli($servername, $username, $password, $dbname);
@@ -637,7 +641,7 @@ $conn->close();
if ($fileUploaded) { if ($fileUploaded) {
// Inizia la tabella // Inizia la tabella
echo "<table class='table'>"; echo "<table class='table'>";
echo "<thead><tr><th>Anteprima</th><th>File</th><th>Azione</th></tr></thead>"; echo "<thead><tr><th>" . ($_SESSION['langselect'] == 'en' ? 'Preview' : 'Anteprima') . "</th><th>" . ($_SESSION['langselect'] == 'en' ? 'File' : 'File') . "</th><th>" . ($_SESSION['langselect'] == 'en' ? 'Action' : 'Azione') . "</th></tr></thead>";
echo "<tbody>"; echo "<tbody>";
while ($rowtdfile = $resulttdfile->fetch_assoc()) { while ($rowtdfile = $resulttdfile->fetch_assoc()) {
$filePath = 'uploadtddocuments/' . htmlspecialchars($rowtdfile['filename_fileattached']); $filePath = 'uploadtddocuments/' . htmlspecialchars($rowtdfile['filename_fileattached']);
@@ -786,7 +790,7 @@ $conn->close();
$resultqual = $stmt->get_result(); $resultqual = $stmt->get_result();
// Inizia le opzioni con un'opzione di default che funge da prompt // Inizia le opzioni con un'opzione di default che funge da prompt
$options = "<option value=''>Seleziona un controllo di qualità</option>"; $options = "<option value=''>$selectQualityControl </option>";
if ($resultqual->num_rows > 0) { if ($resultqual->num_rows > 0) {
@@ -816,7 +820,7 @@ $conn->close();
$conn->close(); $conn->close();
?> ?>
<label class="my-3">Descrizione mezzi di controllo della produzione</label> <label class="my-3"><?php echo $productionControlDescription; ?></label>
<select class="form-control data-field" data-column="proddescription" id="proddesc" name="proddescription"> <select class="form-control data-field" data-column="proddescription" id="proddesc" name="proddescription">
<?php echo $options; ?> <?php echo $options; ?>
</select><br> </select><br>
@@ -840,7 +844,7 @@ $conn->close();
}); });
</script> </script>
<br> <br>
<a href="javascript:void(0);" onclick="openPopup2()" style="font-size: small; text-decoration: underline; color: blue;">Aggiungi mezzi di controllo</a><br> <a href="javascript:void(0);" onclick="openPopup2()" style="font-size: small; text-decoration: underline; color: blue;"><?php echo $addControlMeans; ?></a><br>
<br> <br>
+19 -7
View File
@@ -25,11 +25,23 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Lista dei campi da sanificare e controllare se sono piene // Lista dei campi da sanificare e controllare se sono piene
$fields = [ $fields = [
'productionplace_same', 'classificationshoes', 'destinationuseppe', 'productionplace_same',
'manufacutringprocess', 'ppeageing', 'obsolescencedeadline', 'classificationshoes',
'localisationppemarking', 'manufacturerlogoid', 'sizeexamplecemark', 'destinationuseppe',
'monthyearprod', 'serialbatchnumber', 'standarduse', 'symbolsaddreq', 'manufacutringprocess',
'proddescription', 'packaging', 'declarconformity', 'webaddress' 'ppeageing',
'obsolescencedeadline',
'localisationppemarking',
'manufacturerlogoid',
'sizeexamplecemark',
'monthyearprod',
'serialbatchnumber',
'standarduse',
'symbolsaddreq',
'proddescription',
'packaging',
'declarconformity',
'webaddress'
]; ];
foreach ($fields as $field) { foreach ($fields as $field) {
@@ -382,7 +394,7 @@ $archivetrflist->execute(); ?>
<?php while (!$riskquery->atEnd()) { ?> <?php while (!$riskquery->atEnd()) { ?>
<tr> <tr>
<th scope="row"><?php echo $riskquery->getColumnVal("risknumber"); ?></th> <th scope="row"><?php echo $riskquery->getColumnVal("risknumber"); ?></th>
<td><?php echo $riskquery->getColumnVal("riskname_it"); ?></td> <td><?php echo ($_SESSION['langselect'] == 'en') ? $riskquery->getColumnVal("riskname_en") : $riskquery->getColumnVal("riskname_it"); ?></td>
<td> <td>
<div class="custom-control custom-checkbox"> <div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck<?php echo $riskquery->getColumnVal("risknumber"); ?>" <?php if ($riskquery->getColumnVal("applicable") == "1") echo 'checked'; ?>> <input type="checkbox" class="custom-control-input" id="customCheck<?php echo $riskquery->getColumnVal("risknumber"); ?>" <?php if ($riskquery->getColumnVal("applicable") == "1") echo 'checked'; ?>>
@@ -393,7 +405,7 @@ $archivetrflist->execute(); ?>
<td style="width: 40%;"> <td style="width: 40%;">
<div class="col-sm-24"> <div class="col-sm-24">
<select class="form-control data-field" data-column="coveredby" id="coveredby<?php echo $riskquery->getColumnVal("risknumber"); ?>" name="coveredby"> <select class="form-control data-field" data-column="coveredby" id="coveredby<?php echo $riskquery->getColumnVal("risknumber"); ?>" name="coveredby">
<option value="default" <?php echo ($coveredbyValue === '' || $coveredbyValue === null) ? 'selected' : ''; ?>>Seleziona/Select</option> <option value="default" <?php echo ($coveredbyValue === '' || $coveredbyValue === null) ? 'selected' : ''; ?>><?php echo ($_SESSION['langselect'] == 'en') ? 'Select' : 'Seleziona'; ?></option>
<option value="coverone" <?php echo ($coveredbyValue == 'coverone') ? 'selected' : ''; ?>><?php echo $coverone; ?></option> <option value="coverone" <?php echo ($coveredbyValue == 'coverone') ? 'selected' : ''; ?>><?php echo $coverone; ?></option>
<option value="covertwo" <?php echo ($coveredbyValue == 'covertwo') ? 'selected' : ''; ?>><?php echo $covertwo; ?></option> <option value="covertwo" <?php echo ($coveredbyValue == 'covertwo') ? 'selected' : ''; ?>><?php echo $covertwo; ?></option>
<option value="coverthree" <?php echo ($coveredbyValue == 'coverthree') ? 'selected' : ''; ?>><?php echo $coverthree; ?></option> <option value="coverthree" <?php echo ($coveredbyValue == 'coverthree') ? 'selected' : ''; ?>><?php echo $coverthree; ?></option>
+24 -16
View File
@@ -178,13 +178,16 @@ $idart = $tdquery->getColumnVal("idarticletype");
<?php <?php
// parts // parts
$conn = new mysqli($servername, $username, $password, $dbname); $conn = new mysqli($servername, $username, $password, $dbname);
$partquerylist = "SELECT * FROM partsname WHERE partsname.idarticle='$idart'"; $partquerylist = "SELECT * FROM partsname WHERE partsname.idarticle=?";
$partqueryliststmd = $conn->prepare($partquerylist); $partqueryliststmd = $conn->prepare($partquerylist);
$partqueryliststmd->bind_param("i", $idart);
$partqueryliststmd->execute(); $partqueryliststmd->execute();
$resultpartquery = $partqueryliststmd->get_result(); $resultpartquery = $partqueryliststmd->get_result();
// Copia i risultati in un array // Copia i risultati in un array
$partRows = []; $partRows = [];
while ($row = $resultpartquery->fetch_assoc()) { while ($row = $resultpartquery->fetch_assoc()) {
// Aggiungi partsnameeng con fallback a partsnameita se non esiste
$row['partsnameeng'] = isset($row['partsnameeng']) ? $row['partsnameeng'] : $row['partsnameita'];
$partRows[] = $row; $partRows[] = $row;
} }
$partqueryliststmd->close(); $partqueryliststmd->close();
@@ -195,25 +198,29 @@ switch ($idart) {
case 1: case 1:
$partRows[] = [ $partRows[] = [
'partsnumber' => '99', 'partsnumber' => '99',
'partsnameita' => 'Calzatura completa' 'partsnameita' => 'Calzatura completa',
'partsnameeng' => 'Complete Footwear'
]; ];
break; break;
case 2: case 2:
$partRows[] = [ $partRows[] = [
'partsnumber' => '99', 'partsnumber' => '99',
'partsnameita' => 'Guanto Completo' 'partsnameita' => 'Guanto Completo',
'partsnameeng' => 'Complete Glove'
]; ];
break; break;
case 3: case 3:
$partRows[] = [ $partRows[] = [
'partsnumber' => '99', 'partsnumber' => '99',
'partsnameita' => 'Semimaschera completa' 'partsnameita' => 'Semimaschera completa',
'partsnameeng' => 'Complete Half-Mask'
]; ];
break; break;
case 4: case 4:
$partRows[] = [ $partRows[] = [
'partsnumber' => '99', 'partsnumber' => '99',
'partsnameita' => 'Indumento completo' 'partsnameita' => 'Indumento completo',
'partsnameeng' => 'Complete Garment'
]; ];
break; break;
} }
@@ -447,10 +454,10 @@ $archivetrflist->execute(); ?>
<?php if ($canEdit) : ?> <?php if ($canEdit) : ?>
<td> <td>
<select class="form-control parts-dropdown" id="listparts_<?php echo $partsquery->getColumnVal("ididentificationparts"); ?>" name="listparts" style="width: 115px;"> <select class="form-control parts-dropdown" id="listparts_<?php echo $partsquery->getColumnVal("ididentificationparts"); ?>" name="listparts" style="width: 115px;">
<option value="">Seleziona</option> <option value=""><?php echo ($_SESSION['langselect'] == 'en') ? 'Select' : 'Seleziona'; ?></option>
<?php foreach ($partRows as $row) { ?> <?php foreach ($partRows as $row) { ?>
<option value="<?php echo $row['partsnumber']; ?>" data-partsnameita="<?php echo htmlspecialchars($row['partsnameita'], ENT_QUOTES, 'UTF-8'); ?>"> <option value="<?php echo $row['partsnumber']; ?>" data-partsnameita="<?php echo htmlspecialchars($row['partsnameita'], ENT_QUOTES, 'UTF-8'); ?>" data-partsnameeng="<?php echo htmlspecialchars($row['partsnameeng'], ENT_QUOTES, 'UTF-8'); ?>">
<?php echo $row['partsnumber'] . ' - ' . $row['partsnameita']; ?> <?php echo $row['partsnumber'] . ' - ' . ($_SESSION['langselect'] == 'en' ? $row['partsnameeng'] : $row['partsnameita']); ?>
</option> </option>
<?php } ?> <?php } ?>
</select> </select>
@@ -492,7 +499,7 @@ $archivetrflist->execute(); ?>
</table> </table>
<br> <br>
<?php if ($canEdit) : ?> <?php if ($canEdit) : ?>
<button id="addPart" class="btn btn-primary">Aggiungi Parte</button> <button id="addPart" class="btn btn-primary"><?php echo $addPart; ?></button>
<?php endif; ?> <?php endif; ?>
</form> </form>
@@ -506,9 +513,10 @@ $archivetrflist->execute(); ?>
// Imposta gli event listener su ciascuna tendina // Imposta gli event listener su ciascuna tendina
listPartsDropdowns.forEach(dropdown => { listPartsDropdowns.forEach(dropdown => {
dropdown.addEventListener('change', function() { dropdown.addEventListener('change', function() {
// Ottieni il valore selezionato e il valore data-partsnameita dell'opzione selezionata // Ottieni il valore selezionato e i valori data-partsnameita e data-partsnameeng dell'opzione selezionata
const partsnumber = this.value; const partsnumber = this.value;
const partsnameita = this.options[this.selectedIndex].getAttribute('data-partsnameita'); const partsnameita = this.options[this.selectedIndex].getAttribute('data-partsnameita');
const partsnameeng = this.options[this.selectedIndex].getAttribute('data-partsnameeng');
// Trova gli input vicini. Qui assumiamo che gli input siano sempre nelle celle consecutive. // Trova gli input vicini. Qui assumiamo che gli input siano sempre nelle celle consecutive.
// Modifica questa logica se la struttura della tua tabella è diversa. // Modifica questa logica se la struttura della tua tabella è diversa.
@@ -518,7 +526,7 @@ $archivetrflist->execute(); ?>
// Aggiorna i valori degli input // Aggiorna i valori degli input
if (partsidnumberInput) partsidnumberInput.value = partsnumber; if (partsidnumberInput) partsidnumberInput.value = partsnumber;
if (descriptionInput) descriptionInput.value = partsnameita; if (descriptionInput) descriptionInput.value = <?php echo ($_SESSION['langselect'] == 'en') ? 'partsnameeng' : 'partsnameita'; ?>;
}); });
}); });
}); });
@@ -615,15 +623,15 @@ $archivetrflist->execute(); ?>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="card card-body"> <div class="card card-body">
<h4 class="card-title mt-0">Agenti Chimici</h4> <h4 class="card-title mt-0"><?php echo ($_SESSION['langselect'] == 'en') ? 'Chemical Agents' : 'Agenti Chimici'; ?></h4>
<p class="card-text text-muted ">Aggiorna di seguito i livelli e percentuale di degradazione per agenti chimici</p> <p class="card-text text-muted"><?php echo ($_SESSION['langselect'] == 'en') ? 'Update the levels and degradation percentage for chemical agents below' : 'Aggiorna di seguito i livelli e percentuale di degradazione per agenti chimici'; ?></p>
<table class="table mb-0"> <table class="table mb-0">
<thead class="thead-light"> <thead class="thead-light">
<tr> <tr>
<th>Chemical Agent</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Chemical Agent' : 'Agente Chimico'; ?></th>
<th>Livello</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Level' : 'Livello'; ?></th>
<th>Degradazione percentuale</th> <th><?php echo ($_SESSION['langselect'] == 'en') ? 'Percentage Degradation' : 'Degradazione percentuale'; ?></th>
</tr> </tr>
</thead> </thead>
<?php <?php
+15 -10
View File
@@ -831,7 +831,7 @@ $html .= <<<HTML
// Aggiungi qui il codice PHP fornito // Aggiungi qui il codice PHP fornito
while (!$riskquery->atEnd()) { while (!$riskquery->atEnd()) {
$risknumber = $riskquery->getColumnVal("risknumber"); $risknumber = $riskquery->getColumnVal("risknumber");
$riskname_it = $riskquery->getColumnVal("riskname_it"); $riskname_it = $riskquery->getColumnVal($_SESSION['langselect'] == 'en' ? "riskname_en" : "riskname_it");
$applicable = ($riskquery->getColumnVal("applicable") == "1") ? 'checked' : ''; $applicable = ($riskquery->getColumnVal("applicable") == "1") ? 'checked' : '';
$customCheckId = "customCheck{$risknumber}"; $customCheckId = "customCheck{$risknumber}";
$covertext = ''; $covertext = '';
@@ -961,12 +961,17 @@ if ($cemarkup == 'Y' && $fileUploaded) {
$fileDescription = htmlspecialchars($fileDetails['description_fileattached']); $fileDescription = htmlspecialchars($fileDetails['description_fileattached']);
$fileExtension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION)); $fileExtension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION));
$textexmark = ($_SESSION['langselect'] === 'en')
? 'FILE (if different from image, the file is included in the zip as an attachment)'
: 'FILE (se diverso da immagine il file è caricato nello zip come allegato)';
$html .= <<<HTML $html .= <<<HTML
<tr> <tr>
<td class="first-column">FILE (se diverso da immagine il file è caricato nello zip come allegato)</td> <td class="first-column">$textexmark</td>
<td> <td>
HTML; HTML;
if (in_array($fileExtension, ['jpg', 'jpeg', 'png', 'gif'])) { if (in_array($fileExtension, ['jpg', 'jpeg', 'png', 'gif'])) {
$html .= "<img src='$filePath' alt='$fileDescription' style='max-height: 200px;'>"; $html .= "<img src='$filePath' alt='$fileDescription' style='max-height: 200px;'>";
} else { } else {
@@ -1008,15 +1013,15 @@ HTML;
<td class="header-data">{$serialbatchnumber}</td> <td class="header-data">{$serialbatchnumber}</td>
</tr> </tr>
<tr> <tr>
<td class="first-column">Numero ed anno della norma armonizzata utilizzata</td> <td class="first-column">Numero ed anno della norma armonizzata utilizzata / Number and year of the harmonised standard used</td>
<td class="header-data">{$standarduse}</td> <td class="header-data">{$standarduse}</td>
</tr> </tr>
<tr> <tr>
<td class="first-column">Simbolo/i dei requisiti supplementari</td> <td class="first-column">Simbolo/i dei requisiti supplementari / Symbol(s) of additional requirements</td>
<td class="header-data">{$symbolsaddreq}</td> <td class="header-data">{$symbolsaddreq}</td>
</tr> </tr>
<tr> <tr>
<td class="first-column">Marcatura CE</td> <td class="first-column">Marcatura CE / CE marking</td>
<td> <td>
<img src="{$base_url}assets/images/ce.jpg" alt="CE Image" style="width:100px;"> <img src="{$base_url}assets/images/ce.jpg" alt="CE Image" style="width:100px;">
HTML; HTML;
@@ -1095,15 +1100,15 @@ $html .= <<<HTML
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td class="first-column">Imballaggio</td> <td class="first-column">{$packtitle}</td>
<td class="header-data">{$packaging}</td> <td class="header-data">{$packaging}</td>
</tr> </tr>
<tr> <tr>
<td class="first-column">Dichiarazione di conformità UE</td> <td class="first-column">{$dectitle}</td>
<td class="header-data">{$declartext}</td> <td class="header-data">{$declartext}</td>
</tr> </tr>
<tr> <tr>
<td class="first-column">Indirizzo del sito web</td> <td class="first-column">{$webtitle}</td>
<td class="header-data">{$webaddress}</td> <td class="header-data">{$webaddress}</td>
</tr> </tr>
+165 -124
View File
@@ -19,6 +19,51 @@
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text ul,
.auth-logo-text li,
.auth-logo-text h1,
.auth-logo-text a {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-size: 10pt;
/* Uniform font size for all text and links */
font-family: Calibri, sans-serif;
}
.auth-logo-text ul {
padding-left: 20px;
}
.auth-logo-text h1 {
font-weight: bold;
margin-top: 20px;
}
.auth-logo-text p+p,
.auth-logo-text p+ul,
.auth-logo-text ul+p,
.auth-logo-text h1+p,
.auth-logo-text h1+ul,
.auth-logo-text p+h1,
.auth-logo-text ul+h1 {
margin-top: 20px;
/* Extra spacing between paragraphs, lists, and headings */
}
.auth-logo-text a {
color: #00F;
/* Maintain link color */
text-decoration: underline;
/* Maintain link underline */
}
</style>
</head> </head>
<body class="account-body accountbg"> <body class="account-body accountbg">
@@ -78,7 +123,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 7pt; font-size: 10pt;
} }
.s2 { .s2 {
@@ -87,7 +132,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: underline; text-decoration: underline;
font-size: 8pt; font-size: 10pt;
} }
.s4 { .s4 {
@@ -96,7 +141,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
.a, .a,
@@ -106,7 +151,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
.s5 { .s5 {
@@ -115,7 +160,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: underline; text-decoration: underline;
font-size: 7pt; font-size: 10pt;
} }
.s7 { .s7 {
@@ -124,7 +169,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
li { li {
@@ -144,7 +189,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l1>li:first-child>*:first-child:before { #l1>li:first-child>*:first-child:before {
@@ -167,10 +212,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
} }
#l3 { #l3 {
@@ -186,7 +228,7 @@
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l3>li:first-child>*:first-child:before { #l3>li:first-child>*:first-child:before {
@@ -204,7 +246,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
li { li {
@@ -223,6 +265,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l5>li:first-child>*:first-child:before { #l5>li:first-child>*:first-child:before {
@@ -242,7 +285,7 @@
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l6>li:first-child>*:first-child:before { #l6>li:first-child>*:first-child:before {
@@ -265,6 +308,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l7>li:first-child>*:first-child:before { #l7>li:first-child>*:first-child:before {
@@ -284,7 +328,7 @@
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l8>li:first-child>*:first-child:before { #l8>li:first-child>*:first-child:before {
@@ -307,6 +351,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l9>li:first-child>*:first-child:before { #l9>li:first-child>*:first-child:before {
@@ -326,7 +371,7 @@
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l10>li:first-child>*:first-child:before { #l10>li:first-child>*:first-child:before {
@@ -349,6 +394,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l11>li:first-child>*:first-child:before { #l11>li:first-child>*:first-child:before {
@@ -368,7 +414,7 @@
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l12>li:first-child>*:first-child:before { #l12>li:first-child>*:first-child:before {
@@ -419,6 +465,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l15>li:first-child>*:first-child:before { #l15>li:first-child>*:first-child:before {
@@ -437,6 +484,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l16>li:first-child>*:first-child:before { #l16>li:first-child>*:first-child:before {
@@ -456,7 +504,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l17>li:first-child>*:first-child:before { #l17>li:first-child>*:first-child:before {
@@ -476,7 +524,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l18>li:first-child>*:first-child:before { #l18>li:first-child>*:first-child:before {
@@ -499,10 +547,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
} }
#l20 { #l20 {
@@ -518,7 +563,7 @@
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l20>li:first-child>*:first-child:before { #l20>li:first-child>*:first-child:before {
@@ -538,7 +583,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l21>li:first-child>*:first-child:before { #l21>li:first-child>*:first-child:before {
@@ -548,138 +593,139 @@
</head> </head>
<body> <body>
<h1 style="padding-top: 2pt;text-indent: 0pt;text-align: center;">TERMINI E CONDIZIONI DUSO DELLA PIATTAFORMA PPEASY</h1>
<p style="text-indent: 0pt;text-align: left;"><br /></p> <p style="text-indent: 0pt;text-align: left;"><br /></p>
<p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: justify;">Laccesso e lutilizzo della piattaforma PPEASY, software nella disponibilità di ANCI SERVIZI Srl a Socio Unico, con sede legale in Via Alberto Riva di Villasanta 3, Milano, P. IVA 07199040150 (di seguito <b>ANCI</b>), sono subordinati allaccettazione integrale delle presenti condizioni duso (di seguito, i <b>Termini e Condizioni</b>).</p> <h1 style="padding-top: 2pt;text-indent: 0pt;text-align: left;">TERMINI E CONDIZIONI DUSO DELLA PIATTAFORMA PPEASY</h1>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">LUtente finale (di seguito il “Cliente”), proseguendo nellutilizzo della Piattaforma, dichiara di avere letto, compreso e accettato integralmente i presenti Termini e Condizioni, i quali costituiscono un contratto giuridicamente vincolante tra ANCI e il Cliente medesimo (inteso come utente finale).</p> <p style="text-indent: 0pt;text-align: left;"></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">La piattaforma PPEASY è riservata esclusivamente a soggetti che agiscono nellambito della propria attività imprenditoriale, commerciale, artigianale o professionale e non può essere utilizzata da consumatori ai sensi del D.lgs. 206/2005 (Codice del Consumo). Il Cliente si impegna pertanto a utilizzare la Piattaforma unicamente per finalità connesse alla propria attività professionale.</p> <p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">Laccesso e lutilizzo della piattaforma PPEASY, software nella disponibilità di ANCI SERVIZI Srl a Socio Unico, con sede legale in Via Alberto Riva di Villasanta 3, Milano, P. IVA 07199040150 (di seguito <b>ANCI</b>), sono subordinati allaccettazione integrale delle presenti condizioni duso (di seguito, i <b>Termini e Condizioni</b>).</p>
<h1 style="padding-left: 94pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Premesso che</h1> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">LUtente finale (di seguito il “Cliente”), proseguendo nellutilizzo della Piattaforma, dichiara di avere letto, compreso e accettato integralmente i presenti Termini e Condizioni, i quali costituiscono un contratto giuridicamente vincolante tra ANCI e il Cliente medesimo (inteso come utente finale).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">La piattaforma PPEASY è riservata esclusivamente a soggetti che agiscono nellambito della propria attività imprenditoriale, commerciale, artigianale o professionale e non può essere utilizzata da consumatori ai sensi del D.lgs. 206/2005 (Codice del Consumo). Il Cliente si impegna pertanto a utilizzare la Piattaforma unicamente per finalità connesse alla propria attività professionale.</p>
<h1 style="padding-left: 94pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Premesso che</h1>
<ol id="l1"> <ol id="l1">
<li data-list-text="(i)"> <li data-list-text="(i)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">ANCI, sublicenziante della azienda CE SOFT S.r.l (di seguito “CESOFT”), ha ottenuto in licenza con facoltà di sublicenziare la piattaforma PPEASY, un applicativo software che permette ai Clienti di gestire direttamente ed autonomamente, la raccolta e lorganizzazione di propri dati ed informazioni nonchè eventualmente dei propri clienti e/o potenziali clienti nonché lautogenerazione di proposte di acquisto di servizi degli stessi ed in particolare di servizi di test e certificazione di prodotti;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI, sublicenziante della azienda CE SOFT S.r.l (di seguito “CESOFT”), ha ottenuto in licenza con facoltà di sublicenziare la piattaforma PPEASY, un applicativo software che permette ai Clienti di gestire direttamente ed autonomamente, la raccolta e lorganizzazione di propri dati ed informazioni nonchè eventualmente dei propri clienti e/o potenziali clienti nonché lautogenerazione di proposte di acquisto di servizi degli stessi ed in particolare di servizi di test e certificazione di prodotti;</p>
</li> </li>
<li data-list-text="(ii)"> <li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">lapplicativo è uno strumento riservato a soggetti professionali e il Cliente si impegna ad utilizzarla esclusivamente in relazione alla propria attività imprenditoriale <span class="s1">per </span>le esclusive finalità di organizzazione e di gestione della propria attività professionale.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">lapplicativo è uno strumento riservato a soggetti professionali e il Cliente si impegna ad utilizzarla esclusivamente in relazione alla propria attività imprenditoriale <span class="s1">per </span>le esclusive finalità di organizzazione e di gestione della propria attività professionale.</p>
</li> </li>
</ol> </ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Le presenti condizioni regolano luso della Piattaforma PPEASY sulla base delle premesse che seguono, le quali ne costituiscono parte integrante e sostanziale restando inteso che le premesse e gli allegati (es. link esterni) al presente contratto (es. scheda anagrafica Cliente, lordine di attivazione) costituiscono parte integrante e sostanziale dello stesso.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Le presenti condizioni regolano luso della Piattaforma PPEASY sulla base delle premesse che seguono, le quali ne costituiscono parte integrante e sostanziale restando inteso che le premesse e gli allegati (es. link esterni) al presente contratto (es. scheda anagrafica Cliente, lordine di attivazione) costituiscono parte integrante e sostanziale dello stesso.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Articolo 1. Definizioni.</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Articolo 1. Definizioni.</h1>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In relazione ai presente Termini e Condizioni si indicano qui di seguito i significati da attribuire a termini ed espressioni ricorrenti: <b>Contratto</b>: indica i presenti Termini e Condizioni comprensivi di specifici servizi (vedi infra) della piattaforma PPEASY infra specificatamente definita, accettato digitalmente dal Cliente al momento della registrazione o primo accesso alla Piattaforma PPEASY;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In relazione ai presente Termini e Condizioni si indicano qui di seguito i significati da attribuire a termini ed espressioni ricorrenti: <b>Contratto</b>: indica i presenti Termini e Condizioni comprensivi di specifici servizi (vedi infra) della piattaforma PPEASY infra specificatamente definita, accettato digitalmente dal Cliente al momento della registrazione o primo accesso alla Piattaforma PPEASY;</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Piattaforma PPEASY<span class="p">: software accessibile on line in versione eseguibile e installato presso infrastrutture tecniche gestite da ANCI tramite propri sub-responsabili tecnici che permette ai Clienti di gestire direttamente ed autonomamente, la raccolta e lorganizzazione di propri dati ed informazioni nonchè eventualemente dei propri clienti e/o potenziali clienti nonché lautogenerazione di proposte di acquisto di servizi del Cliente; </span>Servizi Inclusi<span class="p">: (i) i servizi di terze parti, (ii) di accesso in sub licenza alla Piattaforma PPEASY da parte dei Clienti, (iii) di ordinaria manutenzione e aggiornamento, al fine di mantenere correttamente funzionante la Piattaforma PPEASY e implementare le sue funzionalità;</span></h1> <h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Piattaforma PPEASY<span class="p">: software accessibile on line in versione eseguibile e installato presso infrastrutture tecniche gestite da ANCI tramite propri sub-responsabili tecnici che permette ai Clienti di gestire direttamente ed autonomamente, la raccolta e lorganizzazione di propri dati ed informazioni nonchè eventualemente dei propri clienti e/o potenziali clienti nonché lautogenerazione di proposte di acquisto di servizi del Cliente; </span>Servizi Inclusi<span class="p">: (i) i servizi di terze parti, (ii) di accesso in sub licenza alla Piattaforma PPEASY da parte dei Clienti, (iii) di ordinaria manutenzione e aggiornamento, al fine di mantenere correttamente funzionante la Piattaforma PPEASY e implementare le sue funzionalità;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Richieste: <span class="p">le richieste di acquisto dei servizi di test e di certificazione del Cliente autogenerate mediante la Piattaforma PPEASY previo inserimento di specifiche informazioni e dati;</span></h1> <h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Richieste: <span class="p">le richieste di acquisto dei servizi di test e di certificazione del Cliente autogenerate mediante la Piattaforma PPEASY previo inserimento di specifiche informazioni e dati;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Data di attivazione<span class="p">: la data di registrazione alla Piattaforma PPEASY del Cliente;</span></h1> <h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Data di attivazione<span class="p">: la data di registrazione alla Piattaforma PPEASY del Cliente;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Scheda Cliente<span class="p">: il modulo elettronico contenente i dati anagrafici del Cliente compilato in fase di attivazione/registrazione sulla Piattaforma PPEASY;</span></h1> <h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Scheda Cliente<span class="p">: il modulo elettronico contenente i dati anagrafici del Cliente compilato in fase di attivazione/registrazione sulla Piattaforma PPEASY;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Ordine di Attivazione<span class="p">: lattivazione delle funzionalità della Piattaforma PPEASY effettuata dal Cliente previa registrazione on line alla stessa con cui il Cliente attiva la licenza e i Servizi Inclusi; </span>Proprietà intellettuale<span class="p">: qualsiasi diritto di proprietà intellettuale regolato, di volta in volta, dalle leggi sui brevetti, sulla protezione dei chip semiconduttori, sul diritto d&#39;autore, sul segreto industriale, sui marchi e su ogni altro diritto di proprietà intellettuale registrato e non registrato, nonché eventuali applicazioni, rinnovi, estensioni,</span></h1> <h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Ordine di Attivazione<span class="p">: lattivazione delle funzionalità della Piattaforma PPEASY effettuata dal Cliente previa registrazione on line alla stessa con cui il Cliente attiva la licenza e i Servizi Inclusi; </span>Proprietà intellettuale<span class="p">: qualsiasi diritto di proprietà intellettuale regolato, di volta in volta, dalle leggi sui brevetti, sulla protezione dei chip semiconduttori, sul diritto d&#39;autore, sul segreto industriale, sui marchi e su ogni altro diritto di proprietà intellettuale registrato e non registrato, nonché eventuali applicazioni, rinnovi, estensioni,</span></h1>
<p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: justify;">reintroduzioni e ripristini, attualmente in vigore o attuabili in futuro, in tutto il mondo.</p> <p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">reintroduzioni e ripristini, attualmente in vigore o attuabili in futuro, in tutto il mondo.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Sezione 2: Condizioni duso della Piattaforma PPEASY</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Sezione 2: Condizioni duso della Piattaforma PPEASY</h1>
<ol id="l2"> <ol id="l2">
<ol id="l3"> <ol id="l3">
<li data-list-text="2.1"> <li data-list-text="2.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Licenza duso della Piattaforma PPEASY</u>. ANCI, in qualità di licenziataria della Piattaforma PPEASY ai sensi di separato contratto con CESOFT, si impegna a fornire al Cliente una sublicenza, limitata, non esclusiva e gratuita, di utilizzo della Piattaforma PPEASY, che consente al Cliente di gestire direttamente ed autonomamente la raccolta e lorganizzazione di dati ed informazioni nonché la generazione delle Richieste.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Licenza duso della Piattaforma PPEASY</u>. ANCI, in qualità di licenziataria della Piattaforma PPEASY ai sensi di separato contratto con CESOFT, si impegna a fornire al Cliente una sublicenza, limitata, non esclusiva e gratuita, di utilizzo della Piattaforma PPEASY, che consente al Cliente di gestire direttamente ed autonomamente la raccolta e lorganizzazione di dati ed informazioni nonché la generazione delle Richieste.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Sono compresi nella licenza i Servizi Inclusi meglio descritti sub articolo 3 che segue, e, pertanto, i servizi di terze parti <span class="s1">(i.e. </span>Apache Server, PHP e database Mysql) e lordinaria manutenzione e aggiornamento della stessa.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Sono compresi nella licenza i Servizi Inclusi meglio descritti sub articolo 3 che segue, e, pertanto, i servizi di terze parti <span class="s1">(i.e. </span>Apache Server, PHP e database Mysql) e lordinaria manutenzione e aggiornamento della stessa.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Il Cliente è consapevole ed accetta espressamente che la Piattaforma PPEASY è uno strumento riservato a soggetti professionali e che il presente Contratto non è soggetto alla disciplina dei contratti con i consumatori. La Piattaforma PPEASY è installata presso lambiente informatico di ANCI, che ne gestisce lhosting, ma richiede un collegamento attivo ai server di CESOFT per la validazione delle licenze, lautenticazione dellutente e gli aggiornamenti tecnici. Il Cliente si impegna a utilizzare la Piattaforma in conformità alle istruzioni fornite da ANCI e/o CESOFT e nel rispetto delle disposizioni legislative e regolamentari vigenti. ANCI non fornisce servizi di hosting ed effettua backup automatici. Resta inteso che il trattamento dei dati connesso alluso della Piattaforma PPEASY avverrà in ogni caso nel rispetto delle norme vigenti. Il Cliente assume il ruolo di Titolare del trattamento mentre ANCI è responsabile del trattamento ai sensi dellart. 28 GDPR. In ragione della natura e del funzionamento della Piattaforma PPEASY, le Parti danno atto che, ai sensi e nei limiti di quanto previsto dal presente Contratto, sarà il Cliente a gestire direttamente ed in autonomia gli strumenti informatici messi a disposizione da ANCI ai fini della esecuzione delle Richieste.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Il Cliente è consapevole ed accetta espressamente che la Piattaforma PPEASY è uno strumento riservato a soggetti professionali e che il presente Contratto non è soggetto alla disciplina dei contratti con i consumatori. La Piattaforma PPEASY è installata presso lambiente informatico di ANCI, che ne gestisce lhosting, ma richiede un collegamento attivo ai server di CESOFT per la validazione delle licenze, lautenticazione dellutente e gli aggiornamenti tecnici. Il Cliente si impegna a utilizzare la Piattaforma in conformità alle istruzioni fornite da ANCI e/o CESOFT e nel rispetto delle disposizioni legislative e regolamentari vigenti. ANCI non fornisce servizi di hosting ed effettua backup automatici. Resta inteso che il trattamento dei dati connesso alluso della Piattaforma PPEASY avverrà in ogni caso nel rispetto delle norme vigenti. Il Cliente assume il ruolo di Titolare del trattamento mentre ANCI è responsabile del trattamento ai sensi dellart. 28 GDPR. In ragione della natura e del funzionamento della Piattaforma PPEASY, le Parti danno atto che, ai sensi e nei limiti di quanto previsto dal presente Contratto, sarà il Cliente a gestire direttamente ed in autonomia gli strumenti informatici messi a disposizione da ANCI ai fini della esecuzione delle Richieste.</p>
</li> </li>
<li data-list-text="2.2"> <li data-list-text="2.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Accesso alla Piattaforma PPEASY</u>. Il Cliente avrà accesso alla Piattaforma PPEASY mediante unarea riservata tramite credenziali di autorizzazione ed autenticazione attribuite al Cliente, custodite ed utilizzate da questi sotto la sua esclusiva responsabilità. Laccesso e luso della Piattaforma PPEASY dovranno essere conformi a quanto convenuto nellOrdine di Attivazione. In particolare, il Cliente si impegna a conservare con la massima riservatezza i codici alfanumerici di accesso (denominati &quot;username&quot; e &quot;password&quot;) di cui sopra e risponde pertanto anche della custodia degli stessi. Il Cliente sarà, quindi, lunico responsabile di qualsiasi danno causato dalleventuale utilizzo di login e password da parte di terzi non autorizzati. Il Cliente si impegna comunque a comunicare immediatamente a ANCI leventuale furto, smarrimento, perdita ovvero appropriazione a qualsiasi titolo, da parte di terzi non autorizzati, delle credenziali di accesso.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Accesso alla Piattaforma PPEASY</u>. Il Cliente avrà accesso alla Piattaforma PPEASY mediante unarea riservata tramite credenziali di autorizzazione ed autenticazione attribuite al Cliente, custodite ed utilizzate da questi sotto la sua esclusiva responsabilità. Laccesso e luso della Piattaforma PPEASY dovranno essere conformi a quanto convenuto nellOrdine di Attivazione. In particolare, il Cliente si impegna a conservare con la massima riservatezza i codici alfanumerici di accesso (denominati &quot;username&quot; e &quot;password&quot;) di cui sopra e risponde pertanto anche della custodia degli stessi. Il Cliente sarà, quindi, lunico responsabile di qualsiasi danno causato dalleventuale utilizzo di login e password da parte di terzi non autorizzati. Il Cliente si impegna comunque a comunicare immediatamente a ANCI leventuale furto, smarrimento, perdita ovvero appropriazione a qualsiasi titolo, da parte di terzi non autorizzati, delle credenziali di accesso.</p>
</li> </li>
<li data-list-text="2.3"> <li data-list-text="2.3">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Proprietà delle anagrafiche, delle Richieste e adempimenti delle</u> <u>Part</u>i. I contenuti e i dati inseriti dal Cliente nella Piattaforma PPEASY, comprese le Richieste generate, restano di esclusiva proprietà del Cliente. Salvo diverso accordo scritto, ANCI si impegna a non farne alcun uso diverso da quanto strettamente necessario per ladempimento del presente Contratto. In particolare, ANCI si obbliga a:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Proprietà delle anagrafiche, delle Richieste e adempimenti delle</u> <u>Part</u>i. I contenuti e i dati inseriti dal Cliente nella Piattaforma PPEASY, comprese le Richieste generate, restano di esclusiva proprietà del Cliente. Salvo diverso accordo scritto, ANCI si impegna a non farne alcun uso diverso da quanto strettamente necessario per ladempimento del presente Contratto. In particolare, ANCI si obbliga a:</p>
<ul id="l4"> <ul id="l4">
<li data-list-text="-"> <li data-list-text="-">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">non comunicare cedere a terzi tali contenuti, in tutto in parte, salvo obblighi di legge;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">non comunicare cedere a terzi tali contenuti, in tutto in parte, salvo obblighi di legge;</p>
</li> </li>
<li data-list-text="-"> <li data-list-text="-">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">non farne uso per finalità proprie, salvo in forma anonima e aggregata a fini statistici e di miglioramento della Piattaforma;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">non farne uso per finalità proprie, salvo in forma anonima e aggregata a fini statistici e di miglioramento della Piattaforma;</p>
</li> </li>
<li data-list-text="-"> <li data-list-text="-">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">non conservarne copie, salvo quanto strettamente necessario alla continuità operativa della Piattaforma PPEASY e nel rispetto della normativa vigente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">non conservarne copie, salvo quanto strettamente necessario alla continuità operativa della Piattaforma PPEASY e nel rispetto della normativa vigente.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Ai fini della normativa applicabile in materia di protezione dei dati personali, in particolare del Regolamento (UE) 2016/679 (GDPR), il Cliente agisce in qualità di Titolare del trattamento, mentre ANCI è designata quale Responsabile del trattamento ai sensi dellart. 28 GDPR, limitatamente ai trattamenti necessari per la gestione tecnica della Piattaforma PPEASY e dei database ivi generati.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Ai fini della normativa applicabile in materia di protezione dei dati personali, in particolare del Regolamento (UE) 2016/679 (GDPR), il Cliente agisce in qualità di Titolare del trattamento, mentre ANCI è designata quale Responsabile del trattamento ai sensi dellart. 28 GDPR, limitatamente ai trattamenti necessari per la gestione tecnica della Piattaforma PPEASY e dei database ivi generati.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Con la sottoscrizione del presente Contratto, il Cliente designa ANCI quale Responsabile del trattamento e ANCI accetta tale nomina, attestando di possedere le competenze tecniche e organizzative</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Con la sottoscrizione del presente Contratto, il Cliente designa ANCI quale Responsabile del trattamento e ANCI accetta tale nomina, attestando di possedere le competenze tecniche e organizzative</p>
<p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: justify;">necessarie. ANCI potrà a sua volta avvalersi, per lo svolgimento di specifiche attività tecniche e di manutenzione, di propri sub- responsabili del trattamento, tra cui HEXAGON S.r.l., in qualità di fornitore di servizi IT e amministratore di sistema esterno ai sensi dellart. 28.2 del GDPR. ANCI garantisce di aver concluso con tali sub repsonsabili accordi conformi allart. 28 GDPR. Alla cessazione del presente Contratto, per qualsiasi causa, la designazione di ANCI quale Responsabile si intenderà revocata di diritto e i dati e contenuti trattati saranno eliminati in conformità al successivo art. 2.7, salvo obblighi di legge contrari.</p> <p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">necessarie. ANCI potrà a sua volta avvalersi, per lo svolgimento di specifiche attività tecniche e di manutenzione, di propri sub- responsabili del trattamento, tra cui HEXAGON S.r.l., in qualità di fornitore di servizi IT e amministratore di sistema esterno ai sensi dellart. 28.2 del GDPR. ANCI garantisce di aver concluso con tali sub repsonsabili accordi conformi allart. 28 GDPR. Alla cessazione del presente Contratto, per qualsiasi causa, la designazione di ANCI quale Responsabile si intenderà revocata di diritto e i dati e contenuti trattati saranno eliminati in conformità al successivo art. 2.7, salvo obblighi di legge contrari.</p>
</li> </li>
</ul> </ul>
</li> </li>
<li data-list-text="2.4"> <li data-list-text="2.4">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Modalità di cancellazione dei dati.</u> Trascorsi 10 (dieci) giorni dalla data di scadenza o di scioglimento del Contratto per qualsiasi causa, ANCI avrà la facoltà di cancellare i dati archiviati per conto del Cliente nella Piattaforma PPEASY. Tali dati saranno consultabili e scaricabili liberamente da parte del Cliente entro il termine sopra indicato utilizzando le normali funzionalità della Piattaforma PPEASY. Tempistiche di conservazione più lunghe possono essere dettate anche da esigenze diverse da quelle indicate allinterno di questo Contratto, in particolare in caso di indagini da parte della Polizia Giudiziaria o Enti preposti ad eventuali controlli.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Modalità di cancellazione dei dati.</u> Trascorsi 10 (dieci) giorni dalla data di scadenza o di scioglimento del Contratto per qualsiasi causa, ANCI avrà la facoltà di cancellare i dati archiviati per conto del Cliente nella Piattaforma PPEASY. Tali dati saranno consultabili e scaricabili liberamente da parte del Cliente entro il termine sopra indicato utilizzando le normali funzionalità della Piattaforma PPEASY. Tempistiche di conservazione più lunghe possono essere dettate anche da esigenze diverse da quelle indicate allinterno di questo Contratto, in particolare in caso di indagini da parte della Polizia Giudiziaria o Enti preposti ad eventuali controlli.</p>
</li> </li>
</ol> </ol>
</ol> </ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Sezione 3. Servizi Inclusi</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Sezione 3. Servizi Inclusi</h1>
<ol id="l5"> <ol id="l5">
<ol id="l6"> <ol id="l6">
<li data-list-text="3.1"> <li data-list-text="3.1">
<p class="s4" style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"><span class="s2"> Supporto e Manutenzione</span><a href="mailto:info@cimac.it" class="a" target="_blank">. I servizi di supporto e manutenzione ricomprendono esclusivamente la manutenzione correttiva (i.e. bug fixing) e le modifiche richieste o rese necessarie da eventuali modifiche alla normativa di riferimento. Levoluzione di funzionalità esistenti della Piattaforma PPEASY o lo sviluppo di sue nuove funzionalità non sono attività ricomprese nei Servizi Inclusi. Il Cliente si impegna segnalare a ANCI gli eventuali bug tramite email </a><span style=" color: #00F; font-family:Calibri, sans-serif; font-style: normal; font-weight: normal; text-decoration: underline; font-size: 8pt;">info@cimac.it</span> <span style=" color: #000;">fornendo una descrizione dettagliata del problema e tutte le indicazioni necessarie per riprodurlo. In assenza di tali informazioni la segnalazione non potrà essere presa in carico. Il servizio di supporto e manutenzione è fornito da ANCI al Cliente, eventualmente avvalendosi del supporto tecnico di CE SOFT, secondo quanto convenuto al successivo articolo 6.2. I bug critici, che impediscono il funzionamento del Software o di una parte sostanziale dello stesso, rendendolo di fatto inutilizzabile, verranno presi in carico entro 2 giorni lavorativi dalla data della segnalazione, e risolti entro 5 giorni lavorativi dalla presa in carico.</span></p> <p class="" style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><span class="s2"> Supporto e Manutenzione</span>. I servizi di supporto e manutenzione ricomprendono esclusivamente la manutenzione correttiva (i.e. bug fixing) e le modifiche richieste o rese necessarie da eventuali modifiche alla normativa di riferimento. Levoluzione di funzionalità esistenti della Piattaforma PPEASY o lo sviluppo di sue nuove funzionalità non sono attività ricomprese nei Servizi Inclusi. Il Cliente si impegna segnalare a ANCI gli eventuali bug tramite email <a href="mailto:info@cimac.it" class="a" target="_blank"><span style=" color: #00F; font-family:Calibri, sans-serif; font-style: normal; font-weight: normal; text-decoration: underline; font-size: 10pt;">info@cimac.it</span></a> <span style=" color: #000;">fornendo una descrizione dettagliata del problema e tutte le indicazioni necessarie per riprodurlo. In assenza di tali informazioni la segnalazione non potrà essere presa in carico. Il servizio di supporto e manutenzione è fornito da ANCI al Cliente, eventualmente avvalendosi del supporto tecnico di CE SOFT, secondo quanto convenuto al successivo articolo 6.2. I bug critici, che impediscono il funzionamento del Software o di una parte sostanziale dello stesso, rendendolo di fatto inutilizzabile, verranno presi in carico entro 2 giorni lavorativi dalla data della segnalazione, e risolti entro 5 giorni lavorativi dalla presa in carico.</span></p>
</li> </li>
<li data-list-text="3.2"> <li data-list-text="3.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"><u> Servizi di terze part</u>i. La Piattaforma PPEASY è stata sviluppata includendo servizi di terze parti (i.e. Apache Server, PHP e database Mysql). Il Cliente prende atto che tali componenti sono integrati nella soluzione concessa da ANCI e si impegna a manlevare integralmente ANCI da qualunque responsabilità in merito al loro corretto funzionamento. Le licenze delle componenti di terze parti, eventualmente integrati nella Piattaforma PPEASY, vengono concesse in uso al Cliente in via non esclusiva e limitatamente alla durata del presente Contratto.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><u> Servizi di terze part</u>i. La Piattaforma PPEASY è stata sviluppata includendo servizi di terze parti (i.e. Apache Server, PHP e database Mysql). Il Cliente prende atto che tali componenti sono integrati nella soluzione concessa da ANCI e si impegna a manlevare integralmente ANCI da qualunque responsabilità in merito al loro corretto funzionamento. Le licenze delle componenti di terze parti, eventualmente integrati nella Piattaforma PPEASY, vengono concesse in uso al Cliente in via non esclusiva e limitatamente alla durata del presente Contratto.</p>
</li> </li>
</ol> </ol>
</ol> </ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Fatto salvo quanto previsto al successivo articolo 6.1, i servizi di terze parti non includono i servizi di hosting. Il backup giornaliero dei dati inseriti dal Cliente nella Piattaforma PPEASY è garantito da ANCI tramite propri fornitori tecnici.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Fatto salvo quanto previsto al successivo articolo 6.1, i servizi di terze parti non includono i servizi di hosting. Il backup giornaliero dei dati inseriti dal Cliente nella Piattaforma PPEASY è garantito da ANCI tramite propri fornitori tecnici.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Sezione 4. Proprietà e Marchi.</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Sezione 4. Proprietà e Marchi.</h1>
<ol id="l7"> <ol id="l7">
<ol id="l8"> <ol id="l8">
<li data-list-text="4.1"> <li data-list-text="4.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Proprietà&nbsp; della&nbsp; Piattaforma&nbsp; PPEASY</u>. CESOFT è lunico proprietario esclusivo di tutti i diritti e gli interessi per la Piattaforma PPEASY e di qualsiasi Proprietà Intellettuale ad essa collegata, compresi gli sviluppi che ne derivano. PPEASY è un marchio dimpresa. La Piattaforma PPEASY e le informazioni ivi contenute, con la sola eccezione di quanto menzionato allarticolo 2.3, sono di proprietà di CESOFT. Ne è vietata la copia non autorizzata e la diffusione in violazione ai diritti di Proprietà Intellettuale.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Proprietà&nbsp; della&nbsp; Piattaforma&nbsp; PPEASY</u>. CESOFT è lunico proprietario esclusivo di tutti i diritti e gli interessi per la Piattaforma PPEASY e di qualsiasi Proprietà Intellettuale ad essa collegata, compresi gli sviluppi che ne derivano. PPEASY è un marchio dimpresa. La Piattaforma PPEASY e le informazioni ivi contenute, con la sola eccezione di quanto menzionato allarticolo 2.3, sono di proprietà di CESOFT. Ne è vietata la copia non autorizzata e la diffusione in violazione ai diritti di Proprietà Intellettuale.</p>
</li> </li>
<li data-list-text="4.2"> <li data-list-text="4.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Uso in sub licenza</u>. Fatto salvo quanto previsto allarticolo 2.1, il Cliente non è autorizzato a concedere in sublicenza, a cedere, noleggiare, vendere, distribuire o trasferire a terzi, in tutto o in parte, laccesso alla Piattaforma PPEASY, a consentirne luso da parte di soggetti esterni alla propria organizzazione. È fatto salvo luso della Piattaforma da parte di dipendenti, collaboratori o consulenti del Cliente, purché inquadrati nellambito dellorganizzazione aziendale e sotto la diretta responsabilità del Cliente stesso. Qualsiasi utilizzo in violazione del presente articolo comporterà la risoluzione immediata del Contratto ai sensi e per gli effetti dellart. 1456 c.c., fatto salvo il risarcimento del maggior danno.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Uso in sub licenza</u>. Fatto salvo quanto previsto allarticolo 2.1, il Cliente non è autorizzato a concedere in sublicenza, a cedere, noleggiare, vendere, distribuire o trasferire a terzi, in tutto o in parte, laccesso alla Piattaforma PPEASY, a consentirne luso da parte di soggetti esterni alla propria organizzazione. È fatto salvo luso della Piattaforma da parte di dipendenti, collaboratori o consulenti del Cliente, purché inquadrati nellambito dellorganizzazione aziendale e sotto la diretta responsabilità del Cliente stesso. Qualsiasi utilizzo in violazione del presente articolo comporterà la risoluzione immediata del Contratto ai sensi e per gli effetti dellart. 1456 c.c., fatto salvo il risarcimento del maggior danno.</p>
</li> </li>
</ol> </ol>
</ol> </ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Sezione 5. Termini economici e durata contrattuale.</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Sezione 5. Termini economici e durata contrattuale.</h1>
<ol id="l9"> <ol id="l9">
<ol id="l10"> <ol id="l10">
<li data-list-text="5.1"> <li data-list-text="5.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Inizio,&nbsp; durata&nbsp; e&nbsp; disdetta&nbsp; del&nbsp; Contratto</u>. Laccesso alla Piattaforma PPEASY e lutilizzo dei Servizi Inclusi sono concessi gratuitamente a tempo determinato, con durata annuale e corrispettivo definiti in fase di attivazione dellaccount da parte del Cliente tramite lOrdine di Attivazione.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Inizio,&nbsp; durata&nbsp; e&nbsp; disdetta&nbsp; del&nbsp; Contratto</u>. Laccesso alla Piattaforma PPEASY e lutilizzo dei Servizi Inclusi sono concessi gratuitamente a tempo determinato, con durata annuale e corrispettivo definiti in fase di attivazione dellaccount da parte del Cliente tramite lOrdine di Attivazione.</p>
<p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: justify;"><a href="mailto:info@cimac.it" class="a" target="_blank">La durata dellaccesso decorre dalla data di attivazione della Piattaforma e si rinnova automaticamente per periodi successivi di pari durata (i.e. annuale), salvo disdetta da parte del Cliente da esercitarsi almeno 30 (trenta) giorni prima della scadenza del periodo in corso, mediante comunicazione scritta inviata via e-mail allindirizzo </a><a href="mailto:info@cimac.it" target="_blank">info@cimac.it.</a></p> <p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">La durata dellaccesso decorre dalla data di attivazione della Piattaforma e si rinnova automaticamente per periodi successivi di pari durata (i.e. annuale), salvo disdetta da parte del Cliente da esercitarsi almeno 30 (trenta) giorni prima della scadenza del periodo in corso, mediante comunicazione scritta inviata via e-mail allindirizzo <a href="mailto:info@cimac.it" target="_blank">info@cimac.it.</a></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">In caso di mancato esercizio della disdetta nel termine suddetto, luso della Piattaforma PPEASY si intenderà rinnovato a tutti gli effetti. Resta salvo il diritto di ANCI di sospendere o interrompere laccesso alla Piattaforma in caso di inadempimento agli obblighi contrattuali, ai sensi dellarticolo 8.6.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In caso di mancato esercizio della disdetta nel termine suddetto, luso della Piattaforma PPEASY si intenderà rinnovato a tutti gli effetti. Resta salvo il diritto di ANCI di sospendere o interrompere laccesso alla Piattaforma in caso di inadempimento agli obblighi contrattuali, ai sensi dellarticolo 8.6.</p>
</li> </li>
<li data-list-text="5.2"> <li data-list-text="5.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Gratuità della licenza</u>. Luso della Piattaforma, la prestazione dei Servizi Inclusi e la messa a disposizione e leffettuazione delle prestazioni accessorie e strumentali previste dal presente Contratto e per la fruizione delle eventuali ulteriori opzioni offerte dalla Piattaforma PPEASY, sono concessi al Cliente a titolo gratuito.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Gratuità della licenza</u>. Luso della Piattaforma, la prestazione dei Servizi Inclusi e la messa a disposizione e leffettuazione delle prestazioni accessorie e strumentali previste dal presente Contratto e per la fruizione delle eventuali ulteriori opzioni offerte dalla Piattaforma PPEASY, sono concessi al Cliente a titolo gratuito.</p>
</li> </li>
<li data-list-text="5.3"> <li data-list-text="5.3">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Uso&nbsp; spazio&nbsp; Piattaforma&nbsp; PPEASY</u>. L&#39;utilizzo dello spazio Piattaforma PPEASY da parte del Cliente è strettamente limitato ai fini connessi all uso concordato. Il Cliente accetta espressamente tale principio e si impegna pertanto a non utilizzarlo per scopi o con modalità differenti. ANCI si riserva la facoltà di verificare, in qualsiasi momento e anche senza preavviso, la conformità dei file salvati nello spazio Piattaforma PPEASY rispetto a quanto stabilito nel presente articolo. In caso di difformità rispetto a quanto quivi stabilito, ANCI, direttamente o tramite i propri sub-responsabili tecnici designati,potrà procedere alla cancellazione degli stessi senza nessun obbligo di notifica al Cliente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Uso&nbsp; spazio&nbsp; Piattaforma&nbsp; PPEASY</u>. L&#39;utilizzo dello spazio Piattaforma PPEASY da parte del Cliente è strettamente limitato ai fini connessi all uso concordato. Il Cliente accetta espressamente tale principio e si impegna pertanto a non utilizzarlo per scopi o con modalità differenti. ANCI si riserva la facoltà di verificare, in qualsiasi momento e anche senza preavviso, la conformità dei file salvati nello spazio Piattaforma PPEASY rispetto a quanto stabilito nel presente articolo. In caso di difformità rispetto a quanto quivi stabilito, ANCI, direttamente o tramite i propri sub-responsabili tecnici designati,potrà procedere alla cancellazione degli stessi senza nessun obbligo di notifica al Cliente.</p>
</li> </li>
</ol> </ol>
</ol> </ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Sezione 6. Garanzia del livello minimo di funzionalità</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Sezione 6. Garanzia del livello minimo di funzionalità</h1>
<ol id="l11"> <ol id="l11">
<ol id="l12"> <ol id="l12">
<li data-list-text="6.1"> <li data-list-text="6.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Fatto salvo quanto previsto al precedente articolo 3.2, ANCI si impegna a garantire, per tutta la durata del Contratto, la disponibilità della Piattaforma PPEASY con un livello di uptime pari al 99% su base annua, 24 ore al giorno, 365 giorni allanno. Resta inteso che ANCI non sarà in alcun caso responsabile per eventuali disservizi, malfunzionamenti o indisponibilità della Piattaforma PPEASY derivanti, direttamente o indirettamente, da:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Fatto salvo quanto previsto al precedente articolo 3.2, ANCI si impegna a garantire, per tutta la durata del Contratto, la disponibilità della Piattaforma PPEASY con un livello di uptime pari al 99% su base annua, 24 ore al giorno, 365 giorni allanno. Resta inteso che ANCI non sarà in alcun caso responsabile per eventuali disservizi, malfunzionamenti o indisponibilità della Piattaforma PPEASY derivanti, direttamente o indirettamente, da:</p>
<ul id="l13"> <ul id="l13">
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;">interruzioni o malfunzionamenti della connettività Internet o dellinfrastruttura informatica del Cliente;</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">interruzioni o malfunzionamenti della connettività Internet o dellinfrastruttura informatica del Cliente;</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -17pt;line-height: 12pt;text-align: left;">guasti hardware o software presso il Cliente;</p> <p style="padding-left: 41pt;text-indent: -17pt;line-height: 12pt;text-align: left;">guasti hardware o software presso il Cliente;</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;">errori o condotte imputabili a soggetti terzi dei quali il Cliente risponde, ivi inclusi eventuali sublicenziatari autorizzati o soggetti che accedano alla Piattaforma per conto del Cliente;</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">errori o condotte imputabili a soggetti terzi dei quali il Cliente risponde, ivi inclusi eventuali sublicenziatari autorizzati o soggetti che accedano alla Piattaforma per conto del Cliente;</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;">eventi imputabili al provider di hosting di ANCI o a terze parti tecniche esterne non sotto il controllo di ANCI o dei suoi fornitori tecnici.</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">eventi imputabili al provider di hosting di ANCI o a terze parti tecniche esterne non sotto il controllo di ANCI o dei suoi fornitori tecnici.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Sono altresì escluse dal calcolo del livello di uptime e da ogni responsabilità in capo a ANCI:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Sono altresì escluse dal calcolo del livello di uptime e da ogni responsabilità in capo a ANCI:</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;">le operazioni di manutenzione ordinaria, comunicate al Cliente con preavviso di almeno 2 (due) giorni di calendario;</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">le operazioni di manutenzione ordinaria, comunicate al Cliente con preavviso di almeno 2 (due) giorni di calendario;</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;">le operazioni di manutenzione straordinaria, anche non programmate, purché comunicate con almeno 4 (quattro) ore di preavviso, salvo i casi di emergenza;</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">le operazioni di manutenzione straordinaria, anche non programmate, purché comunicate con almeno 4 (quattro) ore di preavviso, salvo i casi di emergenza;</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;">eventuali interruzioni di servizio tra le ore 00:00 e le ore 06:00 nei giorni lavorativi e durante i giorni festivi, dovute ad attività di aggiornamento, backup o manutenzione programmata.</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">eventuali interruzioni di servizio tra le ore 00:00 e le ore 06:00 nei giorni lavorativi e durante i giorni festivi, dovute ad attività di aggiornamento, backup o manutenzione programmata.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">ANCI, in ogni caso, si impegna a ridurre al minimo la durata e la frequenza delle interruzioni di servizio pianificate e a ripristinare tempestivamente la piena operatività della Piattaforma in collaborazione con i propri sub-responsabili tecnici.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI, in ogni caso, si impegna a ridurre al minimo la durata e la frequenza delle interruzioni di servizio pianificate e a ripristinare tempestivamente la piena operatività della Piattaforma in collaborazione con i propri sub-responsabili tecnici.</p>
</li> </li>
</ul> </ul>
</li> </li>
<li data-list-text="6.2"> <li data-list-text="6.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Assistenza tecnica e tutoring</u> In via accessoria e funzionale alla fruizione della Piattaforma PPEASY, ANCI si impegna a fornire al Cliente assistenza tecnica anche tramite CE SOFT mantenendo verso il Cliente la responsabilità quale sublicenziante e attività di tutoring nei limiti di quanto previsto dal presente Contratto. In particolare, ANCI fornisce:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Assistenza tecnica e tutoring</u> In via accessoria e funzionale alla fruizione della Piattaforma PPEASY, ANCI si impegna a fornire al Cliente assistenza tecnica anche tramite CE SOFT mantenendo verso il Cliente la responsabilità quale sublicenziante e attività di tutoring nei limiti di quanto previsto dal presente Contratto. In particolare, ANCI fornisce:</p>
<ul id="l14"> <ul id="l14">
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: justify;"><a href="mailto:info@cimac.it" class="a" target="_blank">Assistenza tecnica via email allindirizzo dedicato (es.: </a>info@cimac.it) per problematiche relative al funzionamento della Piattaforma (ivi inclusi bug non critici, come da definizione allarticolo 3.1).</p> <p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Assistenza tecnica via email allindirizzo dedicato (es.: <a href="mailto:info@cimac.it" class="a" target="_blank">info@cimac.it</a>) per problematiche relative al funzionamento della Piattaforma (ivi inclusi bug non critici, come da definizione allarticolo 3.1).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">La presa in carico delle richieste sarà effettuata entro 3 (tre) giorni lavorativi dalla ricezione di una segnalazione completa, contenente:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">La presa in carico delle richieste sarà effettuata entro 3 (tre) giorni lavorativi dalla ricezione di una segnalazione completa, contenente:</p>
</li> </li>
<li data-list-text=""> <li data-list-text="">
<p style="padding-left: 41pt;text-indent: -17pt;line-height: 12pt;text-align: left;">descrizione dettagliata dellanomalia riscontrata;</p> <p style="padding-left: 41pt;text-indent: -17pt;line-height: 12pt;text-align: left;">descrizione dettagliata dellanomalia riscontrata;</p>
@@ -694,36 +740,36 @@
</li> </li>
</ol> </ol>
</ol> </ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">ANCI si riserva di avvalersi di HEXAGON S.r.l. quale proprio sub- responsabile del trattamento e amminstratore di sistema esterno nel rispetto delle previsioni dellart. 28 GDPR.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI si riserva di avvalersi di HEXAGON S.r.l. quale proprio sub- responsabile del trattamento e amminstratore di sistema esterno nel rispetto delle previsioni dellart. 28 GDPR.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Sezione 7. Dichiarazioni, garanzie, responsabilità e limitazioni.</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Sezione 7. Dichiarazioni, garanzie, responsabilità e limitazioni.</h1>
<ol id="l15"> <ol id="l15">
<ol id="l16"> <ol id="l16">
<li data-list-text="7.1"> <li data-list-text="7.1">
<p class="s7" style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"><span class="s5"> </span><u>Veridicità e correttezza delle informazioni fornite</u>. Il Cliente dichiara e garantisce:</p> <p class="s7" style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><span class="s5"> </span><u>Veridicità e correttezza delle informazioni fornite</u>. Il Cliente dichiara e garantisce:</p>
<ol id="l17"> <ol id="l17">
<li data-list-text="(i)"> <li data-list-text="(i)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">che tutte le informazioni fornite ad ANCI in quanto sublicenziante in sede di registrazione e durante lutilizzo della Piattaforma PPEASY sono complete, veritiere, corrette e costantemente aggiornate;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">che tutte le informazioni fornite ad ANCI in quanto sublicenziante in sede di registrazione e durante lutilizzo della Piattaforma PPEASY sono complete, veritiere, corrette e costantemente aggiornate;</p>
</li> </li>
<li data-list-text="(ii)"> <li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">di avere pieno titolo e legittimazione ad autorizzare ANCI a trattare, anche per il tramite di sub-responsabili, i dati inseriti nella Piattaforma PPEASY, nei limiti e per le finalità previste dal presente Contratto.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">di avere pieno titolo e legittimazione ad autorizzare ANCI a trattare, anche per il tramite di sub-responsabili, i dati inseriti nella Piattaforma PPEASY, nei limiti e per le finalità previste dal presente Contratto.</p>
</li> </li>
</ol> </ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Resta inteso che nulla nel presente articolo può essere interpretato come limitazione o esclusione della responsabilità delle Parti in caso di dolo o colpa grave, fatto salvo quanto diversamente previsto dal Contratto.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Resta inteso che nulla nel presente articolo può essere interpretato come limitazione o esclusione della responsabilità delle Parti in caso di dolo o colpa grave, fatto salvo quanto diversamente previsto dal Contratto.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Tutta la corrispondenza intercorsa tra il Cliente e ANCI, ivi inclusa quella con collaboratori o referenti tecnici, potrà essere archiviata da ANCI per finalità probatorie, gestionali o di tutela.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Tutta la corrispondenza intercorsa tra il Cliente e ANCI, ivi inclusa quella con collaboratori o referenti tecnici, potrà essere archiviata da ANCI per finalità probatorie, gestionali o di tutela.</p>
</li> </li>
<li data-list-text="7.2"> <li data-list-text="7.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Responsabilità per contenuti e dati immessi nella Piattaforma</u> Il Cliente (inteso come utente finale) è lunico responsabile, anche ai sensi degli artt. 1228 e 2049 c.c., per il contenuto, la liceità, la veridicità e laggiornamento delle informazioni, dei dati e delle Richieste inseriti o generati tramite la Piattaforma PPEASY, ivi inclusi quelli immessi da propri dipendenti, collaboratori, clienti finali o da altri soggetti del cui operato il Cliente debba rispondere.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Responsabilità per contenuti e dati immessi nella Piattaforma</u> Il Cliente (inteso come utente finale) è lunico responsabile, anche ai sensi degli artt. 1228 e 2049 c.c., per il contenuto, la liceità, la veridicità e laggiornamento delle informazioni, dei dati e delle Richieste inseriti o generati tramite la Piattaforma PPEASY, ivi inclusi quelli immessi da propri dipendenti, collaboratori, clienti finali o da altri soggetti del cui operato il Cliente debba rispondere.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Il Cliente si impegna a manlevare e tenere integralmente indenne ANCI da qualsiasi pretesa, richiesta, sanzione o danno (ivi inclusi quelli di natura risarcitoria, amministrativa, fiscale o penale) che dovesse derivare dallutilizzo improprio, illecito o non autorizzato della Piattaforma PPEASY, o dallinserimento di contenuti illeciti, falsi o difformi rispetto alla normativa vigente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Il Cliente si impegna a manlevare e tenere integralmente indenne ANCI da qualsiasi pretesa, richiesta, sanzione o danno (ivi inclusi quelli di natura risarcitoria, amministrativa, fiscale o penale) che dovesse derivare dallutilizzo improprio, illecito o non autorizzato della Piattaforma PPEASY, o dallinserimento di contenuti illeciti, falsi o difformi rispetto alla normativa vigente.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">In nessun caso ANCI potrà essere ritenuta responsabile per i contenuti immessi nella Piattaforma PPEASY, per lutilizzo delle Richieste o dei dati da parte del Cliente o di terzi.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In nessun caso ANCI potrà essere ritenuta responsabile per i contenuti immessi nella Piattaforma PPEASY, per lutilizzo delle Richieste o dei dati da parte del Cliente o di terzi.</p>
</li> </li>
<li data-list-text="7.3"> <li data-list-text="7.3">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Responsabilità per inadempimenti contrattuali del Cliente</u>. Il Cliente si obbliga a manlevare e tenere indenne ANCI da ogni danno, perdita, costo, responsabilità o spesa (incluse le spese legali) che ANCI dovesse subire o sostenere in conseguenza di:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Responsabilità per inadempimenti contrattuali del Cliente</u>. Il Cliente si obbliga a manlevare e tenere indenne ANCI da ogni danno, perdita, costo, responsabilità o spesa (incluse le spese legali) che ANCI dovesse subire o sostenere in conseguenza di:</p>
<ol id="l18"> <ol id="l18">
<li data-list-text="(i)"> <li data-list-text="(i)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">un inadempimento da parte del Cliente agli obblighi previsti nel presente Contratto;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">un inadempimento da parte del Cliente agli obblighi previsti nel presente Contratto;</p>
</li> </li>
<li data-list-text="(ii)"> <li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">linesattezza, incompletezza o non veridicità delle dichiarazioni e garanzie rese dal Cliente;</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">linesattezza, incompletezza o non veridicità delle dichiarazioni e garanzie rese dal Cliente;</p>
</li> </li>
<li data-list-text="(iii)"> <li data-list-text="(iii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">linserimento o lelaborazione di dati o Richieste contenenti informazioni errate, false o non conformi alla normativa applicabile. Tale obbligo di manleva si estende anche alle richieste di risarcimento avanzate da terzi, per qualunque titolo, in relazione alluso della Piattaforma PPEASY da parte del Cliente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">linserimento o lelaborazione di dati o Richieste contenenti informazioni errate, false o non conformi alla normativa applicabile. Tale obbligo di manleva si estende anche alle richieste di risarcimento avanzate da terzi, per qualunque titolo, in relazione alluso della Piattaforma PPEASY da parte del Cliente.</p>
@@ -731,70 +777,70 @@
</ol> </ol>
</li> </li>
<li data-list-text="7.4"> <li data-list-text="7.4">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Responsabilità di utilizzo della Piattaforma PPEASY</u>. Il Cliente prende atto che lutilizzo della Piattaforma PPEASY avverrà in piena autonomia e sotto la propria esclusiva responsabilità. Il Cliente si impegna a comunicare e a far sottoscrivere ai propri dipendenti, collaboratori e a tutti i soggetti che, in forza del rapporto con il Cliente, avranno accesso alla Piattaforma PPEASY, limpegno ad osservare gli obblighi derivanti dal presente Contratto, accertandosi in ogni caso che essi ne siano a conoscenza e che tali obblighi vengano puntualmente rispettati.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Responsabilità di utilizzo della Piattaforma PPEASY</u>. Il Cliente prende atto che lutilizzo della Piattaforma PPEASY avverrà in piena autonomia e sotto la propria esclusiva responsabilità. Il Cliente si impegna a comunicare e a far sottoscrivere ai propri dipendenti, collaboratori e a tutti i soggetti che, in forza del rapporto con il Cliente, avranno accesso alla Piattaforma PPEASY, limpegno ad osservare gli obblighi derivanti dal presente Contratto, accertandosi in ogni caso che essi ne siano a conoscenza e che tali obblighi vengano puntualmente rispettati.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">ANCI, inclusi i propri dipendenti e collaboratori, non assume alcuna responsabilità in relazione allutilizzo della Piattaforma PPEASY da parte del Cliente. A tal fine, il Cliente si obbliga irrevocabilmente anche ai sensi e per gli effetti dellart. 1381 c.c. a manlevare e tenere integralmente indenne ANCI, i suoi dipendenti e collaboratori da qualsiasi danno o pregiudizio, contrattuale o extracontrattuale, che dovesse derivare, direttamente o indirettamente, dallutilizzo della Piattaforma PPEASY e dallesecuzione del presente Contratto da parte del Cliente o di soggetti che agiscano per suo conto.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI, inclusi i propri dipendenti e collaboratori, non assume alcuna responsabilità in relazione allutilizzo della Piattaforma PPEASY da parte del Cliente. A tal fine, il Cliente si obbliga irrevocabilmente anche ai sensi e per gli effetti dellart. 1381 c.c. a manlevare e tenere integralmente indenne ANCI, i suoi dipendenti e collaboratori da qualsiasi danno o pregiudizio, contrattuale o extracontrattuale, che dovesse derivare, direttamente o indirettamente, dallutilizzo della Piattaforma PPEASY e dallesecuzione del presente Contratto da parte del Cliente o di soggetti che agiscano per suo conto.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Le presenti disposizioni rimarranno valide ed efficaci anche successivamente alla cessazione del presente Contratto, per qualsiasi causa, ivi inclusi scadenza, risoluzione o recesso.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Le presenti disposizioni rimarranno valide ed efficaci anche successivamente alla cessazione del presente Contratto, per qualsiasi causa, ivi inclusi scadenza, risoluzione o recesso.</p>
</li> </li>
<li data-list-text="7.5"> <li data-list-text="7.5">
<p style="padding-left: 17pt;text-indent: -12pt;line-height: 10pt;text-align: justify;"> <u>Obbligo di Non Aggiramento e di Non Concorrenza</u></p> <p style="padding-left: 17pt;text-indent: -12pt;line-height: 10pt;text-align: left;"> <u>Obbligo di Non Aggiramento e di Non Concorrenza</u></p>
<p style="padding-top: 4pt;padding-left: 5pt;text-indent: 0pt;text-align: justify;">Mediante laccettazione del presente Contratto il Cliente concorda irrevocabilmente e garantisce che non dovrà, direttamente o indirettamente, interferire con, aggirare o tentare di aggirare, evitare, bypassare, o eludere linteresse e i diritti di ANCI con riferimento alla commercializzazione e alle funzionalità della Piattaforma PPEASY nonché al loro utilizzo difforme rispetto ai diritti quivi conferiti e, in generale, alle disposizioni del presente Contratto. Ai fini che precedono, fatto salvo quanto previsto al precedente articolo 4.2, il Cliente si impegna altresì a non distribuire o altrimenti trasferire la piattaforma PPEASY in tutto o in parte a terzi, a non fornire, divulgare, divulgare o rendere disponibile o consentire lutilizzo della Piattaforma PPEASY, a non modificare o creare opere derivate basate sulla Piattaforma PPEASY e, nemmeno parzialmente, a non decompilare, disassemblare, decodificare o tentare in altro modo di ricavare il codice sorgente della Piattaforma PPEASY.</p> <p style="padding-top: 4pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">Mediante laccettazione del presente Contratto il Cliente concorda irrevocabilmente e garantisce che non dovrà, direttamente o indirettamente, interferire con, aggirare o tentare di aggirare, evitare, bypassare, o eludere linteresse e i diritti di ANCI con riferimento alla commercializzazione e alle funzionalità della Piattaforma PPEASY nonché al loro utilizzo difforme rispetto ai diritti quivi conferiti e, in generale, alle disposizioni del presente Contratto. Ai fini che precedono, fatto salvo quanto previsto al precedente articolo 4.2, il Cliente si impegna altresì a non distribuire o altrimenti trasferire la piattaforma PPEASY in tutto o in parte a terzi, a non fornire, divulgare, divulgare o rendere disponibile o consentire lutilizzo della Piattaforma PPEASY, a non modificare o creare opere derivate basate sulla Piattaforma PPEASY e, nemmeno parzialmente, a non decompilare, disassemblare, decodificare o tentare in altro modo di ricavare il codice sorgente della Piattaforma PPEASY.</p>
</li> </li>
<li data-list-text="7.6"> <li data-list-text="7.6">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Inadempimenti per causa di eventi estern</u>i. ANCI non potrà essere ritenuta responsabile per malfunzionamenti, ritardi o interruzioni del servizio dovuti a problemi riconducibili ai gestori di reti telefoniche, elettriche, Internet o a infrastrutture informatiche mondiali o nazionali, inclusi guasti, sovraccarichi, blackout o indisponibilità delle linee di trasmissione.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Inadempimenti per causa di eventi estern</u>i. ANCI non potrà essere ritenuta responsabile per malfunzionamenti, ritardi o interruzioni del servizio dovuti a problemi riconducibili ai gestori di reti telefoniche, elettriche, Internet o a infrastrutture informatiche mondiali o nazionali, inclusi guasti, sovraccarichi, blackout o indisponibilità delle linee di trasmissione.</p>
</li> </li>
<li data-list-text="7.7"> <li data-list-text="7.7">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Cause di forza maggiore</u>. ANCI non potrà essere ritenuta in alcun modo responsabile per inesecuzioni del presente Contratto che derivino da cause al di fuori della propria sfera di ragionevole controllo o da cause di forza maggiore o caso fortuito, quali, a titolo esemplificativo e non esaustivo, tumulti popolari, atti di terrorismo e di guerra, scioperi, sommosse, trombe daria, uragani, alluvioni, incendi, epidemie, frane e smottamenti.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Cause di forza maggiore</u>. ANCI non potrà essere ritenuta in alcun modo responsabile per inesecuzioni del presente Contratto che derivino da cause al di fuori della propria sfera di ragionevole controllo o da cause di forza maggiore o caso fortuito, quali, a titolo esemplificativo e non esaustivo, tumulti popolari, atti di terrorismo e di guerra, scioperi, sommosse, trombe daria, uragani, alluvioni, incendi, epidemie, frane e smottamenti.</p>
</li> </li>
<li data-list-text="7.8"> <li data-list-text="7.8">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Interruzioni&nbsp; per&nbsp; eventi&nbsp; eccezional</u>i. ANCI si impegna a mantenere lefficienza della Piattaforma PPEASY e, in caso di sospensione del servizio per eventi eccezionali o manutenzioni urgenti, a contenere la durata dellinterruzione e a informare tempestivamente il Cliente, ove possibile.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Interruzioni&nbsp; per&nbsp; eventi&nbsp; eccezional</u>i. ANCI si impegna a mantenere lefficienza della Piattaforma PPEASY e, in caso di sospensione del servizio per eventi eccezionali o manutenzioni urgenti, a contenere la durata dellinterruzione e a informare tempestivamente il Cliente, ove possibile.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">ANCI si riserva il diritto di aggiornare o modificare le modalità tecniche di accesso alla Piattaforma, comunicandone le specifiche tecniche su richiesta del Cliente, affinché questultimo possa garantirne il corretto utilizzo.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI si riserva il diritto di aggiornare o modificare le modalità tecniche di accesso alla Piattaforma, comunicandone le specifiche tecniche su richiesta del Cliente, affinché questultimo possa garantirne il corretto utilizzo.</p>
</li> </li>
<li data-list-text="7.9"> <li data-list-text="7.9">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Inadempimenti&nbsp; per&nbsp; causa&nbsp; di&nbsp; terz</u>i. ANCI non risponde di malfunzionamenti o disservizi derivanti da comportamenti, omissioni o ritardi imputabili a soggetti terzi, compresi a titolo esemplificativo i gestori delle linee telefoniche, i fornitori di servizi cloud o hosting del Cliente, o i sistemi di terzi attraverso cui si effettua laccesso alla Piattaforma PPEASY.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Inadempimenti&nbsp; per&nbsp; causa&nbsp; di&nbsp; terz</u>i. ANCI non risponde di malfunzionamenti o disservizi derivanti da comportamenti, omissioni o ritardi imputabili a soggetti terzi, compresi a titolo esemplificativo i gestori delle linee telefoniche, i fornitori di servizi cloud o hosting del Cliente, o i sistemi di terzi attraverso cui si effettua laccesso alla Piattaforma PPEASY.</p>
</li> </li>
<li data-list-text="7.10"> <li data-list-text="7.10">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Limitazione di responsabilità</u>. Fatti salvi i casi di dolo o colpa grave, la responsabilità complessiva di ANCI per qualsiasi danno diretto derivante dallinadempimento delle obbligazioni previste nel presente Contratto non potrà in nessun caso eccedere limporto massimo complessivo di Euro 100,00 (cento/00), quale limite convenzionale di responsabilità, anche in caso di eventi dannosi plurimi e/o continuativi.È in ogni caso esclusa qualsivoglia responsabilità di ANCI per danni indiretti, consequenziali, perdita di dati, lucro cessante, interruzione di attività, perdita di chance o danni allimmagine derivanti dallutilizzo della Piattaforma PPEASY, fatti salvi i limiti inderogabili previsti dalla legge.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Limitazione di responsabilità</u>. Fatti salvi i casi di dolo o colpa grave, la responsabilità complessiva di ANCI per qualsiasi danno diretto derivante dallinadempimento delle obbligazioni previste nel presente Contratto non potrà in nessun caso eccedere limporto massimo complessivo di Euro 100,00 (cento/00), quale limite convenzionale di responsabilità, anche in caso di eventi dannosi plurimi e/o continuativi.È in ogni caso esclusa qualsivoglia responsabilità di ANCI per danni indiretti, consequenziali, perdita di dati, lucro cessante, interruzione di attività, perdita di chance o danni allimmagine derivanti dallutilizzo della Piattaforma PPEASY, fatti salvi i limiti inderogabili previsti dalla legge.</p>
</li> </li>
</ol> </ol>
</ol> </ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Sezione 8. Titolarità dei dati relativi all&#39;utilizzo della piattaforma da parte dei Clienti e condizioni di utilizzo della Piattaforma PPEASY.</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Sezione 8. Titolarità dei dati relativi all&#39;utilizzo della piattaforma da parte dei Clienti e condizioni di utilizzo della Piattaforma PPEASY.</h1>
<ol id="l19"> <ol id="l19">
<ol id="l20"> <ol id="l20">
<li data-list-text="8.1"> <li data-list-text="8.1">
<p style="padding-left: 17pt;text-indent: -12pt;line-height: 10pt;text-align: justify;"> <u>Dati Aggregat</u>i.</p> <p style="padding-left: 17pt;text-indent: -12pt;line-height: 10pt;text-align: left;"> <u>Dati Aggregat</u>i.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Come stabilito tra le Parti, ANCI detiene tutti i diritti di utilizzo delle informazioni statistiche, dei dati e delle relative analisi in forma aggregata e anonima, derivanti dall&#39;utilizzo della Piattaforma PPEASY da parte dei propri Clienti. Tali dati non includeranno mai dati personali o elementi che possano rendere identificabile il Cliente o i suoi utenti finali.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Come stabilito tra le Parti, ANCI detiene tutti i diritti di utilizzo delle informazioni statistiche, dei dati e delle relative analisi in forma aggregata e anonima, derivanti dall&#39;utilizzo della Piattaforma PPEASY da parte dei propri Clienti. Tali dati non includeranno mai dati personali o elementi che possano rendere identificabile il Cliente o i suoi utenti finali.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Il Cliente autorizza espressamente ANCI a utilizzare tali dati aggregati esclusivamente per finalità statistiche, di miglioramento delle funzionalità della Piattaforma o per finalità di comunicazione istituzionale e pubblicistica, sempre in forma anonima e non riconducibile.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Il Cliente autorizza espressamente ANCI a utilizzare tali dati aggregati esclusivamente per finalità statistiche, di miglioramento delle funzionalità della Piattaforma o per finalità di comunicazione istituzionale e pubblicistica, sempre in forma anonima e non riconducibile.</p>
</li> </li>
<li data-list-text="8.2"> <li data-list-text="8.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Pubblicità</u>. Il Cliente autorizza ANCI ad utilizzare il proprio nome e logo per finalità istituzionali, di marketing, documentazione aziendale o comunicazione esterna (inclusi elenchi clienti, presentazioni, rapporti finanziari).</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Pubblicità</u>. Il Cliente autorizza ANCI ad utilizzare il proprio nome e logo per finalità istituzionali, di marketing, documentazione aziendale o comunicazione esterna (inclusi elenchi clienti, presentazioni, rapporti finanziari).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Fatto salvo quanto previsto agli articoli 4.1 e 4.2, il Cliente non potrà utilizzare il marchio, il nome commerciale, il logo o qualsiasi altro segno distintivo riferito alla Piattaforma PPEASY o ad ANCI senza previa autorizzazione scritta da parte di questultima.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Fatto salvo quanto previsto agli articoli 4.1 e 4.2, il Cliente non potrà utilizzare il marchio, il nome commerciale, il logo o qualsiasi altro segno distintivo riferito alla Piattaforma PPEASY o ad ANCI senza previa autorizzazione scritta da parte di questultima.</p>
</li> </li>
<li data-list-text="8.3"> <li data-list-text="8.3">
<p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Cessione del Contratto</u>. ANCI potrà cedere o trasferire a terzi il presente Contratto e i relativi diritti e obbligazioni, anche in caso di operazioni societarie straordinarie. Il Cliente potrà cedere il presente Contratto soltanto con il preventivo consenso scritto di ANCI.</p> <p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Cessione del Contratto</u>. ANCI potrà cedere o trasferire a terzi il presente Contratto e i relativi diritti e obbligazioni, anche in caso di operazioni societarie straordinarie. Il Cliente potrà cedere il presente Contratto soltanto con il preventivo consenso scritto di ANCI.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">In caso di cessione effettuata dal Cliente in violazione della presente clausola, ANCI avrà facoltà, a suo insindacabile giudizio:</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In caso di cessione effettuata dal Cliente in violazione della presente clausola, ANCI avrà facoltà, a suo insindacabile giudizio:</p>
<ol id="l21"> <ol id="l21">
<li data-list-text="(i)"> <li data-list-text="(i)">
<p style="padding-left: 13pt;text-indent: -8pt;line-height: 10pt;text-align: justify;">di risolvere il Contratto ai sensi dellart. 1456 c.c.;</p> <p style="padding-left: 13pt;text-indent: -8pt;line-height: 10pt;text-align: left;">di risolvere il Contratto ai sensi dellart. 1456 c.c.;</p>
</li> </li>
<li data-list-text="(ii)"> <li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">di esigere dal Cliente il pagamento di una somma forfettaria pari a Euro 100,00 a titolo di rimborso spese amministrative per la gestione della violazione.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">di esigere dal Cliente il pagamento di una somma forfettaria pari a Euro 100,00 a titolo di rimborso spese amministrative per la gestione della violazione.</p>
</li> </li>
</ol> </ol>
</li> </li>
<li data-list-text="8.4"> <li data-list-text="8.4">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Validità modifiche e/o integrazion</u>i. Qualsivoglia modifica alle disposizioni del presente Contratto dovrà essere concordata per iscritto tra le Parti.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Validità modifiche e/o integrazion</u>i. Qualsivoglia modifica alle disposizioni del presente Contratto dovrà essere concordata per iscritto tra le Parti.</p>
</li> </li>
<li data-list-text="8.5"> <li data-list-text="8.5">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Clausola risolutiva espressa</u>. Il presente Contratto si intenderà risolto di diritto, ai sensi e per gli effetti dellart. 1456 c.c., mediante semplice comunicazione scritta inviata anche via e-mail o PEC, nei seguenti casi: violazione delle disposizioni contenute negli artt. 4.2 (Uso in sub licenza), 7.5 (Obbligo di Non Aggiramento), 8.5 (Cessione del Contratto); apertura di procedura concorsuale, liquidazione volontaria o coatta del Cliente. La risoluzione produrrà effetti dalla ricezione della relativa comunicazione. Resta salva la facoltà di ANCI di esercitare ogni ulteriore diritto, ivi inclusa la richiesta di risarcimento per danni eventualmente subiti.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Clausola risolutiva espressa</u>. Il presente Contratto si intenderà risolto di diritto, ai sensi e per gli effetti dellart. 1456 c.c., mediante semplice comunicazione scritta inviata anche via e-mail o PEC, nei seguenti casi: violazione delle disposizioni contenute negli artt. 4.2 (Uso in sub licenza), 7.5 (Obbligo di Non Aggiramento), 8.5 (Cessione del Contratto); apertura di procedura concorsuale, liquidazione volontaria o coatta del Cliente. La risoluzione produrrà effetti dalla ricezione della relativa comunicazione. Resta salva la facoltà di ANCI di esercitare ogni ulteriore diritto, ivi inclusa la richiesta di risarcimento per danni eventualmente subiti.</p>
</li> </li>
<li data-list-text="8.6"> <li data-list-text="8.6">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Validità&nbsp; delle&nbsp; clausole&nbsp; contrattual</u>i. Tutte le clausole del presente Contratto si intendono pienamente valide, efficaci e vincolanti anche in caso di utilizzo gratuito, sperimentale o temporaneo della Piattaforma PPEASY da parte del Cliente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Validità&nbsp; delle&nbsp; clausole&nbsp; contrattual</u>i. Tutte le clausole del presente Contratto si intendono pienamente valide, efficaci e vincolanti anche in caso di utilizzo gratuito, sperimentale o temporaneo della Piattaforma PPEASY da parte del Cliente.</p>
</li> </li>
<li data-list-text="8.7"> <li data-list-text="8.7">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Oneri fiscal</u>i. Qualunque onere fiscale derivante dallesecuzione del Contratto, comprese eventuali imposte per attività pubblicitaria, è a carico del Cliente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Oneri fiscal</u>i. Qualunque onere fiscale derivante dallesecuzione del Contratto, comprese eventuali imposte per attività pubblicitaria, è a carico del Cliente.</p>
</li> </li>
<li data-list-text="8.8"> <li data-list-text="8.8">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;"> <u>Legge applicabile e foro competente</u>. Il presente Contratto è regolato e interpretato secondo la legge italiana, e le Parti concordano espressamente che per qualsiasi controversia circa la validità, efficacia, interpretazione ed esecuzione del presente Contratto sarà sottoposta alla competenza esclusiva del Foro di Milano.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Legge applicabile e foro competente</u>. Il presente Contratto è regolato e interpretato secondo la legge italiana, e le Parti concordano espressamente che per qualsiasi controversia circa la validità, efficacia, interpretazione ed esecuzione del presente Contratto sarà sottoposta alla competenza esclusiva del Foro di Milano.</p>
</li> </li>
<li data-list-text="8.9"> <li data-list-text="8.9">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Clausole&nbsp; final</u>i. Il presente Contratto, inclusi gli eventuali allegati, sostituisce ogni accordo o intesa precedentemente intervenuta tra le Parti con riferimento alloggetto qui disciplinato. La mancata tempestiva esercitazione da parte di una Parte di un diritto derivante da una qualsiasi clausola non costituirà in alcun modo rinuncia a tale diritto.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Clausole&nbsp; final</u>i. Il presente Contratto, inclusi gli eventuali allegati, sostituisce ogni accordo o intesa precedentemente intervenuta tra le Parti con riferimento alloggetto qui disciplinato. La mancata tempestiva esercitazione da parte di una Parte di un diritto derivante da una qualsiasi clausola non costituirà in alcun modo rinuncia a tale diritto.</p>
@@ -802,16 +848,15 @@
</ol> </ol>
</ol> </ol>
<p style="text-indent: 0pt;text-align: left;"><br /></p> <p style="text-indent: 0pt;text-align: left;"><br /></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Qualora una clausola del presente Contratto fosse dichiarata nulla, invalida o inefficace da parte dellAutorità competente, ciò non pregiudicherà la validità delle restanti clausole, salvo che tale clausola abbia rappresentato elemento essenziale per la conclusione del Contratto.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Qualora una clausola del presente Contratto fosse dichiarata nulla, invalida o inefficace da parte dellAutorità competente, ciò non pregiudicherà la validità delle restanti clausole, salvo che tale clausola abbia rappresentato elemento essenziale per la conclusione del Contratto.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Il presente Contratto si intende pienamente accettato dal Cliente tramite selezione dellapposita casella (flag) in fase di registrazione o accesso alla Piattaforma PPEASY, ai sensi e per gli effetti degli artt. 1326 c.c. e 13 D.lgs. 70/2003.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Il presente Contratto si intende pienamente accettato dal Cliente tramite selezione dellapposita casella (flag) in fase di registrazione o accesso alla Piattaforma PPEASY, ai sensi e per gli effetti degli artt. 1326 c.c. e 13 D.lgs. 70/2003.</p>
<p style="text-indent: 0pt;text-align: left;"><br /></p> <p style="text-indent: 0pt;text-align: left;"><br /></p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Approvazione clausole ex artt. 1341 e 1342 c.c.</h1> <h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Approvazione clausole ex artt. 1341 e 1342 c.c.</h1>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: justify;">Il Cliente dichiara di approvare espressamente le seguenti clausole del presente Contratto Art. 2 Condizioni dUso della piattaforma; Art. 4.2 Uso in sub licenza; Art. 5.3 Spazio Piattaforma Dedicata; Art. 6 Garanzia del livello minimo di funzionalità; Art. 7 Dichiarazioni, garanzie, responsabilità e limitazioni; Art. 8.4 Cessione del Contratto; Art. 8.5 Validità modifiche e/o integrazioni; Art. 8.6 Clausola risolutiva espressa; Art. 8.9 Legge applicabile e foro competente.</p> <p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Il Cliente dichiara di approvare espressamente le seguenti clausole del presente Contratto Art. 2 Condizioni dUso della piattaforma; Art. 4.2 Uso in sub licenza; Art. 5.3 Spazio Piattaforma Dedicata; Art. 6 Garanzia del livello minimo di funzionalità; Art. 7 Dichiarazioni, garanzie, responsabilità e limitazioni; Art. 8.4 Cessione del Contratto; Art. 8.5 Validità modifiche e/o integrazioni; Art. 8.6 Clausola risolutiva espressa; Art. 8.9 Legge applicabile e foro competente.</p>
</body> </body>
</html> </html>
</div> <!--end auth-logo-text--> </div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5"> <h4 class="mt-0 mb-3 mt-5">
@@ -819,7 +864,6 @@
</h4> </h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br><br><br><br>
</div><!--end card-body--> </div><!--end card-body-->
</div><!--end card--> </div><!--end card-->
</div><!--end auth-card--> </div><!--end auth-card-->
@@ -828,9 +872,6 @@
</div><!--end container--> </div><!--end container-->
<!-- End Log In page --> <!-- End Log In page -->
<!-- jQuery --> <!-- jQuery -->
<script src="assets/js/jquery.min.js"></script> <script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script> <script src="assets/js/jquery-ui.min.js"></script>
+369 -124
View File
@@ -19,31 +19,68 @@
<link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/metisMenu.min.css" rel="stylesheet" type="text/css" />
<link href="assets/css/app.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.auth-logo-text {
text-align: left;
}
.auth-logo-text p,
.auth-logo-text ul,
.auth-logo-text li,
.auth-logo-text h1,
.auth-logo-text a {
text-align: left;
margin-bottom: 10px;
line-height: 1.5;
font-size: 10pt;
font-family: Calibri, sans-serif;
}
.auth-logo-text ul {
padding-left: 20px;
}
.auth-logo-text h1 {
font-weight: bold;
margin-top: 20px;
}
.auth-logo-text p+p,
.auth-logo-text p+ul,
.auth-logo-text ul+p,
.auth-logo-text h1+p,
.auth-logo-text h1+ul,
.auth-logo-text p+h1,
.auth-logo-text ul+h1 {
margin-top: 20px;
}
.auth-logo-text a {
color: #00F;
text-decoration: underline;
}
</style>
</head> </head>
<body class="account-body accountbg"> <body class="account-body accountbg">
<!-- Log In page --> <!-- Log In page -->
<div class="container"> <div class="container">
<div class="row vh-100 "> <div class="row vh-100">
<div class="col-12 align-self-center"> <div class="col-12 align-self-center">
<div> <div>
<div class="card auth-card shadow-lg"> <div class="card auth-card shadow-lg">
<div class="card-body"> <div class="card-body">
<div class="px-5"> <div class="px-5">
<div> <div>
<a href="https://www.cimac.it/modulo_certificazione/public/login" class="logo logo-admin"><img src="assets/img/cimac-logo.png" height="55" alt="logo" class="auth-logo"></a> <a href="https://www.cimac.it/modulo_certificazione/public/login" class="logo logo-admin"><img src="assets/img/cimac-logo.png" height="55" alt="logo" class="auth-logo"></a>
</div><!--end auth-logo-box--> </div>
<div class="text-center auth-logo-text"> <div class="text-center auth-logo-text">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TERMINI_E_CONDIZIONI_PPEASY</title> <title>TERMS_AND_CONDITIONS_PPEASY</title>
<meta name="author" content="Paola Crespi" /> <meta name="author" content="Paola Crespi" />
<style type="text/css"> <style type="text/css">
* { * {
@@ -78,7 +115,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 7pt; font-size: 10pt;
} }
.s2 { .s2 {
@@ -87,7 +124,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: underline; text-decoration: underline;
font-size: 8pt; font-size: 10pt;
} }
.s4 { .s4 {
@@ -96,7 +133,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
.a, .a,
@@ -106,7 +143,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
.s5 { .s5 {
@@ -115,7 +152,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: underline; text-decoration: underline;
font-size: 7pt; font-size: 10pt;
} }
.s7 { .s7 {
@@ -124,7 +161,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
li { li {
@@ -138,23 +175,19 @@
#l1>li>*:first-child:before { #l1>li>*:first-child:before {
counter-increment: c1; counter-increment: c1;
content: "(" counter(c1, lower-roman)") "; content: "(" counter(c1, lower-roman) ") ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l1>li:first-child>*:first-child:before { #l1>li:first-child>*:first-child:before {
counter-increment: c1 0; counter-increment: c1 0;
} }
li {
display: block;
}
#l2 { #l2 {
padding-left: 0pt; padding-left: 0pt;
counter-reset: d1 2; counter-reset: d1 2;
@@ -162,15 +195,12 @@
#l2>li>*:first-child:before { #l2>li>*:first-child:before {
counter-increment: d1; counter-increment: d1;
content: counter(d1, decimal)" "; content: counter(d1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l2>li:first-child>*:first-child:before {
counter-increment: d1 0;
} }
#l3 { #l3 {
@@ -180,13 +210,13 @@
#l3>li>*:first-child:before { #l3>li>*:first-child:before {
counter-increment: d2; counter-increment: d2;
content: counter(d1, decimal)"." counter(d2, decimal)" "; content: counter(d1, decimal) "." counter(d2, decimal) " ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l3>li:first-child>*:first-child:before { #l3>li:first-child>*:first-child:before {
@@ -204,11 +234,7 @@
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
}
li {
display: block;
} }
#l5 { #l5 {
@@ -218,11 +244,12 @@
#l5>li>*:first-child:before { #l5>li>*:first-child:before {
counter-increment: e1; counter-increment: e1;
content: counter(e1, decimal)" "; content: counter(e1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l5>li:first-child>*:first-child:before { #l5>li:first-child>*:first-child:before {
@@ -236,23 +263,19 @@
#l6>li>*:first-child:before { #l6>li>*:first-child:before {
counter-increment: e2; counter-increment: e2;
content: counter(e1, decimal)"." counter(e2, decimal)" "; content: counter(e1, decimal) "." counter(e2, decimal) " ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l6>li:first-child>*:first-child:before { #l6>li:first-child>*:first-child:before {
counter-increment: e2 0; counter-increment: e2 0;
} }
li {
display: block;
}
#l7 { #l7 {
padding-left: 0pt; padding-left: 0pt;
counter-reset: f1 4; counter-reset: f1 4;
@@ -260,11 +283,12 @@
#l7>li>*:first-child:before { #l7>li>*:first-child:before {
counter-increment: f1; counter-increment: f1;
content: counter(f1, decimal)" "; content: counter(f1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l7>li:first-child>*:first-child:before { #l7>li:first-child>*:first-child:before {
@@ -278,23 +302,19 @@
#l8>li>*:first-child:before { #l8>li>*:first-child:before {
counter-increment: f2; counter-increment: f2;
content: counter(f1, decimal)"." counter(f2, decimal)" "; content: counter(f1, decimal) "." counter(f2, decimal) " ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l8>li:first-child>*:first-child:before { #l8>li:first-child>*:first-child:before {
counter-increment: f2 0; counter-increment: f2 0;
} }
li {
display: block;
}
#l9 { #l9 {
padding-left: 0pt; padding-left: 0pt;
counter-reset: g1 5; counter-reset: g1 5;
@@ -302,15 +322,12 @@
#l9>li>*:first-child:before { #l9>li>*:first-child:before {
counter-increment: g1; counter-increment: g1;
content: counter(g1, decimal)" "; content: counter(g1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l9>li:first-child>*:first-child:before {
counter-increment: g1 0;
} }
#l10 { #l10 {
@@ -320,23 +337,19 @@
#l10>li>*:first-child:before { #l10>li>*:first-child:before {
counter-increment: g2; counter-increment: g2;
content: counter(g1, decimal)"." counter(g2, decimal)" "; content: counter(g1, decimal) "." counter(g2, decimal) " ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l10>li:first-child>*:first-child:before { #l10>li:first-child>*:first-child:before {
counter-increment: g2 0; counter-increment: g2 0;
} }
li {
display: block;
}
#l11 { #l11 {
padding-left: 0pt; padding-left: 0pt;
counter-reset: h1 6; counter-reset: h1 6;
@@ -344,15 +357,12 @@
#l11>li>*:first-child:before { #l11>li>*:first-child:before {
counter-increment: h1; counter-increment: h1;
content: counter(h1, decimal)" "; content: counter(h1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l11>li:first-child>*:first-child:before {
counter-increment: h1 0;
} }
#l12 { #l12 {
@@ -362,13 +372,13 @@
#l12>li>*:first-child:before { #l12>li>*:first-child:before {
counter-increment: h2; counter-increment: h2;
content: counter(h1, decimal)"." counter(h2, decimal)" "; content: counter(h1, decimal) "." counter(h2, decimal) " ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l12>li:first-child>*:first-child:before { #l12>li:first-child>*:first-child:before {
@@ -403,10 +413,6 @@
font-size: 10pt; font-size: 10pt;
} }
li {
display: block;
}
#l15 { #l15 {
padding-left: 0pt; padding-left: 0pt;
counter-reset: i1 7; counter-reset: i1 7;
@@ -414,15 +420,12 @@
#l15>li>*:first-child:before { #l15>li>*:first-child:before {
counter-increment: i1; counter-increment: i1;
content: counter(i1, decimal)" "; content: counter(i1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l15>li:first-child>*:first-child:before {
counter-increment: i1 0;
} }
#l16 { #l16 {
@@ -432,11 +435,12 @@
#l16>li>*:first-child:before { #l16>li>*:first-child:before {
counter-increment: i2; counter-increment: i2;
content: counter(i1, decimal)"." counter(i2, decimal)" "; content: counter(i1, decimal) "." counter(i2, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 10pt;
} }
#l16>li:first-child>*:first-child:before { #l16>li:first-child>*:first-child:before {
@@ -450,13 +454,13 @@
#l17>li>*:first-child:before { #l17>li>*:first-child:before {
counter-increment: j1; counter-increment: j1;
content: "(" counter(j1, lower-roman)") "; content: "(" counter(j1, lower-roman) ") ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l17>li:first-child>*:first-child:before { #l17>li:first-child>*:first-child:before {
@@ -470,23 +474,19 @@
#l18>li>*:first-child:before { #l18>li>*:first-child:before {
counter-increment: k1; counter-increment: k1;
content: "(" counter(k1, lower-roman)") "; content: "(" counter(k1, lower-roman) ") ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l18>li:first-child>*:first-child:before { #l18>li:first-child>*:first-child:before {
counter-increment: k1 0; counter-increment: k1 0;
} }
li {
display: block;
}
#l19 { #l19 {
padding-left: 0pt; padding-left: 0pt;
counter-reset: l1 8; counter-reset: l1 8;
@@ -494,15 +494,12 @@
#l19>li>*:first-child:before { #l19>li>*:first-child:before {
counter-increment: l1; counter-increment: l1;
content: counter(l1, decimal)" "; content: counter(l1, decimal) " ";
color: black; color: black;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
} font-size: 10pt;
#l19>li:first-child>*:first-child:before {
counter-increment: l1 0;
} }
#l20 { #l20 {
@@ -512,13 +509,13 @@
#l20>li>*:first-child:before { #l20>li>*:first-child:before {
counter-increment: l2; counter-increment: l2;
content: counter(l1, decimal)"." counter(l2, decimal)" "; content: counter(l1, decimal) "." counter(l2, decimal) " ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: bold; font-weight: bold;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l20>li:first-child>*:first-child:before { #l20>li:first-child>*:first-child:before {
@@ -532,13 +529,13 @@
#l21>li>*:first-child:before { #l21>li>*:first-child:before {
counter-increment: m1; counter-increment: m1;
content: "(" counter(m1, lower-roman)") "; content: "(" counter(m1, lower-roman) ") ";
color: black; color: black;
font-family: Calibri, sans-serif; font-family: Calibri, sans-serif;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
text-decoration: none; text-decoration: none;
font-size: 8pt; font-size: 10pt;
} }
#l21>li:first-child>*:first-child:before { #l21>li:first-child>*:first-child:before {
@@ -548,44 +545,292 @@
</head> </head>
<body> <body>
TEXT HERE <p style="text-indent: 0pt;text-align: left;"><br /></p>
<h1 style="padding-top: 2pt;text-indent: 0pt;text-align: left;">TERMS AND CONDITIONS OF USE OF THE PPEASY PLATFORM</h1>
<p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">Access to and use of the PPEASY platform, software made available by ANCI SERVIZI Srl a Socio Unico, with registered office at Via Alberto Riva di Villasanta 3, Milan, VAT no. 07199040150 (hereinafter <b>ANCI</b>), is subject to full acceptance of these terms of use (hereinafter, the <b>Terms and Conditions</b>).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The end user (hereinafter the “Client”), by continuing to use the Platform, declares to have read, understood, and fully accepted these Terms and Conditions, which constitute a legally binding contract between ANCI and the Client (understood as the end user).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The PPEASY platform is reserved exclusively for entities operating within the scope of their entrepreneurial, commercial, artisanal, or professional activities and cannot be used by consumers pursuant to Legislative Decree 206/2005 (Consumer Code). The Client therefore undertakes to use the Platform solely for purposes related to their professional activity.</p>
<h1 style="padding-left: 94pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Whereas</h1>
<ol id="l1">
<li data-list-text="(i)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI, sublicensor of the company CE SOFT S.r.l (hereinafter “CESOFT”), has obtained a license with the right to sublicense for the PPEASY platform, a software application that allows Clients to directly and independently manage the collection and organization of their own data and information, as well as, if applicable, those of their clients and/or potential clients, and to automatically generate proposals for the purchase of services, particularly testing and certification services for products;</p>
</li>
<li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The application is a tool reserved for professional entities, and the Client undertakes to use it exclusively in relation to their business activity for the sole purposes of organizing and managing their professional activity.</p>
</li>
</ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">These conditions govern the use of the PPEASY Platform based on the following premises, which form an integral and substantial part of these conditions. It is understood that the premises and the attachments (e.g., external links) to this contract (e.g., Client registration form, activation order) also constitute an integral and substantial part of the contract itself.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Article 1. Definitions.</h1>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In relation to these Terms and Conditions, the following meanings are assigned to recurring terms and expressions: <b>Contract</b>: refers to these Terms and Conditions, including specific services (see below) of the PPEASY platform as specifically defined below, digitally accepted by the Client at the time of registration or first access to the PPEASY Platform;</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">PPEASY Platform<span class="p">: Software accessible online in executable form and installed on technical infrastructures managed by ANCI through its own technical sub-processors, which allows Clients to directly and independently manage the collection and organization of their own data and information, as well as, if applicable, those of their clients and/or potential clients, and to automatically generate proposals for the purchase of the Clients services;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Included Services<span class="p">: (i) third-party services, (ii) access under sublicense to the PPEASY Platform by Clients, (iii) ordinary maintenance and updates, in order to keep the PPEASY Platform functioning properly and to implement its features;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Requests<span class="p">: The requests for the purchase of testing and certification services by the Client, automatically generated through the PPEASY Platform after entering specific information and data;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Activation Date<span class="p">: The date of registration of the Client on the PPEASY Platform;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Client Form<span class="p">: The electronic form containing the Clients personal data, completed during the activation/registration phase on the PPEASY Platform;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Activation Order<span class="p">: The activation of the PPEASY Platforms functionalities carried out by the Client after online registration, through which the Client activates the license and the Included Services;</span></h1>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Intellectual property<span class="p">: Any intellectual property right governed, from time to time, by patent laws, semiconductor chip protection laws, copyright laws, trade secret laws, trademark laws, and any other applications, renewals, extensions, reintroductions, and restorations, currently in force or enforceable in the future, worldwide registered or unregistered intellectual property right, as well as any</span></h1>
<p style="padding-top: 3pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">other intellectual property rights.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Section 2: Conditions of Use of the PPEASY Platform</h1>
<ol id="l2">
<ol id="l3">
<li data-list-text="2.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>License to Use the PPEASY Platform</u>. ANCI, as licensee of the PPEASY Platform under a separate agreement with CESOFT, undertakes to provide the Client with a limited, non-exclusive, and free sublicense to use the PPEASY Platform, which allows the Client to directly and independently manage the collection and organization of data and information, as well as the generation of Requests.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The license includes the Included Services as better described in Article 3 below, and therefore third-party services (i.e., Apache Server, PHP, and MySQL database) and ordinary maintenance and updates of the platform.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Client is aware of and expressly accepts that the PPEASY Platform is a tool reserved for professional entities and that this Agreement is not subject to consumer contract regulations. The PPEASY Platform is installed in ANCIs IT environment, which manages its hosting, but requires an active connection to CESOFTs servers for license validation, user authentication, and technical updates. The Client undertakes to use the Platform in accordance with the instructions provided by ANCI and/or CESOFT and in compliance with applicable legislative and regulatory provisions. ANCI does not provide hosting services and performs automatic backups. It is understood that data processing related to the use of the PPEASY Platform will in any case be carried out in compliance with current regulations. The Client assumes the role of Data Controller while ANCI is the Data Processor pursuant to Article 28 of the GDPR. Due to the nature and operation of the PPEASY Platform, the Parties acknowledge that, within the limits provided by this Agreement, the Client will directly and independently manage the IT tools made available by ANCI for the execution of Requests.</p>
</li>
<li data-list-text="2.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Access to the PPEASY Platform</u>. The Client will have access to the PPEASY Platform through a reserved area using authorization and authentication credentials assigned to the Client, which must be kept and used under the Clients exclusive responsibility. Access to and use of the PPEASY Platform must comply with the provisions agreed upon in the Activation Order. In particular, the Client undertakes to keep the alphanumeric access codes (referred to as "username" and "password") strictly confidential and is therefore also responsible for their safekeeping. The Client will thus be solely responsible for any damage caused by the possible use of login and password by unauthorized third parties. The Client also undertakes to immediately notify ANCI of any theft, loss, misplacement, or appropriation of access credentials by unauthorized third parties, regardless of the reason.</p>
</li>
<li data-list-text="2.3">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Ownership of Records, Requests, and Obligations of the Parties</u>. The content and data entered by the Client into the PPEASY Platform, including the Requests generated, remain the exclusive property of the Client. Unless otherwise agreed in writing, ANCI undertakes not to use such content for any purpose other than what is strictly necessary for the fulfillment of this Agreement. In particular, ANCI commits to:</p>
<ul id="l4">
<li data-list-text="-">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">not disclose or transfer such content to third parties, in whole or in part, except where required by law;</p>
</li>
<li data-list-text="-">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">not use it for its own purposes, except in anonymous and aggregated form for statistical purposes and to improve the Platform;</p>
</li>
<li data-list-text="-">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">not retain copies, except as strictly necessary for the operational continuity of the PPEASY Platform and in compliance with applicable regulations.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">For the purposes of the applicable legislation on personal data protection, in particular Regulation (EU) 2016/679 (GDPR), the Client acts as Data Controller, while ANCI is designated as Data Processor pursuant to Article 28 of the GDPR, limited to the processing necessary for the technical management of the PPEASY Platform and the databases generated therein. By signing this Agreement, the Client appoints ANCI as Data Processor and ANCI accepts this appointment, confirming that it possesses the necessary technical and organizational skills. ANCI may, in turn, use its own sub-processors for specific technical and maintenance activities, including HEXAGON S.r.l., as an IT service provider and external system administrator pursuant to Article 28.2 of the GDPR. ANCI guarantees that it has entered into agreements with such sub-processors in compliance with Article 28 of the GDPR. Upon termination of this Agreement, for any reason, the designation of ANCI as Data Processor will be automatically revoked and the data and content processed will be deleted in accordance with Article 2.7 below, except where otherwise required by law.</p>
</li>
</ul>
</li>
<li data-list-text="2.4">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Data Deletion Procedures</u>. After 10 (ten) days from the expiration or termination of the Agreement for any reason, ANCI will have the right to delete the data stored on behalf of the Client in the PPEASY Platform. Such data will be freely accessible and downloadable by the Client within the aforementioned period using the standard functionalities of the PPEASY Platform. Longer retention periods may be required for reasons other than those indicated in this Agreement, particularly in the case of investigations by the Judicial Police or authorities responsible for any inspections.</p>
</li>
</ol>
</ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Section 3. Included Services</h1>
<ol id="l5">
<ol id="l6">
<li data-list-text="3.1">
<p class="" style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><span class="s2"> Support and Maintenance</span>. Support and maintenance services include exclusively corrective maintenance (i.e., bug fixing) and changes required or made necessary by amendments to applicable regulations. The evolution of existing functionalities of the PPEASY Platform or the development of new functionalities are not activities included in the Included Services. The Client undertakes to report any bugs to ANCI via email at <a href="mailto:info@cimac.it" class="a" target="_blank"><span style=" color: #00F; font-family:Calibri, sans-serif; font-style: normal; font-weight: normal; text-decoration: underline; font-size: 10pt;">info@cimac.it</span></a>, providing a detailed description of the problem and all necessary information to reproduce it. In the absence of such information, the report cannot be processed. Support and maintenance services are provided by ANCI to the Client, possibly with the technical support of CE SOFT, as agreed in Article 6.2 below. Critical bugs, which prevent the operation of the Software or a substantial part of it, making it effectively unusable, will be taken charge of within 2 working days from the date of the report and resolved within 5 working days from being taken charge of.</p>
</li>
<li data-list-text="3.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Third-Party Services</u>. The PPEASY Platform has been developed including third-party services (i.e., Apache Server, PHP, and MySQL database). The Client acknowledges that these components are integrated into the solution provided by ANCI and undertakes to fully indemnify ANCI from any liability regarding their proper functioning. The licenses for the third-party components, if integrated into the PPEASY Platform, are granted to the Client on a non-exclusive basis and only for the duration of this Agreement.</p>
</li>
</ol>
</ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Except as provided in Article 6.1 below, third-party services do not include hosting services. The daily backup of data entered by the Client into the PPEASY Platform is guaranteed by ANCI through its own technical providers.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Section 4. Ownership and Trademarks</h1>
<ol id="l7">
<ol id="l8">
<li data-list-text="4.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Ownership of the PPEASY Platform</u>. CESOFT is the sole and exclusive owner of all rights and interests in the PPEASY Platform and any Intellectual Property associated with it, including any developments derived from it. PPEASY is a registered trademark. The PPEASY Platform and the information contained therein, with the sole exception of what is mentioned in Article 2.3, are the property of CESOFT. Unauthorized copying and dissemination in violation of Intellectual Property rights are prohibited.</p>
</li>
<li data-list-text="4.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Use under Sublicense</u>. Except as provided in Article 2.1, the Client is not authorized to grant sublicenses, nor to assign, lease, sell, distribute, or transfer to third parties, in whole or in part, access to the PPEASY Platform, nor to allow its use by parties outside their own organization. The use of the Platform by employees, collaborators, or consultants of the Client is permitted, provided they are part of the corporate organization and under the direct responsibility of the Client. Any use in violation of this article will result in the immediate termination of the Agreement pursuant to Article 1456 of the Italian Civil Code, without prejudice to compensation for further damages.</p>
</li>
</ol>
</ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Section 5. Economic Terms and Contract Duration</h1>
<ol id="l9">
<ol id="l10">
<li data-list-text="5.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Commencement, Duration, and Termination of the Agreement</u>. Access to the PPEASY Platform and use of the Included Services are granted free of charge for a fixed term, with an annual duration and fee defined during the account activation phase by the Client through the Activation Order.</p>
<p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">The duration of access begins from the date of activation of the Platform and is automatically renewed for subsequent periods of equal duration (i.e., annually), unless terminated by the Client at least 30 (thirty) days before the end of the current period, by written notice sent via email to <a href="mailto:info@cimac.it" target="_blank">info@cimac.it</a>.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">If termination is not exercised within the specified period, the use of the PPEASY Platform will be considered renewed in all respects. ANCI reserves the right to suspend or terminate access to the Platform in case of breach of contractual obligations, pursuant to Article 8.6.</p>
</li>
<li data-list-text="5.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Free License</u>. The use of the Platform, the provision of the Included Services, and the availability and performance of the accessory and instrumental services provided for in this Agreement, as well as the use of any additional options offered by the PPEASY Platform, are granted to the Client free of charge.</p>
</li>
<li data-list-text="5.3">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Use of PPEASY Platform Space</u>. The use of the PPEASY Platform space by the Client is strictly limited to the purposes related to the agreed use. The Client expressly accepts this principle and therefore undertakes not to use it for purposes or in ways other than those agreed. ANCI reserves the right to verify, at any time and even without notice, the compliance of the files saved in the PPEASY Platform space with the provisions of this article. In case of non-compliance with the provisions herein, ANCI, directly or through its designated technical sub-processors, may proceed to delete such files without any obligation to notify the Client.</p>
</li>
</ol>
</ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Section 6. Minimum Functionality Guarantee</h1>
<ol id="l11">
<ol id="l12">
<li data-list-text="6.1">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Without prejudice to the provisions of Article 3.2 above, ANCI undertakes to guarantee, for the entire duration of the Agreement, the availability of the PPEASY Platform with an uptime level of 99% on an annual basis, 24 hours a day, 365 days a year. It is understood that ANCI shall in no case be held responsible for any disruptions, malfunctions, or unavailability of the PPEASY Platform resulting, directly or indirectly, from:</p>
<ul id="l13">
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">interruptions or malfunctions of the Clients Internet connectivity or IT infrastructure;</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -17pt;line-height: 12pt;text-align: left;">hardware or software failures at the Clients premises;</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">errors or conduct attributable to third parties for whom the Client is responsible, including any authorized sublicensees or parties accessing the Platform on behalf of the Client;</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">events attributable to ANCIs hosting provider or external technical parties not under the control of ANCI or its technical suppliers.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Also excluded from the calculation of uptime level and from any liability on the part of ANCI are:</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">ordinary maintenance operations, communicated to the Client with at least 2 (two) calendar days notice;</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">extraordinary maintenance operations, even if unscheduled, provided they are communicated with at least 4 (four) hours notice, except in cases of emergency;</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">any service interruptions between 00:00 and 06:00 on working days and during holidays, due to update, backup, or scheduled maintenance activities.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI, in any case, undertakes to minimize the duration and frequency of planned service interruptions and to promptly restore full operation of the Platform in collaboration with its designated technical sub-processors.</p>
</li>
</ul>
</li>
<li data-list-text="6.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Technical Support and Tutoring</u>. As an accessory and functional service for the use of the PPEASY Platform, ANCI undertakes to provide the Client with technical support, also through CE SOFT, maintaining responsibility towards the Client as sublicensor and providing tutoring activities within the limits set by this Agreement. In particular, ANCI provides:</p>
<ul id="l14">
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -18pt;text-align: left;">Technical support via email to the dedicated address (e.g., <a href="mailto:info@cimac.it" class="a" target="_blank">info@cimac.it</a>) for issues related to the functioning of the Platform (including non-critical bugs, as defined in Article 3.1).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Requests will be taken charge of within 3 (three) working days from receipt of a complete report, containing:</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -17pt;line-height: 12pt;text-align: left;">a detailed description of the anomaly encountered;</p>
</li>
<li data-list-text="">
<p style="padding-left: 41pt;text-indent: -17pt;text-align: left;">any technical attachments or error logs;</p>
</li>
<li data-list-text="">
<p style="padding-top: 4pt;padding-left: 5pt;text-indent: 18pt;text-align: left;">useful information for reproducing the problem. The resolution intervention will be carried out within 10 (ten) working days from the time the request is taken charge of, except in cases of unforeseen events or those dependent on third parties. The timeline begins only once all the information necessary for correctly identifying the problem has been obtained.</p>
</li>
</ul>
</li>
</ol>
</ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI reserves the right to use HEXAGON S.r.l. as its sub-processor and external system administrator in compliance with the provisions of Article 28 of the GDPR.</p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Section 7. Declarations, Warranties, Responsibilities, and Limitations</h1>
<ol id="l15">
<ol id="l16">
<li data-list-text="7.1">
<p class="s7" style="padding-left: 5pt;text-indent: 0pt;text-align: left;"><span class="s5"> </span><u>Truthfulness and Accuracy of Information Provided</u>. The Client declares and guarantees:</p>
<ol id="l17">
<li data-list-text="(i)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">that all information provided to ANCI as sublicensor during registration and while using the PPEASY Platform is complete, truthful, accurate, and constantly updated;</p>
</li>
<li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">to have full authority and legitimacy to authorize ANCI to process, including through sub-processors, the data entered into the PPEASY Platform, within the limits and for the purposes set out in this Agreement.</p>
</li>
</ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">It is understood that nothing in this article may be interpreted as a limitation or exclusion of the Parties liability in cases of willful misconduct or gross negligence, except as otherwise provided in the Agreement.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">All correspondence exchanged between the Client and ANCI, including that with collaborators or technical contacts, may be archived by ANCI for evidentiary, management, or protection purposes.</p>
</li>
<li data-list-text="7.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Responsibility for Content and Data Entered into the Platform</u>. The Client (understood as the end user) is solely responsible, including pursuant to Articles 1228 and 2049 of the Italian Civil Code, for the content, lawfulness, truthfulness, and updating of the information, data, and Requests entered or generated through the PPEASY Platform, including those entered by their own employees, collaborators, end clients, or other subjects for whose actions the Client is responsible.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Client undertakes to indemnify and hold ANCI fully harmless from any claim, request, sanction, or damage (including those of a compensatory, administrative, fiscal, or criminal nature) that may arise from improper, unlawful, or unauthorized use of the PPEASY Platform, or from the entry of unlawful, false, or non-compliant content with respect to applicable regulations.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Under no circumstances shall ANCI be held liable for the content entered into the PPEASY Platform, nor for the use of Requests or data by the Client or third parties.</p>
</li>
<li data-list-text="7.3">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Liability for Breach of Contractual Obligations by the Client</u>. The Client undertakes to indemnify and hold ANCI harmless from any damage, loss, cost, liability, or expense (including legal fees) that ANCI may suffer or incur as a result of:</p>
<ol id="l18">
<li data-list-text="(i)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">a breach by the Client of the obligations set forth in this Agreement;</p>
</li>
<li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">the inaccuracy, incompleteness, or untruthfulness of the declarations and warranties made by the Client;</p>
</li>
<li data-list-text="(iii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">the entry or processing of data or Requests containing incorrect, false, or non-compliant information with respect to applicable regulations.</p>
</li>
</ol>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">This indemnity obligation also extends to claims for compensation made by third parties, for any reason, in relation to the use of the PPEASY Platform by the Client.</p>
</li>
<li data-list-text="7.4">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Responsibility for Use of the PPEASY Platform</u>. The Client acknowledges that the use of the PPEASY Platform will take place in full autonomy and under their exclusive responsibility. The Client undertakes to inform and have all their employees, collaborators, and any other individuals who, by virtue of their relationship with the Client, will have access to the PPEASY Platform, sign the commitment to observe the obligations arising from this Agreement, ensuring in all cases that they are aware of and fully comply with such obligations.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI, including its employees and collaborators, assumes no responsibility in relation to the use of the PPEASY Platform by the Client. To this end, the Client irrevocably undertakes also pursuant to and for the purposes of Article 1381 of the Italian Civil Code to indemnify and hold ANCI, its employees, and collaborators fully harmless from any damage or prejudice, contractual or non-contractual, that may arise, directly or indirectly, from the use of the PPEASY Platform and the execution of this Agreement by the Client or by individuals acting on their behalf.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">These provisions shall remain valid and effective even after the termination of this Agreement, for any reason, including expiration, termination, or withdrawal.</p>
</li>
<li data-list-text="7.5">
<p style="padding-left: 17pt;text-indent: -12pt;line-height: 10pt;text-align: left;"> <u>Obligation of Non-Circumvention and Non-Competition</u></p>
<p style="padding-top: 4pt;padding-left: 5pt;text-indent: 0pt;text-align: left;">By accepting this Agreement, the Client irrevocably agrees and guarantees not to, directly or indirectly, interfere with, circumvent or attempt to circumvent, avoid, bypass, or elude the interests and rights of ANCI with respect to the commercialization and functionalities of the PPEASY Platform, nor to use them in any manner inconsistent with the rights granted herein and, in general, with the provisions of this Agreement.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">For these purposes, and except as provided in Article 4.2 above, the Client also undertakes not to distribute or otherwise transfer the PPEASY platform, in whole or in part, to third parties; not to provide, disclose, or make available or allow the use of the PPEASY Platform; not to modify or create derivative works based on the PPEASY Platform; and, not even partially, not to decompile, disassemble, decode, or otherwise attempt to derive the source code of the PPEASY Platform.</p>
</li>
<li data-list-text="7.6">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Non-Performance Due to External Events</u>. ANCI shall not be held liable for malfunctions, delays, or service interruptions caused by issues attributable to telephone, electrical, or Internet network operators, or to global or national IT infrastructures, including failures, overloads, blackouts, or unavailability of transmission lines.</p>
</li>
<li data-list-text="7.7">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Force Majeure</u>. ANCI shall not be held liable in any way for non-performance of this Agreement resulting from causes beyond its reasonable control or from force majeure or unforeseeable events, including, but not limited to, civil unrest, acts of terrorism and war, strikes, riots, tornadoes, hurricanes, floods, fires, epidemics, landslides, and mudslides.</p>
</li>
<li data-list-text="7.8">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Interruptions Due to Exceptional Events</u>. ANCI undertakes to maintain the efficiency of the PPEASY Platform and, in the event of service suspension due to exceptional events or urgent maintenance, to minimize the duration of the interruption and to promptly inform the Client, where possible.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">ANCI reserves the right to update or modify the technical methods of access to the Platform, communicating the technical specifications upon request of the Client, so that the Client can ensure its proper use.</p>
</li>
<li data-list-text="7.9">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Non-Performance Due to Third Parties</u>. ANCI is not liable for malfunctions or service disruptions resulting from actions, omissions, or delays attributable to third parties, including by way of example telephone line operators, cloud or hosting service providers of the Client, or third-party systems through which access to the PPEASY Platform is made.</p>
</li>
<li data-list-text="7.10">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Limitation of Liability</u>. Except in cases of willful misconduct or gross negligence, ANCIs total liability for any direct damage resulting from the breach of obligations under this Agreement shall in no case exceed the maximum aggregate amount of Euro 100.00 (one hundred/00), as a conventional liability limit, even in the case of multiple and/or continuous damaging events. In any case, ANCI shall not be liable for indirect, consequential, loss of data, loss of profits, interruption of business, loss of opportunity, or damage to image resulting from the use of the PPEASY Platform, except for mandatory limits provided by law.</p>
</li>
</ol>
</ol>
<h1 style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Section 8. Ownership of Data Relating to Platform Use by Clients and Conditions of Use of the PPEASY Platform</h1>
<ol id="l19">
<ol id="l20">
<li data-list-text="8.1">
<p style="padding-left: 17pt;text-indent: -12pt;line-height: 10pt;text-align: left;"> <u>Aggregated Data</u>.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">As established between the Parties, ANCI holds all rights to use statistical information, data, and related analyses in aggregated and anonymous form, resulting from the use of the PPEASY Platform by its Clients. Such data will never include personal data or elements that could make the Client or its end users identifiable.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Client expressly authorizes ANCI to use such aggregated data exclusively for statistical purposes, to improve the functionalities of the Platform, or for institutional and public communication purposes, always in anonymous and non-identifiable form.</p>
</li>
<li data-list-text="8.2">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Publicity</u>. The Client authorizes ANCI to use their name and logo for institutional, marketing, corporate documentation, or external communication purposes (including client lists, presentations, financial reports).</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Subject to the provisions of Articles 4.1 and 4.2, the Client may not use the trademark, trade name, logo, or any other distinctive sign referring to the PPEASY Platform or ANCI without prior written authorization from ANCI.</p>
</li>
<li data-list-text="8.3">
<p style="padding-top: 2pt;padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Assignment of the Agreement</u>. ANCI may assign or transfer this Agreement and the related rights and obligations to third parties, including in the case of extraordinary corporate transactions. The Client may assign this Agreement only with ANCIs prior written consent.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">In the event of assignment by the Client in violation of this clause, ANCI shall have the right, at its sole discretion:</p>
<ol id="l21">
<li data-list-text="(i)">
<p style="padding-left: 13pt;text-indent: -8pt;line-height: 10pt;text-align: left;">to terminate the Agreement pursuant to Article 1456 of the Italian Civil Code;</p>
</li>
<li data-list-text="(ii)">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">to require the Client to pay a lump sum of Euro 100.00 as reimbursement for administrative expenses related to the management of the violation.</p>
</li>
</ol>
</li>
<li data-list-text="8.4">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Validity of Amendments and/or Additions</u>. Any amendment to the provisions of this Agreement must be agreed in writing between the Parties.</p>
</li>
<li data-list-text="8.5">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Express Termination Clause</u>. This Agreement shall be deemed automatically terminated, pursuant to and for the purposes of Article 1456 of the Italian Civil Code, by simple written notice sent also by e-mail or certified email (PEC), in the following cases: violation of the provisions contained in Articles 4.2 (Use under sublicense), 7.5 (Obligation of Non-Circumvention), 8.3 (Assignment of the Agreement); initiation of insolvency proceedings, voluntary or compulsory liquidation of the Client. The termination shall take effect upon receipt of the relevant communication. ANCI reserves the right to exercise any further rights, including claims for compensation for any damages suffered.</p>
</li>
<li data-list-text="8.6">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Validity of Contractual Clauses</u>. All clauses of this Agreement shall be fully valid, effective, and binding even in the case of free, experimental, or temporary use of the PPEASY Platform by the Client.</p>
</li>
<li data-list-text="8.7">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Tax Charges</u>. Any tax charge arising from the execution of the Agreement, including any taxes for advertising activities, shall be borne by the Client.</p>
</li>
<li data-list-text="8.8">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Governing Law and Jurisdiction</u>. This Agreement is governed by and interpreted according to Italian law, and the Parties expressly agree that any dispute regarding the validity, effectiveness, interpretation, and execution of this Agreement shall be subject to the exclusive jurisdiction of the Court of Milan.</p>
</li>
<li data-list-text="8.9">
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;"> <u>Final Clauses</u>. This Agreement, including any attachments, replaces any previous agreement or understanding between the Parties with respect to the subject matter governed herein. The failure of a Party to promptly exercise any right arising from any clause shall not in any way constitute a waiver of such right.</p>
</li>
</ol>
</ol>
<p style="text-indent: 0pt;text-align: left;"><br /></p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">Should any clause of this Agreement be declared null, invalid, or ineffective by the competent Authority, this shall not affect the validity of the remaining clauses, unless such clause constituted an essential element for the conclusion of the Agreement.</p>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">This Agreement is considered fully accepted by the Client through the selection of the appropriate box (flag) during the registration or access phase to the PPEASY Platform, pursuant to and for the purposes of Articles 1326 of the Civil Code and 13 of Legislative Decree 70/2003.</p>
<p style="text-indent: 0pt;text-align: left;"><br /></p>
<h1 style="padding-left: 5pt;text-indent: 0pt;line-height: 10pt;text-align: left;">Approval of clauses pursuant to Articles 1341 and 1342 of the Civil Code</h1>
<p style="padding-left: 5pt;text-indent: 0pt;text-align: left;">The Client expressly declares approval of the following clauses of this Agreement: Article 2 Conditions of Use of the Platform; Article 4.2 Use under Sublicense; Article 5.3 Dedicated Platform Space; Article 6 Minimum Functionality Guarantee; Article 7 Declarations, Warranties, Responsibilities, and Limitations; Article 8.3 Assignment of the Agreement; Article 8.4 Validity of Amendments and/or Additions; Article 8.5 Express Termination Clause; Article 8.8 Governing Law and Jurisdiction.</p>
</body> </body>
</html> </html>
</div>
<h4 class="mt-0 mb-3 mt-5"></h4>
</div> <!--end auth-logo-text-->
<h4 class="mt-0 mb-3 mt-5">
</h4>
<br><br><br><br><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- End Log In page -->
<!-- jQuery -->
</div><!--end card-body--> <script src="assets/js/jquery.min.js"></script>
</div><!--end card--> <script src="assets/js/jquery-ui.min.js"></script>
</div><!--end auth-card--> <script src="assets/js/bootstrap.bundle.min.js"></script>
</div><!--end col--> <script src="assets/js/metismenu.min.js"></script>
</div><!--end row--> <script src="assets/js/waves.js"></script>
</div><!--end container--> <script src="assets/js/feather.min.js"></script>
<!-- End Log In page --> <script src="assets/js/jquery.slimscroll.min.js"></script>
<!-- App js -->
<script src="../assets/js/app.js"></script>
<!-- jQuery -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery-ui.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script>
<script src="assets/js/metismenu.min.js"></script>
<script src="assets/js/waves.js"></script>
<script src="assets/js/feather.min.js"></script>
<script src="assets/js/jquery.slimscroll.min.js"></script>
<!-- App js -->
<script src="../assets/js/app.js"></script>
</body> </body>
</html> </html>
+65 -14
View File
@@ -13,8 +13,14 @@ if (isset($_GET["certtype"])) {
if (isset($_GET["tempcode"])) { if (isset($_GET["tempcode"])) {
$tempcode = $_GET["tempcode"]; $tempcode = $_GET["tempcode"];
} }
if (isset($_GET["previousrepnumber"])) { if (isset($_POST["previousrepnumber"])) {
$previousrepnumber = $_POST["previousrepnumber"];
} elseif (isset($_POST["previousrepnumber"])) {
$previousrepnumber = $_POST["previousrepnumber"];
} elseif (isset($_GET["previousrepnumber"])) {
$previousrepnumber = $_GET["previousrepnumber"]; $previousrepnumber = $_GET["previousrepnumber"];
} elseif (isset($_GET["previousreportnumber"])) {
$previousrepnumber = $_GET["previousreportnumber"];
} else { } else {
$previousrepnumber = ""; $previousrepnumber = "";
} }
@@ -44,11 +50,6 @@ if (isset($_GET["notificatedorganismname"])) {
} else { } else {
$notificatedorganismname = ""; $notificatedorganismname = "";
} }
if (isset($_GET["previousrepnumber"])) {
$previousrepnumber = $_GET["previousrepnumber"];
} else {
$previousrepnumber = "";
}
if (isset($_GET["renewdate"])) { if (isset($_GET["renewdate"])) {
$renewdate = $_GET["renewdate"]; $renewdate = $_GET["renewdate"];
} else { } else {
@@ -603,15 +604,15 @@ include('include/trfqueryscript.php'); ?>
if (!empty($modelrows)) { if (!empty($modelrows)) {
foreach ($modelrows as $row) { foreach ($modelrows as $row) {
$modelName = ($_SESSION['langselect'] == 'it')
// echo $row['idmodelarticle']; ? $row['namemodelarticle']
: $row['namemodelarticle_eng'];
// echo $trfnumberfinal->getColumnVal("model");
?> ?>
<option value="<?php echo $row['idmodelarticle']; ?>" <?php if (!(strcmp($row['idmodelarticle'], ($trfnumberfinal->getColumnVal("model"))))) { <option value="<?php echo $row['idmodelarticle']; ?>" <?php if (!(strcmp($row['idmodelarticle'], ($trfnumberfinal->getColumnVal("model"))))) {
echo "selected=\"selected\""; echo "selected=\"selected\"";
} ?>><?php echo $row['namemodelarticle']; ?></option> } ?>>
<?php echo $modelName; ?>
</option>
<?php <?php
} }
@@ -1066,13 +1067,23 @@ include('include/trfqueryscript.php'); ?>
success: function(data) { success: function(data) {
$('#uploadForm')[0].reset(); $('#uploadForm')[0].reset();
$('#uploadStatus').html('<span style="color:#28A74B;">Images uploaded successfully.<span>'); $('#uploadStatus').html('<span style="color:#28A74B;">Images uploaded successfully.<span>');
$('.gallery').html(data); // data = HTML dell'immagine restituita da upload.php
$('.gallery').html(
'<div class="uploaded-wrap">' + data +
' <a href="#" id="delPhoto" title="Delete"><i class="fas fa-trash-alt text-danger font-16"></i></a></div>'
);
// $('#cont_photoupload').html(data); $('#delPhoto').on('click', function(e) {
e.preventDefault();
deleteMainPhoto(<?php echo (int)$trfnumberfinal->getColumnVal("idtrfdetails"); ?>);
});
} }
}); });
}); });
// File type validation // File type validation
$("#fileInput").change(function() { $("#fileInput").change(function() {
var fileLength = this.files.length; var fileLength = this.files.length;
@@ -1091,6 +1102,29 @@ include('include/trfqueryscript.php'); ?>
}); });
</script> </script>
<script>
function deleteMainPhoto(idtrf) {
$.ajax({
type: 'POST',
url: 'deletephotomain.php',
data: {
idtrf: idtrf
},
beforeSend: function() {
$('#uploadStatus').html('<img src="../images/uploading.gif"/>');
},
success: function(resp) {
// svuota galleria e stato
$('.gallery').html('');
$('#uploadStatus').html('<span style="color:#28A74B;">Photo removed.<span>');
},
error: function() {
$('#uploadStatus').html('<span style="color:#EA4335;">Delete failed.<span>');
}
});
}
</script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
$(".upload-image").click(function() { $(".upload-image").click(function() {
@@ -1101,6 +1135,23 @@ include('include/trfqueryscript.php'); ?>
$('#form').parsley(); $('#form').parsley();
}); });
</script> </script>
<script>
// FUNZIONE già indicata al punto 2: deve stare PRIMA di questo blocco
// function deleteMainPhoto(idtrf){ ... }
$(function() {
// Se la pagina si apre con un'immagine già presente, aggiungi subito il cestino
if ($('.gallery img').length && !$('#delPhotoMain').length) {
$('.gallery').append(
' <a href="#" id="delPhotoMain" title="Delete"><i class="fas fa-trash-alt text-danger font-16"></i></a>'
);
$('#delPhotoMain').on('click', function(e) {
e.preventDefault();
deleteMainPhoto(<?php echo (int)$trfnumberfinal->getColumnVal("idtrfdetails"); ?>);
});
}
});
</script>
</body> </body>
+17
View File
@@ -303,6 +303,23 @@ $iddpicategoryJson = json_encode($iddpicategorylistRecord);
/* Altezza ridotta su mobile per adattarsi */ /* Altezza ridotta su mobile per adattarsi */
} }
} }
/* Ensure buttons and text below buttons have the same font size as the page title */
.btn-custom-dark,
.btn-custom-light,
.btn-custom-darkbl,
.btn-custom-lightbl,
.btn-custom-green,
.btn-custom-orange,
.btn-custom-gray {
font-size: 1.50rem;
/* Matches typical <h3> font size; adjust if page-title has a custom size */
}
.mb-1.font-weight-bold {
font-size: 1.20rem;
/* Matches typical <h3> font size; adjust if page-title has a custom size */
}
</style> </style>
</head> </head>
Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB