-
Notifications
You must be signed in to change notification settings - Fork 0
/
uso-locali.php
76 lines (65 loc) · 2.3 KB
/
uso-locali.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
function __autoload($class_name) { include "lib/". $class_name . ".php"; }
$utility["title"] = "Pagamento quota di utilizzo dei locali interni";
$utility["bodyonload"] = " onload=\"canTransmit(document.forms[0])\"";
if (@$_POST["do"] != "validate")
{
Helper::display_template("richiesta-uso-locali");
die();
}
$errors = array();
$settings = array();
try {
$db = new DBModel();
} catch (PDOException $e) {
$errors["database"] = "Connessione al database fallita:<br />". $e->getMessage();
}
function sanitize_array(&$item, $key)
{
$item = trim($item);
}
array_walk($_POST, "sanitize_array");
// validate form errors before submitting
if ($_POST["azienda"] == "")
{
$errors["azienda"] = "È necessario inserire la propria ragione sociale";
}
if ($_POST["totale"] == "" || !is_numeric($_POST["totale"]) || $_POST["totale"] == 0)
{
$errors["totale"] = "L'importo deve essere un valore valido diverso da zero";
}
if ($_POST["causale"] == "")
{
$errors["causale"] = "Causale mancante";
}
if (!Helper::check_email_address(trim($_POST["emailCompratore"])))
{
$errors["email"] = "L'email deve contenere un indirizzo valido";
}
if (count($errors) == 0)
{
if (!isset($_SESSION)) {
session_start();
$_SESSION["timeout"] = time() + (session_cache_expire()*60);
} else { session_id($_COOKIE["phpsession"]); }
setcookie("phpsession", session_id(), $_SESSION["timeout"]);
//if there are no errors, then prepare commitment
$settings["numeroOrdine"] = "LOC_". time() . str_pad(rand(0,999), 3, "0", STR_PAD_LEFT);
$tmp = explode(".", $_POST["totale"]);
$settings["totaleOrdine"] = $tmp[0] . substr(str_pad($tmp[1], 2, "0", STR_PAD_RIGHT), 0, 2);
unset($tmp);
$settings["causalePagamento"] = "Utilzzo locale ".$_POST["causale"]." per az. ". $_POST["azienda"];
$c = new Company($_POST["azienda"], $_POST["emailCompratore"]);
try {
$db->insertNewPayment($c, $settings["numeroOrdine"], $settings["totaleOrdine"], session_id(), $_POST["causale"]);
} catch (PDOException $e) {
$errors["database"] = "Errore durante la scrittura dei dati:<br />". $e->getMessage();
Helper::display_template("richiesta-uso-locali");
$db = null;
die();
}
//redirecting to UCB
$mp = new MACPoster(array_merge($_POST, $settings));
$mp->open_connection ();
} else { Helper::display_template("richiesta-uso-locali", $errors); }
?>