You are here

function geofield_ymap_field_widget_validate in Geofield Yandex Maps 7

Widget validate callback.

1 string reference to 'geofield_ymap_field_widget_validate'
geofield_ymap_field_widget_form in ./geofield_ymap.widget.inc
Implements hook_field_widget_form().

File

./geofield_ymap.widget.inc, line 132

Code

function geofield_ymap_field_widget_validate($element, &$form_state) {
  if (!empty($element['geom']['#value']['objects'])) {
    geophp_load();

    // @TODO: Learn how to pass array in geoPHP::load()
    $value = is_array($element['geom']['#value']['objects']) ? _geofield_ymap_json_encode($element['geom']['#value']['objects']) : $element['geom']['#value']['objects'];
    $geom = geoPHP::load($value);
    $geom = geoPHP::geometryReduce($geom);
    $values = array();
    foreach (geofield_ymap_split_objects($geom) as $geom) {
      $values[] = array(
        'geom' => $geom
          ->out('json'),
        'input_format' => 'json',
      );
    }
    form_set_value($element, $values, $form_state);
  }
}