<?php

include_once("db.php");
include_once("dbutility.php");
include_once("utility.php");
include_once("form.php");
include_once("riferimento.php");
include_once("tracking.php");

class RefMan extends Riferimento {
    private $ref; 
    private $birichie;

    function __construct($id = null, $rif_type = null, $idute = null) {
        $this->birichie = isset($_SESSION['bib_app']) ? $_SESSION['bib_app'] : null;
        $this->ref = $_SESSION['db']->fetch_fields("refman");

        if ($id != null) {
            $result = $_SESSION['db']->execute("SELECT * FROM refman WHERE ri_id=$id");
            if ($result && $_SESSION['db']->numrows($result) == 1) {
                $dati = $_SESSION['db']->fetch($result);
                foreach ($this->ref as $key => $v) {
                    $this->ref[$key]->value = $dati[$key];

    public function __get($fieldname) {
        if (isset($this->ref[$fieldname]))
            return $this->ref[$fieldname]->value;

        elseif (isset($this->rif[$fieldname]))
            return $this->rif[$fieldname]->value;
    }

    public function __set($fieldname, $value) {
        $this->ref[$fieldname]->value = $value;
    }

    public function __isset($fieldname) {
        return isset($this->ref[$fieldname]);
    }

    public function __unset($fieldname) {
        unset($this->ref[$fieldname]);
    }

    public function aggiornaObject($post) {
        if (isset($post["ri_titolopub"]))
            parent::aggiornaObject($post);

        return TRUE;
    }

    public function visualizza($input1 = null, $input2 = null) {
        $form = new FieldsForm("form_riferimento", "javascript:editRiferimento('action_refman.php')");
        $form->addHidden("ri_id", $this->ref["ri_id"]->value);
        $form->addHidden("op", "edit");
        $form->addHidden("viewmode", "1");
        $form->addHTML("<div id=\"reference_tools\">");
        if ($this->ref["rm_stato"]->value != getConstVar("Rif_RichiestaAperta") &&
                $this->ref["rm_stato"]->value != getConstVar("Rif_BiblioChiedeConferma")) {
        }

        $form->addHTML("</div>");
        $form->addHTML($this->visualizza_riferimento());
        $form->addHTML("<div id=\"reference_personal_data\" style=\"display: none;\"><div class=\"reference_personal_data_title\"><span>" . getConstVar("REFERENCE_PERSONAL_DATA") . "</span></div>");
        $form->addHTML($this->visualizza_note());
        $form->addHTML($this->visualizza_holding());
        $form->addHTML("</div>");
        $form->addHTML($this->visualizza_dati_dd());
        $form->close();
        return $form->restituisci();
    }

    public function visualizza_riferimento() {
        $rif = "<div id=\"reference_data\">";
        $rif.=parent::visualizza_intestazione();
        $rif.=$this->visualizza_etichette();
        $rif.=parent::visualizza();
        $rif.="</div>";
        return $rif;
    }

    public function visualizza_etichette() {
        $result_eti = $_SESSION['db']->execute(
                "SELECT et_nome
						FROM etichetta
						WHERE et_id = any (
							SELECT et_id
							FROM rif_eti
							WHERE ri_id = " . $this->ref["ri_id"]->value . ")"
        );
        $numeti = $_SESSION['db']->numrows($result_eti);
        $lista_etichette = null;
        if ($numeti > 0)
            while ($eti = $_SESSION['db']->fetch($result_eti))
                $lista_etichette[] = $eti["et_nome"];

        $etichette = "<div id=\"item_labels\" class=\"item_labels\">\n";
        $first = TRUE;
        if (sizeof($lista_etichette) > 0) {
            for ($i = 0; $i < sizeof($lista_etichette); $i++) {
                if (!$first)
                    $etichette.= " | ";
                else
                    $first = FALSE;
                $etichette.= "<span class=\"et_nome\">" . $lista_etichette[$i] . "</span>\n";
            }
        }
        $etichette.= "</div>\n";
        return $etichette;
    }

    function visualizza_note() {
        $note = "<div id=\"reference_notes\">";
        $note.="<div class=\"reference_notes_title\">" . getConstVar("REFERENCE_SECTION_NOTES") . "</div>";
        $note.=FieldRender::renderField($this->ref["rm_note"]);
        $note.="</div>";
        return $note;
    }

    function visualizza_holding() {
        $stampa = false;
        $holding = "<div id=\"reference_holding\"><div class=\"reference_holding_title\">" . getConstVar("REFERENCE_SECTION_HOLDING") . "</div>";
        foreach ($this->reference_holding as $key => $v) {
            $var = $this->reference_holding[$key];
            $renderedvar = FieldRender::renderField($var);
            if ($renderedvar != "") {
                $stampa = true;
                $holding.=$renderedvar;
            }
        }
        if (!$stampa) {
            $holding.="<div class=\"rm_no_holding\"><span>" . getConstVar("NO_HOLDING") . "</span></div>";
        }
        $holding.="</div>";
        return $holding;
    }

    function visualizza_dati_dd() {

        $dd = "<div id=\"reference_dd\">\n
				<div class=\"reference_dd_title\">\n
					\n"
                . FieldRender::renderField($this->ref["rm_stato"]) .
                "<span>" . getConstVar("REFERENCE_SECTION_DD") . "</span>\n
				</div>\n    
			";

        $dd.="	<div id=\"reference_dd_data\">\n";
        if ($this->ref["rm_stato"]->value != getConstVar("Rif_NonRichiesto")) {
            $querydd = "SELECT dd_stato_borr, dd_costofuorinilde, dd_stato_accetta
					FROM docdel
					WHERE (ri_id = " . $this->ref["ri_id"]->value . ") AND (dd_stato_borr < " . getConstVar("BORR_CONS") . ")";
            $resultdd = $_SESSION['db']->execute($querydd);
            $docdel = $_SESSION['db']->fetch($resultdd);

            $dd.=FieldRender::renderField($this->ref["rm_datarichie"]);
            if ($this->ref["rm_stato"]->value != getConstVar("Rif_NonRichiesto")) {
                $dd.=" - ";
                $dd.=FieldRender::renderField($this->ref["rm_countbib"]) . "<br class=\"clear_float\" />";
            }
            $dd.=FieldRender::renderField($this->ref["rm_noteutebib"]);


            switch ($this->ref["rm_polcosti"]->value) {

                case getConstVar("POL_NON_ACCETTA") :
                    break;

                case getConstVar("POL_ACCETTA") :
                    break;

                case getConstVar("POL_INFORMA") :
                    if ($docdel["dd_stato_accetta"] != NULL) {
                        switch ($docdel["dd_stato_accetta"]) {
                            case getConstVar("STATO_ACC_NORISP") :
                                $dd.="	<br />";
                                break;
                            case getConstVar("STATO_ACC_ACCETTA") :
                                break;
                            case getConstVar("STATO_ACC_RIFIUTA") :
                                break;
                        }
                    }
            }
        }

        if ($this->ref["rm_stato"]->value == getConstVar("Rif_RichiestaChiusa_Eva")) {
            $dd.="<div class=\"rm_dataeva\"><span class=\"obj_name\">" . getConstVar("DOC_RECEIVED_ON") . ":</span> <span class=\"obj_value\">" . print_datetime($this->ref["rm_dataeva"]->value, "date") . "</span></div>\n";
            $dd.=FieldRender::renderField($this->ref["rm_notebibute"]);

//            DIADOSIS TEAM Add buttons to sent request
            if (isset($_SESSION['app_stato']) && !in_array($_SESSION['app_stato'], getConstVar('UTENTE_ACL_DD_DENY'))) {
                if (is_null($this->ri_doi))
                    $dd .= "<input type=\"hidden\" name=\"doi_sent\" id=\"doi_sent\" value=\"" . $this->ri_pmid . "\"/>";
                else
                    $dd .= "<input type=\"hidden\" name=\"doi_sent\" id=\"doi_sent\" value=\"" . $this->ri_doi . "\"/>";
                $dd.="	<a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:nuovoRiferimento(30)\" 
                                            title=\"" . getConstVar("SUBMIT") . "\"  style=\"margin-right: 8px;\">
                                        <span class='glyphicon glyphicon-send'></span>
                                        <span style='padding-left:4px;'>" . getConstVar("SUBMIT") . "</span>
                                    </a>
                                    ";
            } else
                $dd.= "<div>" . getConstVar('AVVISO_UTENTE_DISABILITATO_FUNZIONE_DD') . "</div>";
        } elseif ($this->ref["rm_stato"]->value == getConstVar("Rif_RichiestaChiusa_Ineva")) {
            $dd.="<div class=\"rm_dataeva\"><span class=\"obj_name\"><span class=\"red\">" . getConstVar("DATA_INEVASO") . ":</span> </span> <span class=\"obj_value\">" . print_datetime($this->ref["rm_dataeva"]->value, "date") . "</span></div>\n";
            $dd.=FieldRender::renderField($this->ref["rm_notebibute"]);

//            DIADOSIS TEAM Add buttons to NOT sent request
            if (isset($_SESSION['app_stato']) && !in_array($_SESSION['app_stato'], getConstVar('UTENTE_ACL_DD_DENY'))) {
                if (is_null($this->ri_doi))
                    $dd .= "<input type=\"hidden\" name=\"doi_sent\" id=\"doi_sent\" value=\"" . $this->ri_pmid . "\"/>";
                else
                    $dd .= "<input type=\"hidden\" name=\"doi_sent\" id=\"doi_sent\" value=\"" . $this->ri_doi . "\"/>";
                $dd.="	<a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:nuovoRiferimento(30)\" 
                                            title=\"" . getConstVar("SUBMIT") . "\" style=\"margin-right: 8px;\">
                                        <span class='glyphicon glyphicon-send'></span>
                                        <span style='padding-left:4px;'>" . getConstVar("SUBMIT") . "</span>
                                    </a>
                                    ";
            } else
                $dd.= "<div>" . getConstVar('AVVISO_UTENTE_DISABILITATO_FUNZIONE_DD') . "</div>";
        } elseif ($this->ref["rm_stato"]->value == getConstVar("Rif_NonRichiesto")) { // DIADOSIS TEAM If not requested yet
            if (isset($_SESSION['app_stato']) && !in_array($_SESSION['app_stato'], getConstVar('UTENTE_ACL_DD_DENY'))) {
                $dd.="	<a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:richiediRiferimento(" . $this->ref["ri_id"]->value . ")\" 
                                            title=\"" . getConstVar("SUBMIT") . "\" style=\"margin-right: 8px;\">
                                        <span class='glyphicon glyphicon-send'></span>
                                        <span style='padding-left:4px;'>" . getConstVar("SUBMIT") . "</span>
                                    </a>
                                    ";
//DIADOSIS TEAM Add edit button for reference here from line 151
                $dd.= "<a id=\"create_new\" class=\"orange smallest4 btn btn btn-warning\" href=\"javascript:modifica_riferimento()\" title=\"" . getConstVar("EDIT_LINK_TITLE") . "\">
                        <span class='glyphicon glyphicon-edit'></span>
                        <span style='padding-left:4px;'>" . getConstVar("EDIT") . "</span></a>";
            } else
                $dd.= "<div>" . getConstVar('AVVISO_UTENTE_DISABILITATO_FUNZIONE_DD') . "</div>";
        }
        $dd.="	</div>";
        $dd.="</div>";
        return $dd;
    }

    function nuovo() {

        $this->form(true, true);
    }

    function nuovo_openurl($tipo) {
        parent::parse_openurl($tipo);
        $this->form(true, true);
    }

    /**
     * DIADOSIS TEAM
     */
    function nuovo_doi($tipo) {
        parent::parse_doi_api($tipo);
        $this->form(true, true);
    }

    function modifica($req = false) {
        $this->form(false, $req);
    }

    private function form($new = false, $req = false) {
        $controllo = array();
        $form = new FieldsForm("form_riferimento", "javascript:editRiferimento('action_refman.php')");
        if (!$new) {
            $form->addHidden("op", "update", null, "\n");
            $form->addHidden("ri_id", $this->ref["ri_id"]->value, null, "\n");
        } else {
            $form->addHidden("op", "save", null, "\n");
            $form->addHidden("rif_type", $this->rif["ri_tipomateriale"]->value, null, "\n");
            $form->addHidden("idute", $this->ref["ut_id"]->value, null, "\n");
        }
        $form->addHidden("viewmode", "0");
        $form->addHTML("<div id=\"form_riferimento_fields\">");
        $controllo_rif = parent::addFormFields($form, $new, $controllo);
        $controllo = array_merge($controllo, $controllo_rif);
        $form->addHTML("<div id=\"reference_personal_data\" style=\"display: none;\"><div class=\"reference_personal_data_title\"><span>" . getConstVar("REFERENCE_PERSONAL_DATA") . "</span></div>");
        $this->modifica_note($form, $controllo);
        $this->modifica_holding($form, $controllo);
        $form->addHTML("<br class=\"clear_float\" />");
        $form->addHTML("</div>");
        $form->addHTML("<br class=\"clear_float\" />");
        $form->addHTML(getConstVar("REQUIRED_FIELDS"));
        $form->addHTML("<div id=\"form_riferimento_manager\">");
        if ($new) {
            if (isset($_SESSION['app_stato']) && !in_array($_SESSION['app_stato'], getConstVar('UTENTE_ACL_DD_DENY'))) {
                $form->addHTML("<div class=\"form_riferimento_manager_w_bgrnd_right\">");
                $this->modifica_dati_dd($form, $new, $req, $controllo);
                $form->addHTML("    <br class=\"clear_float\" />
                                                <div class=\"form_riferimento_manager_buttons\">
                                                    <a class='btn btn-success' id=\"big_right_arrow_btn_o\" href=\"javascript:salvarichiediRiferimento()\" title=\"\">
													 <span class='glyphicon glyphicon-send'></span>
                                                        <span class=\"ok_icon\">
                                                         <font>" . getConstVar("INSERT_REQUEST") . "</font>
                                                        </span>
                                                        <img class=\"big_btn_l\" src=\"images/mynilde/empty1.gif\" alt=\"\" />
                                                    </a>
                                                    <br class=\"clear_float\" />
                                                </div>
                                            </div>");
            }
            $form->addHTML("    <div class=\"form_riferimento_manager_no_bgrnd\">
                                                <div class=\"form_riferimento_manager_buttons_left\">
                                                    <a class='btn btn-warning' id=\"big_btn_plain_o2\" href=\"javascript:salvaRiferimento()\" title=\"\"><span class='glyphicon glyphicon-floppy-disk'></span>
                                                        <img class=\"big_btn_r\" src=\"images/mynilde/empty1.gif\" alt=\"\" />
                                                        <span class=\"ok_icon\">
                                                            <font>" . getConstVar("INSERT") . "</font>
                                                        </span>
                                                        <img class=\"big_btn_l\" src=\"images/mynilde/empty1.gif\" alt=\"\" />
                                                    </a>
                                                </div>
                                                <br class=\"clear_float\" />
                                            </div>");
        } else if (!$req) {
            $form->addHTML("<div class=\"form_riferimento_manager_w_bgrnd_right\">");
//                DIADOSIS TEAM Added if for submitting saved or send again already sent requests
            if ($this->ref["rm_stato"]->value == getConstVar("Rif_NonRichiesto")) {
                if (is_null($this->ri_doi))
                    $form->addHidden("doi_sent", $this->ri_pmid);
                else
                    $form->addHidden("doi_sent", $this->ri_doi);
                $form->addHTML("    <br class=\"clear_float\" />
                                                <div class=\"form_riferimento_manager_buttons\">
                                                    <a class='btn btn-success' id=\"big_right_arrow_btn_o\" href=\"javascript:richiediRiferimento(" . $this->ref["ri_id"]->value . ", 100)\" title=\"\">
													 <span class='glyphicon glyphicon-send'></span>
                                                        <span class=\"ok_icon\">
                                                         <font>" . getConstVar("INSERT_REQUEST") . "</font>
                                                        </span>
                                                        <img class=\"big_btn_l\" src=\"images/mynilde/empty1.gif\" alt=\"\" />
                                                    </a>
                                                    <br class=\"clear_float\" />
                                                </div>
                                            </div>");
            } else {
                if (is_null($this->ri_doi))
                    $form->addHidden("doi_sent", $this->ri_pmid);
                else
                    $form->addHidden("doi_sent", $this->ri_doi);
                $form->addHTML("    <br class=\"clear_float\" />
                                                <div class=\"form_riferimento_manager_buttons\">
                                                    <a class='btn btn-success' id=\"big_right_arrow_btn_o\" href=\"javascript:nuovoRiferimento(30)\" title=\"\">
													 <span class='glyphicon glyphicon-send'></span>
                                                        <span class=\"ok_icon\">
                                                         <font>" . getConstVar("INSERT_REQUEST") . "</font>
                                                        </span>
                                                        <img class=\"big_btn_l\" src=\"images/mynilde/empty1.gif\" alt=\"\" />
                                                    </a>
                                                    <br class=\"clear_float\" />
                                                </div>
                                            </div>");
            }
            $form->addHTML("<div class=\"form_riferimento_manager_no_bgrnd\">
                                        <div class=\"form_riferimento_manager_buttons_left\">
                                            <a id=\"big_btn_plain_o\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:aggiornaRiferimento()\" title=\"" . getConstVar("SAVE_REQUEST") . "\">
                                            <span class='glyphicon glyphicon-floppy-disk'></span>
                                            <span style='padding-left:4px;'>" . getConstVar("SAVE") . "</span>
                                            </a>
                                        </div>
                                    </div>");
        } else if (isset($_SESSION['app_stato']) && !in_array($_SESSION['app_stato'], getConstVar('UTENTE_ACL_DD_DENY'))) {
            $form->addHTML("<div class=\"form_riferimento_manager_w_bgrnd_right\">");
            $this->modifica_dati_dd($form, $new, $req, $controllo);
            $form->addHTML("    <br class=\"clear_float\" />
                                    <div class=\"form_riferimento_manager_buttons\">
                                        <a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:aggiornarichiediRiferimento()\" title=\"" . getConstVar("SAVE_REQUEST") . "\">
                                        <span class='glyphicon glyphicon-send'></span>
                                        <span style='padding-left:4px;'>" . getConstVar("SAVE_REQUEST") . "</span>
                                       </a>
                                       <br class=\"clear_float\" />
                                   </div>
                               </div>
                               <br class=\"clear_float\" />");
        }
        $form->addHTML("</div> <!-- END: form_riferimento_manger -->");
        $form->addHTML("</div>");
        $code = urlencode(serialize($controllo));
        $form->addHidden("controllo", $code);
        $form->close();
        $form->stampa();
    }

    private function modifica_note($form, &$controllo) {
        $form->addHTML("<div id=\"reference_notes\"><div class=\"reference_notes_title\">" . getConstVar("REFERENCE_SECTION_NOTES") . "</div>");
        $controllo_note = $form->addField($this->ref["rm_note"]);
        $controllo = array_merge($controllo, $controllo_note);
        $form->addHTML("</div>");
    }

    private function modifica_holding($form, &$controllo) {
        $form->addHTML("<div id=\"reference_holding\"><div class=\"reference_holding_title\">" . getConstVar("REFERENCE_SECTION_HOLDING") . "</div>");

        $form->addHidden("rm_file_old", $this->ref["rm_file"]->value, null, "\n");

        foreach ($this->reference_holding as $key => $v) {
            $controllo_holding = $form->addField($this->reference_holding[$key]);
            $controllo = array_merge($controllo, $controllo_holding);
            if ($this->reference_holding[$key]->fieldname == "rm_file" && $this->ref["rm_file"]->value != "")
                $form->addButton("rm_file_edit_btn", getConstVar("EDIT"), "onclick=\"edit_file('rm_file')\"");
        }

        $form->addHTML("</div>");
    }

    private function modifica_dati_dd($form, $new, $req, &$controllo) {
        if ($req || $new) {
            foreach ($this->reference_dd as $key => $v)
                if (($this->reference_dd[$key]->fieldname != "rm_datarichie" && $this->reference_dd[$key]->fieldname != "rm_dataeva" && $this->reference_dd[$key]->fieldname != "rm_polcosti")) {
                    $controllo_dati_dd = $form->addField($this->reference_dd[$key]);
                    $controllo = array_merge($controllo, $controllo_dati_dd);
                }

            $querycostofisso = "SELECT bi_costo_ute_dd, bi_costo_ute_ill
						   FROM biblio
						   WHERE bi_id = " . $this->birichie;
            $resultcostofisso = $_SESSION['db']->execute($querycostofisso);
            $costofisso = $_SESSION['db']->fetch_single($resultcostofisso);

            if ($costofisso != 0) {
                $form->addHTML("	<div class=\"cost_policy\">");
                $form->addHTML(getConstVar('costoutenti') . " " . $costofisso . " &euro;");
                $form->addHTML("	</div>");
            }

            $form->addHTML("		<div class=\"user_cost_policy\">");
            $form->addFieldSelect($this->ref["rm_polcosti"], false, arrayPolcosti(), 1);
            $form->addHTML("		</div>");
        }
    }

    function inserisci($post, $req = FALSE) {
        $idrif = parent::inserisci($post);
        if ($idrif) {
            $this->ref["ri_id"]->value = $idrif;
            if (isset($post["rm_file_old"]))
                $post["rm_file"] = $post["rm_file_old"];

            $dbfields = new ParserField($post);
            $attributi = "ri_id,ut_id,rm_datains";
            $valori = $idrif . "," . $post["idute"] . "," . 'NOW()';
            $campi = array($this->ref["rm_note"]);
            $campi = array_merge($campi, $this->reference_holding);
            if ($req)
                $campi = array_merge($campi, $this->reference_dd);

            for ($i = 0; $i < sizeof($campi); $i++) {
                $field = $campi[$i];
                $key = isset($field->fieldname) ? $field->fieldname : null;
                if ($key != "rm_datarichie" && $key != "rm_dataeva") {
                    $attributi.="," . $key;
                    $valori.="," . $dbfields->parse($this->ref[$key]);
                }
            }

            if ($attributi != "") {
                if ($req) {
                    $data = date("Y-m-d H:i:s");
                    if ($this->birichie > 0) {
                        $query_countbib = " SELECT MAX(rm_countbib)
								FROM docdel
 								WHERE bi_idrichie = " . $this->birichie;

                        $res_countbib = $_SESSION['db']->execute($query_countbib);
                        $countbib = $_SESSION['db']->fetch_single($res_countbib);
                        if (isset($countbib))
                            $countbib++;
                        else
                            $countbib = 1;
                        $query_docdel = "INSERT into docdel(bi_idrichie,ri_id,ut_id,rm_countbib,rm_datarichie) VALUES($this->birichie,$idrif," . $post["idute"] . ",$countbib,'$data')";
                        $res_docdel = $_SESSION['db']->execute($query_docdel);
                        $_SESSION['lastdd_id'] = $_SESSION['db']->last_id();
                        if ($res_docdel != NULL) {
                            $attributi.=", rm_datarichie, rm_stato, rm_countbib";
                            $valori.=",'$data'," . getConstVar("Rif_RichiestaAperta") . "," . $countbib;
                        }
                    }
                }

                if ((!$req) || ($req && $res_docdel != NULL)) {
                    $query_refman = "INSERT into refman ($attributi) VALUES (" . strip_tags($valori) . ")";
                    $res_refman = $_SESSION['db']->execute($query_refman);
                }
            }
        }
        return $idrif;
    }

    public function aggiorna($post, $req = null) {
        $upd_ok = parent::aggiorna($post);
        if ($upd_ok) {
            $coppie = "";
            if (isset($post["rm_file_old"]) && (!isset($post["rm_file"]) || $post["rm_file"] == ""))
                $post["rm_file"] = $post["rm_file_old"];

            $dbfields = new ParserField($post);
            $campi = array($this->ref["rm_note"]);
            $campi = array_merge($campi, $this->reference_holding);
            if ($req)
                $campi = array_merge($campi, $this->reference_dd);

            for ($i = 0; $i < sizeof($campi); $i++) {
                $field = $campi[$i];
                $key = isset($field->fieldname) ? $field->fieldname : null;
                if ($key != "rm_datarichie" && $key != "rm_dataeva") {
                    if ($coppie != "")
                        $coppie.=",";
                    $coppie.=$key . "=" . $dbfields->parse($this->ref[$key]);
                }
            }
            if ($coppie != "") {
                if ($req) {
                    $data = date("Y-m-d H:i:s");					
                    if ($this->birichie > 0) {
                        $query2 = " SELECT MAX(rm_countbib)
								FROM docdel
 								WHERE bi_idrichie = " . $this->birichie;
                        $res2 = $_SESSION['db']->execute($query2);
                        $countbib = $_SESSION['db']->fetch_single($res2);
                        if (isset($countbib))
                            $countbib++;
                        else
                            $countbib = 1;
                        $query3 = "INSERT into docdel(bi_idrichie,ri_id,ut_id,rm_countbib,rm_datarichie) VALUES(" . $this->birichie . "," . $this->ref["ri_id"]->value . "," . $this->ref["ut_id"]->value . ",$countbib,'$data')";
                        $res3 = $_SESSION['db']->execute($query3);
                        $_SESSION['lastdd_id'] = $_SESSION['db']->last_id();


                        if ($res3 != NULL)
                            $coppie.=",rm_datarichie='" . $data . "',rm_stato=" . getConstVar("Rif_RichiestaAperta") . ",rm_countbib=" . $countbib;
                    }
                }

                if ((!$req) || ($req && $res3 != NULL)) {
                    $query4 = "UPDATE refman SET $coppie WHERE ri_id=" . $this->ref["ri_id"]->value;
                    $res4 = $_SESSION['db']->execute($query4);
                    return $res4;
                }
            }
            return TRUE;
        } else
            return FALSE;
    }

    function elimina() {

        if ($this->ref["rm_stato"]->value != getConstVar("Rif_RichiestaAperta") && $this->ref["rm_stato"]->value != getConstVar("Rif_BiblioChiedeConferma")) {
            if ($this->ref["rm_stato"]->value == getConstVar("Rif_NonRichiesto")) {
                $del_ok = parent::elimina();
                if ($del_ok) {
                    unset($this->rif);
                    return $del_ok;
                }
            } else {
                $this->ref["rm_stato"]->value = getConstVar("Rif_Eliminato");
                $query_1 = "UPDATE refman SET rm_cancella=1 WHERE ri_id=" . $this->ref["ri_id"]->value;
                $result_1 = $_SESSION['db']->execute($query_1);
                $query_2 = "DELETE FROM rif_eti WHERE ri_id = " . $this->ref["ri_id"]->value;
                $result_2 = $_SESSION['db']->execute($query_2);

                unset($this->rif);
                return TRUE;
            }
        }
        return FALSE;
    }

    function rispostaFN($risp) {
        if ($risp == "accetta")
            $query_dd = "UPDATE docdel
					 SET dd_stato_borr=" . getConstVar("BORR_UTE_ACCETTA_FN") . ", dd_stato_accetta=" . getConstVar("STATO_ACC_ACCETTA") . "
					 WHERE ri_id=" . $this->ref["ri_id"]->value . " AND dd_stato_accetta=" . getConstVar("STATO_ACC_NORISP");

        elseif ($risp == "rifiuta")
            $query_dd = "UPDATE docdel
					 SET dd_stato_borr=" . getConstVar("BORR_UTE_RIFIUTA_FN") . ", dd_stato_accetta=" . getConstVar("STATO_ACC_RIFIUTA") . "
					 WHERE ri_id=" . $this->ref["ri_id"]->value . " AND dd_stato_accetta=" . getConstVar("STATO_ACC_NORISP");

        $result_dd = $_SESSION['db']->execute($query_dd);
        if ($result_dd) {
            $query_rm = "UPDATE refman
					 SET rm_stato=" . getConstVar("Rif_RichiestaAperta") . "
					 WHERE ri_id=" . $this->ref["ri_id"]->value;
            $result_rm = $_SESSION['db']->execute($query_rm);
            return true;
        } else
            return false;
    }

    public function controlla_campi($post) {

        return parent::controlla_campi($post);
    }

    public function controlla_campi_richiesta($post) {

        return parent::controlla_campi_richiesta($post);
    }

    private function DDbuttons() {
        $s = "";

        return $s;
    }

}

?>
