Index: branches/unlabeled/unlabeled-1.12.10/core/kernel/utility/factory.php =================================================================== diff -u -r3798 -r4350 --- branches/unlabeled/unlabeled-1.12.10/core/kernel/utility/factory.php (.../factory.php) (revision 3798) +++ branches/unlabeled/unlabeled-1.12.10/core/kernel/utility/factory.php (.../factory.php) (revision 4350) @@ -208,7 +208,7 @@ * @param Array $dependecies List of classes required for this class functioning * @access public */ - function registerClass($real_class,$file,$pseudo_class=null, $dependecies = Array() ) + function registerClass($real_class, $file, $pseudo_class=null, $dependecies = Array() ) { if(!isset($pseudo_class)) $pseudo_class = $real_class; if(!isset($this->Files[$real_class])) $this->Files[$real_class]=$file; @@ -219,6 +219,7 @@ } if($dependecies) { + if (!is_array($dependecies)) $dependecies = array($dependecies); foreach($dependecies as $required_class) { $this->registerDependency($real_class, $required_class); @@ -238,7 +239,9 @@ */ function registerDependency($depended_class, $class_name) { - $this->Dependencies[$depended_class][] = $this->realClasses[$class_name]; + if (!in_array($this->realClasses[$class_name], $this->Dependencies[$depended_class])) { + $this->Dependencies[$depended_class][] = $this->realClasses[$class_name]; + } } }