App für den Untis Stundenplan

  • 23 Antworten
  • Neuester Beitrag
Diskutiere App für den Untis Stundenplan im Android App Entwicklung im Bereich Betriebssysteme & Apps.
B

burgerohnealles

Fortgeschrittenes Mitglied
Hallo,

ich bin Schüler und seit einigen Wochen gibt es an unserer Schule einen Online-Vetretungsplan (Untis). Da dieser nicht für Handy optimiert ist und es keine App dazu gibt, hab ich mir einfach eine selbst geschrieben.

Wenn Interesse besteht, kann ich den Source-Code veröffentlichen und auch aktuell halten.
 
Zuletzt bearbeitet von einem Moderator:
P

PhillippOh

Fortgeschrittenes Mitglied
Darfst du dir auch die Klassennamen und die ID dazu aus nem Javascript Array in der HTML Datei der Navigation holen? Meine alte Schule nutzt auch Untis und das war ein Graus dafür die App zu machen. Sobald man die ID's hat, geht der Rest aber ganz gut.
 
B

burgerohnealles

Fortgeschrittenes Mitglied
Ja, zuerst wird die Datei frames/navbar.htm geladen, um die Klassen zu erhalten, dann wird die entsprechende Seite geladen.

Anbei mal die PHP-Dateien (ich parse das ganze nämlich zuerst auf nem eigenen Server).

EDIT: Die Dateien sind die selben, nur einaml für Windoof und einmal für Linux-User - je nachdem was euch lieber ist :D
 
P

PhillippOh

Fortgeschrittenes Mitglied
Ich habs in meiner v1 auch erst über meinen Server parsen lassen. In der v2 macht das aber die App.
 
B

burgerohnealles

Fortgeschrittenes Mitglied
Ich umgedreht :D Die ham so oft was geändert, wollte da net jedes ma en neues Update raus hauen. Wenn du noch den Code der App willst, kann ich auch veröffentlichen ^^
 
P

PhillippOh

Fortgeschrittenes Mitglied
Bei mir muss ich nichts ändern. Falls sich da was ändert und der User falsche Pläne bekommt, dann braucht er nur ein Button drücken, damit die Datei neu geladen, geparst und die Klassen gespeichert werden. Dann muss er seine Klasse neu auswählen und alles geht wieder.
 
J

JustinTime

Fortgeschrittenes Mitglied
Vorteil an einem Server zwischen ist das man per gcm Update Benachrichtigen schicken kann.
 
P

PhillippOh

Fortgeschrittenes Mitglied
Das Problem bei den Untis Stundenplänen ist aber, dass man die an sich nicht selbst parsen kann sondern nur als Webview einbinden kann. Deswegen kann man auch nicht wirklich ermitteln ob bzw welche Änderungen am Stundenplan vorgenommen wurden.
 
J

JustinTime

Fortgeschrittenes Mitglied
Anscheinend kann man es ja doch parsen zumindest stand da doch was weiter oben
 
B

burgerohnealles

Fortgeschrittenes Mitglied
Hmm also gehen tut alles :D Momentan wird nur der Vetretungsplan geparst und angezeigt, der Stundenplan ist in Planung (das Teil, das aus 65 Tabellen besteht, einfach Müll :| ) :D
 
P

PhillippOh

Fortgeschrittenes Mitglied
Man kann die Klassenliste aus dem Javascript herausparsen, aber den eigentlichen Plan kannst du nicht parsen, weil da Layoutvergewaltigung mit ineinander geschachtelten Tabelle getrieben wird.
 
B

burgerohnealles

Fortgeschrittenes Mitglied
Ich denk ma schon dass ich das hin bekomme, aber bissl Arbeit wirds schon sein .. der Stundenplan von den 11ern (ich bin noch in der 9. Klasse, da sieht der Plan noch einfacher aus .. trzdm. 65 Tabellen) .. 245 Tabellen !! :o Das kann man durchaus vergewaltigung nennen
 
B

burgerohnealles

Fortgeschrittenes Mitglied
So falls es jmd bracht, im Anhang ein PHP-Skript, das den Stundenplan lädt und parst.

EDIT: Alle in diesem Thread von mir veröffentlichen Skripte/Codes sind allein von mir programmiert worden, sofern nicht anders (z.B. durch einen Copyright-Hinweis) vermerkt. Ihr dürft sie weitergeben, verändern und anschließend weitergeben, sowie den Code oder Teile davon anderweitig nutzen, wenn ihr dazuschreibt, dass er von mir ist. Außerdem muss dieser Text hinzugefügt werden. Dies muss nicht getan werden, wenn der Code nicht weitergegeben/verbreitet wird.

EDIT2: Includes vergessen, habe sie nun hinzugefügt. Die include-Anweisungen müssen noch entsprechend angepasst werden.
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von Handymeister - Grund: [Handymeister] Klarname auf Wunsch des Users gelöscht
B

burgerohnealles

Fortgeschrittenes Mitglied
Hier mal alles zusammen, komplette App (zeigt Vertretungsplan und Stundenplan an) mit allen dazugehörigen PHP-Dateien. Lizenz steht oben.
 
Zuletzt bearbeitet von einem Moderator:
B

burgerohnealles

Fortgeschrittenes Mitglied
Hab jz en Update, das jz den VP vom Monitor (aktueller) statt dem "normal" online zugänglichem VP lädt. Wenn jmd interesse hat -> PN oder Antwort hier
 
joshua1996

joshua1996

Stammgast
Ich habe mich da auch durchgekämpft. Mein Plan war erst den Vertretungsplan-Frame mit der Tabelle zu zerfleddern, also mit nem PHP-Script alle HTML-Elemente weg usw.
Nachdem ich das dann für meine Klasse hatte, und die Ausgabe über JSON an die App hatte, fiel mir auf das die Tabelle je nach Klasse komplett anders erstellt wird. Also nicht so wie es sich für eine HTML-Tabelle gehört, sondern echt komplette Code-Vergewaltigung.
Da sich das Bearbeiten von 147 Tabellen pro Woche nicht lohnt, habe ich einfach den Stundenplan-Frame in einen Webview gepackt. Zwar nicht die beste Lösung, aber das selbe hat sich Untis beim erstellen auch gedacht :D
 
B

burgerohnealles

Fortgeschrittenes Mitglied
Okey .. interessant. Also die Tabellen bei uns sind immer "gleich" .. kannste ma ein paar Stundenpläne (die htm(l)-Dateien) hier gezippt oder als .tar.gz hier hochladen. Würd mich ma interessieren :D
 
joshua1996

joshua1996

Stammgast
Hab was besseres als ne zip mit den ganzen Dateien ;)
- Vertretungsplan

Das dumme ist halt echt, das manche Klassen (meine zB) anguckt 212.102.229.90/apache2-default/wb/media/vts/26/c/c00087.htm , muss man erstmal fleißig HTML-Tags stripen, Strings splitten usw.
Wenn man dann ne andere Klasse öffnet, hat man wieder ein ganz anderes Muster...
 
B

burgerohnealles

Fortgeschrittenes Mitglied
Ich versuch iwann heut Abend ma deine Seite durch mein neues PHP-Skript zu jagen. Ma gucken was bei raus kommt :D
 
joshua1996

joshua1996

Stammgast
Hab mir jetzt grad mal deine PHP-Scripts angeguckt, hast dir ja ganz schön Arbeit gemacht ;) respekt
An den Weg, den du nimmst, habe ich gar nicht gedacht. Meine Idee war so an sich:

-App ruft PHP-Script von meinem Server ab, und gibt den Klassennamen über get/post ans Script
-Das Script läd über den implode-Befehl den Tabellen-Frame
-Das Script zerlegt den gesamten HTML-Code des Frames
-übrig bleibt ein Array mit ungeordneten Strings

Dann dachte ich mir, Webview und fertig :D

Ein anderer möglicher Weg wäre es ja, den Tabellen-Inhalt mit PHP auszulesen, nur weiß ich nicht ob es dazu ne Funktion gibt, oder ob sie jemand schon geschrieben hat...

EDIT: Wobei, nach etwas googlen habe ich jetzt nen Script gefunden, mit welchem ich jede Spalte einer Tabelle in ein Array speichern kann. So kann ich bei bedarf über den Index über mehrere Arrays hinweg sortieren.
Werde mich mal am Montag intensiver mit auseinander setzten, hab da eh nicht wirklich was zu tun :rolleyes2:
 
Zuletzt bearbeitet:
Ähnliche Themen - App für den Untis Stundenplan Antworten Datum
1
6
17