forked from extern/egroupware
"stop storing rows content in session by using an empty new var $rows in calling the get_rows funktion:
get_rows($value,$rows,$readonlys) instead get_rows($value,$value['rows'],$readonlys) because $values['rows'] as reference would be stored in the session, when apps store $query parameter in the session "
This commit is contained in:
parent
d61c1af60f
commit
33d617aa8f
@ -261,6 +261,7 @@ class nextmatch_widget
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// save values in persistent extension_data to be able use it in post_process
|
// save values in persistent extension_data to be able use it in post_process
|
||||||
|
unset($value['rows']);
|
||||||
$extension_data += $value;
|
$extension_data += $value;
|
||||||
|
|
||||||
$value['no_csv_export'] = $value['csv_fields'] === false ||
|
$value['no_csv_export'] = $value['csv_fields'] === false ||
|
||||||
@ -308,6 +309,7 @@ class nextmatch_widget
|
|||||||
// presetting the options for selectcols empty, so the get_rows function can set it
|
// presetting the options for selectcols empty, so the get_rows function can set it
|
||||||
$value['options-selectcols'] = array();
|
$value['options-selectcols'] = array();
|
||||||
}
|
}
|
||||||
|
$rows = array();
|
||||||
if (!is_object($obj) || !method_exists($obj,$method))
|
if (!is_object($obj) || !method_exists($obj,$method))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw_info']['etemplate']['validation_errors'][$name] = "nextmatch_widget::pre_process($cell[name]): '$value[get_rows]' is no valid method !!!";
|
$GLOBALS['egw_info']['etemplate']['validation_errors'][$name] = "nextmatch_widget::pre_process($cell[name]): '$value[get_rows]' is no valid method !!!";
|
||||||
@ -315,24 +317,26 @@ class nextmatch_widget
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!is_array($readonlys)) $readonlys = array();
|
if (!is_array($readonlys)) $readonlys = array();
|
||||||
$total = $extension_data['total'] = $value['total'] = $obj->$method($value,$value['rows'],$readonlys['rows']);
|
$total = $extension_data['total'] = $value['total'] = $obj->$method($value,$rows,$readonlys['rows']);
|
||||||
|
|
||||||
// allow the get_rows function to override / set sel_options
|
|
||||||
if (isset($value['rows']['sel_options']) && is_array($value['rows']['sel_options']))
|
|
||||||
{
|
|
||||||
$tmpl->sel_options = array_merge($tmpl->sel_options,$value['rows']['sel_options']);
|
|
||||||
unset($value['rows']['sel_options']);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if ($method && $total && $value['start'] >= $total)
|
if ($method && $total && $value['start'] >= $total)
|
||||||
{
|
{
|
||||||
$value['start'] = 0;
|
$value['start'] = 0;
|
||||||
$total = $extension_data['total'] = $value['total'] = $obj->$method($value,$value['rows'],$readonlys['rows']);
|
$total = $extension_data['total'] = $value['total'] = $obj->$method($value,$rows,$readonlys['rows']);
|
||||||
}
|
}
|
||||||
if (is_array($value['rows'][0])) // fixed 0 based arrays
|
// allow the get_rows function to override / set sel_options
|
||||||
|
if (isset($rows['sel_options']) && is_array($value['rows']['sel_options']))
|
||||||
{
|
{
|
||||||
array_unshift($value['rows'],false);
|
$tmpl->sel_options = array_merge($tmpl->sel_options,$rows['sel_options']);
|
||||||
|
unset($rows['sel_options']);
|
||||||
}
|
}
|
||||||
|
if (is_array($rows[0])) // fixed 0 based arrays
|
||||||
|
{
|
||||||
|
array_unshift($rows,false);
|
||||||
|
}
|
||||||
|
$value['rows'] =& $rows;
|
||||||
|
unset($rows);
|
||||||
|
|
||||||
list($template,$options) = explode(',',$cell['size']);
|
list($template,$options) = explode(',',$cell['size']);
|
||||||
if (!$value['template'] && $template) // template name can be supplied either in $value['template'] or the options-field
|
if (!$value['template'] && $template) // template name can be supplied either in $value['template'] or the options-field
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user