Code Monkey home page Code Monkey logo

tankersparnis's Introduction

RundesBalli

ℹ️ About me

I am a hobbyist developer from 🇩🇪 Germany who likes procedural 🐘 PHP coding, while not doing this for a living.

My interests are the development of small tools, little helpers and various websites and the management of the Bratwurst-ADSB community project.

📜 Projects

I would also like to direct you to my website 🎱 RundesBalli.com, where you can find an overview of all my projects and the links to the respective repositories and/or websites.

🎱 Contact me

You can contact me in German 🇩🇪 (native language) or English 🇬🇧.

I will ignore automated emails and I am not interested in studies or full-time job offers.
If you think I'd be the right person for your project, feel free to email me! Likewise, If you have any comments, criticism, questions, etc. about my projects - or just want to say "hi" - don't hesitate to contact me.

Thanks

Thanks to my friend @NullDev for helping me with JavaScript, CSS and English!

tankersparnis's People

Contributors

rundesballi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

grapefruit89

tankersparnis's Issues

Elektrooooo

Geiles Projekt! Überlege dir evtl. auch Strom für die ganzen E-Autos hinzuzufügen. Strompreis von öffentlichen Ladern sowie auch Eingenproduktion (PV/BHKW etc.)
P.S.: Deine 'Werbung' beim Sascha-Abspann entdeckt.

Vergleichspreis selbst eintragen und Radius selbst wählen

if(!empty($_POST['geo']) AND preg_match('/^(-?\d{1,3}\.\d+);(-?\d{1,3}\.\d+)$/', defuse($_POST['geo']), $matches) === 1) {
/**
* Wenn ein Geo Punkt übergeben wurde, wird dieser an die API übergeben und die Tankstellen im Umkreis werden abgerufen.
*/
$response = apiCall(
"https://creativecommons.tankerkoenig.de/json/list.php",
array(
'lat' => floatval($matches[1]),
'lng' => floatval($matches[2]),
'rad' => 10,
'type' => $row['symbol'],
'sort' => 'price'
)
);
/**
* Preisfindung anhand der nächstgelegenen Tankstelle. Sofern keine Tankstelle geöffnet hat oder keine Tankstelle in der Umgebung
* den Vergleichskraftstoff führt, wird kein Vergleichspreis gespeichert und der bundesweite Median wird genommen.
*/
if(!empty($response) AND is_array($response['stations']) AND $response['ok'] === TRUE) {
foreach($response['stations'] AS $key => $val) {
$content.= "<div class='row'>".
"<div class='col-s-0 col-l-0'>".var_export($val, TRUE)."</div>".
"</div>";
if($val['isOpen'] === TRUE AND $val['price'] !== NULL) {
$priceCompare = $val['price'];
$pricing = $val;
break;
}
}
}
}
if(empty($priceCompare)) {
/**
* Geo Auswertung wurde nicht übergeben oder konnte nicht erfolgen. Nehme bundesweiten Durchschnittspreis.
*/
$response = apiCall(
"https://creativecommons.tankerkoenig.de/api/v4/stats",
NULL
);
if($response !== FALSE) {
$response = array_change_key_case($response, CASE_LOWER);
$priceCompare = $response[$row['symbol']]['median'];
$pricing = $response[$row['symbol']];
} else {
$ok = 0;
}
}

$content.= "<form action='/addEntry' method='post' autocomplete='off'>";
$content.= "<input type='hidden' name='token' value='".$sessionhash."'>";
if(mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
$content.= "<input type='hidden' name='car' value='".output($row['id'])."'>";
$cars = output($row['name'])." - ".output($row['fuel']);
} else {
$cars = "<select name='car' id='car' tabindex='".$tabindex++."' required><option value='' selected disabled hidden>-- Bitte auswählen --</option>";
while($row = mysqli_fetch_assoc($result)) {
$cars.= "<option value='".output($row['id'])."'>".output($row['name'])." - ".output($row['fuel'])."</option>";
}
$cars.= "</select>";
}
$content.= "<section>";
$content.= "<div class='row'>".
"<div class='col-s-12 col-l-3'><label for='car'>Fahrzeug</label></div>".
"<div class='col-s-12 col-l-9'>".$cars."</div>".
"</div>";
$content.= "<div class='row'>".
"<div class='col-s-12 col-l-3'><label for='fuel'>Gas Liter/kg</label></div>".
"<div class='col-s-12 col-l-9'><input type='number' name='fuel' id='fuel' step='0.01' min='0.01' tabindex='".$tabindex++."' required placeholder='Getankte Menge Gas'></div>".
"</div>";
$content.= "<div class='row'>".
"<div class='col-s-12 col-l-3'><label for='range'>Reichweite</label></div>".
"<div class='col-s-12 col-l-9'><input type='number' name='range' id='range' step='0.1' min='0.1' tabindex='".$tabindex++."' required placeholder='Gefahrene Kilometer'></div>".
"</div>";
$content.= "<div class='row'>".
"<div class='col-s-12 col-l-3'><label for='cost'>Kosten in €</label></div>".
"<div class='col-s-12 col-l-9'><input type='number' name='cost' id='cost' step='0.01' min='0.01' tabindex='".$tabindex++."' required placeholder='Für diesen Tankvorgang bezahlt'></div>".
"</div>";
$content.= "<div class='row'>".
"<div class='col-s-12 col-l-3'><label for='geoButton'>Standort<br><span class='small'>Optional</span></label></div>".
"<div class='col-s-12 col-l-9'><input type='button' id='geoButton' value='Standort ermitteln' tabindex='".$tabindex++."'><br><span class='small'>Dein genauer Standort wird nicht gespeichert, sondern nur die Tankstelle im Umkreis von 15km, die am günstigsten ist.<br>Dein Standort wird ohne Zuweisung zu deiner Person an unseren Kraftstoffpreis Dienstleister <a href='https://creativecommons.tankerkoenig.de/' target='_blank' rel='noopener'>Tankerkönig</a> gesendet.</span></div>".
"</div>";
$content.= "<script type='text/javascript' src='/src/geolocation.js'></script>";
$content.= "<input type='hidden' name='geo' id='geo' value=''>";
$content.= "<div class='row'>".
"<div class='col-s-12 col-l-3'><label for='submit'>Hinzufügen</label></div>".
"<div class='col-s-12 col-l-9'><input type='submit' id='submit' name='submit' value='Hinzufügen' tabindex='".$tabindex++."'></div>".
"</div>";
$content.= "</section>";
$content.= "</form>";

Per Mail kam der Vorschlag, dass es gut wäre, wenn man einen Vergleichspreis selbst eintragen und/oder den Radius der Vergleichstankstellen im Umkreis selbst wählen könnte.

Ich mache mir darüber mal Gedanken, wie man das im Frontend schön umsetzen kann, damit es möglichst wenig für Verwirrung sorgt.

Reichweite

Hallo, bin auch hier durch Saschas neueste Erwähnung in Folge 255 bei min 9:08.

Finde die Seite sehr schön, habe nur ein "Problem" mit dem Eintrag Reichweite, bzw. vielleicht auch nur ein Verständnisproblem.
Wenn ich tanke, dann kenne ich meine Reichweite doch noch gar nicht? Ich kann die Reichweite doch immer nur von der letzten Tankung ablesen?
Ich persönlich würde es sogar bevorzugen den Gesamt-km-Stand eintragen zu können, denn ab und zu vergesse ich oder meine Frau es auch mal den Trip-km-Zähler zu nullen. Daher schreibe ich mir immer den aktuellen km-Stand (den man nicht nullen kann) auf und errechne dann anhand der km-Differenz zum letzten Tanken die Reichweite der letzten Tankung.

Vergleichskraftstoff mit 0€

Wenn die nächstgelegene Tankstelle den Vergleichskraftstoff nicht führt, dann rechnet das Portal mit einem Vergleichswert von 0,00.

Es wird eine Prüfung durchgeführt:

  • ob die nächstgelegene Tankstelle diesen Krafststoff anbietet
  • ob die Tankstelle geöffnet ist
  • wenn bei der gesamten Liste der Tankstellen keine Tankstelle geöffnet hat oder den Kraftstoff führt, wird der bundesweite Median genommen.

LPG + Benzin tanken

Wäre es möglich die Menge an getanktem Benzin ebefalls zu erfassen?

Mein Auto hat eine Direkteinspritzung und meine Prins LPG Anlage/Steuergerät macht eine automatische Beimischung von 3% Benzin zum LPG.
Dazu kommt auch, dass das Prins Steuergerät erst ab einer Verdampfertemperatur von 35°C auf Gasbetrieb umschaltet. Bei den Temperaturen jetzt im Sommer ist das nicht einmal ein Kilometer, im Winter kann das aber schon ein wenig dauern, bis der Verdampfer durch den inneren Kühlkreislauf soweit erwärmt wurde, dass auf Gasbetrieb umgeschaltet wird.
Ich muss also immer auch etwas Benzin tanken und würde mich freuen, wenn ich auch die getanke Benzinmenge erfassen könnte.
Wenn das auch noch in die Ersparnisberechnung mit einfließen könnte, wäre es natürlich klasse.

E10 als Vergleichskraftstoff hinzufügen

Moin!
Wäre es vielleicht möglich, die Ersparnisse zwischen E10 und E5 mit ein zu pflegen?
Mich würde Interessieren, ob man mit E10 Geld sparen kann.

Danke im Vorraum.

p.s. Habe dich bei Sascha entdeckt.

Import aus "mehr-tanken"-App

Der Export aus der Mehr-Tanken-App ist in einem unbekannten Format kodiert. Eine Testdatei kann ich leider nicht bereitstellen, da der einzige User, der einen solchen Import haben wollte, mir natürlich seine Daten geschickt hat und ich die nicht preisgeben kann/will.

Wer also einen Export der App hat und weiß wie man die Daten extrahiert, darf sich gerne melden, dann baue ich einen Import.

Danke!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.