noalyss-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Noalyss-commit] [noalyss] 05/05: Task #1231 - Cohérence listes CSV Jou


From: Dany De Bontridder
Subject: [Noalyss-commit] [noalyss] 05/05: Task #1231 - Cohérence listes CSV Journaux #1231 Rewrite code for export CSV for ANC part
Date: Wed, 02 Dec 2015 14:20:04 +0000

sparkyx pushed a commit to branch master
in repository noalyss.

commit df17810deccdf034e349b9332c2af6a9d9cb6d7f
Author: Dany De Bontridder <address@hidden>
Date:   Wed Dec 2 15:13:17 2015 +0100

    Task #1231 - Cohérence listes CSV Journaux
    #1231 Rewrite code for export CSV for ANC part
---
 include/class/class_anc_acc_list.php             |   70 ++++++++++---------
 include/class/class_anc_balance_double.php       |   36 +++++-----
 include/class/class_anc_balance_simple.php       |   21 +++---
 include/class/class_anc_group.php                |   19 +++---
 include/class/class_anc_listing.php              |   25 ++++---
 include/class/class_anc_table.php                |   43 +++++++-----
 include/export/export_anc_acc_list_csv.php       |    5 +-
 include/export/export_anc_balance_double_csv.php |    6 +-
 include/export/export_anc_balance_group_csv.php  |    5 +-
 include/export/export_anc_balance_simple_csv.php |    4 +-
 include/export/export_anc_list_csv.php           |    5 +-
 include/export/export_anc_table_csv.php          |    5 +-
 include/lib/ac_common.php                        |    1 +
 include/lib/class_noalyss_csv.php                |   79 +++++++++++++++++-----
 14 files changed, 185 insertions(+), 139 deletions(-)

diff --git a/include/class/class_anc_acc_list.php 
b/include/class/class_anc_acc_list.php
index c08b005..25ca3f7 100644
--- a/include/class/class_anc_acc_list.php
+++ b/include/class/class_anc_acc_list.php
@@ -427,11 +427,12 @@ END) <> 0::numeric order by 
name,po_name",array($this->pa_id));
   function export_csv()
   {
    bcscale(2);
+   $csv=new Noalyss_CSV('export-anc-list');
+   $csv->send_header();
    if ( $this->check () != 0 ) {throw new Exception (_("date invalide"));}
       
//---------------------------------------------------------------------------
     // Card  - Acc
     
//---------------------------------------------------------------------------
-
     if ( $this->card_poste=='1')
       {
        $this->load_card();
@@ -441,19 +442,22 @@ END) <> 0::numeric order by 
name,po_name",array($this->pa_id));
         */
        $prev='';
 
-
        for ($i=0;$i<count($this->arow);$i++)
          {
-           printf('"%s";" %s"', 
$this->arow[$i]['j_qcode'],$this->arow[$i]['name']);
+            $idx=0;
+            $a_csv=array();
+            
+            $a_csv[$idx]=$this->arow[$i]['j_qcode']; $idx++;
+            $a_csv[$idx]=$this->arow[$i]['name'];$idx++;
+            $a_csv[$idx]=$this->arow[$i]['name'];$idx++;
+            $a_csv[$idx]=$this->arow[$i]['po_name'];$idx++;
+            $a_csv[$idx]=$this->arow[$i]['po_description'];$idx++;
 
            $amount=$this->arow[$i]['sum_amount'];
-           if ($amount==null)$amount=0;
-
-           printf(';"%s";" %s";',
-                  $this->arow[$i]['po_name'],
-                  $this->arow[$i]['po_description']);
-           printf("%s",nb($amount));
-           printf("\r\n");
+            if ($amount==null)$amount=0;
+            $a_csv[$idx]=$amount;$idx++;
+            
+            $csv->write_header($a_csv);
          }
       }
     
//---------------------------------------------------------------------------
@@ -468,16 +472,16 @@ END) <> 0::numeric order by 
name,po_name",array($this->pa_id));
         */
        for ($i=0;$i<count($this->arow);$i++)
          {
-           printf('"%s";" %s"', 
$this->arow[$i]['j_poste'],$this->arow[$i]['name']);
-
-           $amount=$this->arow[$i]['sum_amount'];
+            $csv->add( $this->arow[$i]['j_poste']);
+            $csv->add( $this->arow[$i]['name']);
+            $csv->add( $this->arow[$i]['po_name']);
+            $csv->add( $this->arow[$i]['po_description']);
+            
+            $amount=$this->arow[$i]['sum_amount'];
            if ($amount==null)$amount=0;
-
-           printf(';"%s";" %s";',
-                  $this->arow[$i]['po_name'],
-                  $this->arow[$i]['po_description']);
-           printf("%s",nb($amount));
-           printf("\r\n");
+            $csv->add($amount,"number");
+            
+            $csv->write();
 
 
          }
@@ -494,16 +498,18 @@ END) <> 0::numeric order by 
name,po_name",array($this->pa_id));
         */
        for ($i=0;$i<count($this->arow);$i++)
          {
-           printf('"%s";" %s";', 
$this->arow[$i]['po_name'],$this->arow[$i]['po_description']);
+            $csv->add( $this->arow[$i]['po_name']);
+            $csv->add( $this->arow[$i]['po_description']);
+            $csv->add( $this->arow[$i]['j_qcode']);
+            $csv->add( $this->arow[$i]['name']);
 
            $amount=$this->arow[$i]['sum_amount'];
            if ($amount==null)$amount=0;
 
-           printf('"%s";"%s";',
-                  $this->arow[$i]['j_qcode'],
-                  $this->arow[$i]['name']);
-           printf("%s",nb($amount));
-           printf("\r\n");
+            $csv->add($amount,"number");
+            
+            $csv->write();
+
 
 
          }
@@ -522,17 +528,17 @@ END) <> 0::numeric order by 
name,po_name",array($this->pa_id));
         */
        for ($i=0;$i<count($this->arow);$i++)
          {
-           printf('"%s";"%s";', 
$this->arow[$i]['po_name'],$this->arow[$i]['po_description']);
+            $csv->add( $this->arow[$i]['po_name']);
+            $csv->add( $this->arow[$i]['po_description']);
+            $csv->add( $this->arow[$i]['j_poste']);
+            $csv->add( $this->arow[$i]['name']);
 
            $amount=$this->arow[$i]['sum_amount'];
            if ($amount==null)$amount=0;
 
-           printf('"%s";"%s";',
-                  $this->arow[$i]['j_poste'],
-                  $this->arow[$i]['name']);
-           printf("%s",nb($amount));
-           printf("\r\n");
-
+            $csv->add($amount,"number");
+            
+            $csv->write();
 
          }
       }
diff --git a/include/class/class_anc_balance_double.php 
b/include/class/class_anc_balance_double.php
index c799d8d..3da5286 100644
--- a/include/class/class_anc_balance_double.php
+++ b/include/class/class_anc_balance_double.php
@@ -272,16 +272,17 @@ class Anc_Balance_Double extends Anc_Print
      */
     function display_csv()
     {
-        $r="";
-
-        $r.='"Poste comptable Analytique";';
-        $r.='"Poste comptable Analytique";';
-        $r.='"Debit";';
-        $r.='"Credit";';
-        $r.='"Solde";';
-        $r.='"D/C"';
-
-        $r.="\r\n";
+        $csv = new Noalyss_Csv("ca_bal_croise");
+        $csv->send_header();
+        
+        $csv->add("Poste comptable Analytique");
+        $csv->add("Poste comptable Analytique");
+        $csv->add("Debit");
+        $csv->add("Credit");
+        $csv->add("Solde");
+        $csv->add("D/C");
+
+        $csv->write();
 
         $array=$this->load();
         if ( is_array($array) == false )
@@ -292,16 +293,15 @@ class Anc_Balance_Double extends Anc_Print
         foreach ( $array as $row)
         {
 
-            $r.=sprintf('"%s";',$row['a_po_name']);
-            $r.=sprintf('"%s";',$row['b_po_name']);
-            $r.=sprintf("%s;",nb($row['a_d']));
-            $r.=sprintf("%s;",nb($row['a_c']));
-            $r.=sprintf("%s;",nb($row['a_solde']));
-            $r.=sprintf('"%s"',$row['a_debit']);
-            $r.="\r\n";
+            $csv->add($row['a_po_name']);
+            $csv->add($row['b_po_name']);
+            $csv->add($row['a_d'],'number');
+            $csv->add($row['a_c'],'number');
+            $csv->add($row['a_solde'],'number');
+            $csv->add($row['a_debit'],'text');
+            $csv->write();
         }
 
-        return $r;
 
     }
     /*!
diff --git a/include/class/class_anc_balance_simple.php 
b/include/class/class_anc_balance_simple.php
index f700c6c..95ee17b 100644
--- a/include/class/class_anc_balance_simple.php
+++ b/include/class/class_anc_balance_simple.php
@@ -230,20 +230,23 @@ class Anc_Balance_Simple extends Anc_Print
             return $array;
 
         }
+        $csv=new Noalyss_Csv("ca_bal_simple");
+        $csv->send_header();
         $r="";
         foreach ( $array as $row)
         {
             // the name and po_id
             $solde=($row['sum_cred']>$row['sum_deb'])?'C':'D';
-            $solde=($row['sum_cred']==$row['sum_deb'])?'':$solde;
-            $r.=sprintf("'%s';",$row['po_id']);
-            $r.=sprintf("'%s';",$row['po_name']);
-            $r.=sprintf("%s;",nb($row['sum_deb']));
-            $r.=sprintf("%s;",nb($row['sum_cred']));
-            $r.=sprintf("%s;",nb($row['solde']));
-            $r.=sprintf("'%s'",$row['debit']);
-            $r.="\r\n";
-        }
+            $solde=($row['sum_cred']==$row['sum_deb'])?'0':$solde;
+            $csv->add($row['po_id']);
+            $csv->add($row['po_name']);
+            $csv->add($row['sum_deb'],"number");
+            $csv->add($row['sum_cred'],"number");
+            $csv->add($row['solde'],"number");
+            $csv->add($row['debit'],"text");
+            
+            $csv->write();
+        }   
         return $r;
 
     }
diff --git a/include/class/class_anc_group.php 
b/include/class/class_anc_group.php
index 1dc9ef9..1e4e568 100644
--- a/include/class/class_anc_group.php
+++ b/include/class/class_anc_group.php
@@ -221,19 +221,18 @@ order by ga_description,po_name";
   function export_csv()
   {
     $array=$this->get_result();
-    printf('"groupe";"activité";"débit";"credit";"solde"');
-    printf("\r\n");
+    $cvs=new Noalyss_Csv ('anc-balance-group-export');
+    $cvs->send_header();
+    $cvs->write_header(array("groupe","activité","débit","credit","solde"));
     bcscale(2);
     for ($i=0;$i<count($array);$i++)
       {
-       printf('"%s";"%s";%s;%s;%s',
-              $array[$i]['ga_id'],
-              $array[$i]['po_name'],
-              nb($array[$i]['sum_deb']),
-              nb($array[$i]['sum_cred']),
-              nb(bcsub($array[$i]['sum_cred'],$array[$i]['sum_deb']))
-              );
-       printf("\r\n");
+        $cvs->add($array[$i]['ga_id']);
+        $cvs->add($array[$i]['po_name']);
+        $cvs->add($array[$i]['sum_deb'],"number");
+        $cvs->add($array[$i]['sum_cred'],"number");
+        
$cvs->add(bcsub($array[$i]['sum_cred'],$array[$i]['sum_deb']),"number");
+        $cvs->write();
       }
   }
     static function test_me()
diff --git a/include/class/class_anc_listing.php 
b/include/class/class_anc_listing.php
index 014fd6d..70437a2 100644
--- a/include/class/class_anc_listing.php
+++ b/include/class/class_anc_listing.php
@@ -159,22 +159,23 @@ class Anc_Listing extends Anc_Print
             return $array;
 
         }
-        $r="";
+        $csv=new Noalyss_Csv("anc_listing");
+        $csv->send_header();
+        $csv->write_header(array("Date","Poste","QuickCode",
+            "Activité","description","montant","d/c"));
         foreach ( $array as $row)
         {
             // the name and po_id
-            $r.=sprintf('"%s";',$row['oa_date']);
-            $r.=sprintf('"%s";',$row['j_poste']);
-            $r.=sprintf('"%s";',$row['qcode']);
-            $r.=sprintf('"%s";',$row['po_name']);
-            $r.=sprintf('"%s";',$row['oa_description']);
-            $r.=sprintf('"%s";',$row['oa_description']);
-
-            $r.=sprintf("%12.2f;",$row['oa_amount']);
-            $r.=sprintf("'%s'",(($row['oa_debit']=='f')?'CREDIT':'DEBIT'));
-            $r.="\r\n";
+            $csv->add($row['oa_date']);
+            $csv->add($row['j_poste']);
+            $csv->add($row['qcode']);
+            $csv->add($row['po_name']);
+            $csv->add($row['oa_description']);
+            $csv->add($row['oa_amount'],"number");
+            
$csv->add(sprintf("'%s'",(($row['oa_debit']=='f')?'CREDIT':'DEBIT')));
+            $csv->write();
         }
-        return $r;
+        return;
 
     }
 
diff --git a/include/class/class_anc_table.php 
b/include/class/class_anc_table.php
index 970b19f..9d0094a 100644
--- a/include/class/class_anc_table.php
+++ b/include/class/class_anc_table.php
@@ -247,18 +247,22 @@ class Anc_Table extends Anc_Acc_Link
   {
    bcscale(2);
    if ( $this->check () != 0 ) {throw new Exception ( "DATE INVALIDE");}
-
+   $csv=new Noalyss_Csv("Anc-table");
+   $csv->send_header();
+   //---------------
+   // By Card
     if ( $this->card_poste=='1')
       {
        $this->load_card();
 
-       echo '"Fiche"';
+       $csv->add("Fiche");
        foreach ($this->aheader as $h)
          {
-           echo ';"'.$h['po_name'].'"';
+           $csv->add($h['po_name']);
          }
-       echo ';"Total"';
-       printf("\r\n");
+       $csv->add("Total");
+        $csv->write();
+        
        /*
         * Show all the result
         */
@@ -266,7 +270,7 @@ class Anc_Table extends Anc_Acc_Link
        for ($i=0;$i<count($this->arow);$i++)
          {
 
-           printf('"%s"',$this->arow[$i]['card_account'].' 
'.$this->arow[$i]['name']);
+           $csv->add($this->arow[$i]['card_account'].' 
'.$this->arow[$i]['name']);
            $tot_row=0;
            for ($x=0;$x<count($this->aheader);$x++)
              {
@@ -280,26 +284,27 @@ class Anc_Table extends Anc_Acc_Link
                  {
                    $tot_col[$x]=$amount;
                  }
-               printf(";%s",nb($amount));
+               $csv->add($amount,"number");
                $tot_row=bcadd($tot_row,$amount);
              }
-           printf(";%s",nb($tot_row));
-           printf("\r\n");
-                   
+           $csv->add($tot_row,"number");
+            $csv->write();
 
          }
       }
+    //---------------
+   // By Accounting
     if ( $this->card_poste=='2')
       {
        $this->load_poste();
 
-       echo '"Poste"';
+       $csv->add("Poste");
        foreach ($this->aheader as $h)
          {
-           echo ';"'.$h['po_name'].'"';
+           $csv->add($h['po_name']);
          }
-       echo ';"Total"';
-       printf("\r\n");
+       $csv->add("Total");
+        $csv->write();
        /*
         * Show all the result
         */
@@ -307,7 +312,7 @@ class Anc_Table extends Anc_Acc_Link
        for ($i=0;$i<count($this->arow);$i++)
          {
 
-           printf('"%s"',$this->arow[$i]['card_account'].' 
'.$this->arow[$i]['name']);
+           $csv->add($this->arow[$i]['card_account'].' 
'.$this->arow[$i]['name']);
            $tot_row=0;
            for ($x=0;$x<count($this->aheader);$x++)
              {
@@ -321,12 +326,12 @@ class Anc_Table extends Anc_Acc_Link
                  {
                    $tot_col[$x]=$amount;
                  }
-               printf(";%s",nb($amount));
+               $csv->add($amount,"number");
                $tot_row=bcadd($tot_row,$amount);
              }
-           printf(";%s",nb($tot_row));
-           printf("\r\n");
-                   
+              $csv->add($tot_row,"number");
+              $csv->write();
+              
 
          }
       }
diff --git a/include/export/export_anc_acc_list_csv.php 
b/include/export/export_anc_acc_list_csv.php
index 3269007..b6be225 100644
--- a/include/export/export_anc_acc_list_csv.php
+++ b/include/export/export_anc_acc_list_csv.php
@@ -24,12 +24,9 @@
  *
  */
 if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="export-anc-list.csv"',FALSE);
 
 require_once  NOALYSS_INCLUDE.'/class/class_anc_acc_list.php';
-
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
 
 $bal=new Anc_Acc_List($cn);
 $bal->get_request();
diff --git a/include/export/export_anc_balance_double_csv.php 
b/include/export/export_anc_balance_double_csv.php
index 067f85f..db2e3cc 100644
--- a/include/export/export_anc_balance_double_csv.php
+++ b/include/export/export_anc_balance_double_csv.php
@@ -27,14 +27,12 @@
  *
  */
 if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Content-type: application/csv');
-header('Pragma: public');
-header('Content-Disposition: attachment;filename="ca_bal_croise.csv"',FALSE);
 
 require_once  NOALYSS_INCLUDE.'/class/class_anc_balance_double.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
 
 $cn=Dossier::connect();
 
 $bal=new Anc_Balance_Double($cn);
 $bal->get_request();
-echo $bal->display_csv();
+$bal->display_csv();
diff --git a/include/export/export_anc_balance_group_csv.php 
b/include/export/export_anc_balance_group_csv.php
index 611df20..8f9fde3 100644
--- a/include/export/export_anc_balance_group_csv.php
+++ b/include/export/export_anc_balance_group_csv.php
@@ -24,10 +24,7 @@
  */
 if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
 require_once NOALYSS_INCLUDE.'/class/class_anc_group.php';
-
-header('Pragma: public');
-header('Content-type: application/csv'); 
-header('Content-Disposition: 
attachment;filename="anc-balance-group-export.csv"',FALSE);
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
 
 $a=new Anc_Group($cn);
 $a->get_request();
diff --git a/include/export/export_anc_balance_simple_csv.php 
b/include/export/export_anc_balance_simple_csv.php
index 5a948c8..d8e43f8 100644
--- a/include/export/export_anc_balance_simple_csv.php
+++ b/include/export/export_anc_balance_simple_csv.php
@@ -23,11 +23,9 @@
 * \brief  export the operation in pdf
  */
 if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="ca_bal_simple.csv"',FALSE);
 
 require_once  NOALYSS_INCLUDE.'/class/class_anc_balance_simple.php';
+require_once  NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
 
 $cn=Dossier::connect();
 
diff --git a/include/export/export_anc_list_csv.php 
b/include/export/export_anc_list_csv.php
index 5d08e34..0bbeb55 100644
--- a/include/export/export_anc_list_csv.php
+++ b/include/export/export_anc_list_csv.php
@@ -24,11 +24,8 @@
  *
  */
 if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="jrn.csv"',FALSE);
-
 require_once  NOALYSS_INCLUDE.'/class/class_anc_listing.php';
+require_once  NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
 
 $cn=Dossier::connect();
 
diff --git a/include/export/export_anc_table_csv.php 
b/include/export/export_anc_table_csv.php
index cbf064b..315ccb0 100644
--- a/include/export/export_anc_table_csv.php
+++ b/include/export/export_anc_table_csv.php
@@ -23,11 +23,10 @@
  * \brief export the anc tables in CSV
  */
 if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv'); 
-header('Content-Disposition: 
attachment;filename="anc-table-export.csv"',FALSE);
 
 require_once NOALYSS_INCLUDE.'/class/class_anc_table.php';
+require_once  NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
 $atable=new Anc_Table($cn);
 $atable->get_request();
 $atable->export_csv();
diff --git a/include/lib/ac_common.php b/include/lib/ac_common.php
index faf3f99..9223761 100644
--- a/include/lib/ac_common.php
+++ b/include/lib/ac_common.php
@@ -106,6 +106,7 @@ function j($p_string)
  */
 function nb($p_number)
 {
+    $r=trim($p_number);
     $r = sprintf('%.2f', $p_number);
     $r = str_replace('.', ',', $r);
 
diff --git a/include/lib/class_noalyss_csv.php 
b/include/lib/class_noalyss_csv.php
index 151d6bf..bc83428 100644
--- a/include/lib/class_noalyss_csv.php
+++ b/include/lib/class_noalyss_csv.php
@@ -29,33 +29,33 @@ class Noalyss_Csv
 {
 
     private $filename;
+    private $element;
 
     function __construct($p_filename)
     {
         $this->filename=$p_filename;
-        $this->correct_name();
+        $this->element=array();
+        $this->size=0;
     }
 
     /***
      * @brief
      * Correct the name of the file , remove forbidden character and
-     * add extension
+     * add extension and date
      */
-    function correct_name()
+    private  function correct_name()
     {
         if (trim(strlen($this->filename))==0) {
             error_log('CSV->correct_name filename is empty');
             throw new Exception('CSV-CORRECT_NAME');
         }
-
-        // add extension if needed
-        if (strpos($this->filename, ".csv")==0)
-        {
-            $this->filename.".csv";
-        }
+        $this->filename.="-".date("ymd-Hi");
+        $this->filename.=".csv";
         
         $this->filename=str_replace(";", "", $this->filename);
         $this->filename=str_replace("/", "", $this->filename);
+        $this->filename=str_replace(":", "", $this->filename);
+        $this->filename=str_replace("*", "", $this->filename);
         $this->filename=str_replace(" ", "_", $this->filename);
         $this->filename=strtolower($this->filename);
     }
@@ -76,30 +76,75 @@ class Noalyss_Csv
     }
 
     /***
-     * write record , the numeric are detected are formatted properly with the
-     * function nb
+     * write header
      * @param array $p_array Array of 1 dimension with the contains of a row
-     * @see nb
      * 
      */
-    function write($p_array)
+    function write_header($p_array)
     {
         $size_array=count($p_array);
         $sep="";
         for ($i=0; $i<$size_array; $i++)
         {
-            if (isNumber($p_array[$i])==1)
+                printf($sep.'"%s"', $p_array[$i]);
+            $sep=";";
+        }
+        printf("\r\n");
+    }
+    /***
+     * Add column to export to csv , the string are enclosed with 
+     * double-quote,
+     * @param $p_item value to export
+     * @param $p_type must be text(default) or number
+     * @throws Exception
+     */
+    function add($p_item,$p_type="text") 
+    {
+        if ( ! in_array($p_type, array("text","number"))) {
+                throw new Exception("NOALYSS_CSV::ADD");
+        }
+        $this->element[$this->size]['value']=$p_item;
+        $this->element[$this->size]['type']=$p_type;
+        $this->size++;
+    }
+    /***
+     * the string are enclosed with  double-quote,
+     *  we remove problematic character and
+     * the number are formatted.
+     * Clean the row after exporting
+     * @return nothing
+     */
+    function write() 
+    {
+        if ($this->size == 0 ) return;
+        $sep="";
+        for ($i=0;$i < $this->size;$i++)
+        {
+            if ($this->element[$i]['type'] == 'number' )
             {
-                printf($sep.'%s', nb($p_array[$i]));
+                printf($sep.'%s', nb($this->element[$i]['value']));
             }
             else
             {
-                printf($sep.'"%s"', $p_array[$i]);
+                // remove break-line, 
+                $export=str_replace("\n"," ",$this->element[$i]['value']);
+                $export=str_replace("\r"," ", $export);
+                // remove double quote
+                $export=str_replace('"',"", $export);
+                printf($sep.'"%s"', $export);
             }
             $sep=";";
         }
         printf("\r\n");
+        $this->clean();
+    }
+    /**
+     * clean the row
+     */
+    private function clean()
+    {
+        $this->element=array();
+        $this->size=0;
     }
-
 
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]