diff --git a/include/ajax/ajax_mod_document.php b/include/ajax/ajax_mod_document.php index 50a214bfe..059af8b4d 100644 --- a/include/ajax/ajax_mod_document.php +++ b/include/ajax/ajax_mod_document.php @@ -27,6 +27,7 @@ if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis'); /* 1. Check security */ $cn=Dossier::connect(); /* 2. find the document */ +global $doc; $doc=new Document_Modele($cn,$id); /* 3. display it */ diff --git a/include/class/document_modele.class.php b/include/class/document_modele.class.php index 571e3a499..1bf5938a5 100644 --- a/include/class/document_modele.class.php +++ b/include/class/document_modele.class.php @@ -34,11 +34,13 @@ class Document_modele var $sequence; /*!< $sequence sequence number used by the create sequence start with */ var $md_affect; /*!< $md_affect if you can use it in VEN for sale, ACH for purchase or GES for follow-up */ var $md_filename; /*! < $md_filename is the filename of the template */ + var $start; /*! < $md_filename is the filename of the template */ //Constructor parameter = database connexion function __construct($p_cn,$p_id=-1) { $this->cn=$p_cn; $this->md_id=$p_id; + $this->start=0; } /*! @@ -157,7 +159,7 @@ class Document_modele $new_name=tempnam($_ENV['TMP'],'document_'); if ( strlen ($_FILES['doc']['tmp_name']) != 0 ) { - if (move_uploaded_file($_FILES['doc']['tmp_name'], + if ($this->move_uploaded_file($_FILES['doc']['tmp_name'], $new_name)) { // echo "Image saved"; @@ -174,7 +176,7 @@ class Document_modele { $r=Database::fetch_array($ret,0); $old_oid=$r['md_lob']; - if (strlen($old_oid) != 0) + if (strlen(""??$old_oid) != 0) $this->cn->lo_unlink($old_oid); } // Load new document @@ -196,6 +198,10 @@ class Document_modele return ; } } + function move_uploaded_file($temporary_name, $target_path) + { + return move_uploaded_file ($temporary_name, $target_path); + } /*! * \brief Remove a template * \return nothing @@ -204,19 +210,18 @@ class Document_modele { $this->cn->start(); // first we unlink the document - $sql="select md_lob from document_modele where md_id=".$this->md_id; - $res=$this->cn->exec_sql($sql); + $sql="select md_lob from document_modele where md_id=$1"; + $res=$this->cn->exec_sql($sql,[$this->md_id]); $r=Database::fetch_array($res,0); // if a lob is found - if ( strlen ($r['md_lob']) && - $this->cn->exist_blob($r['md_lob']) ) + if ( !empty ($r['md_lob']) &&$this->cn->exist_blob($r['md_lob']) ) { // we remove it first $this->cn->lo_unlink($r['md_lob']); } // now we can delete the row - $sql="delete from document_modele where md_id =".$this->md_id; - $sql=$this->cn->exec_sql($sql); + $sql="delete from document_modele where md_id =$1"; + $res=$this->cn->exec_sql($sql,[$this->md_id]); $this->cn->commit(); } @@ -258,11 +263,7 @@ class Document_modele $r.=td(_('Affectation')); $waffect=new ISelect(); $waffect->name='md_affect'; - $waffect->value=array( - array('value'=>'ACH','label'=>_('Uniquement journaux achat')), - array('value'=>'VEN','label'=>_('Uniquement journaux vente')), - array('value'=>'GES','label'=>_('Partie gestion')) - ); + $waffect->value=$this->cn->make_array("select dc_code,dc_comment from public.document_component order by dc_code"); $r.=td($waffect->input()); $r.=''; @@ -280,7 +281,13 @@ class Document_modele $r.='Si vous laissez à 0, la numérotation ne changera pas, la prochaine facture sera n+1, n étant le n° que vous avez donné'; $r.=""; $r.=''; + $r.='