* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/core/class/html.formpropal.class.php * \ingroup core * \brief File of class with all html predefined components */ /** * Class to manage generation of HTML components for proposal management */ class FormPropal { var $db; var $error; /** * Constructor * * @param DoliDB $db Database handler */ public function __construct($db) { $this->db = $db; } /** * Return combo list of differents status of a proposal * Values are id of table c_propalst * * @param string $selected Preselected value * @param int $short Use short labels * @param int $excludedraft 0=All status, 1=Exclude draft status * @param int $showempty 1=Add empty line * @param string $mode 'customer', 'supplier' * @param string $htmlname Name of select field * @return void */ function selectProposalStatus($selected='',$short=0, $excludedraft=0, $showempty=1, $mode='customer',$htmlname='propal_statut') { global $langs; $prefix=''; $listofstatus=array(); if ($mode == 'supplier') { $prefix='SupplierProposalStatus'; $langs->load("supplier_proposal"); $listofstatus=array( 0=>array('id'=>0, 'code'=>'PR_DRAFT'), 1=>array('id'=>1, 'code'=>'PR_OPEN'), 2=>array('id'=>2, 'code'=>'PR_SIGNED'), 3=>array('id'=>3, 'code'=>'PR_NOTSIGNED'), 4=>array('id'=>4, 'code'=>'PR_CLOSED') ); } else { $prefix="PropalStatus"; $sql = "SELECT id, code, label, active FROM ".MAIN_DB_PREFIX."c_propalst"; $sql .= " WHERE active = 1"; dol_syslog(get_class($this)."::selectProposalStatus", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); $i = 0; if ($num) { while ($i < $num) { $obj = $this->db->fetch_object($resql); $listofstatus[$obj->id]=array('id'=>$obj->id,'code'=>$obj->code,'label'=>$obj->label); $i++; } } } else { dol_print_error($this->db); } } print ''; } }