diff options
| -rw-r--r-- | js/index.js | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/js/index.js b/js/index.js index fcc83f8..f1f4c40 100644 --- a/js/index.js +++ b/js/index.js @@ -105,9 +105,9 @@ document.addEventListener('deviceready', function(){ $('#lnkdisclaimer').click(); }, 2000); }else{ - fillform(); + fillForm(); load(); - trylogin(); + tryLogin(); } }, false); @@ -117,13 +117,13 @@ $('#loginpopup').on('popupafteropen', function(){ }); $('#disclaimerpopup').on('popupafterclose', function(){ - fillform(); + fillForm(); load(); - trylogin(); + tryLogin(); }); /* füllt die Loginform mit gespeicherten Werten */ -function fillform(){ +function fillForm(){ var username = localStorage.getItem('username'); if(username != null && username.length !== 0){ @@ -197,14 +197,14 @@ function checkeKlasse(nutzerklasse, klasse){ /* konvertiert die extrahierten Strings in ein lesbares Format und filtert nach relevanten Vertretungen */ function parseVertretungen(str, username){ - var vertretungen_re = new RegExp('(\\w+)\\s+(\\d(?:\\s+-\\s+\\d)?)\\s+((?:x\\s+)?)(\\+|\\w+|---)\\s+(\\w+|---)\\s+(\\w+|---)\\s+(.*?)\\s+(\\w+)(?:\\s+)?(.*?)'); + var vertretungenRe = new RegExp('(\\w+)\\s+(\\d(?:\\s+-\\s+\\d)?)\\s+((?:x\\s+)?)(\\+|\\w+|---)\\s+(\\w+|---)\\s+(\\w+|---)\\s+(.*?)\\s+(\\w+)(?:\\s+)?(.*?)'); var res; var vertretungen = []; var nutzerklasse = username.match(/(\w+)_.*/)[1].toUpperCase(); str.split('\n').forEach(function(vertretungsstr){ - res = vertretungsstr.match(vertretungen_re) + res = vertretungsstr.match(vertretungenRe) if(res !== null){ var klasse = res[1]; @@ -316,24 +316,24 @@ function renderPage($div, pdf, pageNumber, callback){ page.render(renderContext).promise.then(function(pdf){ page.getTextContent().then(function(textContent){ // Text extrahieren - var page_text = ""; - var last_block = null; + var pageText = ""; + var lastBlock = null; for(j = 0; j < textContent.length; j++){ var block = textContent[j]; - if(last_block != null && last_block.str[last_block.str.length - 1] != ' '){ - if(block.x < last_block.x){ - page_text += '\n'; - }else if(last_block.y != block.y && (last_block.str.match(/^(\s?[a-zA-Z])$|^(.+\s[a-zA-Z])$/) == null )){ - page_text += '\n'; + if(lastBlock != null && lastBlock.str[lastBlock.str.length - 1] != ' '){ + if(block.x < lastBlock.x){ + pageText += '\n'; + }else if(lastBlock.y != block.y && (lastBlock.str.match(/^(\s?[a-zA-Z])$|^(.+\s[a-zA-Z])$/) == null )){ + pageText += '\n'; } } - page_text += block.str; - last_block = block; + pageText += block.str; + lastBlock = block; } - var username = getuserdata(); + var username = getUserData(); if(username == null){ return; @@ -341,7 +341,7 @@ function renderPage($div, pdf, pageNumber, callback){ username = username[0]; } - var vertretungen = parseVertretungen(page_text, username); + var vertretungen = parseVertretungen(pageText, username); if(vertretungen.length > 0){ var vdate = moment($div.data('date'), 'YYYY-MM-DD').startOf('second'); @@ -360,7 +360,7 @@ function renderPage($div, pdf, pageNumber, callback){ }); } -function render_pdf(url, divstr){ +function renderPdf(url, divstr){ console.log('Rendere PDF: ' + url + ' (' + divstr + ')'); PDFJS.getDocument(url).then(function(pdf){ @@ -386,7 +386,7 @@ function fail(text){ } /* entfernt das Logintab */ -function removelogintab(){ +function removeLoginTab(){ $('#vplannavbar').find('*').andSelf().each(function(){ $(this).removeClass(function(i, cn){ var matches = cn.match(/ui-[\w\-]+/g) || []; @@ -415,13 +415,13 @@ function replaceUmlauts(umlautstr){ } /* fügt die lokale URL des Plans ein und ruft die Seite zum Rendering auf */ -function addplanattr(fileEntry, wasdownloaded){ +function addPlanAttr(fileEntry, wasdownloaded){ var sPath = fileEntry.toURL(); var name = fileEntry.name; console.log('Dateiname: ' + name); - var fname_re = new RegExp('.*?(\\d{4}-\\d{2}-\\d{2})(.*?)\\.pdf'); - var results = name.match(fname_re); + var fnameRe = new RegExp('.*?(\\d{4}-\\d{2}-\\d{2})(.*?)\\.pdf'); + var results = name.match(fnameRe); var vdate = moment(results[1], 'YYYY-MM-DD').startOf('day'); if(results[2] !== null){ @@ -455,15 +455,15 @@ function addplanattr(fileEntry, wasdownloaded){ $('#' + name).data('date', results[1]); if($('#login').length && wasdownloaded){ - removelogintab(); + removeLoginTab(); } } - render_pdf(sPath, name); + renderPdf(sPath, name); } /* lädt ein PDF anhand eines Links herunter, benötigt ID zur Sortierung */ -function download_pdf(link){ +function downloadPdf(link){ var filename = link.substring(link.lastIndexOf("/") + 1); window.requestFileSystem( @@ -477,7 +477,7 @@ function download_pdf(link){ console.log('Datei schon heruntergeladen'); if($('#login').length){ - removelogintab(); + removeLoginTab(); } }, function(err){ @@ -491,7 +491,7 @@ function download_pdf(link){ fileEntry.toURL(), function(theFile){ console.log('Download fertig: ' + theFile.toURL()); - addplanattr(theFile, true); + addPlanAttr(theFile, true); }, fail); }, fail); }); @@ -500,21 +500,21 @@ function download_pdf(link){ } /* sucht den Downloadlink eines Plans mithilfe eines Links aus der Kursübersicht */ -function get_plan(link){ +function getPlan(link){ var request = $.ajax({ url: link }); - request.done(function gotplan(resulthtml){ - var pdf_re = new RegExp('(http://***REMOVED***\\.de/moodle/pluginfile\\.php/\\d+/mod_resource/content/\\d+/.*?\\.pdf)'); - var pdflink = pdf_re.exec(resulthtml)[1]; + request.done(function gotPlan(resultHtml){ + var pdfRe = new RegExp('(http://***REMOVED***\\.de/moodle/pluginfile\\.php/\\d+/mod_resource/content/\\d+/.*?\\.pdf)'); + var pdflink = pdfRe.exec(resultHtml)[1]; if(pdflink == null){ return 0; } console.log('Plan gefunden: ' + pdflink); - download_pdf(pdflink); + downloadPdf(pdflink); return 1; }); @@ -524,18 +524,18 @@ function get_plan(link){ /* holt die Kursübersicht - bei Verbindungsfehlern wird onfail aufgerufen */ -function get_overview(link, onfail){ +function getOverview(link, onfail){ var request = $.ajax({ url: link }); console.log('Hole Übersicht'); - request.done(function gotoverview(resulthtml){ - /* ruft get_plan für jeden Link in der Kursübersicht auf */ - var plans_re = new RegExp('window\\.open\\('(http://***REMOVED***\\.de/moodle/mod/resource/view\\.php\\?id=\\d+)&redirect=1'\\)', 'g'); + request.done(function gotOverview(resultHtml){ + /* ruft getPlan für jeden Link in der Kursübersicht auf */ + var plansRe = new RegExp('window\\.open\\('(http://***REMOVED***\\.de/moodle/mod/resource/view\\.php\\?id=\\d+)&redirect=1'\\)', 'g'); - var resultarr = resulthtml.match(plans_re); + var resultarr = resultHtml.match(plansRe); if(resultarr == null){ $('#error_passwd').show('fast'); @@ -545,9 +545,9 @@ function get_overview(link, onfail){ var resultl = resultarr.length; - while((link = plans_re.exec(resulthtml)) !== null){ + while((link = plansRe.exec(resultHtml)) !== null){ console.log('suche Plan ' + link[1]); - get_plan(link[1]); + getPlan(link[1]); } console.log('Übersichts-Request erfolgreich'); @@ -558,9 +558,9 @@ function get_overview(link, onfail){ } /* such den Link zur Übersicht von der Startseite aus */ -function loggedin(resulthtml){ - var vertretungs_re = new RegExp('title="Vertretungsplan" href="(http://***REMOVED***\\.de/moodle/course/view\\.php\\?id=\\d+)"'); - var link = vertretungs_re.exec(resulthtml)[1]; +function loggedIn(resultHtml){ + var vertretungsRe = new RegExp('title="Vertretungsplan" href="(http://***REMOVED***\\.de/moodle/course/view\\.php\\?id=\\d+)"'); + var link = vertretungsRe.exec(resultHtml)[1]; if(link == null){ return 0; @@ -568,13 +568,13 @@ function loggedin(resulthtml){ localStorage.setItem('overviewlink', link); console.log('Eingeloggt'); - get_overview(link, fail); + getOverview(link, fail); return 1; } /* sendet einen HTTPost-Request mit Logindaten */ -function sendlogin(username, password){ +function sendLogin(username, password){ var params = 'username=' + username + '&password=' + password; $('#error_noconn').hide('fast'); @@ -588,13 +588,13 @@ function sendlogin(username, password){ console.log('Logge ein'); - request.done(loggedin); + request.done(loggedIn); request.fail(fail); } /* lädt Benutzerdaten 1) aus den Userinterfaces oder 2) aus dem HTML5 Local Storage */ /* oder 3) gibt null zurück */ -function getuserdata(){ +function getUserData(){ var username = encodeURIComponent($('#username').val()); if(username == ''){ @@ -625,10 +625,10 @@ function getuserdata(){ /* loggt ein oder zeigt Loginform */ function login(){ $.mobile.loading('show', {theme: 'a'}); - userdata = getuserdata(); + userdata = getUserData(); if(userdata){ - sendlogin(userdata[0], userdata[1]); + sendLogin(userdata[0], userdata[1]); $('#loginpopup').popup('close'); return 1; }else{ @@ -640,7 +640,7 @@ function login(){ /* versucht ohne HTTPost die Übersicht zu holen */ /* bei einem Fehlschlag wird in login() versucht, die Nutzerdaten zu laden */ /* und wenn das schiefläuft, muss der Nutzer seine Daten selbst eingeben */ -function trylogin(){ +function tryLogin(){ var link = localStorage.getItem('overviewlink'); $('#loginpopup').popup('close'); @@ -649,21 +649,21 @@ function trylogin(){ console.log('Teste Login'); console.log(link); - get_overview(link, login); + getOverview(link, login); }else{ login(); } } /* gibt aktuelle Pläne aus entries zurück */ -function getactual(entries){ - var fname_re = new RegExp('.*?(\\d{4}-\\d{2}-\\d{2}).*?\\.pdf'); +function getActual(entries){ + var fnameRe = new RegExp('.*?(\\d{4}-\\d{2}-\\d{2}).*?\\.pdf'); var today = moment().startOf('day'); var actual = []; entries.forEach(function(entry){ console.log(entry.name); - var results = entry.name.match(fname_re); + var results = entry.name.match(fnameRe); var fdate = moment(results[1], 'YYYY-MM-DD'); if(moment().isBefore(fdate)){ @@ -686,14 +686,14 @@ function load(){ dirReader.readEntries( function(entries){ - var actual = getactual(entries); + var actual = getActual(entries); console.log('Im Speicher: ' + actual.length + ' Pläne'); if(actual.length > 0){ $('#noplans').hide('slow'); for(j = 0; j < actual.length; j++){ - addplanattr(actual[j], false); + addPlanAttr(actual[j], false); } }else{ $('#noplans').show('fast'); |
