getSettings() as $setting => $val) { if (! isset($visualizationSettings[$setting])) { $visualizationSettings[$setting] = $val; } } } if ($format == 'svg') { return $visualization->asSvg(); } elseif ($format == 'png') { return $visualization->asPng(); } elseif ($format == 'ol') { return $visualization->asOl(); } return false; } /** * Generate visualization for the GIS query results and save it to a file. * * @param array $data data for the status chart * @param array $visualizationSettings settings used to generate the chart * @param string $format format of the visualization * @param string $fileName file name * * @return file File containing the visualization */ function PMA_GIS_saveToFile($data, $visualizationSettings, $format, $fileName) { include_once './libraries/gis/GIS_Visualization.class.php'; include_once './libraries/gis/GIS_Factory.class.php'; if (isset($data[0])) { $visualization = new PMA_GIS_Visualization($data, $visualizationSettings); if ($format == 'svg') { $visualization->toFileAsSvg($fileName); } elseif ($format == 'png') { $visualization->toFileAsPng($fileName); } elseif ($format == 'pdf') { $visualization->toFileAsPdf($fileName); } } } /** * Function to get html for the label column and spatial column * * @param string $column the column type. i.e either "labelColumn" * or "spatialColumn" * @param array $columnCandidates the list of select options * @param array $visualizationSettings visualization settings * * @return string $html */ function PMA_getHtmlForSelect($column, $columnCandidates, $visualizationSettings) { $html = ''; $html .= ''; return $html; } /** * Function to get HTML for the option of using open street maps * * @param boolean $isSelected the default value * * @return string HTML string */ function PMA_getHtmlForUseOpenStreetMaps($isSelected) { $html = ''; $html .= '' . $label . ''; $html .= ''; return $html; } /** * Function to generate HTML for the GIS visualization page * * @param array $url_params url parameters * @param array $labelCandidates list of candidates for the label * @param array $spatialCandidates list of candidates for the spatial column * @param array $visualizationSettings visualization settings * @param String $sql_query the sql query * @param String $visualization HTML and js code for the visualization * @param boolean $svg_support whether svg download format is supported * @param array $data array of visualizing data * * @return string HTML code for the GIS visualization */ function PMA_getHtmlForGisVisualization( $url_params, $labelCandidates, $spatialCandidates, $visualizationSettings, $sql_query, $visualization, $svg_support, $data ) { $html = '
'; $html .= '
'; $html .= '' . __('Display GIS Visualization') . ''; $html .= '
'; $html .= '
'; $html .= PMA_URL_getHiddenInputs($url_params); $html .= PMA_getHtmlForSelect( "labelColumn", $labelCandidates, $visualizationSettings ); $html .= PMA_getHtmlForSelect( "spatialColumn", $spatialCandidates, $visualizationSettings ); $html .= ''; $html .= ''; $html .= '
'; if (! $GLOBALS['PMA_Config']->isHttps()) { $isSelected = isset($visualizationSettings['choice']) ? true : false; $html .= PMA_getHtmlForUseOpenStreetMaps($isSelected); } $html .= '
'; $html .= '
'; $html .= ''; $html .= PMA_Util::getImage('b_saveimage', __('Save')); $html .= ''; $url_params['sql_query'] = $sql_query; $url_params['saveToFile'] = 'download'; $url = 'tbl_gis_visualization.php' . PMA_URL_getCommon($url_params); $html .= '
    '; $html .= PMA_getHtmlForGisDownloadLink($url, 'png', 'PNG'); $html .= PMA_getHtmlForGisDownloadLink($url, 'pdf', 'PDF'); if ($svg_support) { $html .= PMA_getHtmlForGisDownloadLink($url, 'svg', 'SVG'); } $html .= '
'; $html .= '
'; $html .= '
'; $html .= '
 
'; $html .= '
'; $html .= $visualization; $html .= '
'; $html .= '
'; $html .= ''; $html .= ''; $html .= '
'; $html .= '
'; return $html; } ?>