Ejemplo n.º 1
0
 /**
  * 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);
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * 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();
         }
     }
 }