<?php
include_once ("../../core.php");

if ($modules_info[$module_name]["permessi"] == 'rw') {
	switch (filter('op')) {
		case "update" :
			$nome = filter("nome");
			$nota = filter("nota");
			$colore = filter("colore");
			$id_conto_e = filter("id_conto_e");
			$id_conto_u = filter("id_conto_u");

			if (isset($nome) && isset($nota) && isset($colore)) {
				$dbo->query("UPDATE `mg_categorie` SET `nome`=" . prepare($nome) . ", `id_conto_e`=" . prepare($id_conto_e) . ",`id_conto_u`=" . prepare($id_conto_u) . ",`nota`=" . prepare($nota) . ", `colore`=" . prepare($colore) . " WHERE `id`=" . prepare($id_record));
				array_push($_SESSION["infos"], _("Salvataggio completato!"));
			}
			else
				array_push($_SESSION["errors"], "Ci sono stati alcuni errori durante il salvataggio!");

			break;

		case "add" :
			$nome = filter("nome");

			if (isset($nome)) {
				$id_record = $dbo->query("INSERT INTO `mg_categorie` (`nome`) VALUES (" . prepare($nome) . ")");
				array_push($_SESSION["infos"], str_replace("_TYPE_", "categoria", _("Aggiunta nuova tipologia di _TYPE_")));
			}
			else
				array_push($_SESSION["errors"], "Ci sono stati alcuni errori durante il salvataggio!");

			break;

		case "delete" :
			$temp = filter('id');
			if(isset($temp)) $id = $temp;
			else $id = $temp;

			$n = $dbo->fetchNum("SELECT * FROM `mg_articoli` WHERE `id_categoria`=" . prepare($id) . " OR `id_sottocategoria`=" . prepare($id));
			$res = true;
			$rs = $dbo->fetchArray("SELECT id FROM `mg_categorie` WHERE `parent`=" . prepare($id));
			foreach ($rs as $r) {
				if ($dbo->fetchNum("SELECT * FROM `mg_articoli` WHERE `id_categoria`=" . prepare($r["id"]) . " OR `id_sottocategoria`=" . prepare($r["id"])) != 0) $res = false;
			}

			if ($n == 0 && $res) {
				$dbo->query("DELETE FROM `mg_categorie` WHERE `id`=" . prepare($id));
				array_push($_SESSION["infos"], str_replace("_TYPE_", "categoria", _("Tipologia di _TYPE_ eliminata con successo!")));
			}
			else{
				$_POST["backto"] = "record-edit";
				array_push($_SESSION["errors"], "Esistono ancora alcuni articoli sotto questa categoria!");
			}

			break;

		case "row" :
			$nome = filter("nome");
			$nota = filter("nota");
			$colore = filter("colore");
			$original = filter("id_original");

			if (isset($nome) && isset($nota) && isset($colore)) {
				if (isset($id_record)) $dbo->query("UPDATE `mg_categorie` SET `nome`=" . prepare($nome) . ", `nota`=" . prepare($nota) . ", `colore`=" . prepare($colore) . " WHERE `id`=" . prepare($id_record));
				else $dbo->query("INSERT INTO `mg_categorie` (`nome`,`nota`,`colore`, `parent`) VALUES (" . prepare($nome) . ", " . prepare($nota) . ", " . prepare($colore) . ", " . prepare($original) . ")");
				array_push($_SESSION["infos"], _("Salvataggio completato!"));
				$id_record = $original;
			}
			else{
				array_push($_SESSION["errors"], "Ci sono stati alcuni errori durante il salvataggio!");
			}

			break;
	}
}

//Annullo le notifiche se le operazioni sono fatte via ajax
if( $html->form('ajax', 'post') == 'yes' ){
	unset( $_SESSION['infos'] );
}
?>