|
noalyss
Version-6.7.2
|
Generate the form for the periode Data Members. More...
Public Member Functions | |
| __construct ($p_name="", $p_value="", $p_exercice='') | |
| display () | |
| print in html the readonly value of the widget | |
| input ($p_name=null, $p_value=null) | |
| show the input html for a periode | |
Static Public Member Functions | |
| static | test_me () |
Data Fields | |
| $cn | |
| $filter_year | |
| $show_end_date | |
| $show_start_date | |
| $type | |
| $user | |
Generate the form for the periode Data Members.
Definition at line 35 of file class_iperiod.php.
| IPeriod::__construct | ( | $ | p_name = "", |
| $ | p_value = "", |
||
| $ | p_exercice = '' |
||
| ) |
$user if a filter is required then we need who is the user (object User)
Reimplemented from HtmlInput.
Definition at line 43 of file class_iperiod.php.
References $p_exercice, disabled, heigh, javascript, name, readOnly, selected, show_end_date, show_start_date, size, table, value, and width.
{
$this->name=$p_name;
$this->readOnly=false;
$this->size=20;
$this->width=50;
$this->heigh=20;
$this->value=$p_value;
$this->selected="";
$this->table=0;
$this->disabled=false;
$this->javascript="";
$this->extra2="all";
$this->show_start_date=true;
$this->show_end_date=true;
$this->exercice=$p_exercice;
}
| IPeriod::display | ( | ) |
| IPeriod::input | ( | $ | p_name = null, |
| $ | p_value = null |
||
| ) |
show the input html for a periode
| $p_name | is the name of the widget |
| $p_value | is the default value |
| $p_exercice | is the exercice, if not set then the user preference is used |
Definition at line 69 of file class_iperiod.php.
References $a, $Max, $Res, $ret, $sel, $sql, cn, display(), filter_year, javascript, name, readOnly, show_end_date, show_start_date, type, user, and value.
{
foreach (array('type','cn') as $a)
{
if ( ! isset ($this->$a) ) throw new Exception('Variable non définie [ '.$a.']');
}
$this->name=($p_name==null)?$this->name:$p_name;
$this->value=($p_value==null)?$this->value:$p_value;
if ( $this->readOnly==true) return $this->display();
switch ($this->type)
{
case CLOSED:
$sql_closed="where p_closed=true and p_central = false ";
break;
case OPEN:
$sql_closed="where p_closed=false";
break;
case NOTCENTRALIZED:
$sql_closed="where p_closed=true and p_central = false ";
break;
case ALL:
$sql_closed="";
break;
default:
throw new Exception("invalide p_type in ".__FILE__.':'.__LINE__);
}
$sql="select p_id,to_char(p_start,'DD.MM.YYYY') as p_start_string,
to_char(p_end,'DD.MM.YYYY') as p_end_string
from parm_periode
$sql_closed ";
$cond="";
/* Create a filter on the current exercice */
if ( ! isset($this->filter_year) || (isset($this->filter_year) && $this->filter_year==true))
{
if ( $this->exercice=='')
{
if (! isset($this->user) ) throw new Exception (__FILE__.':'.__LINE__.' user is not set');
$this->exercice=$this->user->get_exercice();
}
$cond='';
if ( $sql_closed=="") $and=" where " ; else $and=" and ";
if ($this->type == 'all' ) $cond=$and.' true ';
$cond.=" $and p_exercice='".sql_string($this->exercice)."'";
}
$sql.=$cond." order by p_start,p_end";
$Res=$this->cn->exec_sql($sql);
$Max=$this->cn->size($Res);
if ( $Max == 0 ) throw new Exception(_('Aucune periode trouvée'),1);
$ret='<SELECT NAME="'.$this->name.'" '.$this->javascript.'>';
for ( $i = 0; $i < $Max;$i++)
{
$l_line=$this->cn->fetch($i);
if ( $this->value==$l_line['p_id'] )
$sel="SELECTED";
else
$sel="";
if ( $this->show_start_date == true && $this->show_end_date==true )
{
$ret.=sprintf('<OPTION VALUE="%s" %s>%s - %s',$l_line['p_id']
,$sel
,$l_line['p_start_string']
,$l_line['p_end_string']);
}
else if ($this->show_start_date == true )
{
$ret.=sprintf('<OPTION VALUE="%s" %s>%s ',$l_line['p_id']
,$sel
,$l_line['p_start_string']
);
}
else if ( $this->show_end_date == true )
{
$ret.=sprintf('<OPTION VALUE="%s" %s>%s ',$l_line['p_id']
,$sel
,$l_line['p_end_string']
);
}
}
$ret.="</SELECT>";
return $ret;
}
| static IPeriod::test_me | ( | ) | [static] |
Definition at line 168 of file class_iperiod.php.
{
}
| IPeriod::$cn |
$cn is the database connection
Definition at line 38 of file class_iperiod.php.
| IPeriod::$filter_year |
$filter_year make a filter on the default exercice by default yes
Definition at line 41 of file class_iperiod.php.
| IPeriod::$show_end_date |
$show_end_date is not set or false, do not show the end date
Definition at line 39 of file class_iperiod.php.
| IPeriod::$show_start_date |
$show_start_date is not set or false, do not show the start date
Definition at line 40 of file class_iperiod.php.
| IPeriod::$type |
$type the type of the periode OPEN CLOSE NOTCENTRALIZED or ALL
Reimplemented from HtmlInput.
Definition at line 37 of file class_iperiod.php.
| IPeriod::$user |
Definition at line 42 of file class_iperiod.php.