[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] CVS: etemplate/inc class.date_widget.inc.php,1.9,1.10
From: |
Ralf Becker <address@hidden> |
Subject: |
[Phpgroupware-cvs] CVS: etemplate/inc class.date_widget.inc.php,1.9,1.10 class.select_widget.inc.php,1.5,1.6class.tab_widget.inc.php,1.12,1.13 class.uietemplate.inc.php,1.54,1.55 |
Date: |
Sun, 13 Apr 2003 15:14:54 -0400 |
Update of /cvsroot/phpgroupware/etemplate/inc
In directory subversions:/tmp/cvs-serv26882
Modified Files:
class.date_widget.inc.php class.select_widget.inc.php
class.tab_widget.inc.php class.uietemplate.inc.php
Log Message:
added time and date+time to date_widget and select-number to select_widget
Index: class.date_widget.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/etemplate/inc/class.date_widget.inc.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** class.date_widget.inc.php 12 Oct 2002 22:34:50 -0000 1.9
--- class.date_widget.inc.php 13 Apr 2003 19:14:50 -0000 1.10
***************
*** 16,20 ****
@class date_widget
@author ralfbecker
! @abstract widget that reads a date
@param Options/$cell['size'] = $format[,$year_no_select], $format:
''=timestamp or eg. 'Y-m-d' for 2002-12-31
@discussion This widget is independent of the UI as it only uses
etemplate-widgets and has therefor no render-function
--- 16,20 ----
@class date_widget
@author ralfbecker
! @abstract widget that reads a date and/or time
@param Options/$cell['size'] = $format[,$year_no_select], $format:
''=timestamp or eg. 'Y-m-d' for 2002-12-31
@discussion This widget is independent of the UI as it only uses
etemplate-widgets and has therefor no render-function
***************
*** 26,33 ****
'post_process' => True
);
! var $human_name = 'Date'; // this is the name for the
editor
function date_widget($ui)
{
}
--- 26,38 ----
'post_process' => True
);
! var $human_name = array(
! 'date' => 'Date', // just a date, no time
! 'date-time' => 'Date+Time', // date + time
! 'date-timeonly' => 'Time'
! );
function date_widget($ui)
{
+ $this->timeformat =
$GLOBALS['phpgw_info']['user']['preferences']['common']['timeformat'];
}
***************
*** 36,39 ****
--- 41,45 ----
list($data_format,$options) =
explode(',',$cell['size']);
$extension_data = $data_format;
+ $type = $cell['type'];
if (!$value)
***************
*** 42,59 ****
'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;
}
}
--- 48,71 ----
'Y' => '',
'm' => '',
! 'd' => '',
! 'H' => '',
! 'i' => ''
);
}
elseif ($data_format != '')
{
! $date = split('[- /.:,]',$value);
! //echo "date=<pre>"; print_r($date); echo
"</pre>";
! $mdy = split('[- /.:,]',$data_format);
! $value = array();
! foreach ($date as $n => $dat)
{
switch($mdy[$n])
{
! case 'Y': $value['Y'] = $dat;
break;
! case 'm': $value['m'] = $dat;
break;
! case 'd': $value['d'] = $dat;
break;
! case 'H': $value['H'] = $dat;
break;
! case 'i': $value['i'] = $dat;
break;
}
}
***************
*** 61,75 ****
else
{
$value = array(
'Y' => date('Y',$value),
'm' => date('m',$value),
! 'd' => date('d',$value)
);
}
$format =
split('[/.-]',$sep=$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
$sep = $sep[1];
if ($cell['readonly'] || $readonlys) // is readonly
{
! for ($str='',$n = 0; $n < 3; ++$n)
{
$str .= ($str != '' ? $sep : '');
--- 73,106 ----
else
{
+ $value +=
$GLOBALS['phpgw']->datetime->tz_offset;
$value = array(
'Y' => date('Y',$value),
'm' => date('m',$value),
! 'd' => date('d',$value),
! 'H' => date('H',$value),
! 'i' => date('i',$value)
);
}
+ $timeformat = array(3 => 'H', 4 => 'i');
+ if ($this->timeformat == '12')
+ {
+ $value['a'] = $value['H'] < 12 ? 'am' : 'pm';
+
+ if ($value['H'] > 12)
+ {
+ $value['H'] -= 12;
+ }
+ $timeformat += array(5 => 'a');
+ }
$format =
split('[/.-]',$sep=$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
+
+ if ($type != 'date')
+ {
+ $format += $timeformat;
+ }
$sep = $sep[1];
if ($cell['readonly'] || $readonlys) // is readonly
{
! for ($str='',$n = $type == 'date-timeonly' ? 3
: 0; $n < count($format); ++$n)
{
$str .= ($str != '' ? $sep : '');
***************
*** 84,107 ****
$tpl->init('*** generated fields for
date','','',0,'',0,0); // make an empty template
! $fields = array(
! 'Y' => ($options ? 'int' : 'select-year'),
// if options set, show an int-field
'm' => 'select-month',
! 'd' => 'select-day'
);
$help = array(
'Y' => 'Year',
'm' => 'Month',
! 'd' => 'Day'
);
$row = array();
! for ($n=0; $n < 3; ++$n)
{
$dcell = $tpl->empty_cell();
! $dcell['type'] = $fields[$format[$n]];
$dcell['name'] = $format[$n];
$dcell['help'] = lang($help[$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();
--- 115,181 ----
$tpl->init('*** generated fields for
date','','',0,'',0,0); // make an empty template
! $types = array(
! 'Y' => ($options&1 ? 'int' : 'select-year'),
// if options&1 set, show an int-field
'm' => 'select-month',
! 'd' => 'select-day',
! 'H' => 'select-number',
! 'i' => 'select-number'
! );
! $options = array(
! 'H' => $this->timeformat == '12' ? ',0,12' :
',0,23',
! 'i' => ',0,59,5'
);
$help = array(
'Y' => 'Year',
'm' => 'Month',
! 'd' => 'Day',
! 'H' => 'Hour',
! 'i' => 'Minute'
);
$row = array();
! for ($i=0,$n=$type == 'date-timeonly'?3:0; $n < ($type
== 'date' ? 3 : 5); ++$n,++$i)
{
$dcell = $tpl->empty_cell();
! $dcell['type'] = $types[$format[$n]];
! $dcell['size'] = $options[$format[$n]];
$dcell['name'] = $format[$n];
$dcell['help'] = lang($help[$format[$n]]).':
'.$cell['help']; // note: no lang on help, already done
$dcell['no_lang'] = True;
! $row[$tpl->num2chrs($i)] = &$dcell;
unset($dcell);
+
+ if ($n == 2 && $options & 2) // Today button
+ {
+ $dcell = $tpl->empty_cell();
+ $dcell['type'] = 'button';
+ $dcell['name'] = 'today';
+ $dcell['label'] = $type == 'Today';
+ $dcell['help'] = 'sets today as date';
+ $dcell['onchange'] =
"this.form.elements['$name"."[Y]'].value='".date('Y')."';
this.form.elements['$name"."[m]'].value='".date('n')."';this.form.elements['$name"."[d]'].value='".(0+date('d'))."';
return false;";
+ $row[$tpl->num2chrs(3)] = &$dcell;
+ unset($dcell);
+ }
+ if ($n == 2 && $type == 'date-time') //
insert some space between date+time
+ {
+ $dcell = $tpl->empty_cell();
+ $dcell['type'] = 'label';
+ $dcell['name'] = 'space';
+ $value['space'] = ' ';
+ $dcell['no_lang'] = True;
+ $row[$tpl->num2chrs(++$i)] = &$dcell;
+ unset($dcell);
+ }
+ if ($n == 4 && $type != 'date' &&
$this->timeformat == '12')
+ {
+ $dcell = $tpl->empty_cell();
+ $dcell['type'] = 'radio';
+ $dcell['name'] = 'a';
+ $dcell['help'] = $cell['help'];
+ $dcell['size'] = $dcell['label'] = 'am';
+ $row[$tpl->num2chrs(++$i)] = $dcell;
+ $dcell['size'] = $dcell['label'] = 'pm';
+ $row[$tpl->num2chrs(++$i)] = &$dcell;
+ unset($dcell);
+ }
}
$tpl->data[0] = array();
***************
*** 124,144 ****
return False;
}
! if ($value['d'])
{
! if (!$value['m'])
{
! $value['m'] = date('m');
}
! if (!$value['Y'])
{
! $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']);
}
else
--- 198,234 ----
return False;
}
! if ($value['d'] || $value['H'] !== '' || $value['i']
!== '')
{
! if ($value['d'])
{
! if (!$value['m'])
! {
! $value['m'] = date('m');
! }
! if (!$value['Y'])
! {
! $value['Y'] = date('Y');
! }
! elseif ($value['Y'] < 100)
! {
! $value['Y'] += $value['Y'] < 30
? 2000 : 1900;
! }
}
! else // for the timeonly field
{
! $value['d'] = $value['m'] = 1;
! $value['Y'] = 1970;
}
! if (isset($value['a']))
{
! if ($value['a'] == 'pm' && $value['H']
< 12)
! {
! $value['H'] += 12;
! }
}
if (empty($extension_data))
{
! $value =
mktime(intval($value['H']),intval($value['i']),0,$value['m'],$value['d'],$value['Y'])
! -
$GLOBALS['phpgw']->datetime->tz_offset;
}
else
***************
*** 146,150 ****
for ($n = 0,$str = ''; $n <
strlen($extension_data); ++$n)
{
! if (strstr('Ymd',$c =
$extension_data[$n]))
{
$str .=
sprintf($c=='Y'?'%04d':'%02d',$value[$c]);
--- 236,240 ----
for ($n = 0,$str = ''; $n <
strlen($extension_data); ++$n)
{
! if (strstr('YmdHi',$c =
$extension_data[$n]))
{
$str .=
sprintf($c=='Y'?'%04d':'%02d',$value[$c]);
Index: class.select_widget.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/etemplate/inc/class.select_widget.inc.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** class.select_widget.inc.php 18 Mar 2003 13:06:27 -0000 1.5
--- class.select_widget.inc.php 13 Apr 2003 19:14:50 -0000 1.6
***************
*** 37,40 ****
--- 37,41 ----
'select-month' => 'Select Month',
'select-day' => 'Select Day',
+ 'select-number' => 'Select Number',
'select-app' => 'Select Application'
);
***************
*** 360,364 ****
function
pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
{
! list($rows,$type,$type2) = explode(',',$cell['size']);
switch ($cell['type'])
--- 361,365 ----
function
pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
{
! list($rows,$type,$type2,$type3) =
explode(',',$cell['size']);
switch ($cell['type'])
***************
*** 469,476 ****
case 'select-day':
$cell['sel_options'][''] = '';
! for ($d=1; $d <= 31; ++$d)
{
! $cell['sel_options'][$d] = $d;
}
$cell['no_lang'] = True;
--- 470,490 ----
case 'select-day':
+ $type = 1;
+ $type2 = 31;
+ $type3 = 1;
+ // fall-through
+
+ case 'select-number': // options:
rows,min,max,dec
$cell['sel_options'][''] = '';
! $type = $type === '' ? 1 :
intval($type);
! $type2 = $type2 === '' ? 10 :
intval($type2);
! $type3 = !$type3 ? 1 : intval($type3);
! if (($type < $type2) != ($type3 > 0))
{
! $type3 = -$type3; // void
infinite loop
! }
! for ($i=0,$n=$type; $n <= $type2 && $i
<= 100; $n += $type3)
! {
! $cell['sel_options'][$n] = $n;
}
$cell['no_lang'] = True;
Index: class.tab_widget.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/etemplate/inc/class.tab_widget.inc.php,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** class.tab_widget.inc.php 9 Oct 2002 00:32:04 -0000 1.12
--- class.tab_widget.inc.php 13 Apr 2003 19:14:50 -0000 1.13
***************
*** 34,47 ****
function
pre_process($form_name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
{
$labels = explode('|',$cell['label']);
$helps = explode('|',$cell['help']);
$names = explode('|',$cell['name']);
! $tabs = new etemplate();
! $tab = new etemplate('etemplate.tab_widget.tab');
$tab_active = new
etemplate('etemplate.tab_widget.tab_active');
!
$tabs->init('*** generated tabs','','',0,'',0,0);
// make an empty template
$tab_row = array(); // generate the tab row
while (list($k,$name) = each($names))
--- 34,62 ----
function
pre_process($form_name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
{
+ $dom_enabled =
0;//$GLOBALS['phpgw_info']['etemplate']['dom_enabled'];
$labels = explode('|',$cell['label']);
$helps = explode('|',$cell['help']);
$names = explode('|',$cell['name']);
! $tab = new
etemplate('etemplate.tab_widget.tab'.($dom_enabled ? '_dom' : ''));
$tab_active = new
etemplate('etemplate.tab_widget.tab_active');
! $tabs = new etemplate();
$tabs->init('*** generated tabs','','',0,'',0,0);
// make an empty template
+ foreach($names as $k => $name)
+ {
+ if (!strstr($name,'.'))
+ {
+ $name = $names[$k] = $tmpl->name . '.'
. $name;
+ }
+ if ($extension_data == $name)
+ {
+ $selected_tab = $name;
+ }
+ }
+ if (empty($selected_tab))
+ {
+ $extension_data = $selected_tab = $names[0];
+ }
$tab_row = array(); // generate the tab row
while (list($k,$name) = each($names))
***************
*** 56,67 ****
// save selected tab in persistent
extension_data to use it in post_process
$selected_tab = $name;
! $tcell['obj'] = &$tab_active;
$tcell['name'] = $tab_active->name;
}
else
{
! $tcell['obj'] = &$tab;
$tcell['name'] = $tab->name;
}
$tcell['type'] = 'template';
$tcell['size'] = $cell['name'].'['.$name.']';
--- 71,87 ----
// save selected tab in persistent
extension_data to use it in post_process
$selected_tab = $name;
! $tcell['obj'] = $tab_active;
$tcell['name'] = $tab_active->name;
}
else
{
! $tcell['obj'] = $tab;
$tcell['name'] = $tab->name;
}
+ if ($dom_enabled)
+ {
+
$tcell['obj']->set_cell_attribute('tab','onclick',"activate_tab('$name','$cell[name]');");
+
$tcell['obj']->set_cell_attribute('tab','id',$name.'-tab');
+ }
$tcell['type'] = 'template';
$tcell['size'] = $cell['name'].'['.$name.']';
***************
*** 78,99 ****
$tabs->data[0]['c1'] = ',bottom';
- if (!isset($selected_tab))
- {
- $tab_row['A']['obj'] = &$tab_active;
- $tcell['name'] = $tab_active->name;
- $extension_data = $selected_tab = $names[0];
- }
$tabs->data[1] = $tab_row;
$tabs->set_rows_cols();
! $tabs->size = ',,,,0';
$tab_widget = new etemplate('etemplate.tab_widget');
$tab_widget->set_cell_attribute('@tabs','obj',$tabs);
! $stab = new etemplate($selected_tab,$tmpl->as_array());
! $options = array_pad(explode(',',$stab->size),3,'');
! $options[3] = ($options[3]!= '' ? $options[3].' ':'') .
'tab_body';
! $stab->size = implode(',',$options);
! $tab_widget->set_cell_attribute('@body','obj',$stab);
$tab_widget->set_cell_attribute('@body','name',$selected_tab);
--- 98,133 ----
$tabs->data[0]['c1'] = ',bottom';
$tabs->data[1] = $tab_row;
$tabs->set_rows_cols();
! $tabs->size = "$cell[width],,,0,0";
$tab_widget = new etemplate('etemplate.tab_widget');
$tab_widget->set_cell_attribute('@tabs','obj',$tabs);
! if ($dom_enabled)
! {
!
$tab_widget->set_cell_attribute('@body','type','deck');
!
$tab_widget->set_cell_attribute('@body','width',$cell['width']);
!
$tab_widget->set_cell_attribute('@body','height',$cell['height']);
!
$tab_widget->set_cell_attribute('@body','size',count($names));
!
$tab_widget->set_cell_attribute('@body','class',$cell['class']);
! foreach($names as $n => $name)
! {
! $bcell = $tab_widget->empty_cell();
! $bcell['type'] = 'template';
! $bcell['obj'] = new
etemplate($name,$tmpl->as_array());
! $bcell['name'] = $name;
!
$tab_widget->set_cell_attribute('@body',$n+1,$bcell);
! }
!
$tab_widget->set_cell_attribute('@body','name',$cell['name']);
! }
! else
! {
! $stab = new
etemplate($selected_tab,$tmpl->as_array());
! $options =
array_pad(explode(',',$stab->size),3,'');
! $options[3] = ($options[3]!= '' ? $options[3].'
':'') . 'tab_body';
! $stab->size = implode(',',$options);
!
$tab_widget->set_cell_attribute('@body','obj',$stab);
! }
$tab_widget->set_cell_attribute('@body','name',$selected_tab);
Index: class.uietemplate.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/etemplate/inc/class.uietemplate.inc.php,v
retrieving revision 1.54
retrieving revision 1.55
diff -C2 -r1.54 -r1.55
*** class.uietemplate.inc.php 22 Feb 2003 15:03:27 -0000 1.54
--- class.uietemplate.inc.php 13 Apr 2003 19:14:50 -0000 1.55
***************
*** 56,60 ****
list($a,$b,$c,$d) =
explode('.',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']);
//echo "Version: $a.$b.$c.$d\n";
! $this->stable = $a <= 0 && $b <= 9 && $c <= 14;
}
--- 56,60 ----
list($a,$b,$c,$d) =
explode('.',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']);
//echo "Version: $a.$b.$c.$d\n";
! $this->stable = $a <= 0 && $b <= 9 && $c <= 14 &&
!is_object($GLOBALS['phpgw']->xslttpl);
}
***************
*** 153,156 ****
--- 153,157 ----
'to_process' =>
$GLOBALS['phpgw_info']['etemplate']['to_process'],
'java_script' =>
$GLOBALS['phpgw_info']['etemplate']['java_script'],
+ 'dom_enabled' =>
$GLOBALS['phpgw_info']['etemplate']['dom_enabled'],
'method' => $method,
'hooked' => $hooked
***************
*** 194,197 ****
--- 195,199 ----
$GLOBALS['phpgw_info']['etemplate']['extension_data'] =
$session_data['extension_data'];
$GLOBALS['phpgw_info']['etemplate']['java_script'] =
$session_data['java_script'] || $GLOBALS['HTTP_POST_VARS']['java_script'];
+ $GLOBALS['phpgw_info']['etemplate']['dom_enabled'] =
$session_data['dom_enabled'] || $GLOBALS['HTTP_POST_VARS']['dom_enabled'];
//echo "globals[java_script] =
'".$GLOBALS['phpgw_info']['etemplate']['java_script']."',
session_data[java_script] = '".$session_data['java_script']."',
HTTP_POST_VARS[java_script] =
'".$GLOBALS['HTTP_POST_VARS']['java_script']."'\n";
//echo "process_exec($this->name) content =";
_debug_array($content);
***************
*** 346,350 ****
{
$cell = &$cols[$c_key];
! list(,$col_disabled) =
explode(',',$opts[$col]);
}
if ($cell['type'] == 'template' &&
$cell['onchange'])
--- 348,369 ----
{
$cell = &$cols[$c_key];
! list($col_width,$col_disabled)
= explode(',',$opts[$col]);
!
! if (!$cell['height']) // if
not set, cell-height = height of row
! {
! $cell['height'] =
$height;
! }
! if (!$cell['width']) // if
not set, cell-width = width of column or table
! {
! list($col_span) =
explode(',',$cell['span']);
! if ($col_span == 'all'
&& !$c)
! {
!
list($cell['width']) = explode(',',$this->size);
! }
! else
! {
! $cell['width']
= $col_width;
! }
! }
}
if ($cell['type'] == 'template' &&
$cell['onchange'])
***************
*** 363,366 ****
--- 382,394 ----
continue;
}
+ if ($cell['onclick']) // can only be
set via source at the moment
+ {
+ $row_data[".$col"] .= '
onClick="'.$cell['onclick'].'"';
+
+ if ($cell['id'])
+ {
+ $row_data[".$col"] .= '
ID="'.$cell['id'].'"';
+ }
+ }
$colspan = $span == 'all' ?
$this->cols-$c : 0+$span;
if ($colspan > 1)
***************
*** 479,483 ****
}
}
! if ($cell['onchange'] && $cell['type'] !=
'button') // values != '1' can only set by a program (not in the editor so
far)
{
$options .= '
onChange="'.($cell['onchange']=='1'?'this.form.submit();':$cell['onchange']).'"';
--- 507,511 ----
}
}
! if ($cell['onchange'] && $cell['type'] !=
'button') // values != '1' can only set by a program (not in the editor so fa
{
$options .= '
onChange="'.($cell['onchange']=='1'?'this.form.submit();':$cell['onchange']).'"';
***************
*** 577,594 ****
case 'button':
list($app) = explode('.',$this->name);
! if ($this->java_script() &&
$cell['onchange'])
{
! $html .=
$this->html->input_hidden($form_name,'',False) . "\n";
! $html .= '<a href=""
onClick="set_element(document.eTemplate,\''.$form_name.'\',\'pressed\');
document.eTemplate.submit(); return false;" '.$options.'>' .
! (strlen($label) <= 1 ||
$cell['no_lang'] ? $label : lang($label)) . '</a>';
}
else
{
list($img,$ro_img) =
explode(',',$cell['size']);
! if (!empty($img))
{
$options .= '
TITLE="'.(strlen($label)<=1||$cell['no_lang']?$label:lang($label)).'"';
}
! $html .= !$readonly ?
$this->html->submit_button($form_name,$label,'',
strlen($label) <= 1 ||
$cell['no_lang'],$options,$img,$app) :
$this->html->image($app,$ro_img);
--- 605,630 ----
case 'button':
list($app) = explode('.',$this->name);
! if ($this->java_script() &&
$cell['onchange'] != '') // use a link instead of a button
{
! if ($cell['onchange'] == 1)
! {
! $html .=
$this->html->input_hidden($form_name,'',False) . "\n";
! $html .= '<a href=""
onClick="set_element(document.eTemplate,\''.$form_name.'\',\'pressed\');
document.eTemplate.submit(); return false;" '.$options.'>' .
! (strlen($label)
<= 1 || $cell['no_lang'] ? $label : lang($label)) . '</a>';
! }
! else // use custom javascript
! {
! $html .= '<a href=""
onClick="'.$cell['onchange'].'; return false;" '.$options.'>' .
! (strlen($label)
<= 1 || $cell['no_lang'] ? $label : lang($label)) . '</a>';
! }
}
else
{
list($img,$ro_img) =
explode(',',$cell['size']);
! if (!empty($img))
{
$options .= '
TITLE="'.(strlen($label)<=1||$cell['no_lang']?$label:lang($label)).'"';
}
! $html .= !$readonly ?
$this->html->submit_button($form_name,$label,$cell['onchange'],
strlen($label) <= 1 ||
$cell['no_lang'],$options,$img,$app) :
$this->html->image($app,$ro_img);
***************
*** 759,762 ****
--- 795,832 ----
}
break;
+ case 'deck':
+ for ($n = 1; $n <= $cell['size'] &&
(empty($value) || $value != $cell[$n]['name']); ++$n) ;
+ if ($n > $cell['size'])
+ {
+ $value = $cell[1]['name'];
+ }
+ if ($s_width = $cell['width'])
+ {
+ $s_width = "width:
$s_width".(substr($s_width,-1) != '%' ? 'px' : '').';';
+ }
+ if ($s_height = $cell['height'])
+ {
+ $s_height = "height:
$s_height".(substr($s_height,-1) != '%' ? 'px' : '').';';
+ }
+ for ($n = 1; $n <= $cell['size']; ++$n)
+ {
+ $h =
$this->show_cell($cell[$n],$content,$sel_options,$readonlys,$cname,$show_c,$show_row,$nul);
+ $vis = !empty($value) && $value
== $cell['size'][$n]['name'] || $n == 1 && $first ? 'visible' : 'hidden';
+ list (,$cl) =
explode(',',$cell[$n]['span']);
+ $html .=
$this->html->div($h,$this->html->formatOptions(array(
+ $cl.($cl ? '
':'').'tab_body',
+ "$s_width $s_height
position: absolute; left: 0px; top: 0px; visibility: $vis; z-index: 50;",
+ $cell[$n]['name']
+ ),'CLASS,STYLE,ID'));
+ }
+ $html .=
$this->html->input_hidden($form_name,$value); // to store active plane
+
+ list (,$cl) =
explode(',',$cell['span']);
+ $html =
$this->html->input_hidden($form_name,$value)."\n". // to store active plane
+
$this->html->div($html,$this->html->formatOptions(array(
+ $cl,
+ "$s_width $s_height
position: relative; z-index: 100;"
+ ),'CLASS,STYLE'));
+ break;
default:
if ($ext_type &&
$this->haveExtension($ext_type,'render'))
***************
*** 787,793 ****
$label =
$this->html->label($label,$form_name,$accesskey[1]);
}
! if (strstr($label,'%s'))
{
! $html = str_replace('%s',$html,$label);
}
elseif (($html = $label . ' ' . $html) == ' ')
--- 857,863 ----
$label =
$this->html->label($label,$form_name,$accesskey[1]);
}
! if ($type == 'radio' || strstr($label,'%s'))
// default for radio is label after the button
{
! $html = strstr($label,'%s') ?
str_replace('%s',$html,$label) : $html.' '.$label;
}
elseif (($html = $label . ' ' . $html) == ' ')
***************
*** 925,929 ****
@abstract is javascript enabled?
@discussion this should be tested by the api at login
! @result true if javascript is enabled or not yet tested
*/
function java_script($consider_not_tested_as_enabled = True)
--- 995,999 ----
@abstract is javascript enabled?
@discussion this should be tested by the api at login
! @result true if javascript is enabled or not yet tested and
$consider_not_tested_as_enabled
*/
function java_script($consider_not_tested_as_enabled = True)
***************
*** 948,951 ****
--- 1018,1024 ----
$js = '<script language="javascript">
document.write(\''.str_replace("\n",'',$this->html->input_hidden('java_script','1')).'\');
+ if (document.getElementById) {
+
document.write(\''.str_replace("\n",'',$this->html->input_hidden('dom_enabled','1')).'\');
+ }
</script>
';
***************
*** 955,962 ****
if ($this->java_script(True))
{
! $js .= '<script language="JavaScript">
function set_element(form,name,value)
{
! '. /* ' alert("set_element: "+name+"="+value);'. */ '
for (i = 0; i < form.length; i++)
{
--- 1028,1035 ----
if ($this->java_script(True))
{
! $js .= "<script language=\"JavaScript\">
function set_element(form,name,value)
{
! ". /* " alert('set_element: '+name+'='+value);". */ "
for (i = 0; i < form.length; i++)
{
***************
*** 970,974 ****
function set_element2(form,name,vname)
{
! '. /* ' alert("set_element2: "+name+"="+vname);'. */ '
for (i = 0; i < form.length; i++)
{
--- 1043,1047 ----
function set_element2(form,name,vname)
{
! ". /* " alert('set_element2: '+name+'='+vname);". */ "
for (i = 0; i < form.length; i++)
{
***************
*** 978,982 ****
}
}
! '. /* ' alert("set_element2: "+name+"="+value);'. */ '
for (i = 0; i < form.length; i++)
{
--- 1051,1055 ----
}
}
! ". /* " alert('set_element2: '+name+'='+value);". */ "
for (i = 0; i < form.length; i++)
{
***************
*** 987,992 ****
}
}
</script>
! ';
}
return $js;
--- 1060,1086 ----
}
}
+
+ function activate_tab(tab,all_tabs,name)
+ {
+ var tabs = all_tabs.split('|');
+ var parts = tab.split('.');
+ var last_part = parts.length-1;
+
+ for (n = 0; n < tabs.length; n++)
+ {
+ var t = tabs[n];
+
+ if (t.indexOf('.') < 0 && parts.length > 1)
+ {
+ parts[last_part] = t;
+ t = parts.join('.');
+ }
+ document.getElementById(t).style.visibility = t == tab ?
'visible' : 'hidden';
+ document.getElementById(t+'-tab').className =
'etemplate_tab'+(t == tab ? '_active th' : ' row_on');
+ }
+ document.getElementByName(name).value = tab;
+ }
</script>
! ";
}
return $js;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] CVS: etemplate/inc class.date_widget.inc.php,1.9,1.10 class.select_widget.inc.php,1.5,1.6class.tab_widget.inc.php,1.12,1.13 class.uietemplate.inc.php,1.54,1.55,
Ralf Becker <address@hidden> <=
- Prev by Date:
[Phpgroupware-cvs] CVS: etemplate/inc class.sbox2.inc.php,1.6,1.7
- Next by Date:
[Phpgroupware-cvs] CVS: etemplate/setup phpgw_de.lang,1.3,1.4 phpgw_en.lang,1.25,1.26
- Previous by thread:
[Phpgroupware-cvs] CVS: etemplate/inc class.sbox2.inc.php,1.6,1.7
- Next by thread:
[Phpgroupware-cvs] CVS: etemplate/setup phpgw_de.lang,1.3,1.4 phpgw_en.lang,1.25,1.26
- Index(es):