escape_string($retezec); } class SQL { static function PripojSeKDatabazi() { $pokusu = 0; do { if ($pokusu++ == 5) { System::ZapisDoLogu('chyba_db',$GLOBALS['dbsspojeni']->connect_error); Die('');//'Nepodařilo se spojit s databází. Přijďte prosím později.'); } if ($pokusu != 1) Sleep(1); $GLOBALS['dbsspojeni'] = new mysqli(DBHOST,DBUSER,DBPASS,DBDATABASE); } while ($GLOBALS['dbsspojeni']->connect_errno); SQL::Pozadavek('SET NAMES utf8'); } static function Pozadavek($pozadavek,$ignorovatchybu=false) { if (!IsSet($GLOBALS['dbsspojeni'])) SQL::PripojSeKDatabazi(); $ms1 = SQL::PresnyCas(); $navrat = $GLOBALS['dbsspojeni']->query($pozadavek); $ms2 = SQL::PresnyCas(); $GLOBALS['pocet_sql_pozadavku']++; $GLOBALS['cas_sql_pozadavku'] += $ms2 - $ms1; // if (($ms2 - $ms1) > 3) System::ZapisDoLogu('dlouhe_dotazy',Round($ms2-$ms1,5).': '.$pozadavek); if ($navrat === false && !$ignorovatchybu) System::Chyba('Chyba při práci s databází!
'.$pozadavek.'
'.$GLOBALS['dbsspojeni']->error); return $navrat; } static function VratRadek($pozadavek) { $vysledek = SQL::Pozadavek($pozadavek); if ($vysledek === false) return false; return $vysledek->fetch_assoc(); } static function VratPole($pozadavek) { $vysledek = SQL::Pozadavek($pozadavek); if ($vysledek === false) return false; $navrat = Array(); for ($i=0; $navrat[$i]=$vysledek->fetch_assoc(); $i++); UnSet($navrat[$i]); return($navrat); } static function VratHodnotu($pozadavek) { $vysledek = SQL::Pozadavek($pozadavek); if ($vysledek === false) return false; return $vysledek->fetch_array(MYSQLI_NUM)[0]; } static function NejakyVysledek($pozadavek,&$vysledek=false) { $vysledek = SQL::VratRadek($pozadavek); if ($vysledek === false) return false; else return true; } static function OvlivnenychRadku() { if (!IsSet($GLOBALS['dbsspojeni'])) SQL::PripojSeKDatabazi(); return $GLOBALS['dbsspojeni']->affected_rows; } static function PosledniID() { return $GLOBALS['dbsspojeni']->insert_id; } static function OdpojSeOdDatabaze() { $GLOBALS['dbsspojeni']->close(); UnSet($GLOBALS['dbsspojeni']); } static function PresnyCas() { return hrtime(true) / 1000; } static function VratHodnotuDoDotazu($udaje,$hodnota,$editace,$typ=text,$pokracovat=true) { if (!IsSet($udaje[$hodnota]) && $typ != 'cislo') System::Chyba('Neexistující hodnota "'.$hodnota.'" v poli!'); $navrat = ''; if ($editace) $navrat .= $hodnota.' = '; if ($udaje[$hodnota] === false) $navrat .= 'NULL'; else switch($typ) { case 'text': $navrat .= '"'.MySQL_Escape_String($udaje[$hodnota]).'"'; break; case 'cislo': $navrat .= ''.($udaje[$hodnota]+0); break; case 'null': $navrat .= ($udaje[$hodnota] == '' ? 'NULL' : '"'.MySQL_Escape_String($udaje[$hodnota]).'"'); break; default: System::Chyba('Neznámý typ hodnoty!'); } if ($pokracovat) $navrat .= ','; return $navrat; } static function VygenerujPrikazKZapisu($udaje,$hodnoty,$editace) { $navrat = ''; $i=0; foreach($hodnoty as $index => $hodnota) { if (Is_String($index)) { switch($hodnota) { case 'cislo': case 'null': $typ = $hodnota; $hodnota = $index; break; default: System::Chyba('Neznámý typ hodnoty!'); } } else $typ = 'text'; $navrat .= SQL::VratHodnotuDoDotazu($udaje,$hodnota,$editace,$typ,++$i < Count($hodnoty)); } return($navrat); } } ?>

Vygenerování části mapy OpenStreetMap, tak jak byla v minulosti

Zadání nového požadavku

Zde si můžete nechat vygenerovat, jak vypadala OpenStreetMap mapa v minulosti. Stačí zadat oblast (respektive střed oblasti, velikost zatím nelze nastavovat) a požadované datum. Autor a popisek je vyžadován z důvodu, abyste si pak mapu poznali (požadavky jsou zařazovány do fronty).

Mapa se generuje pomocí Osmarendereru a její vygenerování trvá cca 1 minutu (podle počtu požadavků).