*/ 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 ''; //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