Ejemplo n.º 1
0
 /**
  * Save Map Field
  *
  * @param SimpleMap_MapFieldType $fieldType
  * @return bool
  */
 public function saveField(SimpleMap_MapFieldType $fieldType)
 {
     $owner = $fieldType->element;
     $field = $fieldType->model;
     $content = $fieldType->element->getContent();
     $handle = $field->handle;
     $data = $content->getAttribute($handle);
     if (!$data) {
         return false;
     }
     $data['lat'] = (double) $data['lat'];
     $data['lng'] = (double) $data['lng'];
     $record = SimpleMap_MapRecord::model()->findByAttributes(array('ownerId' => $owner->id, 'fieldId' => $field->id, 'ownerLocale' => $owner->locale));
     if (!$record) {
         $record = new SimpleMap_MapRecord();
         $record->ownerId = $owner->id;
         $record->fieldId = $field->id;
         $record->ownerLocale = $owner->locale;
     }
     $record->setAttributes($data, false);
     $save = $record->save();
     if (!$save) {
         SimpleMapPlugin::log(print_r($record->getErrors(), true), LogLevel::Error);
     }
     return $save;
 }