public static function createDatasetType($dataset_id, $type_id) { $newDatasetTypeRelationship = new DatasetType(); $newDatasetTypeRelationship->dataset_id = $dataset_id; $newDatasetTypeRelationship->type_id = $type_id; if (!$newDatasetTypeRelationship->save(false)) { Yii::log(__FUNCTION__ . "> Errors: " . print_r($newDatasetTypeRelationship->getErrors(), true), 'error'); return false; } return true; }
public function storeDataset() { if (isset($_SESSION['dataset']) && isset($_SESSION['images'])) { $dataset = new Dataset(); $dataset->image = new Images(); $result = Dataset::model()->findAllBySql("select identifier from dataset order by identifier desc limit 1;"); $max_doi = $result[0]->identifier; $identifier = $max_doi + 1; $dataset_id = 0; $dataset->attributes = $_SESSION['dataset']; $dataset->image->attributes = $_SESSION['images']; $dataset->identifier = $identifier; $dataset->dataset_size = 0; $dataset->ftp_site = ""; if ($dataset->publication_date == "") { $dataset->publication_date = null; } if ($dataset->modification_date == "") { $dataset->modification_date = null; } if ($dataset->image->validate('update') && $dataset->validate('update') && $dataset->image->save()) { // save image $dataset->image_id = $dataset->image->id; if ($dataset->save()) { $dataset_id = $dataset->id; // link datatypes if (isset($_SESSION['datasettypes'])) { $datasettypes = $_SESSION['datasettypes']; foreach ($datasettypes as $id => $datasettype) { $newDatasetTypeRelationship = new DatasetType(); $newDatasetTypeRelationship->dataset_id = $dataset->id; $newDatasetTypeRelationship->type_id = $id; $newDatasetTypeRelationship->save(); } } } } return array($dataset_id, $identifier); } }
private function setDatesetType($dataset_id, $dataset_types) { $temp = explode(",", $dataset_types); foreach ($temp as $key => $value) { $value = trim($value); if (strlen($value) > 0) { $type = Type::model()->find("name=?", array($value)); if (!$type) { // Type not found $type = new Type(); $type->name = $value; $type->description = "description"; $type->save(true); } $dataset_type = new DatasetType(); $dataset_type->dataset_id = $dataset_id; $dataset_type->type_id = $type->id; $dataset_type->save(false); } } }