[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] etemplate/inc class.uietemplate.inc.php
From: |
Sigurd Nes |
Subject: |
[Phpgroupware-cvs] etemplate/inc class.uietemplate.inc.php |
Date: |
Wed, 14 Feb 2007 09:56:08 +0000 |
CVSROOT: /sources/phpgroupware
Module name: etemplate
Changes by: Sigurd Nes <sigurdne> 07/02/14 09:56:08
Modified files:
inc : class.uietemplate.inc.php
Log message:
clean out temporary functions and commented code
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/etemplate/inc/class.uietemplate.inc.php?cvsroot=phpgroupware&r1=1.78&r2=1.79
Patches:
Index: class.uietemplate.inc.php
===================================================================
RCS file: /sources/phpgroupware/etemplate/inc/class.uietemplate.inc.php,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -b -r1.78 -r1.79
--- class.uietemplate.inc.php 13 Feb 2007 12:59:32 -0000 1.78
+++ class.uietemplate.inc.php 14 Feb 2007 09:56:08 -0000 1.79
@@ -5,7 +5,7 @@
* @author Ralf Becker <address@hidden>
* @license http://www.gnu.org/licenses/gpl.html GNU General Public License
* @package etemplate
-* @version $Id: class.uietemplate.inc.php,v 1.78 2007/02/13 12:59:32 sigurdne
Exp $
+* @version $Id: class.uietemplate.inc.php,v 1.79 2007/02/14 09:56:08 sigurdne
Exp $
*/
include_once(PHPGW_INCLUDE_ROOT .
'/etemplate/inc/class.boetemplate.inc.php');
@@ -193,106 +193,6 @@
}
}
- function
exec_16($method,$content,$sel_options='',$readonlys='',$preserv='',$changes='',$return_html=False)
- {
- //echo "<br>globals[java_script] =
'".$GLOBALS['phpgw_info']['etemplate']['java_script']."', this->java_script() =
'".$this->java_script()."'\n";
- if (!$sel_options)
- {
- $sel_options = array();
- }
- if (!$readonlys)
- {
- $readonlys = array();
- }
- if (!$preserv)
- {
- $preserv = array();
- }
- if (!$changes)
- {
- $changes = array();
- }
- if (isset($content['app_header']))
- {
- $GLOBALS['phpgw_info']['flags']['app_header'] =
$content['app_header'];
- }
- if ($GLOBALS['phpgw_info']['flags']['currentapp'] !=
'etemplate')
- {
-
$GLOBALS['phpgw']->translation->add_app('etemplate'); // some extensions have
own texts
- }
- $id = $this->appsession_id();
- $GLOBALS['phpgw_info']['etemplate']['loop'] = False;
- $GLOBALS['phpgw_info']['etemplate']['form_options'] =
''; // might be set in show
- $GLOBALS['phpgw_info']['etemplate']['to_process'] =
array();
- $html = ($this->stable ?
$this->html->themeStyles()."\n\n" : ''). // so they get included once
- $this->html->form($this->include_java_script(1).
-
$this->show($this->complete_array_merge($content,$changes),$sel_options,$readonlys,'exec'),array(
- 'etemplate_exec_id' => $id
-
),'/etemplate/process_exec.php?menuaction='.$method,'','eTemplate',$GLOBALS['phpgw_info']['etemplate']['form_options']);
-
//_debug_array($GLOBALS['phpgw_info']['etemplate']['to_process']);
- if ($this->stable)
- {
- $hooked =
$GLOBALS['phpgw']->template->get_var('phpgw_body');
- if
(address@hidden'phpgw_info']['etemplate']['hooked'] && !$return_html)
- {
-
$GLOBALS['phpgw_info']['flags']['java_script'] .= $this->include_java_script(2);
-
$GLOBALS['phpgw']->common->phpgw_header();
- }
- else
- {
- $html =
$this->include_java_script(2).$html; // better than nothing
- }
- }
- else
- {
- $hooked =
$GLOBALS['phpgw']->xslttpl->get_var('phpgw');
- $hooked = $hooked['body_data'];
-
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('java_script' =>
$GLOBALS['phpgw_info']['flags']['java_script'].$this->include_java_script(2)));
- }
- /* is in show now for every template
- list($width,$height,,,,,$overflow) =
explode(',',$this->size);
- if ($overflow)
- {
- $html =
$this->html->div($html,'STYLE="'.($width?"width: $width;
":'').($height?"height: $height; ":'')."overflow: $overflow;\"");
- }
- */
- $id = $this->save_appsession($this->as_array(1) + array(
- 'readonlys' => $readonlys,
- 'content' => $content,
- 'changes' => $changes,
- 'sel_options' => $sel_options,
- 'preserv' => $preserv,
- 'extension_data' =>
$GLOBALS['phpgw_info']['etemplate']['extension_data'],
- 'to_process' =>
$GLOBALS['phpgw_info']['etemplate']['to_process'],
- 'java_script' =>
$GLOBALS['phpgw_info']['etemplate']['java_script'],
- 'dom_enabled' =>
$GLOBALS['phpgw_info']['etemplate']['dom_enabled'],
- 'hooked' => $hooked != '' ? $hooked :
$GLOBALS['phpgw_info']['etemplate']['hook_content']
- ),$id);
-
- if ($return_html)
- {
- return $html;
- }
- if ($this->stable)
- {
- if
(address@hidden'phpgw_info']['etemplate']['hooked'])
- {
- echo parse_navbar();
- }
- echo
$GLOBALS['phpgw_info']['etemplate']['hook_content'].$html;
-
- if
(address@hidden'phpgw_info']['etemplate']['hooked'] &&
- (!isset($_GET['menuaction']) ||
strstr($_SERVER['PHP_SELF'],'process_exec.php')))
- {
-
$GLOBALS['phpgw']->common->phpgw_footer();
- }
- }
- else
- {
-
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('body_data' => $html));
- }
- }
-
/*!
@function process_exec
@abstract Makes the necessary adjustments to _POST before it
calls the app's method
@@ -377,6 +277,7 @@
//echo "<p>check_disabled: '".($not?'!':'')."$disabled'
= '$val' ".(count($vals) == 1 ? '' : ($not?'!':'=')."= '$check_val'")." =
".($result?'True':'False')."</p>\n";
return $result;
}
+
/**
* creates HTML from an eTemplate
*
@@ -610,800 +511,32 @@
if (
!isset($GLOBALS['phpgw_info']['etemplate']['styles_included'][$this->name])
||
!$GLOBALS['phpgw_info']['etemplate']['styles_included'][$this->name] )
{
- $style = $this->html->style($this->style);
-
$GLOBALS['phpgw_info']['etemplate']['styles_included'][$this->name] = True;
- }
- $html =
$this->html->table($rows,$this->html->formatOptions($this->size,'WIDTH,HEIGHT,BORDER,CLASS,CELLSPACING,CELLPADDING'),$no_table_tr);
-
- $tmpa = explode(',',$this->size);
- $width = isset($tmpa[0]) ? $tmpa[0] : '';
- $height = isset($tmpa[1]) ? $tmpa[1] : '';
- $overflow = isset($tmpa[6]) ? $tmpa[6] : '';
- unset($tmpa);
-
- if (!empty($overflow)) {
- $div_style=' STYLE="'.($width?"width: $width;
":'').($height ? "height: $height; ":'')."overflow: $overflow\"";
- $html = $this->html->div($html,$div_style);
- }
- $style = isset($style) ? $style : '';
- return "\n\n<!-- BEGIN $this->name
-->\n$style\n".$html."<!-- END $this->name -->\n\n";
- }
-
-
- /*!
- @function show
- @abstract creates HTML from an eTemplate
- @discussion This is done by calling show_cell for each cell in
the form. show_cell itself
- @discussion calls show recursivly for each included eTemplate.
- @discussion You can use it in the UI-layer of an app, just make
shure to call process_show !!!
- @discussion This is intended as internal function and should
NOT be called by new app's direct,
- @discussion as it deals with HTML and is so UI-dependent, use
exec instead.
- @param $content array with content for the cells, keys are the
names given in the cells/form elements
- @param $sel_options array with options for the selectboxes,
keys are the name of the selectbox
- @param $readonlys array with names of cells/form-elements to be
not allowed to change
- @param This is to facilitate complex ACL's which
denies access on field-level !!!
- @param $cname basename of names for form-elements, means index
in $_POST
- @param eg. $cname='cont', element-name = 'name' returned
content in $_POST['cont']['name']
- @param $show_xxx row,col name/index for name expansion
- @result the generated HTML
- */
- function
show_16($content,$sel_options='',$readonlys='',$cname='',$show_c=0,$show_row=0,
- $no_table_tr=False,$tr_class='')
- {
- if (!$sel_options)
- {
- $sel_options = array();
- }
- if (!$readonlys)
- {
- $readonlys = array();
- }
- if (is_int($this->debug) && $this->debug >= 1 ||
$this->debug == $this->name && $this->name)
- {
- echo "<p>etemplate.show($this->name): $cname
=\n"; _debug_array($content);
- }
- if (!is_array($content))
- {
- $content = array(); // happens if incl.
template has no content
- }
- $content += array( // for var-expansion in names
in show_cell
- '.c' => $show_c,
- '.col' => $this->num2chrs($show_c-1),
- '.row' => $show_row
- );
- reset($this->data);
- if (isset($this->data[0]))
- {
- list(,$opts) = each($this->data);
- }
- else
- {
- $opts = array();
- }
- for ($r = 0; $row = 1+$r /*list($row,$cols) =
each($this->data)*/; ++$r)
- {
- if (!(list($r_key) = each($this->data)))
// no further row
- {
- if
(!($this->autorepeat_idx($cols['A'],0,$r,$idx,$idx_cname) && $idx_cname) &&
-
!($this->autorepeat_idx($cols['B'],1,$r,$idx,$idx_cname) && $idx_cname) ||
-
!$this->isset_array($content,$idx))
- {
- break;
// no auto-row-repeat
- }
- }
- else
- {
- $cols = &$this->data[$r_key];
- list($height,$disabled) =
explode(',',$opts["h$row"]);
- $class = $no_table_tr ? $tr_class :
$opts["c$row"];
- }
- if ($disabled != '' &&
$this->check_disabled($disabled,$content))
- {
- continue; // row is disabled
- }
- $rows[".$row"] .=
$this->html->formatOptions($height,'HEIGHT');
- list($cl) = explode(',',$class);
- if ($cl == 'nmr' || $cl == 'row')
- {
- $cl = 'row_'.($nmr_alternate++ & 1 ?
'off' : 'on'); // alternate color
- }
- $cl = isset($this->class_conf[$cl]) ?
$this->class_conf[$cl] : $cl;
- $rows[".$row"] .=
$this->html->formatOptions($cl,'CLASS');
- $rows[".$row"] .=
$this->html->formatOptions($class,',VALIGN');
-
- reset ($cols);
- $row_data = array();
- for ($c = 0; True /*list($col,$cell) =
each($cols)*/; ++$c)
- {
- $col = $this->num2chrs($c);
- if (!(list($c_key) = each($cols)))
// no further cols
- {
- if
(!$this->autorepeat_idx($cell,$c,$r,$idx,$idx_cname,True) ||
-
!$this->isset_array($content,$idx))
- {
- break; // no
auto-col-repeat
- }
- }
- else
- {
- $cell = &$cols[$c_key];
- list($col_width,$col_disabled)
= explode(',',$opts[$col]);
-
- if (!isset($cell['height']) ||
!$cell['height']) // if not set, cell-height = height of row
- {
- $cell['height'] =
$height;
- }
- if (!isset($cell['width']) ||
!$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'])
- {
- $cell['tr_class'] = $cl;
- }
- if ($col_disabled != '' &&
$this->check_disabled($col_disabled,$content))
- {
- continue; // col is
disabled
- }
- $row_data[$col] =
$this->show_cell($cell,$content,$sel_options,$readonlys,$cname,
- $c,$r,$span);
- if ($row_data[$col] == '' &&
$this->rows == 1)
- {
- unset($row_data[$col]); // omit
empty/disabled cells if only one row
- 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)
- {
- $row_data[".$col"] .= "
COLSPAN=\"$colspan\"";
- for ($i = 1; $i < $colspan;
++$i,++$c)
- {
- each($cols); // skip
next cell(s)
- }
- }
- else
- {
- list($width,$disable) =
explode(',',$opts[$col]);
- if ($width) //
width only once for a non colspan cell
- {
- $row_data[".$col"] .= "
WIDTH=\"$width\"";
- $opts[$col] =
"0,$disable";
- }
- }
- $row_data[".$col"] .=
$this->html->formatOptions($cell['align'],'ALIGN');
- list(,$cl) = explode(',',$cell['span']);
- $cl =
$this->expand_name(isset($this->class_conf[$cl]) ? $this->class_conf[$cl] : $cl,
-
$c,$r,$show_c,$show_row,$content);
- $row_data[".$col"] .=
$this->html->formatOptions($cl,'CLASS');
- }
- $rows[$row] = $row_data;
- }
- if
(!$GLOBALS['phpgw_info']['etemplate']['styles_included'][$this->name])
- {
- $style = $this->html->style($this->style);
-
$GLOBALS['phpgw_info']['etemplate']['styles_included'][$this->name] = True;
- }
- $html =
$this->html->table($rows,$this->html->formatOptions($this->size,'WIDTH,HEIGHT,BORDER,CLASS,CELLSPACING,CELLPADDING'),$no_table_tr);
-
- list($width,$height,,,,,$overflow) =
explode(',',$this->size);
- if (!empty($overflow)) {
- $div_style=' STYLE="'.($width?"width: $width;
":'').($height ? "height: $height; ":'')."overflow: $overflow\"";
- $html = $this->html->div($html,$div_style);
- }
- return "\n\n<!-- BEGIN $this->name
-->\n$style\n".$html."<!-- END $this->name -->\n\n";
- }
-
- /**
- * generates HTML for 1 input-field / cell
- *
- * calls show to generate included eTemplates. Again only an
INTERMAL function.
- * @param $cell array with data of the cell: name, type, ...
- * @param for rest see show
- * @return the generated HTML
- */
- function
show_cell_head($cell,$content,$sel_options,$readonlys,$cname,$show_c,$show_row,&$span)
- {
- $options = '';
- if (is_int($this->debug) && $this->debug >= 3 ||
$this->debug == $cell['type'])
- {
- echo
"<p>etemplate.show_cell($this->name,name='${cell['name']}',type='${cell['type']}',cname='$cname')</p>\n";
- }
-
- if(isset($cell['span']))
- {
- list($span) = explode(',',$cell['span']);
// evtl. overriten later for type template
- }
- else
- {
- $span = '';
- }
-
- $name = '';
- if(isset($cell['name']))
- {
- if ($cell['name'][0] == '@' && $cell['type'] !=
'template')
- {
- $cell['name'] =
$this->get_array($content,substr($cell['name'],1));
- }
- $name =
$this->expand_name($cell['name'],$show_c,$show_row,$content['.c'],$content['.row'],$content);
- }
-
- $name_parts = explode('[',str_replace(']','',$name));
- if (!empty($cname))
- {
- array_unshift($name_parts,$cname);
- }
- $form_name = array_shift($name_parts);
- if (count($name_parts))
- {
- $form_name .= '['.implode('][',$name_parts).']';
- }
- $value = $this->get_array($content,$name);
-
- if ( ( isset($cell['readonly']) && $readonly =
$cell['readonly'])
- || (isset($readonlys[$name]) &&
$readonlys[$name] && !is_array($readonlys[$name]))
- || isset($readonlys['__ALL__']) )
- {
- $options .= ' readonly';
- }
-
- if ( (isset($cell['disabled']) && $cell['disabled'])
- || $readonlys && ( isset($cell['type']) &&
$cell['type'] == 'button') && ( isset($cell['size']) &&
!strstr($cell['size'],',') ) )
- {
- if ($this->rows == 1) {
- return ''; // if only one row omit
cell
- }
- $cell = $this->empty_cell(); // show nothing
- $value = '';
- }
- $extra_label = True;
-
- $sub_type = '';
- $cell_type = explode('-', $cell['type']);
- $type = $cell_type[0];
- if ( count($cell_type) == 2 )
- {
- $sub_type = $cell_type[1];
- }
- if ((!$this->types[$cell['type']] || !empty($sub_type))
&& $this->haveExtension($type,'pre_process'))
- {
- $ext_type = $type;
- $extra_label =
$this->extensionPreProcess($ext_type,$form_name,$value,$cell,$readonlys[$name]);
-
- $readonly = (isset($readonly) && $readonly) ||
(isset($cell['readonly']) && $cell['readonly']); // might be set be extension
- $this->set_array($content,$name,$value);
- }
-
- $cell_options = '';
- if ( isset($cell['size']) )
- {
- $cell_options = $cell['size'];
- }
- if ( strlen($cell_options) && $cell_options[0] == '@')
- {
- $cell_options =
$this->get_array($content,substr($cell_options,1));
- }
-
- if ( !isset($cell['label']) )
- {
- $cell['label'] = '';
- }
- $label =
$this->expand_name($cell['label'],$show_c,$show_row,$content['.c'],$content['.row'],$content);
-
- $help = '';
- if ( isset($cell['help']) )
- {
- $help = $cell['help'];
- }
- if ( isset($help[0]) && $help[0] == '@')
- {
- $help =
$this->get_array($content,substr($help,1));
- }
-
- $blur = '';
- if ( isset($call['blur']) )
- {
- if ( $cell['blur'][0] == '@' )
- {
- $blur =
$this->get_array($content,substr($cell['blur'],1));
- }
- else if ( strlen($cell['blur']) <= 1 )
- {
- $blur = $cell['blur'];
- }
- $blur = lang($blur);
- }
-
- $onBlur = '';
- $onFocus = '';
- if ($this->java_script())
- {
- if ($blur)
- {
- if (empty($value))
- {
- $value = $blur;
- }
- $onFocus .=
"if(this.value=='".addslashes(htmlspecialchars($blur))."') this.value='';";
- $onBlur .= "if(this.value=='')
this.value='".addslashes(htmlspecialchars($blur))."';";
- }
- if ($help)
- {
- if ( isset($cell['no_lang']) &&
$cell['no_lang'] < 2)
- {
- $help = lang($help);
- }
- $onFocus .=
"self.status='".addslashes(htmlspecialchars($help))."'; return true;";
- $onBlur .= "self.status=''; return
true;";
- if ($cell['type'] == 'button' ||
$cell['type'] == 'file') // for button additionally when mouse over button
- {
- $options .= "
onMouseOver=\"self.status='".addslashes(htmlspecialchars($help))."'; return
true;\"";
- $options .= "
onMouseOut=\"self.status=''; return true;\"";
- }
- }
- if ($onBlur)
- {
- $options .= " onFocus=\"$onFocus\"
onBlur=\"$onBlur\"";
- }
- if ( isset($cell['onchange']) &&
$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']).'"';
- }
- }
- if ($form_name != '')
- {
- $options = "ID=\"$form_name\" $options";
- }
-
- $html = '';
- switch ($type)
- {
- case 'label': // size:
[[b]old][[i]talic][,link]
- if (is_array($value))
- {
- break;
- }
- $extra_link = '';
- $tmp = explode(',', $cell_options);
- $style = $tmp[0];
- if ( count($tmp) == 2 )
- {
- $extra_link = $tmp[1];
- }
- unset($tmp);
- $value = strlen($value) > 1 && (
!isset($cell['no_lang']) || !$cell['no_lang']) ? lang($value) : $value;
- $value =
nl2br(htmlspecialchars($value));
- if ($value != '' && strstr($style,'b'))
$value = $this->html->bold($value);
- if ($value != '' && strstr($style,'i'))
$value = $this->html->italic($value);
- $html .= $value;
- break;
- case 'html':
- $extra_link = $cell_options;
- $html .= $value;
- break;
- case 'int': // size:
[min][,[max][,len]]
- case 'float':
- $tmp = explode(',', $cell_options);
- $min = $tmp[0];
- $max = isset($tmp[1]) ? $tmp[1] : '';
- $cell_options = isset($tmp[2]) ?
$tmp[2] : '';
- unset($tmp);
-
- if ($cell_options == '')
- {
- $cell_options = $cell['type']
== 'int' ? 5 : 8;
- }
- // fall-through
- case 'text': // size:
[length][,maxLength]
- if (isset($readonly) && $readonly)
- {
- $html .=
$this->html->bold(htmlspecialchars($value));
- }
- else
- {
- $html .=
$this->html->input($form_name,$value,'',
-
$options.$this->html->formatOptions($cell_options,'SIZE,MAXLENGTH'));
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- }
- break;
- case 'textarea': // Multiline Text
Input, size: [rows][,cols]
- $html .=
$this->html->textarea($form_name,$value,
-
$options.$this->html->formatOptions($cell_options,'ROWS,COLS'));
- if (!isset($readonly) || !$readonly)
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- break;
- case 'checkbox':
- if (!empty($cell_options))
- {
-
list($true_val,$false_val,$ro_true,$ro_false) = explode(',',$cell_options);
- $value = $value == $true_val;
- }
- else
- {
- $ro_true = 'x';
- $ro_false = '';
- }
- if ($value)
- {
- $options .= ' checked';
- }
- if ( isset($readonly) && $readonly)
- {
- $html .= $value ?
$this->html->bold($ro_true) : $ro_false;
- }
- else
- {
- $html .=
$this->html->input($form_name,'1','CHECKBOX',$options);
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = array(
- 'type' => $cell['type'],
- 'values' =>
$cell_options
- );
- }
- break;
- case 'radio': // size: value if
checked
- $set_val =
$this->expand_name($cell_options,$show_c,$show_row,$content['.c'],$content['.row'],$content);
-
- if ($value == $set_val)
- {
- $options .= ' CHECKED';
- }
- if ($readonly)
- {
- $html .= $value == $set_val ?
$this->html->bold('x') : '';
- }
- else
- {
- $html .=
$this->html->input($form_name,$set_val,'RADIO',$options);
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- }
- break;
- case 'button':
- list($app) = explode('.',$this->name);
- if ($this->java_script() &&
isset($cell['onchange']) && $cell['onchange'] != '' && !$cell['needed']) // 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
- {
- $ro_img = '';
- $tmp = explode(',',
$cell_options);
- $img = $tmp[0];
- if ( count($tmp) == 2 )
- {
- $ro_img = $tmp[1];
- }
- unset($tmp);
-
- if (!empty($img))
- {
- $options .= '
title="'.(strlen($label)<=1||$cell['no_lang']?$label:lang($label)).'"';
- }
- $html .= ( !isset($readonly) ||
!$readonly )
- ?
$this->html->submit_button($form_name,$label, isset($cell['onchange']) ?
$cell['onchange'] : '', strlen($label) <= 1 || isset($cell['no_lang'])
,$options, $img, $app)
- :
$this->html->image($app,$ro_img);
- }
- $extra_label = False;
- if (!isset($readonly) || !$readonly )
- {
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- }
- break;
- case 'hrule':
- $html .= $this->html->hr($cell_options);
- break;
- case 'template': // size: index in
content-array (if not full content is past further on)
- if (is_object($cell['name']))
- {
- $cell['obj'] = &$cell['name'];
- unset($cell['name']);
- $cell['name'] = 'was Object';
- echo "<p>Object in Name in tpl
'$this->name': "; _debug_array($this->data);
- }
- $obj_read = 'already loaded';
- if ( !isset($cell['obj']) ||
!is_object($cell['obj']))
- {
- if ($cell['name'][0] == '@')
- {
- $cell['obj'] =
$this->get_array($content,substr($cell['name'],1));
- $obj_read =
is_object($cell['obj']) ? 'obj from content' : 'obj read, obj-name from
content';
- if
(!is_object($cell['obj']))
- {
- $cell['obj'] =
new etemplate($cell['obj'],$this->as_array());
- }
- }
- else
- { $obj_read = 'obj read';
- $cell['obj'] = new
etemplate(/*** TESTWEISE ***$cell['name']*/$name,$this->as_array());
- }
- }
- if (is_int($this->debug) &&
$this->debug >= 3 || $this->debug == $cell['type'])
- {
- echo
"<p>show_cell::template(tpl=$this->name,name=$cell[name]): $obj_read</p>\n";
- }
- if
($this->autorepeat_idx($cell,$show_c,$show_row,$idx,$idx_cname) ||
$cell_options != '')
- {
- if ($span == '' &&
isset($content[$idx]['span']))
- { // this allows a
colspan in autorepeated cells like the editor
- list($span) =
explode(',',$content[$idx]['span']);
- if ($span == 'all')
- {
- $span = 1 +
$content['cols'] - $show_c;
- }
- }
- $readonlys =
$this->get_array($readonlys,$idx); //$readonlys[$idx];
- $content =
$this->get_array($content,$idx); // $content[$idx];
- if ($idx_cname != '')
- {
- $cname .= $cname == ''
? $idx_cname : '['.str_replace('[','][',str_replace(']','',$idx_cname)).']';
- }
- //echo
"<p>show_cell-autorepeat($name,$show_c,$show_row,cname='$cname',idx='$idx',idx_cname='$idx_cname',span='$span'):
content ="; _debug_array($content);
- }
- if ( isset($readonly) && $readonly)
- {
- $readonlys['__ALL__'] = True;
- }
- if ( !isset($cell['onchange']) )
- {
- $cell['onchange'] = '';
- }
-
- if ( !isset($cell['tr_class']) )
- {
- $cell['tr_class'] = '';
- }
- $html =
$cell['obj']->show($content,$sel_options,$readonlys,$cname,$show_c,$show_row,$cell['onchange'],$cell['tr_class']);
- break;
- case 'select': // size:[linesOnMultiselect]
- $sels = array();
- list($multiple) =
explode(',',$cell_options);
- if (!empty($multiple) && 0+$multiple <=
0)
- {
- $sels[''] = $multiple < 0 ?
'all' : $multiple;
- if ($cell['no_lang'])
- {
- $sels[''] =
lang($sels['']);
- }
- $multiple = 0;
- }
- if (!empty($cell['sel_options']))
- {
- if
(!is_array($cell['sel_options']))
- {
- $opts =
explode(',',$cell['sel_options']);
- while (list(,$opt) =
each($opts))
- {
- list($k,$v) =
explode('=',$opt);
- $sels[$k] = $v;
- }
- }
- else
- {
- $sels +=
$cell['sel_options'];
- }
- }
- if (isset($sel_options[$name]) &&
is_array($sel_options[$name]))
- {
- $sels += $sel_options[$name];
- }
- elseif (count($name_parts))
- {
- $org_name =
$name_parts[count($name_parts)-1];
- if
(isset($sel_options[$org_name]) && is_array($sel_options[$org_name]))
- {
- $sels +=
$sel_options[$org_name];
- }
- }
- if (isset($content["options-$name"]))
- {
- $sels +=
$content["options-$name"];
- }
- if ( isset($readonly) && $readonly )
- {
- $html .= $cell['no_lang'] ?
$sels[$value] : lang($sels[$value]);
- }
- else
- {
- $html .=
$this->html->select($form_name.($multiple > 1 ? '[]' : ''),$value,$sels,
- isset($cell['no_lang'])
? $cell['no_lang'] : '' ,$options,$multiple);
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- }
- break;
- case 'image':
- $image = $value != '' ? $value : $name;
- $image =
$this->html->image(substr($this->name,0,strpos($this->name,'.')),
- $image,strlen($label) > 1 &&
!$cell['no_lang'] ? lang($label) : $label,'BORDER="0"');
- $html .= $image;
- $extra_link = $cell_options;
- $extra_label = False;
- break;
- case 'file':
- $html .=
$this->html->input_hidden($path =
str_replace($name,$name.'_path',$form_name),'.');
- $html .=
$this->html->input($form_name,'','file',$options);
-
$GLOBALS['phpgw_info']['etemplate']['form_options'] =
-
"enctype=\"multipart/form-data\"
onSubmit=\"set_element2(this,'$path','$form_name')\"";
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- break;
- case 'vbox':
- case 'hbox':
- $rows = array();
- $box_row = 1;
- $box_col = 'A';
- $box_anz = 0;
- for ($n = 1; $n <= $cell_options; ++$n)
- {
- $h =
$this->show_cell($cell[$n],$content,$sel_options,$readonlys,$cname,$show_c,$show_row,$nul);
- if ($h != '' && $h != ' ')
- {
- if ($cell['type'] ==
'vbox')
- {
- $box_row = $n;
- }
- else
- {
- $box_col =
$this->num2chrs($n);
- }
-
$rows[$box_row][$box_col] = $html = $h;
- $box_anz++;
- if (
isset($cell[$n]['align']) && $cell[$n]['align'] )
- {
-
$rows[$box_row]['.'.$box_col] =
$this->html->formatOptions($cell[$n]['align'],'ALIGN');
- }
- $cl = '';
- if (
isset($cell[$n]['span']) )
- {
- $tmp =
explode(',',$cell[$n]['span']);
- if (
count($tmp) == 2 )
- {
- $cl =
$tmp[1];
- }
- }
- $cl =
$this->expand_name(isset($this->class_conf[$cl]) ? $this->class_conf[$cl] : $cl,
-
$show_c,$show_row,$content['.c'],$content['.row'],$content);
- if (
!isset($rows[$box_row][".$box_col"]) )
- {
-
$rows[$box_row][".$box_col"] = '';
- }
-
$rows[$box_row][".$box_col"] .= $this->html->formatOptions($cl, 'CLASS');
- }
- }
- if ($box_anz > 1) // a single
cell is NOT placed into a table
- {
- $html = "\n\n<!-- BEGIN
{$cell['type']} -->\n\n".
-
$this->html->table($rows,$this->html->formatOptions($cell_options,',CELLPADDING,CELLSPACING').
- (isset($cell['align'])
&& $cell['align'] && $type == 'vbox' ? ' width="100%"' : '')). // alignment
only works if table has full width - 100% tables break IE
- "\n\n<!-- END
{$cell['type']} -->\n\n";
- }
- break;
- case 'deck':
- for ($n = 1; $n <= $cell_options &&
(empty($value) || $value != $cell[$n]['name']); ++$n) ;
- if ($n > $cell_options)
- {
- $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_options; ++$n)
- {
- $h =
$this->show_cell($cell[$n],$content,$sel_options,$readonlys,$cname,$show_c,$show_row,$nul);
- $vis = !empty($value) && $value
== $cell_options[$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'))
- {
- $html .=
$this->extensionRender($ext_type,$form_name,$value,$cell,$readonly);
- }
- else
- {
- $html .= "<i>unknown type
'$cell[type]'</i>";
- }
- break;
- }
- if ( isset($ext_type) && $ext_type && !$readonly &&
$this->haveExtension($ext_type,'post_process')) // extension-processing
need to be after all other and only with diff. name
- { // unset it first, if it is already set, to be
after the other widgets of the ext.
-
unset($GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name]);
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] =
'ext-'.$ext_type;
- }
- // save blur-value to strip it in process_exec
- if (!empty($blur) &&
isset($GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name]))
- {
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] =
is_array($GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name]) ?
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] : array('type' =>
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name]);
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name]['blur'] = $blur;
- }
- if ($extra_label && ($label != '' || $html == ''))
- {
- if (strlen($label) > 1 &&
!(isset($cell['no_lang']) && $cell['no_lang'] && $cell['label'] != $label ||
(isset($cell['no_lang']) && $cell['no_lang'] == 2)) )
- {
- $label = lang($label);
- }
- if (($accesskey = strstr($label,'&')) &&
$accesskey[1] != ' ' && $form_name != '' &&
- (($pos = strpos($accesskey,';')) ===
False || $pos > 5))
- {
- $label =
str_replace('&'.$accesskey[1],'<u>'.$accesskey[1].'</u>',$label);
- $label =
$this->html->label($label,$form_name,$accesskey[1]);
- }
- if ($type == 'radio' || $type == 'checkbox' ||
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) == ' ')
- {
- $html = ' ';
- }
- }
- if ( isset($extra_link) && $extra_link )
- {
- $extra_link =
$this->expand_name($extra_link,$show_c,$show_row,$content['.c'],$content['.row'],$content);
- if ($extra_link[0] == '@')
- {
- $extra_link =
$this->get_array($content,substr($extra_link,1));
- }
- if ($extra_link)
- {
- $options = "
onMouseOver=\"self.status='".addslashes(lang($help))."'; return true;\"";
- $options .= "
onMouseOut=\"self.status=''; return true;\"";
- return
$this->html->a_href($html,$extra_link,'',$help != '' ? $options : '');
+ $style = $this->html->style($this->style);
+
$GLOBALS['phpgw_info']['etemplate']['styles_included'][$this->name] = True;
}
+ $html =
$this->html->table($rows,$this->html->formatOptions($this->size,'WIDTH,HEIGHT,BORDER,CLASS,CELLSPACING,CELLPADDING'),$no_table_tr);
+
+ $tmpa = explode(',',$this->size);
+ $width = isset($tmpa[0]) ? $tmpa[0] : '';
+ $height = isset($tmpa[1]) ? $tmpa[1] : '';
+ $overflow = isset($tmpa[6]) ? $tmpa[6] : '';
+ unset($tmpa);
+
+ if (!empty($overflow)) {
+ $div_style=' STYLE="'.($width?"width: $width;
":'').($height ? "height: $height; ":'')."overflow: $overflow\"";
+ $html = $this->html->div($html,$div_style);
}
- return $html;
+ $style = isset($style) ? $style : '';
+ return "\n\n<!-- BEGIN $this->name
-->\n$style\n".$html."<!-- END $this->name -->\n\n";
}
- /*!
- @function show_cell
- @abstract generates HTML for 1 input-field / cell
- @discussion calls show to generate included eTemplates. Again
only an INTERMAL function.
- @param $cell array with data of the cell: name, type, ...
- @param for rest see show
- @result the generated HTML
- @todo - consider delete this function (from .16)
+ /**
+ * generates HTML for 1 input-field / cell
+ *
+ * calls show to generate included eTemplates. Again only an
INTERMAL function.
+ * @param $cell array with data of the cell: name, type, ...
+ * @param for rest see show
+ * @return the generated HTML
*/
function
show_cell($cell,$content,$sel_options,$readonlys,$cname,$show_c,$show_row,&$span)
{
@@ -1412,7 +545,6 @@
{
echo
"<p>etemplate.show_cell($this->name,name='${cell['name']}',type='${cell['type']}',cname='$cname')</p>\n";
}
-// list($span) = explode(',',$cell['span']); //
evtl. overriten later for type template
if(isset($cell['span']))
{
@@ -1423,7 +555,6 @@
$span = '';
}
-
if (isset($cell['name'][0]) && $cell['name'][0] == '@'
&& $cell['type'] != 'template')
{
$cell['name'] =
$this->get_array($content,substr($cell['name'],1));
@@ -1461,16 +592,6 @@
@list($type,$sub_type) = explode('-',$cell['type']); //
fix this
-/* if ((!$this->types[$cell['type']] || !empty($sub_type))
&& $this->haveExtension($type,'pre_process'))
- {
- $ext_type = $type;
- $extra_label =
$this->extensionPreProcess($ext_type,$form_name,$value,$cell,$readonlys[$name]);
-
- $readonly = $readonly || $cell['readonly'];
// might be set be extension
- $this->set_array($content,$name,$value);
- }
-*/
-
if (((!isset($this->types[$cell['type']]) ||
!$this->types[$cell['type']]) || !empty($sub_type)) &&
$this->haveExtension($type,'pre_process'))
{
$ext_type = $type;
@@ -1480,64 +601,6 @@
$this->set_array($content,$name,$value);
}
-
-/*
- $cell_options = $cell['size'];
- if ($cell_options[0] == '@')
- {
- $cell_options =
$this->get_array($content,substr($cell_options,1));
- }
- $label =
$this->expand_name($cell['label'],$show_c,$show_row,$content['.c'],$content['.row'],$content);
- $help = isset($cell['help']) ? $cell['help'] : array();
- if (isset($help[0]) && $help[0] == '@')
- {
- $help =
$this->get_array($content,substr($help,1));
- }
- $blur_temp = isset($cell['blur']) ? $cell['blur'] : '';
- $blur = isset($cell['blur'][0]) && $cell['blur'][0] ==
'@' ? $this->get_array($content,substr($blur_temp,1)) :
- (strlen($blur_temp) <= 1 ? $blur_temp :
lang($blur_temp));
- unset($blur_temp);
-
- if ($this->java_script())
- {
- if ($blur)
- {
- if (empty($value))
- {
- $value = $blur;
- }
- $onFocus .=
"if(this.value=='".addslashes(htmlspecialchars($blur))."') this.value='';";
- $onBlur .= "if(this.value=='')
this.value='".addslashes(htmlspecialchars($blur))."';";
- }
- if ($help)
- {
- if ($cell['no_lang'] < 2)
- {
- $help = lang($help);
- }
- $onFocus .=
"self.status='".addslashes(htmlspecialchars($help))."'; return true;";
- $onBlur .= "self.status=''; return
true;";
- if ($cell['type'] == 'button' ||
$cell['type'] == 'file') // for button additionally when mouse over button
- {
- $options .= "
onMouseOver=\"self.status='".addslashes(htmlspecialchars($help))."'; return
true;\"";
- $options .= "
onMouseOut=\"self.status=''; return true;\"";
- }
- }
- if ($onBlur)
- {
- $options .= " onFocus=\"$onFocus\"
onBlur=\"$onBlur\"";
- }
- 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']).'"';
- }
- }
- if ($form_name != '')
- {
- $options = "ID=\"$form_name\" $options";
- }
-*/
-
$cell_options = '';
if ( isset($cell['size']) )
{
@@ -1661,13 +724,6 @@
break;
case 'int': // size:
[min][,[max][,len]]
case 'float':
-/* list($min,$max,$cell_options) =
explode(',',$cell_options);
- if ($cell_options == '')
- {
- $cell_options = $cell['type']
== 'int' ? 5 : 8;
- }
- // fall-through
-*/
$tmp = explode(',', $cell_options);
$min = $tmp[0];
$max = isset($tmp[1]) ? $tmp[1] : '';
@@ -1680,18 +736,6 @@
}
case 'text': // size:
[length][,maxLength]
-/* if ($readonly)
- {
- $html .=
$this->html->bold(htmlspecialchars($value));
- }
- else
- {
- $html .=
$this->html->input($form_name,$value,'',
-
$options.$this->html->formatOptions($cell_options,'SIZE,MAXLENGTH'));
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- }
- break;
-*/
if (isset($readonly) && $readonly)
{
$html .=
$this->html->bold(htmlspecialchars($value));
@@ -1704,12 +748,6 @@
}
break;
case 'textarea': // Multiline Text
Input, size: [rows][,cols]
-/* $html .=
$this->html->textarea($form_name,$value,
-
$options.$this->html->formatOptions($cell_options,'ROWS,COLS'));
- if (!$readonly)
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- break;
-*/
$html .=
$this->html->textarea($form_name,$value,
$options.$this->html->formatOptions($cell_options,'ROWS,COLS'));
if (!isset($readonly) || !$readonly)
@@ -1761,37 +799,6 @@
}
break;
case 'button':
- /* list($app) = explode('.',$this->name);
- if ($this->java_script() &&
isset($cell['onchange']) && $cell['onchange'] != '' && !$cell['needed']) // 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_options);
- if (!empty($img))
- {
- $options .= '
TITLE="'.(strlen($label)<=1|| isset($cell['no_lang']) &&
$cell['no_lang']?$label:lang($label)).'"';
- }
- $html .= !isset($readonly) ||
!$readonly ?
$this->html->submit_button($form_name,$label,isset($cell['onchange']) ?
$cell['onchange'] : '',
- strlen($label) <= 1 ||
(isset($cell['no_lang']) && $cell['no_lang']),$options,$img,$app) :
-
$this->html->image($app,$ro_img);
- }
- $extra_label = False;
- if (!isset($readonly) || !$readonly)
-
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
- break;
- */
list($app) = explode('.',$this->name);
if ($this->java_script() &&
isset($cell['onchange']) && $cell['onchange'] != '' && (!isset($cell['needed'])
|| !$cell['needed'])) // use a link instead of a button
{
@@ -1960,44 +967,6 @@
break;
case 'vbox':
case 'hbox':
-/* $rows = array();
- $box_row = 1;
- $box_col = 'A';
- $box_anz = 0;
- for ($n = 1; $n <= $cell_options; ++$n)
- {
- $h =
$this->show_cell($cell[$n],$content,$sel_options,$readonlys,$cname,$show_c,$show_row,$nul);
- if ($h != '' && $h != ' ')
- {
- if ($cell['type'] ==
'vbox')
- {
- $box_row = $n;
- }
- else
- {
- $box_col =
$this->num2chrs($n);
- }
-
$rows[$box_row][$box_col] = $html = $h;
- $box_anz++;
- if ($cell[$n]['align'])
- {
-
$rows[$box_row]['.'.$box_col] =
$this->html->formatOptions($cell[$n]['align'],'ALIGN');
- }
- list(,$cl) =
explode(',',$cell[$n]['span']);
- $cl =
$this->expand_name(isset($this->class_conf[$cl]) ? $this->class_conf[$cl] : $cl,
-
$show_c,$show_row,$content['.c'],$content['.row'],$content);
-
$rows[$box_row]['.'.$box_col] .= $this->html->formatOptions($cl,'CLASS');
- }
- }
- if ($box_anz > 1) // a single
cell is NOT placed into a table
- {
- $html = "\n\n<!-- BEGIN
$cell[type] -->\n\n".
-
$this->html->table($rows,$this->html->formatOptions($cell_options,',CELLPADDING,CELLSPACING').
- ($cell['align'] &&
$type == 'vbox' ? ' WIDTH="100%"' : '')). // alignment only works if table
has full width
- "\n\n<!-- END
$cell[type] -->\n\n";
- }
- break;
-*/
$rows = array();
$box_row = 1;
$box_col = 'A';
@@ -2263,105 +1232,6 @@
}
}
- function process_show_16(&$content,$to_process,$cname='')
- {
- if (!isset($content) || !is_array($content) ||
!is_array($to_process))
- {
- return;
- }
- if (is_int($this->debug) && $this->debug >= 1 ||
$this->debug == $this->name && $this->name)
- {
- echo "<p>process_show($this->name) start:
content ="; _debug_array($content);
- }
- $content_in = $cname ? array($cname => $content) :
$content;
- $content = array();
- reset($to_process);
- while (list($form_name,$type) = each($to_process))
- {
- if (is_array($type))
- {
- $attr = $type;
- $type = $attr['type'];
- }
- else
- {
- $attr = array();
- }
- $value =
$this->get_array($content_in,$form_name);
-
- if (isset($attr['blur']) && $attr['blur'] ==
stripslashes($value))
- {
- $value = ''; // blur-values is equal
to emtpy
- }
- //echo "<p>process_show($this->name) $type:
$form_name = '$value'</p>\n";
- list($type,$sub) = explode('-',$type);
- switch ($type)
- {
- case 'ext':
-
$this->extensionPostProcess($sub,$form_name,$this->get_array($content,$form_name),$value);
- break;
- case 'text':
- case 'textarea':
- if (isset($value))
- {
- $value =
stripslashes($value);
- }
-
$this->set_array($content,$form_name,$value);
- break;
- case 'button':
- if ($value)
- {
-
$this->set_array($content,$form_name,$value);
- }
- break;
- case 'select':
-
$this->set_array($content,$form_name,is_array($value) ? implode(',',$value) :
$value);
- break;
- case 'checkbox':
- if (!isset($value)) //
checkbox was not checked
- {
- $value = 0;
// need to be reported too
- }
- if (!empty($attr['values']))
- {
-
list($true_val,$false_val) = explode(',',$attr['values']);
- $value = $value ?
$true_val : $false_val;
- }
-
$this->set_array($content,$form_name,$value);
- break;
- case 'file':
- $parts =
explode('[',str_replace(']','',$form_name));
- $name = array_shift($parts);
- $index = count($parts) ?
'['.implode('][',$parts).']' : '';
- $value = array();
- $parts =
array('tmp_name','type','size','name');
- while (list(,$part) =
each($parts))
- {
- $value[$part] =
$this->get_array($GLOBALS['HTTP_POST_FILES'][$name],$part.$index);
- }
- $value['path'] =
$this->get_array($content_in,substr($form_name,0,-1).'_path]');
- $value['ip'] =
get_var('REMOTE_ADDR',Array('SERVER'));
- if
(function_exists('is_uploaded_file') && !is_uploaded_file($value['tmp_name']))
- {
- $value = array();
// to be on the save side
- }
- //_debug_array($value);
- // fall-throught
- default:
-
$this->set_array($content,$form_name,$value);
- break;
- }
- }
- if ($cname)
- {
- $content = $content[$cname];
- }
- if (is_int($this->debug) && $this->debug >= 2 ||
$this->debug == $this->name && $this->name)
- {
- echo "<p>process_show($this->name) end: content
="; _debug_array($content);
- }
- }
-
/*!
@function java_script
@syntax java_script( $consider_not_tested_as_enabled = True )