示例#1
0
 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);
     }
 }
示例#3
0
 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);
         }
     }
 }