/** * This function performs the validation work for complex object models. * * In addition to checking the current object, all related objects will * also be validated. If all pass then <code>true</code> is returned; otherwise * an aggreagated array of ValidationFailed objects will be returned. * * @param array $columns Array of column names to validate. * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise. */ protected function doValidate($columns = null) { if (!$this->alreadyInValidation) { $this->alreadyInValidation = true; $retval = null; $failureMap = array(); // We call the validate method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aPlan !== null) { if (!$this->aPlan->validate($columns)) { $failureMap = array_merge($failureMap, $this->aPlan->getValidationFailures()); } } if ($this->aTipodoc !== null) { if (!$this->aTipodoc->validate($columns)) { $failureMap = array_merge($failureMap, $this->aTipodoc->getValidationFailures()); } } if ($this->aReparticion !== null) { if (!$this->aReparticion->validate($columns)) { $failureMap = array_merge($failureMap, $this->aReparticion->getValidationFailures()); } } if ($this->aLocalidad !== null) { if (!$this->aLocalidad->validate($columns)) { $failureMap = array_merge($failureMap, $this->aLocalidad->getValidationFailures()); } } if (($retval = AfiliadoPeer::doValidate($this, $columns)) !== true) { $failureMap = array_merge($failureMap, $retval); } $this->alreadyInValidation = false; } return !empty($failureMap) ? $failureMap : true; }
<?php include "header.php"; try { $plan = new Plan(); if (!$user->level) { throw new LoginException("You must be logged in to use this feature."); } list($plan->name, $plan->description, $cash, $cents, $plan->period, $plan->hidden, $plan->plancolor) = $input->getInputValues('name', 'description', 'cash', 'cents', 'period', 'hidden', 'plancolor'); if (!$cents) { $cents = "00"; } $plan->price = $cash . "." . $cents; if ($plan->name[0]) { // Throws InputException on failure $plan->validate(); if ($plan->save()) { flash("The plan was created successfully."); } else { throw new Exception("The plan could not be added to the database."); } } include "../views/addplan.php"; } catch (LoginException $e) { $redirect = "addplan.php"; include "../views/login.php"; throw $e; } catch (InputException $e) { include "../views/addplan.php"; throw $e; } catch (Exception $e) {
$updatePlans->name = $_POST['name']; $updatePlans->id = $_POST['id']; $updatePlans->price = $_POST['price']; $updatePlans->description = $_POST['description']; $updatePlans->period = $_POST['period']; $updatePlans->hidden = $_POST['hidden']; if ($delete) { $input->digits($delete, 'Deletion ID of Variable'); if ($plan->delete($delete)) { flash("Plan (" . $delete . ") Deleted Successfully"); } else { throw new Exception("The specified plan could not be removed."); } } if (is_array($updatePlans->id) && $updatePlans->id[0]) { $updatePlans->validate(); $updatePlans->save_all(); } $plan->load_all(); include "../views/manageplans.php"; } catch (LoginException $e) { $redirect = "welcome.php"; include "../views/login.php"; throw $e; } catch (InputException $e) { include "../views/manageplans.php"; throw $e; } catch (Exception $e) { include "../views/manageplans.php"; throw $e; }