/** * * @return Ultimatum_Model_Ultplayers */ public static function for_user_game($pUser, $pGame, $pSpawn = TRUE) { if (is_numeric($pUser)) { $pUser = Model_Users::getInstance()->get($pUser); } if (is_numeric($pGame)) { $pGame = Ultimatum_Model_Ultgames::getInstance()->get($pGame); } //@TODO: better validation if (!$pUser || !$pUser->is_saved()) { throw new Exception(__METHOD__ . ': no user passed'); } $params = array('user' => $pUser->identity(), 'game' => $pGame->identity()); if (!($player = self::getInstance()->findOne($params))) { if ($pSpawn) { $player = new Ultimatum_Model_Ultplayers(); $player->set_fields($params); $player->save(); } } return $player; }