Compare commits
10 Commits
09c655cec1
...
eee164068b
| Author | SHA1 | Date | |
|---|---|---|---|
| eee164068b | |||
| b9f8ea83fd | |||
| 93170c928d | |||
| 9247b399bc | |||
| b3efa54de2 | |||
| afc5b57d98 | |||
| 0afd2e476d | |||
| f5d47af766 | |||
| 5e90c2556b | |||
| 0d8edfa5f5 |
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"liveServer.settings.port": 3001
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
[
|
||||
{
|
||||
"name" : "HoPe_all_flights",
|
||||
"url" : "https://de.dhv-xc.de/api/fli/flights?fkpil%5B%5D=1295&l-fkpil%5B%5D=Hoppe%2C%20Peter&navpars=%7B%22start%22%3A0%2C%22limit%22%3A2000%2C%22sort%22%3A%5B%7B%22field%22%3A%22FlightDate%22%2C%22dir%22%3A-1%7D%2C%7B%22field%22%3A%22BestTaskPoints%22%2C%22dir%22%3A-1%7D%5D%7D"
|
||||
|
||||
"url" : "https://de.dhv-xc.de/api/fli/flights?fkpil%5B%5D=1295&navpars=%7B%22start%22%3A0%2C%22limit%22%3A4000%7D"
|
||||
}
|
||||
]
|
||||
6
docs/GetHoPeAll_lang_url.json
Executable file
6
docs/GetHoPeAll_lang_url.json
Executable file
@ -0,0 +1,6 @@
|
||||
[
|
||||
{
|
||||
"name" : "HoPe_all_flights",
|
||||
"url" : "https://de.dhv-xc.de/api/fli/flights?fkpil%5B%5D=1295&l-fkpil%5B%5D=Hoppe%2C%20Peter&navpars=%7B%22start%22%3A0%2C%22limit%22%3A2000%2C%22sort%22%3A%5B%7B%22field%22%3A%22FlightDate%22%2C%22dir%22%3A-1%7D%2C%7B%22field%22%3A%22BestTaskPoints%22%2C%22dir%22%3A-1%7D%5D%7D"
|
||||
}
|
||||
]
|
||||
0
docs/alex.json
Normal file
0
docs/alex.json
Normal file
1
docs/hoyer.json
Normal file
1
docs/hoyer.json
Normal file
File diff suppressed because one or more lines are too long
BIN
docs/hoyer.zip
Normal file
BIN
docs/hoyer.zip
Normal file
Binary file not shown.
83
docs/reduceData.json
Normal file
83
docs/reduceData.json
Normal file
@ -0,0 +1,83 @@
|
||||
3590
|
||||
|
||||
1411
|
||||
{
|
||||
"IDFlight": "185129",
|
||||
"FKGliderCategory": "1",
|
||||
"Category": "Gleitschirm",
|
||||
"CompetitionClass": "Sport",
|
||||
"Launchtype": "Fu\u00dfstart",
|
||||
"FKPilot": "1295",
|
||||
"FirstName": "Peter",
|
||||
"LastName": "Hoppe",
|
||||
"Nationality": "DE",
|
||||
"Glider": "Matrix",
|
||||
"GliderBrand": "FreeX",
|
||||
"GliderClassification": "-",
|
||||
"FKSeason": "2003",
|
||||
"FlightDate": "2003-04-18",
|
||||
"UtcOffset": "2",
|
||||
"FlightStartTime": "2003-04-18 12:11:40",
|
||||
"FlightEndTime": "2003-04-18 13:05:50",
|
||||
"FlightDuration": "3250",
|
||||
"TakeoffCountry": "DE",
|
||||
"TakeoffWaypointName": "Brauneck",
|
||||
"LinearDistance": "5378",
|
||||
"MaxLinearDistance": "5812",
|
||||
"ArcDistance": "27211",
|
||||
"BestTaskType": "FAI Dreieck",
|
||||
"BestTaskDistance": "12959",
|
||||
"BestTaskPoints": "25.918",
|
||||
"BestTaskDuration": "2910",
|
||||
"MaxSpeed": "14.6395",
|
||||
"GroundSpeed": "8.37269",
|
||||
"BestTaskSpeed": "4.45326",
|
||||
"TakeoffAltitude": "1534",
|
||||
"MaxAltitude": "2181",
|
||||
"MinAltitude": "710",
|
||||
"ElevationGain": "1773",
|
||||
"MeanAltitudeDiff": "0",
|
||||
"MaxClimb": "5.8",
|
||||
"MinClimb": "-3.4",
|
||||
},
|
||||
1436
|
||||
{
|
||||
"IDFlight": "1631419",
|
||||
"FKGliderCategory": "1",
|
||||
"Category": "Gleitschirm",
|
||||
"CompetitionClass": "Sport",
|
||||
"Launchtype": "Fu\u00dfstart",
|
||||
"FKPilot": "1295",
|
||||
"FirstName": "Peter",
|
||||
"LastName": "Hoppe",
|
||||
"Nationality": "DE",
|
||||
"ClubName": "Gleitschirmclub Ratisbona e.V.",
|
||||
"Glider": "Fusion L",
|
||||
"GliderBrand": "Flow",
|
||||
"GliderClassification": "EN C",
|
||||
"FKSeason": "2023",
|
||||
"FlightDate": "2022-11-01",
|
||||
"UtcOffset": "1",
|
||||
"FlightStartTime": "2022-11-01 11:02:13",
|
||||
"FlightEndTime": "2022-11-01 11:20:25",
|
||||
"FlightDuration": "1092",
|
||||
"TakeoffCountry": "AT",
|
||||
"LinearDistance": "4934",
|
||||
"MaxLinearDistance": "5082",
|
||||
"ArcDistance": "10941",
|
||||
"BestTaskType": "Freie Strecke",
|
||||
"BestTaskDistance": "8191",
|
||||
"BestTaskPoints": "12.2865",
|
||||
"BestTaskDuration": "844",
|
||||
"MaxSpeed": "17.3356",
|
||||
"GroundSpeed": "10.0188",
|
||||
"BestTaskSpeed": "9.70498",
|
||||
"TakeoffAltitude": "1894",
|
||||
"MaxAltitude": "1901",
|
||||
"MinAltitude": "708",
|
||||
"ElevationGain": "109",
|
||||
"MeanAltitudeDiff": "0",
|
||||
"MaxClimb": "0.727273",
|
||||
"MinClimb": "-3.45455",
|
||||
},
|
||||
|
||||
8
docs/urlDecode.txt
Normal file
8
docs/urlDecode.txt
Normal file
@ -0,0 +1,8 @@
|
||||
https://de.dhv-xc.de/api/fli/flights?fkpil[]=1295&navpars={"start":0,"limit":4000}
|
||||
|
||||
https://de.dhv-xc.de/api/fli/flights?fkpil%5B%5D=1295&navpars=%7B%22start%22%3A0%2C%22limit%22%3A4000%7D
|
||||
|
||||
|
||||
https://de.dhv-xc.de/api/fli/flights?fkpil[]=1295&l-fkpil[]=Hoppe, Peter&navpars={"start":0,"limit":2000,"sort":[{"field":"FlightDate","dir":-1},{"field":"BestTaskPoints","dir":-1}]}
|
||||
|
||||
https://de.dhv-xc.de/api/fli/flights?fkpil%5B%5D=1295&l-fkpil%5B%5D=Hoppe%2C+Peter&navpars=%7B%22start%22%3A0%2C%22limit%22%3A2000%2C%22sort%22%3A%5B%7B%22field%22%3A%22FlightDate%22%2C%22dir%22%3A-1%7D%2C%7B%22field%22%3A%22BestTaskPoints%22%2C%22dir%22%3A-1%7D%5D%7D
|
||||
56
src/App.css
56
src/App.css
@ -1,40 +1,12 @@
|
||||
.App {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.App-logo {
|
||||
height: 40vmin;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.App-logo {
|
||||
animation: App-logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.App-header {
|
||||
background-color: #282c34;
|
||||
min-height: 100vh;
|
||||
.layout {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: calc(10px + 2vmin);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.App-link {
|
||||
color: #61dafb;
|
||||
}
|
||||
|
||||
@keyframes App-logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
/* @import url('https://fonts.googleapis.com/css2?family=Lato&display=swap'); */
|
||||
@ -62,6 +34,7 @@
|
||||
font-family: 'Lato', sans-serif;
|
||||
}
|
||||
|
||||
|
||||
.home,
|
||||
.flights,
|
||||
.seasons {
|
||||
@ -70,6 +43,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 3rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
@ -129,10 +103,6 @@ h1,h2,h4,p
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
.toindex
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.flexbox
|
||||
{
|
||||
@ -150,20 +120,8 @@ h1,h2,h4,p
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.header
|
||||
{
|
||||
border: 0px;
|
||||
font-weight: 900;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.pilot .header
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.link
|
||||
{
|
||||
font-size: 80%;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ import Seasons from './pages/Seasons';
|
||||
export default function App()
|
||||
{
|
||||
return(
|
||||
<>
|
||||
<div className='layout'>
|
||||
<Router>
|
||||
<Navbar />
|
||||
<Routes>
|
||||
@ -20,6 +20,6 @@ export default function App()
|
||||
<Route path='/seasons' element={<Seasons/>} />
|
||||
</Routes>
|
||||
</Router>
|
||||
</>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@ -2,11 +2,37 @@ import flights from '../data/HoPe_all_flights.json';
|
||||
import {CFlight} from '../classes/CFlight';
|
||||
import {CSeason} from '../classes/CSeason';
|
||||
import {groupByMap} from '../global/tools';
|
||||
import getFlights from '../data/GetAllFlights.json';
|
||||
|
||||
const data_raw = flights.data;
|
||||
export const g_data: CFlight[] = [];
|
||||
export const g_seasondata: CSeason[] = [];
|
||||
|
||||
|
||||
// function GetFlightsFromXcServer(FKpilot: number)
|
||||
// {
|
||||
// var url_raw: string = getFlights[0].url;
|
||||
// const pattern: string = getFlights[0].pattern;
|
||||
// const regex = /XXXXXXXX/gi;
|
||||
// const url = url_raw.replace(regex, FKpilot.toString());
|
||||
|
||||
// var fldata: any;
|
||||
// fetch(url)
|
||||
// .then(function(response)
|
||||
// {
|
||||
// return response.json();
|
||||
// }
|
||||
// ).then(function(myJson)
|
||||
// {
|
||||
// fldata=myJson;
|
||||
// console.log(fldata);
|
||||
// });
|
||||
|
||||
// return fldata;
|
||||
// }
|
||||
|
||||
// const data_raw = GetFlightsFromXcServer(1295).data;
|
||||
|
||||
for (let fl of data_raw)
|
||||
{
|
||||
g_data.push(new CFlight(fl));
|
||||
|
||||
@ -7,7 +7,7 @@ function Link2Flight(u_key: string, key: string, row: any, data: string | null)
|
||||
{
|
||||
var val: JSX.Element = <></>;
|
||||
const link: string = 'https://de.dhv-xc.de/flight/' + row['IDFlight'];
|
||||
val = <td key={u_key}><a href={link} target="_blank" rel="noopener noreferrer" >{data}</a></td>;
|
||||
val = <td className='link' key={u_key}><a href={link} target="_blank" rel="noopener noreferrer" >{data}</a></td>;
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
@ -1,15 +1,14 @@
|
||||
.navbar {
|
||||
background-color: #ba3a07c2;
|
||||
height: 80px;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
min-width: 50px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.menu-bars {
|
||||
margin-left: 2rem;
|
||||
font-size: 2rem;
|
||||
margin-left: 1rem;
|
||||
background: none;
|
||||
}
|
||||
|
||||
@ -52,7 +51,7 @@
|
||||
}
|
||||
|
||||
.nav-text a:hover {
|
||||
background-color: #1a83ff;
|
||||
background-color: #d8150e;
|
||||
}
|
||||
|
||||
.nav-menu-items {
|
||||
@ -62,7 +61,7 @@
|
||||
.navbar-toggle {
|
||||
background-color: #ba3a07c2;
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
@ -15,9 +15,9 @@ export default function Navbar()
|
||||
return (
|
||||
<>
|
||||
<IconContext.Provider value={{ color: '#fff' }}>
|
||||
<div className='navbar'>
|
||||
<div className='navbar' onClick={showSidebar}>
|
||||
<Link to='#' className='menu-bars'>
|
||||
<FaIcons.FaBars onClick={showSidebar} />
|
||||
<FaIcons.FaBars />
|
||||
</Link>
|
||||
</div>
|
||||
<nav className={sidebar ? 'nav-menu active' : 'nav-menu'}>
|
||||
|
||||
7
src/data/GetAllFlights.json
Executable file
7
src/data/GetAllFlights.json
Executable file
@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"name" : "all_flights",
|
||||
"pattern" : "XXXXXXXX",
|
||||
"url" : "https://de.dhv-xc.de/api/fli/flights?fkpil%5B%5D=XXXXXXXX&navpars=%7B%22start%22%3A0%2C%22limit%22%3A5000%7D"
|
||||
}
|
||||
]
|
||||
89
src/layout.txt
Normal file
89
src/layout.txt
Normal file
@ -0,0 +1,89 @@
|
||||
layout
|
||||
flex
|
||||
|
||||
nn hhhhhhhhhhh
|
||||
nn mmmmmmmmmmm
|
||||
nn mmmmmmmmmmm
|
||||
nn mmmmmmmmmmm
|
||||
nn mmmmmmmmmmm
|
||||
nn fffffffffff
|
||||
|
||||
n nav
|
||||
h header
|
||||
m main/inhalt
|
||||
f footer
|
||||
|
||||
n fix links, immer gesamte höhe
|
||||
h immer gesamte breite bis auf nav fixe höhe
|
||||
f immer gesamte breite bis auf nav fixe höhe
|
||||
m horizontal und vertikal center
|
||||
|
||||
row
|
||||
element 1
|
||||
nav
|
||||
elemen1 2
|
||||
column
|
||||
header
|
||||
main
|
||||
footer
|
||||
/column
|
||||
/row
|
||||
|
||||
<div class="container">
|
||||
<nav class="nav left">left</nav>
|
||||
<section class="main">
|
||||
<div class="col header">header</div>
|
||||
<div class="col middle">
|
||||
<div class="ver_hor_center">
|
||||
main
|
||||
</div>
|
||||
</div>
|
||||
<div class="col footer">footer</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
min-height: 50px;
|
||||
|
||||
}
|
||||
.left {
|
||||
flex: 0 0;
|
||||
background-color: blue;
|
||||
height: 100vh;
|
||||
}
|
||||
.main {
|
||||
width: 100%;
|
||||
background-color: red;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: 100vh;
|
||||
}
|
||||
.col {
|
||||
margin: 2px;
|
||||
}
|
||||
.header {
|
||||
flex: 0 0;
|
||||
height: 20px;
|
||||
background: yellow;
|
||||
}
|
||||
.middle {
|
||||
height: 100%;
|
||||
background: pink;
|
||||
}
|
||||
.footer {
|
||||
flex: 0 0;
|
||||
height: 20px;
|
||||
background: cyan;
|
||||
}
|
||||
|
||||
.ver_hor_center
|
||||
{
|
||||
/* horizontal und vertikal zentrieren */
|
||||
position: absolute;
|
||||
top: 25%;
|
||||
left: 25%;
|
||||
}
|
||||
@ -2,7 +2,7 @@ import React from 'react';
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<div>
|
||||
<div className='home'>
|
||||
<h1>HOME</h1>
|
||||
</div>
|
||||
);
|
||||
|
||||
BIN
thirdParty/react-sidebar-main.zip
vendored
Normal file
BIN
thirdParty/react-sidebar-main.zip
vendored
Normal file
Binary file not shown.
12
www/liesmich.txt
Normal file
12
www/liesmich.txt
Normal file
@ -0,0 +1,12 @@
|
||||
https://www.php-einfach.de/experte/php-codebeispiele/loginscript/
|
||||
|
||||
CREATE TABLE `users` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT ,
|
||||
`email` VARCHAR(255) NOT NULL ,
|
||||
`passwort` VARCHAR(255) NOT NULL ,
|
||||
`vorname` VARCHAR(255) NOT NULL DEFAULT '' ,
|
||||
`nachname` VARCHAR(255) NOT NULL DEFAULT '' ,
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
|
||||
`updated_at` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
|
||||
PRIMARY KEY (`id`), UNIQUE (`email`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
@ -1,28 +1,46 @@
|
||||
<?php
|
||||
session_start();
|
||||
$pdo = new PDO('mysql:host=rdbms.strato.de;dbname=dbs9336961', 'dbu1516891', 'C5ZrqVZDDBtv9SfloCh3');
|
||||
|
||||
if(session_start())
|
||||
{
|
||||
echo "session ok<br/>---<br/>";
|
||||
var_dump( get_defined_vars() );
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "session error";
|
||||
|
||||
};
|
||||
//strato
|
||||
//$pdo = new PDO('mysql:host=rdbms.strato.de;dbname=dbs9336961', 'dbu1516891', 'C5ZrqVZDDBtv9SfloCh3');
|
||||
//netcup local
|
||||
$pdo = new PDO('mysql:host=localhost;dbname=k200835_php', 'k200835_admin', 'C5ZrqVZDDBtv9SfloCh3');
|
||||
|
||||
var_dump( get_defined_vars() );
|
||||
|
||||
|
||||
if(isset($_GET['login']))
|
||||
{
|
||||
$email = $_POST['email'];
|
||||
$passwort = $_POST['passwort'];
|
||||
|
||||
$statement = $pdo->prepare("SELECT * FROM users WHERE email = :email");
|
||||
$result = $statement->execute(array('email' => $email));
|
||||
$user = $statement->fetch();
|
||||
|
||||
// $statement = $pdo->prepare("SELECT * FROM users WHERE email = :email");
|
||||
// $result = $statement->execute(array('email' => $email));
|
||||
// $user = $statement->fetch();
|
||||
|
||||
//Überprüfung des Passworts
|
||||
if ($user !== false && password_verify($passwort, $user['passwort']))
|
||||
{
|
||||
$_SESSION['userid'] = $user['id'];
|
||||
die('Login erfolgreich. Weiter zu <a href="./geheim.php">internen Bereich</a>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$errorMessage = "E-Mail oder Passwort war ungültig<br>";
|
||||
}
|
||||
// //Überprüfung des Passworts
|
||||
// if ($user !== false && password_verify($passwort, $user['passwort']))
|
||||
// {
|
||||
// $_SESSION['userid'] = $user['id'];
|
||||
// die('Login erfolgreich. Weiter zu <a href="./geheim.php">internen Bereich</a>');
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// $errorMessage = "E-Mail oder Passwort war ungültig<br>";
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
echo "No login set";
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
session_start();
|
||||
$pdo = new PDO('mysql:host=rdbms.strato.de;dbname=dbs9336961', 'dbu1516891', 'C5ZrqVZDDBtv9SfloCh3');
|
||||
// geht auf netcup
|
||||
$pdo = new PDO('mysql:host=10.35.232.188:3306;dbname=k200835_php', 'k200835_admin', 'C5ZrqVZDDBtv9SfloCh3');
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
Reference in New Issue
Block a user