/** * Gets the core class model of the module. * * @return Phprojekt_Model_Interface An instance of Phprojekt_Model_Interface. */ public function getModelObject() { static $moduleName = null; if (is_null($moduleName)) { $moduleName = ucfirst($this->getRequest()->getControllerName()); $moduleName = "Phprojekt_" . $moduleName . "_" . $moduleName; } if (Phprojekt_Loader::tryToLoadLibClass($moduleName)) { $db = Phprojekt::getInstance()->getDb(); return new $moduleName($db); } else { throw new Exception('No model object could be found'); } }
/** * Gets the core class model of the module or the default one. * * @return Phprojekt_Model_Interface An instance of Phprojekt_Model_Interface. */ public function getModelObject() { static $object = null; if (null === $object) { $moduleName = ucfirst($this->getRequest()->getControllerName()); $moduleName = "Phprojekt_" . $moduleName . "_" . $moduleName; if (Phprojekt_Loader::tryToLoadLibClass($moduleName)) { $db = Phprojekt::getInstance()->getDb(); $object = new $moduleName($db); } else { $object = null; } if (null === $object) { $object = Phprojekt_Loader::getModel('Default', 'Default'); } } return $object; }
/** * This function is used only for integration purposes and should only * be called when integrating the user data! * **/ private static function _saveUser($params) { $moduleName = "Phprojekt_User_User"; if (Phprojekt_Loader::tryToLoadLibClass($moduleName)) { // Temporarily login as admin user // This is only to get rights to add user // Ugly hack but PHProjekt backend has not thought of this situation $authNamespace = new Zend_Session_Namespace('Phprojekt_Auth-login'); $authNamespace->userId = 1; $authNamespace->admin = true; $exc = null; try { $db = Phprojekt::getInstance()->getDb(); $model = new $moduleName($db); if ($params['id'] > 0) { $model = $model->find($params['id']); } Default_Helpers_Save::save($model, $params); $setting = new Phprojekt_Setting(); $setting->setModule('User'); $setting->setSettings($params, $model->id); } catch (Exception $e) { $exc = $e; } // Set user not logged in unset($authNamespace->userId); unset($authNamespace->admin); if ($exc instanceof Exception) { // Throw exception if user creation failed throw $exc; } return true; } return false; }