/** * Save model object from form. * * @param BaseObject $row * @param Curry_Form_ModelForm $form */ public static function saveRow(BaseObject $row, Curry_Form_ModelForm $form) { $selectCriteria = $row->buildPkeyCriteria(); // gets criteria w/ primary key(s) - these may be modified below: $form->fillModel($row); foreach ($form->getElementColumns() as $column) { $nullElement = $form->getElement(strtolower($column->getName()) . '__null__'); if ($nullElement && $nullElement->getValue()) { $row->{'set' . $column->getPhpName()}(null); } } if ($row->isModified()) { if ($row->isNew()) { $row->save(); } else { $con = Propel::getConnection(constant($_GET['table'] . 'Peer::DATABASE_NAME'), Propel::CONNECTION_WRITE); $criteria = $row->buildCriteria(); BasePeer::doUpdate($selectCriteria, $criteria, $con); } } }
/** * Save user. * * @param User $user * @param Curry_Form_ModelForm $form */ protected function saveUser(User $user, Curry_Form_ModelForm $form) { $values = $form->getValues(); $password = $values['password']; if ($password || $user->isNew()) { $user->setPlainPassword($password); } $form->removeElement('password'); $form->fillModel($user); $user->save(); $home = self::getUserHome($user, true); if ($values['create_home_folder']) { $folder = Curry_Core::$config->curry->wwwPath . DIRECTORY_SEPARATOR; $folder .= str_replace('/', DIRECTORY_SEPARATOR, rtrim($home->getPath(), '/')); if (!file_exists($folder)) { @mkdir($folder, 0777, true); } if ($home->isNew()) { $home->setWrite(true); $home->save(); } } else { if ($home && !$home->isNew()) { $home->delete(); } } }