diff --git a/classes/Sensei/Sensei.class.php b/classes/Sensei/Sensei.class.php index a15ad7ee8..955661365 100644 --- a/classes/Sensei/Sensei.class.php +++ b/classes/Sensei/Sensei.class.php @@ -6,15 +6,33 @@ class Sensei_User extends Doctrine_Record { } //class Sensei_Customer extends Sensei_User { } class Sensei_Entity extends Doctrine_Record { + /** + * setTableDefinition + * initializes column definitions + * + * @return void + */ public function setTableDefinition() { $this->hasColumn("loginname","string",32,"unique"); $this->hasColumn("password","string",32); } } class Sensei_Variable extends Doctrine_Record { + /** + * setUp + * initializes relations and options + * + * @return void + */ public function setUp() { //$this->setAttribute(Doctrine::ATTR_COLL_KEY, "name"); } + /** + * setTableDefinition + * initializes column definitions + * + * @return void + */ public function setTableDefinition() { $this->hasColumn("name","string",50,"unique"); $this->hasColumn("value","string",10000); @@ -22,10 +40,22 @@ class Sensei_Variable extends Doctrine_Record { } } class Sensei_Session extends Doctrine_Record { + /** + * setUp + * initializes relations and options + * + * @return void + */ public function setUp() { $this->ownsMany("Sensei_variable","Sensei_variable.session_id"); $this->hasOne("Sensei_entity","Sensei_session.entity_id"); } + /** + * setTableDefinition + * initializes column definitions + * + * @return void + */ public function setTableDefinition() { $this->hasColumn("session_id","string",32); $this->hasColumn("logged_in","integer",1); @@ -141,6 +171,10 @@ class Sensei extends Doctrine_Access { } return false; } + /** + * @param integer $attr + * @param mixed $value + */ public function setAttribute($attr, $value) { switch($attr): case Sensei::ATTR_LIFESPAN: @@ -152,9 +186,15 @@ class Sensei extends Doctrine_Access { $this->attributes[$attr] = $value; } + /** + * @return boolean + */ private function open($save_path,$session_name) { return true; } + /** + * @return boolean + */ public function close() { return true; } diff --git a/classes/Table.class.php b/classes/Table.class.php index e0ccf8ed2..621e307a1 100644 --- a/classes/Table.class.php +++ b/classes/Table.class.php @@ -351,7 +351,15 @@ class Doctrine_Table extends Doctrine_Configurable { if(isset($this->relations[$name])) throw new InvalidKeyException(); - $this->bound[$name] = array($field,$type,$localKey); + $e = explode(" as ",$name); + $name = $e[0]; + + if(isset($e[1])) + $alias = $e[1]; + else + $alias = $name; + + $this->bound[$alias] = array($field,$type,$localKey,$name); } /** * getComponentName @@ -387,14 +395,8 @@ class Doctrine_Table extends Doctrine_Configurable { $e = explode(".",$this->bound[$name][0]); $component = $e[0]; $foreign = $e[1]; - - $e = explode(" as ",$name); - $name = $e[0]; - - if(isset($e[1])) - $alias = $e[1]; - else - $alias = $name; + $alias = $name; + $name = $this->bound[$alias][3]; $table = $this->session->getTable($name);