From bknr@bknr.net Sun Oct 15 04:58:33 2006 From: bknr@bknr.net To: bknr-cvs@common-lisp.net Subject: [bknr-cvs] r1995 - in branches/xml-class-rework/projects/bos: . payment-website/infosystem payment-website/infosystem/de payment-website/infosystem/en worldpay-test Date: Sun, 15 Oct 2006 04:58:33 -0400 Message-ID: <20061015085833.2F5252B139@common-lisp.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4623300601740002081==" --===============4623300601740002081== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: hhubner Date: 2006-10-15 04:58:32 -0400 (Sun, 15 Oct 2006) New Revision: 1995 Modified: branches/xml-class-rework/projects/bos/build.lisp branches/xml-class-rework/projects/bos/payment-website/infosystem/de/satel= litenkarte.htm branches/xml-class-rework/projects/bos/payment-website/infosystem/en/satel= litenkarte.htm branches/xml-class-rework/projects/bos/payment-website/infosystem/javascri= pt.js branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handle= r.lisp branches/xml-class-rework/projects/bos/worldpay-test/reports-xml-handler.l= isp Log: Contract clipping fixed for IE, not yet finished though. Modified: branches/xml-class-rework/projects/bos/build.lisp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/xml-class-rework/projects/bos/build.lisp 2006-10-14 13:23:45 UTC= (rev 1994) +++ branches/xml-class-rework/projects/bos/build.lisp 2006-10-15 08:58:32 UTC= (rev 1995) @@ -51,6 +51,7 @@ =20 (defun init () (fix-dpd) + (asdf:oos 'asdf:load-op :bos.web) (format t "BOS Online-System~%") (when *cert-daemon* (format t "; starting certificate generation daemon, slime and webserver= not started~%") Modified: branches/xml-class-rework/projects/bos/payment-website/infosystem/d= e/satellitenkarte.htm =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/xml-class-rework/projects/bos/payment-website/infosystem/de/sate= llitenkarte.htm 2006-10-14 13:23:45 UTC (rev 1994) +++ branches/xml-class-rework/projects/bos/payment-website/infosystem/de/sate= llitenkarte.htm 2006-10-15 08:58:32 UTC (rev 1995) @@ -5,6 +5,7 @@ Satellitenkarte - Samboja Lestari + =20 @@ -313,6 +314,9 @@
+
+ +
=20 @@ -401,6 +405,12 @@ "verkaufte" m=C2=B2
+
+ +
+
+ +
Modified: branches/xml-class-rework/projects/bos/payment-website/infosystem/e= n/satellitenkarte.htm =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/xml-class-rework/projects/bos/payment-website/infosystem/en/sate= llitenkarte.htm 2006-10-14 13:23:45 UTC (rev 1994) +++ branches/xml-class-rework/projects/bos/payment-website/infosystem/en/sate= llitenkarte.htm 2006-10-15 08:58:32 UTC (rev 1995) @@ -5,6 +5,7 @@ Satellite View - Samboja Lestari + =20 @@ -304,6 +305,12 @@
=20
=20
+
+ +
+
+ +
=
=20 @@ -392,6 +399,12 @@ "sold" m=C2=B2
+
+ +
+
+ +
Modified: branches/xml-class-rework/projects/bos/payment-website/infosystem/j= avascript.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/xml-class-rework/projects/bos/payment-website/infosystem/javascr= ipt.js 2006-10-14 13:23:45 UTC (rev 1994) +++ branches/xml-class-rework/projects/bos/payment-website/infosystem/javascr= ipt.js 2006-10-15 08:58:32 UTC (rev 1995) @@ -1,11 +1,14 @@ // JavaScript Document -*- Java -*- =20 +// Originally written by Matthias, Systemtakt neue Medien GbR +// This program needs a lot of refactoring. + // XXX bei klick auf =C3=BCbersichtskarte bleiben die links der poi-thumbnai= ls aktiv // XXX beim schliessen des opener-fensters funktioniert "m2 kaufen" nicht me= hr =20 // Debugger anzeigen? =20 -var show_debugger =3D false; +var show_debugger =3D true; =20 // var http_pfad =3D "http:// createrainforest.org:8080"; var http_pfad =3D ""; @@ -77,7 +80,7 @@ } } =20 -function schreibe_debugger(text) { +function dbg(text) { // Schriebt einen Text in die Debugger-Ebene debugger_text =3D debugger_text + text; document.getElementById("debugger").innerHTML =3D debugger_text; @@ -132,7 +135,7 @@ close(); } =20 - schreibe_debugger("
init()
"); + dbg("
init()
"); // initialisierung startet die Ladefuntkionen // parst den URL-String und trennt logout, sponsorid und passwort // Debugger anzeigen oder ausblenden @@ -153,7 +156,7 @@ =20 timer =3D 0; =20 - schreibe_debugger("
-> lade POI"); + dbg("
-> lade POI"); poicomplete =3D false; window.frames['data'].window.location.replace(http_pfad + "/poi-javascri= pt"); poi_warten(); // starten der Wartenfunktion @@ -179,7 +182,7 @@ // poicomplet ist dei letzte Variable im Script daher wenn sie gesetzt i= st ist das Ende erreicht if (poicomplete) { // wenn der Datensatz komplett geladen ist wird der timer auf Null gesetzt = und je nachdem ob sich eingeloggt wurde oder nicht die loginueberpruefung ode= r die Punkterzeugung gestartet - schreibe_debugger("
-> POI geladen! login: " + login + ""); + dbg("
-> POI geladen! login: " + login + ""); document.getElementById("Info3Text").innerHTML =3D '' + msg('Anzahl Spon= soren') + '
' + anzahlSponsoren + '

' + msg('Anzahl verkaufte m=C2=B2') + '
' @@ -189,14 +192,16 @@ } UebersichtNavi(); qm_zusammenfassen(); + icon_versatz();=20 + poi_faehnchen_erzeugen(); } else { // wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht= und die Funktion nochmal gestartet timer++;=20 if (timer < 100) { - schreibe_debugger(".");=20 + dbg(".");=20 setTimeout("poi_warten()", 100); } else { - schreibe_debugger("
-> POI konnten nicht geladen werden"); + dbg("
-> POI konnten nicht geladen werden"); alert(msg('Fehler beim Laden der POI-Informationen, bitte probieren Sie= es sp=C3=A4ter noch einmal')); } } @@ -229,7 +234,7 @@ loginstatus =3D undefined; window.frames['data'].window.location.replace(url); =20 - schreibe_debugger("
-> lade Login-Status - url ist " + url + '
= '); + dbg("
-> lade Login-Status - url ist " + url + '
'); =20 login_warten(); // Wartefunktion starten =20 @@ -246,23 +251,23 @@ // wenn loginstatus gesetzt ist ist das Ende erreicht =20 if (loginstatus) {=20 - schreibe_debugger("
-> Login-Status geladen: " + loginstatus + ""); + dbg("
-> Login-Status geladen: " + loginstatus + ""); // wenn loginstatus gesetzt ist wir timer auf Null gesetzt // wenn lohinstatus =3D "login-failed" ist wird eine Fehlermeldung eingeble= ndet if (loginstatus =3D=3D "not-logged-in") { - schreibe_debugger("
-> nicht eingeloggt!"); + dbg("
-> nicht eingeloggt!"); } =20 if (loginstatus =3D=3D "login-failed") { document.getElementById("Loginfehler").style.visibility =3D 'visible'; - schreibe_debugger("
-> Login fehlgeschlagen!"); + dbg("
-> Login fehlgeschlagen!"); } // wenn lohinstatus =3D "logged-in" ist wird das Anmeldefeld ausgelendet, d= as Logoutfeld eingeblendet und die Sponsorid angezeigt // danach werden die Punkte erzuegt und die Quadratmeter geladen if (loginstatus =3D=3D "logged-in") { document.getElementById("Anmelden").style.visibility =3D "hidden"; document.getElementById("SponsorInfo").style.visibility =3D "visible"; - schreibe_debugger("
-> Login erfolgreich!"); + dbg("
-> Login erfolgreich!"); } else { document.getElementById("Anmelden").style.visibility =3D "visible"; document.getElementById("SponsorInfo").style.visibility =3D "hidden"; @@ -273,10 +278,10 @@ // wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht= und die Funktion nochmal gestartet=09 timer++;=20 if (timer < 100) { - schreibe_debugger(".");=20 + dbg(".");=20 setTimeout("login_warten()", 100); } else { - schreibe_debugger("
-> Loginstatus konnten nicht geladen werden= "); + dbg("
-> Loginstatus konnten nicht geladen werden"); } } return true; @@ -285,7 +290,7 @@ function ausloggen() { // Seesion loeschen -> ausloggen window.frames['data'].window.location.replace(http_pfad + "/logout"); - schreibe_debugger("
-> ausloggen"); + dbg("
-> ausloggen"); qm_laden(); return true; } @@ -296,12 +301,11 @@ timer =3D 0; =20 profil_variable =3D 'profil'; - qm_variable =3D 'qm'; =20 m2complete =3D false; window.frames['data'].window.location.replace(http_pfad + "/m2-javascrip= t/"); =20 - schreibe_debugger("
-> lade Quadratmeter "); + dbg("
-> lade Quadratmeter "); qm_warten(); // Wartefunktion starten return true; } @@ -310,29 +314,26 @@ // Wartefunktion, da das Laden etwas traege ist wartet dieses Script bis= derf Datensatz komplatt geladen ist // m2complete ist die letzte Variable im Script daher wenn sie gesetzt i= st ist das Ende erreicht if (m2complete) { - // wenn m2complete gelden ist wird qm_erzeugen() gestartet und der timer au= f Null gesetzt - schreibe_debugger("
-> Quadratmeter geladen!"); =09 + dbg("
-> Quadratmeter geladen!"); =09 poi_laden(); } else { // wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht= und die Funktion nochmal gestartet timer++;=20 if (timer < 100) { - schreibe_debugger(".");=20 + dbg(".");=20 setTimeout("qm_warten()", 100); } else { - schreibe_debugger("
-> qm konnten nicht geladen werden"); + dbg("
-> qm konnten nicht geladen werden"); } } return true; } =20 var profil_variable; -var qm_variable; =20 -function qm_fertig(_profil, _qms) { +function qm_fertig(_profil) { if (_profil) { eval(profil_variable + " =3D _profil;"); - eval(qm_variable + " =3D _qms;"); } m2complete =3D true; } @@ -344,19 +345,16 @@ // der Datensatz wird vorher auf Nullwerte gesetzt damit fals keine Date= n in der URL enthalten sind der Quadratmeter als unverkauft angezeigt wird m2complete =3D false; timer=3D0; - n_profil =3D []; - n_profil['name'] =3D msg("noch nicht verkauft"); - n_profil['country'] =3D ""; - n_profil['anzahl'] =3D 0; - n_profil['datum'] =3D ""; - n_profil['nachricht'] =3D ""; + n_profil =3D { + name: msg("noch nicht verkauft") + }; =20 profil_variable =3D 'n_profil'; =20 m2complete =3D false; window.frames['data'].window.location.replace(http_pfad + "/m2-javascrip= t/" + fremd_x + "/" + fremd_y); n_qm_warten(); // Wartefunktion starten - schreibe_debugger("
-> lade Nachbar-Quadratmeter (" + fremd_x + "/"= + fremd_y + ")"); =09 + dbg("
-> lade Nachbar-Quadratmeter (" + fremd_x + "/" + fremd_y + "= )"); =09 return true; } =20 @@ -364,9 +362,9 @@ // Wartefunktion, da das Laden etwas traege ist wartet dieses Script bis= derf Datensatz komplatt geladen ist // m2complete ist die letzte Variable im Script daher wenn sie gesetzt i= st ist das Ende erreicht if (m2complete) { - // timer wird auf Nullgesetzt und n_qm_erzeugen wird gestartet + // timer wird auf Nullgesetzt und display_selected_contract wird gestartet timer =3D 0; - schreibe_debugger("
-> Nachbar-Quadratmeter geladen!"); =09 + dbg("
-> Nachbar-Quadratmeter geladen!"); =09 // text fuer das Nachbarprofil wird zusammengesetzt if (n_profil['name'] =3D=3D msg("noch nicht verkauft")) { var text =3D '
=
' + '' + '' + '' - + '' + + '' + '' + '' + '
' @@ -385,7 +383,7 @@ + '
' + msg('gesponsort') + '= :' + n_profil['anzahl'] + ' m=C2=B2
' - // + msg('seit') + ':' + 'XXX FIXME!' // = n_qm[1]['datum'] + + msg('seit') + ':' + n_profil.contracts[= 0].date + '
' + n_profil['nachricht'] @@ -393,46 +391,93 @@ } // Inhalt der Ueberschrift und des Infotextes werden gesetzt document.getElementById("qmLaden").style.visibility =3D "hidden"; - if (true) { // XXX FIXME! + if (n_profil.contracts) { document.getElementById("Ueberschrift").innerHTML =3D msg("Verkaufte m= =C2=B2"); } else { document.getElementById("Ueberschrift").innerHTML =3D msg("zu verkaufen= !"); } document.getElementById("qmInfoText").innerHTML =3D text; - n_qm_erzeugen(); + display_selected_contract(); } else { // wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht= und die Funktion nochmal gestartet=09 timer++;=20 if (timer < 100) { setTimeout("n_qm_warten()", 100); } else { - document.getElementById("qmLaden").style.visibility =3D "hidden"; schre= ibe_debugger("
-> Nachbar-Quadratmeter konnten nicht geladen werden"); + document.getElementById("qmLaden").style.visibility =3D "hidden"; dbg("=
-> Nachbar-Quadratmeter konnten nicht geladen werden"); } } return true; } =20 -function n_qm_erzeugen() { - // Erzeugen der Nachbarquadratmeter - var selected_contract_img =3D document.getElementById('selected_contract= _img'); +function load_contract_image(contract, image, factor, color)=20 +{ + var container =3D image.parentNode; + + if (!color) { + color =3D 'ffff00'; + } + + container.style.visibility =3D 'hidden'; + image.onload =3D function () { + this.parentNode.style.visibility =3D 'inherit'; + } + image.src =3D '/contract-image/' + contract.id + '/' + color; + image.width =3D contract.width * factor; + image.height =3D contract.height * factor; + + // falls der Vertrag aus dem angezeigten Bereich herausragt, wird das bi= ld entsprechend geclipped. + // XXX fixme das ist noch nicht "ganz" fertig hier *h=C3=BCstel* + if ((contract.left + contract.width - x_anf) > 360) { + container.style.clip + =3D 'rect(0px ' + + (contract.width - (contract.left + contract.width - x_anf - 360)) * f= actor + 'px ' + + (contract.height - (contract.top + contract.height - y_anf - 360)) * = factor + 'px ' + + '0px)'; + } else { + container.style.clip =3D 'rect(auto auto auto auto)'; + } + + container.style.left =3D (contract.left - x_anf) * factor + 'px'; + container.style.top =3D (contract.top - y_anf) * factor + 'px'; + +} + +function display_selected_contract() +{ + // Anzeigen der ausgew=C3=A4hlten Nachbarquadratmeter + if (n_profil.contracts) { var contract =3D n_profil.contracts[0]; =20 - selected_contract_img.src =3D '/contract-image/' + contract.id; - selected_contract_img.width =3D contract.width; - selected_contract_img.height =3D contract.height; - - document.getElementById('selected_contract').style.left =3D (contract.left = - x_anf) + 'px'; - document.getElementById('selected_contract').style.top =3D (contract.top - = y_anf) + 'px'; + load_contract_image(contract, + document.getElementById('selected_contract_img'), + 1); + load_contract_image(contract, + document.getElementById('lupe_selected_contract_img'), + 5); } else { - selected_contract_img.src =3D '../bilder/spacer.gif'; + document.getElementById('selected_contract_img').src =3D '../bilder/spacer.= gif'; + document.getElementById('lupe_selected_contract_img').src =3D '../bilder/sp= acer.gif'; } } =20 +function display_own_sqm() +{ + var contract =3D profil.contracts[0]; + var img =3D document.getElementById('own_contract_img'); + var enlarged_image =3D document.getElementById('lupe_own_contract_img'); + + load_contract_image(contract, img, 1, "ff0000"); + load_contract_image(contract, enlarged_image, 5, "ff0000"); +} + function qm_zusammenfassen() { // zusammenfassen mehererer Quadratmeterf=EF=BF=BDhnchen zu einem F=EF= =BF=BDhnchen. - // es wird gepr=EF=BF=BDft, ob sich auf der Detailkarte des qm noch mehr= qm azeigen lassen dadurch wird die Darstellung der F=EF=BF=BDhnchen vereinfa= cht + // es wird gepr=EF=BF=BDft, ob sich auf der Detailkarte des qm noch mehr= qm anzeigen lassen dadurch wird die Darstellung der F=EF=BF=BDhnchen vereinf= acht =20 + return; + =20 var i=3D1; while (qm[i]) { var qmV =3D qm[i]; @@ -471,7 +516,6 @@ } i++; } - icon_versatz();=20 return true; } =20 @@ -532,20 +576,14 @@ index++; i++; } - var i=3D1; - while (qm[i]) { - if (qm[i]['status'] =3D=3D "mitte") { - var qmV =3D qm[i]; - var uebV =3D uebersicht_icons[index]; - uebersicht_icons[index] =3D new Array; - uebersicht_icons[index]['x'] =3D qmV['x']; - uebersicht_icons[index]['y'] =3D qmV['y']; - uebersicht_icons[index]['icon'] =3D "qm"; =09 - uebersicht_icons[index]['name'] =3D msg("meine m=C2=B2"); - uebersicht_icons[index]['id'] =3D i; - } - index++; =09 - i++; + if (profil.contracts) { + var contract =3D profil.contracts[0]; + uebersicht_icons[index++] =3D { + x: contract.left, + y: contract.top, + icon: 'qm', + name: msg("meine m=C2=B2") + }; } =20 var i=3D1; @@ -556,7 +594,7 @@ var vergleichV_x =3D uebersicht_icons[j]['x'] + 240; =09 var vergleichV_y =3D uebersicht_icons[j]['y'] + 240; versatz =3D kollisonsabfrage(uebV_x + 240, uebV_y + 240, vergleichV_x, = vergleichV_y); - // if (versatz[0]) {schreibe_debugger("
-> POI[" + i + "] Richtung= saenderungvorschlag: " + versatz[0]);} + // if (versatz[0]) {dbg("
-> POI[" + i + "] Richtungsaenderungvors= chlag: " + versatz[0]);} var test =3D new Array; test[0] =3D versatz[0]; var versatz_index =3D versatz[0] + 1; @@ -567,7 +605,7 @@ versatz_index--; if (versatz_index < 1) {versatz_index =3D 4;} k++; - // schreibe_debugger("
-> Richtungsaenderungstest bei " + versatz_ind= ex + " Fehler: " + richtungsfehler); + // dbg("
-> Richtungsaenderungstest bei " + versatz_index + " Fehler:= " + richtungsfehler); =20 if (versatz_index =3D=3D 1) { richtungsfehler =3D false; @@ -578,7 +616,7 @@ test =3D kollisonsabfrage(((uebV_x + 240) + versatz[versatz_index]), = (uebV_y + 240) , testV_x, testV_y); if (test[0] !=3D 0) { richtungsfehler =3D true;=20 - // schreibe_debugger("
-> Kollision mit " + l); + // dbg("
-> Kollision mit " + l); } } } @@ -593,7 +631,7 @@ test =3D kollisonsabfrage((uebV_x + 240), ((uebV_y + 240) + versatz[v= ersatz_index]), testV_x, testV_y); if (test[0] !=3D 0) { richtungsfehler =3D true; - // schreibe_debugger("
-> Kollision mit " + l); + // dbg("
-> Kollision mit " + l); } } } @@ -608,7 +646,7 @@ test =3D kollisonsabfrage(((uebV_x + 240) + versatz[versatz_index]), = (uebV_y + 240) , testV_x, testV_y); if (test[0] !=3D 0) { richtungsfehler =3D true; - // schreibe_debugger("
-> Kollision mit " + l); + // dbg("
-> Kollision mit " + l); } } } @@ -623,7 +661,7 @@ test =3D kollisonsabfrage((uebV_x + 240), ((uebV_y + 240) + versatz[v= ersatz_index]), testV_x, testV_y); if (test[0] !=3D 0) { richtungsfehler =3D true; - // schreibe_debugger("
-> Kollision mit " + l); + // dbg("
-> Kollision mit " + l); } } } @@ -636,7 +674,7 @@ if (versatz_index =3D=3D 2) {uebersicht_icons[i]['y'] =3D uebersicht_icons= [i]['y'] + versatz[versatz_index];} if (versatz_index =3D=3D 3) {uebersicht_icons[i]['x'] =3D uebersicht_icons= [i]['x'] + versatz[versatz_index];} =09 if (versatz_index =3D=3D 4) {uebersicht_icons[i]['y'] =3D uebersicht_icons= [i]['y'] + versatz[versatz_index];} - // schreibe_debugger("
-> versetze POI[" + i + "] durch POI[" + j + "= ] nach " + versatz_index + " um " + versatz[versatz_index] + "
"); + // dbg("
-> versetze POI[" + i + "] durch POI[" + j + "] nach " + ver= satz_index + " um " + versatz[versatz_index] + "
"); uebV_x =3D uebersicht_icons[i]['x']; =09 uebV_y =3D uebersicht_icons[i]['y']; } @@ -644,11 +682,9 @@ } i++; } - - pkt_erzeugen(); } =20 -function pkt_erzeugen() { +function poi_faehnchen_erzeugen() { // Erzeugen der Faehnchen fuer die POI, der array wird durchlaufen und d= ie entsprechenden Informationen in Ebenen dargestellt var i =3D 1; while (uebersicht_icons[i]) { @@ -660,8 +696,10 @@ var x =3D parseInt(Math.round(uebersicht_icons[i]['x'] / 30) + 170 - 8); var y =3D parseInt(Math.round(uebersicht_icons[i]['y'] / 30) + 101 - 8); =20 - =09 - if (y > 360 + 99 - 13) (y =3D 360 + 99 -13); + // "aha!" + if (y > 360 + 99 - 13) { + y =3D 360 + 99 - 13; + } =20 // definieren der Styles neueebene.style.position=3D"absolute"; @@ -674,24 +712,24 @@ =09 neueebene.align =3D "left"; var faehnchentext =3D msg(uebersicht_icons[i]['name']); - var index =3D uebersicht_icons[i]['id']; if (uebersicht_icons[i]['icon'] =3D=3D "sale") { + var index =3D uebersicht_icons[i]['id']; neueebene.innerHTML =3D ''; } else if (uebersicht_icons[i]['icon'] =3D=3D "qm") { - neueebene.innerHTML =3D ''; + neueebene.innerHTML =3D ''; } else { neueebene.innerHTML =3D ''; } =09 i++; } - schreibe_debugger("
-> " + (i-1) + " Faehnchen erzeugt"); =09 + dbg("
-> " + (i-1) + " Faehnchen erzeugt"); =09 return true; =20 } function poi_pos_setzen(objekt, i) { // qm setzen=09 =20 - schreibe_debugger("
-> Position gestezt"); + dbg("
-> Position gestezt"); var x_obj =3D parseInt(Math.floor(objekt['x'] - x_anf)); var y_obj =3D parseInt(Math.floor(objekt['y'] - y_anf)); =20 @@ -710,7 +748,7 @@ =20 function qm_pos_setzen(objekt, i) { // qm setzen=09 - schreibe_debugger("
-> Position gestezt"); + dbg("
-> Position gestezt"); var x_obj =3D parseInt(Math.floor(objekt['x'] - x_anf)); var y_obj =3D parseInt(Math.floor(objekt['y'] - y_anf)); =20 @@ -778,6 +816,10 @@ // Ebenen entsprechen ein- oder ausblenden hide_poi_panorama(); hide_poi_luftbild(); + + n_profil =3D {}; + display_selected_contract(); + show_page("uebersicht"); document.getElementById("qmDetail").style.visibility =3D "hidden"; document.getElementById("PoiDetail").style.visibility =3D "hidden"; @@ -785,7 +827,7 @@ document.getElementById("UebersichtPosition").style.visibility =3D "hidd= en"; document.getElementById("Ueberschrift").innerHTML =3D start_ueberschrift; document.getElementById("Untertitel").innerHTML =3D "";=09 - schreibe_debugger("
-> Uebersicht anzeigen"); =09 + dbg("
-> Uebersicht anzeigen"); =09 return true; } =20 @@ -896,7 +938,7 @@ x_anf =3D Math.max(0, Math.round((the_poi['x'] - 180) / 90) * 90); y_anf =3D Math.min(10440, Math.round((the_poi['y'] - 180) / 90) * 90); =20 - schreibe_debugger("
-> Kacheln laden"); + dbg("
-> Kacheln laden"); // Kacheln von Server holen und dem entsprechenden Bild zuordnen=09 for (var x =3D 0; x < 4; x++) { for (var y =3D 0; y < 4; y++) { @@ -964,7 +1006,7 @@ document.getElementById("Uebersicht").style.visibility =3D "hidden"; document.getElementById("PoiDetail").style.visibility =3D "visible";=09 document.getElementById("UebersichtPosition").style.visibility =3D "visi= ble"; - schreibe_debugger("
-> POI-Detailansicht anzeigen"); + dbg("
-> POI-Detailansicht anzeigen"); return true; } =20 @@ -986,7 +1028,7 @@ document.getElementById("PoiInfoText").innerHTML =3D poi[aktuelles_obje= kt]['imagetext'][bild - 1]; =09 document.getElementById("Ueberschrift").innerHTML =3D poi[aktuelles_obje= kt]['imageueberschrift'][bild - 1]; document.getElementById("Untertitel").innerHTML =3D poi[aktuelles_objekt= ]['imageuntertitel'][bild - 1]; - schreibe_debugger("
-> POI-Foto-Detailansicht anzeigen"); + dbg("
-> POI-Foto-Detailansicht anzeigen"); return true; } =20 @@ -1016,17 +1058,19 @@ =20 for (var x =3D 0; x < 4; x++) { for (var y =3D 0; y < 4; y++) { - var img =3D eval("document.qmimg" + (x + 1) + "" + (y + 1)); - img.src =3D http_pfad + "/overview/" + (x_anf + (x * 90 )) + "/" + (y_a= nf + (y * 90 )) + "/" + active_layer_names().join("/"); + =20 + var img =3D document["qmimg" + (x + 1) + "" + (y + 1)]; + img.src =3D http_pfad + "/overview/" + (x_anf + (x * 90)) + "/" + (y_an= f + (y * 90)) + "/" + active_layer_names().join("/"); =20 - var img =3D eval("document.qmlupe" + (x + 1) + "" + (y + 1)); - img.src =3D http_pfad + "/overview/" + (x_anf + (x * 90 )) + "/" + (y_a= nf + (y * 90 )) + "/" + active_layer_names().join("/"); + var img =3D document["qmlupe" + (x + 1) + "" + (y + 1)]; + img.src =3D http_pfad + "/overview/" + (x_anf + (x * 90)) + "/" + (y_an= f + (y * 90)) + "/" + active_layer_names().join("/"); =20 } } } =09 -function qmDetail_anzeigen(x_koord, y_koord, objekt) { +function qmDetail_anzeigen(x_koord, y_koord, objekt) +{ // Funktion zum Anzeigen der "meine qm" Karte // Funktion zur Anzeige der POIs im Detail aktuelles_objekt =3D objekt; @@ -1035,20 +1079,21 @@ // alte Kacheln loeschen for (var x =3D 0; x < 4; x++) { for (var y =3D 0; y < 4; y++) { - var img =3D eval("document.img" + (x + 1) + "" + (y + 1)); + var img =3D document["img" + (x + 1) + "" + (y + 1)]; img.src =3D "/infosystem/bilder/spacer.gif"; =20 - var img =3D eval("document.qmlupe" + (x + 1) + "" + (y + 1)); + var img =3D document["qmlupe" + (x + 1) + "" + (y + 1)]; img.src =3D "/infosystem/bilder/spacer.gif"; } } =09 - // Koordinaten auf einen geraden Wert innerhalb des Rasters rechen (es s= ind nur Vielfache von 90 gueltig), - // Startwert der Kacheln ermitteln + // Koordinaten auf einen geraden Wert innerhalb des Rasters + // umrechnen (es sind nur Vielfache von 90 gueltig), Startwert der + // Kacheln ermitteln x_anf =3D Math.max(0, Math.round((x_koord - 180) / 90) * 90); y_anf =3D Math.min(10440, Math.round((y_koord - 180) / 90) * 90); =09 - schreibe_debugger("
-> Kacheln laden (" + x_anf + " / " + y_anf + "= )"); =09 + dbg("
-> Kacheln laden (" + x_anf + " / " + y_anf + ")"); =09 // Kacheln von Server holen und dem entsprechenden Bild zuordnen =20 load_sqm_tiles(x_anf, y_anf); @@ -1058,14 +1103,14 @@ var loeschen =3D eval("document.getElementById('qm" + i + "')"); document.getElementById("qmAusschnitt").removeChild(loeschen); } - schreibe_debugger("
-> " + erzeugte_zeilen + " zeilen geloescht"); + dbg("
-> " + erzeugte_zeilen + " zeilen geloescht"); =20 // qm loeschen for (var i =3D 1; i <=3D erzeugte_positionen; i++) { var loeschen =3D eval("document.getElementById('pos" + i + "')"); document.getElementById("qmDetailKarte").removeChild(loeschen); } - schreibe_debugger("
-> " + erzeugte_positionen + " Positionen geloe= scht"); + dbg("
-> " + erzeugte_positionen + " Positionen geloescht"); =20 x_obj =3D parseInt(Math.floor(x_koord - x_anf)); y_obj =3D parseInt(Math.floor(y_koord - y_anf)); @@ -1087,8 +1132,8 @@ =09 i++; }=09 - schreibe_debugger("
-> " + erzeugte_positionen + " Quadratmeterpositio= nen"); - schreibe_debugger("
-> " + erzeugte_zeilen + " zeilen fuer Quadratmete= r eingezeichnet"); + dbg("
-> " + erzeugte_positionen + " Quadratmeterpositionen"); + dbg("
-> " + erzeugte_zeilen + " zeilen fuer Quadratmeter eingezeichne= t"); =09 } // setzen des Positionskaestchens auf der kleinen =EF=BF=BDbersichtskart= e=09 @@ -1111,7 +1156,7 @@ + '
' + msg('Land') + ':' + profil['country'] + '
' + msg('gesponsort') = + ':' + profil['anzahl'] + ' m=C2=B2
' + msg('seit') + ':' + qm[aktuelles_objekt]['datum'] + '
' + msg('seit') + ':' + qm[aktuelles_objekt]['date'] + '
' + profil['nachricht= '] + '
'; @@ -1151,7 +1196,11 @@ element.onmousedown =3D maus_gedrueckt; element.onmouseup =3D maus_losgelassen; =20 - schreibe_debugger("
-> qm-Detailansicht anzeigen"); + if (profil.contracts) { + display_own_sqm(); + } + + dbg("
-> qm-Detailansicht anzeigen"); return true; } =20 Modified: branches/xml-class-rework/projects/bos/worldpay-test/contract-image= -handler.lisp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handl= er.lisp 2006-10-14 13:23:45 UTC (rev 1994) +++ branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handl= er.lisp 2006-10-15 08:58:32 UTC (rev 1995) @@ -12,19 +12,19 @@ rectangular image will have the size of the contracts' bounding box. All square meters will have yellow color, the background will be transparent= ." (destructuring-bind (left top width height) (contract-bounding-box contrac= t) - (cl-gd:with-image* (width height) - (setf (cl-gd:transparent-color) (cl-gd:allocate-color 0 0 0)) - ;; We manipulate pixels in a temporary array which is copied to the GD= image as - ;; a whole for performance reasons. The FFI is way too slow to manipu= late individual pixels. - (let ((work-array (make-array (list width height) :element-type 'fixnu= m :initial-element 0)) - (yellow (cl-gd:allocate-color 255 255 0))) - (flet ((set-pixel (x y) - (decf x left) - (decf y top) - (setf (aref work-array x y) yellow))) - (dolist (m2 (contract-m2s contract)) - (set-pixel (m2-x m2) (m2-y m2)))) - (cl-gd:do-rows (y) - (cl-gd:do-pixels-in-row (x) - (setf (cl-gd:raw-pixel) (aref work-array x y))))) - (emit-image-to-browser req cl-gd:*default-image* :png)))) + (cl-gd:with-image* (width height) + (setf (cl-gd:transparent-color) (cl-gd:allocate-color 0 0 0)) + ;; We manipulate pixels in a temporary array which is copied to the GD imag= e as + ;; a whole for performance reasons. The FFI is way too slow to manipulate = individual pixels. + (let ((work-array (make-array (list width height) :element-type 'fixnum :in= itial-element 0)) + (color (parse-color (or (second (decoded-handler-path handler req)) "= ffff00")))) + (flet ((set-pixel (x y) + (decf x left) + (decf y top) + (setf (aref work-array x y) color))) + (dolist (m2 (contract-m2s contract)) + (set-pixel (m2-x m2) (m2-y m2)))) + (cl-gd:do-rows (y) + (cl-gd:do-pixels-in-row (x) + (setf (cl-gd:raw-pixel) (aref work-array x y))))) + (emit-image-to-browser req cl-gd:*default-image* :png :cache-sticky t)))) \ No newline at end of file Modified: branches/xml-class-rework/projects/bos/worldpay-test/reports-xml-ha= ndler.lisp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/xml-class-rework/projects/bos/worldpay-test/reports-xml-handler.= lisp 2006-10-14 13:23:45 UTC (rev 1994) +++ branches/xml-class-rework/projects/bos/worldpay-test/reports-xml-handler.= lisp 2006-10-15 08:58:32 UTC (rev 1995) @@ -20,8 +20,8 @@ =20 (defmethod handle ((handler reports-xml-handler) req) (with-xml-response req - (destructuring-bind (name *year* &rest arguments) (decoded-handler-path = handler req) - (setf *year* (parse-integer *year*)) + (destructuring-bind (name &optional *year* &rest arguments) (decoded-han= dler-path handler req) + (setf *year* (and *year* (parse-integer *year*))) (let ((*contracts-to-process* (sort (remove-if (lambda (contract) (or (not (contract-paidp contract)) (and *year* @@ -37,6 +37,7 @@ (defreport all-contracts () (dolist (contract *contracts-to-process*) (with-element "contract" + (attribute "universal-time" (contract-date contract)) (attribute "date-time" (format-date-time (contract-date contract) :xml= -style t)) (attribute "country" (sponsor-country (contract-sponsor contract))) (attribute "sqm-count" (length (contract-m2s contract)))))) --===============4623300601740002081==--