/** * 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->aImages !== null) { if (!$this->aImages->validate($columns)) { $failureMap = array_merge($failureMap, $this->aImages->getValidationFailures()); } } if (($retval = ColorPeer::doValidate($this, $columns)) !== true) { $failureMap = array_merge($failureMap, $retval); } if ($this->collProductHasColors !== null) { foreach ($this->collProductHasColors as $referrerFK) { if (!$referrerFK->validate($columns)) { $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures()); } } } $this->alreadyInValidation = false; } return !empty($failureMap) ? $failureMap : true; }
public function actionCreate() { $model = new DatasetAttributes(); $att = Attribute::model()->findByAttributes(array('attribute_name' => Attribute::FUP)); if (!$att) { $att = new Attribute(); $att->attribute_name = Attribute::FUP; $att->definition = ''; $att->save(); } $model->attribute_id = $att->id; $image = new Images(); if (isset($_POST['DatasetAttributes'])) { $args = $_POST['DatasetAttributes']; $exist = DatasetAttributes::model()->findByAttributes(array('dataset_id' => $args['dataset_id'], 'attribute_id' => $att->id)); if ($exist) { $model = $exist; } $model->attributes = $args; $model->value = ''; //$image->attributes = $_POST['Images']; $image->license = "no license"; $image->photographer = "no author"; $image->source = "gigadb"; if ($image->validate()) { $image->save(); } else { Yii::log(print_r($image->getErrors(), true), 'debug'); } if ($image) { $model->image_id = $image->id; } if ($model->validate()) { $model->save(); $this->redirect('/dataset/' . $model->dataset->identifier); } else { Yii::log(print_r($model->getErrors(), true), 'debug'); } } $this->render('create', array('model' => $model, 'image' => $image)); }
if (isset($_POST['removed_images'])) { foreach ($_POST['removed_images'] as $k => $path) { if ($Products->CheckPhotosOnModeration($path)) { $Images->remove($GLOBALS['PATH_root'] . str_replace('/files/', 'files/', $path)); } } } // elseif(isset($_GET['remove']) == true){ // if($Products->CheckPhotosOnModeration($_POST['image'])){ // $Images->remove($GLOBALS['PATH_root']."files/".$_SESSION['member']['email']."/".$_POST['image']); // } // echo str_replace($GLOBALS['PATH_root'], '/', $GLOBALS['PATH_root']."files/".$_SESSION['member']['email']."/".$_POST['image']); // exit(0); // } if (isset($_GET['validate']) == true) { $Images->validate($_FILES, $GLOBALS['PATH_root'] . "files/" . $_SESSION['member']['email'] . "/"); exit(0); } elseif (isset($_GET['upload']) == true) { $path = isset($_REQUEST['path']) ? !strpos($_REQUEST['path'], $GLOBALS['PATH_global_root']) ? $_REQUEST['path'] : $GLOBALS['PATH_global_root'] . $_REQUEST['path'] : $GLOBALS['PATH_global_root'] . 'temp/'; echo str_replace($GLOBALS['PATH_global_root'], '/', $Images->upload($_FILES, $path)); exit(0); } elseif (isset($_POST['editionsubmit']) == true) { //Расчет обьема продукта $_POST['volume'] = $_POST['height'] * $_POST['width'] * $_POST['length'] * 1.0E-6; if ($Products->AddSupplierProduct($_POST)) { header('Location: ' . _base_url . '/cabinet/productsonmoderation/'); } exit(0); } if (isset($_GET['id']) == true && is_numeric($_GET['id']) && $_GET['type'] == 'moderation') { $list = $Products->GetProductOnModeration($_GET['id']);