setPageTitle(WT_I18N::translate('Geographic data')); $controller->pageHeader(); if (!WT_USER_IS_ADMIN) { echo "\n"; echo "
", WT_I18N::translate('Page only for Administrators'); echo "
\n"; echo "


\n"; exit; } // echo ''; echo ''; ?> name values, starting with the Top Level // e.g. array(0=>"Top Level", 16=>"England", 19=>"London", 217=>"Westminster"); // NB This function exists in both places.php and places_edit.php function place_id_to_hierarchy($id) { $statement= WT_DB::prepare("SELECT pl_parent_id, pl_place FROM `##placelocation` WHERE pl_id=?"); $arr=array(); while ($id!=0) { $row=$statement->execute(array($id))->fetchOneRow(); $arr=array($id=>$row->pl_place)+$arr; $id=$row->pl_parent_id; } return $arr; } // NB This function exists in both admin_places.php and places_edit.php function getHighestIndex() { return (int)WT_DB::prepare("SELECT MAX(pl_id) FROM `##placelocation`")->fetchOne(); } $where_am_i=place_id_to_hierarchy($placeid); $level=count($where_am_i); $link = 'module.php?mod=googlemap&mod_action=admin_places&parent='.$placeid; if ($action=='addrecord' && WT_USER_IS_ADMIN) { $statement= WT_DB::prepare("INSERT INTO `##placelocation` (pl_id, pl_parent_id, pl_level, pl_place, pl_long, pl_lati, pl_zoom, pl_icon) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); if (($_POST['LONG_CONTROL'] == '') || ($_POST['NEW_PLACE_LONG'] == '') || ($_POST['NEW_PLACE_LATI'] == '')) { $statement->execute(array(getHighestIndex()+1, $placeid, $level, $_POST['NEW_PLACE_NAME'], null, null, $_POST['NEW_ZOOM_FACTOR'], $_POST['icon'])); } else { $statement->execute(array(getHighestIndex()+1, $placeid, $level, $_POST['NEW_PLACE_NAME'], $_POST['LONG_CONTROL'][3].$_POST['NEW_PLACE_LONG'], $_POST['LATI_CONTROL'][3].$_POST['NEW_PLACE_LATI'], $_POST['NEW_ZOOM_FACTOR'], $_POST['icon'])); } // autoclose window when update successful unless debug on if (!WT_DEBUG) { echo "\n"; } echo "
", WT_I18N::translate('Close Window'), "

\n"; exit; } if ($action=='updaterecord' && WT_USER_IS_ADMIN) { $statement= WT_DB::prepare("UPDATE `##placelocation` SET pl_place=?, pl_lati=?, pl_long=?, pl_zoom=?, pl_icon=? WHERE pl_id=?"); if (($_POST['LONG_CONTROL'] == '') || ($_POST['NEW_PLACE_LONG'] == '') || ($_POST['NEW_PLACE_LATI'] == '')) { $statement->execute(array($_POST['NEW_PLACE_NAME'], null, null, $_POST['NEW_ZOOM_FACTOR'], $_POST['icon'], $placeid)); } else { $statement->execute(array($_POST['NEW_PLACE_NAME'], $_POST['LATI_CONTROL'][3].$_POST['NEW_PLACE_LATI'], $_POST['LONG_CONTROL'][3].$_POST['NEW_PLACE_LONG'], $_POST['NEW_ZOOM_FACTOR'], $_POST['icon'], $placeid)); } // autoclose window when update successful unless debug on if (!WT_DEBUG) { echo "\n"; } echo "
", WT_I18N::translate('Close Window'), "

\n"; exit; } // Update placelocation STREETVIEW fields ---------------------------------------------------------- if ($action=='update_sv_params' && WT_USER_IS_ADMIN) { echo "Google Street View™ parameters updated"; echo "

"; echo "LATI = ".$_REQUEST['svlati']."
"; echo "LONG = ".$_REQUEST['svlong']."
"; echo "BEAR = ".$_REQUEST['svbear']."
"; echo "ELEV = ".$_REQUEST['svelev']."
"; echo "ZOOM = ".$_REQUEST['svzoom']."
"; echo "

"; $statement= WT_DB::prepare("UPDATE `##placelocation` SET sv_lati=?, sv_long=?, sv_bearing=?, sv_elevation=?, sv_zoom=? WHERE pl_id=?"); $statement->execute(array($_REQUEST['svlati'], $_REQUEST['svlong'], $_REQUEST['svbear'], $_REQUEST['svelev'], $_REQUEST['svzoom'], $placeid)); if (!WT_DEBUG) { echo "\n"; } echo "
", WT_I18N::translate('Close Window'), "

\n"; exit; } if ($action=="update") { // --- find the place in the file $row= WT_DB::prepare("SELECT pl_place, pl_lati, pl_long, pl_icon, pl_parent_id, pl_level, pl_zoom FROM `##placelocation` WHERE pl_id=?") ->execute(array($placeid)) ->fetchOneRow(); $place_name = $row->pl_place; $place_icon = $row->pl_icon; $selected_country = explode("/", $place_icon); if (isset($selected_country[1]) && $selected_country[1]!="flags") $selected_country = $selected_country[1]; else $selected_country = "Countries"; $parent_id = $row->pl_parent_id; $level = $row->pl_level; $zoomfactor = $row->pl_zoom; $parent_lati = "0.0"; $parent_long = "0.0"; if ($row->pl_lati!==null && $row->pl_long!==null) { $place_lati = (float)(str_replace(array('N', 'S', ','), array('', '-', '.') , $row->pl_lati)); $place_long = (float)(str_replace(array('E', 'W', ','), array('', '-', '.') , $row->pl_long)); $show_marker = true; } else { $place_lati = null; $place_long = null; $zoomfactor = 1; $show_marker = false; } do { $row= WT_DB::prepare("SELECT pl_lati, pl_long, pl_parent_id, pl_zoom FROM `##placelocation` WHERE pl_id=?") ->execute(array($parent_id)) ->fetchOneRow(); if (!$row) { break; } if ($row->pl_lati!==null && $row->pl_long!==null) { $parent_lati = (float)(str_replace(array('N', 'S', ','), array('', '-', '.') , $row->pl_lati)); $parent_long = (float)(str_replace(array('E', 'W', ','), array('', '-', '.') , $row->pl_long)); if ($zoomfactor == 1) { $zoomfactor = $row->pl_zoom; } } $parent_id = $row->pl_parent_id; } while ($row->pl_parent_id!=0 && $row->pl_lati===null && $row->pl_long===null); $success = false; echo '', str_replace('Unknown', WT_I18N::translate('unknown'), implode(WT_I18N::$list_separator, array_reverse($where_am_i, true))), '
'; } if ($action=='add') { // --- find the parent place in the file if ($placeid != 0) { if (!isset($place_name)) $place_name = ''; $place_lati = null; $place_long = null; $zoomfactor = 1; $parent_lati = '0.0'; $parent_long = '0.0'; $place_icon = ''; $parent_id=$placeid; do { $row= WT_DB::prepare("SELECT pl_lati, pl_long, pl_parent_id, pl_zoom, pl_level FROM `##placelocation` WHERE pl_id=?") ->execute(array($parent_id)) ->fetchOneRow(); if ($row->pl_lati!==null && $row->pl_long!==null) { $parent_lati=str_replace(array('N', 'S', ','), array('', '-', '.') , $row->pl_lati); $parent_long=str_replace(array('E', 'W', ','), array('', '-', '.') , $row->pl_long); $zoomfactor=$row->pl_zoom; if ($zoomfactor>$GOOGLEMAP_MAX_ZOOM) { $zoomfactor=$GOOGLEMAP_MAX_ZOOM; } $level=$row->pl_level+1; } $parent_id = $row->pl_parent_id; } while ($row->pl_parent_id!=0 && $row->pl_lati===null && $row->pl_long===null); } else { if (!isset($place_name)) $place_name = ''; $place_lati = null; $place_long = null; $parent_lati = "0.0"; $parent_long = "0.0"; $place_icon = ''; $parent_id = 0; $level = 0; $zoomfactor = $GOOGLEMAP_MIN_ZOOM; } $selected_country = 'Countries'; $show_marker = false; $success = false; if (!isset($place_name) || $place_name=="") echo '', WT_I18N::translate('unknown'); else echo '', $place_name; if (count($where_am_i)>0) echo ', ', str_replace('Unknown', WT_I18N::translate('unknown'), implode(WT_I18N::$list_separator, array_reverse($where_am_i, true))), '
'; echo '

'; } echo ''; include_once 'wt_v3_places_edit.js.php'; $api='v3'; ?>

$precision2) ? ($precision = $precision1) : ($precision = $precision2); if ($precision == -1 ) ($level > 3) ? ($precision = 3) : ($precision = $level); elseif ($precision > 5) { $precision = 5; } ?>
  |  
value=""> value=""> value=""> value=""> value=""> $GOOGLEMAP_PRECISION_4) echo "checked=\"checked\""; ?> value="">
<?php echo /* I18N: The emblem of a country or region */ WT_I18N::translate('Flag'); ?>     

", WT_I18N::translate('Close Window'), "
\n";