Ticket #38 (closed Bug: fixed)
warning con modelo persistente
| Reported by: | jucorant | Owned by: | somebody |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | component1 | Version: | 0.5.1 |
| Severity: | Normal | Keywords: | |
| Cc: |
Description
Buenos Dias..
Descripcion( 0.5 candidate RC3)
Cuando creo un modelo con persistent=true, el código del modelo es: <?php class Traduccion extends ActiveRecord? { public $persistent = true; }
?>
Me funciona correctamente , pero me salen dos lineas de warning:
Notice: Undefined variable: objModel in /var/www/gesproinf.es/datos/web/kumbia/library/kumbia/kumbia.php on line 655
Notice: Undefined index: in /var/www/gesproinf.es/datos/web/kumbia/library/kumbia/kumbia.php on line 409
Tengo la versión 0.5 candidate RC3 la última version...
Solución: La funcion function_init_models , de el fichero library/kumbia/kumbia.php, la linea 655 como dice el warning:
if (isset(self::$models[$object_model]->persistent)) { if (self::$models[$object_model]->persistent) { self::$_persistence[] = $objModel; self::$_persistence[] = $object_model; }
Tiene esta variable $objModel y tiene que ser $object_model...como he puesto aqui..
Saludos
/
- Inicializa los modelos en el directorio models
* */ private static function _init_models($models_dir) { foreach(scandir($models_dir) as $model) { if (!in_array($model, array('.', '..', 'base'))) { if (is_dir($models_dir . "/" . $model)) { self::_init_models($models_dir . "/" . $model); } } if (ereg("\.php$", $model)) { require_once "$models_dir/$model"; $model = str_replace(".php", "", $model); $object_model = str_replace("_", " ", $model); $object_model = ucwords($object_model); $object_model = str_replace(" ", "", $object_model); if (!class_exists($object_model)) { throw new KumbiaException?("No se encontró la Clase \"$object_model\"", "Es necesario definir una clase en el modelo '$model' llamado '$object_model' para que esto funcione correctamente."); } else { self::$models[$object_model] = new $object_model(); if (!is_subclass_of(self::$models[$object_model], "ActiveRecord?")) { throw new KumbiaException?("Error inicializando modelo \"$object_model\"", "El modelo '$model' debe ser una clase o sub-clase de ActiveRecord?"); } if (!self::$models[$object_model]->get_source()) { self::$models[$object_model]->set_source($model); } if (isset(self::$models[$object_model]->persistent)) { if (self::$models[$object_model]->persistent) { self::$_persistence[] = $objModel; self::$_persistence[] = $object_model; } } } } } foreach(self::$_persistence as $p) { if (Session::get_data($p)) { self::$models[$p] = Session::get_data($p); } } }
Solventado bajo revisión r707
Gracias!!!