source: t29-www/de/lernprojekte/passwortschutz.js @ 684

Last change on this file since 684 was 284, checked in by heribert, 12 years ago

Grosser Abgleich der neuen Homepage (de-v6) mit den Änderungen an der alten Homepage (de) zwischen dem 22.04.2012 (Version 248, Branch) und dem 15.08.2012 (heute).

  • Property svn:keywords set to Id
File size: 2.1 KB
Line 
1/**
2 * Irgendwo ist Quick & Dirty doch auch toll ;-)
3 * Zusammen zu laden mit /srv/js/http-auth.js gibt das hier einen billig anmutenden
4 * Javascript-Passwortschutz, hinter dem sich aber ein ordentlicher HTTP-Authentifikationsschutz
5 * verbirgt ;-)
6 *
7 **/
8
9function passwort(a) {
10        var name = "\""+a.text+"\"";
11        var url = a.target;
12        var help_url = "fehler.shtm?"+a.text;
13
14        var pwd = prompt(
15                "Bitte geben sie das Passwort für das Projekt "+name+
16                " ein.\nWenn das Projekt nicht passwortgeschützt " +
17                "ist, dann klicken sie einfach auf OK.");
18        var prompt_text;
19        if(!pwd) {
20                // Benutzer hat abgebrochen
21                return false;
22        } else if(pwd == "" && !login(url, a.text.toLowerCase(), pwd)) {
23                // Benutzer hat leeres Passwort eingegeben, und Projekt war doch
24                // passwortgeschützt
25                prompt_text = "Leider ist das Projekt "+name+" nicht öffentlich, "+
26                        "d.h. ein Passwort für den Zugriff wird gefordert.\n" +
27                        "Klicken sie auf Abbrechen, falls sie weitere Hilfe benötigen "+
28                        "oder geben sie das richtige Passwort ein und klicken sie auf OK.";
29        } else if(!login(url, a.text.toLowerCase(), pwd)) {
30                // Projekt war passwortgeschützt, Benutzer hat falsches Passwort eingegeben.
31                prompt_text = "Das eingegebene Passwort für das Projekt "+name+" stimmt "+
32                        "leider nicht.\nGeben sie das richtige Passwort ein oder klicken "+
33                        "sie auf Abbrechen, falls sie weitere Hilfe benötigen.";
34        }
35        // Wer hier ankommt, will Passwort nochmal eingeben.
36        for(var x=0;;x++) {
37                pwd = prompt(prompt_text);
38
39                if(pwd == "") {
40                        // Benutzer will zu Hilfeseite
41                        location.href = help_url;
42                } else if(!pwd) {
43                        // Benutzer bricht ab (wie auch immer)
44                        return false;
45                } else if(!login(url, a.text.toLowerCase(), pwd)) {
46                        // Benutzer hat immernoch falsches Passwort
47                        continue;
48                } else {
49                        // Benutzer hat gar nichts und so.
50                        return true;
51                }
52        } // for
53} // function
54
55window.onload = function() {
56        if(getHTTPObject()) { // can do such things
57                var projekte = document.getElementsByTagName("th");
58                for(var th=0; th < projekte.length; th++) {
59                        if(projekte[th].firstChild.nodeName == 'A')
60                                projekte[th].firstChild.setAttribute("onclick", "return passwort(this);");
61                } // for th
62        }
63}; // onload
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License