forked from extern/egroupware
Backport commit r48253, committed by Nathan Gray.
- validate filters when getting rows - run method (beforeSendToClient, validate) needs to include all sub-templates (header_left, header_right, header_row, template) or those widgets get left out.
This commit is contained in:
parent
c3ae1410ea
commit
2acbdb84d6
@ -289,6 +289,22 @@ class etemplate_widget_nextmatch extends etemplate_widget
|
|||||||
{
|
{
|
||||||
$value = ($value) ? array($value) : array();
|
$value = ($value) ? array($value) : array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate filters
|
||||||
|
if (($template = etemplate_widget_template::instance(self::$request->template['name'], self::$request->template['template_set'],
|
||||||
|
self::$request->template['version'], self::$request->template['load_via'])))
|
||||||
|
{
|
||||||
|
$template = $template->getElementById($form_name);
|
||||||
|
$expand = array(
|
||||||
|
'cont' => array($form_name => $filters),
|
||||||
|
);
|
||||||
|
$valid_filters = array();
|
||||||
|
|
||||||
|
$template->run('validate', array('', $expand, $expand['cont'], &$valid_filters), false); // $respect_disabled=false: as client may disable things, here we validate everything and leave it to the get_rows to interpret
|
||||||
|
$filters = $valid_filters[$form_name];
|
||||||
|
//error_log($this . " Valid filters: " . array2string($filters));
|
||||||
|
}
|
||||||
|
|
||||||
$value = $value_in = array_merge($value, $filters);
|
$value = $value_in = array_merge($value, $filters);
|
||||||
|
|
||||||
//error_log(__METHOD__."('".substr($exec_id,0,10)."...', range=".array2string($queriedRange).', filters='.array2string($filters).", '$form_name', knownUids=".array2string($knownUids).", lastModified=$lastModified) parent_id=$value[parent_id], is_parent=$value[is_parent]");
|
//error_log(__METHOD__."('".substr($exec_id,0,10)."...', range=".array2string($queriedRange).', filters='.array2string($filters).", '$form_name', knownUids=".array2string($knownUids).", lastModified=$lastModified) parent_id=$value[parent_id], is_parent=$value[is_parent]");
|
||||||
@ -987,10 +1003,14 @@ class etemplate_widget_nextmatch extends etemplate_widget
|
|||||||
parent::run($method_name, $params, $respect_disabled);
|
parent::run($method_name, $params, $respect_disabled);
|
||||||
if ($this->id) $cname = self::form_name($cname, $this->id, $params[1]);
|
if ($this->id) $cname = self::form_name($cname, $this->id, $params[1]);
|
||||||
|
|
||||||
if ($this->attrs['template'])
|
// Run on all the sub-templates
|
||||||
|
foreach(array('template', 'header_left', 'header_right', 'header_row') as $sub_template)
|
||||||
{
|
{
|
||||||
$row_template = etemplate_widget_template::instance($this->attrs['template']);
|
if($this->attrs[$sub_template])
|
||||||
$row_template->run($method_name, $params, $respect_disabled);
|
{
|
||||||
|
$row_template = etemplate_widget_template::instance($this->attrs[$sub_template]);
|
||||||
|
$row_template->run($method_name, $params, $respect_disabled);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$params[0] = $old_param0;
|
$params[0] = $old_param0;
|
||||||
|
Loading…
Reference in New Issue
Block a user