[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Noalyss-commit] [noalyss] 08/12: code cleaning and replace $_SERVER['SC
From: |
Dany De Bontridder |
Subject: |
[Noalyss-commit] [noalyss] 08/12: code cleaning and replace $_SERVER['SCRIPT_FILENAME'] by $_SERVER['PHP_SELF'] SCRIPT_FILENAME in a FPM environment is the CGI script |
Date: |
Fri, 15 Jan 2021 09:40:07 -0500 (EST) |
sparkyx pushed a commit to branch master
in repository noalyss.
commit c7c518a19dee881f71307de837a1dec28b4c0146
Author: sparkyx <danydb@noalyss.eu>
AuthorDate: Tue Jan 12 11:11:11 2021 +0100
code cleaning and replace $_SERVER['SCRIPT_FILENAME'] by
$_SERVER['PHP_SELF']
SCRIPT_FILENAME in a FPM environment is the CGI script
---
include/action.common.inc.php | 8 +-
include/ajax/ajax_search_operation.php | 2 +-
include/class/acc_ledger.class.php | 3 +-
include/class/document.class.php | 2035 +++++++++++++++++---------------
include/class/fiche.class.php | 61 +-
include/class/follow_up.class.php | 8 +-
include/class/user.class.php | 71 +-
include/company.inc.php | 2 +-
include/export/export_document.php | 2 +-
include/lib/sort_table.class.php | 2 +-
include/lib/user_common.php | 34 +-
include/template/menu.php | 108 +-
12 files changed, 1243 insertions(+), 1093 deletions(-)
diff --git a/include/action.common.inc.php b/include/action.common.inc.php
index ce874a8..4e568e5 100644
--- a/include/action.common.inc.php
+++ b/include/action.common.inc.php
@@ -96,7 +96,7 @@ if (isset($_POST['generate']))
}
else
{
- $act->Update();
+ $act->update();
}
$doc_mod=$http->post('doc_mod',"number");
$act->generate_document($doc_mod, $_POST);
@@ -117,12 +117,12 @@ if (isset($_POST['corr']))
// if this page is called from another menu (customer, supplier,...)
// a button back is added
//----------------------------------------------------------------------
-// Update the detail
+// update the detail
// Add a new action related to this one or update
//----------------------------------------------------------------------
if ($sub_action == "update")
{
- // Update the modification
+ // update the modification
if (isset($_POST['save']))
{
$act2 = new Follow_Up($cn);
@@ -138,7 +138,7 @@ if ($sub_action == "update")
put_global(array(array('key' => "sa", "value" => "detail")));
try {
$act2->verify() ;
- $act2->Update() ;
+ $act2->update() ;
}
catch (Exception $e)
{
diff --git a/include/ajax/ajax_search_operation.php
b/include/ajax/ajax_search_operation.php
index f5a541a..4ab5312 100644
--- a/include/ajax/ajax_search_operation.php
+++ b/include/ajax/ajax_search_operation.php
@@ -38,7 +38,7 @@ require_once NOALYSS_INCLUDE.'/class/user.class.php';
// display a search box
-$base=basename($_SERVER['SCRIPT_NAME']);
+$base=basename($_SERVER['PHP_SELF']);
$inside=false;
$tiers=$http->get("tiers", "string", "");
// With the amount id, we find the amount in a html elt
diff --git a/include/class/acc_ledger.class.php
b/include/class/acc_ledger.class.php
index 995423a..d7efb99 100644
--- a/include/class/acc_ledger.class.php
+++ b/include/class/acc_ledger.class.php
@@ -791,7 +791,6 @@ class Acc_Ledger extends jrn_def_sql
$op=new Pre_operation( $this->db);
$op->set_p_jrn($this->id);
$op->set_jrn_type("ODS");
- $op->set_od_direct('t');
$url=http_build_query(
array('action'=>'use_opd',
@@ -1652,7 +1651,7 @@ class Acc_Ledger extends jrn_def_sql
$filename="";
$doc->Generate($p_array, $p_array['e_pj']);
// Move the document to the jrn
- $doc->MoveDocumentPj($internal);
+ $doc->moveDocumentPj($internal);
// Update the comment with invoice number, if the comment is empty
if (!isset($e_comm)||strlen(trim($e_comm))==0)
{
diff --git a/include/class/document.class.php b/include/class/document.class.php
index 7f4f1f8..9da8e48 100644
--- a/include/class/document.class.php
+++ b/include/class/document.class.php
@@ -1,4 +1,5 @@
<?php
+
/*
* This file is part of NOALYSS.
*
@@ -15,7 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with NOALYSS; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
+ */
// Copyright Author Dany De Bontridder danydb@aevalys.eu
require_once NOALYSS_INCLUDE.'/class/noalyss_parameter_folder.class.php';
require_once NOALYSS_INCLUDE.'/class/acc_account_ledger.class.php';
@@ -24,50 +25,56 @@ require_once NOALYSS_INCLUDE.'/class/acc_tva.class.php';
require_once NOALYSS_INCLUDE.'/class/user.class.php';
require_once NOALYSS_INCLUDE.'/lib/zip_extended.class.php';
-/*! \file
+/* ! \file
* \brief Class Document corresponds to the table document
*/
-/*! \brief Class Document corresponds to the table document
+/* ! \brief Class Document corresponds to the table document
*/
+
class Document
{
- var $db; /*!< $db Database connexion*/
- var $d_id; /*!< $d_id Document id */
- var $ag_id; /*!< $ag_id action_gestion.ag_id (pk) */
- var $d_mimetype; /*!< $d_mimetype */
- var $d_filename; /*!< $d_filename */
- var $d_lob; /*!< $d_lob the oid of the lob */
- var $d_description; /*!< Description of the file*/
- var $d_number; /*!< $d_number number of the document */
- var $md_id; /*!< $md_id document's template */
- private $counter; /*!< counter for the items ( goods ) */
-
+
+ var $db; /* !< $db Database connexion */
+ var $d_id; /* !< $d_id Document id */
+ var $ag_id; /* !< $ag_id action_gestion.ag_id (pk) */
+ var $d_mimetype; /* !< $d_mimetype */
+ var $d_filename; /* !< $d_filename */
+ var $d_lob; /* !< $d_lob the oid of the lob */
+ var $d_description; /* !< Description of the file */
+ var $d_number; /* !< $d_number number of the document */
+ var $md_id; /* !< $md_id document's template */
+ private $counter; /* !< counter for the items ( goods ) */
+
/* Constructor
* \param $p_cn Database connection
*/
- function __construct($p_cn,$p_d_id=0)
+
+ function __construct($p_cn, $p_d_id=0)
{
$this->db=$p_cn;
$this->d_id=$p_d_id;
-
+
// counter for MARCH_NEXT
$this->counter=0;
}
-
- /*!\brief insert a minimal document and set the d_id
+
+ /* !\brief insert a minimal document and set the d_id
*/
+
function blank()
{
$this->d_id=$this->db->get_next_seq("document_d_id_seq");
// affect a number
$this->d_number=$this->db->get_next_seq("seq_doc_type_".$this->md_type);
- $sql=sprintf('insert into document(d_id,ag_id,d_number)
values(%d,%d,%d)',
- $this->d_id,
- $this->ag_id,
- $this->d_number);
- $this->db->exec_sql($sql);
+ $sql='insert into document(d_id,ag_id,d_number) values($1,$2,$3)';
+ $this->db->exec_sql($sql,
+ array
+ ($this->d_id,
+ $this->ag_id,
+ $this->d_number));
}
+
/**
* Insert the receipt number into the filename , each generated file
* will have the name of the template (model) + receipt number)
@@ -75,42 +82,46 @@ class Document
* @param type $filename the name of the file
* @return string
*/
- function compute_filename($pj,$filename)
+ function compute_filename($pj, $filename)
{
- foreach (array('/','*','<','>',';',',','\\','.',':','(',')','
','[',']') as $i) {
- $pj= str_replace($i, "-",$pj);
- }
- // save the suffix
- $pos_prefix=strrpos($filename,".");
- if ($pos_prefix == 0) $pos_prefix=strlen($filename);
- $filename_no=substr($filename,0,$pos_prefix);
- $filename_suff=substr($filename,$pos_prefix,strlen($filename));
- $new_filename= strtolower($filename_no."-".$pj.$filename_suff);
- return $new_filename;
+ foreach (array('/', '*', '<', '>', ';', ',', '\\', '.', ':', '(', ')',
' ', '[', ']') as $i)
+ {
+ $pj=str_replace($i, "-", $pj);
+ }
+ // save the suffix
+ $pos_prefix=strrpos($filename, ".");
+ if ($pos_prefix==0)
+ $pos_prefix=strlen($filename);
+ $filename_no=substr($filename, 0, $pos_prefix);
+ $filename_suff=substr($filename, $pos_prefix, strlen($filename));
+ $new_filename=strtolower($filename_no."-".$pj.$filename_suff);
+ return $new_filename;
}
- /*!
- * \brief Generate the document, Call $this-\>Replace to replace
+
+ /* !
+ * \brief Generate the document, Call $this-\>replace to replace
* tag by value
- *@param p_array contains the data normally it is the $_POST
- *@param $p_filename contains the new filename
+ * @param p_array contains the data normally it is the $_POST
+ * @param $p_filename contains the new filename
* \return an string : the url where the generated doc can be found, the
name
* of the file and his mimetype
*/
- function Generate($p_array,$p_filename="")
+
+ function generate($p_array, $p_filename="")
{
// create a temp directory in /tmp to unpack file and to parse it
- $dirname=tempnam($_ENV['TMP'],'doc_');
+ $dirname=tempnam($_ENV['TMP'], 'doc_');
unlink($dirname);
- mkdir ($dirname);
+ mkdir($dirname);
// Retrieve the lob and save it into $dirname
$this->db->start();
$dm_info="select md_name,md_type,md_lob,md_filename,md_mimetype
- from document_modele where md_id=".$this->md_id;
- $Res=$this->db->exec_sql($dm_info);
+ from document_modele where md_id=$1";
+ $Res=$this->db->exec_sql($dm_info, [$this->md_id]);
- $row=Database::fetch_array($Res,0);
+ $row=Database::fetch_array($Res, 0);
$this->d_lob=$row['md_lob'];
$this->d_filename=$row['md_filename'];
$this->d_mimetype=$row['md_mimetype'];
@@ -119,22 +130,30 @@ class Document
chdir($dirname);
$filename=$row['md_filename'];
-
$exp=$this->db->lo_export($row['md_lob'],$dirname.DIRECTORY_SEPARATOR.$filename);
- if ( $exp === false ) echo_warning( __FILE__.":".__LINE__."Export NOK
$filename");
+ $exp=$this->db->lo_export($row['md_lob'],
$dirname.DIRECTORY_SEPARATOR.$filename);
+ if ($exp===false)
+ {
+ record_log(sprintf('D1 , export failed %s', $filename));
+ throw new Exception(sprintf(_("Export a échoué pour %s",
$filename)));
+ }
$type="n";
// if the doc is a OOo, we need to unzip it first
// and the name of the file to change is always content.xml
- if ( strpos($row['md_mimetype'],'vnd.oasis') != 0 )
+ if (strpos($row['md_mimetype'], 'vnd.oasis')!=0)
{
ob_start();
- $zip = new Zip_Extended;
- if ($zip->open($filename) === TRUE) {
- $zip->extractTo($dirname.DIRECTORY_SEPARATOR);
- $zip->close();
- } else {
- echo __FILE__.":".__LINE__."cannot unzip model ".$filename;
- }
+ $zip=new Zip_Extended;
+ if ($zip->open($filename)===TRUE)
+ {
+ $zip->extractTo($dirname.DIRECTORY_SEPARATOR);
+ $zip->close();
+ }
+ else
+ {
+ record_log(sprintf('D2 unzip failed %s', $filename));
+ throw new Exception(sprintf(_("Décompression a échoué %s",
$filename)));
+ }
// Remove the file we do not need anymore
unlink($filename);
@@ -143,43 +162,47 @@ class Document
$type="OOo";
}
else
+ {
$file_to_parse=$filename;
+ }
// affect a number
$this->d_number=$this->db->get_next_seq("seq_doc_type_".$row['md_type']);
// parse the document - return the doc number ?
- $this->ParseDocument($dirname,$file_to_parse,$type,$p_array);
+ $this->parseDocument($dirname, $file_to_parse, $type, $p_array);
$this->db->commit();
// if the doc is a OOo, we need to re-zip it
- if ( strpos($row['md_mimetype'],'vnd.oasis') != 0 )
+ if (strpos($row['md_mimetype'], 'vnd.oasis')!=0)
{
ob_start();
- $zip = new Zip_Extended;
- $res = $zip->open($filename, ZipArchive::CREATE);
- if($res !== TRUE)
- {
- throw new Exception ( __FILE__.":".__LINE__."cannot recreate
zip");
- }
- $zip->add_recurse_folder($dirname.DIRECTORY_SEPARATOR);
- $zip->close();
+ $zip=new Zip_Extended;
+ $res=$zip->open($filename, ZipArchive::CREATE);
+ if ($res!==TRUE)
+ {
+ record_log(sprintf('D3 zip failed %s', $filename));
+ throw new Exception(_('Echec compression'));
+ }
+ $zip->add_recurse_folder($dirname.DIRECTORY_SEPARATOR);
+ $zip->close();
ob_end_clean();
$file_to_parse=$filename;
}
- if ( $p_filename !="") {
- $this->d_filename=$this->compute_filename($p_filename,
$this->d_filename);
- }
- $this->SaveGenerated($dirname.DIRECTORY_SEPARATOR.$file_to_parse);
+ if ($p_filename!="")
+ {
+ $this->d_filename=$this->compute_filename($p_filename,
$this->d_filename);
+ }
+ $this->saveGenerated($dirname.DIRECTORY_SEPARATOR.$file_to_parse);
// Invoice
-
$href=http_build_query(array('gDossier'=>Dossier::id(),"d_id"=>$this->d_id,'act'=>'RAW:document'));
+ $href=http_build_query(array('gDossier'=>Dossier::id(),
"d_id"=>$this->d_id, 'act'=>'RAW:document'));
$ret='<A class="mtitle"
HREF="export.php?'.$href.'">'._('Document').'</A>';
-
+
return $ret;
}
- /*! ParseDocument
+ /* ! parseDocument
* \brief This function parse a document and replace all
* the predefined tags by a value. This functions
* generate diffent documents (invoice, order, letter)
@@ -190,10 +213,11 @@ class Document
* \param $p_type For the OOo document the tag are < and > instead of
< and >
* \param $p_array variable from $_POST
*/
- function ParseDocument($p_dir,$p_file,$p_type,$p_array)
+
+ function parseDocument($p_dir, $p_file, $p_type, $p_array)
{
- /*!\note Replace in the doc the tags by their values.
+ /* !\note replace in the doc the tags by their values.
* - MY_* table parameter
* - ART_VEN* table quant_sold for invoice
* - CUST_* table quant_sold and fiche for invoice
@@ -201,36 +225,37 @@ class Document
*/
// open the document
$infile_name=$p_dir.DIRECTORY_SEPARATOR.$p_file;
- $h=fopen($infile_name,"r");
+ $h=fopen($infile_name, "r");
// check if tmpdir exist otherwise create it
$temp_dir=$_ENV['TMP'];
- if ( is_dir($temp_dir) == false )
+ if (is_dir($temp_dir)==false)
{
- if ( mkdir($temp_dir) == false )
+ if (mkdir($temp_dir)==false)
{
- $msg=_("Ne peut pas créer le répertoire ".$temp_dir);
+ $msg=sprintf(_("Ne peut pas créer le répertoire %s",
$temp_dir));
+ report_log("D221".$msg);
throw new Exception($msg);
}
}
// Compute output_name
- $output_name=tempnam($temp_dir,"gen_doc_");
- $output_file=fopen($output_name,"w+");
+ $output_name=tempnam($temp_dir, "gen_doc_");
+ $output_file=fopen($output_name, "w+");
// check if the opening is sucessfull
- if ( $h === false )
+ if ($h===false)
{
- echo __FILE__.":".__LINE__."cannot open $p_dir $p_file ";
- $msg=_("Ne peut pas ouvrir $p_dir $p_file");
+ $msg=sprintf(_("Ne peut pas ouvrir [%s] [%s]"), $p_dir, $p_file);
+ report_log("D232".$msg);
throw new Exception($msg);
}
- if ( $output_file == false)
+ if ($output_file==false)
{
- $msg=_("Ne peut pas ouvrir $p_dir $p_file");
- echo $msg;
+ $msg=sprintf(_("Ne peut pas ouvrir [%s] [%s]"), $p_dir,
$output_name);
+ record_log($msg);
throw new Exception($msg);
}
// compute the regex
- if ( $p_type=='OOo')
+ if ($p_type=='OOo')
{
$regex="/=*<<[A-Z]+_*[A-Z]*_*[A-Z]*_*[A-Z]*_*[0-9]*>>/i";
$lt="<";
@@ -243,69 +268,70 @@ class Document
$gt=">";
}
//read the file
- while(! feof($h))
- {
+ while (!feof($h))
+ {
// replace the tag
$buffer=fgets($h);
// search in the buffer the magic << and >>
// while preg_match_all finds something to replace
- while ( preg_match_all ($regex,$buffer,$f) >0 )
- {
-
-
- foreach ( $f as $apattern )
- {
+ while (preg_match_all($regex, $buffer, $f)>0)
+ {
+ foreach ($f as $apattern)
+ {
- foreach($apattern as $pattern)
- {
+ foreach ($apattern as $pattern)
+ {
- $to_remove=$pattern;
- // we remove the < and > from the pattern
- $tag=str_replace($lt,'',$pattern);
- $tag=str_replace($gt,'',$tag);
+ $to_remove=$pattern;
+ // we remove the < and > from the pattern
+ $tag=str_replace($lt, '', $pattern);
+ $tag=str_replace($gt, '', $tag);
- // if the pattern if found we replace it
- $value=$this->Replace($tag,$p_array);
- if ( strpos($value,'ERROR') != false )
$value="";
+ // if the pattern if found we replace it
+ $value=$this->replace($tag, $p_array);
+ if (strpos($value, 'ERROR')!=false)
+ $value="";
/*
* Change type of cell to numeric
* allow numeric cel in ODT for the formatting and
formula
*/
-
- $buffer=\Document::replace_value($buffer,$pattern,
$value, 1,$p_type);
- }
- }
- }
- // write into the output_file
- fwrite($output_file,$buffer);
- }
+ $buffer=\Document::replace_value($buffer, $pattern,
$value, 1, $p_type);
+ }
+ }
+ }
+ // write into the output_file
+ fwrite($output_file, $buffer);
+ }
fclose($h);
fclose($output_file);
- if ( ($ret=copy ($output_name,$infile_name)) == FALSE )
+ if (($ret=copy($output_name, $infile_name))==FALSE)
{
- echo _('Ne peut pas sauver '.$output_name.' vers '.$infile_name.'
code d\'erreur ='.$ret);
+ $msg="D299 ".sprintf(_('Ne peut pas sauver [%s] vers [%s] code
erreur = [%s]'), $output_name, $infile_name,
+ $ret);
+ record_log($msg);
+ throw new Exception($msg);
}
-
-
}
- /*! SaveGenerated
+
+ /* ! saveGenerated
* \brief Save the generated Document
* \param $p_file is the generated file
*
*
* \return 0 if no error otherwise 1
*/
- function SaveGenerated($p_file)
+
+ function saveGenerated($p_file)
{
// We save the generated file
$doc=new Document($this->db);
$this->db->start();
$this->d_lob=$this->db->lo_import($p_file);
- if ( $this->d_lob == false )
+ if ($this->d_lob==false)
{
echo "ne peut pas importer [$p_file]";
return 1;
@@ -314,46 +340,50 @@ class Document
$sql="insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype)
values ($1,$2,$3,$4,$5)";
- $this->db->exec_sql($sql, array($this->ag_id,
- $this->d_lob,
- $this->d_number,
- $this->d_filename,
- $this->d_mimetype));
+ $this->db->exec_sql($sql,
+ array($this->ag_id,
+ $this->d_lob,
+ $this->d_number,
+ $this->d_filename,
+ $this->d_mimetype));
$this->d_id=$this->db->get_current_seq("document_d_id_seq");
// Clean the file
- unlink ($p_file);
+ unlink($p_file);
$this->db->commit();
return 0;
}
- /*! Upload
- * \brief Upload a file into document
+
+ /* ! upload
+ * \brief upload a file into document
* all the needed data are in $_FILES we don't increment the seq
* \param $p_file : array containing by default $_FILES
*
* \return
*/
- function Upload($p_ag_id)
+
+ function upload($p_ag_id)
{
// nothing to save
- if ( sizeof($_FILES) == 0 ) return;
+ if (sizeof($_FILES)==0)
+ return;
/* for several files */
/* $_FILES is now an array */
// Start Transaction
$this->db->start();
$name=$_FILES['file_upload']['name'];
- for ($i = 0; $i < sizeof($name);$i++)
+ for ($i=0; $i<sizeof($name); $i++)
{
- $new_name=tempnam($_ENV['TMP'],'doc_');
+ $new_name=tempnam($_ENV['TMP'], 'doc_');
// check if a file is submitted
- if ( strlen($_FILES['file_upload']['tmp_name'][$i]) != 0 )
+ if (strlen($_FILES['file_upload']['tmp_name'][$i])!=0)
{
// upload the file and move it to temp directory
- if (
move_uploaded_file($_FILES['file_upload']['tmp_name'][$i],$new_name))
+ if (move_uploaded_file($_FILES['file_upload']['tmp_name'][$i],
$new_name))
{
$oid=$this->db->lo_import($new_name);
// check if the lob is in the database
- if ( $oid == false )
+ if ($oid==false)
{
$this->db->rollback();
return 1;
@@ -363,15 +393,17 @@ class Document
$this->d_lob=$oid;
$this->d_filename=$_FILES['file_upload']['name'][$i];
$this->d_mimetype=$_FILES['file_upload']['type'][$i];
- $this->d_description= strip_tags($_POST['input_desc'][$i]);
+ $this->d_description=strip_tags($_POST['input_desc'][$i]);
// insert into the table
- $sql="insert into document (ag_id,
d_lob,d_filename,d_mimetype,d_number,d_description) values ($1,$2,$3,$4,$5,$6)";
-
$this->db->exec_sql($sql,array($p_ag_id,$this->d_lob,$this->d_filename,$this->d_mimetype,1,$this->d_description));
+ $sql="insert into document (ag_id,
d_lob,d_filename,d_mimetype,d_number,d_description)"
+ . " values ($1,$2,$3,$4,$5,$6)";
+ $this->db->exec_sql($sql,
+ array($p_ag_id, $this->d_lob, $this->d_filename,
$this->d_mimetype, 1, $this->d_description));
}
} /* end for */
$this->db->commit();
-
}
+
/**
* Copy a existing OID (LOB) into the table document
* @note use of global variable $cn which is the db connx to the current
folder
@@ -381,79 +413,85 @@ class Document
* @param type $p_mimetype mimetype of existing document
* @param type $p_description Description of existing document (default
empty)
*/
- static function insert_existing_document($p_ag_id, $p_lob, $p_filename,
$p_mimetype, $p_description = "")
+ static function insert_existing_document($p_ag_id, $p_lob, $p_filename,
$p_mimetype, $p_description="")
{
global $cn;
// insert into the table
- $sql = "insert into document (ag_id,
d_lob,d_filename,d_mimetype,d_number,d_description) values ($1,$2,$3,$4,$5,$6)";
+ $sql="insert into document (ag_id,
d_lob,d_filename,d_mimetype,d_number,d_description) "
+ . "values ($1,$2,$3,$4,$5,$6)";
$cn->exec_sql($sql, array($p_ag_id, $p_lob, $p_filename, $p_mimetype,
1, $p_description));
}
- /*! a_ref
+ /* !
* \brief create and compute a string for reference the doc <A ...>
*
* \return a string
*/
+
function anchor()
{
- if ( $this->d_id == 0 )
+ if ($this->d_id==0)
return '';
$image='<IMG SRC="image/insert_table.gif"
title="'.$this->d_filename.'" border="0">';
$r="";
-
$href=http_build_query(array('gDossier'=>Dossier::id(),"d_id"=>$this->d_id,'act'=>'RAW:document'));
+ $href=http_build_query(array('gDossier'=>Dossier::id(),
"d_id"=>$this->d_id, 'act'=>'RAW:document'));
$r='<A class="mtitle" HREF="export.php?'.$href.'">'.$image.'</A>';
return $r;
}
+
/** Get
- * \brief Send the document
+ * \brief send the document
*/
- function Send()
+ function send()
{
// retrieve the template and generate document
$this->db->start();
$ret=$this->db->exec_sql(
- "select d_id,d_lob,d_filename,d_mimetype from document where
d_id=".$this->d_id );
- if ( Database::num_row ($ret) == 0 )
+ "select d_id,d_lob,d_filename,d_mimetype from document where
d_id=$1", [$this->d_id]);
+ if (Database::num_row($ret)==0)
+ {
return;
- $row=Database::fetch_array($ret,0);
+ }
+ $row=Database::fetch_array($ret, 0);
//the document is saved into file $tmp
- $tmp=tempnam($_ENV['TMP'],'document_');
- $this->db->lo_export($row['d_lob'],$tmp);
+ $tmp=tempnam($_ENV['TMP'], 'document_');
+ $this->db->lo_export($row['d_lob'], $tmp);
$this->d_mimetype=$row['d_mimetype'];
$this->d_filename=$row['d_filename'];
// send it to stdout
- ini_set('zlib.output_compression','Off');
+ ini_set('zlib.output_compression', 'Off');
header("Pragma: public");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+ header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: must-revalidate");
header('Content-type: '.$this->d_mimetype);
- header('Content-Disposition:
attachment;filename="'.$this->d_filename.'"',FALSE);
+ header('Content-Disposition:
attachment;filename="'.$this->d_filename.'"', FALSE);
header("Accept-Ranges: bytes");
- $file=fopen($tmp,'r');
- while ( !feof ($file) )
+ $file=fopen($tmp, 'r');
+ while (!feof($file))
{
- echo fread($file,8192);
+ echo fread($file, 8192);
}
fclose($file);
- unlink ($tmp);
+ unlink($tmp);
$this->db->commit();
-
}
- /*!\brief get all the document of a given action
- *\param $ag_id the ag_id from action::ag_id (primary key)
- *\return an array of objects document or an empty array if nothing found
+
+ /* !\brief get all the document of a given action
+ * \param $ag_id the ag_id from action::ag_id (primary key)
+ * \return an array of objects document or an empty array if nothing found
*/
+
function get_all($ag_id)
{
$res=$this->db->get_array('select d_id, ag_id, d_lob, d_number,
d_filename,'.
- ' d_mimetype,d_description from document
where ag_id=$1',array($ag_id));
+ ' d_mimetype,d_description from document where ag_id=$1',
array($ag_id));
$a=array();
- for ($i=0;$i<sizeof($res); $i++ )
+ for ($i=0; $i<sizeof($res); $i++)
{
$doc=new Document($this->db);
$doc->d_id=$res[$i]['d_id'];
@@ -468,24 +506,27 @@ class Document
return $a;
}
- /*!\brief Get complete all the data member thx info from the database
+ /* !\brief Get complete all the data member thx info from the database
*/
+
function get()
{
$sql="select * from document where d_id=".$this->d_id;
$ret=$this->db->exec_sql($sql);
- if ( Database::num_row($ret) == 0 )
+ if (Database::num_row($ret)==0)
+ {
return;
- $row=Database::fetch_array($ret,0);
+ }
+ $row=Database::fetch_array($ret, 0);
$this->ag_id=$row['ag_id'];
$this->d_mimetype=$row['d_mimetype'];
$this->d_filename=$row['d_filename'];
$this->d_lob=$row['d_lob'];
$this->d_number=$row['d_number'];
$this->d_description=$row['d_description'];
-
}
- /*!
+
+ /* !
* \brief replace the TAG by the real value, this value can be into
* the database or in $_POST
* The possible tags are
@@ -547,290 +588,294 @@ class Document
* \param $p_array data from $_POST
* \return String which must replace the tag
*/
- function Replace($p_tag,$p_array)
+
+ function replace($p_tag, $p_array)
{
- global $g_parameter;
+ global $g_parameter;
$p_tag=strtoupper($p_tag);
- $p_tag=str_replace('=','',$p_tag);
+ $p_tag=str_replace('=', '', $p_tag);
$r="Tag inconnu";
static $aComment=NULL;
- static $counter_comment =1 ; /*<! counter for the comment , skip the
first one which is the descrition*/
-
+ static $counter_comment=1; /* <! counter for the comment , skip the
first one which is the descrition */
+
static $aRelatedAction=NULL;
- static $counter_related_action =0 ; /*<! counter for the related
action */
-
+ static $counter_related_action=0; /* <! counter for the related action
*/
+
static $aRelatedOperation=NULL;
- static $counter_related_operation =0 ; /*<! counter for the related
operation */
-
+ static $counter_related_operation=0; /* <! counter for the related
operation */
+
static $aFileAttached=NULL;
- static $counter_file =0 ; /*<! counter for the file */
-
- static $aOtherCard = NULL;
- static $counter_other_card =0 ; /*<! counter for the other card */
-
- static $aTag = NULL;
- static $counter_tag =0 ; /*<! counter for the tags */
-
+ static $counter_file=0; /* <! counter for the file */
+
+ static $aOtherCard=NULL;
+ static $counter_other_card=0; /* <! counter for the other card */
+
+ static $aTag=NULL;
+ static $counter_tag=0; /* <! counter for the tags */
+
switch ($p_tag)
{
case 'DATE':
- $r=(isset
($p_array['ag_timestamp']))?$p_array['ag_timestamp']:$p_array['e_date'];
- break;
- case 'DATE_CALC':
+
$r=(isset($p_array['ag_timestamp']))?$p_array['ag_timestamp']:$p_array['e_date'];
+ break;
+ case 'DATE_CALC':
$r=' ';
- // Date are in $p_array['ag_date']
- // or $p_array['e_date']
- if ( isset ($p_array['ag_timestamp'])) {
-
$date=format_date($p_array['ag_timestamp'],'DD.MM.YYYY','YYYY-MM-DD');
- $r=$date;
- }
- if ( isset ($p_array['e_date'])) {
-
$date=format_date($p_array['e_date'],'DD.MM.YYYY','YYYY-MM-DD');
- $r=$date;
- }
- return $r;
- break;
+ // Date are in $p_array['ag_date']
+ // or $p_array['e_date']
+ if (isset($p_array['ag_timestamp']))
+ {
+ $date=format_date($p_array['ag_timestamp'], 'DD.MM.YYYY',
'YYYY-MM-DD');
+ $r=$date;
+ }
+ if (isset($p_array['e_date']))
+ {
+ $date=format_date($p_array['e_date'], 'DD.MM.YYYY',
'YYYY-MM-DD');
+ $r=$date;
+ }
+ return $r;
+ break;
//
// the company priv
- case 'MY_NAME':
- $r=$g_parameter->MY_NAME;
- break;
- case 'MY_CP':
- $r=$g_parameter->MY_CP;
- break;
- case 'MY_COMMUNE':
- $r=$g_parameter->MY_COMMUNE;
- break;
- case 'MY_TVA':
- $r=$g_parameter->MY_TVA;
- break;
- case 'MY_STREET':
- $r=$g_parameter->MY_STREET;
- break;
- case 'MY_NUMBER':
- $r=$g_parameter->MY_NUMBER;
- break;
- case 'MY_TEL':
- $r=$g_parameter->MY_TEL;
- break;
- case 'MY_FAX':
- $r=$g_parameter->MY_FAX;
- break;
- case 'MY_PAYS':
- $r=$g_parameter->MY_PAYS;
- break;
+ case 'MY_NAME':
+ $r=$g_parameter->MY_NAME;
+ break;
+ case 'MY_CP':
+ $r=$g_parameter->MY_CP;
+ break;
+ case 'MY_COMMUNE':
+ $r=$g_parameter->MY_COMMUNE;
+ break;
+ case 'MY_TVA':
+ $r=$g_parameter->MY_TVA;
+ break;
+ case 'MY_STREET':
+ $r=$g_parameter->MY_STREET;
+ break;
+ case 'MY_NUMBER':
+ $r=$g_parameter->MY_NUMBER;
+ break;
+ case 'MY_TEL':
+ $r=$g_parameter->MY_TEL;
+ break;
+ case 'MY_FAX':
+ $r=$g_parameter->MY_FAX;
+ break;
+ case 'MY_PAYS':
+ $r=$g_parameter->MY_PAYS;
+ break;
// customer
- /*\note The CUST_* are retrieved thx the $p_array['tiers']
+ /* \note The CUST_* are retrieved thx the $p_array['tiers']
* which contains the quick_code
*/
- case 'SOLDE':
- $tiers=new Fiche($this->db);
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $p=$tiers->strAttribut(ATTR_DEF_ACCOUNT);
- $poste=new Acc_Account_Ledger($this->db,$p);
- $r=$poste->get_solde(' true' );
- break;
- case 'CUST_NAME':
- $tiers=new Fiche($this->db);
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_NAME);
- break;
- case 'CUST_ADDR_1':
- $tiers=new Fiche($this->db);
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_ADRESS);
-
- break ;
- case 'CUST_CP':
- $tiers=new Fiche($this->db);
-
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_CP);
-
- break;
- case 'CUST_CITY':
- $tiers=new Fiche($this->db);
-
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_CITY);
-
- break;
-
- case 'CUST_CO':
- $tiers=new Fiche($this->db);
-
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_PAYS);
-
- break;
+ case 'SOLDE':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $p=$tiers->strAttribut(ATTR_DEF_ACCOUNT);
+ $poste=new Acc_Account_Ledger($this->db, $p);
+ $r=$poste->get_solde(' true');
+ break;
+ case 'CUST_NAME':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_NAME);
+ break;
+ case 'CUST_ADDR_1':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_ADRESS);
+
+ break;
+ case 'CUST_CP':
+ $tiers=new Fiche($this->db);
+
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_CP);
+
+ break;
+ case 'CUST_CITY':
+ $tiers=new Fiche($this->db);
+
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_CITY);
+
+ break;
+
+ case 'CUST_CO':
+ $tiers=new Fiche($this->db);
+
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_PAYS);
+
+ break;
// Marchandise in $p_array['e_march*']
// \see user_form_achat.php or user_form_ven.php
- case 'CUST_VAT':
- $tiers=new Fiche($this->db);
-
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_NUMTVA);
- break;
- case 'CUST_NUM':
- $tiers=new Fiche($this->db);
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_NUMBER_CUSTOMER);
- break;
- case 'CUST_BANQUE_NO':
- $tiers=new Fiche($this->db);
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_BQ_NO);
- break;
- case 'CUST_BANQUE_NAME':
- $tiers=new Fiche($this->db);
-
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_BQ_NAME);
- break;
+ case 'CUST_VAT':
+ $tiers=new Fiche($this->db);
+
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_NUMTVA);
+ break;
+ case 'CUST_NUM':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_NUMBER_CUSTOMER);
+ break;
+ case 'CUST_BANQUE_NO':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_BQ_NO);
+ break;
+ case 'CUST_BANQUE_NAME':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_dest'])?$p_array['qcode_dest']:$p_array['e_client'];
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_BQ_NAME);
+ break;
/*
--------------------------------------------------------------------------------
*/
/* BENEFIT (fee notes */
- case 'BENEF_NAME':
- $tiers=new Fiche($this->db);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
+ case 'BENEF_NAME':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_NAME);
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_NAME);
- break;
- case 'BENEF_ADDR_1':
- $tiers=new Fiche($this->db);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
+ case 'BENEF_ADDR_1':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_ADRESS);
+
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_ADRESS);
+ case 'BENEF_CP':
+ $tiers=new Fiche($this->db);
- break ;
- case 'BENEF_CP':
- $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_CP);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_CP);
+ case 'BENEF_CITY':
+ $tiers=new Fiche($this->db);
- break;
- case 'BENEF_CITY':
- $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_CITY);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_CITY);
- break;
+ case 'BENEF_CO':
+ $tiers=new Fiche($this->db);
- case 'BENEF_CO':
- $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_PAYS);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_PAYS);
-
- break;
// Marchandise in $p_array['e_march*']
// \see user_form_achat.php or user_form_ven.php
- case 'BENEF_VAT':
- $tiers=new Fiche($this->db);
+ case 'BENEF_VAT':
+ $tiers=new Fiche($this->db);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_NUMTVA);
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_NUMTVA);
- break;
- case 'BENEF_NUM':
- $tiers=new Fiche($this->db);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
+ case 'BENEF_NUM':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_NUMBER_CUSTOMER);
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_NUMBER_CUSTOMER);
- break;
- case 'BENEF_BANQUE_NO':
- $tiers=new Fiche($this->db);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
+ case 'BENEF_BANQUE_NO':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_BQ_NO);
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_BQ_NO);
- break;
- case 'BENEF_BANQUE_NAME':
- $tiers=new Fiche($this->db);
- $qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
- if ( $qcode=='')
- {
- $r='';
+ case 'BENEF_BANQUE_NAME':
+ $tiers=new Fiche($this->db);
+
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
+ if ($qcode=='')
+ {
+ $r='';
+ break;
+ }
+ $tiers->get_by_qcode($qcode, false);
+ $r=$tiers->strAttribut(ATTR_DEF_BQ_NAME);
break;
- }
- $tiers->get_by_qcode($qcode,false);
- $r=$tiers->strAttribut(ATTR_DEF_BQ_NAME);
- break;
// Marchandise in $p_array['e_march*']
// \see user_form_achat.php or user_form_ven.php
- case 'NUMBER':
- $r=$this->d_number;
- break;
- case "DOCUMENT_ID":
- if (isset($p_array['ag_id'])) return $p_array['ag_id'];
- return "";
- break;
-
- case 'USER' :
- return $_SESSION[SESSION_KEY.'use_name'].',
'.$_SESSION[SESSION_KEY.'use_first_name'];
-
- break;
- case 'REFERENCE':
- $act=new Follow_Up($this->db);
- $act->ag_id=$this->ag_id;
- $act->get();
- $r=$act->ag_ref;
- break;
+ case 'NUMBER':
+ $r=$this->d_number;
+ break;
+ case "DOCUMENT_ID":
+ if (isset($p_array['ag_id']))
+ return $p_array['ag_id'];
+ return "";
+ break;
+
+ case 'USER' :
+ return $_SESSION[SESSION_KEY.'use_name'].',
'.$_SESSION[SESSION_KEY.'use_first_name'];
+
+ break;
+ case 'REFERENCE':
+ $act=new Follow_Up($this->db);
+ $act->ag_id=$this->ag_id;
+ $act->get();
+ $r=$act->ag_ref;
+ break;
/*
* - [VEN_ART_NAME]
@@ -844,413 +889,453 @@ class Document
* - [TOTAL_VEN_HTVA]
* - [DATE_LIMIT]
*/
- case 'DATE_LIMIT_CALC':
- if ( isset ($p_array["e_ech"] ))
- return
format_date($p_array["e_ech"],'DD.MM.YYYY','YYYY-MM-DD');
- if ( isset ($p_array["ech"] ))
- return
format_date($p_array["ech"],'DD.MM.YYYY','YYYY-MM-DD');
- if ( isset ($p_array["ag_remind_date"] ))
- return
format_date($p_array["ag_remind_date"],'DD.MM.YYYY','YYYY-MM-DD');
- return "";
- break;
- case 'DATE_LIMIT':
- if ( isset ($p_array["ech"] ))
+ case 'DATE_LIMIT_CALC':
+ if (isset($p_array["e_ech"]))
+ return format_date($p_array["e_ech"], 'DD.MM.YYYY',
'YYYY-MM-DD');
+ if (isset($p_array["ech"]))
+ return format_date($p_array["ech"], 'DD.MM.YYYY',
'YYYY-MM-DD');
+ if (isset($p_array["ag_remind_date"]))
+ return format_date($p_array["ag_remind_date"],
'DD.MM.YYYY', 'YYYY-MM-DD');
+ return "";
+ break;
+ case 'DATE_LIMIT':
+ if (isset($p_array["ech"]))
return $p_array["ech"];
- if ( isset ($p_array["e_ech"] ))
+ if (isset($p_array["e_ech"]))
return $p_array["e_ech"];
- if ( isset ($p_array["ag_remind_date"] ))
+ if (isset($p_array["ag_remind_date"]))
return $p_array["ag_remind_date"];
- return "";
- break;
- case 'MARCH_NEXT':
- $this->counter++;
- $r='';
- break;
-
- case 'VEN_ART_NAME':
- // check if the march exists
- if ( ! isset ($p_array["e_march".$this->counter])) return "";
- // check that something is sold
- if ( $p_array['e_march'.$this->counter.'_price'] != 0 &&
$p_array['e_quant'.$this->counter] != 0 )
- {
- $f=new Fiche($this->db);
- $f->get_by_qcode($p_array["e_march".$this->counter],false);
- $r=$f->strAttribut(ATTR_DEF_NAME);
- }
- else $r = "";
- break;
- case 'VEN_ART_LABEL':
- $id='e_march'.$this->counter."_label";
- // check if the march exists
+ return "";
+ break;
+ case 'MARCH_NEXT':
+ $this->counter++;
+ $r='';
+ break;
+
+ case 'VEN_ART_NAME':
+ // check if the march exists
+ if (!isset($p_array["e_march".$this->counter]))
+ return "";
+ // check that something is sold
+ if
($p_array['e_march'.$this->counter.'_price']!=0&&$p_array['e_quant'.$this->counter]!=0)
+ {
+ $f=new Fiche($this->db);
+ $f->get_by_qcode($p_array["e_march".$this->counter],
false);
+ $r=$f->strAttribut(ATTR_DEF_NAME);
+ }
+ else
+ $r="";
+ break;
+ case 'VEN_ART_LABEL':
+ $id='e_march'.$this->counter."_label";
+ // check if the march exists
- if (! isset ($p_array[$id]) || (isset ($p_array[$id]) &&
strlen(trim($p_array[$id])) == 0))
+ if
(!isset($p_array[$id])||(isset($p_array[$id])&&strlen(trim($p_array[$id]))==0))
{
- $id = 'e_march' . $this->counter;
+ $id='e_march'.$this->counter;
// check if the march exists
if (!isset($p_array[$id]))
- $r= "";
- else
+ $r="";
+ else
{
- // check that something is sold
- if ($p_array['e_march'.$this->counter. '_price'] != 0
- && $p_array['e_quant' . $this->counter] != 0)
+ // check that something is sold
+ if
($p_array['e_march'.$this->counter.'_price']!=0&&$p_array['e_quant'.$this->counter]!=0)
{
- $f = new Fiche($this->db);
+ $f=new Fiche($this->db);
$f->get_by_qcode($p_array[$id], false);
- $r = $f->strAttribut(ATTR_DEF_NAME);
- } else
- $r = "";
+ $r=$f->strAttribut(ATTR_DEF_NAME);
+ }
+ else
+ $r="";
}
}
else
$r=$p_array[$id];
- break;
- case 'VEN_ART_STOCK_CODE':
- $id = 'e_march' . $this->counter;
- // check if the march exists
- if (!isset($p_array[$id]))
- $r= "";
- else
- {
+ break;
+ case 'VEN_ART_STOCK_CODE':
+ $id='e_march'.$this->counter;
+ // check if the march exists
+ if (!isset($p_array[$id]))
+ $r="";
+ else
+ {
// check that something is sold
- if ($p_array['e_march' . $this->counter . '_price'] !=
0
- && $p_array['e_quant' . $this->counter] != 0)
- {
- $f = new Fiche($this->db);
- $f->get_by_qcode($p_array[$id], false);
- $r = $f->strAttribut(ATTR_DEF_STOCK);
- $r=($r == NOTFOUND)?'':$r;
- }
+ if
($p_array['e_march'.$this->counter.'_price']!=0&&$p_array['e_quant'.$this->counter]!=0)
+ {
+ $f=new Fiche($this->db);
+ $f->get_by_qcode($p_array[$id], false);
+ $r=$f->strAttribut(ATTR_DEF_STOCK);
+ $r=($r==NOTFOUND)?'':$r;
}
- break;
- case 'VEN_QCODE':
- $id='e_march'.$this->counter ;
- if ( !isset ($p_array[$id]) ) return "";
- return $p_array[$id];
- break;
- case 'VEN_ART_PRICE':
- $id='e_march'.$this->counter.'_price' ;
- if ( !isset ($p_array[$id]) ) return "";
- if ( $p_array[$id] == 0 ) return "";
- $r=$p_array[$id];
- break;
-
- case 'TVA_RATE':
- case 'VEN_ART_TVA_RATE':
- $id='e_march'.$this->counter.'_tva_id';
- if ( !isset ($p_array[$id]) ) return "";
- if ( $p_array[$id] == -1 || $p_array[$id]=='' ) return "";
- $march_id='e_march'.$this->counter.'_price' ;
- if ( ! isset ($p_array[$march_id])) return '';
- $tva=new Acc_Tva($this->db);
- $tva->set_parameter("id",$p_array[$id]);
- if ( $tva->load() == -1) return '';
- return $tva->get_parameter("rate");
- break;
-
- case 'TVA_CODE':
- case 'VEN_ART_TVA_CODE':
- $id='e_march'.$this->counter.'_tva_id';
- if ( !isset ($p_array[$id]) ) return "";
- if ( $p_array[$id] == -1 ) return "";
- $qt='e_quant'.$this->counter;
- $price='e_march'.$this->counter.'_price' ;
- if ( $p_array[$price] == 0 || $p_array[$qt] == 0
- || strlen(trim( $p_array[$price] )) ==0
- || strlen(trim($p_array[$qt])) ==0)
- return "";
+ }
+ break;
+ case 'VEN_QCODE':
+ $id='e_march'.$this->counter;
+ if (!isset($p_array[$id]))
+ return "";
+ return $p_array[$id];
+ break;
+ case 'VEN_ART_PRICE':
+ $id='e_march'.$this->counter.'_price';
+ if (!isset($p_array[$id]))
+ return "";
+ if ($p_array[$id]==0)
+ return "";
+ $r=$p_array[$id];
+ break;
+
+ case 'TVA_RATE':
+ case 'VEN_ART_TVA_RATE':
+ $id='e_march'.$this->counter.'_tva_id';
+ if (!isset($p_array[$id]))
+ return "";
+ if ($p_array[$id]==-1||$p_array[$id]=='')
+ return "";
+ $march_id='e_march'.$this->counter.'_price';
+ if (!isset($p_array[$march_id]))
+ return '';
+ $tva=new Acc_Tva($this->db);
+ $tva->set_parameter("id", $p_array[$id]);
+ if ($tva->load()==-1)
+ return '';
+ return $tva->get_parameter("rate");
+ break;
- $r=$p_array[$id];
- break;
+ case 'TVA_CODE':
+ case 'VEN_ART_TVA_CODE':
+ $id='e_march'.$this->counter.'_tva_id';
+ if (!isset($p_array[$id]))
+ return "";
+ if ($p_array[$id]==-1)
+ return "";
+ $qt='e_quant'.$this->counter;
+ $price='e_march'.$this->counter.'_price';
+ if
($p_array[$price]==0||$p_array[$qt]==0||strlen(trim($p_array[$price]))==0||strlen(trim($p_array[$qt]))==0)
+ return "";
+
+ $r=$p_array[$id];
+ break;
- case 'TVA_LABEL':
- $id='e_march'.$this->counter.'_tva_id';
- if ( !isset ($p_array[$id]) ) return "";
- $march_id='e_march'.$this->counter.'_price' ;
- if ( ! isset ($p_array[$march_id])) return '';
- if ( $p_array[$march_id] == 0) return '';
- $tva=new Acc_Tva($this->db,$p_array[$id]);
- if ($tva->load() == -1 ) return "";
- $r=$tva->get_parameter('label');
+ case 'TVA_LABEL':
+ $id='e_march'.$this->counter.'_tva_id';
+ if (!isset($p_array[$id]))
+ return "";
+ $march_id='e_march'.$this->counter.'_price';
+ if (!isset($p_array[$march_id]))
+ return '';
+ if ($p_array[$march_id]==0)
+ return '';
+ $tva=new Acc_Tva($this->db, $p_array[$id]);
+ if ($tva->load()==-1)
+ return "";
+ $r=$tva->get_parameter('label');
- break;
+ break;
/* total VAT for one sold */
- case 'TVA_AMOUNT':
- case 'VEN_TVA':
- $qt='e_quant'.$this->counter;
- $price='e_march'.$this->counter.'_price' ;
- $tva='e_march'.$this->counter.'_tva_id';
- /* if we do not use vat this var. is not set */
- if ( !isset($p_array[$tva]) ) return '';
- if ( !isset ($p_array [ 'e_march'.$this->counter ]) ) return "";
- if ( !isset ($p_array[$tva]) ) return "";
- // check that something is sold
- if ( $p_array[$price] == 0 || $p_array[$qt] == 0
- || strlen(trim( $p_array[$price] )) ==0
- || strlen(trim($p_array[$qt])) ==0)
- return "";
- $r=$p_array['e_march'.$this->counter.'_tva_amount'];
- break;
+ case 'TVA_AMOUNT':
+ case 'VEN_TVA':
+ $qt='e_quant'.$this->counter;
+ $price='e_march'.$this->counter.'_price';
+ $tva='e_march'.$this->counter.'_tva_id';
+ /* if we do not use vat this var. is not set */
+ if (!isset($p_array[$tva]))
+ return '';
+ if (!isset($p_array ['e_march'.$this->counter]))
+ return "";
+ if (!isset($p_array[$tva]))
+ return "";
+ // check that something is sold
+ if
($p_array[$price]==0||$p_array[$qt]==0||strlen(trim($p_array[$price]))==0||strlen(trim($p_array[$qt]))==0)
+ return "";
+ $r=$p_array['e_march'.$this->counter.'_tva_amount'];
+ break;
/* TVA automatically computed */
- case 'VEN_ART_TVA':
-
- $qt='e_quant'.$this->counter;
- $price='e_march'.$this->counter.'_price' ;
- $tva='e_march'.$this->counter.'_tva_id';
- if ( !isset ($p_array['e_march'.$this->counter]) ) return "";
- if ( !isset ($p_array[$tva]) ) return "";
- // check that something is sold
- if ( $p_array[$price] == 0 || $p_array[$qt] == 0
- || strlen(trim( $p_array[$price] )) ==0
- || strlen(trim($p_array[$qt])) ==0)
- return "";
- $oTva=new Acc_Tva($this->db,$p_array[$tva]);
- if ($oTva->load() == -1 ) return "";
- $r=round($p_array[$price],2)*$oTva->get_parameter('rate');
- $r=round($r,2);
- break;
-
- case 'VEN_ART_TVAC':
- $qt='e_quant'.$this->counter;
- $price='e_march'.$this->counter.'_price' ;
- if ( !isset ($p_array['e_march'.$this->counter]) ) return "";
- if ( !isset ($p_array['e_march'.$this->counter.'_tva_id']) )
return "";
- // check that something is sold
- if ( $p_array[$price] == 0 || $p_array[$qt] == 0
- || strlen(trim( $p_array[$price] )) ==0
- || strlen(trim($p_array[$qt])) ==0)
- return "";
- if ( ! isset ($p_array['e_march'.$this->counter.'_tva_id']) )
return '';
- $tva=new
Acc_Tva($this->db,$p_array['e_march'.$this->counter.'_tva_id'] );
- if ($tva->load() == -1 )
- {
- $r=round($p_array[$price],2);
- }
- else
- {
-
$r=round($p_array[$price]*$tva->get_parameter('rate')+$p_array[$price],2);
- }
+ case 'VEN_ART_TVA':
+
+ $qt='e_quant'.$this->counter;
+ $price='e_march'.$this->counter.'_price';
+ $tva='e_march'.$this->counter.'_tva_id';
+ if (!isset($p_array['e_march'.$this->counter]))
+ return "";
+ if (!isset($p_array[$tva]))
+ return "";
+ // check that something is sold
+ if
($p_array[$price]==0||$p_array[$qt]==0||strlen(trim($p_array[$price]))==0||strlen(trim($p_array[$qt]))==0)
+ return "";
+ $oTva=new Acc_Tva($this->db, $p_array[$tva]);
+ if ($oTva->load()==-1)
+ return "";
+ $r=round($p_array[$price], 2)*$oTva->get_parameter('rate');
+ $r=round($r, 2);
+ break;
- break;
+ case 'VEN_ART_TVAC':
+ $qt='e_quant'.$this->counter;
+ $price='e_march'.$this->counter.'_price';
+ if (!isset($p_array['e_march'.$this->counter]))
+ return "";
+ if (!isset($p_array['e_march'.$this->counter.'_tva_id']))
+ return "";
+ // check that something is sold
+ if
($p_array[$price]==0||$p_array[$qt]==0||strlen(trim($p_array[$price]))==0||strlen(trim($p_array[$qt]))==0)
+ return "";
+ if (!isset($p_array['e_march'.$this->counter.'_tva_id']))
+ return '';
+ $tva=new Acc_Tva($this->db,
$p_array['e_march'.$this->counter.'_tva_id']);
+ if ($tva->load()==-1)
+ {
+ $r=round($p_array[$price], 2);
+ }
+ else
+ {
+
$r=round($p_array[$price]*$tva->get_parameter('rate')+$p_array[$price], 2);
+ }
- case 'VEN_ART_QUANT':
- $id='e_quant'.$this->counter;
- if ( !isset ($p_array[$id]) ) return "";
- // check that something is sold
- if ( $p_array['e_march'.$this->counter.'_price'] == 0
- || $p_array['e_quant'.$this->counter] == 0
- || strlen(trim(
$p_array['e_march'.$this->counter.'_price'] )) ==0
- || strlen(trim($p_array['e_quant'.$this->counter])) ==0 )
- return "";
- $r=$p_array[$id];
- break;
-
- case 'VEN_HTVA':
- $id='e_march'.$this->counter.'_price' ;
- $quant='e_quant'.$this->counter;
- if ( !isset ($p_array[$id]) ) return "";
-
- // check that something is sold
- if ( $p_array['e_march'.$this->counter.'_price'] == 0 ||
$p_array['e_quant'.$this->counter] == 0
- || strlen(trim(
$p_array['e_march'.$this->counter.'_price'] )) ==0
- || strlen(trim($p_array['e_quant'.$this->counter])) ==0)
- return "";
- bcscale(4);
- $r=bcmul($p_array[$id],$p_array[$quant]);
- $r=round($r,2);
- break;
-
- case 'VEN_TVAC':
- $id='e_march'.$this->counter.'_tva_amount' ;
- $price='e_march'.$this->counter.'_price' ;
- $quant='e_quant'.$this->counter;
- if ( ! isset($p_array['e_march'.$this->counter.'_price'])||
!isset($p_array['e_quant'.$this->counter])) {
- return "";
- }
- // check that something is sold
- if ( $p_array['e_march'.$this->counter.'_price'] == 0 ||
$p_array['e_quant'.$this->counter] == 0 ) { return "";}
- bcscale(4);
- // if TVA not exist
- if ( ! isset($p_array[$id]))
- $r= bcmul($p_array[$price],$p_array[$quant]);
- else{
- $r= bcmul($p_array[$price],$p_array[$quant]);
- $r=bcadd($r,$p_array[$id]);
- }
- $r=round($r,2);
- return $r;
- break;
-
- case 'TOTAL_VEN_HTVA':
- bcscale(4);
- $sum=0.0;
- if ( !isset($p_array["nb_item"]) ) return "";
- for ($i=0;$i<$p_array["nb_item"];$i++)
- {
- $sell='e_march'.$i.'_price';
- $qt='e_quant'.$i;
+ break;
- if ( ! isset ($p_array[$sell]) ) break;
+ case 'VEN_ART_QUANT':
+ $id='e_quant'.$this->counter;
+ if (!isset($p_array[$id]))
+ return "";
+ // check that something is sold
+ if
($p_array['e_march'.$this->counter.'_price']==0||$p_array['e_quant'.$this->counter]==0||strlen(trim($p_array['e_march'.$this->counter.'_price']))==0||strlen(trim($p_array['e_quant'.$this->counter]))==0)
+ return "";
+ $r=$p_array[$id];
+ break;
- if ( strlen(trim($p_array[$sell])) == 0 ||
- strlen(trim($p_array[$qt])) == 0 ||
- $p_array[$qt]==0 || $p_array[$sell]==0)
- continue;
- $tmp1=bcmul($p_array[$sell],$p_array[$qt]);
- $sum=bcadd($sum,$tmp1);
+ case 'VEN_HTVA':
+ $id='e_march'.$this->counter.'_price';
+ $quant='e_quant'.$this->counter;
+ if (!isset($p_array[$id]))
+ return "";
+
+ // check that something is sold
+ if
($p_array['e_march'.$this->counter.'_price']==0||$p_array['e_quant'.$this->counter]==0||strlen(trim($p_array['e_march'.$this->counter.'_price']))==0||strlen(trim($p_array['e_quant'.$this->counter]))==0)
+ return "";
+ bcscale(4);
+ $r=bcmul($p_array[$id], $p_array[$quant]);
+ $r=round($r, 2);
+ break;
+ case 'VEN_TVAC':
+ $id='e_march'.$this->counter.'_tva_amount';
+ $price='e_march'.$this->counter.'_price';
+ $quant='e_quant'.$this->counter;
+ if
(!isset($p_array['e_march'.$this->counter.'_price'])||!isset($p_array['e_quant'.$this->counter]))
+ {
+ return "";
+ }
+ // check that something is sold
+ if
($p_array['e_march'.$this->counter.'_price']==0||$p_array['e_quant'.$this->counter]==0)
+ {
+ return "";
+ }
+ bcscale(4);
+ // if TVA not exist
+ if (!isset($p_array[$id]))
+ $r=bcmul($p_array[$price], $p_array[$quant]);
+ else
+ {
+ $r=bcmul($p_array[$price], $p_array[$quant]);
+ $r=bcadd($r, $p_array[$id]);
+ }
+ $r=round($r, 2);
+ return $r;
+ break;
- }
- $r=round($sum,2);
- break;
- case 'TOTAL_VEN_TVAC':
- if ( !isset($p_array["nb_item"]) ) return "";
- $sum=0.0;
- bcscale(4);
- for ($i=0;$i<$p_array["nb_item"];$i++)
- {
- $tva='e_march'.$i.'_tva_amount';
- $tva_amount=0;
- /* if we do not use vat this var. is not set */
- if ( isset($p_array[$tva]) )
+ case 'TOTAL_VEN_HTVA':
+ bcscale(4);
+ $sum=0.0;
+ if (!isset($p_array["nb_item"]))
+ return "";
+ for ($i=0; $i<$p_array["nb_item"]; $i++)
{
- $tva_amount=$p_array[$tva];
+ $sell='e_march'.$i.'_price';
+ $qt='e_quant'.$i;
+
+ if (!isset($p_array[$sell]))
+ break;
+
+ if (strlen(trim($p_array[$sell]))==0||
+ strlen(trim($p_array[$qt]))==0||
+ $p_array[$qt]==0||$p_array[$sell]==0)
+ continue;
+ $tmp1=bcmul($p_array[$sell], $p_array[$qt]);
+ $sum=bcadd($sum, $tmp1);
}
- $sell=$p_array['e_march'.$i.'_price'];
- $qt=$p_array['e_quant'.$i];
- $tot=bcmul($sell,$qt);
- $tot=bcadd($tot,$tva_amount);
- $sum=bcadd($sum,$tot);
- }
- $r=round($sum,2);
+ $r=round($sum, 2);
+ break;
+ case 'TOTAL_VEN_TVAC':
+ if (!isset($p_array["nb_item"]))
+ return "";
+ $sum=0.0;
+ bcscale(4);
+ for ($i=0; $i<$p_array["nb_item"]; $i++)
+ {
+ $tva='e_march'.$i.'_tva_amount';
+ $tva_amount=0;
+ /* if we do not use vat this var. is not set */
+ if (isset($p_array[$tva]))
+ {
+ $tva_amount=$p_array[$tva];
+ }
+ $sell=$p_array['e_march'.$i.'_price'];
+ $qt=$p_array['e_quant'.$i];
+ $tot=bcmul($sell, $qt);
+ $tot=bcadd($tot, $tva_amount);
+ $sum=bcadd($sum, $tot);
+ }
+ $r=round($sum, 2);
- break;
- case 'TOTAL_TVA':
- if ( !isset($p_array["nb_item"]) ) return "";
- $sum=0.0;
- for ($i=0;$i<$p_array["nb_item"];$i++)
- {
- $tva='e_march'.$i.'_tva_amount';
- if (! isset($p_array[$tva])) $tva_amount=0.0;
- else {
- $tva_amount=$p_array[$tva];
- $tva_amount=($tva_amount=="")?0:$tva_amount;
+ break;
+ case 'TOTAL_TVA':
+ if (!isset($p_array["nb_item"]))
+ return "";
+ $sum=0.0;
+ for ($i=0; $i<$p_array["nb_item"]; $i++)
+ {
+ $tva='e_march'.$i.'_tva_amount';
+ if (!isset($p_array[$tva]))
+ $tva_amount=0.0;
+ else
+ {
+ $tva_amount=$p_array[$tva];
+ $tva_amount=($tva_amount=="")?0:$tva_amount;
+ }
+ $sum+=$tva_amount;
+ $sum=round($sum, 2);
}
- $sum+=$tva_amount;
- $sum=round($sum,2);
- }
- $r=$sum;
+ $r=$sum;
- break;
- case 'BON_COMMANDE':
- if ( isset($p_array['bon_comm']))
- return $p_array['bon_comm'];
- else
- return "";
- break;
- case 'PJ':
- if ( isset($p_array['e_pj']))
- return $p_array['e_pj'];
- else
- return "";
+ break;
+ case 'BON_COMMANDE':
+ if (isset($p_array['bon_comm']))
+ return $p_array['bon_comm'];
+ else
+ return "";
+ break;
+ case 'PJ':
+ if (isset($p_array['e_pj']))
+ return $p_array['e_pj'];
+ else
+ return "";
- case 'OTHER_INFO':
- if ( isset($p_array['other_info']))
- return $p_array['other_info'];
- else
- return "";
- break;
- case 'LABELOP':
- if ( isset($p_array['e_comm']))
- return $p_array['e_comm'];
- break;
- case 'ACOMPTE':
- if ( isset($p_array['acompte']))
- return $p_array['acompte'];
- return "0";
- break;
- case 'STOCK_NAME':
- if ( ! isset ($p_array['repo'])) return "";
- $ret=$this->db->get_value('select r_name from
public.stock_repository where r_id=$1',array($p_array['repo']));
+ case 'OTHER_INFO':
+ if (isset($p_array['other_info']))
+ return $p_array['other_info'];
+ else
+ return "";
+ break;
+ case 'LABELOP':
+ if (isset($p_array['e_comm']))
+ return $p_array['e_comm'];
+ break;
+ case 'ACOMPTE':
+ if (isset($p_array['acompte']))
+ return $p_array['acompte'];
+ return "0";
+ break;
+ case 'STOCK_NAME':
+ if (!isset($p_array['repo']))
+ return "";
+ $ret=$this->db->get_value('select r_name from
public.stock_repository where r_id=$1',
+ array($p_array['repo']));
return $ret;
- case 'STOCK_ADRESS':
- if ( ! isset ($p_array['repo'])) return "";
- $ret=$this->db->get_value('select r_adress from
public.stock_repository where r_id=$1',array($p_array['repo']));
+ case 'STOCK_ADRESS':
+ if (!isset($p_array['repo']))
+ return "";
+ $ret=$this->db->get_value('select r_adress from
public.stock_repository where r_id=$1',
+ array($p_array['repo']));
return $ret;
- case 'STOCK_COUNTRY':
- if ( ! isset ($p_array['repo'])) return "";
- $ret=$this->db->get_value('select r_country from
public.stock_repository where r_id=$1',array($p_array['repo']));
+ case 'STOCK_COUNTRY':
+ if (!isset($p_array['repo']))
+ return "";
+ $ret=$this->db->get_value('select r_country from
public.stock_repository where r_id=$1',
+ array($p_array['repo']));
return $ret;
- case 'STOCK_CITY':
- if ( ! isset ($p_array['repo'])) return "";
- $ret=$this->db->get_value('select r_city from
public.stock_repository where r_id=$1',array($p_array['repo']));
+ case 'STOCK_CITY':
+ if (!isset($p_array['repo']))
+ return "";
+ $ret=$this->db->get_value('select r_city from
public.stock_repository where r_id=$1',
+ array($p_array['repo']));
return $ret;
- case 'STOCK_PHONE':
- if ( ! isset ($p_array['repo'])) return "";
- $ret=$this->db->get_value('select r_phone from
public.stock_repository where r_id=$1',array($p_array['repo']));
+ case 'STOCK_PHONE':
+ if (!isset($p_array['repo']))
+ return "";
+ $ret=$this->db->get_value('select r_phone from
public.stock_repository where r_id=$1',
+ array($p_array['repo']));
return $ret;
- // Follow up
- //Title
- case 'TITLE':
- if ( isset($p_array['ag_title'])) return
$p_array['ag_title'];
- return "";
- break;
- // Description is the first comment
- case 'DESCRIPTION':
- if ( isset($p_array['ag_id'])) {
- // retrieve first comment
- $description=$this->db->get_value("select agc_comment "
- . " from action_gestion_comment "
- . "where ag_id=$1 order by AGC_ID asc limit 1"
- ,[$p_array['ag_id']]);
- return $description;
- }
- if ( isset($p_array['e_comm'])) {return $p_array['e_comm'] ; }
-
- return "";
- break;
-
- // Comments, use a counter to move to the next comment, only for
Follow-Up
- //
- case 'COMMENT':
- if ( isset($p_array['ag_id'])) {
- // Static value, if null the retrieve all of them
- if ( $aComment == NULL ) {
- // retrieve comments
- $aComment=$this->db->get_array("select AGC_ID,agc_comment
,"
- ." to_char(agc_date,'DD-MM-YY HH24:MI') as
str_date ,"
- . " tech_user "
- . " from action_gestion_comment "
- . "where ag_id=$1 order by 1"
- ,[$p_array['ag_id']]);
+ // Follow up
+ //Title
+ case 'TITLE':
+ if (isset($p_array['ag_title']))
+ return $p_array['ag_title'];
+ return "";
+ break;
+ // Description is the first comment
+ case 'DESCRIPTION':
+ if (isset($p_array['ag_id']))
+ {
+ // retrieve first comment
+ $description=$this->db->get_value("select agc_comment "
+ ." from action_gestion_comment "
+ ."where ag_id=$1 order by AGC_ID asc limit 1"
+ , [$p_array['ag_id']]);
+ return $description;
}
- $nb_comment=count($aComment);
- $description="";
- if (count ($aComment) > $counter_comment) {
- $description.= sprintf(_('le %s , %s écrit %s'),
- $aComment[$counter_comment]['str_date'],
- $aComment[$counter_comment]['tech_user'],
- $aComment[$counter_comment]['agc_comment']);
- $counter_comment++;
+ if (isset($p_array['e_comm']))
+ {
+ return $p_array['e_comm'];
}
- return $description;
- }
- return "";
- break;
- // Related Action, use a counter to move to the next related action,
only for Follow-Up
- //
- case 'RELATED_ACTION':
- if ( isset($p_array['ag_id'])) {
- // Static value, if null the retrieve all of them
- if ( $aRelatedAction == NULL ) {
- // retrieve parent
- $followup=new Follow_Up($this->db,$p_array["ag_id"]);
- $aRelatedAction=array();
- $aParent=$followup->get_parent();
- if ($aParent == -1 )return "";
- $nb_parent=count($aParent);
- $sql_related_action = "
+
+ return "";
+ break;
+
+ // Comments, use a counter to move to the next comment, only for
Follow-Up
+ //
+ case 'COMMENT':
+ if (isset($p_array['ag_id']))
+ {
+ // Static value, if null the retrieve all of them
+ if ($aComment==NULL)
+ {
+ // retrieve comments
+ $aComment=$this->db->get_array("select
AGC_ID,agc_comment ,"
+ ." to_char(agc_date,'DD-MM-YY HH24:MI') as
str_date ,"
+ ." tech_user "
+ ." from action_gestion_comment "
+ ."where ag_id=$1 order by 1"
+ , [$p_array['ag_id']]);
+ }
+ $nb_comment=count($aComment);
+ $description="";
+ if (count($aComment)>$counter_comment)
+ {
+ $description.=sprintf(_('le %s , %s écrit %s'),
$aComment[$counter_comment]['str_date'],
+ $aComment[$counter_comment]['tech_user'],
$aComment[$counter_comment]['agc_comment']);
+ $counter_comment++;
+ }
+ return $description;
+ }
+ return "";
+ break;
+ // Related Action, use a counter to move to the next related
action, only for Follow-Up
+ //
+ case 'RELATED_ACTION':
+ if (isset($p_array['ag_id']))
+ {
+ // Static value, if null the retrieve all of them
+ if ($aRelatedAction==NULL)
+ {
+ // retrieve parent
+ $followup=new Follow_Up($this->db, $p_array["ag_id"]);
+ $aRelatedAction=array();
+ $aParent=$followup->get_parent();
+ if ($aParent==-1)
+ return "";
+ $nb_parent=count($aParent);
+ $sql_related_action="
select ag_id,
f_id_dest,
(select ad_value from fiche_detail fd1 where fd1.ad_id=23
and fd1.f_id=f_id_dest) as qcode,
@@ -1260,46 +1345,49 @@ class Document
to_char(ag_timestamp,'DD.MM.YYYY') as strdate,
ag_ref
from action_gestion ag where ag_id=$1 ";
-
- for ($x = 0 ; $x < $nb_parent ; $x++ )
- {
-
$aRelatedAction[]=$this->db->get_row($sql_related_action,[$aParent[$x]['aga_least']]);
-
$aChild=$followup->get_children($aParent[$x]['aga_least']);
- $nb_child=count($aChild);
- for ($y=0;$y < $nb_child;$y++) {
-
$aRelatedAction[]=$this->db->get_row($sql_related_action,[
$aChild[$y]['aga_greatest'] ]);
+
+ for ($x=0; $x<$nb_parent; $x++)
+ {
+
$aRelatedAction[]=$this->db->get_row($sql_related_action,
[$aParent[$x]['aga_least']]);
+
$aChild=$followup->get_children($aParent[$x]['aga_least']);
+ $nb_child=count($aChild);
+ for ($y=0; $y<$nb_child; $y++)
+ {
+
$aRelatedAction[]=$this->db->get_row($sql_related_action,
+ [$aChild[$y]['aga_greatest']]);
+ }
}
-
}
-
- }
- $description="";
- if (count ($aRelatedAction) > $counter_related_action ) {
- $description = sprintf("docid %s %s %s %s %s %s %s",
- $aRelatedAction[$counter_related_action]['ag_id'],
- $aRelatedAction[$counter_related_action]['ag_ref'],
-
$aRelatedAction[$counter_related_action]['strdate'],
- $aRelatedAction[$counter_related_action]['qcode'],
-
$aRelatedAction[$counter_related_action]['card_fname'],
-
$aRelatedAction[$counter_related_action]['card_name'],
-
$aRelatedAction[$counter_related_action]['ag_title']
- );
-
- $counter_related_action++;
+ $description="";
+ if (count($aRelatedAction)>$counter_related_action)
+ {
+ $description=sprintf("docid %s %s %s %s %s %s %s",
+
$aRelatedAction[$counter_related_action]['ag_id'],
+
$aRelatedAction[$counter_related_action]['ag_ref'],
+
$aRelatedAction[$counter_related_action]['strdate'],
+
$aRelatedAction[$counter_related_action]['qcode'],
+
$aRelatedAction[$counter_related_action]['card_fname'],
+
$aRelatedAction[$counter_related_action]['card_name'],
+
$aRelatedAction[$counter_related_action]['ag_title']
+ );
+
+ $counter_related_action++;
+ }
+ return $description;
}
- return $description;
- }
- return "";
- break;
-
- // Concerned operation, use a counter to move to the next one, only
for Follow-Up
- //
- case 'CONCERNED_OPERATION':
- if ( isset($p_array['ag_id'])) {
- // Static value, if null the retrieve all of them
- if ( $aRelatedOperation == NULL ) {
- // retrieve comments
- $aRelatedOperation=$this->db->get_array("select ago_id,
+ return "";
+ break;
+
+ // Concerned operation, use a counter to move to the next one,
only for Follow-Up
+ //
+ case 'CONCERNED_OPERATION':
+ if (isset($p_array['ag_id']))
+ {
+ // Static value, if null the retrieve all of them
+ if ($aRelatedOperation==NULL)
+ {
+ // retrieve comments
+ $aRelatedOperation=$this->db->get_array("select ago_id,
j.jr_id,
j.jr_internal,
j.jr_comment,
@@ -1308,30 +1396,33 @@ class Document
from jrn as j
join action_gestion_operation as ago on
(j.jr_id=ago.jr_id)
where ag_id=$1 order by jr_date,jr_id"
- ,[$p_array['ag_id']]);
- }
- $description="";
- if (count ($aRelatedOperation) > $counter_related_operation) {
- $description.= sprintf('%s %s %s %s ',
-
$aRelatedOperation[$counter_related_operation]['str_date'],
-
$aRelatedOperation[$counter_related_operation]['jr_internal'],
-
$aRelatedOperation[$counter_related_operation]['jr_comment'],
-
$aRelatedOperation[$counter_related_operation]['jr_pj_number']
- );
- $counter_related_operation++;
+ , [$p_array['ag_id']]);
+ }
+ $description="";
+ if (count($aRelatedOperation)>$counter_related_operation)
+ {
+ $description.=sprintf('%s %s %s %s ',
+
$aRelatedOperation[$counter_related_operation]['str_date'],
+
$aRelatedOperation[$counter_related_operation]['jr_internal'],
+
$aRelatedOperation[$counter_related_operation]['jr_comment'],
+
$aRelatedOperation[$counter_related_operation]['jr_pj_number']
+ );
+ $counter_related_operation++;
+ }
+ return $description;
}
- return $description;
- }
- return "";
- break;
- // Other card, use a counter to move to the next one, only for
Follow-Up
- //
- case 'OTHER_CARDS':
- if ( isset($p_array['ag_id'])) {
- // Static value, if null the retrieve all of them
- if ( $aOtherCard == NULL ) {
- // retrieve comments
- $aOtherCard=$this->db->get_array("
+ return "";
+ break;
+ // Other card, use a counter to move to the next one, only for
Follow-Up
+ //
+ case 'OTHER_CARDS':
+ if (isset($p_array['ag_id']))
+ {
+ // Static value, if null the retrieve all of them
+ if ($aOtherCard==NULL)
+ {
+ // retrieve comments
+ $aOtherCard=$this->db->get_array("
select
(select ad_value from fiche_detail where f_id =
ap.f_id and ad_id = 1) as cname,
(select ad_value from fiche_detail where f_id =
ap.f_id and ad_id = 32) as cfname,
@@ -1342,179 +1433,192 @@ class Document
from action_person ap
where ag_id=$1
"
- ,[$p_array['ag_id']]);
- }
- $description="";
- if (count ($aOtherCard) > $counter_other_card ) {
- $description.= sprintf('%s %s %s %s %s %s ',
- $aOtherCard[$counter_other_card]['cname'],
- $aOtherCard[$counter_other_card]['cfname'],
- $aOtherCard[$counter_other_card]['qcode'],
- $aOtherCard[$counter_other_card]['email'],
- $aOtherCard[$counter_other_card]['phone'],
- $aOtherCard[$counter_other_card]['mobile']);
- $counter_other_card++;
+ , [$p_array['ag_id']]);
+ }
+ $description="";
+ if (count($aOtherCard)>$counter_other_card)
+ {
+ $description.=sprintf('%s %s %s %s %s %s ',
$aOtherCard[$counter_other_card]['cname'],
+ $aOtherCard[$counter_other_card]['cfname'],
$aOtherCard[$counter_other_card]['qcode'],
+ $aOtherCard[$counter_other_card]['email'],
$aOtherCard[$counter_other_card]['phone'],
+ $aOtherCard[$counter_other_card]['mobile']);
+ $counter_other_card++;
+ }
+ return $description;
}
- return $description;
- }
- return "";
- break;
- // Attachment , use a counter to move to the next one, only for
Follow-Up
- //
- case 'ATTACHED_FILES':
- if ( isset($p_array['ag_id'])) {
- // Static value, if null the retrieve all of them
- if ( $aFileAttached == NULL ) {
- // retrieve comments
- $aFileAttached=$this->db->get_array("
+ return "";
+ break;
+ // Attachment , use a counter to move to the next one, only for
Follow-Up
+ //
+ case 'ATTACHED_FILES':
+ if (isset($p_array['ag_id']))
+ {
+ // Static value, if null the retrieve all of them
+ if ($aFileAttached==NULL)
+ {
+ // retrieve comments
+ $aFileAttached=$this->db->get_array("
select d_filename,d_description from document d where
ag_id=$1
"
- ,[$p_array['ag_id']]);
- }
- $nb_comment=count($aFileAttached);
- $description="";
- if (count ($aFileAttached) > $counter_file) {
- $description.= sprintf("%s %s ",
- $aFileAttached[$counter_file]['d_filename'],
- $aFileAttached [$counter_file]['d_description']);
- $counter_file++;
+ , [$p_array['ag_id']]);
+ }
+ $nb_comment=count($aFileAttached);
+ $description="";
+ if (count($aFileAttached)>$counter_file)
+ {
+ $description.=sprintf("%s %s ",
$aFileAttached[$counter_file]['d_filename'],
+ $aFileAttached
[$counter_file]['d_description']);
+ $counter_file++;
+ }
+ return $description;
}
- return $description;
- }
- return "";
- break;
- // Tag , use a counter to move to the next one
- case 'TAGS':
- if ( isset($p_array['ag_id'])) {
- // Static value, if null the retrieve all of them
- if ( $aTag == NULL ) {
- // retrieve comments
- $aTag=$this->db->get_array("
+ return "";
+ break;
+ // Tag , use a counter to move to the next one
+ case 'TAGS':
+ if (isset($p_array['ag_id']))
+ {
+ // Static value, if null the retrieve all of them
+ if ($aTag==NULL)
+ {
+ // retrieve comments
+ $aTag=$this->db->get_array("
select t_tag from action_tags at2 join tags t
using(t_id) where ag_id=$1 order by upper(t_tag)
"
- ,[$p_array['ag_id']]);
+ , [$p_array['ag_id']]);
+ }
+ $description="";
+ if (count($aTag)>$counter_tag)
+ {
+ $description.=sprintf("%s ", $aTag
[$counter_tag]['t_tag']);
+ $counter_tag++;
+ }
+ return $description;
}
- $description="";
- if (count ($aTag) > $counter_tag) {
- $description.= sprintf("%s ",
- $aTag [$counter_tag]['t_tag']);
- $counter_tag++;
+
+ return "";
+ break;
+ case 'COMM_PAYMENT':
+ if (isset($p_array["e_comm_paiement"]))
+ {
+ return $p_array["e_comm_paiement"];
}
- return $description;
- }
- return "";
- break;
- case 'COMM_PAYMENT':
- if ( isset($p_array["e_comm_paiement"])) {
- return $p_array["e_comm_paiement"];
- } else return "";
-
- // priority of the follow up document
+ else
+ {
+ return "";
+ }
+
+ // priority of the follow up document
case 'PRIORITY':
- if ( isset($p_array['ag_priority'])) {
-
$aPriority=array(1=>_("Haute"),2=>_("Normale"),3=>_("Basse"));
+ if (isset($p_array['ag_priority']))
+ {
+ $aPriority=array(1=>_("Haute"), 2=>_("Normale"),
3=>_("Basse"));
return $aPriority[$p_array["ag_priority"]];
}
return "";
- // Priority of the follow up document
+ // Priority of the follow up document
case 'GROUPMGT':
- if ( isset($p_array['ag_dest'])) {
- $profile=$this->db->get_value("select p_name from profile
where p_id=$1",array($p_array['ag_dest']));
- return $profile;
+ if (isset($p_array['ag_dest']))
+ {
+ $profile=$this->db->get_value("select p_name from profile
where p_id=$1", array($p_array['ag_dest']));
+ return $profile;
}
return "";
- // Hour in the follow up document
+ // Hour in the follow up document
case 'HOUR':
- if ( isset($p_array['ag_hour'])) {
+ if (isset($p_array['ag_hour']))
+ {
return $p_array["ag_hour"];
}
return "";
- // State in the follow up document
+ // State in the follow up document
case 'STATUS':
- if ( isset($p_array['ag_state'])) {
+ if (isset($p_array['ag_state']))
+ {
$status=$this->db->get_value("
- select s_value from document_state where
s_id=$1",array($p_array['ag_state']));
- return $status;
+ select s_value from document_state where s_id=$1",
array($p_array['ag_state']));
+ return $status;
}
return "";
- // type of document
+ // type of document
case 'DOCUMENT_TYPE':
$ret="";
- if ( isset($p_array['ag_id'])){
+ if (isset($p_array['ag_id']))
+ {
$ret=$this->db->get_value("select dt_value
from action_gestion
join document_type dt on
(ag_type=dt.dt_id)
- where ag_id=$1",array($p_array["ag_id"]));
+ where ag_id=$1", array($p_array["ag_id"]));
}
return $ret;
-
-
- } // end switch
+ } // end switch
/*
* retrieve the value of ATTR for e_march
*/
- if (preg_match('/^ATTR/', $p_tag) == 1)
+ if (preg_match('/^ATTR/', $p_tag)==1)
{
$r="";
// Retrieve f_id
- if ( isset ($p_array['e_march'.$this->counter]))
+ if (isset($p_array['e_march'.$this->counter]))
{
- $id = $p_array['e_march' . $this->counter];
- $r=$this->replace_special_tag($id,$p_tag);
+ $id=$p_array['e_march'.$this->counter];
+ $r=$this->replace_special_tag($id, $p_tag);
}
}
/*
* retrieve the value of ATTR for e_march
*/
- if (preg_match('/^BENEFATTR/', $p_tag) == 1)
+ if (preg_match('/^BENEFATTR/', $p_tag)==1)
{
$r="";
$qcode=isset($p_array['qcode_benef'])?$p_array['qcode_benef']:'';
// Retrieve f_id
- $r=$this->replace_special_tag($qcode,$p_tag);
+ $r=$this->replace_special_tag($qcode, $p_tag);
}
- if (preg_match('/^CUSTATTR/', $p_tag) == 1)
+ if (preg_match('/^CUSTATTR/', $p_tag)==1)
{
$r="";
- if ( isset($p_array['qcode_dest']) || isset($p_array['e_client']) )
+ if (isset($p_array['qcode_dest'])||isset($p_array['e_client']))
{
$qcode=(isset($p_array['qcode_dest']))?$p_array['qcode_dest']:$p_array['e_client'];
- $r=$this->replace_special_tag($qcode,$p_tag);
+ $r=$this->replace_special_tag($qcode, $p_tag);
}
}
return $r;
}
- /*!\brief remove a row from the table document, the lob object is not
deleted
+
+ /* !\brief remove a row from the table document, the lob object is not
deleted
* because can be linked elsewhere
*/
+
function remove()
{
- $d_lob=$this->db->get_value('select d_lob from document where d_id=$1',
- array($this->d_id));
+ $d_lob=$this->db->get_value('select d_lob from document where
d_id=$1', array($this->d_id));
$sql='delete from document where d_id='.$this->d_id;
$this->db->exec_sql($sql);
- if ( $d_lob != 0 )
+ if ($d_lob!=0)
$this->db->lo_unlink($d_lob);
}
- /*!\brief Move a document from the table document into the concerned row
+
+ /* !\brief Move a document from the table document into the concerned row
* the document is not copied : it is only a link
*
* \param $p_internal internal code
*
*/
- function MoveDocumentPj($p_internal)
+
+ function moveDocumentPj($p_internal)
{
$sql="update jrn set jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where
jr_internal=$4";
-
$this->db->exec_sql($sql,array($this->d_lob,$this->d_filename,$this->d_mimetype,$p_internal));
+ $this->db->exec_sql($sql, array($this->d_lob, $this->d_filename,
$this->d_mimetype, $p_internal));
// clean the table document
$sql='delete from document where d_id='.$this->d_id;
$this->db->exec_sql($sql);
-
-
}
+
/**
- *Replace a special tag *TAGxxxx with the value from fiche_detail, the xxxx
+ * replace a special tag *TAGxxxx with the value from fiche_detail, the
xxxx
* is the ad_value
* @param $p_qcode qcode of the card
* @param $p_tag tag to parse
@@ -1524,84 +1628,85 @@ class Document
function replace_special_tag($p_qcode, $p_tag)
{
// check if the march exists
- if ($p_qcode == "")
- return "";
+ if ($p_qcode=="") return "";
- $f = new Fiche($this->db);
- $found = $f->get_by_qcode($p_qcode, false);
+ $f=new Fiche($this->db);
+ $found=$f->get_by_qcode($p_qcode, false);
// if not found exit
- if ($found == 1)
- return "";
+ if ($found==1) return "";
// get the ad_id
- $attr=preg_replace("/^.*ATTR/","",$p_tag);
+ $attr=preg_replace("/^.*ATTR/", "", $p_tag);
- if (isNumber($attr) == 0) return "";
- $ad_type=$this->db->get_value("select ad_type from attr_def where
ad_id=$1",array($attr));
+ if (isNumber($attr)==0) return "";
+
+ $ad_type=$this->db->get_value("select ad_type from attr_def where
ad_id=$1", array($attr));
// get ad_value
- $ad_value=$this->db->get_value("select ad_value from fiche_detail
where f_id=$1 and ad_id=$2",array($f->id,$attr));
+ $ad_value=$this->db->get_value("select ad_value from fiche_detail
where f_id=$1 and ad_id=$2",
+ array($f->id, $attr));
// if ad_id is type select execute select and get value
- if ( $ad_type=="select")
+ if ($ad_type=="select")
{
- $sql=$this->db->get_value("select ad_extra from attr_def where
ad_id=$1",array($attr));
- $array= $this->db->make_array($sql);
- for ($a=0;$a<count ($array);$a++)
+ $sql=$this->db->get_value("select ad_extra from attr_def where
ad_id=$1", array($attr));
+ $array=$this->db->make_array($sql);
+ for ($a=0; $a<count($array); $a++)
{
if ($array[$a]['value']==$ad_value)
return $array[$a]['label'];
}
-
}
// if ad_id is not type select get value
return $ad_value;
}
- function update_description ($p_desc)
+
+ function update_description($p_desc)
{
- $this->db->exec_sql('update document set d_description = $1 where
d_id=$2',
- array($p_desc,$this->d_id));
+ $this->db->exec_sql('update document set d_description = $1 where
d_id=$2', array($p_desc, $this->d_id));
}
+
/**
- * Replace a pattern with a value in the buffer , handle the change for
OOo type file and amount
+ * replace a pattern with a value in the buffer , handle the change for
OOo type file and amount
*
* @param string $p_buffer
* @param string $_pattern
* @param mixed $p_value
*/
- static function replace_value($p_buffer, $p_pattern,
$p_value,$p_limit=-1,$p_type='OOo')
+ static function replace_value($p_buffer, $p_pattern, $p_value,
$p_limit=-1, $p_type='OOo')
{
$check=$p_pattern;
- $check=str_replace(['<','>','<','>','='], "", $check);
- if ( preg_replace('/[^[:alnum:]^_]/', '', $check) != $check)
+ $check=str_replace(['<', '>', '<', '>', '='], "", $check);
+ if (preg_replace('/[^[:alnum:]^_]/', '', $check)!=$check)
{
throw new Exception(sprintf(_("chaine à remplacer [%s] contient un
caractère interdit"), $p_pattern));
}
$count=0;
- if (is_numeric($p_value) && $p_type == 'OOo')
+ if (is_numeric($p_value)&&$p_type=='OOo')
{
/* -- works only with OOo Calc -- */
$searched='/office:value-type="string"><text:p>'.$p_pattern.'/i';
$replaced='office:value-type="float"
office:value="'.$p_value.'"><text:p>'.$p_value;
- $p_buffer=preg_replace($searched, $replaced,
$p_buffer,$p_limit,$count);
- if ( $count == 0) {
- /* -- work with libreOffice > 5 -- */
+ $p_buffer=preg_replace($searched, $replaced, $p_buffer, $p_limit,
$count);
+ if ($count==0)
+ {
+ /* -- work with libreOffice > 5 -- */
$searched='/office:value-type="string"
calcext:value-type="string"><text:p>(<text:s\/>)*'.$p_pattern.'/i';
$replaced='office:value-type="float"
office:value="'.$p_value.'" calcext:value-type="float"><text:p>'.$p_value;
- $p_buffer=preg_replace($searched, $replaced,
$p_buffer,$p_limit,$count);
+ $p_buffer=preg_replace($searched, $replaced, $p_buffer,
$p_limit, $count);
}
}
- if ($count == 0)
+ if ($count==0)
{
- if ( $p_type=='OOo' )
+ if ($p_type=='OOo')
{
- $p_value=str_replace('&','&',$p_value);
- $p_value=str_replace('<','<',$p_value);
- $p_value=str_replace('>','>',$p_value);
- $p_value=str_replace('"','"',$p_value);
- $p_value=str_replace("'",''',$p_value);
+ $p_value=str_replace('&', '&', $p_value);
+ $p_value=str_replace('<', '<', $p_value);
+ $p_value=str_replace('>', '>', $p_value);
+ $p_value=str_replace('"', '"', $p_value);
+ $p_value=str_replace("'", ''', $p_value);
}
- $p_buffer=preg_replace('/'.$p_pattern.'/i', $p_value,
$p_buffer,$p_limit);
+ $p_buffer=preg_replace('/'.$p_pattern.'/i', $p_value, $p_buffer,
$p_limit);
}
return $p_buffer;
}
diff --git a/include/class/fiche.class.php b/include/class/fiche.class.php
index 631e24c..f2f8a01 100644
--- a/include/class/fiche.class.php
+++ b/include/class/fiche.class.php
@@ -53,14 +53,49 @@ class Fiche
var $fiche_def_ref; /*!< $fiche_def_ref Type */
var $row; /*! < All the row from the ledgers */
var $quick_code; /*!< quick_code of the card */
+ private $f_enable; /*!< if card is enable (fiche.f_enable) */
function __construct($p_cn,$p_id=0)
{
$this->cn=$p_cn;
$this->id=$p_id;
$this->quick_code='';
$this->attribut=array();
+ $f_enable='1';
}
- /**
+ public function get_id()
+ {
+ return $this->id;
+ }
+
+ public function get_fiche_def_ref()
+ {
+ return $this->fiche_def_ref;
+ }
+
+ public function get_f_enable()
+ {
+ return $this->f_enable;
+ }
+
+ public function set_id($id)
+ {
+ $this->id=$id;
+ return $this;
+ }
+
+ public function set_fiche_def_ref($fiche_def_ref)
+ {
+ $this->fiche_def_ref=$fiche_def_ref;
+ return $this;
+ }
+
+ public function set_f_enable($f_enable)
+ {
+ $this->f_enable=$f_enable;
+ return $this;
+ }
+
+ /**
*@brief used with a usort function, to sort an array of Fiche on the name
*/
static function cmp_name(Fiche $o1,Fiche $o2)
@@ -168,6 +203,7 @@ class Fiche
{
$row=Database::fetch_array($Ret,$i);
$this->fiche_def=$row['fd_id'];
+ $this->f_enable=$row['f_enable'];
$t=new Fiche_Attr ($this->cn);
$t->ad_id=$row['ad_id'];
$t->ad_text=$row['ad_text'];
@@ -581,7 +617,7 @@ class Fiche
{
return 'FNT';
}
-
+
/* for each attribute */
foreach ($attr as $r)
{
@@ -749,7 +785,16 @@ class Fiche
}
$ret.="<TR>".td(_($r->ad_text).$bulle,'class="'.$class.'"').td($w->input()."
".$msg)." </TR>";
}
-
+ // Display if the card is enable or not
+ $enable_is=new InputSwitch("f_enable");
+ $enable_is->value=$this->f_enable;
+ $enable_is->readOnly=$p_readonly;
+
+ $ret.=tr(
+ td(_("Actif")).td($enable_is->input())
+ );
+
+
$ret.="</table>";
return $ret;
@@ -801,9 +846,10 @@ class Fiche
try
{
$this->cn->start();
- $sql=sprintf("insert into fiche(f_id,fd_id)".
- " values (%d,%d)", $fiche_id, $p_fiche_def);
- $Ret=$this->cn->exec_sql($sql);
+
+ $Ret=$this->cn->exec_sql("insert into fiche(f_id,f_enable,fd_id)
value ($1,$2,$3)",
+ array($fiche_id, $p_array['f_enable'],$p_fiche_def));
+
// parse the $p_array array
foreach ($p_array as $name=> $value)
{
@@ -961,6 +1007,9 @@ class Fiche
try
{
$this->cn->start();
+
+ $this->cn->exec_sql("update fiche set f_enable=$1 where
f_id=$2",array($p_array['f_enable'],$this->id));
+
// parse the $p_array array
foreach ($p_array as $name=> $value)
{
diff --git a/include/class/follow_up.class.php
b/include/class/follow_up.class.php
index 7a57316..1be5941 100644
--- a/include/class/follow_up.class.php
+++ b/include/class/follow_up.class.php
@@ -596,9 +596,9 @@ class Follow_Up
$act->save();
}
- /* Upload the documents */
+ /* upload the documents */
$doc=new Document($this->db);
- $doc->Upload($this->ag_id);
+ $doc->upload($this->ag_id);
if (trim($this->ag_comment)!='' &&
Document_Option::can_add_comment($this->ag_id))
{
$this->db->exec_sql("insert into action_gestion_comment
(ag_id,tech_user,agc_comment) values ($1,$2,$3)"
@@ -905,9 +905,9 @@ class Follow_Up
$this->ag_ref /* 11 */
));
}
- // Upload documents
+ // upload documents
$doc=new Document($this->db);
- $doc->Upload($this->ag_id);
+ $doc->upload($this->ag_id);
/* save action details */
$http=new HttpInput();
diff --git a/include/class/user.class.php b/include/class/user.class.php
index 2190bb0..3ad5bfe 100644
--- a/include/class/user.class.php
+++ b/include/class/user.class.php
@@ -190,7 +190,8 @@ class User
if ($res == 0)
{
- $cn->exec_sql($sql,
array($_SESSION[SESSION_KEY.'g_user'], $_SERVER["REMOTE_ADDR"], $from,
$_SERVER['REQUEST_URI'], 'FAIL'));
+ $cn->exec_sql($sql,
array($_SESSION[SESSION_KEY.'g_user'], $_SERVER["REMOTE_ADDR"],
+ $from, $_SERVER['REQUEST_URI'], 'FAIL'));
if (!$silent)
{
echo '<script> alert(\''._('Utilisateur ou mot
de passe incorrect').'\')</script>';
@@ -203,7 +204,8 @@ class User
else
{
if ($from == 'LOGIN')
- $cn->exec_sql($sql,
array($_SESSION[SESSION_KEY.'g_user'], $_SERVER["REMOTE_ADDR"], $from,
$_SERVER['REQUEST_URI'], 'SUCCESS'));
+ $cn->exec_sql($sql,
array($_SESSION[SESSION_KEY.'g_user'], $_SERVER["REMOTE_ADDR"], $from,
+ $_SERVER['REQUEST_URI'], 'SUCCESS'));
$this->valid = 1;
}
@@ -249,7 +251,8 @@ class User
if ($priv)
{
// the access is granted
- $jnt=$cn->get_value("select jnt_id from jnt_use_dos where
dos_id=$1 and use_id=$2", array($db_id, $this->id));
+ $jnt=$cn->get_value("select jnt_id from jnt_use_dos where
dos_id=$1 and use_id=$2",
+ array($db_id, $this->id));
if ($cn->size()==0)
{
@@ -312,6 +315,11 @@ class User
function get_ledger($p_type = 'ALL', $p_access = 3,$disable=TRUE)
{
+ $p_type=strtoupper($p_type);
+ if (! in_array($p_type, ["FIN","ALL","ODS","VEN",'ACH'])) {
+ record_log(sprintf("UGL1, p_type %s",$p_type));
+ throw new Exception("UGL1"._("Type incorrecte"));
+ }
if ($disable==TRUE) {
$sql_enable="";
} else {
@@ -419,22 +427,26 @@ class User
function set_periode($p_periode)
{
- $sql = "update user_local_pref set parameter_value='$p_periode'
where user_id='$this->id' and parameter_type='PERIODE'";
- $Res = $this->db->exec_sql($sql);
+ $sql = "update user_local_pref set parameter_value=$1 where
user_id=$2 and parameter_type='PERIODE'";
+ $Res = $this->db->exec_sql($sql,[$p_periode,$this->id]);
}
private function set_default_periode()
{
/* get the first periode */
- $sql = 'select min(p_id) as pid from parm_periode where
p_closed = false and p_start = (select min(p_start) from parm_periode)';
+ $sql = 'select min(p_id) as pid '
+ . ' from parm_periode '
+ . ' where p_closed = false and p_start = (select
min(p_start) from parm_periode)';
$Res = $this->db->exec_sql($sql);
$pid = Database::fetch_result($Res, 0, 0);
/* if all the periode are closed, then we use the last closed
period */
if ($pid == null)
{
- $sql = 'select min(p_id) as pid from parm_periode where
p_start = (select max(p_start) from parm_periode)';
+ $sql = 'select min(p_id) as pid '
+ . 'from parm_periode '
+ . 'where p_start = (select max(p_start) from
parm_periode)';
$Res2 = $this->db->exec_sql($sql);
$pid = Database::fetch_result($Res2, 0, 0);
if ($pid == null)
@@ -532,7 +544,6 @@ class User
* \brief Get the default user's preferences
* \return array of (parameter_type => parameter_value)
*/
-
function get_preference()
{
$sql = "select parameter_type,parameter_value from
user_local_pref where user_id=$1";
@@ -544,7 +555,16 @@ class User
$type = $row['parameter_type'];
$l_array[$type] = $row['parameter_value'];
}
-
+ $repo=new Database();
+ $a_global_pref=$repo->get_array("select
parameter_type,parameter_value from user_global_pref
+ where
+ upper(user_id) =
upper($1)",[$this->login]);
+ $nb_global=count($a_global_pref);
+ for ( $i = 0 ;$i< $nb_global ; $i++) {
+ $idx=$a_global_pref[$i]['parameter_type'];
+ $value=$a_global_pref[$i]['parameter_value'];
+ $l_array[$idx]=$value;
+ }
return $l_array;
}
@@ -601,9 +621,9 @@ class User
}
return 0;
}
- if ($Count == 1)
- return 1;
- echo "<H2 class=\"error\"> Action Invalide !!! $Count select *
from user_sec_act where ua_login='$p_login' and ua_act_id=$p_action_id </H2>";
+ if ($Count == 1) return 1;
+ echo_error(_("Action invalide"));
+ record_log("User:check_action".sprintf("login %s ua_act_id
%s",$this->login,$p_action_id));
exit();
}
@@ -620,7 +640,7 @@ class User
// Load everything in an array
$Res = $cn->exec_sql("select parameter_type,parameter_value from
user_global_pref
- where user_id='" . $this->login . "'");
+ where user_id=$1",[$this->login]);
$Max = Database::num_row($Res);
if ($Max == 0)
{
@@ -635,7 +655,6 @@ class User
$row = Database::fetch_array($Res, $i);
$type = $row['parameter_type'];
$line[$type] = $row['parameter_value'];
- ;
}
// save array into g_ variable
$array_pref = array('g_theme' => 'THEME',
@@ -756,18 +775,17 @@ class User
$this->audit('FAIL');
if ($p_js == 1)
{
- echo "<script>";
- echo "alert ('Cette action ne vous est pas
autorisée. Contactez votre responsable');";
- echo "</script>";
+ echo create_script("alert_box(content[59])");
}
elseif ($p_js == 2) {
record_log(_("Access invalid").$p_action);
}
else
{
- echo '<div class="redcontent">';
- echo '<h2 class="error"> Cette action ne vous
est pas autorisée Contactez votre responsable</h2>';
- echo '</div>';
+ echo '<h2 class="error">',
+ htmlspecialchars(_("Cette action ne vous est pas
autorisée Contactez votre responsable")),
+ '</h2>';
+ echo '</div>';
}
exit(-1);
}
@@ -797,7 +815,6 @@ class User
* \param $p_action requested action
* \return nothing the program exits automatically
*/
-
function can_print($p_action, $p_js = 0)
{
if ($this->check_print($p_action) == 0)
@@ -805,15 +822,15 @@ class User
$this->audit('FAIL');
if ($p_js == 1)
{
- echo "<script>";
- echo "alert ('Cette action ne vous est pas
autorisée. Contactez votre responsable');";
- echo "</script>";
+ echo create_script("alert_box(content[59])");
}
else
{
- echo '<div class="redcontent">';
- echo '<h2 class="error"> Cette action ne vous
est pas autorisée Contactez votre responsable</h2>';
- echo '</div>';
+ echo '<div class="redcontent">';
+ echo '<h2 class="error">',
+ htmlspecialchars(_("Cette action ne vous est pas
autorisée Contactez votre responsable")),
+ '</h2>';
+ echo '</div>';
}
exit(-1);
}
diff --git a/include/company.inc.php b/include/company.inc.php
index 2bd6ae2..0f585a4 100644
--- a/include/company.inc.php
+++ b/include/company.inc.php
@@ -50,7 +50,7 @@ if (isset($_POST['record_company']))
$m->MY_STOCK =$http->post("p_stock");
$m->MY_ANC_FILTER=$http->post("p_anc_filter");
try {
- $m->Update();
+ $m->update();
} catch (Exception $e) {
alert($e->getMessage());
}
diff --git a/include/export/export_document.php
b/include/export/export_document.php
index fcc6ecb..1fd7d71 100644
--- a/include/export/export_document.php
+++ b/include/export/export_document.php
@@ -45,7 +45,7 @@ if ($action == 'sh')
$d_id=$http->request('d_id',"number");
// retrieve the document
$doc = new Document($cn, $d_id);
- $doc->Send();
+ $doc->send();
}
}
/* remove the document */
diff --git a/include/lib/sort_table.class.php b/include/lib/sort_table.class.php
index 6cbfcaa..f981284 100644
--- a/include/lib/sort_table.class.php
+++ b/include/lib/sort_table.class.php
@@ -68,7 +68,7 @@ class Sort_Table
{
if ($p_ind < 0 || $p_ind > $this->nb)
return 'ERREUR TRI';
- $file = str_replace('extension.php', '', $_SERVER['SCRIPT_FILENAME']);
+ $file = str_replace('extension.php', '', $_SERVER['PHP_SELF']);
$base = $this->array[$p_ind]['url'];
$str = '';
diff --git a/include/lib/user_common.php b/include/lib/user_common.php
index 5a2be36..9b05639 100644
--- a/include/lib/user_common.php
+++ b/include/lib/user_common.php
@@ -115,7 +115,7 @@ function
navigation_bar($p_offset,$p_line,$p_size=0,$p_page=1,$p_javascript="")
$step=$p_size;
$offset=($e-1)*$step;
- $r='<A class="mtitle"
href="'.basename($_SERVER['SCRIPT_FILENAME'])."?".$url."&offset=$offset&step=$step&page=$e&size=$step".'"
'.$p_javascript.'>';
+ $r='<A class="mtitle"
href="'.basename($_SERVER['PHP_SELF'])."?".$url."&offset=$offset&step=$step&page=$e&size=$step".'"
'.$p_javascript.'>';
$r.=" ←";
// $r.='<INPUT TYPE="IMAGE" width="12" SRC="image/go-previous.png">';
$r.="</A> ";
@@ -181,35 +181,6 @@ function CleanUrl()
{
// Compute the url
$url=http_build_query($_GET);
- /* $get=$_GET;
- if ( isset ($get) )
- {
- foreach ($get as $name=>$value )
- {
- // we clean the parameter offset, step, page and size
- if ( !
in_array($name,array('offset','step','page','size','s','o','r_jrn')))
- {
- if (is_array($name)) {
-
- } else {
- $url.=$and.$name."=".$value;
- }
- $and="&";
- }// if
- }//foreach
- if ( isset($_GET['r_jrn']))
- {
- $r_jrn=$_GET['r_jrn'];
- if (count($r_jrn) > 0 )
- {
- foreach ($r_jrn as $key=>$value)
- {
- $url.=$and."r_jrn[$key]=".$value;
- $and="&";
- }
- }
- }
- }// if*/
return $url;
}
function redirect($p_string,$p_time=0)
@@ -219,7 +190,8 @@ function redirect($p_string,$p_time=0)
}
echo '<HTML><head><META HTTP-EQUIV="REFRESH" content="'.$p_time.';
url='.$p_string.'"></head><body> Connecting... </body></html>';
}
-/*!\brief remove the useless space, change comma by period and try to return
+/*!
+ * \brief remove the useless space, change comma by period and try to return
* a number
*\param $p_num number to format
*\return the formatted number
diff --git a/include/template/menu.php b/include/template/menu.php
index 5c46026..ab2c2b8 100644
--- a/include/template/menu.php
+++ b/include/template/menu.php
@@ -1,25 +1,31 @@
<?php
//This file is part of NOALYSS and is under GPL
//see licence.txt
+
?><div class="<?php echo $style_menu; ?>">
- <?php if ( count($amenu) > 4 && $level == 0) :
+ <?php if ( count($amenu) > 4 && $level == 0) {
$style ='style= "width:100%"';
- elseif ($level==0):
-switch (count($amenu))
-{
-case 4:
-case 3:
- $width=count($amenu)*20;
- $left=round((100-$width)/2);
-$style="style=\"width:$width%;margin-left:$left%\"";
-break;
-default:
-$style="";
+ }
+ elseif ($level==0){
+ $http=new HttpInput();
+ $access_code=$http->request("ac");
+ switch (count($amenu))
+ {
+ case 4:
+ case 3:
+ $width=count($amenu)*20;
+ $left=round((100-$width)/2);
+ $style="style=\"width:$width%;margin-left:$left%\"";
+ break;
+ default:
+ $style="";
+ }
+
}
- else:
+ else {
$style=" class=\"mtitle\"";
- endif;?>
+ }?>
<table <?php echo $style?> >
@@ -28,55 +34,57 @@ $style="";
global $g_user;
// Display the menu
for($i=0;$i < count($amenu);$i++):
- if ( (count($amenu)==1)):
+ if ( (count($amenu)==1)) {
$class="selectedcell";
?>
<td class="<?php echo $class?>">
- <a class="mtitle" href="do.php?gDossier=<?php echo
Dossier::id()?>&ac=<?php echo $_REQUEST['ac']?>" title="<?php echo
h(gettext($amenu[$i]['me_description']))?>" >
+ <a class="mtitle" href="do.php?gDossier=<?php echo
Dossier::id()?>&ac=<?php echo $access_code?>" title="<?php echo
h(gettext($amenu[$i]['me_description']))?>" >
<?php echo gettext($amenu[$i]['me_menu'])?>
</a>
</td>
<?php
- else:
- $class="mtitle";
- $js="";
-
- if ( $amenu[$i]['me_url']!='')
- {
- $url=$amenu[$i]['me_url'];
- }
- elseif ($amenu[$i]['me_javascript'] != '')
- {
- $url="javascript:void(0)";
- $js=sprintf('
onclick="%s"',$amenu[$i]['me_javascript']);
- }
- else
- {
- $a_request=explode('/', $_REQUEST['ac']);
- if ( $level == 0) {
- $url=$a_request[0];
-
- if (count($a_request) > 1 &&
- $url.'/'.$amenu[$i]['me_code'] ==
$a_request[0].'/'.$a_request[1])
- $class="selectedcell";
- } elseif ($level == 1)
+ }
+ else {
+ $class="mtitle";
+ $js="";
+
+ if ( $amenu[$i]['me_url']!='')
{
- $url=$a_request[0].'/'.$a_request[1];
+ $url=$amenu[$i]['me_url'];
}
- $url.='/'.$amenu[$i]['me_code'];
- if ($url == $_REQUEST['ac']) $class="selectedcell";
- $url="do.php?gDossier=".Dossier::id()."&ac=".$url;
- }
+ elseif ($amenu[$i]['me_javascript'] != '')
+ {
+ $url="javascript:void(0)";
+ $js=sprintf('
onclick="%s"',$amenu[$i]['me_javascript']);
+ }
+ else
+ {
+ $a_request=explode('/', $access_code);
+ if ( $level == 0) {
+ $url=$a_request[0];
-?> <td class="<?php echo $class?>">
- <a class="mtitle" href="<?php echo $url;?>" <?php echo $js?>
title="<?php echo h(gettext($amenu[$i]['me_description']))?>">
- <?php echo gettext($amenu[$i]['me_menu'])?>
- </a>
- </td>
+ if (count($a_request) > 1 &&
+ $url.'/'.$amenu[$i]['me_code'] ==
$a_request[0].'/'.$a_request[1])
+ $class="selectedcell";
+ } elseif ($level == 1)
+ {
+ $url=$a_request[0].'/'.$a_request[1];
+ }
+ $url.='/'.$amenu[$i]['me_code'];
+ if ($url == $access_code ) $class="selectedcell";
+ $url="do.php?gDossier=".Dossier::id()."&ac=".$url;
+ }
+
+?>
+<td class="<?php echo $class?>">
+ <a class="mtitle" href="<?php echo $url;?>" <?php echo $js?> title="<?php
echo h(gettext($amenu[$i]['me_description']))?>">
+ <?php echo gettext($amenu[$i]['me_menu'])?>
+ </a>
+</td>
<?php
-endif;
+ } // end elseif ($level==0)
?>
<?php
- [Noalyss-commit] [noalyss] branch master updated (a723604 -> 9e40622), Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 02/12: SQL : improve vw_fiche_attr with index, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 03/12: Task #0001869: Session key : clef de session, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 01/12: Export GL PDF : no row found for an accounting, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 04/12: Bug : if all the quantity are NULL, then we have only one row in jrn, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 05/12: Generate document : DESCRIPTION for invoice (e_comm), Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 08/12: code cleaning and replace $_SERVER['SCRIPT_FILENAME'] by $_SERVER['PHP_SELF'] SCRIPT_FILENAME in a FPM environment is the CGI script,
Dany De Bontridder <=
- [Noalyss-commit] [noalyss] 09/12: Card : attribute 54 is now a column for each card, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 10/12: javascript message , use function htmlspecialchar instead of escape_xml, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 06/12: Bug : DESCRIPTION tag, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 12/12: Tache #1844 Menu : ouverture menu par défaut, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 11/12: Correct bug #0001882: predefined operation ODS not visible, Dany De Bontridder, 2021/01/15
- [Noalyss-commit] [noalyss] 07/12: Card : attribute 54 is now a column for each card, Dany De Bontridder, 2021/01/15