phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] CVS: etemplate/inc class.date_widget.inc.php,1.6,1.7


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: etemplate/inc class.date_widget.inc.php,1.6,1.7
Date: Sat, 05 Oct 2002 20:15:16 -0400

Update of /cvsroot/phpgroupware/etemplate/inc
In directory subversions:/tmp/cvs-serv11758

Modified Files:
        class.date_widget.inc.php 
Log Message:
new coded useing select-day, -month, -year

Index: class.date_widget.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/etemplate/inc/class.date_widget.inc.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** class.date_widget.inc.php   1 Oct 2002 18:26:30 -0000       1.6
--- class.date_widget.inc.php   6 Oct 2002 00:15:14 -0000       1.7
***************
*** 14,21 ****
  
        /*!
!       @class date_widget
        @author ralfbecker
!       @abstract widget that reads dates in via 3 select-boxes
!       @discussion This widget is generates html vi the sbox-class, so it does 
not work (without an extra implementation) in an other UI
        */
        class date_widget
--- 14,21 ----
  
        /*!
!       @class datefield_widget
        @author ralfbecker
!       @abstract widget that reads a date
!       @discussion This widget is independent of the UI as it only uses 
etemplate-widgets and has therefor no render-function
        */
        class date_widget
***************
*** 23,62 ****
                var $public_functions = array(
                        'pre_process' => True,
-                       'render' => True,
                        'post_process' => True
                );
                var $human_name = 'Date';       // this is the name for the 
editor
  
!               function date_widget($ui='')
                {
-                       switch($ui)
-                       {
-                               case '':
-                               case 'html':
-                                       $this->ui = 'html';
-                                       break;
-                               case 'gtk':
-                                       $this->ui = 'gtk';
-                                       break;
-                               default:
-                                       return "UI='$ui' not implemented";
-                       }
-                       return 0;
                }
  
                function 
pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
                {
!                       $extension_data = $cell['size'];
!                       if ($cell['size'] != '')
                        {
                                $date = split('[/.-]',$value);
!                               $mdy  = split('[/.-]',$cell['size']);
                                for ($value=array(),$n = 0; $n < 3; ++$n)
                                {
                                        switch($mdy[$n])
                                        {
!                                               case 'Y': $value[0] = 
$date[$n]; break;
!                                               case 'm': $value[1] = 
$date[$n]; break;
!                                               case 'd': $value[2] = 
$date[$n]; break;
                                        }
                                }
--- 23,58 ----
                var $public_functions = array(
                        'pre_process' => True,
                        'post_process' => True
                );
                var $human_name = 'Date';       // this is the name for the 
editor
  
!               function date_widget($ui)
                {
                }
  
                function 
pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
                {
!                       list($data_format,$options) = 
explode(',',$cell['size']);
!                       $extension_data = $data_format;
! 
!                       if (!$value)
!                       {
!                               $value = array(
!                                       'Y' => '',
!                                       'm' => '',
!                                       'd' => ''
!                               );
!                       }
!                       elseif ($data_format != '')
                        {
                                $date = split('[/.-]',$value);
!                               $mdy  = split('[/.-]',$data_format);
                                for ($value=array(),$n = 0; $n < 3; ++$n)
                                {
                                        switch($mdy[$n])
                                        {
!                                               case 'Y': $value['Y'] = 
$date[$n]; break;
!                                               case 'm': $value['m'] = 
$date[$n]; break;
!                                               case 'd': $value['d'] = 
$date[$n]; break;
                                        }
                                }
***************
*** 64,80 ****
                        else
                        {
!                               $value = 
array(date('Y',$value),date('m',$value),date('d',$value));
!                       }
!                       return True;    // extra Label is ok
!               }
! 
!               function 
render(&$cell,$form_name,&$value,$readonly,&$extension_data,&$tmpl)
!               {
!                       $func = 'render_'.$this->ui;
  
!                       if (!method_exists($this,$func))
!                               return False;
! 
!                       return 
$this->$func($cell,$form_name,$value,$readonly,$tmpl);
                }
  
--- 60,96 ----
                        else
                        {
!                               $value = array(
!                                       'Y' => date('Y',$value),
!                                       'm' => date('m',$value),
!                                       'd' => date('d',$value)
!                               );
!                       }
!                       $tpl = new etemplate;
!                       $tpl->init('*** generated fields for 
date','','',0,'',0,0);     // make an empty template
! 
!                       $format = 
split('[/.-]',$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
!                       $fields = array('Y' => 'year', 'm' => 'month', 'd' => 
'day');
!                       $row = array();
!                       for ($n=0; $n < 3; ++$n)
!                       {
!                               $dcell = $tpl->empty_cell();
!                               $dcell['type'] = 'select-'.$fields[$format[$n]];
!                               $dcell['name'] = $format[$n];
!                               $dcell['help'] = lang($fields[$format[$n]]).': 
'.$cell['help']; // note: no lang on help, already done
!                               $dcell['no_lang'] = True;
!                               $row[$tpl->num2chrs($n)] = &$dcell;
!                               unset($dcell);
!                       }
!                       $tpl->data[0] = array();
!                       $tpl->data[1] = &$row;
!                       $tpl->set_rows_cols();
!                       $tpl->size = ',,,,0';
! 
!                       $cell['size'] = $cell['name'];
!                       $cell['type'] = 'template';
!                       $cell['name'] = $tpl->name;
!                       $cell['obj'] = &$tpl;
  
!                       return True;    // extra Label is ok
                }
  
***************
*** 95,99 ****
                                        $value['Y'] = date('Y');
                                }
!                               if ($extension_data)
                                {
                                        $value = 
mktime(0,0,0,$value['m'],$value['d'],$value['Y']);
--- 111,119 ----
                                        $value['Y'] = date('Y');
                                }
!                               elseif ($value['Y'] < 100)
!                               {
!                                       $value['Y'] += $value['Y'] < 30 ? 2000 
: 1900;
!                               }
!                               if (empty($extension_data))
                                {
                                        $value = 
mktime(0,0,0,$value['m'],$value['d'],$value['Y']);
***************
*** 120,132 ****
                        }
                        return True;
-               }
- 
-               function render_html($cell,$form_name,$value,$readonly,&$tmpl)
-               {
-                       if ($readonly)
-                       {
-                               return 
$GLOBALS['phpgw']->common->dateformatorder($value[0],$value[1],$value[2],True);
-                       }
-                       return 
$tmpl->sbox->getDate($form_name.'[Y]',$form_name.'[m]',$form_name.'[d]',$value,$options);
                }
        }
--- 140,143 ----





reply via email to

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