diff options
author | Jason <jason.daurus@gmail.com> | 2015-06-23 20:55:45 +0300 |
---|---|---|
committer | Jason <jason.daurus@gmail.com> | 2015-06-23 20:55:45 +0300 |
commit | 104c68d681c69667a053b3207091bfa8ba047505 (patch) | |
tree | 99c7d5793a88ffc6aef12ba260d380668ddb61e8 /tbl_gis_visualization.php | |
parent | 8725217b2965acd685eee45428ef73524d9ed7c2 (diff) |
Introduce Controllers for tbl related scripts
Signed-off-by: Jason <jason.daurus@gmail.com>
Diffstat (limited to 'tbl_gis_visualization.php')
-rw-r--r-- | tbl_gis_visualization.php | 125 |
1 files changed, 4 insertions, 121 deletions
diff --git a/tbl_gis_visualization.php b/tbl_gis_visualization.php index c6ddfb319f..8f2e633eca 100644 --- a/tbl_gis_visualization.php +++ b/tbl_gis_visualization.php @@ -6,126 +6,9 @@ * @package PhpMyAdmin */ -require_once 'libraries/common.inc.php'; -require_once './libraries/gis/GIS_Visualization.class.php'; -require_once './libraries/gis/GIS_Factory.class.php'; +use PMA\Controllers\Table\TableGisVisualizationController; -// Runs common work -require_once 'libraries/db_common.inc.php'; -$url_params['goto'] = PMA_Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabDatabase'], 'database' -); -$url_params['back'] = 'sql.php'; +require_once 'libraries/controllers/table/TableGisVisualizationController.class.php'; -$response = PMA_Response::getInstance(); -// Throw error if no sql query is set -if (! isset($sql_query) || $sql_query == '') { - $response->isSuccess(false); - $response->addHTML( - PMA_Message::error(__('No SQL query was set to fetch data.')) - ); - exit; -} - -// Execute the query and return the result -$result = $GLOBALS['dbi']->tryQuery($sql_query); -// Get the meta data of results -$meta = $GLOBALS['dbi']->getFieldsMeta($result); - -// Find the candidate fields for label column and spatial column -$labelCandidates = array(); $spatialCandidates = array(); -foreach ($meta as $column_meta) { - if ($column_meta->type == 'geometry') { - $spatialCandidates[] = $column_meta->name; - } else { - $labelCandidates[] = $column_meta->name; - } -} - -// Get settings if any posted -$visualizationSettings = array(); -if (PMA_isValid($_REQUEST['visualizationSettings'], 'array')) { - $visualizationSettings = $_REQUEST['visualizationSettings']; -} - -if (! isset($visualizationSettings['labelColumn']) && isset($labelCandidates[0])) { - $visualizationSettings['labelColumn'] = ''; -} - -// If spatial column is not set, use first geometric column as spatial column -if (! isset($visualizationSettings['spatialColumn'])) { - $visualizationSettings['spatialColumn'] = $spatialCandidates[0]; -} - -// Convert geometric columns from bytes to text. -$pos = isset($_REQUEST['pos']) ? $_REQUEST['pos'] : $_SESSION['tmpval']['pos']; -if (isset($_REQUEST['session_max_rows'])) { - $rows = $_REQUEST['session_max_rows']; -} else { - if ($_SESSION['tmpval']['max_rows'] != 'all') { - $rows = $_SESSION['tmpval']['max_rows']; - } else { - $rows = $GLOBALS['cfg']['MaxRows']; - } -} - -if (isset($_REQUEST['saveToFile'])) { - $response->disable(); - $file_name = $visualizationSettings['spatialColumn']; - $save_format = $_REQUEST['fileFormat']; - $visualization = PMA_GIS_Visualization::get($sql_query, $visualizationSettings, $rows, $pos); - $visualization->toFile($file_name, $save_format); - exit(); -} - -$header = $response->getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('openlayers/OpenLayers.js'); -$scripts->addFile('jquery/jquery.svg.js'); -$scripts->addFile('tbl_gis_visualization.js'); -$scripts->addFile('OpenStreetMap.js'); - -// If all the rows contain SRID, use OpenStreetMaps on the initial loading. -if (! isset($_REQUEST['displayVisualization'])) { - $visualization = PMA_GIS_Visualization::get($sql_query, $visualizationSettings, $rows, $pos); - if ($visualization->hasSrid()) - unset($visualizationSettings['choice']); - $visualizationSettings['choice'] = 'useBaseLayer'; -} - -$svgSupport = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER <= 8) - ? false : true; -$format = $svgSupport ? 'svg' : 'png'; - -$visualization = PMA_GIS_Visualization::get($sql_query, $visualizationSettings, $rows, $pos); -if ($visualizationSettings != null) { - foreach ($visualization->getSettings() as $setting => $val) { - if (! isset($visualizationSettings[$setting])) { - $visualizationSettings[$setting] = $val; - } - } -} - -$result = $visualization->toImage($format); - -/** - * Displays the page - */ -$url_params['sql_query'] = $sql_query; -$downloadUrl = 'tbl_gis_visualization.php' . PMA_URL_getCommon($url_params) - . '&saveToFile=true'; -$html = PMA\Template::get('gis_visualization/gis_visualization')->render( - array( - 'url_params' => $url_params, - 'downloadUrl' => $downloadUrl, - 'labelCandidates' => $labelCandidates, - 'spatialCandidates' => $spatialCandidates, - 'visualizationSettings' => $visualizationSettings, - 'sql_query' => $sql_query, - 'visualization' => $result, - 'svgSupport' => $svgSupport, - 'drawOl' => $visualization->asOl() - ) -); - -$response->addHTML($html); +$controller = new TableGisVisualizationController(); +$controller->indexAction(); |