From: <ral...@us...> - 2014-03-28 17:32:40
|
Author: ralfbecker Date: Fri Mar 28 18:32:32 2014 New Revision: 46435 URL: http://svn.stylite.de/viewvc/egroupware?rev=46435&view=rev Log: fixed not working autorepeat if $row_cont was used Modified: trunk/etemplate/inc/class.etemplate_widget.inc.php trunk/etemplate/inc/class.etemplate_widget_grid.inc.php Modified: trunk/etemplate/inc/class.etemplate_widget.inc.php URL: http://svn.stylite.de/viewvc/egroupware/trunk/etemplate/inc/class.etemplate_widget.inc.php?rev=46435&r1=46434&r2=46435&view=diff ============================================================================== --- trunk/etemplate/inc/class.etemplate_widget.inc.php (original) +++ trunk/etemplate/inc/class.etemplate_widget.inc.php Fri Mar 28 18:32:32 2014 @@ -7,7 +7,7 @@ * @subpackage api * @link http://www.egroupware.org * @author Ralf Becker <Ral...@ou...> - * @copyright 2002-13 by Ral...@ou... + * @copyright 2002-14 by Ral...@ou... * @version $Id$ */ @@ -991,12 +991,16 @@ { $pat = substr($pat,$pat[1] == '{' ? 2 : 1); - $Ok = $pat[0] == 'r' && !(substr($pat,0,2) == 'r_' || substr($pat,0,4) == 'row_'); - - if ($Ok && ($value = self::get_array(self::$request->content, - $fname=self::form_name($cname, $check_widget->id, $expand))) !== false && isset($value)) - { - error_log(__METHOD__."($widget,$cname) $this autorepeating row $expand[row] because of $check_widget->id = '$fname' is ".array2string($value)); + $Ok = $pat[0] == 'r' && !(substr($pat,0,2) == 'r_' || + substr($pat,0,4) == 'row_' && substr($pat,0,8) != 'row_cont'); + + if ($Ok && ($fname=self::form_name($cname, $check_widget->id, $expand)) && + // need to break if fname ends in [] as get_array() will ignore it and returns whole array + // for an id like "run[$row_cont[appname]]" + substr($fname, -2) != '[]' && + ($value = self::get_array(self::$request->content, $fname)) !== null) // null = not found (can be false!) + { + //error_log(__METHOD__."($widget,$cname) $this autorepeating row $expand[row] because of $check_widget->id = '$fname' is ".array2string($value)); return true; } } Modified: trunk/etemplate/inc/class.etemplate_widget_grid.inc.php URL: http://svn.stylite.de/viewvc/egroupware/trunk/etemplate/inc/class.etemplate_widget_grid.inc.php?rev=46435&r1=46434&r2=46435&view=diff ============================================================================== --- trunk/etemplate/inc/class.etemplate_widget_grid.inc.php (original) +++ trunk/etemplate/inc/class.etemplate_widget_grid.inc.php Fri Mar 28 18:32:32 2014 @@ -7,7 +7,7 @@ * @subpackage api * @link http://www.egroupware.org * @author Ralf Becker <Ral...@ou...> - * @copyright 2002-11 by Ral...@ou... + * @copyright 2002-14 by Ral...@ou... * @version $Id$ */ @@ -184,20 +184,26 @@ substr($pat,0,4) == 'col_'); break; case 'row': - $Ok = $pat[0] == 'r' && !(substr($pat,0,2) == 'r_' || substr($pat,0,4) == 'row_'); + $Ok = $pat[0] == 'r' && !(substr($pat,0,2) == 'r_' || + substr($pat,0,4) == 'row_' && substr($pat,0,8) != 'row_cont'); + //error_log(__METHOD__."() pat='$pat' --> Ok=".array2string($Ok)); break; default: return false; } - if ($Ok && ($value = self::get_array(self::$request->content, - $fname=self::form_name($cname, $child->id, $expand))) !== false && isset($value)) + if ($Ok && ($fname=self::form_name($cname, $child->id, $expand)) && + // need to break if fname ends in [] as get_array() will ignore it and returns whole array + // for an id like "run[$row_cont[appname]]" + substr($fname, -2) != '[]' && + ($value = self::get_array(self::$request->content,$fname)) !== null) // null = not found (can be false!) { - //error_log(__METHOD__."('$method_name', ) $this autorepeating row $expand[row] because of $child->id = '$fname' is ".array2string($value)); + //error_log(__METHOD__."('$cname', ) $this autorepeating row $expand[row] because of $child->id = '$fname' is ".array2string($value)); return true; } } } } + //error_log(__METHOD__."('$cname', ) $this NOT autorepeating row $expand[row]"); return false; } } |