Sophie

Sophie

distrib > Mandriva > cooker > i586 > by-pkgid > 23b48063a2defa12efca15cfb3a34e7a > files > 3

dotclear-2.2-1mdv2011.0.src.rpm

Index: dotclear/plugins/widgets/class.widgets.php
===================================================================
--- dotclear/plugins/widgets/class.widgets.php
+++ dotclear/plugins/widgets/class.widgets.php	2010-04-29 20:43:53.000000000 +0200
@@ -145,7 +145,7 @@
 	public function call($i=0)
 	{
 		if (is_callable($this->public_callback)) {
-			return call_user_func($this->public_callback,$this,$i);
+		  return call_user_func_array($this->public_callback,array(&$this,&$i));
 		}
 		return '<p>Callback not found for widget '.$this->id.'</p>';
 	}
Index: dotclear/inc/core/class.dc.core.php
===================================================================
--- dotclear/inc/core/class.dc.core.php
+++ dotclear/inc/core/class.dc.core.php	2010-04-29 20:43:23.000000000 +0200
@@ -300,9 +300,11 @@
 			array_shift($args);
 			
 			$res = '';
-			
+			$Args=array();
+			foreach ($args as $k => &$value) $Args[$k]=&$value;
+ 			
 			foreach ($this->behaviors[$behavior] as $f) {
-				$res .= call_user_func_array($f,$args);
+				$res .= call_user_func_array($f,$Args);
 			}
 			
 			return $res;
Index: dotclear/inc/clearbricks/dblayer/dblayer.php
===================================================================
--- dotclear/inc/clearbricks/dblayer/dblayer.php
+++ dotclear/inc/clearbricks/dblayer/dblayer.php	2010-04-29 20:42:44.000000000 +0200
@@ -705,7 +705,9 @@
 		if (isset($this->__extend[$f]))
 		{
 			array_unshift($args,$this);
-			return call_user_func_array($this->__extend[$f],$args);
+			$Args=array();
+			foreach ($args as $k => &$value) $Args[$k]=&$value;
+			return call_user_func_array($this->__extend[$f],$Args);
 		}
 		
 		trigger_error('Call to undefined method record::'.$f.'()',E_USER_ERROR);