/** * Event listener * @param XCube_ActionForm $actionForm */ public function inject(XCube_ActionForm $actionForm) { if ($this->_profileExists($actionForm->get('uid'))) { return; } $defaultValues = $this->_getDefaultValues(); /** @var XCube_AbstractProperty[] $properties */ $properties = $actionForm->getFormProperties(); foreach ($defaultValues as $name => $value) { if (isset($properties[$name])) { $properties[$name]->set($value); } } }
/** * load Profile ActionForm * * @param XCube_ActionForm &$actionForm User_EditUserForm * * @return void */ public static function loadActionForm(XCube_ActionForm $actionForm) { $defHandler = Legacy_Utils::getModuleHandler('definitions', 'profile'); $definitions = $defHandler->getFields4DataEdit(); $dataHandler = Legacy_Utils::getModuleHandler('data', 'profile'); $profile = $dataHandler->get($actionForm->get('uid')); if (!$profile) { $profile = $dataHandler->create(); } foreach ($definitions as $def) { $actionForm->set($def->get('field_name'), $profile->showField($def->get('field_name'), Profile_ActionType::EDIT)); } }