<?php 
    /**
    *
    * copyright (c) 2013-2021 Heliac Technologies
    * license http://opensource.org/licenses/gpl-license.php GNU GPL v3 
    *
    * linee guida per l'utilizzo del logo http://www.geecom.org/index.php?alias=linee-guida-per-luso-del-logo-geecom
    */

    class Notifica {
        private $db;
        private $id;
        private $prodotto;
        private $tipo;
        private $idUtente;
        private $testo;
        private $link;
        private $letta;
        private $dataCreazione;

        public function __construct($db, $id, $prodotto="", $tipo="", $idUtente=0, $testo="", $link="", $letta="no", $dataCreazione=null) {
            $this->db = $db;
            $this->id = $id;
            $this->prodotto = $prodotto;
            $this->tipo = $tipo;
            $this->idUtente = $idUtente;
            $this->testo = $testo;
            $this->link = $link;
            $this->letta = $letta;
            $this->dataCreazione = $dataCreazione;
        }

        function crea() {
            $dataCreazione = date("Y-m-d");
            $query    = "INSERT INTO geec_notifiche VALUES(NULL,'$this->prodotto','$this->tipo',$this->idUtente,'$this->testo','$this->link','$this->letta','$dataCreazione')";
            $this->id = $this->db->eseguiQueryCreazione($query);
            return $this->id;
        }
        
        function modifica() {
            $query    = "UPDATE geec_notifiche SET prodotto='$this->prodotto', idUtente='$this->idUtente', testo='$this->testo', link='$this->link', letta='$this->letta' WHERE id=$this->id";
            $this->db->eseguiQueryScrittura($query);
        }
        
        function elimina() {
            $this->db->eseguiQueryCancellazione("geec_notifiche",$this->id);
        }

        function segnaComeLetta() {
            $query    = "UPDATE geec_notifiche SET letta='si' WHERE id=$this->id";
            $this->db->eseguiQueryScrittura($query);
        }

        // getter & setter
        
        public function getId() {
            return $this->id;
        }

        public function getProdotto() {
            return $this->prodotto;
        }

        public function getTipo() {
            return $this->tipo;
        }

        public function getIdUtente() {
            return $this->idUtente;
        }

        public function getTesto() {
            return $this->testo;
        }

        public function getLink() {
            return $this->link;
        }

        public function getLetta() {
            return $this->letta;
        }

        public function getDataCreazione() {
            return $this->dataCreazione;
        }

        public function setId($id) {
            $this->id = $id;
        }

        public function setProdotto($prodotto) {
            $this->prodotto = $prodotto;
        }

        public function setTipo($tipo) {
            $this->tipo = $tipo;
        }

        public function setIdUtente($idUtente) {
            $this->idUtente = $idUtente;
        }

        public function setTesto($testo) {
            $this->testo = $testo;
        }

        public function setLink($link) {
            $this->link = $link;
        }

        public function setLetta($letta) {
            $this->letta = $letta;
        }

        public function setDataCreazione($dataCreazione) {
            $this->dataCreazione = $dataCreazione;
        }

    }