/** * 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->aPcTimezone !== null) { if (!$this->aPcTimezone->validate($columns)) { $failureMap = array_merge($failureMap, $this->aPcTimezone->getValidationFailures()); } } if (($retval = PcUserPeer::doValidate($this, $columns)) !== true) { $failureMap = array_merge($failureMap, $retval); } if ($this->collPcRemembermeKeys !== null) { foreach ($this->collPcRemembermeKeys as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcDirtyTasks !== null) { foreach ($this->collPcDirtyTasks as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->singlePcFailedLogins !== null) { if (!$this->singlePcFailedLogins->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcFailedLogins->getValidationFailures()); } } if ($this->singlePcActivationToken !== null) { if (!$this->singlePcActivationToken->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcActivationToken->getValidationFailures()); } } if ($this->singlePcPasswordResetToken !== null) { if (!$this->singlePcPasswordResetToken->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcPasswordResetToken->getValidationFailures()); } } if ($this->singlePcPlancakeEmailAddress !== null) { if (!$this->singlePcPlancakeEmailAddress->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcPlancakeEmailAddress->getValidationFailures()); } } if ($this->collPcLists !== null) { foreach ($this->collPcLists as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcUsersListss !== null) { foreach ($this->collPcUsersListss as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcEmailChangeHistorys !== null) { foreach ($this->collPcEmailChangeHistorys as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcUsersContextss !== null) { foreach ($this->collPcUsersContextss as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->singlePcSupporter !== null) { if (!$this->singlePcSupporter->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcSupporter->getValidationFailures()); } } if ($this->collPcBlogPosts !== null) { foreach ($this->collPcBlogPosts as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcBlogComments !== null) { foreach ($this->collPcBlogComments as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcApiApps !== null) { foreach ($this->collPcApiApps as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcApiTokens !== null) { foreach ($this->collPcApiTokens as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcNotes !== null) { foreach ($this->collPcNotes as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcSubscriptions !== null) { foreach ($this->collPcSubscriptions as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcGoogleCalendars !== null) { foreach ($this->collPcGoogleCalendars as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->singlePcUserKey !== null) { if (!$this->singlePcUserKey->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcUserKey->getValidationFailures()); } } if ($this->collPcContacts !== null) { foreach ($this->collPcContacts as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcContactTags !== null) { foreach ($this->collPcContactTags as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcContactsTagss !== null) { foreach ($this->collPcContactsTagss as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->collPcContactNotes !== null) { foreach ($this->collPcContactNotes as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } if ($this->singlePcHideableHintsSetting !== null) { if (!$this->singlePcHideableHintsSetting->validate($columns)) { $failureMap = array_merge($failureMap, $this->singlePcHideableHintsSetting->getValidationFailures()); } } if ($this->collPcSplitTestUserResults !== null) { foreach ($this->collPcSplitTestUserResults as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } $this->alreadyInValidation = false; } return !empty($failureMap) ? $failureMap : true; }