diff --git a/main/inc/lib/extra_field.lib.php b/main/inc/lib/extra_field.lib.php
index 62f1852f66..44fa2dda61 100755
--- a/main/inc/lib/extra_field.lib.php
+++ b/main/inc/lib/extra_field.lib.php
@@ -67,6 +67,7 @@ class ExtraField extends Model
const FIELD_TYPE_LETTERS_SPACE = 22;
const FIELD_TYPE_ALPHANUMERIC_SPACE = 23;
const FIELD_TYPE_GEOLOCALIZATION = 24;
+ const FIELD_TYPE_GEOLOCALIZATION_COORDINATES = 25;
public $type = 'user';
public $pageName;
@@ -414,6 +415,9 @@ class ExtraField extends Model
$types[self::FIELD_TYPE_GEOLOCALIZATION] = get_lang(
'Geolocalization'
);
+ $types[self::FIELD_TYPE_GEOLOCALIZATION_COORDINATES] = get_lang(
+ 'GeolocalizationCoordinates'
+ );
switch ($handler) {
case 'course':
@@ -1762,6 +1766,161 @@ EOF;
');
+ $form->addHtml('
+
+ ');
+ break;
+ case ExtraField::FIELD_TYPE_GEOLOCALIZATION_COORDINATES:
+ $dataValue = isset($extraData['extra_'.$field_details['variable']])
+ ? $extraData['extra_'.$field_details['variable']]
+ : '';
+ $form->addElement(
+ 'text',
+ 'extra_'.$field_details['variable'],
+ $field_details['display_text'],
+ ['id' => 'extra_'.$field_details['variable']]
+ );
+ $form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
+ $form->applyFilter('extra_'.$field_details['variable'], 'trim');
+ if (!$admin_permissions) {
+ if ($field_details['visible_to_self'] == 0) {
+ $form->freeze(
+ 'extra_'.$field_details['variable']
+ );
+ }
+ }
+ $latLag = explode(",", $dataValue);
+
+ // if no value, set default coordinates value
+ if (empty($dataValue)) {
+ $lat = '-34.397';
+ $lng = '150.644';
+ } else {
+ $lat = $latLag[0];
+ $lng = $latLag[1];
+ }
+
+ $form->addHtml(
+ '
+ ');
+ $form->addHtml('
+
+ ');
+
$form->addHtml('