diff --git a/Loemind.txt b/Loemind.txt new file mode 100644 index 0000000..0ffaaeb --- /dev/null +++ b/Loemind.txt @@ -0,0 +1,4 @@ +# ProjectGPX (Mattias Blehner, Sten-Erik Tool, Eric Skripka); +*Veebileht, kus saab sisestada ja kuvada oma jooksutrajektoori ja vőrrelda oma tulemusi teistega. +*Sihtgrupiks on kőik spordihuvilised/harrastajad. +*Sarnased lehed: endomundo.com ja sport-tracker.com jne. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 942e138..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# t12loputoo - -Omakoostatud tervikrakendus vĂ”i selle osa. Soovitavalt lĂ”ik suvepraktikast. diff --git a/class/Change.class.php b/class/Change.class.php new file mode 100644 index 0000000..10d29a3 --- /dev/null +++ b/class/Change.class.php @@ -0,0 +1,117 @@ +connection = $mysqli; + } + + + function changeUsername($changeUsername, $id) { + $stmt = $this->connection->prepare("UPDATE project_user SET username=? WHERE id=?"); + echo $this->connection->error; + $stmt->bind_param("si",$changeUsername, $id); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + $answer = "Muutmine toimus edukalt"; + $_SESSION['note'] = $answer; + } else { + $answer = "ERROR ".$stmt->error; + $_SESSION['note'] = $answer; + } + //panen ĂŒhenduse kinni + $stmt->close(); + } + + function changePassword($changePassword, $id) { + $stmt = $this->connection->prepare("UPDATE project_user SET password=? WHERE id=?"); + echo $this->connection->error; + $stmt->bind_param("si",$changePassword, $id); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + $answer = "Muutmine toimus edukalt"; + $_SESSION['note'] = $answer; + } else { + $answer = "ERROR ".$stmt->error; + $_SESSION['note'] = $answer; + } + //panen ĂŒhenduse kinni + $stmt->close(); + } + + + function changeEmail($changeEmail, $id) { + $stmt = $this->connection->prepare("UPDATE project_user SET email=? WHERE id=?"); + echo $this->connection->error; + $stmt->bind_param("si",$changeEmail, $id); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + $answer = "Muutmine toimus edukalt"; + $_SESSION['note'] = $answer; + } else { + $answer = "ERROR ".$stmt->error; + $_SESSION['note'] = $answer; + } + //panen ĂŒhenduse kinni + $stmt->close(); + } + + + function changeFirstName($changeFirstName, $id) { + $stmt = $this->connection->prepare("UPDATE project_user SET firstname=? WHERE id=?"); + echo $this->connection->error; + $stmt->bind_param("si",$changeFirstName, $id); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + $answer = "Muutmine toimus edukalt"; + $_SESSION['note'] = $answer; + } else { + $answer = "ERROR ".$stmt->error; + $_SESSION['note'] = $answer; + } + //panen ĂŒhenduse kinni + $stmt->close(); + } + + function changeLastName($changeLastName, $id) { + $stmt = $this->connection->prepare("UPDATE project_user SET lastname=? WHERE id=?"); + echo $this->connection->error; + $stmt->bind_param("si",$changeLastName, $id); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + $answer = "Muutmine toimus edukalt"; + $_SESSION['note'] = $answer; + } else { + $answer = "ERROR ".$stmt->error; + $_SESSION['note'] = $answer; + } + //panen ĂŒhenduse kinni + $stmt->close(); + } + + + function changeGender($changeGender, $id) { + $stmt = $this->connection->prepare("UPDATE project_user SET gender=? WHERE id=?"); + echo $this->connection->error; + $stmt->bind_param("si",$changeGender, $id); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + $answer = "Muutmine toimus edukalt"; + $_SESSION['note'] = $answer; + } else { + $answer = "ERROR ".$stmt->error; + $_SESSION['note'] = $answer; + } + //panen ĂŒhenduse kinni + $stmt->close(); + } + +} +?> \ No newline at end of file diff --git a/class/Helper.class.php b/class/Helper.class.php new file mode 100644 index 0000000..be25d5e --- /dev/null +++ b/class/Helper.class.php @@ -0,0 +1,14 @@ + diff --git a/class/Interest.class.php b/class/Interest.class.php new file mode 100644 index 0000000..eceeea3 --- /dev/null +++ b/class/Interest.class.php @@ -0,0 +1,98 @@ +connection = $mysqli; + } + + function get() { + $stmt = $this->connection->prepare("SELECT id, interest FROM project_intrests"); + echo $this->connection->error; + + $stmt->bind_result($id, $interest); + $stmt->execute(); + + //teen massiivi + $result = array(); + + // tee seda seni, kuni on rida andmeid mis vastab select lausele + while ($stmt->fetch()) { + //tekitan objekti + $i = new StdClass(); + $i->id = $id; + $i->interest = $interest; + array_push($result, $i); + } + $stmt->close(); + return $result; + } + + function getUser() { + + $stmt = $this->connection->prepare("SELECT interest FROM project_intrests JOIN project_user_interests ON project_intrests.id=project_user_interests.interest_id WHERE project_user_interests.user_id = ?"); + echo $this->connection->error; + $stmt->bind_param("i", $_SESSION["userId"]); + + $stmt->bind_result($interest); + $stmt->execute(); + + $result = array(); + + while ($stmt->fetch()) { + $i = new StdClass(); + $i->interest = $interest; + array_push($result, $i); + } + $stmt->close(); + return $result; + } + + function save ($interest) { + + $stmt = $this->connection->prepare("INSERT INTO project_intrests (interest) VALUES (?)"); + echo $this->connection->error; + $stmt->bind_param("s", $interest); + + if($stmt->execute()) { + $answer = "Salvestamine Ă”nnestus."; + $_SESSION['note'] = $answer; + } else { + echo "ERROR ".$stmt->error; + } + $stmt->close(); + } + + function saveUser ($interest) { + + $stmt = $this->connection->prepare("SELECT id FROM project_user_interests WHERE user_id=? AND interest_id=? "); + $stmt->bind_param("ii", $_SESSION["userId"], $interest); + $stmt->bind_result($id); + $stmt->execute(); + + if ($stmt->fetch()) { + // oli olemas juba selline rida + $answer2 = "Te juba tegelete selle hobiga."; + $_SESSION['note2'] = $answer2; + // pĂ€rast returni midagi edasi ei tehta funktsioonis + return; + } + + $stmt->close(); + // kui ei olnud siis sisestan + $stmt = $this->connection->prepare(" + INSERT INTO project_user_interests (user_id, interest_id) VALUES (?, ?)"); + echo $this->connection->error; + $stmt->bind_param("ii", $_SESSION["userId"], $interest); + + if ($stmt->execute()) { + $answer2 = "Salvestamine Ă”nnestus."; + $_SESSION['note2'] = $answer2; + } else { + echo "ERROR ".$stmt->error; + } + } +} + +?> \ No newline at end of file diff --git a/class/User.class.php b/class/User.class.php new file mode 100644 index 0000000..7f7cd20 --- /dev/null +++ b/class/User.class.php @@ -0,0 +1,65 @@ +connection = $mysqli; + } + function signUp($signupUsername, $password, $signupEmail, $signupFirstName, $signupLastName, $signupGender) { + $stmt = $this->connection->prepare("INSERT INTO project_user (username, password, email, firstname, lastname, gender) VALUES (?, ?, ?, ?, ?, ?)"); + echo $this->connection->error; + $stmt->bind_param("ssssss",$signupUsername, $password, $signupEmail, $signupFirstName, $signupLastName, $signupGender); + + //tĂ€ida kĂ€su + if($stmt->execute()) { + echo "Salvestamine Ă”nnestus"; + header( "refresh:2; url=login.php" ); + } else { + echo "ERROR ".$stmt->error; + } + //panen Ühenduse kinni + $stmt->close(); + } + + function login($loginEmail, $loginPassword) { + + $error = ""; + $password = $loginPassword; + $email = $loginEmail; + + $stmt = $this->connection->prepare("SELECT id, username, password, email, firstname, lastname, gender FROM project_user WHERE email = ?"); + echo $this->connection->error; + + //asendan kĂŒsimĂ€rgi + $stmt->bind_param("s", $email); + //mÀÀrna vÀÀrtused muutujasse + $stmt->bind_result($id, $usernameFromDB, $passwordFromDB, $emailFromDB, $firstnameFromDB, $lastnameFromDB, $genderFromDB); + $stmt->execute(); + //andmed tulid andmebaasist vĂ”i mitte + //on tĂ”ene kui on vĂ€hemalt ĂŒks vastus + + if($stmt->fetch()){ + //oli sellise meiliga kasutaja + //password millega kasutaja tahab sisse logida + $hash = hash("sha512", $password); + if ($hash == $passwordFromDB) { + echo "Kasutaja logis sisse ".$id; + $_SESSION["userId"] = $id; + $_SESSION["userEmail"] = $emailFromDB; + $_SESSION["userName"] = $usernameFromDB; + $_SESSION["firstName"] = $firstnameFromDB; + $_SESSION["lastName"] = $lastnameFromDB; + $_SESSION["gender"] = $genderFromDB; + header("Location: data.php"); + exit(); + } else { + $error = "Vale parool vĂ”i kasutajanimi"; + } + //mÀÀran sessiooni muutujad + //header("Location: login.php"); + } + return $error; + } +} +?> \ No newline at end of file diff --git a/class/comment.class.php b/class/comment.class.php new file mode 100644 index 0000000..66c2b15 --- /dev/null +++ b/class/comment.class.php @@ -0,0 +1,58 @@ +connection = $mysqli; + } + + function savecomment($userid, $fail, $comment) { + $stmt = $this->connection->prepare("INSERT INTO project_kommentaar (user_id, mapname, comment) VALUES (?, ?, ?)"); + echo $this->connection->error; + $stmt->bind_param("iss",$userid, $fail, $comment); + + if($stmt->execute()) { + echo "Salvestamine őnnestus"; + } else { + echo "ERROR ".$stmt->error; + } + //panen Ühenduse kinni + $stmt->close(); + } + + function get($fail) { + + $stmt = $this->connection->prepare(" + SELECT username, comment FROM project_kommentaar JOIN project_user on project_user.id=project_kommentaar.user_id WHERE mapname=?"); + $stmt->bind_param("s", $fail); + $stmt->bind_result($username, $comment); + $stmt->execute(); + echo $this->connection->error; + + //tekitan massiivi + $result = array(); + + // tee seda seni, kuni on rida andmeid + // mis vastab select lausele + while ($stmt->fetch()) { + + //tekitan objekti + $somments = new StdClass(); + + $somments->username = $username; + $somments->comment = $comment; + + // iga kord massiivi lisan juurde nr märgi + array_push($result, $somments); + } + + $stmt->close(); + + + return $result; + } + + +} +?> \ No newline at end of file diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..846b2b2 --- /dev/null +++ b/functions.php @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/header.php b/header.php new file mode 100644 index 0000000..181d0fd --- /dev/null +++ b/header.php @@ -0,0 +1,17 @@ + + + + Project GPX + + + + + + + + + + \ No newline at end of file diff --git a/page/change.php b/page/change.php new file mode 100644 index 0000000..c435b88 --- /dev/null +++ b/page/change.php @@ -0,0 +1,290 @@ +cleanInput($_POST["changeUsername"]); + $changeUsername = $_POST["changeUsername"]; + $id = $_SESSION["userId"]; + $Change->changeUsername($changeUsername, $id); + } + } +} + +#kontrollib, kas on sisestatud uus parool +if(isset($_POST["changePassword"])) { + if(empty($_POST["changePassword"])){ + $changePasswordError = "Kui tahad muuta enda parooli, siis pead sisestama uue parooli"; + } else { + $_POST["changePassword"] = $Helper->cleanInput($_POST["changePassword"]); + $changePassword = hash("sha512", $_POST["changePassword"]); + $id = $_SESSION["userId"]; + $Change->changePassword($changePassword, $id); + } +} + +#kontrollib, kas on sisestatud uus e-mail +if(isset($_POST["changeEmail"])) { + if(empty($_POST["changeEmail"])){ + $changeEmailError = "Kui tahad muuta enda emaili, siis pead sisestama uue emaili"; + } else { + if($_SESSION["userEmail"] == $_POST["changeEmail"]){ + $sameEmail = "E-maili vahetamiseks sisesta uus e-mail"; + } else { + $_POST["changeEmail"] = $Helper->cleanInput($_POST["changeEmail"]); + $changeEmail = $_POST["changeEmail"]; + $id = $_SESSION["userId"]; + $Change->changeEmail($changeEmail, $id); + } + } +} + +#kontrollib, kas on sisestatud uus eesnimi +if(isset($_POST["changeFirstName"])) { + if(empty($_POST["changeFirstName"])){ + $changeFirstNameError = "Kui tahad muuta enda eesnime, siis pead sisestama uue eesnime"; + } else { + if($_SESSION["firstName"] == $_POST["changeFirstName"]){ + $sameFirstname = "Eesnime vahetamiseks sisesta uus eesnimi"; + } else { + $_POST["changeFirstName"] = $Helper->cleanInput($_POST["changeFirstName"]); + $changeFirstName = $_POST["changeFirstName"]; + $id = $_SESSION["userId"]; + $Change->changeFirstName($changeFirstName, $id); + } + } +} + +#kontrollib, kas on sisestatud uus perekonnanimi +if(isset($_POST["changeLastName"])) { + if(empty($_POST["changeLastName"])){ + $changeLastNameError = "Kui tahad muuta enda perekonnanime, siis pead sisestama uue perekonnanime"; + } else { + if($_SESSION["lastName"] == $_POST["changeLastName"]) { + $sameLasttname = "Perekonnanime vahetamiseks sisesta uus perekonnanimi"; + } else { + $_POST["changeLastName"] = $Helper->cleanInput($_POST["changeLastName"]); + $changeLastName = $_POST["changeLastName"]; + $id = $_SESSION["userId"]; + $Change->changeLastName($changeLastName, $id); + } + } +} + +#kontrollib, kas on sisestatud uus sugu +if( isset( $_POST["changeGender"] ) ){ + if(!empty( $_POST["changeGender"] ) ){ + $signupGender = $_POST["changeGender"]; + $id = $_SESSION["userId"]; + $Change->changeGender($signupGender, $id); + } +} + + + +?> + + + + + + + Project GPX + + + + + + + + + + +
+ + + + +
+
+ + + + +
+

Muuda enda andmeid

+

Selleks, et muuta enda andmeid kirjuta lihstalt kastidesse uued andmed.

+

Neid, mida muuta ei taha, jĂ€ta tĂŒhjaks.


+ +

Tulemus:


+ + + +

+ +
+

+

+
+

+
+

+

+
+

+

+
+

+

+
+ + Mees
+ + Mees
+ + + + Naine
+ + Naine
+ + + + Ei soovi avaldada

+ + Ei soovi avaldada

+ + +

+ +
+ +
+
+
+
+ diff --git a/page/create.php b/page/create.php new file mode 100644 index 0000000..7be36a0 --- /dev/null +++ b/page/create.php @@ -0,0 +1,173 @@ +cleanInput($_POST["signupEmail"]); + $signupEmail = $_POST["signupEmail"]; + } +} + + +if(isset($_POST["signupUsername"])) { + if(empty($_POST["signupUsername"])){ + $signupUsernameError = "Igal kasutajal peab olema kasutajanimi"; + } else { + $_POST["signupUsername"] = $Helper->cleanInput($_POST["signupUsername"]); + $signupUsername = $_POST["signupUsername"]; + } +} + + +if(isset($_POST["signupPassword"])) { + if(empty($_POST["signupPassword"])){ + $signupPasswordError = "Parool peab olema"; + } else { + if (strlen($_POST["signupPassword"]) < 8) { + $signupPasswordError = "Parool peab olema vĂ€hemalt 8 tĂ€hemĂ€rki pikk"; + } + } +} + + +if(isset($_POST["signupPassword2"])) { + if(empty($_POST["signupPassword2"])){ + $signupPasswordError2 = "Parool peab olema"; + } else { + if (strlen($_POST["signupPassword2"]) < 8) { + $signupPasswordError2 = "Parool peab olema vĂ€hemalt 8 tĂ€hemĂ€rki pikk"; + } else { + if ($_POST["signupPassword2"] != $_POST["signupPassword"]){ + $signupPasswordError2 = "Paroolid ei ĂŒhti"; + } + } + } +} +if(isset($_POST["signupFirstName"])) { + if(empty($_POST["signupFirstName"])){ + $signupFirstNameError = "Eesnimi sisestamine on kohustuslik"; + } else { + $_POST["signupFirstName"] = $Helper->cleanInput($_POST["signupFirstName"]); + $signupFirstName = $_POST["signupFirstName"]; + } +} + + +if(isset($_POST["signupLastName"])) { + if(empty($_POST["signupLastName"])){ + $signupLastNameError = "Perekonnanimi sisestamine on kohustuslik"; + } else { + $_POST["signupLastName"] = $Helper->cleanInput($_POST["signupLastName"]); + $signupLastName = $_POST["signupLastName"]; + } +} + + +if(isset($_POST["signupGender"] ) ){ + if(!empty( $_POST["signupGender"] ) ){ + $signupGender = $_POST["signupGender"]; + } +} + + +if(isset($_POST["signupEmail"]) && + isset($_POST["signupPassword"]) && + isset($_POST["signupPassword2"]) && + ($_POST["signupPassword2"] == $_POST["signupPassword"]) && + $signupEmailError == "" && + empty($signupPasswordError)){ + $password = hash("sha512", $_POST["signupPassword"]); + $User->signUp($signupUsername, $password, $signupEmail, $signupFirstName, $signupLastName, $signupGender); +} + + +if(isset($_POST["loginEmail"])){ + if(!empty($_POST["loginEmail"])){ + $_POST["loginEmail"] = $Helper->cleanInput($_POST["loginEmail"]); + if (isset($_POST["loginEmail"]) && isset($_POST["loginPassword"]) && + !empty($_POST["loginEmail"]) && !empty($_POST["loginPassword"])){ + $notice = login($_POST["loginEmail"], $_POST["loginPassword"]); + $loginEmail2 = $_POST["loginEmail"]; + } else { + $loginEmailError = "Sisselogimiseks peab sisestama e-maili"; + $loginPasswordError = "Sisselogimiseks peab sisetama parooli"; + } + } +} + +?> + + + +
+
+
+ + + +

Loo uus kasutaja

+

+ +

+

+

+

+

+

+ + + Mees
+ + Mees
+ + + + Naine
+ + Naine
+ + + + Ei soovi avaldada

+ + Ei soovi avaldada

+ + + +

+ +

Kasjutaja olemas? Vajuta Siia

+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/page/data.php b/page/data.php new file mode 100644 index 0000000..42b280a --- /dev/null +++ b/page/data.php @@ -0,0 +1,163 @@ + + + + + + Project GPX + + + + + + + +
+ + + + +
+
+ + + + + +
+

Tere tulemast !

+ + + +

Tere tulemast Project GPX kodulehele!

+ + +

Olemasolevad GPX failid:

+ + + Kaart
+ + + + + +
+
+
+
+ \ No newline at end of file diff --git a/page/login.php b/page/login.php new file mode 100644 index 0000000..165b67f --- /dev/null +++ b/page/login.php @@ -0,0 +1,75 @@ +cleanInput($_POST["loginEmail"]); + $loginEmail = $_POST["loginEmail"]; + #$notice = $User->login($_POST["loginEmail"]); + if (isset($_POST["loginEmail"]) && isset($_POST["loginPassword"]) && + !empty($_POST["loginEmail"]) && !empty($_POST["loginPassword"])){ + $notice = $User->login($_POST["loginEmail"], $_POST["loginPassword"]); + $loginEmail = $_POST["loginEmail"]; + } else { + #$notice = $User->login($_POST["loginEmail"], $_POST["loginPassword"]); + $loginEmail = $_POST["loginEmail"]; + #$loginEmailError = "Sisselogimiseks peab sisestama e-maili"; + $loginPasswordError = "Sisselogimiseks peab sisetama parooli"; + } + } +} + + +?> + + + + +
+
+
+ + + Logi sisse vÔi loo kasutaja + + + +

Logi sisse


+
+
+

+

+
+


+

+
+

+

Pole kasutajat? Vajuta Siia

+
+
+ +
+
+
+ + + \ No newline at end of file diff --git a/page/map.php b/page/map.php new file mode 100644 index 0000000..eada562 --- /dev/null +++ b/page/map.php @@ -0,0 +1,157 @@ +cleanInput($_POST["Comment"]); + $Comment = $_POST["Comment"]; + $comment->savecomment($userid, $fail, $Comment); + + } +} + +$filename = $comment->get($fail); +echo $commenterror; + + + + + +?> + + + + +

+ + + Google Maps + + + + +
+ + + + +

Kommenteeri

+ + + +
+ + +
+ + "; + $html = ""; + + $html .= ""; + $html .= ""; + $html .= ""; + $html .= ""; + + //iga liikme kohta massiivis + foreach($filename as $c){ + // iga kommentaar on $c + //echo $c->username."
"; + + $html .= ""; + $html .= ""; + $html .= ""; + $html .= ""; + } + + $html .= "
KasutajanimiKommentaar
".$c->username."".$c->comment."
"; + + echo $html; + + + $listHtml = "

"; + + + ?> \ No newline at end of file diff --git a/page/upload.php b/page/upload.php new file mode 100644 index 0000000..e55903c --- /dev/null +++ b/page/upload.php @@ -0,0 +1,183 @@ + 5000000) { + $error = "See fail on liiga suur. "; + $uploadOk = 0; + } + #Lubab ainult .gpx faililaiendiga faile + if($GPXFileType != "gpx") { + $error = "Ainult .gpx failid on lubatud. "; + $uploadOk = 0; + } + #Kui on tekkinud error, siis kuvatakse jĂ€rgnev veateade + if ($uploadOk == 0) { + $error2 = "Seda faili ei laetud ĂŒles."; + #Kui oli korras siis laetakse fail ĂŒles + } else { + #Kui fail laetakse ĂŒles siis antakse ka teade, et see juhtus aga kui ei laetud siis antakse veateade + if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { + $error3 = 'Fail "'. $target_username.'" laeti ĂŒles. '; + + } else { + $error3 = "Vabandust, faili laadimisega tekkis probleem. "; + } + } +} + +?> + + + + + Project GPX + + + + + + + +
+ + + + +
+
+ + + + + +
+

Tere tulemast !

+
+
+

+


+
+ +
+ +
+
+
+
+ + \ No newline at end of file diff --git a/page/user.php b/page/user.php new file mode 100644 index 0000000..02a6a26 --- /dev/null +++ b/page/user.php @@ -0,0 +1,207 @@ +save($Helper->cleanInput($_POST["interest"])); +} + +#hobi enda profiili alla lisamise kontroll +if ( isset($_POST["userInterest"]) && + !empty($_POST["userInterest"])){ + $Interest->saveUser($Helper->cleanInput($_POST["userInterest"])); +} + +#suunatakse funktsiooni koos vÀÀrtustega +$interests = $Interest->get(); +$userInterests = $Interest->getUser(); + +?> + + + + + Project GPX + + + + + + + +
+ + + + +
+
+ + + + + +
+

Tere tulemast !

+ + +

Minu hobid

+ "; + foreach($userInterests as $i){ + $listHtml .= "
  • ".$i->interest."
  • "; + } + $listHtml .= ""; + echo $listHtml; + ?> + +
    + + +
    + +
    + + +

    + +

    + + +
    + +

    Lisa juurde hobi

    +
    + +
    + + + + +

    + + +
    +
    + +
    +
    +
    +
    + + \ No newline at end of file diff --git a/uploads/matu%3A mapstogpx20170104_133753.gpx b/uploads/matu%3A mapstogpx20170104_133753.gpx new file mode 100644 index 0000000..fc3b804 --- /dev/null +++ b/uploads/matu%3A mapstogpx20170104_133753.gpx @@ -0,0 +1,590 @@ + + + + + Sverrir Sigmundarson + + + + + + + + Tammiste tee + Tammiste tee, PÀrnu, 80047, Estonia + + + Lootsi pÔik 10 + Lootsi pÔik 10, PÀrnu, 80012, Estonia + + + Tammiste tee to Lootsi pÔik 10 + 1 + + + TP001 + + + TP002 + + + TP003 + + + TP004 + + + TP005 + + + TP006 + + + TP007 + + + TP008 + + + TP009 + + + TP010 + + + TP011 + + + TP012 + + + TP013 + + + TP014 + + + TP015 + + + TP016 + + + TP017 + + + TP018 + + + TP019 + + + TP020 + + + TP021 + + + TP022 + + + TP023 + + + TP024 + + + TP025 + + + TP026 + + + TP027 + + + TP028 + + + TP029 + + + TP030 + + + TP031 + + + TP032 + + + TP033 + + + TP034 + + + TP035 + + + TP036 + + + TP037 + + + TP038 + + + TP039 + + + TP040 + + + TP041 + + + TP042 + + + TP043 + + + TP044 + + + TP045 + + + TP046 + + + TP047 + + + TP048 + + + TP049 + + + TP050 + + + TP051 + + + TP052 + + + TP053 + + + TP054 + + + TP055 + + + TP056 + + + TP057 + + + TP058 + + + TP059 + + + TP060 + + + TP061 + + + TP062 + + + TP063 + + + TP064 + + + TP065 + + + TP066 + + + TP067 + + + TP068 + + + TP069 + + + TP070 + + + TP071 + + + TP072 + + + TP073 + + + TP074 + + + TP075 + + + TP076 + + + TP077 + + + TP078 + + + TP079 + + + TP080 + + + TP081 + + + TP082 + + + TP083 + + + TP084 + + + TP085 + + + TP086 + + + TP087 + + + TP088 + + + TP089 + + + TP090 + + + TP091 + + + TP092 + + + TP093 + + + TP094 + + + TP095 + + + TP096 + + + TP097 + + + TP098 + + + TP099 + + + TP100 + + + TP101 + + + TP102 + + + TP103 + + + TP104 + + + TP105 + + + TP106 + + + TP107 + + + TP108 + + + TP109 + + + TP110 + + + TP111 + + + TP112 + + + TP113 + + + TP114 + + + TP115 + + + TP116 + + + TP117 + + + TP118 + + + TP119 + + + TP120 + + + TP121 + + + TP122 + + + TP123 + + + TP124 + + + TP125 + + + TP126 + + + TP127 + + + TP128 + + + TP129 + + + TP130 + + + TP131 + + + TP132 + + + TP133 + + + TP134 + + + TP135 + + + TP136 + + + TP137 + + + TP138 + + + TP139 + + + TP140 + + + TP141 + + + TP142 + + + TP143 + + + TP144 + + + TP145 + + + TP146 + + + TP147 + + + TP148 + + + TP149 + + + TP150 + + + TP151 + + + TP152 + + + TP153 + + + TP154 + + + TP155 + + + TP156 + + + TP157 + + + TP158 + + + TP159 + + + TP160 + + + TP161 + + + TP162 + + + TP163 + + + TP164 + + + TP165 + + + TP166 + + + TP167 + + + TP168 + + + TP169 + + + TP170 + + + TP171 + + + TP172 + + + TP173 + + + TP174 + + + TP175 + + + TP176 + + + TP177 + + + TP178 + + + TP179 + + + TP180 + + + TP181 + + + TP182 + + + TP183 + + + TP184 + + + TP185 + + + TP186 + + + TP187 + + + + \ No newline at end of file diff --git a/uploads/sass%3A 20161114_153234.gpx b/uploads/sass%3A 20161114_153234.gpx new file mode 100644 index 0000000..5306e7d --- /dev/null +++ b/uploads/sass%3A 20161114_153234.gpx @@ -0,0 +1,3116 @@ + + + + + Matu + + + + Endomondo + + + + + http://www.endomondo.com/ + + endomondo + + RUNNING + + + 9.5 + + + + 8.5 + + + + 6.5 + + + + 5.5 + + + + 5.5 + + + + 7.5 + + + + 10.5 + + + + 10.5 + + + + 12.5 + + + + 13.5 + + + + 7.5 + + + + 4.5 + + + + 7.5 + + + + 5.5 + + + + 5.5 + + + + 5.5 + + + + 6.5 + + + + 9.5 + + + + 7.5 + + + + 4.5 + + + + 3.5 + + + + 2.5 + + + + 5.5 + + + + 3.5 + + + + 2.5 + + + + 2.5 + + + + 1.5 + + + + 5.5 + + + + 9.5 + + + + 14.5 + + + + 14.5 + + + + 14.5 + + + + 13.5 + + + + 14.5 + + + + 13.5 + + + + 11.5 + + + + 9.5 + + + + 7.5 + + + + -1.5 + + + + 0.5 + + + + 3.5 + + + + 4.5 + + + + 7.5 + + + + 3.5 + + + + 1.5 + + + + -0.5 + + + + -0.5 + + + + 3.5 + + + + 8.5 + + + + 1.5 + + + + 2.5 + + + + 3.5 + + + + 3.5 + + + + 5.5 + + + + 6.5 + + + + 8.5 + + + + 9.5 + + + + 9.5 + + + + 7.5 + + + + 7.5 + + + + 9.5 + + + + 10.5 + + + + 7.5 + + + + 8.5 + + + + 12.5 + + + + -1.5 + + + + -2.5 + + + + 1.5 + + + + 2.5 + + + + 2.5 + + + + 1.5 + + + + -3.5 + + + + -1.5 + + + + 0.5 + + + + 2.5 + + + + 3.5 + + + + 4.5 + + + + 3.5 + + + + -2.5 + + + + -2.5 + + + + -0.5 + + + + -2.5 + + + + -3.5 + + + + -4.5 + + + + -2.5 + + + + 0.5 + + + + 1.5 + + + + 0.5 + + + + 2.5 + + + + 2.5 + + + + 6.5 + + + + 9.5 + + + + 13.5 + + + + 15.5 + + + + 12.5 + + + + 12.5 + + + + 12.5 + + + + 10.5 + + + + 6.5 + + + + 7.5 + + + + 4.5 + + + + 2.5 + + + + 1.5 + + + + 2.5 + + + + 2.5 + + + + 4.5 + + + + 5.5 + + + + 4.5 + + + + 4.5 + + + + 5.5 + + + + 11.5 + + + + 11.5 + + + + 8.5 + + + + 8.5 + + + + 7.5 + + + + 4.5 + + + + 7.5 + + + + 3.5 + + + + 5.5 + + + + 4.5 + + + + -0.5 + + + + -0.5 + + + + -3.5 + + + + 0.5 + + + + -6.5 + + + + -3.5 + + + + -5.5 + + + + -1.5 + + + + -5.5 + + + + -3.5 + + + + -4.5 + + + + 0.5 + + + + 3.5 + + + + 4.5 + + + + 2.5 + + + + 2.5 + + + + 0.5 + + + + -2.5 + + + + -2.5 + + + + -1.5 + + + + -0.5 + + + + -1.5 + + + + -3.5 + + + + -2.5 + + + + -4.5 + + + + -5.5 + + + + -3.5 + + + + 0.5 + + + + -0.5 + + + + -2.5 + + + + 0.5 + + + + -0.5 + + + + 1.5 + + + + 1.5 + + + + -0.5 + + + + -0.5 + + + + -1.5 + + + + -2.5 + + + + -1.5 + + + + -0.5 + + + + -1.5 + + + + -0.5 + + + + -0.5 + + + + 0.5 + + + + 1.5 + + + + 6.5 + + + + 5.5 + + + + 6.5 + + + + 4.5 + + + + 6.5 + + + + 3.5 + + + + -0.5 + + + + 3.5 + + + + 4.5 + + + + 5.5 + + + + 2.5 + + + + 1.5 + + + + 3.5 + + + + 2.5 + + + + 2.5 + + + + 0.5 + + + + -0.5 + + + + -0.5 + + + + -3.5 + + + + -0.5 + + + + -2.5 + + + + -2.5 + + + + -5.5 + + + + -4.5 + + + + -0.5 + + + + 0.5 + + + + 0.5 + + + + -0.5 + + + + 2.5 + + + + 1.5 + + + + -0.5 + + + + -0.5 + + + + 0.5 + + + + 0.5 + + + + 0.5 + + + + -1.5 + + + + -2.5 + + + + 1.5 + + + + 3.5 + + + + 3.5 + + + + 2.5 + + + + -2.5 + + + + 3.5 + + + + 4.5 + + + + 5.5 + + + + 6.5 + + + + 8.5 + + + + 8.5 + + + + 7.5 + + + + 7.5 + + + + 7.5 + + + + 8.5 + + + + 5.5 + + + + 2.5 + + + + 1.5 + + + + 0.5 + + + + -0.5 + + + + -1.5 + + + + -1.5 + + + + -0.5 + + + + -1.5 + + + + -2.5 + + + + -7.5 + + + + -8.5 + + + + -8.5 + + + + -14.5 + + + + -10.5 + + + + -4.5 + + + + -0.5 + + + + 1.5 + + + + 0.5 + + + + -2.5 + + + + 0.5 + + + + -2.5 + + + + -2.5 + + + + -3.5 + + + + -3.5 + + + + -1.5 + + + + -4.5 + + + + -2.5 + + + + -1.5 + + + + -1.5 + + + + -3.5 + + + + -4.5 + + + + -2.5 + + + + -2.5 + + + + -0.5 + + + + -2.5 + + + + -5.5 + + + + -8.5 + + + + -6.5 + + + + -7.5 + + + + -8.5 + + + + -5.5 + + + + -5.5 + + + + -1.5 + + + + -2.5 + + + + -2.5 + + + + -1.5 + + + + 0.5 + + + + -4.5 + + + + -5.5 + + + + -6.5 + + + + -8.5 + + + + -6.5 + + + + -6.5 + + + + -7.5 + + + + -7.5 + + + + -11.5 + + + + -13.5 + + + + -7.5 + + + + -7.5 + + + + -3.5 + + + + 1.5 + + + + 3.5 + + + + 2.5 + + + + 3.5 + + + + 5.5 + + + + 7.5 + + + + 5.5 + + + + 4.5 + + + + 4.5 + + + + 6.5 + + + + 5.5 + + + + 4.5 + + + + 5.5 + + + + 9.5 + + + + 6.5 + + + + 3.5 + + + + 4.5 + + + + 7.5 + + + + 13.5 + + + + 15.5 + + + + 17.5 + + + + 14.5 + + + + 13.5 + + + + 14.5 + + + + 15.5 + + + + 14.5 + + + + 19.5 + + + + 14.5 + + + + 7.5 + + + + 7.5 + + + + 6.5 + + + + 7.5 + + + + 7.5 + + + + 9.5 + + + + 9.5 + + + + 11.5 + + + + 12.5 + + + + 20.5 + + + + 20.5 + + + + 19.5 + + + + 19.5 + + + + 19.5 + + + + 20.5 + + + + 17.5 + + + + 16.5 + + + + 12.5 + + + + 11.5 + + + + 11.5 + + + + 9.5 + + + + 6.5 + + + + 3.5 + + + + 2.5 + + + + -0.5 + + + + -1.5 + + + + 2.5 + + + + 5.5 + + + + 8.5 + + + + 8.5 + + + + 7.5 + + + + 7.5 + + + + 7.5 + + + + 6.5 + + + + 4.5 + + + + 7.5 + + + + 8.5 + + + + 6.5 + + + + 9.5 + + + + 14.5 + + + + 13.5 + + + + 13.5 + + + + 16.5 + + + + 19.5 + + + + 19.5 + + + + 20.5 + + + + 23.5 + + + + 25.5 + + + + 25.5 + + + + 24.5 + + + + 24.5 + + + + 23.5 + + + + 2.5 + + + + 0.5 + + + + 0.5 + + + + 0.5 + + + + 2.5 + + + + 1.5 + + + + 0.5 + + + + -0.5 + + + + 3.5 + + + + 4.5 + + + + 1.5 + + + + 4.5 + + + + 1.5 + + + + 0.5 + + + + -1.5 + + + + -3.5 + + + + 1.5 + + + + 1.5 + + + + 0.5 + + + + 0.5 + + + + 0.5 + + + + -2.5 + + + + -4.5 + + + + -2.5 + + + + -2.5 + + + + -1.5 + + + + -1.5 + + + + -1.5 + + + + -2.5 + + + + -0.5 + + + + -2.5 + + + + -1.5 + + + + -5.5 + + + + -4.5 + + + + -0.5 + + + + -3.5 + + + + -1.5 + + + + 0.5 + + + + 0.5 + + + + 2.5 + + + + 1.5 + + + + 4.5 + + + + 0.5 + + + + -0.5 + + + + -0.5 + + + + 0.5 + + + + 0.5 + + + + -0.5 + + + + -1.5 + + + + 1.5 + + + + -1.5 + + + + -0.5 + + + + -1.5 + + + + -2.5 + + + + -4.5 + + + + -5.5 + + + + -4.5 + + + + -3.5 + + + + -5.5 + + + + -6.5 + + + + -5.5 + + + + -6.5 + + + + -7.5 + + + + -7.5 + + + + -3.5 + + + + -2.5 + + + + -2.5 + + + + 8.5 + + + + 8.5 + + + + 5.5 + + + + -0.5 + + + + -0.5 + + + + -2.5 + + + + -2.5 + + + + -2.5 + + + + -4.5 + + + + -6.5 + + + + -7.5 + + + + -8.5 + + + + -1.5 + + + + -5.5 + + + + -3.5 + + + + -3.5 + + + + -3.5 + + + + -1.5 + + + + 1.5 + + + + -3.5 + + + + -3.5 + + + + -1.5 + + + + -2.5 + + + + 0.5 + + + + 0.5 + + + + -0.5 + + + + -1.5 + + + + -4.5 + + + + -1.5 + + + + -1.5 + + + + -1.5 + + + + -1.5 + + + + 0.5 + + + + 2.5 + + + + 2.5 + + + + -0.5 + + + + 0.5 + + + + 1.5 + + + + 1.5 + + + + 1.5 + + + + 0.5 + + + + -0.5 + + + + -0.5 + + + + -0.5 + + + + -1.5 + + + + -2.5 + + + + -1.5 + + + + -1.5 + + + + -0.5 + + + + -1.5 + + + + -1.5 + + + + -3.5 + + + + -7.5 + + + + -7.5 + + + + -3.5 + + + + -3.5 + + + + -4.5 + + + + -5.5 + + + + -2.5 + + + + -2.5 + + + + -2.5 + + + + -0.5 + + + + -1.5 + + + + 0.5 + + + + 1.5 + + + + -0.5 + + + + -0.5 + + + + 0.5 + + + + 1.5 + + + + 2.5 + + + + 3.5 + + + + 2.5 + + + + 0.5 + + + + 1.5 + + + + 1.5 + + + + 1.5 + + + + 0.5 + + + + -1.5 + + + + 1.5 + + + + 0.5 + + + + 1.5 + + + + 0.5 + + + + 0.5 + + + + 3.5 + + + + 2.5 + + + + 1.5 + + + + 2.5 + + + + 2.5 + + + + 1.5 + + + + 0.5 + + + + -0.5 + + + + -0.5 + + + + -1.5 + + + + -3.5 + + + + -0.5 + + + + 3.5 + + + + 3.5 + + + + 4.5 + + + + 2.5 + + + + 3.5 + + + + 3.5 + + + + 2.5 + + + + 1.5 + + + + 1.5 + + + + 0.5 + + + + 0.5 + + + + -0.5 + + + + -1.5 + + + + -0.5 + + + + 0.5 + + + + 1.5 + + + + 2.5 + + + + 1.5 + + + + 4.5 + + + + 0.5 + + + + 0.5 + + + + -0.5 + + + + -4.5 + + + + -5.5 + + + + -9.5 + + + + -8.5 + + + + -6.5 + + + + -5.5 + + + + -3.5 + + + + -4.5 + + + + -2.5 + + + + -0.5 + + + + 0.5 + + + + 0.5 + + + + 0.5 + + + + 3.5 + + + + 3.5 + + + + 3.5 + + + + 2.5 + + + + 2.5 + + + + 2.5 + + + + 0.5 + + + + 0.5 + + + + 0.5 + + + + 1.5 + + + + 0.5 + + + + -0.5 + + + + -2.5 + + + + -3.5 + + + + -4.5 + + + + -5.5 + + + + -5.5 + + + + -6.5 + + + + -5.5 + + + + -6.5 + + + + -7.5 + + + + -6.5 + + + + -7.5 + + + + -5.5 + + + + -5.5 + + + + -4.5 + + + + -5.5 + + + + -5.5 + + + + -5.5 + + + + -5.5 + + + + -4.5 + + + + -5.5 + + + + -6.5 + + + + -6.5 + + + + -6.5 + + + + -3.5 + + + + -3.5 + + + + -3.5 + + + + -1.5 + + + + -2.5 + + + + -1.5 + + + + -2.5 + + + + -0.5 + + + + -1.5 + + + + 0.5 + + + + -1.5 + + + + -2.5 + + + + -4.5 + + + + -3.5 + + + + -3.5 + + + + -3.5 + + + + -4.5 + + + + -4.5 + + + + -4.5 + + + + -2.5 + + + + -3.5 + + + + -4.5 + + + + -4.5 + + + + -5.5 + + + + -4.5 + + + + -3.5 + + + + -2.5 + + + + -2.5 + + + + -1.5 + + + + -1.5 + + + + -5.5 + + + + -5.5 + + + + -5.5 + + + + -4.5 + + + + -3.5 + + + + -3.5 + + + + -1.5 + + + + -1.5 + + + + -3.5 + + + + -3.5 + + + + -4.5 + + + + -4.5 + + + + -4.5 + + + + -3.5 + + + + -3.5 + + + + -4.5 + + + + -5.5 + + + + -5.5 + + + + 1.5 + + + + 1.5 + + + + 1.5 + + + + 0.5 + + + + -0.5 + + + + 2.5 + + + + 0.5 + + + + 0.5 + + + + 0.5 + + + + 1.5 + + + + 2.5 + + + + 2.5 + + + + 2.5 + + + + 4.5 + + + + 2.5 + + + + 0.5 + + + + 0.5 + + + + 3.5 + + + + 1.5 + + + + 1.5 + + + + 3.5 + + + + 4.5 + + + + 1.5 + + + + 1.5 + + + + 0.5 + + + + 0.5 + + + + -1.5 + + + + -1.5 + + + + -1.5 + + + + 0.5 + + + + 1.5 + + + + 1.5 + + + + -0.5 + + + + 0.5 + + + + 3.5 + + + + 4.5 + + + + 3.5 + + + + 5.5 + + + + 4.5 + + + + 3.5 + + + + 3.5 + + + + 4.5 + + + + 2.5 + + + + 3.5 + + + + 4.5 + + + + 3.5 + + + + 1.5 + + + + 2.5 + + + + 2.5 + + + + 2.5 + + + + 0.5 + + + + -0.5 + + + + -0.5 + + + + -1.5 + + + + -2.5 + + + + -3.5 + + + + -4.5 + + + + -4.5 + + + + -3.5 + + + + -2.5 + + + + -0.5 + + + + 0.5 + + + + 1.5 + + + + -0.5 + + + + -0.5 + + + + -3.5 + + + + -5.5 + + + + -4.5 + + + + -4.5 + + + + -0.5 + + + + -0.5 + + + + 1.5 + + + + 4.5 + + + + 1.5 + + + + 1.5 + + + + 1.5 + + + + 4.5 + + + + 3.5 + + + + 5.5 + + + + 5.5 + + + + 6.5 + + + + 3.5 + + + + 5.5 + + + + 3.5 + + + + 1.5 + + + + 2.5 + + + + 2.5 + + + + 2.5 + + + + 4.5 + + + + 2.5 + + + + 3.5 + + + + 3.5 + + + + 0.5 + + + + -2.5 + + + + -2.5 + + + + -1.5 + + + + 0.5 + + + + -2.5 + + + + -1.5 + + + + 2.5 + + + + 3.5 + + + + 3.5 + + + + 1.5 + + + + 1.5 + + + + 3.5 + + + + 2.5 + + + + 3.5 + + + + 3.5 + + + + 3.5 + + + + 4.5 + + + + 6.5 + + + + 4.5 + + + + 4.5 + + + + 4.5 + + + + 6.5 + + + + 7.5 + + + + 9.5 + + + + 7.5 + + + + 7.5 + + + + 2.5 + + + + 4.5 + + + + 4.5 + + + + 3.5 + + + + 2.5 + + + + 2.5 + + + + 5.5 + + + + 4.5 + + + + 4.5 + + + + 5.5 + + + + 3.5 + + + + -0.5 + + + + 3.5 + + + + 6.5 + + + + 5.5 + + + + + + 3.5 + + + + + \ No newline at end of file