//====================================================================================
// OCS INVENTORY REPORTS
// Copyleft Pierre LEMMET 2005
// Web: http://ocsinventory.sourceforge.net
//
// This code is open source and may be copied and modified as long as the source
// code is always made freely available.
// Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
//====================================================================================
//Modified on 7/7/2005
if(!class_exists("Req"))
{
/**
* \brief Classe Req
*
* Cette classe contient un objet requete pour l'application
*/
class Req
{
var $label, /// Nom et description de la requete
$whereId,
$linkId,
$where, /// Commande SQL de la requête
$select, /// Les champs à selectionner
$selectPrelim, /// Les champs à selectionner
$from, /// Les champs à selectionner
$fromPrelim,
$group,
$order,
$countId,
$labelChamps, /// Tableau contenant le texte de tous les paramètres de la requete
$sqlChamps, /// Tableau contenant toutes les requetes de préremplissage des ComboBox de choix des parametres
$typeChamps, /// Tableau contenant les types de champs de saisie des parametres de la requete:
/// COMBO: combobox préremplie par les requetes de $sqlChamps ou
/// FREE : champ texte libre)
$isNumber, /// Tableau indiquant si un nombre est attendu pour le parametre
$pics, //les images
$columnEdit, /// Indique si les colonnes sont éditables
$selFinal;
function Req($label,$whereId,$linkId,$where,$select,$selectPrelim,$from,$fromPrelim,$group,$order,$countId,$pics=NULL,$columnEdit=false,$labelChamps=NULL,$sqlChamps=NULL,$typeChamps=NULL,$isNumber=NULL,$selFinal="") // constructeur
{
$this->label=$label;
$this->whereId=$whereId;
$this->linkId=$linkId;
$this->where=$where;
$this->select=$select;
$this->selectPrelim=$selectPrelim;
$this->from=$from;
$this->fromPrelim=$fromPrelim;
$this->group=$group;
$this->order=$order;
$this->countId=$countId;
$this->pics=$pics;
$this->labelChamps=$labelChamps;
$this->sqlChamps=$sqlChamps;
$this->typeChamps=$typeChamps;
$this->isNumber=$isNumber;
$this->columnEdit=$columnEdit;
$this->selFinal=$selFinal;
}
function getSelect() {
$toRet = "";
$prems = true;
foreach( $this->select as $key=>$val ) {
if( !$prems ) $toRet .= ",";
$toRet .= $key." AS \"".$val."\"";
$prems = false;
}
return $toRet;
}
function getFullRequest() {
$ret = "SELECT ".$this->getSelect();
if( $this->from || $this->fromPrelim ) {
$ret .= " FROM ";
if( $this->from ) {
$ret .= $this->from;
$dej = 1;
}
if( $this->fromPrelim ) {
if( $dej ) $ret .= ",";
$ret .= $this->fromPrelim;
}
}
if( $this->where ) $ret .= " WHERE ".$this->where;
if( $this->group ) $ret .= " GROUP BY ".$this->group;
if( $this->order ) $ret .= " ORDER BY ".$this->order;
return $ret;
}
function getSelectPrelim() {
if( ! is_array($this->selectPrelim) )
return;
$toRet = "";
$prems = true;
foreach( $this->selectPrelim as $key=>$val ) {
if( !$prems ) $toRet .= ",";
$toRet .= $key." AS \"".$val."\"";
$prems = false;
}
return $toRet;
}
function toHtml($link) // renvoie la page html présentant la requete
{
$result=NULL;
$html="
".$this->label."\n"; $i=0; $html.=" |
---|