Exemplo n.º 1
0
 /**
  * Bearbeiten eines Dokuments (metadaten)
  * 
  * @param string $id
  * @return \yii\web\View
  * @author KAS <*****@*****.**> 06.08.2015
  */
 public function actionEdit($id = NULL)
 {
     Yii::$app->view->params['headline'] = 'Dokument bearbeiten';
     // Wir laden das gewählte Document
     $model = Documents::findOne(new \MongoId($id));
     // Wir machen aus dem Array ein Object ---------------------------------
     #$model->metadata = new Metadata($model->metadata);
     // Nur wenn auch ein POST gesendet wurde -------------------------------
     if (\Yii::$app->request->isPost) {
         $post = \Yii::$app->request->post();
         $meta = new Metadata($post['Documents']['metadata']);
         // Hier werden die Daten für Mongo angepasst(convertiert) ----------
         $meta->load($post['Documents']['metadata']);
         //------------------------------------------------------------------
         // wir belassen die originalen Metadaten
         $model->metadata = $model->metadata->toArray();
         // Änderungen werden in metadatanew abgelegt
         $model->metadatanew = $meta->toArray();
         #var_dump($model);
         // Speichern der Daten
         $model->update();
         // daten refreshen und neu zuordnen --------------------------------
         $model->refresh();
         $model->metadata = new Metadata($model->metadata);
     }
     //----------------------------------------------------------------------
     // Wenn bereits neue Daten vorhanden sind,
     // laden wir diese für die Anzeige
     if ($model->metadatanew !== NULL) {
         #$model->metadata = new Metadata($model->metadatanew);
     }
     return $this->render('edit', ['model' => $model]);
 }
 public function toArray()
 {
     return parent::toArray() + array('minlatitude' => isset($this->minlatitude) ? floatval($this->minlatitude) : null, 'maxlatitude' => isset($this->maxlatitude) ? floatval($this->maxlatitude) : null, 'minlongitude' => isset($this->minlongitude) ? floatval($this->minlongitude) : null, 'maxlongitude' => isset($this->maxlongitude) ? floatval($this->maxlongitude) : null, 'uiminlatitude' => isset($this->uiminlatitude) ? floatval($this->uiminlatitude) : null, 'uimaxlatitude' => isset($this->uimaxlatitude) ? floatval($this->uimaxlatitude) : null, 'uiminlongitude' => isset($this->uiminlongitude) ? floatval($this->uiminlongitude) : null, 'uimaxlongitude' => isset($this->uimaxlongitude) ? floatval($this->uimaxlongitude) : null, 'gridspacing' => isset($this->gridspacing) ? floatval($this->gridspacing) : null);
 }
Exemplo n.º 3
0
 public function withMetadata(Metadata $metadata)
 {
     return $this->createCopyWith(['metadata' => $metadata->toArray()]);
 }