1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
/*
* Copyright (C) 2014
* This file is part of WvS VPlan.
*
* WvS VPlan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
function get_overview(link){
var request = $.ajax({
type: "GET",
url: link
});
request.done(function(msg){
console.log('Übersichts-Request erfolgreich');
location.href = '#overview';
});
request.fail(function(jqXHR, textStatus){
alert("Etwas ist schiefgelaufen: " + textStatus);
});
}
function login(){
$.mobile.loading("show", {
text: "Lade...",
textVisible: true,
theme: "b",
});
var username = encodeURIComponent($("#username").value);
var password = encodeURIComponent($("#password").value);
var params = "username=" + username + "&password=" + password;
var request = $.ajax({
type: "POST",
url: "https://***REMOVED***/moodle/login/index.php",
data: {username: username, password: password}
});
request.done(function(result){
var vertretungs_re = new RegExp("title=\"Vertretungsplan\" href=\"(http://***REMOVED***\\.de/moodle/course/view\\.php\\?id=\\d+)");
var link = vertretungs_re.exec(result)[1];
console.log('Login-Request erfolgreich: ' + link);
get_overview(link);
});
request.fail(function(jqXHR, textStatus){
alert("Etwas ist schiefgelaufen: " + textStatus);
});
}
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicity call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
/* var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
*/
console.log('Received Event: ' + id);
}
};
|