*/
if (!$config['weathermap']['enable']) {
print_error_permission("Weather map disabled");
return;
}
if ($_SESSION['userlevel'] < 5) {
print_error_permission();
return;
}
$navbar['class'] = 'navbar-narrow';
$navbar['brand'] = 'Weathermaps';
if ($_SESSION['userlevel'] > 7 && isset($vars['mapname']) && $vars['mapname'] === 'new') {
$map_name = 'new_map_'.date('Ymd-His');
if ($wmap_id = dbInsert(['wmap_name' => $map_name ], 'weathermaps')) {
header("Location: /" . generate_url(['page' => "wmap", 'wmap_id' => $wmap_id]));
}
return;
}
// Allow use of wmap_id as well as mapname
if (isset($vars['wmap_id'])) {
$vars['mapname'] = dbFetchCell("SELECT `wmap_name` FROM `weathermaps` WHERE `wmap_id` = ?", [$vars['wmap_id']]);
}
$editing = FALSE;
if (isset($vars['mapname']) && dbExist("weathermaps", "`wmap_name` = ?", [$vars['mapname']])) {
if ($_SESSION['userlevel'] > 7 && $vars['edit']) {
$editing = TRUE;
}
} else {
unset($vars['mapname']);
}
if ($editing === TRUE) {
$navbar['options']['add_node']['text'] = 'Add Node';
$navbar['options']['add_node']['id'] = 'tb_addnode';
$navbar['options']['add_link']['text'] = 'Add Link';
$navbar['options']['add_link']['id'] = 'tb_addlink';
/* Disabled for space reasons. Can move these by clicking the elements directly.
$navbar['options']['tb_poslegend']['text'] = 'Move Legend';
$navbar['options']['tb_poslegend']['id'] = 'tb_poslegend';
$navbar['options']['tb_postime']['text'] = 'Move Time';
$navbar['options']['tb_postime']['id'] = 'tb_postime';
*/
$navbar['options']['tb_mapprops']['text'] = 'Map Properties';
$navbar['options']['tb_mapprops']['id'] = 'tb_mapprops';
$navbar['options']['tb_mapstyle']['text'] = 'Map Style';
$navbar['options']['tb_mapstyle']['id'] = 'tb_mapstyle';
$navbar['options']['tb_prefs']['text'] = 'Settings';
$navbar['options']['tb_prefs']['id'] = 'tb_prefs';
$navbar['options_right']['help']['id'] = 'tb_help';
$navbar['options_right']['help']['text'] = '';
//$navbar['options_right']['tb_coords']['text'] = 'Return to List';
//$navbar['options_right']['tb_coords']['icon'] = 'sprite-return';
//$navbar['options_right']['tb_coords']['url'] = generate_url(['page' => "wmap"]);
//$navbar['options_right']['tb_coords']['id'] = 'tb_coords';
}
if (isset($vars['mapname'])) {
if ($_SESSION['userlevel'] > 7) {
$navbar['options_right']['edit']['text'] = 'Edit Map';
$navbar['options_right']['edit']['icon'] = 'sprite-cog';
if ($editing) {
$navbar['options_right']['edit']['text'] = 'Disable Editing';
$navbar['options_right']['edit']['active'] = TRUE;
$navbar['options_right']['edit']['url'] = generate_url(['page' => "wmap", 'mapname' => $vars['mapname'], 'edit' => NULL]);
} else {
$navbar['options_right']['edit']['url'] = generate_url(['page' => "wmap", 'mapname' => $vars['mapname'], 'edit' => TRUE]);
}
}
$navbar['options_right']['tb_coords']['text'] = 'Map List';
$navbar['options_right']['tb_coords']['icon'] = 'sprite-return';
$navbar['options_right']['tb_coords']['url'] = generate_url(['page' => "wmap"]);
$navbar['options_right']['tb_coords']['id'] = 'tb_coords';
}
// Print out the navbar defined above
print_navbar($navbar);
unset($navbar);
if (isset($vars['mapname'])) {
if ($editing === TRUE) {
//r($vars);
include($config['install_dir'] . "/includes/weathermap/editor.php");
} else {
//echo '';
//echo '
 . '&action=draw&unique=' . time() . ')
';
//echo '
';
require_once 'Console/Getopt.php';
require_once "../includes/weathermap/lib/Weathermap.class.php";
$map = new WeatherMap;
$mapfile = $vars['mapname'];
$map->context = 'cli';
$map->ReadConfig($mapfile);
$map->ReadData();
//$map->htmlstyle = "qtip";
ob_start();
$image = $map->DrawMap('', '', 250, TRUE, FALSE, FALSE);
$img = base64_encode(ob_get_contents());
$map->imageuri = 'data:image/png;base64,'.$img;
$map->imageuri = '/weathermap.php?mapname=' . escape_html($vars['mapname']) . '&action=draw&unique=' . time();
ob_end_clean();
$map->PreloadMapHTML();
echo $map->MakeHTML();
//r($map);
}
} else {
echo '';
foreach (dbFetchRows("SELECT * FROM `weathermaps`") as $wmap) {
echo '
';
}
echo '
';
}
// EOF