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/satellitenkarte.htm
branches/xml-class-rework/projects/bos/payment-website/infosystem/en/satellitenkarte.htm
branches/xml-class-rework/projects/bos/payment-website/infosystem/javascript.js
branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handler.lisp
branches/xml-class-rework/projects/bos/worldpay-test/reports-xml-handler.lisp
Log:
Contract clipping fixed for IE, not yet finished though.
Modified: branches/xml-class-rework/projects/bos/build.lisp
===================================================================
--- 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 @@
(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/de/satellitenkarte.htm
===================================================================
--- branches/xml-class-rework/projects/bos/payment-website/infosystem/de/satellitenkarte.htm 2006-10-14 13:23:45 UTC (rev 1994)
+++ branches/xml-class-rework/projects/bos/payment-website/infosystem/de/satellitenkarte.htm 2006-10-15 08:58:32 UTC (rev 1995)
@@ -5,6 +5,7 @@
<head>
<title>Satellitenkarte - Samboja Lestari</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" charset="utf-8" />
+ <meta http-equiv="imagetoolbar" content="no"/>
<link href="../satellitenkarte_style.css" rel="stylesheet"/>
<script language="JavaScript" type="text/JavaScript" src="messages.js"></script>
@@ -313,6 +314,9 @@
<div id="selected_contract" style="position:absolute; z-index:10; visibility: inherit;">
<img id="selected_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
</div>
+ <div id="own_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="own_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
<div id="LayersMenu" class="KarteRahmen" style="position: absolute; bottom: 31px; right: 1px; z-index: 15; visibility: inherit;">
<table width="90" border="0" cellspacing="0" cellpadding="0">
<tr>
@@ -401,6 +405,12 @@
"verkaufte" m²
</div>
<div id="qmAusschnitt" style="position:absolute; width:200px; height:115px; z-index:7; left: 172px; top: 512px; visibility: inherit;">
+ <div id="lupe_selected_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="lupe_selected_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
+ <div id="lupe_own_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="lupe_own_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
<table width="1800" height="1800" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img name="qmlupe11" width="450" height="450" id="qmlupe11"/></td>
Modified: branches/xml-class-rework/projects/bos/payment-website/infosystem/en/satellitenkarte.htm
===================================================================
--- branches/xml-class-rework/projects/bos/payment-website/infosystem/en/satellitenkarte.htm 2006-10-14 13:23:45 UTC (rev 1994)
+++ branches/xml-class-rework/projects/bos/payment-website/infosystem/en/satellitenkarte.htm 2006-10-15 08:58:32 UTC (rev 1995)
@@ -5,6 +5,7 @@
<head>
<title>Satellite View - Samboja Lestari</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" charset="utf-8" />
+ <meta http-equiv="imagetoolbar" content="no"/>
<link href="../satellitenkarte_style.css" rel="stylesheet"/>
<script language="JavaScript" type="text/JavaScript" src="messages.js"></script>
@@ -304,6 +305,12 @@
<div id="qmDetail" style="position:absolute; width:1px; height:1; z-index:4; left: 0px; top: 0px; visibility: hidden;">
<div id="qmDetailKarte" style="position:absolute; width:360px; height:390px; z-index:1; left: 169px; top: 100px; visibility: inherit;" class="KarteRahmen">
<div id="qmLupe" style="position:absolute; width:36px; height:24px; z-index:11; visibility: inherit;"><img src="../bilder/lupe.gif" width="36" height="24"/></div>
+ <div id="selected_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="selected_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
+ <div id="own_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="own_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
<div id="LayersMenu" class="KarteRahmen" style="position: absolute; bottom: 31px; right: 1px; z-index: 15; visibility: inherit;">
<table width="90" border="0" cellspacing="0" cellpadding="0">
<tr>
@@ -392,6 +399,12 @@
"sold" m²
</div>
<div id="qmAusschnitt" style="position:absolute; width:200px; height:115px; z-index:7; left: 172px; top: 512px; visibility: inherit;">
+ <div id="lupe_selected_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="lupe_selected_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
+ <div id="lupe_own_contract" style="position:absolute; z-index:10; visibility: inherit;">
+ <img id="lupe_own_contract_img" src="../bilder/spacer.gif" width="1" height="1"/>
+ </div>
<table width="1800" height="1800" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img name="qmlupe11" width="450" height="450" id="qmlupe11"/></td>
Modified: branches/xml-class-rework/projects/bos/payment-website/infosystem/javascript.js
===================================================================
--- branches/xml-class-rework/projects/bos/payment-website/infosystem/javascript.js 2006-10-14 13:23:45 UTC (rev 1994)
+++ branches/xml-class-rework/projects/bos/payment-website/infosystem/javascript.js 2006-10-15 08:58:32 UTC (rev 1995)
@@ -1,11 +1,14 @@
// JavaScript Document -*- Java -*-
+// Originally written by Matthias, Systemtakt neue Medien GbR
+// This program needs a lot of refactoring.
+
// XXX bei klick auf übersichtskarte bleiben die links der poi-thumbnails aktiv
// XXX beim schliessen des opener-fensters funktioniert "m2 kaufen" nicht mehr
// Debugger anzeigen?
-var show_debugger = false;
+var show_debugger = true;
// var http_pfad = "http:// createrainforest.org:8080";
var http_pfad = "";
@@ -77,7 +80,7 @@
}
}
-function schreibe_debugger(text) {
+function dbg(text) {
// Schriebt einen Text in die Debugger-Ebene
debugger_text = debugger_text + text;
document.getElementById("debugger").innerHTML = debugger_text;
@@ -132,7 +135,7 @@
close();
}
- schreibe_debugger("<br/> init() <br/>");
+ dbg("<br/> init() <br/>");
// initialisierung startet die Ladefuntkionen
// parst den URL-String und trennt logout, sponsorid und passwort
// Debugger anzeigen oder ausblenden
@@ -153,7 +156,7 @@
timer = 0;
- schreibe_debugger("<br/> -> lade POI");
+ dbg("<br/> -> lade POI");
poicomplete = false;
window.frames['data'].window.location.replace(http_pfad + "/poi-javascript");
poi_warten(); // starten der Wartenfunktion
@@ -179,7 +182,7 @@
// poicomplet ist dei letzte Variable im Script daher wenn sie gesetzt ist 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 oder die Punkterzeugung gestartet
- schreibe_debugger("<br/> -> <b>POI geladen! login: " + login + "</b>");
+ dbg("<br/> -> <b>POI geladen! login: " + login + "</b>");
document.getElementById("Info3Text").innerHTML = '<b>' + msg('Anzahl Sponsoren') + '</b><br />'
+ anzahlSponsoren
+ '<br /><br /><b>' + msg('Anzahl verkaufte m²') + '</b><br />'
@@ -189,14 +192,16 @@
}
UebersichtNavi();
qm_zusammenfassen();
+ icon_versatz();
+ poi_faehnchen_erzeugen();
} else {
// wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht und die Funktion nochmal gestartet
timer++;
if (timer < 100) {
- schreibe_debugger(".");
+ dbg(".");
setTimeout("poi_warten()", 100);
} else {
- schreibe_debugger("<br/> -> <b>POI konnten nicht geladen werden</b>");
+ dbg("<br/> -> <b>POI konnten nicht geladen werden</b>");
alert(msg('Fehler beim Laden der POI-Informationen, bitte probieren Sie es später noch einmal'));
}
}
@@ -229,7 +234,7 @@
loginstatus = undefined;
window.frames['data'].window.location.replace(url);
- schreibe_debugger("<br/> -> lade Login-Status - url ist " + url + '<br/>');
+ dbg("<br/> -> lade Login-Status - url ist " + url + '<br/>');
login_warten(); // Wartefunktion starten
@@ -246,23 +251,23 @@
// wenn loginstatus gesetzt ist ist das Ende erreicht
if (loginstatus) {
- schreibe_debugger("<br/> -> <b>Login-Status geladen: " + loginstatus + "</b>");
+ dbg("<br/> -> <b>Login-Status geladen: " + loginstatus + "</b>");
// wenn loginstatus gesetzt ist wir timer auf Null gesetzt
// wenn lohinstatus = "login-failed" ist wird eine Fehlermeldung eingeblendet
if (loginstatus == "not-logged-in") {
- schreibe_debugger("<br/> -> <b>nicht eingeloggt!</b>");
+ dbg("<br/> -> <b>nicht eingeloggt!</b>");
}
if (loginstatus == "login-failed") {
document.getElementById("Loginfehler").style.visibility = 'visible';
- schreibe_debugger("<br/> -> <b>Login fehlgeschlagen!</b>");
+ dbg("<br/> -> <b>Login fehlgeschlagen!</b>");
}
// wenn lohinstatus = "logged-in" ist wird das Anmeldefeld ausgelendet, das Logoutfeld eingeblendet und die Sponsorid angezeigt
// danach werden die Punkte erzuegt und die Quadratmeter geladen
if (loginstatus == "logged-in") {
document.getElementById("Anmelden").style.visibility = "hidden";
document.getElementById("SponsorInfo").style.visibility = "visible";
- schreibe_debugger("<br/> -> <b>Login erfolgreich!</b>");
+ dbg("<br/> -> <b>Login erfolgreich!</b>");
} else {
document.getElementById("Anmelden").style.visibility = "visible";
document.getElementById("SponsorInfo").style.visibility = "hidden";
@@ -273,10 +278,10 @@
// wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht und die Funktion nochmal gestartet
timer++;
if (timer < 100) {
- schreibe_debugger(".");
+ dbg(".");
setTimeout("login_warten()", 100);
} else {
- schreibe_debugger("<br/> -> <b>Loginstatus konnten nicht geladen werden</b>");
+ dbg("<br/> -> <b>Loginstatus konnten nicht geladen werden</b>");
}
}
return true;
@@ -285,7 +290,7 @@
function ausloggen() {
// Seesion loeschen -> ausloggen
window.frames['data'].window.location.replace(http_pfad + "/logout");
- schreibe_debugger("<br/> -> ausloggen");
+ dbg("<br/> -> ausloggen");
qm_laden();
return true;
}
@@ -296,12 +301,11 @@
timer = 0;
profil_variable = 'profil';
- qm_variable = 'qm';
m2complete = false;
window.frames['data'].window.location.replace(http_pfad + "/m2-javascript/");
- schreibe_debugger("<br/> -> lade Quadratmeter ");
+ dbg("<br/> -> 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 ist ist das Ende erreicht
if (m2complete) {
- // wenn m2complete gelden ist wird qm_erzeugen() gestartet und der timer auf Null gesetzt
- schreibe_debugger("<br/> -> <b>Quadratmeter geladen!</b>");
+ dbg("<br/> -> <b>Quadratmeter geladen!</b>");
poi_laden();
} else {
// wenn der Datensatz noch nicht komplett geladen ist wird der timer eroeht und die Funktion nochmal gestartet
timer++;
if (timer < 100) {
- schreibe_debugger(".");
+ dbg(".");
setTimeout("qm_warten()", 100);
} else {
- schreibe_debugger("<br/> -> <b>qm konnten nicht geladen werden</b>");
+ dbg("<br/> -> <b>qm konnten nicht geladen werden</b>");
}
}
return true;
}
var profil_variable;
-var qm_variable;
-function qm_fertig(_profil, _qms) {
+function qm_fertig(_profil) {
if (_profil) {
eval(profil_variable + " = _profil;");
- eval(qm_variable + " = _qms;");
}
m2complete = true;
}
@@ -344,19 +345,16 @@
// der Datensatz wird vorher auf Nullwerte gesetzt damit fals keine Daten in der URL enthalten sind der Quadratmeter als unverkauft angezeigt wird
m2complete = false;
timer=0;
- n_profil = [];
- n_profil['name'] = msg("noch nicht verkauft");
- n_profil['country'] = "";
- n_profil['anzahl'] = 0;
- n_profil['datum'] = "";
- n_profil['nachricht'] = "";
+ n_profil = {
+ name: msg("noch nicht verkauft")
+ };
profil_variable = 'n_profil';
m2complete = false;
window.frames['data'].window.location.replace(http_pfad + "/m2-javascript/" + fremd_x + "/" + fremd_y);
n_qm_warten(); // Wartefunktion starten
- schreibe_debugger("<br/> -> lade Nachbar-Quadratmeter (" + fremd_x + "/" + fremd_y + ")");
+ dbg("<br/> -> lade Nachbar-Quadratmeter (" + fremd_x + "/" + fremd_y + ")");
return true;
}
@@ -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 ist 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 = 0;
- schreibe_debugger("<br/> -> <b>Nachbar-Quadratmeter geladen!</b>");
+ dbg("<br/> -> <b>Nachbar-Quadratmeter geladen!</b>");
// text fuer das Nachbarprofil wird zusammengesetzt
if (n_profil['name'] == msg("noch nicht verkauft")) {
var text = '<table width="155" border="0" cellspacing="0" cellpadding="0"><tr><td colspan="2" class="PoiNavigation">'
@@ -385,7 +383,7 @@
+ '<tr> <td width="60" class="PoiNavigation">' + msg('gesponsort') + ':</td><td class="PoiNavigation">'
+ n_profil['anzahl']
+ ' m²</td></tr><tr> <td width="60" class="PoiNavigation">'
- // + msg('seit') + ':</td><td class="PoiNavigation">' + 'XXX FIXME!' // n_qm[1]['datum']
+ + msg('seit') + ':</td><td class="PoiNavigation">' + n_profil.contracts[0].date
+ '</td></tr><tr> <td colspan="2" class="PoiNavigation"><img src="/infosystem/bilder/spacer.gif" width="1" height="20"/></td></tr>'
+ '<tr> <td colspan="2" class="PoiNavigation">'
+ n_profil['nachricht']
@@ -393,46 +391,93 @@
}
// Inhalt der Ueberschrift und des Infotextes werden gesetzt
document.getElementById("qmLaden").style.visibility = "hidden";
- if (true) { // XXX FIXME!
+ if (n_profil.contracts) {
document.getElementById("Ueberschrift").innerHTML = msg("Verkaufte m²");
} else {
document.getElementById("Ueberschrift").innerHTML = msg("zu verkaufen!");
}
document.getElementById("qmInfoText").innerHTML = 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
timer++;
if (timer < 100) {
setTimeout("n_qm_warten()", 100);
} else {
- document.getElementById("qmLaden").style.visibility = "hidden"; schreibe_debugger("<br/> -> <b>Nachbar-Quadratmeter konnten nicht geladen werden</b>");
+ document.getElementById("qmLaden").style.visibility = "hidden"; dbg("<br/> -> <b>Nachbar-Quadratmeter konnten nicht geladen werden</b>");
}
}
return true;
}
-function n_qm_erzeugen() {
- // Erzeugen der Nachbarquadratmeter
- var selected_contract_img = document.getElementById('selected_contract_img');
+function load_contract_image(contract, image, factor, color)
+{
+ var container = image.parentNode;
+
+ if (!color) {
+ color = 'ffff00';
+ }
+
+ container.style.visibility = 'hidden';
+ image.onload = function () {
+ this.parentNode.style.visibility = 'inherit';
+ }
+ image.src = '/contract-image/' + contract.id + '/' + color;
+ image.width = contract.width * factor;
+ image.height = contract.height * factor;
+
+ // falls der Vertrag aus dem angezeigten Bereich herausragt, wird das bild entsprechend geclipped.
+ // XXX fixme das ist noch nicht "ganz" fertig hier *hüstel*
+ if ((contract.left + contract.width - x_anf) > 360) {
+ container.style.clip
+ = 'rect(0px '
+ + (contract.width - (contract.left + contract.width - x_anf - 360)) * factor + 'px '
+ + (contract.height - (contract.top + contract.height - y_anf - 360)) * factor + 'px '
+ + '0px)';
+ } else {
+ container.style.clip = 'rect(auto auto auto auto)';
+ }
+
+ container.style.left = (contract.left - x_anf) * factor + 'px';
+ container.style.top = (contract.top - y_anf) * factor + 'px';
+
+}
+
+function display_selected_contract()
+{
+ // Anzeigen der ausgewählten Nachbarquadratmeter
+
if (n_profil.contracts) {
var contract = n_profil.contracts[0];
- selected_contract_img.src = '/contract-image/' + contract.id;
- selected_contract_img.width = contract.width;
- selected_contract_img.height = contract.height;
-
- document.getElementById('selected_contract').style.left = (contract.left - x_anf) + 'px';
- document.getElementById('selected_contract').style.top = (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 = '../bilder/spacer.gif';
+ document.getElementById('selected_contract_img').src = '../bilder/spacer.gif';
+ document.getElementById('lupe_selected_contract_img').src = '../bilder/spacer.gif';
}
}
+function display_own_sqm()
+{
+ var contract = profil.contracts[0];
+ var img = document.getElementById('own_contract_img');
+ var enlarged_image = 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�hnchen zu einem F�hnchen.
- // es wird gepr�ft, ob sich auf der Detailkarte des qm noch mehr qm azeigen lassen dadurch wird die Darstellung der F�hnchen vereinfacht
+ // es wird gepr�ft, ob sich auf der Detailkarte des qm noch mehr qm anzeigen lassen dadurch wird die Darstellung der F�hnchen vereinfacht
+ return;
+
var i=1;
while (qm[i]) {
var qmV = qm[i];
@@ -471,7 +516,6 @@
}
i++;
}
- icon_versatz();
return true;
}
@@ -532,20 +576,14 @@
index++;
i++;
}
- var i=1;
- while (qm[i]) {
- if (qm[i]['status'] == "mitte") {
- var qmV = qm[i];
- var uebV = uebersicht_icons[index];
- uebersicht_icons[index] = new Array;
- uebersicht_icons[index]['x'] = qmV['x'];
- uebersicht_icons[index]['y'] = qmV['y'];
- uebersicht_icons[index]['icon'] = "qm";
- uebersicht_icons[index]['name'] = msg("meine m²");
- uebersicht_icons[index]['id'] = i;
- }
- index++;
- i++;
+ if (profil.contracts) {
+ var contract = profil.contracts[0];
+ uebersicht_icons[index++] = {
+ x: contract.left,
+ y: contract.top,
+ icon: 'qm',
+ name: msg("meine m²")
+ };
}
var i=1;
@@ -556,7 +594,7 @@
var vergleichV_x = uebersicht_icons[j]['x'] + 240;
var vergleichV_y = uebersicht_icons[j]['y'] + 240;
versatz = kollisonsabfrage(uebV_x + 240, uebV_y + 240, vergleichV_x, vergleichV_y);
- // if (versatz[0]) {schreibe_debugger("<br/> -> POI[" + i + "] Richtungsaenderungvorschlag: " + versatz[0]);}
+ // if (versatz[0]) {dbg("<br/> -> POI[" + i + "] Richtungsaenderungvorschlag: " + versatz[0]);}
var test = new Array;
test[0] = versatz[0];
var versatz_index = versatz[0] + 1;
@@ -567,7 +605,7 @@
versatz_index--;
if (versatz_index < 1) {versatz_index = 4;}
k++;
- // schreibe_debugger("<br/> -> Richtungsaenderungstest bei " + versatz_index + " Fehler: " + richtungsfehler);
+ // dbg("<br/> -> Richtungsaenderungstest bei " + versatz_index + " Fehler: " + richtungsfehler);
if (versatz_index == 1) {
richtungsfehler = false;
@@ -578,7 +616,7 @@
test = kollisonsabfrage(((uebV_x + 240) + versatz[versatz_index]), (uebV_y + 240) , testV_x, testV_y);
if (test[0] != 0) {
richtungsfehler = true;
- // schreibe_debugger("<br/> -> Kollision mit " + l);
+ // dbg("<br/> -> Kollision mit " + l);
}
}
}
@@ -593,7 +631,7 @@
test = kollisonsabfrage((uebV_x + 240), ((uebV_y + 240) + versatz[versatz_index]), testV_x, testV_y);
if (test[0] != 0) {
richtungsfehler = true;
- // schreibe_debugger("<br/> -> Kollision mit " + l);
+ // dbg("<br/> -> Kollision mit " + l);
}
}
}
@@ -608,7 +646,7 @@
test = kollisonsabfrage(((uebV_x + 240) + versatz[versatz_index]), (uebV_y + 240) , testV_x, testV_y);
if (test[0] != 0) {
richtungsfehler = true;
- // schreibe_debugger("<br/> -> Kollision mit " + l);
+ // dbg("<br/> -> Kollision mit " + l);
}
}
}
@@ -623,7 +661,7 @@
test = kollisonsabfrage((uebV_x + 240), ((uebV_y + 240) + versatz[versatz_index]), testV_x, testV_y);
if (test[0] != 0) {
richtungsfehler = true;
- // schreibe_debugger("<br/> -> Kollision mit " + l);
+ // dbg("<br/> -> Kollision mit " + l);
}
}
}
@@ -636,7 +674,7 @@
if (versatz_index == 2) {uebersicht_icons[i]['y'] = uebersicht_icons[i]['y'] + versatz[versatz_index];}
if (versatz_index == 3) {uebersicht_icons[i]['x'] = uebersicht_icons[i]['x'] + versatz[versatz_index];}
if (versatz_index == 4) {uebersicht_icons[i]['y'] = uebersicht_icons[i]['y'] + versatz[versatz_index];}
- // schreibe_debugger("<br/> -> versetze POI[" + i + "] durch POI[" + j + "] nach " + versatz_index + " um " + versatz[versatz_index] + "<br/>");
+ // dbg("<br/> -> versetze POI[" + i + "] durch POI[" + j + "] nach " + versatz_index + " um " + versatz[versatz_index] + "<br/>");
uebV_x = uebersicht_icons[i]['x'];
uebV_y = uebersicht_icons[i]['y'];
}
@@ -644,11 +682,9 @@
}
i++;
}
-
- pkt_erzeugen();
}
-function pkt_erzeugen() {
+function poi_faehnchen_erzeugen() {
// Erzeugen der Faehnchen fuer die POI, der array wird durchlaufen und die entsprechenden Informationen in Ebenen dargestellt
var i = 1;
while (uebersicht_icons[i]) {
@@ -660,8 +696,10 @@
var x = parseInt(Math.round(uebersicht_icons[i]['x'] / 30) + 170 - 8);
var y = parseInt(Math.round(uebersicht_icons[i]['y'] / 30) + 101 - 8);
-
- if (y > 360 + 99 - 13) (y = 360 + 99 -13);
+ // "aha!"
+ if (y > 360 + 99 - 13) {
+ y = 360 + 99 - 13;
+ }
// definieren der Styles
neueebene.style.position="absolute";
@@ -674,24 +712,24 @@
neueebene.align = "left";
var faehnchentext = msg(uebersicht_icons[i]['name']);
- var index = uebersicht_icons[i]['id'];
if (uebersicht_icons[i]['icon'] == "sale") {
+ var index = uebersicht_icons[i]['id'];
neueebene.innerHTML = '<a href="#" onClick="qmDetail_anzeigen(' + poi[index]['x'] + ', ' + poi[index]['y'] + ', 0);" class="FaehnchenLink" onMouseOver="faehnchen_einblenden(' + (x + 17) + ', ' + y + ', "' + faehnchentext + '")" onMouseOut="faehnchen_ausblenden();"><img src="/images/' + uebersicht_icons[i]['icon'] + '.gif" border="0"/></a>';
} else if (uebersicht_icons[i]['icon'] == "qm") {
- neueebene.innerHTML = '<a href="#" onClick="qmDetail_anzeigen(' + qm[index]['x'] + ', ' + qm[index]['y'] + ',' + index + ');" onMouseOver="faehnchen_einblenden(' + (x + 17) + ', ' + y + ', "' + faehnchentext + '")" onMouseOut="faehnchen_ausblenden();"><img src="/images/qm.gif" border="0"/></a>';
+ neueebene.innerHTML = '<a href="#" onClick="qmDetail_anzeigen(' + profil.contracts[0].left + ', ' + profil.contracts[0].top + ', 0);" onMouseOver="faehnchen_einblenden(' + (x + 17) + ', ' + y + ', "' + faehnchentext + '")" onMouseOut="faehnchen_ausblenden();"><img src="/images/qm.gif" border="0"/></a>';
} else {
neueebene.innerHTML = '<a href="#" onClick="PoiDetail_anzeigen(' + uebersicht_icons[i]['id'] + ');" class="FaehnchenLink" onMouseOver="faehnchen_einblenden(' + (x + 17) + ', ' + y + ', "' + faehnchentext + '")" onMouseOut="faehnchen_ausblenden();"><img src="/images/' + uebersicht_icons[i]['icon'] + '.gif" border="0" /></a>';
}
i++;
}
- schreibe_debugger("<br/> -> <b>" + (i-1) + " Faehnchen erzeugt</b>");
+ dbg("<br/> -> <b>" + (i-1) + " Faehnchen erzeugt</b>");
return true;
}
function poi_pos_setzen(objekt, i) {
// qm setzen
- schreibe_debugger("<br> -> Position gestezt");
+ dbg("<br> -> Position gestezt");
var x_obj = parseInt(Math.floor(objekt['x'] - x_anf));
var y_obj = parseInt(Math.floor(objekt['y'] - y_anf));
@@ -710,7 +748,7 @@
function qm_pos_setzen(objekt, i) {
// qm setzen
- schreibe_debugger("<br> -> Position gestezt");
+ dbg("<br> -> Position gestezt");
var x_obj = parseInt(Math.floor(objekt['x'] - x_anf));
var y_obj = parseInt(Math.floor(objekt['y'] - y_anf));
@@ -778,6 +816,10 @@
// Ebenen entsprechen ein- oder ausblenden
hide_poi_panorama();
hide_poi_luftbild();
+
+ n_profil = {};
+ display_selected_contract();
+
show_page("uebersicht");
document.getElementById("qmDetail").style.visibility = "hidden";
document.getElementById("PoiDetail").style.visibility = "hidden";
@@ -785,7 +827,7 @@
document.getElementById("UebersichtPosition").style.visibility = "hidden";
document.getElementById("Ueberschrift").innerHTML = start_ueberschrift;
document.getElementById("Untertitel").innerHTML = "";
- schreibe_debugger("<br/> -> <b>Uebersicht anzeigen</b>");
+ dbg("<br/> -> <b>Uebersicht anzeigen</b>");
return true;
}
@@ -896,7 +938,7 @@
x_anf = Math.max(0, Math.round((the_poi['x'] - 180) / 90) * 90);
y_anf = Math.min(10440, Math.round((the_poi['y'] - 180) / 90) * 90);
- schreibe_debugger("<br/> -> Kacheln laden");
+ dbg("<br/> -> Kacheln laden");
// Kacheln von Server holen und dem entsprechenden Bild zuordnen
for (var x = 0; x < 4; x++) {
for (var y = 0; y < 4; y++) {
@@ -964,7 +1006,7 @@
document.getElementById("Uebersicht").style.visibility = "hidden";
document.getElementById("PoiDetail").style.visibility = "visible";
document.getElementById("UebersichtPosition").style.visibility = "visible";
- schreibe_debugger("<br/> -> <b>POI-Detailansicht anzeigen</b>");
+ dbg("<br/> -> <b>POI-Detailansicht anzeigen</b>");
return true;
}
@@ -986,7 +1028,7 @@
document.getElementById("PoiInfoText").innerHTML = poi[aktuelles_objekt]['imagetext'][bild - 1];
document.getElementById("Ueberschrift").innerHTML = poi[aktuelles_objekt]['imageueberschrift'][bild - 1];
document.getElementById("Untertitel").innerHTML = poi[aktuelles_objekt]['imageuntertitel'][bild - 1];
- schreibe_debugger("<br/> -> <b>POI-Foto-Detailansicht anzeigen</b>");
+ dbg("<br/> -> <b>POI-Foto-Detailansicht anzeigen</b>");
return true;
}
@@ -1016,17 +1058,19 @@
for (var x = 0; x < 4; x++) {
for (var y = 0; y < 4; y++) {
- var img = eval("document.qmimg" + (x + 1) + "" + (y + 1));
- img.src = http_pfad + "/overview/" + (x_anf + (x * 90 )) + "/" + (y_anf + (y * 90 )) + "/" + active_layer_names().join("/");
+
+ var img = document["qmimg" + (x + 1) + "" + (y + 1)];
+ img.src = http_pfad + "/overview/" + (x_anf + (x * 90)) + "/" + (y_anf + (y * 90)) + "/" + active_layer_names().join("/");
- var img = eval("document.qmlupe" + (x + 1) + "" + (y + 1));
- img.src = http_pfad + "/overview/" + (x_anf + (x * 90 )) + "/" + (y_anf + (y * 90 )) + "/" + active_layer_names().join("/");
+ var img = document["qmlupe" + (x + 1) + "" + (y + 1)];
+ img.src = http_pfad + "/overview/" + (x_anf + (x * 90)) + "/" + (y_anf + (y * 90)) + "/" + active_layer_names().join("/");
}
}
}
-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 = objekt;
@@ -1035,20 +1079,21 @@
// alte Kacheln loeschen
for (var x = 0; x < 4; x++) {
for (var y = 0; y < 4; y++) {
- var img = eval("document.img" + (x + 1) + "" + (y + 1));
+ var img = document["img" + (x + 1) + "" + (y + 1)];
img.src = "/infosystem/bilder/spacer.gif";
- var img = eval("document.qmlupe" + (x + 1) + "" + (y + 1));
+ var img = document["qmlupe" + (x + 1) + "" + (y + 1)];
img.src = "/infosystem/bilder/spacer.gif";
}
}
- // Koordinaten auf einen geraden Wert innerhalb des Rasters rechen (es sind 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 = Math.max(0, Math.round((x_koord - 180) / 90) * 90);
y_anf = Math.min(10440, Math.round((y_koord - 180) / 90) * 90);
- schreibe_debugger("<br/> -> Kacheln laden (" + x_anf + " / " + y_anf + ")");
+ dbg("<br/> -> Kacheln laden (" + x_anf + " / " + y_anf + ")");
// Kacheln von Server holen und dem entsprechenden Bild zuordnen
load_sqm_tiles(x_anf, y_anf);
@@ -1058,14 +1103,14 @@
var loeschen = eval("document.getElementById('qm" + i + "')");
document.getElementById("qmAusschnitt").removeChild(loeschen);
}
- schreibe_debugger("<br/> -> " + erzeugte_zeilen + " zeilen geloescht");
+ dbg("<br/> -> " + erzeugte_zeilen + " zeilen geloescht");
// qm loeschen
for (var i = 1; i <= erzeugte_positionen; i++) {
var loeschen = eval("document.getElementById('pos" + i + "')");
document.getElementById("qmDetailKarte").removeChild(loeschen);
}
- schreibe_debugger("<br/> -> " + erzeugte_positionen + " Positionen geloescht");
+ dbg("<br/> -> " + erzeugte_positionen + " Positionen geloescht");
x_obj = parseInt(Math.floor(x_koord - x_anf));
y_obj = parseInt(Math.floor(y_koord - y_anf));
@@ -1087,8 +1132,8 @@
i++;
}
- schreibe_debugger("<br/> -> " + erzeugte_positionen + " Quadratmeterpositionen");
- schreibe_debugger("<br/> -> " + erzeugte_zeilen + " zeilen fuer Quadratmeter eingezeichnet");
+ dbg("<br/> -> " + erzeugte_positionen + " Quadratmeterpositionen");
+ dbg("<br/> -> " + erzeugte_zeilen + " zeilen fuer Quadratmeter eingezeichnet");
}
// setzen des Positionskaestchens auf der kleinen �bersichtskarte
@@ -1111,7 +1156,7 @@
+ '<tr> <td width="60" class="PoiNavigation">' + msg('Land') + ':</td><td class="PoiNavigation">' + profil['country'] + '</td></tr>'
+ '<tr> <td colspan="2" class="PoiNavigation"><img src="/infosystem/bilder/spacer.gif" width="1" height="10"/></td></tr>'
+ '<tr> <td width="60" class="PoiNavigation">' + msg('gesponsort') + ':</td><td class="PoiNavigation">' + profil['anzahl'] + ' m²</td></tr>'
- + '<tr> <td width="60" class="PoiNavigation">' + msg('seit') + ':</td><td class="PoiNavigation">' + qm[aktuelles_objekt]['datum'] + '</td></tr>'
+ + '<tr> <td width="60" class="PoiNavigation">' + msg('seit') + ':</td><td class="PoiNavigation">' + qm[aktuelles_objekt]['date'] + '</td></tr>'
+ '<tr> <td colspan="2" class="PoiNavigation"><img src="/infosystem/bilder/spacer.gif" width="1" height="20"/></td></tr>'
+ '<tr> <td colspan="2" class="PoiNavigation">' + profil['nachricht'] + '</td></tr>'
+ '</table>';
@@ -1151,7 +1196,11 @@
element.onmousedown = maus_gedrueckt;
element.onmouseup = maus_losgelassen;
- schreibe_debugger("<br/> -> <b>qm-Detailansicht anzeigen</b>");
+ if (profil.contracts) {
+ display_own_sqm();
+ }
+
+ dbg("<br/> -> <b>qm-Detailansicht anzeigen</b>");
return true;
}
Modified: branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handler.lisp
===================================================================
--- branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handler.lisp 2006-10-14 13:23:45 UTC (rev 1994)
+++ branches/xml-class-rework/projects/bos/worldpay-test/contract-image-handler.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 contract)
- (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 manipulate individual pixels.
- (let ((work-array (make-array (list width height) :element-type 'fixnum :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 image 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 :initial-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-handler.lisp
===================================================================
--- 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 @@
(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-handler-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))))))