gino CMS  2.5.0
gino è un CMS scritto in PHP che offre tutti gli strumenti necessari per poter creare un sito web e gestire i contenuti al suo interno in maniera semplice ed efficace, svincolando l'amministratore da conoscenze tecniche di programmazione
Export Class Reference

Libreria per l'esportazione di tabelle o dati. More...

Public Member Functions

 setTable ($table)
 Imposta la proprietà _table. More...
 
 setSeparator ($s)
 Imposta la proprietà _s. More...
 
 setFields ($fields)
 Imposta la proprietà _fields. More...
 
 setHead ($head)
 Imposta la proprietà _head. More...
 
 setRids ($rids)
 Imposta la proprietà _rids. More...
 
 setOrder ($order)
 Imposta la proprietà _order. More...
 
 setData ($data)
 Imposta la proprietà _data. More...
 
 exportData ($filename, $extension, $output='stream')
 Esporta il file. More...
 

Protected Member Functions

 writeFile ($filename, $content, $type)
 Crea un file con caratteristiche specifiche di encoding. More...
 
 removeBOM ($str='')
 Rimuove il BOM (Byte Order Mark) More...
 

Private Member Functions

 exportCsv ($filename, $output)
 Esporta un file csv. More...
 
 getData ()
 Dati da esportare in formato array. More...
 
 getHeadFields ()
 array di intestazioni delle colonne More...
 

Private Attributes

 $_s = ","
 
 $_table
 
 $_head = TRUE
 
 $_fields = '*'
 
 $_rids = '*'
 
 $_order
 
 $_data
 

Detailed Description

Libreria per l'esportazione di tabelle o dati.

Author
marco guidotti guido.nosp@m.ttim.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
abidibo abidi.nosp@m.bo@g.nosp@m.mail..nosp@m.com

UTILIZZO

L'utilizzo della libreria prevede l'inclusione del file

require_once(CLASSES_DIR.OS.'class.export.php');

ESEMPIO

$items = array(
array('value1', 'value2', 'value3'),
array('value4', 'value5', 'value6')
);
$obj_export = new export();
$obj_export->setData($items);
$obj_export->exportData('export.csv', 'csv');

Member Function Documentation

exportCsv (   $filename,
  $output 
)
private

Esporta un file csv.

Parameters
string$filenamethe name of the file written (the absolute path if the output is file)
string$output(file|stream)
Returns
se il file viene inviato in output || TRUE se il file viene salvato su fs
exportData (   $filename,
  $extension,
  $output = 'stream' 
)

Esporta il file.

Attualmente è prevista soltanto l'esportazione di file CSV

See also
self::exportCsv()
Parameters
string$filenamethe name of the file written (the absolute path if the output is file)
string$extensionthe file extension
string$output(file|stream)
Returns
se il file viene inviato in output || TRUE se il file viene salvato su fs
getData ( )
private

Dati da esportare in formato array.

Returns
array di dati
getHeadFields ( )
private

array di intestazioni delle colonne

Returns
array intestazioni
removeBOM (   $str = '')
protected

Rimuove il BOM (Byte Order Mark)

Parameters
string$str
Returns
stringa senza BOM
setData (   $data)

Imposta la proprietà _data.

Parameters
array$datadati da esportare (parametro competitivo a _table):
array(0=>array("head1", "head2", "head3"),
1=>array("value1 record 1", "value 2 record 1", "value 3 record 1"),
2=>array("value1 record 2", "value 2 record 2", "value 3 record 2")
)
Returns
void
setFields (   $fields)

Imposta la proprietà _fields.

Parameters
mixed$fieldscampi da esportare
  • *: tutti i campi
  • * -(field1,field2): tutti i campi eccetto field1 e field2
  • field1,field2: solamente i campi field1 e field2
  • array("field1", "field2"): solamente i campi field1 e field2
Returns
void
setHead (   $head)

Imposta la proprietà _head.

Parameters
boolean$headindica se mostrare o meno l'intestazione delle colonne
Returns
void
setOrder (   $order)

Imposta la proprietà _order.

Parameters
string$orderil campo per l'ordinamento dei risultati
Returns
void
setRids (   $rids)

Imposta la proprietà _rids.

Parameters
mixed$ridsid dei record da esportare:
  • *: tutti i record
  • 1,3,5: records con id=1, id=3 e id=5
  • array(1,3,5): records con id=1, id=3 e id=5
Returns
void
setSeparator (   $s)

Imposta la proprietà _s.

Parameters
string$sseparatore dei campi, default ','
Returns
void
setTable (   $table)

Imposta la proprietà _table.

Parameters
string$tablenome della tabella da esportare
Returns
void
writeFile (   $filename,
  $content,
  $type 
)
protected

Crea un file con caratteristiche specifiche di encoding.

– Procedura di esportazione di un file

  1. I valori da database devono passare attraverso le funzioni utf8_encode() e enclosedField():
$firstname = enclosedField(utf8_encode($b['firstname'])); //-> TESTO
$date = utf8_encode($b['date']); //-> DATA
$number = $b['number']; //-> NUMERO
  1. Creare il file sul filesystem:
$filename = $this->_doc_dir.'/'.$filename;
if(file_exists($filename)) unlink($filename);
$this->writeFile($filename, $output, 'csv');
  1. Effettuare il download del file:
$filename = 'export.csv';
header("Content-type: application/csv \r \n");
header("Content-Disposition: inline; filename=$filename");
echo $output;
exit();
Parameters
string$filenamepercorso assoluto al file
string$contentcontenuto del file
string$typetipologia di file
  • utf8
  • iso8859
  • csv: in questo caso utilizzare la funzione utf8_encode() sui valori da DB
Returns
void

Field Documentation

$_data
private
$_fields = '*'
private
$_head = TRUE
private
$_order
private
$_rids = '*'
private
$_s = ","
private
$_table
private

The documentation for this class was generated from the following file: