Stundenplan Layout

  • Antworten:74
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.08.2014, 17:32:04 via Website

Also die Vereinfachte Version meines Skriptes:

<?php

include("GCMHandler.php";);
include("GcmMessage.php";);

$url = "http://example.com/check.html&quot;; //Die zu überprüfenden HTML
$html = file_get_contents($url);

$oldUpdate = file_get_contents("lastUpdate.txt";); //Vom Webserver eine Text datei holen in der der Text der letzen ausführund des PHP steht

if(trim($oldUpdateDate) != trim($html))
{

echo $message= createGcmMessage(...);//hier gcm erstellen

define('GCM_API_KEY', 'meinKey');

$gcmHandler = new GoogleCloudMessagingHandler(GCM_API_KEY);
$gcmHandler->sendMessage($message); //Message senden

}

$fp = fopen("lastUpdate.txt","wb";); //Text Datei öffnen und
fwrite($fp,$html);// aktuelle HTML hineinschreiben
fclose($fp);

?>

Zum zyklisch aufrufen benutze ich Cronjobs:
http://de.wikipedia.org/wiki/Cron

Falls dein Webhoster sowas von haus aus anbieten, ist es einfach.
Sonst müsstest du auf http://www.cronjob.de/ zurückgreifen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

23.08.2014, 17:47:44 via App

Ich überleg nur ob es nicht gleich einfacher wär, wenn ich die GCM-Message in meiner Bearbeiten-Seite sende. Dann spar ich mir das Ganze...

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.08.2014, 17:52:51 via Website

Da hast du recht, ich kann das schlecht so machen weil ich damit 2 Externe Seiten überwache, aber wenn du schon weisst wann das geändert wird, dann ists einfacher du sendest die GCM nach dem Bearbeiten.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

23.08.2014, 17:56:22 via App

Gut werde dass in den nächsten Tagen implementieren ;) falls irgendwas nicht hinhaut werde ich dich wieder nerven :P

eine frage gleich noch da ich weiß dass die auftreten wird: Quellcode in sharedpreferences speichern und kann ich dann mit webview.loadUrl da gleich einen String angeben?

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.08.2014, 18:22:04 via Website

ne du kannst aber WebView#loadData
oder WebView#loadDataWithBaseUrl verwenden.
Da kannst du dann deinen Quellcode und das Charset übergeben

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

24.08.2014, 19:23:48 via App

Die loadDataWithBaseUrl was gibt man da bei den Parameter wirklich für Daten mit? Habe aus der Doku nicht wirklich herausbekommen. Wär nett wenn du mir ein kleines Beispiel schreiben könntest.

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

24.08.2014, 19:55:21 via App

So könntest du das machen:
webview.loadDataWithBaseURL(null, html [deineStringHtml], "text/html", "utf-8", null)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

24.08.2014, 20:34:44 via App

Als ersten Parameter kann man ja eine URL angeben!? Wird da dann vom Netz geladen falls nötig?

LG Jakob

Antworten
Jakob N.
  • Forum-Beiträge: 282

24.08.2014, 21:19:37 via App

Ich versteh dass aber irgendwie nicht ganz ... habe es mir schon durchgelesen.

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

24.08.2014, 21:27:22 via Website

Ich hätte das jetzt so interpetiert:
Wenn ich ein String mit Quellcode habe und den in die WebView laden will, ann ich genausogut WebView#loadData benutzen anstat die Methode mit der Base url.
Das mit der url ist, wenn zu z.b mehrere relative links hast:

<a href="/test/test.php">Zu deinem testskript</a>

Wenn du diesenn Quellcode nun in die WebView lädst und den Link anklickst,dann müsste ein error (404) kommen, da der Browser nun nicht weiss worauf sich der relative Pfad bezieht, da der String ja lokal geladen wurde.

Willst du aber eine HTML lokal laden und garantieren dass solche Links noch funktioneren, dann nutz man die Baseurl Methode, diese sogt dafür, dass alle Relativen Links jetzt wieder funktionieren.
Das gleiche gilt übrigens auf für relative eingebunden Bilder, grafiken etc.

Also fallst du relative Links auf der Seite hast und garantieren willst, dass diese trotz dem Speichern noch funktionieren, dann ist das genau das Richtige für dich.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

25.08.2014, 13:44:31 via App

Passt gut danke! :) Die historyURL is aber glaub ich unnötig.

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.08.2014, 13:48:11 via App

Ja das glaub ich auch.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Georg C.
  • Forum-Beiträge: 235

26.08.2014, 08:23:31 via Website

Hallo Jakob,
und was ist aus deinem Stundenplan geworden?
Ein kleines screenshot vielleicht.

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Jakob N.
  • Forum-Beiträge: 282

29.08.2014, 22:55:22 via Website

image

Bitte!!

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.08.2014, 23:26:09 via App

Sieht gut aus.
Ist das nun rein html?
Was passiert mit doppelstunden.
Werden diese Richtig angezeigt?
Ich kenne ja das untis Layout und binde einfach die Html ein oder Parse die Stunden in eine ListView und markiere die gerade aktive oder nächst kommende Stunde.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

29.08.2014, 23:39:30 via App

Ja ist reines HTML (mit php).
Doppelstunden werden richtig angezeigt, habe dazu Hilfsspalten in der DB.
Ich markiere nicht die gerade aktive oder nächste, wäre aber eventuell eine nette Idee ;)

EDIT: Verwende auch JQueryMobile!

Ich habe in einem Thread gelesen, bei dem du in deinem Beitrag geschrieben hast, dass man PHP-Dateien schützen soll. Wie genau meinst du das?

— geändert am 30.08.2014, 14:06:00

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.09.2014, 16:27:25 via Website

In wiefern schützen?
Du solltest halt verhindern dass jemand deine Php skripte für unerlaubtes zeug verwenden kann.
Also ist eine Überprüfeung von get/post parametern sinnvoll
(siehe sql injection)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jakob N.
  • Forum-Beiträge: 282

01.09.2014, 16:47:38 via Website

Oke dachte eher wie ich es gelesen hab an Passwort oder ähnliches.

Nagut dann sollte ich dass mal machen ... Motivation fehlt leider!

LG Jakob

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.09.2014, 17:14:33 via Website

solange es keine Parameter oä. gibt brauchst du auch nix machen.
Sonst halt mit reges überprüfen.
Im grunde ist es egal, wenn dir eine nicht vorhergesehene ausnutzung egal ist.
gibt halt immerwieder so bute force attaken die dann versuchen irdendwelche get oder post parameter zu übergeben

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

01.09.2014, 18:18:42 via App

Jakob N.

Oke dachte eher wie ich es gelesen hab an Passwort oder ähnliches.

Nagut dann sollte ich dass mal machen ... Motivation fehlt leider!

Wenn du fragen hast kannst sie hier auch posten PHP ist kein hexenwerk.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Jakob N.
  • Forum-Beiträge: 282

01.09.2014, 19:34:41 via Website

@Pascal: bei mir hat eigentlich jedes Script irgendwelche Parameter ;)

@Ludy: Danke :) Werde mich aber in nächster Zeit eher an die Weiterentwicklung machen, und wenn ich Zeit finde (wird jetzt dann wieder stressig, und ich werde leider nicht so viel Zeit finden), werde ich dann meine PHP-Dateien schützen.

LG Jakob

Antworten
Steffen Rohwer
  • Forum-Beiträge: 2

10.05.2017, 06:55:06 via Website

Hallo!

Ich arbeite gerade an einem ganz ähnlichen Projekt, das ich in unsere Schulapp integrieren möchte! Wäre es möglich, dass du das/die Serverscript/e mir kam zukommen lässt?
Würde mich über eine Antwort sehr freuen!

Steffen Rohwer


Edit by Mod Ludy: E-Mail Adresse aus Spam-Schutz Gründen entfernt

— geändert am 10.05.2017, 07:21:46 durch Moderator

Antworten
Jakob N.
  • Forum-Beiträge: 282

16.05.2017, 22:15:24 via App

Hallo Steffen!

Da meine Skripte sehr auf meinen Anwendungsfall zugeschnitten sind werden diese dir leider nicht helfen. Du kannst jedoch gerne spezifische Fragen zu meiner Umsetzung stellen.

Vorab: Ich habe eine eigene Datenbanktabelle in dieser ich den Stundenplan abbilde und erstelle dann mit PHP eine HTML-Tabelle.

LG

LG Jakob

Antworten
Steffen Rohwer
  • Forum-Beiträge: 2

17.05.2017, 22:28:59 via Website

Erstmal vielen Dank dafür! Aber theoretisch müsste ich doch zumindest Teile des Scriptes übernehmen können, weil wir doch, wenn ich das richtig verstehe, genau wie ihr untis einsetzen!

Antworten