bknr-cvs
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
November 2006
- 1 participants
- 44 discussions
Author: hhubner
Date: 2006-11-09 11:59:06 -0500 (Thu, 09 Nov 2006)
New Revision: 2067
Modified:
trunk/projects/bos/worldpay-test/map-handlers.lisp
Log:
Remove non-functional center icon on tile navigator.
Modified: trunk/projects/bos/worldpay-test/map-handlers.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/map-handlers.lisp 2006-11-09 16:56:53 UTC (rev 2066)
+++ trunk/projects/bos/worldpay-test/map-handlers.lisp 2006-11-09 16:59:06 UTC (rev 2067)
@@ -23,7 +23,7 @@
(td-link-to x (- y 90) "o")
(td-link-to (+ x 90) (- y 90) "or"))
(:tr (td-link-to (- x 90) y "l")
- (td-link-to x y "center" base-url)
+ :td
(td-link-to (+ x 90) y "r"))
(:tr (td-link-to (- x 90) (+ y 90) "ul")
(td-link-to x (+ y 90) "u")
1
0
09 Nov '06
Author: hhubner
Date: 2006-11-09 11:56:53 -0500 (Thu, 09 Nov 2006)
New Revision: 2066
Modified:
trunk/projects/bos/payment-website/templates/en/toplevel_main.xml
Log:
Login form on home page of english version.
Modified: trunk/projects/bos/payment-website/templates/en/toplevel_main.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/en/toplevel_main.xml 2006-11-08 08:07:43 UTC (rev 2065)
+++ trunk/projects/bos/payment-website/templates/en/toplevel_main.xml 2006-11-09 16:56:53 UTC (rev 2066)
@@ -148,6 +148,34 @@
</tr>
</table>
</div>
+ <div id="textbox_left_login">
+ <form>
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr><td colspan="4" height="6"></td></tr>
+ <tr>
+ <td width="6"> </td>
+ <td colspan="2"><strong>Donor-ID</strong></td>
+ <td width="6"></td>
+ </tr>
+ <tr>
+ <td width="6"> </td>
+ <td colspan="2"><input id="sponsorid-input" type="text" name="__sponsorid"/></td>
+ <td width="6"></td>
+ </tr>
+ <tr>
+ <td width="6"> </td>
+ <td colspan="2"><strong>Password</strong></td>
+ <td width="6"></td>
+ </tr>
+ <tr>
+ <td width="6"> </td>
+ <td colspan="2"><input id="password-input" class="password-input" type="password" name="__password"/>
+ <img onclick="window_infosys()" class="login-button" src="/infosystem/bilder/submit.gif"/></td>
+ <td width="6"></td>
+ </tr>
+ </table>
+ </form>
+ </div>
<!-- footer -->
<div id="menue_footer">
<a href="javascript:window_extra('privacy')" class="footer">
1
0
08 Nov '06
Author: hhubner
Date: 2006-11-08 03:07:43 -0500 (Wed, 08 Nov 2006)
New Revision: 2065
Modified:
trunk/projects/bos/payment-website/templates/dk/archive.xml
trunk/projects/bos/payment-website/templates/dk/bestellung.xml
trunk/projects/bos/payment-website/templates/dk/bos.xml
trunk/projects/bos/payment-website/templates/dk/certificat.xml
trunk/projects/bos/payment-website/templates/dk/contact.xml
trunk/projects/bos/payment-website/templates/dk/disclaimer.xml
trunk/projects/bos/payment-website/templates/dk/headline2.xml
trunk/projects/bos/payment-website/templates/dk/headline3.xml
trunk/projects/bos/payment-website/templates/dk/idea.xml
trunk/projects/bos/payment-website/templates/dk/idea_subtitle1.xml
trunk/projects/bos/payment-website/templates/dk/idea_subtitle2.xml
trunk/projects/bos/payment-website/templates/dk/index.xml
trunk/projects/bos/payment-website/templates/dk/info-request.xml
trunk/projects/bos/payment-website/templates/dk/infosys-help-poidetail.xml
trunk/projects/bos/payment-website/templates/dk/infosys-help-poifoto.xml
trunk/projects/bos/payment-website/templates/dk/infosys-help-qmdetail.xml
trunk/projects/bos/payment-website/templates/dk/infosys-help-uebersicht.xml
trunk/projects/bos/payment-website/templates/dk/infosystem.xml
trunk/projects/bos/payment-website/templates/dk/news.xml
trunk/projects/bos/payment-website/templates/dk/print_profil_setup.xml
trunk/projects/bos/payment-website/templates/dk/privacy.xml
trunk/projects/bos/payment-website/templates/dk/profil.xml
trunk/projects/bos/payment-website/templates/dk/profil_setup.xml
trunk/projects/bos/payment-website/templates/dk/quittung.xml
trunk/projects/bos/payment-website/templates/dk/sponsor_canceled.xml
trunk/projects/bos/payment-website/templates/dk/toplevel.xml
trunk/projects/bos/payment-website/templates/dk/toplevel_extra.xml
trunk/projects/bos/payment-website/templates/dk/toplevel_main.xml
Log:
Danish version updated.
Modified: trunk/projects/bos/payment-website/templates/dk/archive.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/archive.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/archive.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,15 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="REGENWALD für SAMBOJA LESTARI - News-Archiv"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">NEWS im ARCHIV</h1>
- <p class="text_content">
- <bos:news-headlines archive="1" />
- </p>
-</bknr:toplevel>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Nyhedsarkiv" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">NEWS im ARCHIV</h1>
+ <p class="text_content">
+ <bos:news-headlines archive="1"></bos:news-headlines>
+ </p>
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/bestellung.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/bestellung.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/bestellung.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,12 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<!-- content 3teilig-->
<div id="content">
<!-- content left-->
@@ -16,7 +10,7 @@
<tr>
<td></td>
<td colspan="2">
- <img src="/images/step1.gif" width="120" height="20" border="0" alt="" />
+ <img src="/images/step1.gif" width="120" height="20" border="0" alt=""></img>
</td>
</tr>
<tr><td colspan="4" height="40"></td></tr>
@@ -24,22 +18,22 @@
<td> </td>
<td colspan="2">
<span class="link_titlered">
- Create rainforest
- <br />for only 3,- Euro per m²
+ Plant regnskov
+ <br></br>for kun 3,- Euro per m²
</span>
- <br /><br />
+ <br></br><br></br>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td colspan="2">
- We appreciate your decision to get involved in supporting the nature, the wildlife and the people of Indonesia.
- <br /><br />
- Your support is an important contribution towards ensuring sustainable project work in Samboja Lestari.<br />
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ Vi takker for din beslutning om støtte til Indonesiens folk, natur og dyreliv.
+ <br></br><br></br>
+ Din støtte er et vigtig bidrag i kampen hen mod at sikre et holdbart projektarbejde i Samboja Lestari.<br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="idea_subtitle2" class="more">
- ... more
+ ... mere
</a>
</td>
<td></td>
@@ -61,14 +55,14 @@
<!-- /content left-->
<!-- container content_main -->
<div id="content_main">
- <div id="textbox_content_big" >
+ <div id="textbox_content_big">
<form name="bestellformular" method="post" action="buy-sqm">
- <input type="hidden" name="download-only" value="1" />
+ <input type="hidden" name="download-only" value="1"></input>
<table id="formTable" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3">
<span class="headline">
- I am getting involved. I want to see how Samboja Lestari becomes green again and hereby create ...
+ Tilmeld mig. Jeg vil se Samboja Lestari blive grøn igen, og derved skabe ...
</span>
</td>
</tr>
@@ -77,28 +71,23 @@
</tr>
<tr>
<td colspan="3">
- <input type="radio" name="numsqm" value="1"
- onclick="document.bestellformular.numsqm1.value = '';" />
- 1 m² rainforest [3 Euro],
- <br />
- <input type="radio" name="numsqm" value="5"
- onclick="document.bestellformular.numsqm1.value = '';" />
- 5 m² rainforest [15 Euro],
- <br />
- <input type="radio" name="numsqm" value="10" checked="checked"
- onclick="document.bestellformular.numsqm1.value = '';" />
- 10 m² rainforest [30 Euro],
- <br />
- <input type="radio" name="numsqm" value="30"
- onclick="document.bestellformular.numsqm1.value = '';" />
- 30 m² rainforest [90 Euro],
- <br />
- <input type="radio" name="numsqm" value=""/>
+ <input type="radio" name="numsqm" value="1" onclick="document.bestellformular.numsqm1.value = '';"></input>
+ 1 m² regnskov [3 Euro],
+ <br></br>
+ <input type="radio" name="numsqm" value="5" onclick="document.bestellformular.numsqm1.value = '';"></input>
+ 5 m² regnskov [15 Euro],
+ <br></br>
+ <input type="radio" name="numsqm" value="10" checked="checked" onclick="document.bestellformular.numsqm1.value = '';"></input>
+ 10 m² regnskov [30 Euro],
+ <br></br>
+ <input type="radio" name="numsqm" value="30" onclick="document.bestellformular.numsqm1.value = '';"></input>
+ 30 m² regnskov [90 Euro],
+ <br></br>
+ <input type="radio" name="numsqm" value=""></input>
or
- <input type="text" name="numsqm1" size="5" value=""
- onfocus="document.bestellformular.numsqm[4].click()"/>
- m² [3 Euro each].
- <br />
+ <input type="text" name="numsqm1" size="5" value="" onfocus="document.bestellformular.numsqm[4].click()"></input>
+ m² [3 Euro stk].
+ <br></br>
</td>
</tr>
<tr>
@@ -122,11 +111,11 @@
<tr>
<td colspan="4">
<span class="help_text">
- Your data will be processed electronically by our partner WorldPay.
+ Din data vil blive behandlet elektronisk af vores partner WorldPay.
The provisions of the data protection law have been adhered to. Data will not be passed on to third parties.
</span>
- <br />
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ <br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="javascript:window_extra('privacy')" class="more">
privacy statement
</a>
@@ -151,18 +140,17 @@
</tr>
<tr>
<td colspan="3">
- <input type="checkbox" name="disclaimer_read" value="1" />
- I have read <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ <input type="checkbox" name="disclaimer_read" value="1"></input>
+ I have read <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="javascript:show_disclaimer()" class="more">
the waiver clause
- </a> and I agree.<br />
- <br /> <br />
+ </a> and I agree.<br></br>
+ <br></br> <br></br>
</td>
</tr>
<tr>
<td align="right" colspan="3">
- <input type="submit" class="form_big_bold" name="action" value="Donate online"
- onclick="return check_online();" />
+ <input type="submit" class="form_big_bold" name="action" value="Donate online" onclick="return check_online();"></input>
</td>
</tr>
@@ -172,27 +160,27 @@
</div>
<div id="content_right">
<div id="helpbox">
- <br /><br /><br />
+ <br></br><br></br><br></br>
[<strong>Rainforest certificate</strong>]
- <br />
+ <br></br>
Starting with 1 m² only you receive
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="javascript:window_extra('certificat')" class="more">our rainforest certificate</a>
as a pdf-download from your personal sponsor profile.
- <br /><br /><br />
+ <br></br><br></br><br></br>
[<strong>Donation receipt</strong>]
- <br />
+ <br></br>
BOS Germany is a tax free registered charity in Germany. Your ability to claim this donation for tax purposes outside of Germany, is dependent upon the laws of your country.
- <br />
+ <br></br>
Within your sponsor profile you will find a receipt as a pdf-download.
- <br /> <br />
- [<strong>Guarantee of trustworthiness</strong>]<br />
+ <br></br> <br></br>
+ [<strong>Guarantee of trustworthiness</strong>]<br></br>
WorldPay is an internationally renowned provider of online payment services.
Your date will be encoded by WorldPay and deleted immediately after the payment has been carried out succesfully.
- <br /><br />
+ <br></br><br></br>
</div>
</div>
</div>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/bos.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/bos.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/bos.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,18 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI - about BOS"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI - om BOS" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<div id="content_main">
<div id="textbox_content">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
- <td colspan="3"><span class="headline">The BOS Foundation</span></td>
+ <td colspan="3"><span class="headline">Organisationen BOS</span></td>
<td></td>
</tr>
<tr>
@@ -20,47 +13,46 @@
</tr>
<tr>
<td>
- The <b>Borneo Orangutan Survival Foundation</b> (BOS) is the largest organisation worldwide fighting
- against the extinction of orangutans. Their habitat, the rainforest with its biological diversity,
- is being protected in collaboration with the local people.
- BOS is an Indonesian not-for-profit foundation, founded in 1991.
- <br /><br />
- The main aspects of BOS work in Indonesia are the following:
- <br /><br />
+ Organisation<b> Borneo Orangutan Survival</b> (BOS) er den største, verdensomspændende organisation som kæmper mod udryddelsen af orangutangen.
+ Dens levested; regnskoven, med sin biologiske mangfoldighed, beskyttes i samarbejde med den lokale befolkning.
+ BOS er en Indonesisk non-profit organisation, oprettet i 1991.
+ <br></br><br></br>
+ Hovedaspekterne i BOS arbejde i Indonesien er følgende:
+ <br></br><br></br>
<ul>
<li>
- Confiscation of illegally kept orangutans, Malaysian bears and other species
+ Konfiskering af ulovligt tilfangetagende orangutanger, sol-bjørne og andre arter
</li>
<li>
- Rehabilitation of orangutans in stations
+ Genudsætning af orangutanger til "stationer"
</li>
<li>
- Release of animals into protected rainforest areas
+ Udsætning af dyr til beskyttede regnskovsområder
</li>
<li>
- Rescue and relocation of endangered orangutans and other species
+ Flytning og redning af truede orangutanger og andre arter
</li>
<li>
- Forestation and protection of the rainforest
+ Genplantning og beskyttelse af regnskoven
</li>
<li>
- Creation of alternatives for the local people
+ Skabelsen af alternativer til den lokale befolkning
</li>
<li>
Ecological education of the local people
</li>
<li>
- Monitoring of protected areas
+ Overvågning af beskyttede områder
</li>
<li>
- Analysis of satellite photos
+ Analyse af satelit fotos
</li>
<li>
- and many more.
+ og mange andre.
</li>
</ul>
- <br />
- The projects run by BOS are mainly sponsored by foreign donors due to the difficult economic situation of Indonesia.
+ <br></br>
+ BOS projekter er hovedsaglig sponseret af udenlandske donorer pga. den svære økonomiske sitation i Indonesien.
</td>
</tr>
</table>
@@ -72,25 +64,25 @@
<tr><td height="30"></td></tr>
<tr>
- <td colspan="2"><img src="/images/bos-logo.gif" width="116" height="85" alt="" /></td>
+ <td colspan="2"><img src="/images/bos-logo.gif" width="116" height="85" alt=""></img></td>
</tr>
<tr>
- <td colspan="2">Would you like to know more about projects run by BOS?
- <br /><br />
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ <td colspan="2">Vil du gerne vide mere om BOS projekter?
+ <br></br><br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="http://www.savetheorangutan.info" target="_blank" class="more">
savetheorangutan.info
</a>
- <br />
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ <br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="http://www.bos-deutschland.de" target="_blank" class="more">
bos-deutschland.de
</a>
- <br /><br />
+ <br></br><br></br>
</td>
</tr>
<tr>
- <td colspan="2">On these webpages you will also find links to our BOS partner organisations worldwide.</td>
+ <td colspan="2"> På disse websider vil du også finde adresserne på vore søsterorganisationer verden over.</td>
</tr>
</table>
</div>
Modified: trunk/projects/bos/payment-website/templates/dk/certificat.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/certificat.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/certificat.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,15 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - Rainforest certificate"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">This is what your RAINFOREST CERTIFICATE will look like:</h1>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Regnskovs Diplom" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">Sådan vil dit Regnskovs Diplom se ud:</h1>
<center>
- <img src="/images/certificate_en.jpg" width="300" height="424" alt="" border="0" />
+ <img src="/images/certificate_en.jpg" width="300" height="424" alt="" border="0"></img>
</center>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/contact.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/contact.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/contact.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
-<bknr:toplevel template="toplevel_main" title="Regnskov til SAMBOJA LESTARI - Kontakt" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI - Kontakt" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<div id="content_main">
<div id="textbox_content">
<table border="0" cellpadding="0" cellspacing="0">
Modified: trunk/projects/bos/payment-website/templates/dk/disclaimer.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/disclaimer.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/disclaimer.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,24 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - DISCLAIMEr"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - DISCLAIMER" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<p class="text_content">
<p><b>Disclaimer</b></p>
<p>
-Each sponsor of one or more square metres of renewable rainforest of the forestation
-and nature protection project Samboja Lestari/Borneo/ Indonesia has no claims or other
-rights to the respective land. No one is entitled to resell the land. Sponsors have no
-duties whatsoever. This is a mere symbolic act of an informative nature. BOS guarantees
-that the land will always be reserved for
-the benefit of sustainable nature,- and wildlife protection.
+Hver sponsor af en eller flere kvardratmeter genskabt regnskov i genplantning- og naturbeskyttelses projektet Samboja Lestari/Borneo/Indonesien har intet ejerskab eller ret til det respektive land.
+De har ingen ret til at gensælge landet. Sponsorerne har i det hele taget ingen opgaver. Dette er blot en symbolsk handling af informativ art. BOS garanterer at landet altid vil blive bevaret til gavn for en bæredygtig natur og beskyttelse af dyrelivet.
+
</p>
</p>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/headline2.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/headline2.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/headline2.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,45 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<div id="content_main">
<div id="textbox_content_bigger">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<span class="headline">
- The key to success - the local population
+ Nøglen til success - den lokale befolkning
</span>
</td>
<td align="center" valign="top">
- <img src="../images/pfeil_back.gif" width="10" height="9" alt="" />
+ <img src="../images/pfeil_back.gif" width="10" height="9" alt=""></img>
<a href="javascript:history.back()" class="titlegray">
- back
+ tilbage
</a>
</td>
</tr>
<tr>
- <td height="6"><img src="../images/trans.gif" width="120" height="10" alt="" />
+ <td height="6"><img src="../images/trans.gif" width="120" height="10" alt=""></img>
</td>
- <td><img src="../images/trans.gif" width="130" height="6" alt="" />
+ <td><img src="../images/trans.gif" width="130" height="6" alt=""></img>
</td>
- <td width="150"><img src="../images/trans.gif" width="140" height="6" alt="" />
+ <td width="150"><img src="../images/trans.gif" width="140" height="6" alt=""></img>
</td>
</tr>
<tr>
- <td valign="top">
- Nature conservation and the needs of the population must not be in conflict with each other.
- <br /><br />
- The nature reserve Samboja Lestari offers a safe income, health and education to the local population. The people will be included into all phases of the project. Agriculture, nursery, production of compost, reforestation and the creation of infrastructure provide safe workplaces.
- <br />
+ <td valign="top">
+ Naturbevarelse og befolkningens behov må ikke stå i modstrid med hinanden.
+ <br></br><br></br>
+ Naturresevatet Samboja Lestari tilbyder en fast indkomst, sundhed og uddanelse til den lokale befolkning. Befolkningen vil blive inkluderet i alle faser af projektet. Landbrug, pleje, produktion af kompost, genplantning og skabelsen af infrastruktur og sikre arbejdspladser.
+ <br></br>
</td>
- <td align="right" colspan="2"><img src="../images/pic_headline2_big.jpg" width="256" height="150" border="0" alt="" /></td>
+ <td align="right" colspan="2"><img src="../images/pic_headline2_big.jpg" width="256" height="150" border="0" alt=""></img></td>
</tr>
<tr>
<td height="10">
@@ -47,10 +40,10 @@
</tr>
<tr>
<td colspan="3">
- <b>"This offers an alternative to the people, so that they don't have to clear the forest any more. Thus we can show the world, that nature and humans are able to coexist and don't have to exclude each other."</b>
- <br />
- says Dr. Willie Smits, chairman of BOS Indonesia.
- <br />
+ <b>"Dette tilbyder et alternativ til befolkningen, så de ikke længere behøver at fælde regnskoven. En måde hvorpå vi kan vise verden at naturen og menneskene kan eksisterer side om side, uden at den ene udelukker den anden."</b>
+ <br></br>
+ siger Dr. Willie Smits, Formand for BOS Indonesia.
+ <br></br>
</td>
<td></td>
</tr>
@@ -72,7 +65,7 @@
</tr>
<tr>
<td colspan="3">
- The safety of the nature reserve is guaranteed by the acceptance through the Indonesian population. The success of the project guarantees a better standard of living and vice versa.
+ Naturreservatets sikkerhed er garanteret igennem den Indonesiske befolkningens accept. Projektets success garanterer en bedre levestandard og vice versa.
</td>
</tr>
<tr><td height="16"></td></tr>
Modified: trunk/projects/bos/payment-website/templates/dk/headline3.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/headline3.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/headline3.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<!-- container content_main -->
<div id="content_main">
<div id="textbox_content_bigger">
@@ -15,47 +8,43 @@
<tr>
<td colspan="2">
<span class="headline">
- Orangutan, Sunbear and Rhinoceros bird
+ Orangutanger, Sol-bjørne og Næsehornsfugle
</span>
</td>
<td align="center" valign="top">
- <img src="/images/pfeil_back.gif" width="10" height="9" alt="" />
+ <img src="/images/pfeil_back.gif" width="10" height="9" alt=""></img>
<a href="javascript:history.back()" class="titlegray">
- back
+ tilbage
</a>
</td>
</tr>
<tr>
- <td><img src="/images/trans.gif" width="120" height="15" alt="" /></td>
- <td><img src="/images/trans.gif" width="130" height="10" alt="" /></td>
- <td width="150"><img src="/images/trans.gif" width="140" height="10" alt="" /></td>
+ <td><img src="/images/trans.gif" width="120" height="15" alt=""></img></td>
+ <td><img src="/images/trans.gif" width="130" height="10" alt=""></img></td>
+ <td width="150"><img src="/images/trans.gif" width="140" height="10" alt=""></img></td>
</tr>
<tr>
<td colspan="3">
- Orangutans, also called man of the forest, are highly endangered great apes.
- <br /><br />
- Orangutans are not only our closest relatives in the animal kingdom; they are also indispensable for the biological diversity
- of the rainforest due to their role of seed distributors. They are the so called umbrella species. The protection of these fascinating
- great apes serves at the same time to preserve the rainforest's eco system.
- <br /><br />
- Nowadays, orangutans live only on Sumatra and Borneo. Massive rainforest destruction and unscrupulous pet trade could
- mean the end of their species. Malaysian bears are also in danger of losing their natural habitat. The nature reserve Samboja Lestari
- represents the last refuge for several animals - a last chance for their survival. Malaysian bears are already living in the reserve, in
- a specially set aside area. In a few years time also orangutans will be able to live there in freedom.
- <br /><br />
- Rare species such as the Rhinoceros bird, the dwarf deer and the king cobra can already be observed in Samboja Lestari nowadays.
+ Orangutanger, også kaldet Skovmenneske, er stærkt truede menneskeaber.
+ <br></br><br></br>
+ Orangutanger er ikke kun vores nærmeste slægtning i dyreriget; men er samtidig absolut uundværlige for regnskovens biologiske mangfoldighed i kraft af deres rolle som frøspredere. De er en såkaldt "paraplyart." Og beskyttelsen af disse fascinerende menneskeaber gør det samtidig muligt at bevare regnskovens øko system.
+ <br></br><br></br>
+ I dag lever orangutangerne kun på Sumatra og Borneo. Og massive ødelæggelser af regnskoven og skrupelløs kæledyrshandel kan i sidste instands betyde enden for denne art. Solbjørne er også i fare for at miste deres naturlige levesteder. Her er naturreservatet Samboja Lestari et sidste tilflugtsted for flere forskellige dyr - en sidste chance for deres overlevelse. Solbjørne lever allerede i reservatet i et område, hvor orangutanger om et par år også vil kunne leve i frihed.
+
+ <br></br><br></br>
+ Sjældne arter som Næsehornsfuglen, dværdhjorten og konge kobraen kan allerede observeres i Samboja Lestari i dag.
</td>
</tr>
<tr><td height="50"></td></tr>
<tr>
<td valign="top" colspan="3">
- <img src="/images/pic_h3_orangutan.jpg" width="169" height="88" border="0" alt="" />
- <img src="/images/pic_h3_baer.jpg" width="169" height="88" border="0" alt="" />
- <img src="/images/pic_h3_vogel.jpg" width="169" height="88" alt="" />
+ <img src="/images/pic_h3_orangutan.jpg" width="169" height="88" border="0" alt=""></img>
+ <img src="/images/pic_h3_baer.jpg" width="169" height="88" border="0" alt=""></img>
+ <img src="/images/pic_h3_vogel.jpg" width="169" height="88" alt=""></img>
</td>
</tr>
<tr><td height="20"></td></tr>
</table>
</div>
</div><!-- /container content_main -->
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/idea.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/idea.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/idea.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,49 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<!-- container content_main -->
<div id="content_main">
<div id="textbox_content">
- <table border="0" cellpadding="0" cellspacing="0">
+ <table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<span class="headline">
- Samboja Lestari - Creative reforestation
- <br />
- A sanctuary for Borneo
+ Samboja Lestari - Kreativ skovrejsning
+ <br></br>
+ Et reservat på Borneo
</span>
</td>
- <td align="center"><img src="/images/pfeil_back.gif" width="10" height="9" alt="" />
+ <td align="center"><img src="/images/pfeil_back.gif" width="10" height="9" alt=""></img>
<a href="javascript:history.back()" class="titlegray">
- back
+ tilbage
</a>
</td>
</tr>
<tr><td height="6"> </td></tr>
<tr>
- <td colspan="3" align="left"><img src="/images/start_pic_headline1.jpg" width="363" height="120" alt="" border="0" /></td>
+ <td colspan="3" align="left"><img src="/images/start_pic_headline1.jpg" width="363" height="120" alt="" border="0"></img></td>
<td></td>
</tr>
<tr><td height="6"></td></tr>
<tr>
<td colspan="3">
- By means of a unique reforestation concept BOS is creating a sanctuary for orangutans, sunbears and other endangered species on Borneo -maybe the last one.
-Satellite pictures here on the internet make it possible to observe the progress of this concept.
- <br /><br />
- During the last decades the once species-rich rainforest of
+ Ved hjælp af et unikt skovrejsnings koncept har BOS skabt et reservat for orangutanger, solbjørne og andre truede dyrearter på Borneo- måske det sidste af sin art.
+Satelit fotos her på internetet gør det muligt at observere konceptets fremgang.
+ <br></br><br></br>
+ I løbet af de sidste årtier er den engang så artsrige regnskov i
<a href="javascript:window_infosys()" class="titlegreen">
- Samboja Lestari
- </a>
- was cleared and burnt down relentlessly.
-Nutrient-consuming elephant grass took over completely. What remained was an ecological waste land.
-Nowadays it is already visible that this doesn't have to stay - since 2001 BOS is creating new rainforest. An innovative concept of reforestation and protection is changing this area of over 16 mio sqm into a natural habitat again. In tropical Borneo plants grow much faster than in Europe. Already within a few years the first orangutans can be released to share their freedom with other animals A nature reserve is being created for the permanent use of humans, animals and plants in Samboja Lestari ("eternal Samboja").
+ Samboja Lestari blevet nådesløst fældet og nedbrændt.
+ </a>
+ Næringsopslugende elefantgræs tog over og hvad blev tilbage var en økologisk ødemark. I dag er det dog allerede tydeligt at dette ikke behøver fortsætte - siden 2001 har BOS skabt ny regnskov.
+Et nyskabende skovrejsnings- og beskyttelses-koncept forandre dette over 16 mio sqm store område til et naturligt levested igen. På tropiske Borneo gror planter meget hurtigere end i Europa, og allerede indenfor få år vil de første orangutanger kunne blive set ud og dele friheden med andre dyr. Et naturreservat er blevet skabt til fremtidig brug for mennesker, dyr og planter i Samboja Lestari; ("et bærerdygtigt Samboja").
</td>
<td></td>
</tr>
@@ -56,16 +48,16 @@
<tr>
<td colspan="2">
<a href="idea_subtitle1" class="titlegreen">
- Agriculture, reforestation and protection
+ Landbrug, skovrejsning og beskyttelse
</a>
</td>
</tr>
<tr><td height="6"></td></tr>
<tr>
- <td> During the early stage of reforestion Indonesian farmers plant profitable agricultural products among the newly planted trees.</td>
+ <td> I de tidlige stadier af skovrejsningen planter Indonesiske landmænd overskudsgivende afgrøder imellem de nyplantede træer.</td>
<td valign="top" align="right">
<a href="idea_subtitle1" class="titlegreen">
- <img src="/images/projekt_pic_headline1b.jpg" width="69" height="120" alt="" border="0" />
+ <img src="/images/projekt_pic_headline1b.jpg" width="69" height="120" alt="" border="0"></img>
</a>
</td>
</tr>
@@ -74,7 +66,7 @@
<td colspan="2">
...
<a href="idea_subtitle1" class="more">
- more
+ mere
</a>
</td>
</tr>
@@ -93,7 +85,7 @@
<tr>
<td>
<a href="idea_subtitle2" class="titlegreen">
- <img src="/images/projekt_pic_headline1c.gif" width="163" height="80" border="0" alt="" />
+ <img src="/images/projekt_pic_headline1c.gif" width="163" height="80" border="0" alt=""></img>
</a>
</td>
</tr>
@@ -101,15 +93,15 @@
<tr>
<td colspan="2">
- To finance the nature reserve, BOS has created a system of symbolical land-purchasing.
- <br />
+ Til at finansiere natur reservatet har BOS skabt et system med symbolske opkøb af land.
+ <br></br>
...
<a href="idea_subtitle2" class="more">
- more
+ mere
</a>
</td>
</tr>
</table>
</div>
</div>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/idea_subtitle1.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/idea_subtitle1.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/idea_subtitle1.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<!-- container content_main -->
<div id="content_main">
<div id="textbox_content_bigger">
@@ -15,29 +8,29 @@
<tr>
<td colspan="2">
<span class="headline">
- Agriculture, reforestation and protection
- <br /> - a good combination
+ Landbrug, skovrejsning og beskyttelse
+ <br></br> - en god kombination
</span>
</td>
- <td align="center"><img src="/images/pfeil_back.gif" width="10" height="9" alt="" />
+ <td align="center"><img src="/images/pfeil_back.gif" width="10" height="9" alt=""></img>
<a href="javascript:history.back()" class="titlegray">
- back
+ tilbage
</a>
</td>
</tr>
<tr>
- <td height="6" width="150"><img src="/images/trans.gif" width="160" height="6" alt="" /> </td>
- <td><img src="/images/trans.gif" width="150" height="6" alt="" /></td>
- <td width="150"><img src="/images/trans.gif" width="150" height="6" alt="" /></td>
+ <td height="6" width="150"><img src="/images/trans.gif" width="160" height="6" alt=""></img> </td>
+ <td><img src="/images/trans.gif" width="150" height="6" alt=""></img></td>
+ <td width="150"><img src="/images/trans.gif" width="150" height="6" alt=""></img></td>
</tr>
<tr>
- <td align="left"><img src="/images/pic_headline1b_big.jpg" width="149" height="180" alt="" border="0" /></td>
+ <td align="left"><img src="/images/pic_headline1b_big.jpg" width="149" height="180" alt="" border="0"></img></td>
<td colspan="2">
-During the early stage of reforestion Indonesian farmers plant profitable agricultural products among the newly planted trees.
- <br /><br />
-Agriculture and reforestation influence each other in many positive ways: agricultural products protect the young tropical trees from getting overgrown by elephant grass. Trees enrich the quality of the soil and provide shade.
- <br /><br />
-BOS guarantees to buy fruit like papaya and pineapples from the farmers, market them regionally or use them for self-supply. The supply of the orangutans in Wanariset rehabilitation center alone takes about 1000 kg of fruit daily.
+I de tidlige stadier af skovrejsningen planter Indonesiske landmænd overskydsgivende afgrøder imellem de nyplantede træer.
+ <br></br><br></br>
+Landbrug og skovrejsning påvirker hinanden på mange positive måder: afgrøderne beskytter de unge træer mod at blive overgroet af elefantgræsser. Og træer gøder jorden og giver skygge.
+ <br></br><br></br>
+BOS garanterer at købe landmændenes frugt som papaya og ananas, putte dem på det regionale marked eller bruge dem til egne forsyninger. Alene forsyningerne til orangutangerne på rehabiliteringscenteret Wanariset er på omkring 1000 kg. frugt dagligt.
</td>
<td></td>
</tr>
@@ -48,27 +41,26 @@
</tr>
<tr><td height="6"> </td></tr>
<tr>
- <td colspan="2"><span class="headline">The Protection (circle)</span></td>
+ <td colspan="2"><span class="headline">Beskyttelsen </span></td>
<td rowspan="3">
- <img src="/images/ring_en.jpg" width="215" height="150" border="0" alt="" />
+ <img src="/images/ring_en.jpg" width="215" height="150" border="0" alt=""></img>
</td>
</tr>
<tr><td height="6"> </td></tr>
<tr>
<td colspan="2">
- A <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" /> <a href="javascript:window_ringdetail();"
-class="content_green">circle of sugar-palm plantations</a> is being planted all around the nature reserve. Over 650 families will profit from the main product sugar. And - the circle forms a barrier against the much feared forest fires.
- <br /><br />
-A penetration of humans into the nature reserve, as well as the breakout of orangutans is prevented by an inner protection wall of thickly growing, prickly salac palms. Moreover, the fruit of these palms provides pleasant tasting food for humans and animals.
+ En <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img> <a href="javascript:window_ringdetail();" class="content_green">cirkel af sukker-palme plantager bliver plantet hele vejen rundt om naturreservatet. Over 650 familier vil profitere fra hovedproduktet; sukker. Og cirklen skaber samtidig en barriere mod de meget frygtede skovbrænde. </a>
+ <br></br><br></br>
+At menneskene bryder ind i natur reservatet, eller orangutangerne ud er forhindret af en indre beskyttelses-væg af tykt-voksende og stikkende, slibrige palmer. Ydermere er frugten fra disse palmer en velsmagende fødekilde for både mennesker og dyr.
</td>
</tr>
<tr><td colspan="3">
-Ultra-light aeroplanes and modern satellite technique support the permanent surveillance of the BOS projects. Thus, slash-and-burn and illegal logging can be fought much more effectively.
+Ultralyds fly og moderne satelit teknik støtter den permanente overvågning af BOS projekter, hvilket altsammen hjælper til at bekæmpe "slash-and-burn" og ulovlig skovhugst mere effiktivt.
</td>
</tr>
</table>
</div>
</div>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/idea_subtitle2.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/idea_subtitle2.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/idea_subtitle2.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,20 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<div id="content_main">
<div id="textbox_content_bigger">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
- <td colspan="2"><span class="headline">A square metre with a certain knack <br /></span></td>
+ <td colspan="2"><span class="headline">A square metre with a certain knack <br></br></span></td>
<td align="center">
- <img src="/images/pfeil_back.gif" width="10" height="9" alt="" />
+ <img src="/images/pfeil_back.gif" width="10" height="9" alt=""></img>
<a href="javascript:history.back()" class="titlegray">
back
</a>
@@ -24,35 +17,35 @@
</tr>
<tr>
<td colspan="3">
- To finance the nature reserve, BOS has created a system of symbolical land-purchasing.
- <br /><br />
+ Til at finansiere natur reservatet har BOS skabt et system med symbolske opkøb af land.
+ <br></br><br></br>
<a href="bestellung" class="titlered">
- For 3 Euros per m² you can help creating rainforest.
+ For 3 Euros per m² kan du hjælpe med at skabe ny regnskov.
</a>
- <br /><br />
+ <br></br><br></br>
</td>
</tr>
<tr>
<td colspan="2">
- You help financing the purchase of land, ecological reforestation, a nursery, ecological agriculture, sugar palm plantations, wages for Indonesian employees, surveillance and protection of the area, fire fighting, environmental education, infrastructure, research and arboretum, orangutan islands and sunbear areas.
- <br /><br />
-Contribute to a better future and observe the development of the Samboja Lestari project on the internet.
+ Du hjælper med at financere opkøbet af land, økologisk skovrejsning, en børnehave, økologisk landbrug, sukker-palme plantager, løn til de Indonesiske ansatte, overvågning og beskyttelse af området, bekæmpelse af skovbrænde, miljø-information, infrastruktur, research og arboret, orangutang øer og områder til Sol-bjørne.
+ <br></br><br></br>
+Bidrag til en bedre fremtid og følg med i udviklingen af projektet i Samboja Lestari på internetet.
</td>
<td>
- <img src="/images/projekt_pic_en.jpg" width="240" height="120" />
+ <img src="/images/projekt_pic_en.jpg" width="240" height="120"></img>
</td>
</tr>
<tr>
<td colspan="3">
- <br />
- Each square metre that you purchase symbolically will be assigned to you by a personal profile. Via a password you will be able to re-find your squaremeters easily at any time. It is also possible to place short informations on 'your' m² and thus communicate with other Samboja Lestari sponsors.
-Visitors of this website will be able to gain insight into all m² and their personal profiles.
- <br /><br />
- <b>Observe the development of 'your' area from different perspectives. BOS provides a transparent insight via satellite pictures, and gives regular reports about the progress in situ.</b>
- <br /><br />
- Support the project and receive a rainforest document. You can also give squaremeters as a present to friends, relatives and other people you know.
- <br /><br />
- Participate and see rainforest grow! - And much more!
+ <br></br>
+ Hver kvadratmeter som du symbolsk opkøber vil blive overdraget til dig via en personlig profil. Via et password vil du så nemt kunne genfinde dine kvadratmeter til hver en tid. Det er også muligt at placerer korte informationer på 'din' kvadratmeter og derved kommunikerer med andre Samboja Lestari-sponsorer.
+Besøgende på denne website vil altså have mulighed for at få indsigt i samtlige m² and deres personlige profiler.
+ <br></br><br></br>
+ <b>Observer udviklingen i 'dit' område fra forskellige perspektiver. BOS giver en klar indsigt via satelit fotos, og giver regelmæssige reporter om fremgangen i situ.</b>
+ <br></br><br></br>
+ Støt projektet og modtag et regnskovs Diplom. Du kan også give regnskovs-kvadratmeter som en gave til venner, slægtninge og andre mennesker du kender.
+ <br></br><br></br>
+ Deltag, se regnskov gro - Og meget mere!
</td>
</tr>
<tr>
Modified: trunk/projects/bos/payment-website/templates/dk/index.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/index.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/index.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_main"
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<!-- container content_main -->
<div id="content_main">
<div id="textbox_content">
@@ -15,8 +8,8 @@
<tr>
<td colspan="3">
<a href="idea" class="titlegreen">
- Samboja Lestari - creative reforestation<br />
-A sanctuary for Borneo
+ Samboja Lestari - Kreativ skovrejsning<br></br>
+Et reservat på Borneo
</a>
</td>
<td></td>
@@ -25,7 +18,7 @@
<tr>
<td colspan="3" align="left">
<a href="idea" class="titlegreen">
- <img src="/images/start_pic_headline1.jpg" width="363" height="120" alt="" border="0" />
+ <img src="/images/start_pic_headline1.jpg" width="363" height="120" alt="" border="0"></img>
</a>
</td>
<td></td>
@@ -33,10 +26,11 @@
<tr><td height="6"></td></tr>
<tr>
<td colspan="3">
-By means of a unique reforestation concept BOS is creating a sanctuary for orangutans, sunbears and other endangered species on Borneo -maybe the last one. Satellite pictures here on the internet make it possible to observe the progress of this concept.
- <br />
+ Ved hjælp af et unikt skovrejsnings koncept har BOS skabt et reservat for orangutanger, solbjørne og andre truede dyrearter på Borneo- måske det sidste.
+Satelit fotos her på internetet gør det muligt at observere konceptets fremgang.
+ <br></br>
<a href="idea" class="more">
- ... more
+ ... mere
</a>
</td>
<td></td>
@@ -46,13 +40,13 @@
<tr>
<td>
<a href="headline2" class="titlegreen">
- The Key to Success - the Local Population
+ Nøglen til success - den lokale befolkning
</a>
</td>
<td></td>
<td>
<a href="headline3" class="titlegreen">
- Orangutan, Sunbear and Rhinoceros bird
+ Orangutang, Solbjørn og Næsehornsfugl
</a>
</td>
<td></td>
@@ -61,31 +55,31 @@
<tr>
<td align="left">
<a href="headline2" class="titlegreen">
- <img src="/images/start_pic_headline2b.jpg" width="175" height="92" alt="" border="0" />
+ <img src="/images/start_pic_headline2b.jpg" width="175" height="92" alt="" border="0"></img>
</a>
</td>
- <td><img src="/images/trans.gif" width="16" height="1" alt="" border="0" /></td>
+ <td><img src="/images/trans.gif" width="16" height="1" alt="" border="0"></img></td>
<td align="left">
<a href="headline3" class="titlegreen">
- <img src="/images/start_pic_headline3.jpg" width="175" height="92" border="0" alt="" />
+ <img src="/images/start_pic_headline3.jpg" width="175" height="92" border="0" alt=""></img>
</a>
</td>
<td></td>
</tr>
<tr><td height="6"></td></tr>
<tr>
- <td> Nature conservation and the needs of the population must not be in conflict with each other.
- <br />
+ <td> Naturbevarelse og befolkningens behov må ikke stå i modstrid med hinanden.
+ <br></br>
<a href="headline2" class="more">
- ... more
+ ... mere
</a>
</td>
<td></td>
- <td> Orangutans are in imminent danger of becoming extinct.
- <br /><br /><br />
+ <td> Orangutanger er i overhængende fare for at blive udryddet.
+ <br></br><br></br><br></br>
<a href="headline3" class="more">
- ... more
+ ... mere
</a>
</td>
<td></td>
@@ -94,21 +88,21 @@
</div>
</div>
<div id="content_right">
- <bos:news-headlines />
+ <bos:news-headlines></bos:news-headlines>
<div id="newsarchive">
- <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt="" />
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt=""></img>
<a href="javascript:window_news('archive')" class="menue">
- <strong>NEWS in ARCHIVE</strong>
+ <strong>Nyhedsarkiv</strong>
</a>
</div>
<div id="subscribe">
<form style="margin:0px" name="form" method="post">
- <input value="news" name="list" type="hidden"/>
- <strong>Information directly to your home?</strong><br />
- Your e-mail address:
- <br /><br />
- <input type="text" class="form_big" name="email" size="20" maxlength="40" value="" />
- <input value="GO" class="form_big" name="action" type="submit" onclick="return send_info_request();" />
+ <input value="news" name="list" type="hidden"></input>
+ <strong>Information sendt direkte til dit hjem?</strong><br></br>
+ Din e-mail addresse:
+ <br></br><br></br>
+ <input type="text" class="form_big" name="email" size="20" maxlength="40" value=""></input>
+ <input value="GO" class="form_big" name="action" type="submit" onclick="return send_info_request();"></input>
</form>
</div>
</div>
Modified: trunk/projects/bos/payment-website/templates/dk/info-request.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/info-request.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/info-request.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,25 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - News"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Nyheder" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<bos:send-info-request email="$(email)">
<p>
<span class="headline">
- Many thanks for your interest.
+ Vi takker for din interesse.
</span>
</p>
<p>
- We are pleased to send you informations by about BOS and our project in Samboja Lestari.
+ Vi sender dig gerne information om BOS og vores projekter i Samboja Lestari.
</p>
<p>
- If you have questions please contact: service(a)create-rainforest.org.
+ Hvis du har nogen spørgsmål, kontakt venligst: service(a)create-rainforest.org.
</p>
</bos:send-info-request>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/infosys-help-poidetail.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/infosys-help-poidetail.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/infosys-help-poidetail.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,33 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - Guide to the Satellite Map"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">Guide to the Satellite Map</h1>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Guide til Satelit Kortet" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">Guide til Satelit Kortet</h1>
<p class="text_content">
- <p>You are in the detail display for a point of interest (POI) in the project area Samboja Lestari.
- On the top left in the overview map you can see where this POI is located.
- </p>
- <p> By clicking on one of the POI titles in the list you can choose another POI.</p>
- <p> Above Right in the picture you find six detail photos of this POI.
- By clicking on the miniature you can increase the chosen photo.
+ <p>Du er nu i et detaljeret display af et "point of interest" (POI) i projekt-området Samboja Lestari.
+ Øverst til venstre på oversigtskortet kan du se hvor dette POI befinder sig.
+ </p>
+ <p> Ved at klikke på en af POI-titlerne på listen kan du vælge en anden POI.</p>
+ <p> Øverst til højre i billedet finder du seks ditaljerede fotos af denne POI.
+ Ved at klikke på miniaturen kan du forstørre det valgte foto.
</p>
- <p> At the lower edge of the photo are up to three buttons with the titles <strong>Sat map</strong>,
- <strong>Luftbild</strong> and <strong>Panorama</strong>.
- By clickng on one of the buttons you can choose a different view of the POI</p>
+ <p> I bunden af billedet ses op til tre ikoner med titlerne <strong>Sat kort</strong>,
+ <strong>Luftfoto</strong> og <strong>Panorama</strong>.
+ Ved at klikke på en af ikonerne kan du vælge et andet udsyn til din POI</p>
<p style="margin-left: 40px; margin-right: 40px;">
<bl>
- <li><strong>Sat-Karte</strong> Cutout from the satellite photo of the project area of 2002. </li>
- <li><strong>Aerial photograph </strong> Aerial photograph of the POI, taken up in the autumn 2004 of a light airplane. </li>
- <li><strong>Panorama</strong> Panorama photo of the POI, taken in the autumn 2004.
- By clicking and dragging in the panorama picture you can change the view</li>
+ <li><strong>Sat-kort</strong> Uddrag fra et satelit foto af projekt området i 2002. </li>
+ <li><strong>Luft foto </strong>Luft foto af POI, taget fra oppefra i efteråret 2004 af et lille fly. </li>
+ <li><strong>Panorama</strong> Panorama foto af POI, taget i efteråret 2004.
+ Ved at klikke på og trække i panorama billedet kan du ændre synsvinkel </li>
</bl>
</p>
- <p> Click on the overview map on the top left to return to the POI overview.</p>
+ <p> Klik på oversigtskortet for at vende tilbage til POI oversigten.</p>
</p>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/infosys-help-poifoto.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/infosys-help-poifoto.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/infosys-help-poifoto.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,20 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - Guide to the Satellite Map"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">Guide to the Satellite Map</h1>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Guide til Satelit Kortet" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">Guide til Satelit Kortet</h1>
<p class="text_content">
- <p> You are in the detail display for a point of interest (POI) in the project area Samboja Lestari.
- On the top left in the overview map you can see where this POI is located.</p>
- <p> The picture shows an image of the POI. Click on any of the six small images on the
- top right-hand side to get further images of the POI. Click on "Back" to return to the satellite
- map section of the POI.</p>
- <p> Click on the overview map on the top left to return to the POI overview.</p>
+ <p> Du er nu i et detaljeret display af et "point of interest" (POI) i projekt-området Samboja Lestari.
+ Øverst til venstre på oversigtskortet kan du se hvor dette POI befinder sig.</p>
+ <p> Fotoet viser et billede af POI. Klik på en af de seks små billeder i øverste højre side for flere billeder af den pågældende POI. Klik på "tilbage" for at vende tilbage til kort-sektionen af POI.
+ </p>
+ <p> Klik på overblikskortet i øverste venstre hjørne for at vende tilbage og få et POI overblik.</p>
</p>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/infosys-help-qmdetail.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/infosys-help-qmdetail.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/infosys-help-qmdetail.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,35 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - Guide to the Satellite Map"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">Guide to the Satellite Map</h1>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Guide til Satelit Kortet" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">Guide til Satelit Kortet</h1>
<p class="text_content">
- <p> You are now in the map overview for the square metre sales area.
- Here you can get an overview of how many square metres have already been sold.
- In addition you can see the sponsors profiles and their posted messages. </p>
- <p> If you are logged on with your password your "own" square metres will be marked with an icon (<img src="/images/qm.gif"
- border="0" />)on the satellite map. The "purchased" square metres will be highlighted in a different colour.
- Click on the satellite map in the middle of the screen to move the "Square Metre Magnifier".
- The red marked area will appear in an enlarged form in the upper right of the screen. Click on the "sold"
- colour marked square metre areas in the enlarged image to find out more about the sponsors in their sponsor profile.
- This is displayed under the enlarged area and is shown by moving the mouse over it. </p>
- <p> On the bottom right of the satellite map you can get the area menu. Click on the individual
- areas on the satellite map to
- get the names of the individual areas. </p>
- <p>The following areas can be viewed:</p>
+ <p> Du er nu i oversigtskortet i området med salget af kvardratmeter.
+ Her kan du få et overblik over hvor mange kvardratmeter der allerede er blevet solgt.
+ Og du kan ligeledes se sponsornes profiler og deres meddelelser.</p>
+ <p> Hvis du er logget på med et password vil din "egen" kvardratmeter være markeret med et ikon på satelit kortet. (<img src="/images/qm.gif" border="0"></img>)Den "købte" kvardratmeter vil være fremhævet i en anden farve.
+ Klik på satelit kortet i midten af skærmen for at bevæge "kvardratmeter forstørren."
+ Området mærket med rødt vil komme til syne i forstørret form øverst til højre på skærmen. Klik på det farve-mærkede "solgt" kvardratmeter område i det forstørrede billede for at finde ud af mere om sponsorne i deres sponsor profil.
+ Dette findes under det forstørrede område og vises når man fører sin markør hen over det. </p>
+ <p> Nederst til højre i satalit kortet kan man finde område menuen. Klik på de enkelte områder på kortet for at få navnene på hvert område. </p>
+ <p>Følgende områder kan ses:</p>
<p style="margin-left: 40px; margin-right: 40px;">
<bl>
- <li><strong>Sat-Karte</strong> The satellite map is the background of the map </li>
- <li><strong>Areas for Sale</strong>Areas that can be purchased are shown in grey. </li>
- <li><strong>Sold Areas</strong> Areas that have been purchased are displayed in various colours</li>
+ <li><strong>Sat-Kort</strong> Satelitkortet er baggrunden af kortet </li>
+ <li><strong>Områder til salg</strong>Områder der kan købes er vist med gråt </li>
+ <li><strong>Solgte områder</strong> Omrøder der allerede er solgt er vist i forkellige farver</li>
</bl>
</p>
- <p>Click on the overview map on the top left to return to the POI overview.</p>
+ <p>Klik på oversigts kortet øverst til venstre for at vende tilbage til POI oversigten.</p>
</p>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/infosys-help-uebersicht.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/infosys-help-uebersicht.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/infosys-help-uebersicht.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,72 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - Guide to the Satellite Map"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">About the satellite map</h1>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Guide til Satelit Kortet" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">Om Satelit Kortet</h1>
<p class="text_content">
- <p> You find yourself in our satellite information system. Here you can see for yourself
- how the project area in Samboja Lestari looks like.
- Furthermore, you can look up where the square metres you have sponsored are located. </p>
+ <p> Du befinder dig nu i vores satelit informations system. Her kan du se med dine egne øjne hvordan projekt området i Samboja Lestari ser ud.
+ Ydermere, kan du finde ud af hvor de kvardratmeter du har sponseret befinder sig. </p>
<p>
- On the main map you see several icons you can click at, which will then lead you to further images:</p>
+ På hovedkortet kan du se flere forskellige ikoner som du kan klikke på og som vil lede dig videre til flere billeder:</p>
<span style="border-left:30px; border-right:30px">
<table border="0">
<tr>
<td width="20"> </td>
<td>
- <img src="/images/punkt.gif" border="0" />
+ <img src="/images/punkt.gif" border="0"></img>
</td>
<td>
- Here is one facility run by BOS.
+ Her er en af BOS faciliteter.
</td>
<td width="20"> </td>
</tr>
<tr>
<td width="20"> </td>
<td>
- <img src="/images/palme.gif" border="0" />
+ <img src="/images/palme.gif" border="0"></img>
</td>
<td>
- This icon marks a point of interest in the project area.
+ Dette ikon markere et POI i projekt området.
</td>
<td width="20"> </td>
</tr>
<tr>
<td width="20"> </td>
<td>
- <img src="/images/sale.gif" border="0" />
+ <img src="/images/sale.gif" border="0"></img>
</td>
<td>
- Sales area for square metres. Here, profiles of square metre sponsors can be looked at.
+ Salgsområde for kvardratmeter. Her kan kvardratmeter sponsorernes profiler ses.
</td>
<td width="20"> </td>
</tr>
<tr>
<td width="20"> </td>
<td>
- <img src="/images/qm.gif" border="0" />
+ <img src="/images/qm.gif" border="0"></img>
</td>
<td>
- Here are 'your' square metres. This icon only comes up if you are registered.
+ Her er 'dine' kvardratmeter. Dette ikon kommer kun frem hvis du er registreret.
</td>
<td width="20"> </td>
</tr>
</table>
</span>
- <p> By clicking at the 'point of interest' list on the left,
- you will get directly to the point of interest you wish to look at. </p>
- <p> In order to get back to the main menu from one of the sublevels,
- please click at the main map on the top left. </p>
- <p> In case you already have sponsored square metres, you can register on the bottom left
- by entering your sponsor-ID, password or mastercode into the login-area. You then have access
- to your sponsor profile. You are able to recall your sponsor status;
- and you have access to your rainforest-certificate as PDF document. </p>
- <p> We wish you lots of fun on your virtual expedition to Samboja Lestari!</p>
+ <p> Ved at klikke på POI-listen til venste, vil du komme direkte til det punkt du ønsker at se. </p>
+ <p> For at komme tilbage til hovedmenuen fra en af undermenuerne, klik på hovedkortet i øverst til venstre.
+ </p>
+ <p> Hvis du allerede har sponserede kvardratmeter, kan du registrer dig nederst til venstre ved at indtaste dit sponsor-ID, password eller masterkode i login-området. Derefter vil du have adgang til din sponsor profil. Du kan tjekke din sponsor status, og du har adgang til dit regnskovs diplom som et PDF dokument. </p>
+ <p> Vi ønsker dig rigtig god fornøjelse med din virtuelle ekspidition til Samboja Lestari!</p>
</p>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/infosystem.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/infosystem.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/infosystem.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,23 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--<BASE HREF="http://jabberwock.dyndns.orgbuy-sqm">-->
- <link rel="stylesheet" href="/static/toplevel_style.css" />
- <link rel="stylesheet" href="/static/content_style.css" />
+ <link rel="stylesheet" href="/static/toplevel_style.css"></link>
+ <link rel="stylesheet" href="/static/content_style.css"></link>
<script src="/static/bos.js" type="text/javascript">
</script>
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
- <title>RAINFOREST for SAMBOJA LESTARI - Infosystem</title>
+ <meta http-equiv="content-type" content="text/html;charset=UTF-8"></meta>
+ <title>Regnskov i SAMBOJA LESTARI - Infosystem</title>
</head>
<body>
<div id="header_infosystem">
</div>
<div id="content_infosystem">
- <h1 class="extra">Infosystem "satellite map"</h1>
+ <h1 class="extra">Infosystem "satelit kort"</h1>
</div>
</body>
</html>
-
Modified: trunk/projects/bos/payment-website/templates/dk/news.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/news.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/news.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,18 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - News"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <bos:news-item />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Nyheder" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <bos:news-item></bos:news-item>
<h1 class="extra">
- <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt="" />
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt=""></img>
<a href="javascript:window_news('../archive')" class="more">
- NEWS in ARCHIVE
+ Nyhedsarkiv
</a>
</h1>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/print_profil_setup.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/print_profil_setup.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/print_profil_setup.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - printing your profile"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - print din profil" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<div id="noprint"><!-- container wird nicht mitgedruckt -->
<table border="0">
<tr>
@@ -17,22 +10,22 @@
<td width="10">
</td>
<td colspan="2">
- Please check your printer setup before printing if necessary.
+ Check din printers setup før du printer.
</td>
</tr>
<tr>
<td colspan="2"> </td>
<td align="right" height="30">
- <input class="form_big" type="button" value="print" onclick="self.print(); return false;" id="drucken" name="drucken" />
+ <input class="form_big" type="button" value="print" onclick="self.print(); return false;" id="drucken" name="drucken"></input>
</td>
</tr>
</table>
</div>
<!-- content_main -->
- <table id="formTable" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+ <table id="formTable" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
- <td colspan="3" height="10"><h1 class="extra">My m² in Samboja Lestari - my sponsor profile</h1>
+ <td colspan="3" height="10"><h1 class="extra">Mine m² i Samboja Lestari - min sponsor profil</h1>
</td>
</tr>
<tr>
@@ -40,12 +33,12 @@
</td>
</tr>
<tr>
- <td colspan="3" height="25">Your sponsor profile login data:
+ <td colspan="3" height="25">Din sponsor profil login data:
</td>
</tr>
<tr>
<td height="20" width="40%">
- <strong>Your sponsor ID:</strong>
+ <strong>Dit sponsor ID:</strong>
</td>
<td width="15">
</td>
@@ -55,12 +48,12 @@
</tr>
<tr>
<td height="30">
- <strong>Your password:</strong>
+ <strong>Dit password:</strong>
</td>
<td>
</td>
<td>
- $(sponsor-password_new)
+ $(sponsor-password_ny)
</td>
</tr>
<tr>
@@ -68,7 +61,7 @@
</td>
</tr>
<tr>
- <td colspan="3">At this moment we manage your profile under the following name:
+ <td colspan="3">Nu står din profil under følgende navn:
</td>
</tr>
<tr>
@@ -77,12 +70,12 @@
</tr>
<tr>
<td width="40%" height="20">
- Name:
+ Navn:
</td>
<td>
</td>
<td>
- $(name)
+ $(navn)
</td>
</tr>
<tr>
@@ -91,7 +84,7 @@
</tr>
<tr>
<td colspan="3">
- <br />Your e-mail address will <strong>not</strong> be published and is only used for internal purposes.
+ <br></br>Din e-mail addresse vil <strong>ikke</strong> blive kopieret eller videregivet og bliver kun brugt til internt brug.
</td>
</tr>
<tr>
@@ -100,7 +93,7 @@
</tr>
<tr>
<td class="content_text" height="20">
- E-mail address:
+ E-mail addresse:
</td>
<td>
</td>
@@ -137,4 +130,4 @@
</td>
</tr>
</table>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/privacy.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/privacy.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/privacy.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- template="toplevel_extra"
- title="RAINFOREST for SAMBOJA LESTARI - Privacy Policy"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
- <h1 class="extra">Privacy Policy of BOS Deutschland e.V.</h1>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_extra" title="Regnskov i SAMBOJA LESTARI - Privacy Policy" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <h1 class="extra">Privacy Policy for BOS International e.V.</h1>
<p class="text_content">
<p>
The protection of your personal data via electronic processing is strictly regulated,
@@ -18,40 +11,34 @@
exemption paper of the Finanzamt (tax office) in Kiel-Nord, no. GL5105.
</p>
<p>
-<b>What happens with your personal data?</b>
+<b>Hvad sker der med dine personlige data?</b>
</p>
<p>
-Once you have decided to make a donation on-line, you are asked to disclose
-your bank details. This information will exclusively be processed by WorldPay.
-WorldPay is a renowned, international provider for on-line payment.
-Your data will be send by WorldPay through a coded SSL-transaction,
-and deleted immediately after the successful transaction.
-BOS Deutschand e.V. has no access to your bank details whatsoever.
+Når du har besluttet dig for at lave en donation online, vil du blive bedt om at give dine bank-oplysninger. Denne information vil blive behandlet egenhændigt af WorldPay.
+WorldPay er en anerkendt, international udbyder af online betalling.
+Din data vil blive sendt til WorldPay gennem en kodet SSL-forbindelse,
+og vil blive slettet straks efter en successfuld transaktion.
+BOS International har ellers ingen afgang til din bank-information.
</p>
<p>
-Each square metre of the ecological project you sponsor with your donation
-is linked to your personal profile. This profile consists of your name,
-country of origin, number of square metres you sponsor and the date of your donation.
-A personalised greeting text is possible. All profile information (except your e-mail address and postal address)
-is available to visitors of our webpage. Through this, transparency and interaction between sponsors is being promoted. Profile information can be altered by logging in with your password at all times.
-By doing so, it is also possible to stay anonymous.
+Hver kvardratmeter du sponserer med din donation er linket til din personlige profil. Denne profil består af dit navn, hjemland, antal kvardratmeter du sponserer og datoen for din donation.
+Det er desuden muligt at skrive en personlig hilsen. Alt profil-information (undtagen e-mail addresse og post addresse) vil være tilgængelig til besøgende på vores website. På denne måde promoveres kommunikation og menningsudveksling mellem vores sponsore. Profil information kan altid ændres ved at logge ind med dit password. Ved at gøre dette, er det også muligt at forblive anonym.
+
</p>
<p>
-In order to send you your personal profile including your sponsor-ID and password, we need your e-mail address.
-For sending certificates by mail we need your postal address, and the name of the person the certificate is
-to be issued to.
-In order to receive our newsletter/news we would need your e-mail address.
+For at kunne sende dig din personlige profil, indeholdende dit sponsor-ID og password, skal vi bruge din e-mail addresse.
+For at kunne sende dit Regnskovs Diplom med normal post skal vi bruge din post addresse, og navnet på den person diplomet skal udstedes til.
+For at kunne modtage vores nyhedsbrev/nyhedher, skal vi bruge din e-mail addresse.
</p>
<p>
-We assure you that this data will only be used for administrative and informative
-purposes of BOS Deutschland e.V.,as well as for BOS associates international.
-In case you do not wish to receive any more information from us, you are able to
+Vi forsikre dig om at din data kun vil blive brugt til administrative og informative formål for BOS international.
+Hvis du på noget tidspunkt ikke længere ønsker at modtage mere information fra os, kan du til hver en tid slette din data fra vores system. In case you do not wish to receive any more information from us, you are able to
delete your data from the system at any time.
-For this purpose, please always give your sponsor ID!
+Til dette formål, vær venlig altid at oplyse dit sponsor ID!
</p>
<p>
-In case you have further questions regarding the reglementation of privacy policy of BOS Deutschland e.V.,
-please send an e-mail to: datenschutz(a)bos-deutschland.de
+Hvis du har flere spørgsmåI vedrørende reglerne om Privacy policy for BOS International
+send venligst en e-mail til: bos(a)orangutang.dk
</p>
</p>
</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/profil.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/profil.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/profil.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,23 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<head>
- <title>Profile creation</title>
- <meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
+ <title>Oprettelse af profil</title>
+ <meta http-equiv="Content-Type" content="text/html" charset="utf-8"></meta>
<script language="JavaScript" type="text/JavaScript" src="/static/profil_en.js"> </script>
- <link href="/static/profil_style.css" rel="stylesheet" type="text/css" />
+ <link href="/static/profil_style.css" rel="stylesheet" type="text/css"></link>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<bos:save-profile>
<form name="form" method="POST">
<table width="740" border="0" cellpadding="0" cellspacing="0">
<tr>
- <td height="50" colspan="3"><img src="../images/header_infosystem.gif" width="740" height="50"/></td>
+ <td height="50" colspan="3"><img src="../images/header_infosystem.gif" width="740" height="50"></img></td>
</tr>
<tr>
<td height="20" class="BreadCrumbs"> </td>
@@ -31,64 +26,64 @@
<tr>
<td class="Label">Sponsor ID</td>
<td class="Input">$(sponsor-id)</td>
- <td class="Info">will be created from our system</td>
+ <td class="Info">Vil blive oprettet i vores system</td>
</tr>
<tr>
- <td class="Label">Country</td>
- <td class="Input">$(country)</td>
- <td class="Info">can not be changed</td>
+ <td class="Label">Land</td>
+ <td class="Input">$(land)</td>
+ <td class="Info">kan ikke ændres</td>
</tr>
<tr>
- <td class="Label">Name</td>
- <td class="Input"><input type="text" name="name" size="23" value="$(name)"/></td>
+ <td class="Label">Navn</td>
+ <td class="Input"><input type="text" name="name" size="23" value="$(name)"></input></td>
<td class="Info"></td>
</tr>
<tr>
- <td class="Label">new password</td>
- <td class="Input"><input type="password" name="password" size="23"/></td>
- <td class="Info">enter your personal password</td>
+ <td class="Label">nyt password</td>
+ <td class="Input"><input type="password" name="password" size="23"></input></td>
+ <td class="Info">indtast dit personlige password</td>
</tr>
<tr>
- <td class="Label">enter password again</td>
- <td class="Input"><input type="password" name="password1" size="23"/></td>
- <td class="Info">please type in password twice</td>
+ <td class="Label">indtast password igen</td>
+ <td class="Input"><input type="password" name="password1" size="23"></input></td>
+ <td class="Info">tast venligst dit password ind to gange</td>
</tr>
<tr>
- <td class="Label">your comment</td>
- <td class="Input"><textarea class="Textarea" name="infotext" rows="3" cols="30">$(infotext)</textarea></td>
- <td class="Info">optional text, not hidden</td>
+ <td class="Label">din kommentar</td>
+ <td class="Input"><textarea class="Textarea" name="infotext" rows="3" cols="30">$(infotekst)</textarea></td>
+ <td class="Info">valgfri tekst vises</td>
</tr>
<tr>
- <td class="Label">square metres</td>
- <td class="Input">a total of $(numsqm) m² has been bought<br />UTM-coordinate: N$(sqm-x) E$(sqm-y)</td>
+ <td class="Label">kvardratmeter</td>
+ <td class="Input">til værdi af $(numsqm) m² er blevet opkøbt<br></br>UTM-kordinater: N$(sqm-x) E$(sqm-y)</td>
<td class="Info"></td>
</tr>
<tr>
<td class="Label">action message</td>
<td class="Input">
- <button name="action" type="submit" value="save" onclick="javascript:return formcheck();">SAVE</button>
+ <button name="action" type="submit" value="save" onclick="javascript:return formcheck();">GEM</button>
</td>
- <td class="Info">Your personal profile data will be updated with the entered data.</td>
+ <td class="Info">Dine personlige data vil blive updateret med den nye indtastede data.</td>
</tr>
<tr>
<td class="Label"></td>
<td class="Input">
- <button name="anonymize" type="submit" value="anonymize" onclick="javascript:return anonymizecheck();">make profile anonymous</button>
+ <button name="anonymize" type="submit" value="anonymize" onclick="javascript:return anonymizecheck();">gør profil anonym</button>
</td>
- <td class="Info">Your personal data will be hidden.</td>
+ <td class="Info">Dine personlige data vil være skjult.</td>
</tr>
<tr>
<td class="Label"></td>
<td class="Input">
- <button name="action" type="reset">discard changes</button>
+ <button name="action" type="reset">slet ændringer</button>
</td>
- <td class="Info">All arranged changes have been discarded.</td>
+ <td class="Info">Alle viste ændringer vil blive slettet.</td>
</tr>
<bos:when-certificate>
<tr>
<td class="Label"></td>
- <td class="Input"><button name="urkunde" type="button" onclick="javascript:return window_urkunde();">show certificate</button></td>
- <td class="Info">show certificate/download as pdf</td>
+ <td class="Input"><button name="urkunde" type="button" onclick="javascript:return window_urkunde();">vis diplom</button></td>
+ <td class="Info">vis diplom/download som pdf</td>
</tr>
</bos:when-certificate>
<!-- not yet
@@ -110,8 +105,8 @@
<td class="Label"></td>
<td class="Input">
<a class="Link" href="#" onclick="document.location.href = '/infosystem/en/satellitenkarte.htm'">
- <img src="/images/pfeil_back.gif" border="0"/>
- back
+ <img src="/images/pfeil_back.gif" border="0"></img>
+ tilbage
</a>
</td>
<td class="Info"></td>
Modified: trunk/projects/bos/payment-website/templates/dk/profil_setup.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/profil_setup.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/profil_setup.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,12 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
- title="RAINFOREST for SAMBOJA LESTARI"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel title="Regnskov i SAMBOJA LESTARI" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<div id="content">
<!-- content left-->
<div id="content_left">
@@ -15,7 +9,7 @@
<tr>
<td></td>
<td colspan="2">
- <img src="/images/step5.gif" width="120" height="20" border="0" alt="" />
+ <img src="/images/step5.gif" width="120" height="20" border="0" alt=""></img>
</td>
</tr>
<tr><td colspan="4" height="40"></td></tr>
@@ -36,21 +30,21 @@
<!-- /content left-->
<!-- container content_main -->
<div id="content_main">
- <div id="textbox_content_big" >
+ <div id="textbox_content_big">
<form method="post" action="save-initial-profile" name="form" onsubmit="return check_profil_setup();">
- <input type="hidden" name="sponsor-id" value="$(sponsor-id)" />
+ <input type="hidden" name="sponsor-id" value="$(sponsor-id)"></input>
<table id="formTable" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" height="10">
</td>
</tr>
<tr>
- <td colspan="3" height="25">Create your sponsor profile now:
+ <td colspan="3" height="25">Opret din sponsor profil nu:
</td>
</tr>
<tr>
<td height="20" width="40%">
- <strong>Your sponsor ID:</strong>
+ <strong>Dit sponsor ID:</strong>
</td>
<td width="15">
</td>
@@ -65,17 +59,17 @@
<td>
</td>
<td>
- <input type="password" name="password" value="" size="20" class="form_big" />
+ <input type="password" name="password" value="" size="20" class="form_big"></input>
</td>
</tr>
<tr>
<td height="30">
- <strong>Repeat password:</strong>
+ <strong>Gentag password:</strong>
</td>
<td>
</td>
<td>
- <input type="password" name="password1" value="" size="20" class="form_big" />
+ <input type="password" name="password1" value="" size="20" class="form_big"></input>
</td>
</tr>
<tr>
@@ -84,7 +78,7 @@
</tr>
<tr>
<td colspan="3">
- Currently we process your profile under the name below. You can change this name or stay anonymous.
+ Dit profil står nu under dette navn. Du kan til hver en tid ændre dette navn eller forblive anonym.
</td>
</tr>
<tr>
@@ -93,17 +87,14 @@
</tr>
<tr>
<td width="40%" height="20">
- Name:
+ Navn:
</td>
<td>
</td>
<td>
- <input type="text" name="name" value="$(name)" size="20" class="form_big"
- onclick="javascript:document.form.anonym.checked = false;"
- onblur="javascript:if (this.value == '') { document.form.anonym.checked = true; }"/>
- <br />
- <input type="checkbox" name="anonym" value="1"
- onclick="javascript:if (this.checked) { document.form.name.value = ''; }"/> anonymous
+ <input type="text" name="name" value="$(name)" size="20" class="form_big" onclick="javascript:document.form.anonym.checked = false;" onblur="javascript:if (this.value == '') { document.form.anonym.checked = true; }"></input>
+ <br></br>
+ <input type="checkbox" name="anonym" value="1" onclick="javascript:if (this.checked) { document.form.name.value = ''; }"></input> anonym
</td>
</tr>
<tr>
@@ -112,8 +103,8 @@
</tr>
<tr>
<td colspan="3">
- <br />
- Your e-mail address will <strong>not</strong> be published and is only used for internal infomation.
+ <br></br>
+ Din e-mail addresse vil <strong>ikke</strong> være offentlig tilgængelig.
</td>
</tr>
<tr>
@@ -122,12 +113,12 @@
</tr>
<tr>
<td class="content_text" height="20">
- E-mail address:
+ E-mail addresse:
</td>
<td>
</td>
<td>
- <input type="text" name="email" value="$(email)" size="33" class="form_big" />
+ <input type="text" name="email" value="$(email)" size="33" class="form_big"></input>
</td>
</tr>
<tr>
@@ -148,7 +139,7 @@
</tr>
<tr>
<td colspan="3" align="right">
- <input type="submit" class="form_big" name="Button" value="save and continue" />
+ <input type="submit" class="form_big" name="Button" value="save and continue"></input>
</td>
</tr>
</table>
@@ -157,12 +148,12 @@
</div>
<div id="content_right">
<div id="helpbox">
- <br /><br />
- [<strong>Profile password</strong>]<br />
- Enter your personal password. In case you forgot it you can find a master password on your payment confirmation, that is sent to you by e-mail.<br /><br /><br /><br /><br />
- [<strong>Profile creation</strong>]<br />
- Define under wich name "your" m² will be indicated.<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
+ <br></br><br></br>
+ [<strong>Profile password</strong>]<br></br>
+ Indtast dit personlige password. Hvis du har glemt dit password kan det findes på din betalings-bekræftigelse som er sendt til din e-mail.<br></br><br></br><br></br><br></br><br></br>
+ [<strong>Oprettelse af profil</strong>]<br></br>
+ Bestem under hvilket navn "dine" m² skal stå.<br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br>
</div>
</div>
</div>
-</bknr:toplevel>
\ No newline at end of file
+</bknr:toplevel>
Modified: trunk/projects/bos/payment-website/templates/dk/quittung.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/quittung.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/quittung.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,20 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- suppress-xml-headers="1"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos" suppress-xml-headers="1">
<head>
- <base href="$(website-url)/en/quittung" />
- <link rel="stylesheet" href="/static/toplevel_style.css" />
- <link rel="stylesheet" href="/static/content_style.css" />
+ <base href="$(website-url)/en/quittung"></base>
+ <link rel="stylesheet" href="/static/toplevel_style.css"></link>
+ <link rel="stylesheet" href="/static/content_style.css"></link>
<script src="/static/bos.js" type="text/javascript"><!-- x -->
</script>
<!--<meta http-equiv="content-type" content="text/html; charset=UTF-8" />-->
- <title>RAINFOREST for SAMBOJA LESTARI</title>
+ <title>Regnskov i SAMBOJA LESTARI</title>
</head>
<body>
@@ -23,12 +17,12 @@
<div id="menue_banner">
<a href="index">
- <img src="../images/header_ganzneu.gif" border="0" />
+ <img src="../images/header_ganzneu.gif" border="0"></img>
</a>
</div>
<div id="menue_header_left">
- BOS Foundation
+ Foreningen BOS
</div>
</div>
@@ -41,21 +35,21 @@
<tr>
<td></td>
<td colspan="2">
- <img src="/images/step3.gif" width="120" height="20" border="0" alt="" />
+ <img src="/images/step3.gif" width="120" height="20" border="0" alt=""></img>
</td>
</tr>
<tr><td colspan="4" height="40"></td></tr>
<tr>
<td> </td>
- <td colspan="2"><span class="link_titlered">Thank you</span><br /><br /></td>
+ <td colspan="2"><span class="link_titlered">Tak</span><br></br><br></br></td>
<td></td>
</tr>
<tr>
<td></td>
<td colspan="2">
- for your support and for trusting in BOS.
- <br /><br />
- The square metre(s) you sponsor are in good hands.
+ for din støtte og for din tilld til BOS.
+ <br></br><br></br>
+ Kvardratmeterne du har sponseret er i gode hænder.
</td>
<td></td>
</tr>
@@ -76,20 +70,20 @@
<!-- /content left-->
<!-- container content_main -->
<div id="content_main">
- <div id="textbox_content_big" >
+ <div id="textbox_content_big">
<bos:process-payment>
<form method="post" action="generate-cert">
- <input type="hidden" name="contract-id" value="$(cartId)" />
- <input type="hidden" name="__sponsorid" value="$(sponsor-id)" />
- <input type="hidden" name="__password" value="$(master-code)" />
- <input type="hidden" name="email" value="$(email)" />
+ <input type="hidden" name="contract-id" value="$(cartId)"></input>
+ <input type="hidden" name="__sponsorid" value="$(sponsor-id)"></input>
+ <input type="hidden" name="__password" value="$(master-code)"></input>
+ <input type="hidden" name="email" value="$(email)"></input>
<table id="formTable" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
- <td colspan="3"><span class="headline">Your payment has been successful:</span></td>
+ <td colspan="3"><span class="headline">Din betaling er modtaget:</span></td>
</tr>
<tr>
<td colspan="3" height="140">
- <bos:worldpay-receipt />
+ <bos:worldpay-receipt></bos:worldpay-receipt>
</td>
</tr>
<tr>
@@ -103,17 +97,17 @@
</tr>
<tr>
- <td colspan="3" height="15">What name will you have issued your Rainforest certificate in? </td>
+ <td colspan="3" height="15">I hvilket navn skal vi udstede dit Regnskovs diplom? </td>
</tr>
<tr>
- <td height="30">Name:</td>
+ <td height="30">Navn:</td>
<td></td>
- <td><input type="text" class="form_big" size="35" name="name" value="$(name)" /></td>
+ <td><input type="text" class="form_big" size="35" name="name" value="$(name)"></input></td>
</tr>
<tr>
<td colspan="3" height="8">
<span class="help_text">
- We accept the name entered in this field. Please correct the indicated name if necessary.
+ Vi acceptere det intastede navn i dette felt. Vær venlig at ændre navnet om nødvendigt.
</span>
</td>
</tr>
@@ -129,9 +123,7 @@
</tr>
<tr>
<td colspan="3" align="right">
- <input type="submit" class="form_big" name="Button"
- onclick="javascript:return confirm('Is the indicated name correct?');"
- value="save and continue" />
+ <input type="submit" class="form_big" name="Button" onclick="javascript:return confirm('Is the indicated name correct?');" value="save and continue"></input>
</td>
</tr>
</table>
@@ -141,28 +133,27 @@
</div>
<div id="content_right">
<div id="helpbox">
- <br /><br />
- [<strong>Payment confirmation</strong>]
- <br />
- This payment confirmation by WorldPay is already under way to your e-mail account.
-In the unexpected case that you will not receive a message please contact
+ <br></br><br></br>
+ [<strong>Betalings-bekræftigelse</strong>]
+ <br></br>
+ Denne betalings-bekræftigelse fra WorldPay er allerede undervejs til din indbox. I den uventede situation at du ikke skulle modtage nogen besked, venligst kontakt:
- <br />
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ <br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="mailto:service@create-rainforest.org" class="more">
service(a)create-rainforest.org
</a>
- <br /><br /><br />
+ <br></br><br></br><br></br>
- [<strong>Rainforest certificate</strong>]
- <br />
- Starting with 1 square metre only you receive our
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt="" />
+ [<strong>Regnskovs diplom</strong>]
+ <br></br>
+ Med bare 1 sponseret kvardratmeter vil du modtage vores
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
<a href="javascript:window_extra('certificat')" class="more">
- Rainforest certificate
+ Regnskovs diplom
</a>
- as a pdf-download from your personal sponsor profile.
- <br /><br /><br /><br /><br /><br /><br />
+ som et pdf-download fra din personlige sponsor profil.
+ <br></br><br></br><br></br><br></br><br></br><br></br><br></br>
</div>
</div>
</div>
Modified: trunk/projects/bos/payment-website/templates/dk/sponsor_canceled.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/sponsor_canceled.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/sponsor_canceled.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,20 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- suppress-xml-headers="1"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos" suppress-xml-headers="1">
<head>
- <base href="$(website-url)/en/sponsor_canceled" />
- <link rel="stylesheet" href="/static/toplevel_style.css" />
- <link rel="stylesheet" href="/static/content_style.css" />
+ <base href="$(website-url)/en/sponsor_canceled"></base>
+ <link rel="stylesheet" href="/static/toplevel_style.css"></link>
+ <link rel="stylesheet" href="/static/content_style.css"></link>
<script src="/static/bos.js" type="text/javascript"><!-- x -->
</script>
<!--<meta http-equiv="content-type" content="text/html; charset=UTF-8" />-->
- <title>RAINFOREST for SAMBOJA LESTARI</title>
+ <title>Regnskov i SAMBOJA LESTARI</title>
</head>
<body>
@@ -23,47 +17,42 @@
<div id="menue_banner">
<a href="index">
- <img src="../images/header_ganzneu.gif" border="0" />
+ <img src="../images/header_ganzneu.gif" border="0"></img>
</a>
</div>
<div id="menue_header_left">
- BOS Deutschland e.V.
+ BOS International
</div>
<div id="menue_header_main">
<div>l</div>
<div>
- <a href="idea" class="menue"
- title="What exactly is happening.">
- project
+ <a href="idea" class="menue" title="What exactly is happening.">
+ projekt
</a>
</div>
<div>l</div>
<div>
- <a href="bestellung" class="menue"
- title="Join us!">
+ <a href="bestellung" class="menue" title="Join us!">
donation
</a>
</div>
<div>l</div>
<div>
- <a href="bos" class="menue"
- title="BOS Foundation">
+ <a href="bos" class="menue" title="BOS Foundation">
BOS
</a>
</div>
<div>l</div>
<div>
- <a href="javascript:window_infosys()" class="menue"
- title="Move to satellite map.">
- satellite map
+ <a href="javascript:window_infosys()" class="menue" title="Move to satellite map.">
+ satelit kort
</a>
</div>
<div>l</div>
<div>
- <a href="contact" class="menue"
- title="Contact us.">
- contact
+ <a href="contact" class="menue" title="Contact us.">
+ kontakt
</a>
</div>
<div>l</div>
@@ -90,18 +79,18 @@
<!-- /content left-->
<!-- container content_main -->
<div id="content_main">
- <div id="textbox_content_big" >
+ <div id="textbox_content_big">
<table id="formTable" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
- <td colspan="3"><span class="headline">Your transaction has been cancelled.</span></td>
+ <td colspan="3"><span class="headline">Din overførsel er blevet slettet..</span></td>
</tr>
</table>
</div>
</div>
<div id="content_right">
<div id="helpbox">
- <br /><br />
- [<strong>payment interrupted</strong>]
+ <br></br><br></br>
+ [<strong>betaling afbrudt</strong>]
</div>
</div>
</div>
Modified: trunk/projects/bos/payment-website/templates/dk/toplevel.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/toplevel.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/toplevel.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,20 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<head>
- <link rel="stylesheet" href="/static/toplevel_style.css" />
- <link rel="stylesheet" href="/static/content_style.css" />
+ <link rel="stylesheet" href="/static/toplevel_style.css"></link>
+ <link rel="stylesheet" href="/static/content_style.css"></link>
<script src="/static/bos.js" type="text/javascript"><!-- x -->
</script>
<script src="/static/bos_en.js" type="text/javascript"><!-- x -->
</script>
<!--<meta http-equiv="content-type" content="text/html; charset=UTF-8" />-->
- <title>$(title)</title>
+ <title>$(titel)</title>
</head>
<body>
@@ -23,48 +18,43 @@
<div id="menue_banner">
<a href="index">
- <img src="../images/header_ganzneu.gif" border="0" />
+ <img src="../images/header_ganzneu.gif" border="0"></img>
</a>
</div>
<div id="menue_header_left">
- BOS Foundation
+ Foreningen BOS
</div>
<div id="menue_header_main">
<div>l</div>
<div>
- <a href="idea" class="menue"
- title="What exactly is happening.">
- project
+ <a href="idea" class="menue" title="What exactly is happening.">
+ projekt
</a>
</div>
<div>l</div>
<div>
- <a href="bestellung" class="menue"
- title="Join us!">
+ <a href="bestellung" class="menue" title="Join us!">
donation
</a>
</div>
<div>l</div>
<div>
- <a href="bos" class="menue"
- title="BOS Foundation">
+ <a href="bos" class="menue" title="BOS Foundation">
BOS
</a>
</div>
<div>l</div>
<div>
- <a href="javascript:window_infosys()" class="menue"
- title="Move to satellite map.">
- satellite map
+ <a href="javascript:window_infosys()" class="menue" title="Move to satellite map.">
+ satelit kort
</a>
</div>
<div>l</div>
<div>
- <a href="contact" class="menue"
- title="Contact us.">
- contact
+ <a href="contact" class="menue" title="Contact us.">
+ kontakt
</a>
</div>
<div>l</div>
@@ -73,7 +63,7 @@
<!-- /header and menu_top -->
<!-- content 3teilig-->
- <bknr:tag-body />
+ <bknr:tag-body></bknr:tag-body>
<!-- /content 3teilig-->
</body>
Modified: trunk/projects/bos/payment-website/templates/dk/toplevel_extra.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/toplevel_extra.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/toplevel_extra.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,30 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<head>
- <bos:maybe-base href="$(base-url)" />
- <link rel="stylesheet" href="/static/toplevel_style.css" />
- <link rel="stylesheet" href="/static/content_style.css" />
+ <bos:maybe-base href="$(base-url)"></bos:maybe-base>
+ <link rel="stylesheet" href="/static/toplevel_style.css"></link>
+ <link rel="stylesheet" href="/static/content_style.css"></link>
<script src="/static/bos.js" type="text/javascript"><!-- x -->
</script>
<!--<meta http-equiv="content-type" content="text/html; charset=UTF-8" />-->
- <title>$(title)</title>
+ <title>$(titel)</title>
</head>
<body>
<div id="header_extra">
</div>
<div id="content_extra">
- <bknr:tag-body />
+ <bknr:tag-body></bknr:tag-body>
</div>
<div style="padding:10px">
- <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt="" />
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt=""></img>
<a href="javascript:window.close()" class="more">
- close window
+ luk vindue
</a>
</div>
</body>
Modified: trunk/projects/bos/payment-website/templates/dk/toplevel_main.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/toplevel_main.xml 2006-11-08 07:01:18 UTC (rev 2064)
+++ trunk/projects/bos/payment-website/templates/dk/toplevel_main.xml 2006-11-08 08:07:43 UTC (rev 2065)
@@ -1,14 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bknr="http://bknr.net"
- xmlns:bos="http://headcraft.de/bos"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
<head>
- <link rel="stylesheet" href="/static/toplevel_style.css" />
- <link rel="stylesheet" href="/static/content_style.css" />
+ <link rel="stylesheet" href="/static/toplevel_style.css"></link>
+ <link rel="stylesheet" href="/static/content_style.css"></link>
<script src="/static/bos.js" type="text/javascript"><!-- x -->
</script>
<!--<meta http-equiv="content-type" content="text/html; charset=UTF-8" />-->
@@ -20,55 +15,49 @@
<div id="menue_banner">
<a href="index">
- <img src="../images/header_ganzneu.gif" border="0" />
+ <img src="../images/header_ganzneu.gif" border="0"></img>
</a>
</div>
<div id="menue_header_left">
- BOS Foundation
+ Foreningen BOS
</div>
<div id="menue_header_main">
<div>l</div>
<div>
- <a href="idea" class="menue"
- title="What exactly is happening.">
- project
+ <a href="idea" class="menue" title="What exactly is happening.">
+ projekt
</a>
</div>
<div>l</div>
<div>
- <a href="bestellung" class="menue"
- title="Join us!">
- donate
+ <a href="bestellung" class="menue" title="Join us!">
+ donér
</a>
</div>
<div>l</div>
<div>
- <a href="bos" class="menue"
- title="BOS Foundation">
+ <a href="bos" class="menue" title="BOS Foundation">
BOS
</a>
</div>
<div>l</div>
<div>
- <a href="javascript:window_infosys()" class="menue"
- title="Move to satellite map.">
- satellite map
+ <a href="javascript:window_infosys()" class="menue" title="Move to satellite map.">
+ satelit kort
</a>
</div>
<div>l</div>
<div>
- <a href="contact" class="menue"
- title="Contact us.">
- contact
+ <a href="contact" class="menue" title="Contact us.">
+ kontakt
</a>
</div>
<div>l</div>
</div>
<div id="menue_header_right" align="right">
- <select name="language" style="width:125px;"
- onchange="jumpMenu('parent', this, 0)">
- <bos:language-options />
+ <select name="language" style="width:125px;" onchange="jumpMenu('parent', this, 0)">
+ <bos:language-options></bos:language-options>
</select>
</div>
</div>
@@ -88,8 +77,8 @@
<td width="6">
</td>
<td colspan="2">
- <strong>Buy Rainforest!</strong>
- <br /><br /><br />
+ <strong>Køb Regnskov!</strong>
+ <br></br><br></br><br></br>
</td>
<td>
</td>
@@ -97,11 +86,11 @@
<tr>
<td>
</td>
- <td colspan="2" >
- <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt="" />
+ <td colspan="2">
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt=""></img>
<a href="bestellung" class="content_black">
- Donate!
- </a><br />
+ Donér!
+ </a><br></br>
</td>
<td>
</td>
@@ -110,7 +99,7 @@
<tr>
<td colspan="4" valign="bottom">
<a href="bestellung" class="content_black">
- <img src="/images/spenden.jpg" width="150" height="71" border="0" alt="" />
+ <img src="/images/spenden.jpg" width="150" height="71" border="0" alt=""></img>
</a>
</td>
</tr>
@@ -123,18 +112,17 @@
<tr>
<td width="6"> </td>
<td colspan="2">
- <strong>Satellite Map</strong>
- <br /></td>
+ <strong>Satelit Kort</strong>
+ <br></br></td>
<td></td>
</tr>
<tr><td colspan="3" height="5"></td></tr>
<tr>
<td></td>
<td colspan="2">
- <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt="" />
- <a href="javascript:window_infosys()"
- class="content_black">
- It's all about m².<br /><br />
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" border="0" alt=""></img>
+ <a href="javascript:window_infosys()" class="content_black">
+ Det handler om m².<br></br><br></br>
</a>
</td>
<td></td>
@@ -142,7 +130,7 @@
<tr>
<td colspan="3" height="88">
<a href="javascript:window_infosys()">
- <img src="/images/trans.gif" width="149" height="108" border="0" alt="" />
+ <img src="/images/trans.gif" width="149" height="108" border="0" alt=""></img>
</a>
</td>
</tr>
@@ -161,7 +149,7 @@
<!-- /footer -->
</div>
<!-- /content left-->
- <bknr:tag-body />
+ <bknr:tag-body></bknr:tag-body>
<!-- /content 3teilig-->
</div>
</body>
1
0
Author: hhubner
Date: 2006-11-08 02:01:18 -0500 (Wed, 08 Nov 2006)
New Revision: 2064
Modified:
trunk/projects/bos/m2/m2.lisp
trunk/projects/bos/m2/mail-generator.lisp
Log:
Allow for country-specific emails. Contract data is now sent to the
danish office for danish contracts. Other countries can be added by
changing mail-generator.lisp.
Modified: trunk/projects/bos/m2/m2.lisp
===================================================================
--- trunk/projects/bos/m2/m2.lisp 2006-11-08 06:59:43 UTC (rev 2063)
+++ trunk/projects/bos/m2/m2.lisp 2006-11-08 07:01:18 UTC (rev 2064)
@@ -346,7 +346,7 @@
(format t "profil.name = ~S;~%" (string-safe (or (user-full-name sponsor) "[anonym]")))
(format t "profil.country = ~S;~%" (or (sponsor-country sponsor) "[unbekannt]"))
(format t "profil.anzahl = ~D;~%" (loop for contract in paid-contracts
- sum (length (contract-m2s contract))))
+ sum (length (contract-m2s contract))))
(format t "profil.nachricht = '~A';~%" (string-safe (sponsor-info-text sponsor)))
(format t "profil.contracts = [ ];~%")
(loop for contract in paid-contracts
Modified: trunk/projects/bos/m2/mail-generator.lisp
===================================================================
--- trunk/projects/bos/m2/mail-generator.lisp 2006-11-08 06:59:43 UTC (rev 2063)
+++ trunk/projects/bos/m2/mail-generator.lisp 2006-11-08 07:01:18 UTC (rev 2064)
@@ -2,6 +2,13 @@
(enable-interpol-syntax)
+(defvar *country->office-email* '(("DK" . "service(a)bosdanmark.dk")))
+
+(defun contract-office-email (contract)
+ "Return the email address of the MXM office responsible for handling a contract"
+ (or (cdr (assoc (sponsor-country (contract-sponsor contract)) *country->office-email* :test #'string-equal))
+ *office-mail-address*))
+
(defun send-system-mail (&key (to *office-mail-address*) (subject "(no subject") (text "(no text)") (content-type "text/plain; charset=UTF-8") more-headers)
(send-smtp "localhost" *mail-sender* to
(format nil "X-Mailer: BKNR-BOS-mailer
@@ -151,7 +158,8 @@
:encoding :base64
:content (file-contents (contract-pdf-pathname contract :print t)))
mime-parts))
- (send-system-mail :subject (format nil "~A-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
+ (send-system-mail :to (contract-office-email contract)
+ :subject (format nil "~A-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
type
(store-object-id (contract-sponsor contract))
(store-object-id contract))
1
0
Author: hhubner
Date: 2006-11-08 01:59:43 -0500 (Wed, 08 Nov 2006)
New Revision: 2063
Modified:
trunk/bknr/src/data/object.lisp
Log:
Change global object hash table to use #'eql for test. This used to
be an #'eq hash table, which may fail once the object ids become
bignums.
Modified: trunk/bknr/src/data/object.lisp
===================================================================
--- trunk/bknr/src/data/object.lisp 2006-11-07 17:29:07 UTC (rev 2062)
+++ trunk/bknr/src/data/object.lisp 2006-11-08 06:59:43 UTC (rev 2063)
@@ -109,7 +109,7 @@
(defclass store-object ()
((id :initarg :id :reader store-object-id
:index-type unique-index
- :index-initargs (:test #'eq :rehash-size 10000 :size 10000)
+ :index-initargs (:test #'eql :rehash-size 10000 :size 10000)
:index-reader store-object-with-id :index-values all-store-objects
:index-mapvalues map-store-objects))
(:metaclass persistent-class)
@@ -392,9 +392,9 @@
(object (store-object-with-id object-id)))
(restart-case
(progn
- #+nil(format t "read-slots for object ~A, id ~A~%" object object-id)
+ #+nil (format t "read-slots for object ~A, id ~A~%" object object-id)
(unless object
- (warn "READ-SLOTS form for unexistent object with ID ~A~%" object-id)
+ (error "READ-SLOTS form for unexistent object with ID ~A~%" object-id)
(return-from snapshot-read-slots))
(%read-slots stream object (cdr (gethash layout-id layouts)))
#+nil
1
0
Author: hhubner
Date: 2006-11-07 12:29:07 -0500 (Tue, 07 Nov 2006)
New Revision: 2062
Modified:
trunk/projects/bos/payment-website/static/bos.js
trunk/projects/bos/payment-website/static/bos_en.js
Log:
Check that the user entered the number of square meters she wants to
"buy".
Modified: trunk/projects/bos/payment-website/static/bos.js
===================================================================
--- trunk/projects/bos/payment-website/static/bos.js 2006-11-05 20:58:53 UTC (rev 2061)
+++ trunk/projects/bos/payment-website/static/bos.js 2006-11-07 17:29:07 UTC (rev 2062)
@@ -1,220 +1,227 @@
// -*- Java -*- Script
+
// *** extrafenster fuer impressum, kontakt etc. *** //
function window_extra(target) {
- mywin=open(target,"detailwin","width=482,height=600,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
- mywin.focus();
+ mywin=open(target,"detailwin","width=482,height=600,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
+ mywin.focus();
};
// *** extrafenster für das Ringschema *** //
function window_ringdetail() {
- mywin=open("ring-detail","ringdetail","width=492,height=450,status=no,toolbar=no,menubar=no,resizable=no,scrollbars=no,left=100,top=100");
- mywin.focus();
+ mywin=open("ring-detail","ringdetail","width=492,height=450,status=no,toolbar=no,menubar=no,resizable=no,scrollbars=no,left=100,top=100");
+ mywin.focus();
};
// *** extrafenster fuer news + archive *** //
function window_news(target) {
- mywin=open(target,"newswin","width=480,height=400,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
- mywin.focus();
+ mywin=open(target,"newswin","width=480,height=400,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
+ mywin.focus();
};
// *** extrafenster fuer satellitenkarte *** //
function window_infosys() {
- var language = document.location.pathname.substr(1, 2); // XXX funktioniert nur mit 2-buchstaben-abkuerzungen von sprachen
- var url = "/infosystem/" + language + "/satellitenkarte.htm";
+ var language = document.location.pathname.substr(1, 2); // XXX funktioniert nur mit 2-buchstaben-abkuerzungen von sprachen
+ var url = "/infosystem/" + language + "/satellitenkarte.htm";
- var sponsorid_input = document.getElementById('sponsorid-input');
- var password_input = document.getElementById('password-input');
+ var sponsorid_input = document.getElementById('sponsorid-input');
+ var password_input = document.getElementById('password-input');
- if (sponsorid_input && password_input) {
- url += "?__sponsorid=" + sponsorid_input.value + "&__password=" + password_input.value;
- }
+ if (sponsorid_input && password_input) {
+ url += "?__sponsorid=" + sponsorid_input.value + "&__password=" + password_input.value;
+ }
- mywin=open(url,
- "infowin",
- "width=740,height=500,status=no,toolbar=no,menubar=no,resizable=no,scrollbars=no,left=250,top=50");
- mywin.focus();
+ mywin=open(url,
+ "infowin",
+ "width=740,height=500,status=no,toolbar=no,menubar=no,resizable=no,scrollbars=no,left=250,top=50");
+ mywin.focus();
};
// Sprachumschaltung
function jumpMenu(targ, selObj, restore) {
- eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
- if (restore)
- selObj.selectedIndex=0;
+ eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
+ if (restore)
+ selObj.selectedIndex=0;
}
// Formularcheck für Profilsetup
function check_profil_setup() {
- if (document.form.password.value == "") {
- alert('Das Kennwort darf nicht leer sein');
- document.form.password.focus();
- return false;
- }
+ if (document.form.password.value == "") {
+ alert('Das Kennwort darf nicht leer sein');
+ document.form.password.focus();
+ return false;
+ }
- if (document.form.password.value != document.form.password1.value) {
- alert('Bitte geben Sie zwei mal das gleiche Kennwort ein');
- document.form.password.focus();
- return false;
- }
+ if (document.form.password.value != document.form.password1.value) {
+ alert('Bitte geben Sie zwei mal das gleiche Kennwort ein');
+ document.form.password.focus();
+ return false;
+ }
- window_infosys();
+ window_infosys();
- return true;
+ return true;
}
// Formularchecks für Bestellung
function show_disclaimer() {
- document.bestellformular.disclaimer_read.checked = true;
- window_extra('disclaimer');
+ document.bestellformular.disclaimer_read.checked = true;
+ window_extra('disclaimer');
}
function check_ueberweisung() {
-// alert("numsqm: " + + " numsqm1: " + );
+ // alert("numsqm: " + + " numsqm1: " + );
- if (!document.bestellformular.disclaimer_read.checked) {
- alert("Bitte lesen Sie die Verzichtsklausel und bestätigen Sie sie Ihr Einverständnis durch Setzen des Häkchens");
- return false;
- }
+ if (!document.bestellformular.disclaimer_read.checked) {
+ alert("Bitte lesen Sie die Verzichtsklausel und bestätigen Sie sie Ihr Einverständnis durch Setzen des Häkchens");
+ return false;
+ }
- if (document.bestellformular.numsqm[0].checked
- || (document.bestellformular.numsqm[4].checked
- && (document.bestellformular.numsqm1.value < 5))) {
+ if (document.bestellformular.numsqm[0].checked
+ || (document.bestellformular.numsqm[4].checked
+ && (document.bestellformular.numsqm1.value < 5))) {
- alert("Aufgrund des hohen manuellen Bearbeitungsaufands sind Überweisungen erst ab einer Summe von 15 Euro (5 Quadratmeter) möglich");
- return false;
- }
+ alert("Aufgrund des hohen manuellen Bearbeitungsaufands sind Überweisungen erst ab einer Summe von 15 Euro (5 Quadratmeter) möglich");
+ return false;
+ }
- if (document.bestellformular.gift.checked) {
- alert("Den Geschenkservice können wir nur bei Online-Überweisungen anbieten");
- return false;
- }
+ if (document.bestellformular.gift.checked) {
+ alert("Den Geschenkservice können wir nur bei Online-Überweisungen anbieten");
+ return false;
+ }
}
function check_online() {
- if (!document.bestellformular.disclaimer_read.checked) {
- alert("Bitte lesen Sie die Verzichtsklausel und bestätigen Sie sie Ihr Einverständnis durch Ankreuzen der Checkbox");
- return false;
- }
+ if (!document.bestellformular.disclaimer_read.checked) {
+ alert("Bitte lesen Sie die Verzichtsklausel und bestätigen Sie sie Ihr Einverständnis durch Ankreuzen der Checkbox");
+ return false;
+ }
- if (document.bestellformular.gift.checked
- && (document.bestellformular.numsqm[0].checked
- || document.bestellformular.numsqm[1].checked
- || (document.bestellformular.numsqm[4].checked
- && (document.bestellformular.numsqm1.value < 10)))) {
+ if (!document.bestellformular.numsqm1.value.match(/^\d+/)) {
+ alert('Bitte geben Sie die Anzahl der Quadratmeter ein, die Sie "kaufen" möchten!');
+ document.bestellformular.numsqm1.focus();
+ return false;
+ }
- alert("Das Verschenken von Quadratmetern ist erst ab einer Summe von 30 Euro möglich");
- return false;
- }
+ if (document.bestellformular.gift.checked
+ && (document.bestellformular.numsqm[0].checked
+ || document.bestellformular.numsqm[1].checked
+ || (document.bestellformular.numsqm[4].checked
+ && (document.bestellformular.numsqm1.value < 10)))) {
- return true;
+ alert("Das Verschenken von Quadratmetern ist erst ab einer Summe von 30 Euro möglich");
+ return false;
+ }
+
+ return true;
}
// Formularcheck für Versandinformationen
function check_versand_info() {
- if ((document.formular.name.value == '')
- || (document.formular.address.value == '')) {
- alert("Bitte geben Sie einen Namen für die Urkunde sowie die Versandadresse an");
- return false;
- }
+ if ((document.formular.name.value == '')
+ || (document.formular.address.value == '')) {
+ alert("Bitte geben Sie einen Namen für die Urkunde sowie die Versandadresse an");
+ return false;
+ }
- return true;
+ return true;
}
// Funktion zum Verschicken von Info-Mail-Requests
function send_info_request() {
- var address = document.form.email.value;
+ var address = document.form.email.value;
- if (!is_valid_email(address)) {
- alert('Die von Ihnen eingegebene Email-Adresse "' + address + '" konnte von unserem Server nicht erkannt werden. Bitte senden '
- + 'Sie uns Ihre Anfrage per Email an service(a)createrainforest.org');
- } else {
- if (confirm('Wünschen Sie, daß wir Ihnen an die Email-Adresse "' + address + '" Informationen zu BOS und Samboja Lestari schicken?')) {
- document.form.email.value = '';
- open("info-request?email=" + escape(address),
- "mailwin", "width=480,height=235,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
- }
+ if (!is_valid_email(address)) {
+ alert('Die von Ihnen eingegebene Email-Adresse "' + address + '" konnte von unserem Server nicht erkannt werden. Bitte senden '
+ + 'Sie uns Ihre Anfrage per Email an service(a)createrainforest.org');
+ } else {
+ if (confirm('Wünschen Sie, daß wir Ihnen an die Email-Adresse "' + address + '" Informationen zu BOS und Samboja Lestari schicken?')) {
+ document.form.email.value = '';
+ open("info-request?email=" + escape(address),
+ "mailwin", "width=480,height=235,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
}
+ }
- return false;
+ return false;
}
function is_valid_email(address) {
- var filter = /^([a-zA-Z0-9_\.\-])+\(a)(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+ var filter = /^([a-zA-Z0-9_\.\-])+\(a)(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
- return filter.test(address);
+ return filter.test(address);
}
// Allgemeiner Formular-Check
function MM_findObj(n, d) {
- var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
- d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
- if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
- for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
- if(!x && d.getElementById) x=d.getElementById(n); return x;
+ var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
+ d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+ if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
+ for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
+ if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function YY_checkform() { //v4.71
-//copyright (c)1998,2002 Yaromat.com
- var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
- for (i=1; i<a.length;i=i+4){
- if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
- o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
- o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
- v=o.value;t=a[i+2];
- if (o.type=='text'||o.type=='password'||o.type=='hidden'){
- if (r&&v.length==0){err=true}
- if (v.length>0)
- if (t==1){ //fromto
- ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
- } else if (t==2){
- rx=new RegExp("^[\\w\.=-]+(a)[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
- } else if (t==3){ // date
- ma=a[i+1].split("#");at=v.match(ma[0]);
- if(at){
- cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
- dte=new Date(cy,cm,cd);
- if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
- }else{err=true}
- } else if (t==4){ // time
- ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
- } else if (t==5){ // check this 2
- if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
- if(!o1.checked){err=true}
- } else if (t==6){ // the same
- if(v!=MM_findObj(a[i+1]).value){err=true}
- }
- } else
- if (!o.type&&o.length>0&&o[0].type=='radio'){
- at = a[i].match(/(.*)\[(\d+)\].*/i);
- o2=(o.length>1)?o[at[2]]:o;
- if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
- if (t==2){
- oo=false;
- for(j=0;j<o.length;j++){oo=oo||o[j].checked}
- if(!oo){s+='* '+a[i+3]+'\n'}
- }
- } else if (o.type=='checkbox'){
- if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
- } else if (o.type=='select-one'||o.type=='select-multiple'){
- if(t==1&&o.selectedIndex/1==0){err=true}
- }else if (o.type=='textarea'){
- if(v.length<a[i+1]){err=true}
+ //copyright (c)1998,2002 Yaromat.com
+ var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
+ for (i=1; i<a.length;i=i+4){
+ if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
+ o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
+ o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
+ v=o.value;t=a[i+2];
+ if (o.type=='text'||o.type=='password'||o.type=='hidden'){
+ if (r&&v.length==0){err=true}
+ if (v.length>0)
+ if (t==1){ //fromto
+ ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
+ } else if (t==2){
+ rx=new RegExp("^[\\w\.=-]+(a)[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
+ } else if (t==3){ // date
+ ma=a[i+1].split("#");at=v.match(ma[0]);
+ if(at){
+ cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
+ dte=new Date(cy,cm,cd);
+ if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
+ }else{err=true}
+ } else if (t==4){ // time
+ ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
+ } else if (t==5){ // check this 2
+ if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
+ if(!o1.checked){err=true}
+ } else if (t==6){ // the same
+ if(v!=MM_findObj(a[i+1]).value){err=true}
+ }
+ } else
+ if (!o.type&&o.length>0&&o[0].type=='radio'){
+ at = a[i].match(/(.*)\[(\d+)\].*/i);
+ o2=(o.length>1)?o[at[2]]:o;
+ if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
+ if (t==2){
+ oo=false;
+ for(j=0;j<o.length;j++){oo=oo||o[j].checked}
+ if(!oo){s+='* '+a[i+3]+'\n'}
+ }
+ } else if (o.type=='checkbox'){
+ if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
+ } else if (o.type=='select-one'||o.type=='select-multiple'){
+ if(t==1&&o.selectedIndex/1==0){err=true}
+ }else if (o.type=='textarea'){
+ if(v.length<a[i+1]){err=true}
+ }
+ if (err){s+='* '+a[i+3]+'\n'; err=false}
}
- if (err){s+='* '+a[i+3]+'\n'; err=false}
- }
- if (s!=''){alert('Die benötigten Informationen sind unvollständig oder fehlerhaft:\t\t\t\t\t\n\n'+s)}
- document.MM_returnValue = (s=='');
+ if (s!=''){alert('Die benötigten Informationen sind unvollständig oder fehlerhaft:\t\t\t\t\t\n\n'+s)}
+ document.MM_returnValue = (s=='');
}
Modified: trunk/projects/bos/payment-website/static/bos_en.js
===================================================================
--- trunk/projects/bos/payment-website/static/bos_en.js 2006-11-05 20:58:53 UTC (rev 2061)
+++ trunk/projects/bos/payment-website/static/bos_en.js 2006-11-07 17:29:07 UTC (rev 2062)
@@ -1,3 +1,4 @@
+// -*- Java -*- Script
// Formularcheck für Profilsetup
@@ -3,62 +4,68 @@
function check_profil_setup() {
- if (document.form.password.value == "") {
- alert('Please enter your personal password.');
- document.form.password.focus();
- return false;
- }
+ if (document.form.password.value == "") {
+ alert('Please enter your personal password.');
+ document.form.password.focus();
+ return false;
+ }
- if (document.form.password.value != document.form.password1.value) {
- alert('Please enter your personal password again.');
- document.form.password.focus();
- return false;
- }
+ if (document.form.password.value != document.form.password1.value) {
+ alert('Please enter your personal password again.');
+ document.form.password.focus();
+ return false;
+ }
- window_infosys();
+ window_infosys();
- return true;
+ return true;
}
function check_ueberweisung() {
-// alert("numsqm: " + + " numsqm1: " + );
+ // alert("numsqm: " + + " numsqm1: " + );
- if (!document.bestellformular.disclaimer_read.checked) {
- alert("Please read the waiver clause and confirm your agreement with a click to the check box.");
- return false;
- }
+ if (!document.bestellformular.disclaimer_read.checked) {
+ alert("Please read the waiver clause and confirm your agreement with a click to the check box.");
+ return false;
+ }
- if (document.bestellformular.numsqm[0].checked
- || (document.bestellformular.numsqm[4].checked
- && (document.bestellformular.numsqm1.value < 5))) {
+ if (document.bestellformular.numsqm[0].checked
+ || (document.bestellformular.numsqm[4].checked
+ && (document.bestellformular.numsqm1.value < 5))) {
- alert("Aufgrund des hohen manuellen Bearbeitungsaufands sind Überweisungen erst ab einer Summe von 15 Euro (5 Quadratmeter) möglich");
- return false;
- }
+ alert("Aufgrund des hohen manuellen Bearbeitungsaufands sind Überweisungen erst ab einer Summe von 15 Euro (5 Quadratmeter) möglich");
+ return false;
+ }
- if (document.bestellformular.gift.checked) {
- alert("Den Geschenkservice können wir nur bei Online-Überweisungen anbieten");
- return false;
- }
+ if (document.bestellformular.gift.checked) {
+ alert("Den Geschenkservice können wir nur bei Online-Überweisungen anbieten");
+ return false;
+ }
}
function check_online() {
- if (!document.bestellformular.disclaimer_read.checked) {
- alert("Please read the waiver clause and confirm your agreement with a click to the check box.");
- return false;
- }
+ if (!document.bestellformular.disclaimer_read.checked) {
+ alert("Please read the waiver clause and confirm your agreement with a click to the check box.");
+ return false;
+ }
- if (document.bestellformular.gift.checked
- && (document.bestellformular.numsqm[0].checked
- || document.bestellformular.numsqm[1].checked
- || (document.bestellformular.numsqm[4].checked
- && (document.bestellformular.numsqm1.value < 10)))) {
+ if (!document.bestellformular.numsqm1.value.match(/^\d+/)) {
+ alert('Please enter the number of square meters that you want to "buy"!');
+ document.bestellformular.numsqm1.focus();
+ return false;
+ }
- alert("Das Verschenken von Quadratmetern ist erst ab einer Summe von 30 Euro möglich");
- return false;
- }
+ if (document.bestellformular.gift.checked
+ && (document.bestellformular.numsqm[0].checked
+ || document.bestellformular.numsqm[1].checked
+ || (document.bestellformular.numsqm[4].checked
+ && (document.bestellformular.numsqm1.value < 10)))) {
- return true;
+ alert("Das Verschenken von Quadratmetern ist erst ab einer Summe von 30 Euro möglich");
+ return false;
+ }
+
+ return true;
}
@@ -67,30 +74,30 @@
function check_versand_info() {
- if ((document.formular.name.value == '')
- || (document.formular.address.value == '')) {
- alert("Please enter a name and address for your rainforest certificate.");
- return false;
- }
+ if ((document.formular.name.value == '')
+ || (document.formular.address.value == '')) {
+ alert("Please enter a name and address for your rainforest certificate.");
+ return false;
+ }
- return true;
+ return true;
}
// Funktion zum Verschicken von Info-Mail-Requests
function send_info_request() {
- var address = document.form.email.value;
+ var address = document.form.email.value;
- if (!is_valid_email(address)) {
- alert('The email address you entered "' + address + '" was not recogniced by our server. Please send your request to '
- + 'service(a)createrainforest.org');
- } else {
- if (confirm('Would you like to receive informations about BOS and Samboja Lestari to "' + address + '"?')) {
- document.form.email.value = '';
- open("info-request?email=" + escape(address),
- "mailwin", "width=480,height=235,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
- }
+ if (!is_valid_email(address)) {
+ alert('The email address you entered "' + address + '" was not recogniced by our server. Please send your request to '
+ + 'service(a)createrainforest.org');
+ } else {
+ if (confirm('Would you like to receive informations about BOS and Samboja Lestari to "' + address + '"?')) {
+ document.form.email.value = '';
+ open("info-request?email=" + escape(address),
+ "mailwin", "width=480,height=235,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=100,top=100");
}
+ }
- return false;
+ return false;
}
1
0
Author: hhubner
Date: 2006-11-05 15:58:53 -0500 (Sun, 05 Nov 2006)
New Revision: 2061
Modified:
trunk/projects/bos/worldpay-test/tags.lisp
trunk/projects/bos/worldpay-test/worldpay-test.lisp
Log:
certificate generation fixed for WorldPay payment
Modified: trunk/projects/bos/worldpay-test/tags.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/tags.lisp 2006-11-05 20:58:04 UTC (rev 2060)
+++ trunk/projects/bos/worldpay-test/tags.lisp 2006-11-05 20:58:53 UTC (rev 2061)
@@ -40,6 +40,7 @@
(with-template-vars (gift email name address)
(let ((contract (find-store-object (parse-integer (get-template-var :contract-id)))))
(contract-issue-cert contract name :address address :language (session-variable :language))
+ (mail-worldpay-sponsor-data (get-template-var :request))
(bknr.web::redirect-request :target (if gift "index"
(format nil "profil_setup?name=~A&email=~A&sponsor-id=~A"
(uriencode-string name) (uriencode-string email)
@@ -112,11 +113,6 @@
strasse
plz ort)
:language (session-variable :language))
- (loop
- do (progn
- (format t "~&; waiting for generation of certificate, contract-id ~A" contract-id)
- (sleep 2))
- until (probe-file (contract-pdf-pathname contract)))
(mail-manual-sponsor-data (get-template-var :request)))))
(define-bknr-tag when-certificate (&key children)
Modified: trunk/projects/bos/worldpay-test/worldpay-test.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/worldpay-test.lisp 2006-11-05 20:58:04 UTC (rev 2060)
+++ trunk/projects/bos/worldpay-test/worldpay-test.lisp 2006-11-05 20:58:53 UTC (rev 2061)
@@ -27,6 +27,7 @@
(with-query-params (request cartId name address country transStatus lang MC_gift)
(unless (website-supports-language lang)
(setf lang *default-language*))
+ (bos.m2::remember-worldpay-params cartId (all-request-params request))
(let ((contract (get-contract (parse-integer cartId))))
(cond
((not (typep contract 'contract))
@@ -36,10 +37,8 @@
((equal "C" transStatus)
(setf template-name #?"/$(lang)/sponsor_canceled"))
((< (contract-price contract) *mail-certificate-threshold*)
- (mail-worldpay-sponsor-data request)
(setf template-name #?"/$(lang)/quittung"))
(t
- (mail-worldpay-sponsor-data request)
(when (<= *mail-fiscal-certificate-threshold* (contract-price contract))
(mail-fiscal-certificate-to-office contract name address country))
(setf template-name (if (and MC_gift (equal MC_gift "1")) #?"/$(lang)/versand_geschenk" #?"/$(lang)/versand_info")))))))
1
0
Author: hhubner
Date: 2006-11-05 15:58:04 -0500 (Sun, 05 Nov 2006)
New Revision: 2060
Modified:
trunk/projects/bos/m2/m2.lisp
trunk/projects/bos/m2/mail-generator.lisp
Log:
Certificate generation fixed for payment by WorldPay
Modified: trunk/projects/bos/m2/m2.lisp
===================================================================
--- trunk/projects/bos/m2/m2.lisp 2006-11-05 20:57:13 UTC (rev 2059)
+++ trunk/projects/bos/m2/m2.lisp 2006-11-05 20:58:04 UTC (rev 2060)
@@ -263,6 +263,11 @@
(make-certificate contract name :address address :language language)
(unless (contract-download-only-p contract)
(make-certificate contract name :address address :language language :print t))
+ (loop
+ do (progn
+ (format t "~&; waiting for generation of certificate, contract-id ~A" (store-object-id contract))
+ (sleep 2))
+ until (probe-file (contract-pdf-pathname contract)))
(change-slot-values contract 'cert-issued t))))
(defmethod contract-image-tiles ((contract contract))
Modified: trunk/projects/bos/m2/mail-generator.lisp
===================================================================
--- trunk/projects/bos/m2/mail-generator.lisp 2006-11-05 20:57:13 UTC (rev 2059)
+++ trunk/projects/bos/m2/mail-generator.lisp 2006-11-05 20:58:04 UTC (rev 2060)
@@ -113,22 +113,11 @@
(NOTE ,note)
(END "VCARD"))))
-(defun worldpay-callback-request-to-vcard (request)
- (with-query-params (request cartId
- transId
- authAmountString
- cardType
- MC_sponsorid
- MC_donationcert-yearly
- MC_gift
- name
- address
- postcode
- country
- email
- tel)
- (let ((contract (store-object-with-id (parse-integer cartId))))
- (make-vcard :sponsor-id MC_sponsorid
+(defun worldpay-callback-params-to-vcard (params)
+ (labels ((param (name)
+ (cdr (assoc name params :test #'string-equal))))
+ (let ((contract (store-object-with-id (parse-integer (param 'cartId)))))
+ (make-vcard :sponsor-id (param 'MC_sponsorid)
:note (format nil "Paid-by: Worldpay
Contract ID: ~A
Sponsor ID: ~A
@@ -139,54 +128,54 @@
Donationcert yearly: ~A
Gift: ~A
"
- cartId
+ (param 'cartId)
(store-object-id (contract-sponsor contract))
(length (contract-m2s contract))
- authAmountString
- cardType
- transId
- (if MC_donationcert-yearly "Yes" "No")
- (if MC_gift "Yes" "No"))
- :name name
- :address address
- :postcode postcode
- :country country
- :email email
- :tel tel))))
+ (param 'authAmountString)
+ (param 'cardType)
+ (param 'transId)
+ (if (param 'MC_donationcert-yearly) "Yes" "No")
+ (if (param 'MC_gift) "Yes" "No"))
+ :name (param 'name)
+ :address (param 'address)
+ :postcode (param 'postcode)
+ :country (param 'country)
+ :email (param 'email)
+ :tel (param 'tel)))))
(defun mail-contract-data (contract type mime-parts)
(unless (contract-download-only-p contract)
- (push (make-instance 'mime
- :type "application"
- :subtype (format nil "pdf; name=\"contract-~A.pdf\"" (store-object-id contract))
- :encoding :base64
- :content (file-contents (contract-pdf-pathname contract :print t)))
- mime-parts))
- (send-system-mail :subject (format nil "~A-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
- type
- (store-object-id (contract-sponsor contract))
- (store-object-id contract))
- :content-type "multipart/mixed"
- :more-headers t
- :text (with-output-to-string (s)
- (print-mime s
- (make-instance 'multipart-mime
- :subtype "mixed"
- :content mime-parts)
- t t)))
- (unless (contract-download-only-p contract)
- (delete-file (contract-pdf-pathname contract :print t))))
+ (push (make-instance 'mime
+ :type "application"
+ :subtype (format nil "pdf; name=\"contract-~A.pdf\"" (store-object-id contract))
+ :encoding :base64
+ :content (file-contents (contract-pdf-pathname contract :print t)))
+ mime-parts))
+ (send-system-mail :subject (format nil "~A-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
+ type
+ (store-object-id (contract-sponsor contract))
+ (store-object-id contract))
+ :content-type "multipart/mixed"
+ :more-headers t
+ :text (with-output-to-string (s)
+ (print-mime s
+ (make-instance 'multipart-mime
+ :subtype "mixed"
+ :content mime-parts)
+ t t)))
+ (unless (contract-download-only-p contract)
+ (delete-file (contract-pdf-pathname contract :print t))))
(defun mail-manual-sponsor-data (req)
(with-query-params (req contract-id vorname name strasse plz ort email telefon donationcert-yearly)
(let* ((contract (store-object-with-id (parse-integer contract-id)))
(sponsor-id (store-object-id (contract-sponsor contract)))
(parts (list (make-instance 'text-mime
- :type "text"
- :subtype "html"
- :charset "utf-8"
- :encoding :quoted-printable
- :content (format nil "
+ :type "text"
+ :subtype "html"
+ :charset "utf-8"
+ :encoding :quoted-printable
+ :content (format nil "
<html>
<body>
<h1>Ueberweisungsformulardaten:</h1>
@@ -207,63 +196,76 @@
</body>
</html>
"
- contract-id
- (length (contract-m2s contract))
- vorname name strasse plz ort email telefon
- (if donationcert-yearly "ja" "nein")
- *website-url* contract-id email))
- (make-instance 'text-mime
- :type "text"
- :subtype (format nil "xml; name=\"contract-~A.xml\"" contract-id)
- :charset "utf-8"
- :encoding :quoted-printable
- :content (format nil "
+ contract-id
+ (length (contract-m2s contract))
+ vorname name strasse plz ort email telefon
+ (if donationcert-yearly "ja" "nein")
+ *website-url* contract-id email))
+ (make-instance 'text-mime
+ :type "text"
+ :subtype (format nil "xml; name=\"contract-~A.xml\"" contract-id)
+ :charset "utf-8"
+ :encoding :quoted-printable
+ :content (format nil "
<sponsor>
~{<~A>~A</~A>~}
</sponsor>
"
- (apply #'append (mapcar #'(lambda (cons)
- (list (car cons)
- (if (find #\Newline (cdr cons))
- (format nil "<![CDATA[~A]]>" (cdr cons))
- (cdr cons))
- (car cons)))
- (all-request-params req)))))
- (make-instance 'text-mime
- :type "text"
- :subtype (format nil "x-vcard; name=\"contract-~A.vcf\"" contract-id)
- :charset "utf-8"
- :content (make-vcard :sponsor-id sponsor-id
- :note (format nil "Paid-by: Manual money transfer
+ (apply #'append (mapcar #'(lambda (cons)
+ (list (car cons)
+ (if (find #\Newline (cdr cons))
+ (format nil "<![CDATA[~A]]>" (cdr cons))
+ (cdr cons))
+ (car cons)))
+ (all-request-params req)))))
+ (make-instance 'text-mime
+ :type "text"
+ :subtype (format nil "x-vcard; name=\"contract-~A.vcf\"" contract-id)
+ :charset "utf-8"
+ :content (make-vcard :sponsor-id sponsor-id
+ :note (format nil "Paid-by: Manual money transfer
Contract ID: ~A
Sponsor ID: ~A
Number of sqms: ~A
Amount: EUR~A.00
Donationcert yearly: ~A
"
- contract-id
- sponsor-id
- (length (contract-m2s contract))
- (* 3 (length (contract-m2s contract)))
- (if donationcert-yearly "Yes" "No"))
- :vorname vorname
- :nachname name
- :strasse strasse
- :postcode plz
- :ort ort
- :email email
- :tel telefon)))))
+ contract-id
+ sponsor-id
+ (length (contract-m2s contract))
+ (* 3 (length (contract-m2s contract)))
+ (if donationcert-yearly "Yes" "No"))
+ :vorname vorname
+ :nachname name
+ :strasse strasse
+ :postcode plz
+ :ort ort
+ :email email
+ :tel telefon)))))
(mail-contract-data contract "Ueberweisungsformular" parts))))
+(defvar *worldpay-params-hash* (make-hash-table :test #'equal))
+
+(defun remember-worldpay-params (contract-id params)
+ "Remember the parameters sent in a callback request from Worldpay so that they can be mailed to the BOS office later on"
+ (setf (gethash contract-id *worldpay-params-hash*) params))
+
+(defun get-worldpay-params (contract-id)
+ (or (prog1
+ (gethash contract-id *worldpay-params-hash*)
+ (remhash contract-id *worldpay-params-hash*))
+ (error "cannot find WorldPay callback params for contract ~A~%" contract-id)))
+
(defun mail-worldpay-sponsor-data (req)
- (with-query-params (req cartId)
- (let* ((contract (store-object-with-id (parse-integer cartId)))
+ (with-query-params (req contract-id)
+ (let* ((contract (store-object-with-id (parse-integer contract-id)))
+ (params (get-worldpay-params contract-id))
(parts (list (make-instance 'text-mime
- :type "text"
- :subtype "html"
- :charset "utf-8"
- :encoding :quoted-printable
- :content (format nil "
+ :type "text"
+ :subtype "html"
+ :charset "utf-8"
+ :encoding :quoted-printable
+ :content (format nil "
<table border=\"1\">
<tr>
<th>Parameter</th>
@@ -272,30 +274,30 @@
~{<tr><td>~A</td><td>~A</td></tr>~}
</table>
"
- (apply #'append (mapcar #'(lambda (cons) (list (car cons) (cdr cons)))
- (sort (copy-list (all-request-params req))
- #'string-lessp
- :key #'car)))))
- (make-instance 'text-mime
- :type "text"
- :subtype (format nil "xml; name=\"contract-~A.xml\"" (store-object-id contract))
- :charset "utf-8"
- :encoding :quoted-printable
- :content (format nil "
+ (apply #'append (mapcar #'(lambda (cons) (list (car cons) (cdr cons)))
+ (sort (copy-list params)
+ #'string-lessp
+ :key #'car)))))
+ (make-instance 'text-mime
+ :type "text"
+ :subtype (format nil "xml; name=\"contract-~A.xml\"" (store-object-id contract))
+ :charset "utf-8"
+ :encoding :quoted-printable
+ :content (format nil "
<sponsor>
~{<~A>~A</~A>~}
</sponsor>
"
- (apply #'append (mapcar #'(lambda (cons)
- (list (car cons)
- (if (find #\Newline (cdr cons))
- (format nil "<![CDATA[~A]]>" (cdr cons))
- (cdr cons))
- (car cons)))
- (all-request-params req)))))
- (make-instance 'text-mime
- :type "text"
- :subtype (format nil "x-vcard; name=\"contract-~A.vcf\"" (store-object-id contract))
- :charset "utf-8"
- :content (worldpay-callback-request-to-vcard req)))))
+ (apply #'append (mapcar #'(lambda (cons)
+ (list (car cons)
+ (if (find #\Newline (cdr cons))
+ (format nil "<![CDATA[~A]]>" (cdr cons))
+ (cdr cons))
+ (car cons)))
+ params))))
+ (make-instance 'text-mime
+ :type "text"
+ :subtype (format nil "x-vcard; name=\"contract-~A.vcf\"" (store-object-id contract))
+ :charset "utf-8"
+ :content (worldpay-callback-params-to-vcard params)))))
(mail-contract-data contract "WorldPay" parts))))
1
0
[bknr-cvs] r2059 - in trunk/projects/bos/payment-website/templates: de dk
by bknr@bknr.net 05 Nov '06
by bknr@bknr.net 05 Nov '06
05 Nov '06
Author: hhubner
Date: 2006-11-05 15:57:13 -0500 (Sun, 05 Nov 2006)
New Revision: 2059
Modified:
trunk/projects/bos/payment-website/templates/de/quittung.xml
trunk/projects/bos/payment-website/templates/dk/contact.xml
Log:
textual correction, intermediate danish contact page.
Modified: trunk/projects/bos/payment-website/templates/de/quittung.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/de/quittung.xml 2006-11-05 20:56:25 UTC (rev 2058)
+++ trunk/projects/bos/payment-website/templates/de/quittung.xml 2006-11-05 20:57:13 UTC (rev 2059)
@@ -113,7 +113,7 @@
<tr>
<td colspan="3" height="8">
<span class="help_text">
- Wir Äbernehmen den Namen, der in diesem Eingabefeld angegeben wird.
+ Wir Übernehmen den Namen, der in diesem Eingabefeld angegeben wird.
Bitte korrigieren Sie bei Bedarf die angezeigte Eingabe.
</span>
</td>
Modified: trunk/projects/bos/payment-website/templates/dk/contact.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/dk/contact.xml 2006-11-05 20:56:25 UTC (rev 2058)
+++ trunk/projects/bos/payment-website/templates/dk/contact.xml 2006-11-05 20:57:13 UTC (rev 2059)
@@ -1,78 +1,78 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
-<bknr:toplevel template="toplevel_main" title="Regnskov til SAMBOJA LESTARI - Kontakt" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
- <div id="content_main">
- <div id="textbox_content">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="3"><span class="headline">kontakt</span>
- </td>
- <td>
- </td>
- </tr>
- <tr>
- <td height="15">
- </td>
- </tr>
- <tr>
- <td>Kontakt BOS Danmark med eventuelle spørgsmål.<br></br>
- Vi modtager også gerne ideer til forbedringer at denne hjemmeside.
- <br></br><br></br>
- BOS Danmark.<br></br>
- Økologihuset, Blegdamsvej 4b<br></br>
- 2200 København N
- <br></br><br></br>
- Telefon: 70 203 206<br></br>
- Fax: 3537 3636<br></br><br></br>
- E-Mail:
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
- <a href="mailto:bos@orangutang.dk" class="more">
- bos(a)orangutang.dk
- </a>
- <br></br><br></br><br></br><br></br><br></br><br></br>
- Vi besvarer alle henvendelser hurtigst muligt.
- <br></br>
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div id="content_right">
- <div id="textbox_right_top">
- <table id="rightTable" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td height="30">
- </td>
- </tr>
- <tr>
- <td colspan="2"><img src="/images/bos-logo.gif" width="116" height="85" alt=""></img>
- </td>
- </tr>
- <tr>
- <td height="10">
- </td>
- </tr>
- <tr>
- <td colspan="2">Vil du vide mere om BOS's projekter?
- <br></br><br></br>
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
- <a href="http://www.savetheorangutan.info" target="_blank" class="more">
- savetheorangutan.info
- </a>
- <br></br>
- <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
- <a href="http://www.orangutang.dk" target="_blank" class="more">
- orangutang.dk
- </a>
- <br></br><br></br>
- </td>
- </tr>
- <tr>
- <td>På disse hjemmesider kan du finde information om BOS's partnere rundt om i verden.
- </td>
- </tr>
- </table>
- </div>
- </div>
-</bknr:toplevel>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+<bknr:toplevel template="toplevel_main" title="Regnskov til SAMBOJA LESTARI - Kontakt" xmlns="http://www.w3.org/1999/xhtml" xmlns:bknr="http://bknr.net" xmlns:bos="http://headcraft.de/bos">
+ <div id="content_main">
+ <div id="textbox_content">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <td colspan="3"><span class="headline">kontakt</span>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td height="15">
+ </td>
+ </tr>
+ <tr>
+ <td>Kontakt BOS Danmark med eventuelle spørgsmål.<br></br>
+ Vi modtager også gerne ideer til forbedringer at denne hjemmeside.
+ <br></br><br></br>
+ BOS Danmark.<br></br>
+ Økologihuset<br></br>
+ Blegdamsvej 4b<br></br>
+ 2200 København N
+ <br></br><br></br>
+ Telefon: 70 203 206<br></br>
+ Fax: 3537 3636<br></br><br></br>
+ E-Mail:
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
+ <a href="mailto:bos@orangutang.dk" class="more">
+ bos(a)orangutang.dk
+ </a>
+ <br></br><br></br><br></br><br></br><br></br><br></br>
+ Vi besvarer alle henvendelser hurtigst muligt.
+ <br></br>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div id="content_right">
+ <div id="textbox_right_top">
+ <table id="rightTable" border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <td height="30">
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2"><img src="/images/bos-logo.gif" width="116" height="85" alt=""></img>
+ </td>
+ </tr>
+ <tr>
+ <td height="10">
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">Vil du vide mere om BOS's projekter?
+ <br></br><br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
+ <a href="http://www.savetheorangutan.info" target="_blank" class="more">
+ savetheorangutan.info
+ </a>
+ <br></br>
+ <img src="/images/pfeil_link_on.gif" width="10" height="9" alt=""></img>
+ <a href="http://www.orangutang.dk" target="_blank" class="more">
+ orangutang.dk
+ </a>
+ <br></br><br></br>
+ </td>
+ </tr>
+ <tr>
+ <td>På disse hjemmesider kan du finde information om BOS's partnere rundt om i verden.
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+</bknr:toplevel>
1
0
Author: hhubner
Date: 2006-11-05 15:56:25 -0500 (Sun, 05 Nov 2006)
New Revision: 2058
Modified:
trunk/bknr/src/web/rss-handlers.lisp
Log:
Try to properly specify encoding for RSS feed, does not yet work.
Modified: trunk/bknr/src/web/rss-handlers.lisp
===================================================================
--- trunk/bknr/src/web/rss-handlers.lisp 2006-11-05 20:51:58 UTC (rev 2057)
+++ trunk/bknr/src/web/rss-handlers.lisp 2006-11-05 20:56:25 UTC (rev 2058)
@@ -9,7 +9,7 @@
(error "invalid channel name"))
(defmethod handle-object ((handler rss-handler) (channel bknr.rss:rss-channel) req)
- (with-bknr-http-response (req :content-type "text/xml")
+ (with-bknr-http-response (req :content-type "text/xml; charset=UTF-8")
(with-http-body (req *ent*)
- (html (:princ "<?xml version=\"1.0\"?>")
+ (html (:princ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
(bknr.rss:rss-channel-xml channel *html-stream*)))))
1
0
Author: hhubner
Date: 2006-11-05 15:51:58 -0500 (Sun, 05 Nov 2006)
New Revision: 2057
Modified:
trunk/bknr/src/packages.lisp
trunk/bknr/src/web/handlers.lisp
trunk/bknr/src/web/tags.lisp
Log:
Add RSS meta tag to generated pages.
Modified: trunk/bknr/src/packages.lisp
===================================================================
--- trunk/bknr/src/packages.lisp 2006-11-05 20:51:19 UTC (rev 2056)
+++ trunk/bknr/src/packages.lisp 2006-11-05 20:51:58 UTC (rev 2057)
@@ -290,6 +290,7 @@
#:website-session-info
#:website-base-href
#:website-make-path
+ #:website-rss-feed-url
#:host
#:publish-site
#:publish-handler
Modified: trunk/bknr/src/web/handlers.lisp
===================================================================
--- trunk/bknr/src/web/handlers.lisp 2006-11-05 20:51:19 UTC (rev 2056)
+++ trunk/bknr/src/web/handlers.lisp 2006-11-05 20:51:58 UTC (rev 2057)
@@ -45,6 +45,8 @@
:accessor website-site-logo-url)
(login-logo-url :initarg :login-logo-url
:accessor website-login-logo-url)
+ (rss-feed-url :initarg :rss-feed-url
+ :accessor website-rss-feed-url)
(import-spool-directory :initarg :import-spool-directory
:accessor website-import-spool-directory)
(template-base-directory :initarg :template-base-directory
@@ -72,7 +74,8 @@
:template-base-directory nil
:template-command-packages nil
:show-page-function #'show-page
- :show-error-page-function #'show-error-page))
+ :show-error-page-function #'show-error-page
+ :rss-feed-url nil))
(defmethod initialize-instance :after ((website website) &key &allow-other-keys)
(when *website*
Modified: trunk/bknr/src/web/tags.lisp
===================================================================
--- trunk/bknr/src/web/tags.lisp 2006-11-05 20:51:19 UTC (rev 2056)
+++ trunk/bknr/src/web/tags.lisp 2006-11-05 20:51:58 UTC (rev 2057)
@@ -189,6 +189,12 @@
(loop for javascript in (website-javascript-urls *website*)
do (html ((:script :type "text/javascript"
:language "JavaScript" :src javascript) "")))
+ (when (website-rss-feed-url *website*)
+ (html
+ ((:link :rel "alternate"
+ :type "application/rss+xml"
+ :title "RSS Feed"
+ :href (website-rss-feed-url *website*)))))
((:link :rel "shortcut icon" :href "/favicon.ico" :type "image/png"))
((:meta :http-equiv "content-type" :content "text/html;charset=utf-8"))
(:title (:princ-safe title))))
1
0
Author: hhubner
Date: 2006-11-05 15:51:19 -0500 (Sun, 05 Nov 2006)
New Revision: 2056
Modified:
trunk/bknr/src/data/object.lisp
Log:
Make reminder warning for class changes suppressable.
Modified: trunk/bknr/src/data/object.lisp
===================================================================
--- trunk/bknr/src/data/object.lisp 2006-11-05 13:25:47 UTC (rev 2055)
+++ trunk/bknr/src/data/object.lisp 2006-11-05 20:51:19 UTC (rev 2056)
@@ -25,16 +25,20 @@
(defmethod validate-superclass ((sub persistent-class) (super indexed-class))
t)
+(defvar *suppress-schema-warnings* nil)
+
(deftransaction update-instances-for-changed-class (class)
- (warn "updating ~A instances of ~A for class changes" (length (class-instances class)) class)
+ (unless *suppress-schema-warnings*
+ (warn "updating ~A instances of ~A for class changes" (length (class-instances class)) class))
(mapc #'reinitialize-instance (class-instances class)))
(defmethod reinitialize-instance :after ((class persistent-class) &rest args)
(declare (ignore args))
(when *store*
(update-instances-for-changed-class (class-name class))
- (warn "Class ~A has been changed. To ensure correct schema evolution, please snapshot your datastore."
- (class-name class))))
+ (unless *suppress-schema-warnings*
+ (warn "Class ~A has been changed. To ensure correct schema evolution, please snapshot your datastore."
+ (class-name class)))))
(defclass persistent-direct-slot-definition (index-direct-slot-definition)
((transient :initarg :transient :initform nil)
1
0
[bknr-cvs] r2055 - in trunk/projects/bos: m2 payment-website/templates/de worldpay-test
by bknr@bknr.net 05 Nov '06
by bknr@bknr.net 05 Nov '06
05 Nov '06
Author: hhubner
Date: 2006-11-05 08:25:47 -0500 (Sun, 05 Nov 2006)
New Revision: 2055
Modified:
trunk/projects/bos/m2/cert-daemon.lisp
trunk/projects/bos/m2/config.lisp
trunk/projects/bos/m2/m2.lisp
trunk/projects/bos/m2/mail-generator.lisp
trunk/projects/bos/m2/make-certificate.lisp
trunk/projects/bos/payment-website/templates/de/ueberweisung.xml
trunk/projects/bos/worldpay-test/sponsor-handlers.lisp
trunk/projects/bos/worldpay-test/tags.lisp
trunk/projects/bos/worldpay-test/worldpay-test.lisp
Log:
Certificate handling overhauled. All donors now have a downloadable
PDF certificate. Print certificates are send by mail to the office
and deleted from disk thereafter.
Modified: trunk/projects/bos/m2/cert-daemon.lisp
===================================================================
--- trunk/projects/bos/m2/cert-daemon.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/m2/cert-daemon.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -14,7 +14,6 @@
(defun fill-form (fdf-pathname pdf-pathname output-pathname)
(handler-case
(progn
- (ignore-errors (run-tool "recode" (list "utf-8..latin-1" (unix-namestring fdf-pathname))))
(cond
((unix-namestring pdf-pathname)
(run-tool "pdftk" (list (unix-namestring pdf-pathname)
Modified: trunk/projects/bos/m2/config.lisp
===================================================================
--- trunk/projects/bos/m2/config.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/m2/config.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -48,7 +48,7 @@
*pdf-base-directory*))
(defparameter *receipt-download-template* (merge-pathnames #p"spendenbescheinigung-download.pdf"
*pdf-base-directory*))
-(defparameter *cert-daemon-poll-seconds* 15
+(defparameter *cert-daemon-poll-seconds* 2
"Wartezeit zwischen zwei Directory-Scans des Urkunden-Daemons")
;; Mail-Stuff
Modified: trunk/projects/bos/m2/m2.lisp
===================================================================
--- trunk/projects/bos/m2/m2.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/m2/m2.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -238,28 +238,31 @@
(deftransaction contract-set-download-only-p (contract newval)
(setf (contract-download-only contract) newval))
-(defmethod contract-fdf-pathname ((contract contract) language)
+(defmethod contract-fdf-pathname ((contract contract) &key language print)
+ (when (and print
+ (contract-download-only-p contract))
+ (error "no print fdf for download-only contract ~A" contract))
(merge-pathnames (make-pathname :name (format nil "~D-~(~A~)"
(store-object-id contract)
language)
:type "fdf")
- (if (contract-download-only-p contract) *cert-download-directory* *cert-mail-directory*)))
+ (if print *cert-mail-directory* *cert-download-directory*)))
-(defmethod contract-pdf-pathname ((contract contract))
+(defmethod contract-pdf-pathname ((contract contract) &key print)
(merge-pathnames (make-pathname :name (format nil "~D" (store-object-id contract))
:type "pdf")
- (if (contract-download-only-p contract)
- bos.m2::*cert-download-directory*
- bos.m2::*cert-mail-directory*)))
+ (if print bos.m2::*cert-mail-directory* bos.m2::*cert-download-directory*)))
(defmethod contract-pdf-url ((contract contract))
- (format nil "/~:[~;print-~]certificate/~A" (not (contract-download-only-p contract)) (store-object-id contract)))
+ (format nil "/certificate/~A" (store-object-id contract)))
(defmethod contract-issue-cert ((contract contract) name &key address language)
(if (contract-cert-issued contract)
(warn "can't re-issue cert for ~A" contract)
(progn
(make-certificate contract name :address address :language language)
+ (unless (contract-download-only-p contract)
+ (make-certificate contract name :address address :language language :print t))
(change-slot-values contract 'cert-issued t))))
(defmethod contract-image-tiles ((contract contract))
Modified: trunk/projects/bos/m2/mail-generator.lisp
===================================================================
--- trunk/projects/bos/m2/mail-generator.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/m2/mail-generator.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -89,6 +89,7 @@
(apply #'vcard-field field))))))
(defun make-vcard (&key sponsor-id
+ note
vorname nachname
name
address postcode country
@@ -139,7 +140,7 @@
Gift: ~A
"
cartId
- sponsor-id
+ (store-object-id (contract-sponsor contract))
(length (contract-m2s contract))
authAmountString
cardType
@@ -153,13 +154,34 @@
:email email
:tel tel))))
+(defun mail-contract-data (contract type mime-parts)
+ (unless (contract-download-only-p contract)
+ (push (make-instance 'mime
+ :type "application"
+ :subtype (format nil "pdf; name=\"contract-~A.pdf\"" (store-object-id contract))
+ :encoding :base64
+ :content (file-contents (contract-pdf-pathname contract :print t)))
+ mime-parts))
+ (send-system-mail :subject (format nil "~A-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
+ type
+ (store-object-id (contract-sponsor contract))
+ (store-object-id contract))
+ :content-type "multipart/mixed"
+ :more-headers t
+ :text (with-output-to-string (s)
+ (print-mime s
+ (make-instance 'multipart-mime
+ :subtype "mixed"
+ :content mime-parts)
+ t t)))
+ (unless (contract-download-only-p contract)
+ (delete-file (contract-pdf-pathname contract :print t))))
+
(defun mail-manual-sponsor-data (req)
(with-query-params (req contract-id vorname name strasse plz ort email telefon donationcert-yearly)
(let* ((contract (store-object-with-id (parse-integer contract-id)))
(sponsor-id (store-object-id (contract-sponsor contract)))
- (mime (make-instance 'multipart-mime
- :subtype "mixed"
- :content (list (make-instance 'text-mime
+ (parts (list (make-instance 'text-mime
:type "text"
:subtype "html"
:charset "utf-8"
@@ -181,15 +203,7 @@
<tr><td></td></tr>
<tr><td>Spendenbescheinigung am Jahresende</td><td>~A</td></tr>~]
</table>
- <p>Email & Adresse fuer Cut&Paste:</p>
- <pre>
-~A
-
-~A ~A
-~A
-~A ~A
- </pre>
- <p><a href=\"~A/complete-transfer/~A\">Link zum Sponsor-Datensatz</a></p>
+ <p><a href=\"~A/complete-transfer/~A?email=~A\">Zahlungseingang bestätigen</a></p>
</body>
</html>
"
@@ -197,9 +211,7 @@
(length (contract-m2s contract))
vorname name strasse plz ort email telefon
(if donationcert-yearly "ja" "nein")
- email vorname name
- strasse plz ort
- *website-url* contract-id))
+ *website-url* contract-id email))
(make-instance 'text-mime
:type "text"
:subtype (format nil "xml; name=\"contract-~A.xml\"" contract-id)
@@ -223,7 +235,7 @@
:charset "utf-8"
:content (make-vcard :sponsor-id sponsor-id
:note (format nil "Paid-by: Manual money transfer
-Contract ID: ~Annn
+Contract ID: ~A
Sponsor ID: ~A
Number of sqms: ~A
Amount: EUR~A.00
@@ -234,32 +246,19 @@
(length (contract-m2s contract))
(* 3 (length (contract-m2s contract)))
(if donationcert-yearly "Yes" "No"))
- :contract-id contract-id
- :donationcert-yearly donationcert-yearly
:vorname vorname
:nachname name
:strasse strasse
:postcode plz
:ort ort
:email email
- :tel telefon))
- (make-instance 'mime
- :type "application"
- :subtype (format nil "pdf; name=\"contract-~A.pdf\"" contract-id)
- :encoding :base64
- :content (file-contents (contract-pdf-pathname contract)))))))
- (send-system-mail :subject (format nil "Ueberweisungsformular-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
- sponsor-id contract-id)
- :content-type "multipart/mixed"
- :more-headers t
- :text (with-output-to-string (s) (print-mime s mime t t))))))
+ :tel telefon)))))
+ (mail-contract-data contract "Ueberweisungsformular" parts))))
(defun mail-worldpay-sponsor-data (req)
(with-query-params (req cartId)
(let* ((contract (store-object-with-id (parse-integer cartId)))
- (mime (make-instance 'multipart-mime
- :subtype "mixed"
- :content (list (make-instance 'text-mime
+ (parts (list (make-instance 'text-mime
:type "text"
:subtype "html"
:charset "utf-8"
@@ -298,10 +297,5 @@
:type "text"
:subtype (format nil "x-vcard; name=\"contract-~A.vcf\"" (store-object-id contract))
:charset "utf-8"
- :content (worldpay-callback-request-to-vcard req))))))
- (send-system-mail :subject (format nil "Online-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
- (store-object-id (contract-sponsor contract))
- (store-object-id contract))
- :content-type "multipart/mixed"
- :more-headers t
- :text (with-output-to-string (s) (print-mime s mime t t))))))
+ :content (worldpay-callback-request-to-vcard req)))))
+ (mail-contract-data contract "WorldPay" parts))))
Modified: trunk/projects/bos/m2/make-certificate.lisp
===================================================================
--- trunk/projects/bos/m2/make-certificate.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/m2/make-certificate.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -27,13 +27,15 @@
;; bzw. im Dateisystem für den Download durch den Spender abgelegt
;; werden.
-(defun make-certificate (contract name &key (address "") (language "en"))
+(defun make-certificate (contract name &key print (address "") (language "en"))
"Erzeugen einer FDF-Datei für das Ausfüllen der Urkunde. Wenn das
optionale address-Argument übergeben wird, wird die Urkunde per Post
verschickt und entsprechend eine andere Vorlage ausgewählt als für den
Download der Urkunde"
(let ((sponsor (contract-sponsor contract)))
- (make-fdf-file (contract-fdf-pathname contract language)
+ (make-fdf-file (contract-fdf-pathname contract
+ :language language
+ :print print)
:datum (format-date-time (contract-date contract) :show-time nil)
:name name
:address address
Modified: trunk/projects/bos/payment-website/templates/de/ueberweisung.xml
===================================================================
--- trunk/projects/bos/payment-website/templates/de/ueberweisung.xml 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/payment-website/templates/de/ueberweisung.xml 2006-11-05 13:25:47 UTC (rev 2055)
@@ -103,16 +103,6 @@
<td><input name="telefon" type="text" size="25" maxlength="30" /></td>
</tr>
<tr>
- <td colspan="3" height="5"> </td>
- </tr>
- <tr>
- <td colspan="3">
- <bos:urkunde-per-post contract-id="$(contract-id)"
- min-amount="30"
- message="Ich möchte meine Regenwald-Urkunde per Post erhalten" />
- </td>
- </tr>
- <tr>
<td colspan="3" height="20"> </td>
</tr>
<tr>
Modified: trunk/projects/bos/worldpay-test/sponsor-handlers.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/sponsor-handlers.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/worldpay-test/sponsor-handlers.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -185,25 +185,26 @@
(redirect (format nil "/edit-sponsor/~D" (store-object-id (contract-sponsor contract)))
req)
(let ((numsqm (length (contract-m2s contract))))
- (with-bos-cms-page (req :title "Complete square meter sale with wire transfer payment")
- (html
- ((:form :name "form")
- ((:input :type "hidden" :name "numsqm" :value #?"$(numsqm)"))
- ((:table)
- (:tr (:td "Number of square meters")
- (:td (:princ-safe numsqm)))
- (:tr (:td "Bought on")
- (:td (:princ-safe (format-date-time (contract-date contract)))))
- (:tr (:td "Country code (2 chars)")
- (:td (text-field "country" :size 2 :value "DE")))
- (:tr (:td "Language")
- (:td ((:select :name "language")
- (loop
- for (language-symbol language-name) in (website-languages)
- do (html ((:option :value language-symbol) (:princ-safe language-name)))))))
- (:tr (:td "Email-Address")
- (:td (text-field "email" :size 20)))
- (:tr (:td (submit-button "process" "process" :formcheck "javascript:return check_complete_sale()"))))))))))
+ (with-query-params (req email)
+ (with-bos-cms-page (req :title "Complete square meter sale with wire transfer payment")
+ (html
+ ((:form :name "form")
+ ((:input :type "hidden" :name "numsqm" :value #?"$(numsqm)"))
+ ((:table)
+ (:tr (:td "Number of square meters")
+ (:td (:princ-safe numsqm)))
+ (:tr (:td "Bought on")
+ (:td (:princ-safe (format-date-time (contract-date contract)))))
+ (:tr (:td "Country code (2 chars)")
+ (:td (text-field "country" :size 2 :value "DE")))
+ (:tr (:td "Language")
+ (:td ((:select :name "language")
+ (loop
+ for (language-symbol language-name) in (website-languages)
+ do (html ((:option :value language-symbol) (:princ-safe language-name)))))))
+ (:tr (:td "Email-Address")
+ (:td (text-field "email" :size 20 :value email)))
+ (:tr (:td (submit-button "process" "process" :formcheck "javascript:return check_complete_sale()")))))))))))
(defmethod handle-object-form ((handler complete-transfer-handler) (action (eql :process)) contract req)
(with-query-params (req email country language)
Modified: trunk/projects/bos/worldpay-test/tags.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/tags.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/worldpay-test/tags.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -101,11 +101,10 @@
(define-bknr-tag mail-transfer ()
(with-query-params ((get-template-var :request)
- contract-id mail-certificate
+ contract-id
name vorname strasse plz ort)
(let* ((contract (store-object-with-id (parse-integer contract-id)))
- (download-only (or (< (contract-price contract) *mail-certificate-threshold*)
- (not mail-certificate))))
+ (download-only (< (contract-price contract) *mail-certificate-threshold*)))
(contract-set-download-only-p contract download-only)
(contract-issue-cert contract (format nil "~A ~A" vorname name)
:address (format nil "~A ~A~%~A~%~A ~A"
@@ -114,16 +113,15 @@
plz ort)
:language (session-variable :language))
(loop
- do (sleep 1)
+ do (progn
+ (format t "~&; waiting for generation of certificate, contract-id ~A" contract-id)
+ (sleep 2))
until (probe-file (contract-pdf-pathname contract)))
(mail-manual-sponsor-data (get-template-var :request)))))
(define-bknr-tag when-certificate (&key children)
(let ((sponsor (bknr-request-user (get-template-var :request))))
- (when (some #'(lambda (contract)
- (and (contract-download-only-p contract)
- (contract-pdf-pathname contract)))
- (sponsor-contracts sponsor))
+ (when (some #'contract-pdf-pathname (sponsor-contracts sponsor))
(mapc #'emit-template-node children))))
(define-bknr-tag send-info-request (&key children email)
Modified: trunk/projects/bos/worldpay-test/worldpay-test.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/worldpay-test.lisp 2006-11-05 13:23:45 UTC (rev 2054)
+++ trunk/projects/bos/worldpay-test/worldpay-test.lisp 2006-11-05 13:25:47 UTC (rev 2055)
@@ -134,19 +134,6 @@
((:p :id "stats"))
((:script :type "text/javascript") "statistic_selected()"))))))
-(defclass print-certificate-handler (admin-only-handler object-handler)
- ()
- (:default-initargs :class 'contract))
-
-(defmethod handle-object ((handler print-certificate-handler) contract req)
- (let ((pdf (file-contents (merge-pathnames (make-pathname :type "pdf"
- :name (format nil "~D" (store-object-id contract)))
- *cert-mail-directory*))))
- (with-http-response (req *ent* :content-type "application/pdf")
- (setf (request-reply-content-length req) (length pdf))
- (with-http-body (req *ent* :external-format '(unsigned-byte 8))
- (write-sequence pdf *html-stream*)))))
-
(defclass admin-handler (admin-only-handler page-handler)
())
@@ -219,7 +206,6 @@
("/admin" admin-handler)
("/languages" languages-handler)
("/infosystem" infosystem-handler)
- ("/print-certificate" print-certificate-handler)
("/overview" image-tile-handler)
("/enlarge-overview" enlarge-tile-handler)
("/create-contract" create-contract-handler)
1
0
Author: hhubner
Date: 2006-11-05 08:23:45 -0500 (Sun, 05 Nov 2006)
New Revision: 2054
Modified:
trunk/bknr/src/bknr-utils.asd
trunk/bknr/src/utils/make-fdf-file.lisp
trunk/bknr/src/utils/package.lisp
trunk/bknr/src/utils/utils.lisp
trunk/bknr/src/web/web-utils.lisp
Log:
Misc small fixes and changes.
Modified: trunk/bknr/src/bknr-utils.asd
===================================================================
--- trunk/bknr/src/bknr-utils.asd 2006-11-04 08:50:05 UTC (rev 2053)
+++ trunk/bknr/src/bknr-utils.asd 2006-11-05 13:23:45 UTC (rev 2054)
@@ -20,7 +20,8 @@
:cxml
:md5
#+(not allegro)
- :acl-compat)
+ :acl-compat
+ :iconv)
:components ((:module "statistics" :components ((:file "package")
(:file "runtime-statistics" :depends-on ("package"))))
Modified: trunk/bknr/src/utils/make-fdf-file.lisp
===================================================================
--- trunk/bknr/src/utils/make-fdf-file.lisp 2006-11-04 08:50:05 UTC (rev 2053)
+++ trunk/bknr/src/utils/make-fdf-file.lisp 2006-11-05 13:23:45 UTC (rev 2054)
@@ -2,8 +2,8 @@
;; make-fdf-file.lisp
-;; Funktion zum Erstellen von FDF-Dateien. Diese k�nnen mit Hilfe von
-;; pdftk verwendet werden, um PDF-Formulare auszuf�llen. Das
+;; Funktion zum Erstellen von FDF-Dateien. Diese können mit Hilfe von
+;; pdftk verwendet werden, um PDF-Formulare auszuföllen. Das
;; FDF-Format ist dabei ein Unterformat von Adobe PDF und wird in der
;; PDF-Spezifikation beschrieben.
@@ -23,7 +23,11 @@
[
")
(loop for (key value) on keys-and-values by #'cddr
- do (format stream " <</T(~(~a~))/V(~a)>>~%" key (pdf-quote-string (if (stringp value) value (format nil "~a" value)))))
+ do (format stream " <</T(~(~a~))/V(~a)>>~%" key
+ (pdf-quote-string (iconv:iconv "UTF-8" "ISO-8859-1"
+ (if (stringp value)
+ value
+ (format nil "~a" value))))))
(format stream " ]
>>
>>
Modified: trunk/bknr/src/utils/package.lisp
===================================================================
--- trunk/bknr/src/utils/package.lisp 2006-11-04 08:50:05 UTC (rev 2053)
+++ trunk/bknr/src/utils/package.lisp 2006-11-05 13:23:45 UTC (rev 2054)
@@ -57,7 +57,6 @@
#:find-neighbourhood
#:group-by
#:group-on
- #:flatten
#:find-all
#:genlist
#:rotate
Modified: trunk/bknr/src/utils/utils.lisp
===================================================================
--- trunk/bknr/src/utils/utils.lisp 2006-11-04 08:50:05 UTC (rev 2053)
+++ trunk/bknr/src/utils/utils.lisp 2006-11-05 13:23:45 UTC (rev 2054)
@@ -269,13 +269,6 @@
(loop for key being the hash-key of hash using (hash-value val)
collect (cons key val))))
-(defun flatten (list)
- (if (null list)
- (list)
- (if (atom (car list))
- (cons (car list) (flatten (cdr list)))
- (flatten (append (car list) (cdr list))))))
-
(defun count-multiple (objects &rest keys)
(let ((hash-tables (loop for i from 1 to (length keys)
collect (make-hash-table :test #'equal)))
Modified: trunk/bknr/src/web/web-utils.lisp
===================================================================
--- trunk/bknr/src/web/web-utils.lisp 2006-11-04 08:50:05 UTC (rev 2053)
+++ trunk/bknr/src/web/web-utils.lisp 2006-11-05 13:23:45 UTC (rev 2054)
@@ -126,8 +126,7 @@
(defun query-param (request param-name)
(let ((value (cdr (assoc param-name (all-request-params request) :test #'string-equal))))
- (when (and value
- (equal "" value))
+ (when (equal "" value)
(setf value nil))
value))
1
0
Author: hhubner
Date: 2006-11-04 03:50:05 -0500 (Sat, 04 Nov 2006)
New Revision: 2053
Modified:
trunk/thirdparty/kmrcl-1.72/package.lisp
Log:
do not export *base-url*, used within bknr
Modified: trunk/thirdparty/kmrcl-1.72/package.lisp
===================================================================
--- trunk/thirdparty/kmrcl-1.72/package.lisp 2006-11-04 08:31:43 UTC (rev 2052)
+++ trunk/thirdparty/kmrcl-1.72/package.lisp 2006-11-04 08:50:05 UTC (rev 2053)
@@ -7,7 +7,7 @@
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: package.lisp,v 1.1 2004/06/23 08:27:12 hans Exp $
+;;;; $Id$
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
@@ -215,7 +215,7 @@
#:init/repl
;; From web-utils
- #:*base-url*
+ #+(or) #:*base-url*
#:base-url!
#:make-url
#:*standard-html-header*
1
0
Author: hhubner
Date: 2006-11-04 03:31:43 -0500 (Sat, 04 Nov 2006)
New Revision: 2052
Modified:
trunk/projects/bos/m2/mail-generator.lisp
Log:
Put more information into vCards sent.
Modified: trunk/projects/bos/m2/mail-generator.lisp
===================================================================
--- trunk/projects/bos/m2/mail-generator.lisp 2006-11-04 06:01:17 UTC (rev 2051)
+++ trunk/projects/bos/m2/mail-generator.lisp 2006-11-04 08:31:43 UTC (rev 2052)
@@ -88,8 +88,7 @@
(when field
(apply #'vcard-field field))))))
-(defun make-vcard (&key contract-id sponsor-id worldpay-transaction-id
- donationcert-yearly gift
+(defun make-vcard (&key sponsor-id
vorname nachname
name
address postcode country
@@ -110,17 +109,14 @@
`((TEL WORK HOME) ,tel))
((EMAIL PREF INTERNET) ,email)
((URL WORK) ,(format nil "~A/edit-sponsor/~A" *website-url* sponsor-id))
- (NOTE ,(format nil "Contract ID: ~A~%Sponsor ID: ~A~%~@[WorldPay Transaction ID: ~A~%~]Donationcert yearly: ~A~%Gift: ~A~%"
- contract-id
- sponsor-id
- worldpay-transaction-id
- (if donationcert-yearly "Yes" "No")
- (if gift "Yes" "No")))
+ (NOTE ,note)
(END "VCARD"))))
(defun worldpay-callback-request-to-vcard (request)
(with-query-params (request cartId
transId
+ authAmountString
+ cardType
MC_sponsorid
MC_donationcert-yearly
MC_gift
@@ -130,20 +126,35 @@
country
email
tel)
- (make-vcard :contract-id cartId
- :sponsor-id MC_sponsorid
- :worldpay-transaction-id transId
- :donationcert-yearly MC_donationcert-yearly
- :gift MC_gift
- :name name
- :address address
- :postcode postcode
- :country country
- :email email
- :tel tel)))
+ (let ((contract (store-object-with-id (parse-integer cartId))))
+ (make-vcard :sponsor-id MC_sponsorid
+ :note (format nil "Paid-by: Worldpay
+Contract ID: ~A
+Sponsor ID: ~A
+Number of sqms: ~A
+Amount: ~A
+Payment type: ~A
+WorldPay Transaction ID: ~A
+Donationcert yearly: ~A
+Gift: ~A
+"
+ cartId
+ sponsor-id
+ (length (contract-m2s contract))
+ authAmountString
+ cardType
+ transId
+ (if MC_donationcert-yearly "Yes" "No")
+ (if MC_gift "Yes" "No"))
+ :name name
+ :address address
+ :postcode postcode
+ :country country
+ :email email
+ :tel tel))))
(defun mail-manual-sponsor-data (req)
- (with-query-params (req contract-id vorname name strasse plz ort email telefon mail-certificate donationcert-yearly)
+ (with-query-params (req contract-id vorname name strasse plz ort email telefon donationcert-yearly)
(let* ((contract (store-object-with-id (parse-integer contract-id)))
(sponsor-id (store-object-id (contract-sponsor contract)))
(mime (make-instance 'multipart-mime
@@ -168,7 +179,6 @@
<tr><td>Email</td><td>~@[~A~]</td></tr>
<tr><td>Telefon</td><td>~@[~A~]</td></tr>~@[
<tr><td></td></tr>
- <tr><td>Urkunde per Post</td><td>~A</td></tr>
<tr><td>Spendenbescheinigung am Jahresende</td><td>~A</td></tr>~]
</table>
<p>Email & Adresse fuer Cut&Paste:</p>
@@ -186,7 +196,6 @@
contract-id
(length (contract-m2s contract))
vorname name strasse plz ort email telefon
- (if mail-certificate "ja" "nein")
(if donationcert-yearly "ja" "nein")
email vorname name
strasse plz ort
@@ -212,8 +221,20 @@
:type "text"
:subtype (format nil "x-vcard; name=\"contract-~A.vcf\"" contract-id)
:charset "utf-8"
- :content (make-vcard :contract-id contract-id
- :sponsor-id sponsor-id
+ :content (make-vcard :sponsor-id sponsor-id
+ :note (format nil "Paid-by: Manual money transfer
+Contract ID: ~Annn
+Sponsor ID: ~A
+Number of sqms: ~A
+Amount: EUR~A.00
+Donationcert yearly: ~A
+"
+ contract-id
+ sponsor-id
+ (length (contract-m2s contract))
+ (* 3 (length (contract-m2s contract)))
+ (if donationcert-yearly "Yes" "No"))
+ :contract-id contract-id
:donationcert-yearly donationcert-yearly
:vorname vorname
:nachname name
1
0
Author: hhubner
Date: 2006-11-04 01:01:17 -0500 (Sat, 04 Nov 2006)
New Revision: 2051
Added:
trunk/projects/bos/m2/allocation-experimental.lisp
Modified:
trunk/projects/bos/m2/bos.m2.asd
trunk/projects/bos/m2/m2.lisp
trunk/projects/bos/m2/mail-generator.lisp
trunk/projects/bos/m2/packages.lisp
Log:
Urkundenerzeugung beim Kauf und Versand per Mail.
Added: trunk/projects/bos/m2/allocation-experimental.lisp
===================================================================
--- trunk/projects/bos/m2/allocation-experimental.lisp 2006-11-04 05:52:49 UTC (rev 2050)
+++ trunk/projects/bos/m2/allocation-experimental.lisp 2006-11-04 06:01:17 UTC (rev 2051)
@@ -0,0 +1,731 @@
+;;;; Quadratmeterbelegungsroutine:
+;;;;
+;;;; Oeffentliche API:
+;;;; - MAKE-ALLOCATION-AREA (polygon-ecken)
+;;;; Dabei uebergebe man einen Vektor von (x . y) Conses, z.B.
+;;;; (MAKE-ALLOCATION-AREA #((0 . 0) (200 . 0) (200 . 200) (0 . 200)))
+;;;; fuer ein Rechteck. Die Koordinaten muessen im Gesamtgebiet liegen.
+;;;; Diese Funktion ist eine Transaktion.
+;;;;
+;;;; Halboeffentliche API:
+;;;; - FIND-FREE-M2S (N)
+;;;; Liefere eine Liste von N zusammenhaengenden derzeit freien
+;;;; Quadratmetern (oder einen Fehler).
+;;;; Diese Funktion wird von MAKE-CONTRACT automatisch aufgerufen und sollte
+;;;; auch auf diesem Wege verwendet werden.
+
+(in-package :bos.m2)
+
+(defvar *preallocate-stripes* nil)
+
+(define-persistent-class allocation-area ()
+ ((active-p :update)
+ (left :update)
+ (top :update)
+ (width :update)
+ (height :update)
+ (vertices :update)
+ (y :update)
+ (stripes :update)
+ (total-m2s :read)
+ (free-m2s :update)
+ (allocator-maps :update :transient t)
+ (full-for :update :transient t)
+ (bounding-box :update :transient t))
+ (:documentation
+ "A polygon in which to allocate meters. LEFT, TOP, WIDTH, and HEIGHT
+ designate the bounding rectangle of the polygon. VERTICES is the
+ list of coordinates (x . y) of the polygon vertices. Initially the area
+ is unallocated. Is is then partitioned into stripes by the allocation
+ algorithm. Y is the smallest row not allocated to a stripe yet.
+ When Y >= (TOP+HEIGHT), the partition is complete and no more stripes
+ can be added to the area. Active areas (with ACTIVE-P set) are
+ considered for allocation before inactive areas. Inactive areas are
+ activated automatically when the previously active areas do not
+ provide enough space to meet allocation guarantees. When such activation
+ is done, a warning message is sent, to avoid running out of allocation
+ areas."))
+
+(defmethod initialize-persistent-instance :after ((allocation-area allocation-area))
+ (with-slots (total-m2s free-m2s) allocation-area
+ (setf total-m2s (calculate-total-m2-count allocation-area))
+ (setf free-m2s (- total-m2s (calculate-allocated-m2-count allocation-area))))
+ (dolist (tile (allocation-area-tiles allocation-area))
+ (image-tile-changed tile)))
+
+(defmethod notify-tiles ((allocation-area allocation-area))
+ (mapc #'image-tile-changed (allocation-area-tiles allocation-area)))
+
+(defmethod destroy-object :before ((allocation-area allocation-area))
+ (dolist (stripe (allocation-area-stripes allocation-area))
+ (delete-object stripe))
+ (notify-tiles allocation-area))
+
+(defmethod initialize-transient-instance :after ((allocation-area allocation-area))
+ (setf (allocation-area-allocator-maps allocation-area) (make-hash-table :test #'eql))
+ (notify-tiles allocation-area))
+
+(defun compute-bounding-box (vertices)
+ "Compute the smallest bounding box of the (x . y) points in VERTICES
+ and return it as multiple values (LEFT TOP WIDTH HEIGHT), chosen to be
+ inclusive of the leftmost/topmost points but exclusive (!) of the
+ rightmost/bottommost points."
+ (let* ((left (car (elt vertices 0)))
+ (top (cdr (elt vertices 0)))
+ (right left)
+ (bottom top))
+ (loop for i from 1 below (length vertices) do
+ (let* ((v (elt vertices i))
+ (x (car v))
+ (y (cdr v)))
+ (setf left (min left x)
+ right (max right x)
+ top (min top y)
+ bottom (max bottom y))))
+ (values left top (- right left) (- bottom top))))
+
+(defmethod allocation-area-center ((allocation-area allocation-area))
+ (with-slots (left top width height) allocation-area
+ (list (floor (+ left (/ width 2)))
+ (floor (+ top (/ height 2))))))
+
+(defun make-allocation-rectangle (left top width height)
+ (make-allocation-area (coerce (list (cons left top)
+ (cons (+ left width) top)
+ (cons (+ left width) (+ top height))
+ (cons left (+ top height)))
+ 'vector)))
+
+(defun make-allocation-area (vertices)
+ (assert (>= (length vertices) 3))
+ (map-edges (lambda (a b)
+ (check-type (car a) integer)
+ (check-type (cdr a) integer)
+ (check-type (car b) integer)
+ (check-type (cdr b) integer)
+ ;; Kanten duerfen nicht auf einen Punkt zusammenfallen.
+ (assert (not (and (zerop (- (car a) (car b)))
+ (zerop (- (cdr a) (cdr b)))))))
+ (coerce vertices 'vector))
+ ;; Punkte muessen im Vergabegebiet liegen
+ (map nil
+ (lambda (v)
+ (assert (<= 0 (car v) (1- +width+)))
+ (assert (<= 0 (cdr v) (1- +width+))))
+ vertices)
+
+ ;; Kein Punkt darf in einer anderen allocation area vorhanden sein.
+ ;; Ermangels einer polygon-Schneidefunktion iterieren wir durch alle
+ ;; Punkt der neuen allocation area.
+ (multiple-value-bind (left top width height)
+ (compute-bounding-box vertices)
+ (loop for y from top upto (+ top height)
+ do (loop for x from left upto (+ left width)
+ when (point-in-polygon-p x y vertices)
+ do (dolist (allocation-area (class-instances 'allocation-area))
+ (when (point-in-polygon-p x y (allocation-area-vertices allocation-area))
+ (error "new allocation area must not intersect with existing allocation area ~A" allocation-area))))))
+
+ (make-allocation-area/unchecked vertices))
+
+(deftransaction make-allocation-area/unchecked (vertices)
+ (multiple-value-bind (left top width height)
+ (compute-bounding-box vertices)
+ (let ((result
+ (make-object 'allocation-area
+ :left left
+ :top top
+ :width width
+ :height height
+ :y top
+ :active-p nil
+ :stripes '()
+ :vertices vertices)))
+ (when *preallocate-stripes*
+ (make-stripe result left top width height))
+ result)))
+
+(defmethod allocation-area-bounding-box ((allocation-area allocation-area))
+ (with-slots (left top width height bounding-box) allocation-area
+ (unless (slot-boundp allocation-area 'bounding-box)
+ (setf bounding-box (coerce (list (cons left top)
+ (cons (+ left width) top)
+ (cons (+ left width) (+ top height))
+ (cons left (+ top height)))
+ 'vector)))
+ bounding-box))
+
+(defun gauge (area)
+ "Liefere den Fuellpegel des Vergabegebiets (0 <= gauge <= 1)"
+ (with-slots (y top height) area
+ (/ (- y top) height)))
+
+(defun all-allocation-areas ()
+ "Liefere alle Vergabegebiete, nach Alter sortiert."
+ (let ((unsorted (store-objects-with-class 'allocation-area)))
+ (sort (copy-list unsorted) #'< :key #'store-object-id)))
+
+(defun active-allocation-areas ()
+ "Liefere alle aktiven Vergabegebiete, nach Alter sortiert."
+ (remove-if-not #'allocation-area-active-p (all-allocation-areas)))
+
+(defun find-inactive-allocation-area ()
+ (find-if #'(lambda (allocation-area) (not (or (allocation-area-active-p allocation-area)
+ (null (allocation-area-free-m2s allocation-area)))))
+ (all-allocation-areas)))
+
+(defun activate-allocation-area (area)
+ (warn "activating ~S" area)
+ (setf (slot-value area 'active-p) t)
+ area)
+
+(defun deactivate-allocation-area (area)
+ (warn "deactivating ~S" area)
+ (setf (slot-value area 'active-p) nil)
+ area)
+
+(defun map-edges (fn vertices)
+ (loop
+ for i from 0 below (length vertices)
+ for a = (elt vertices (1- (length vertices))) then b
+ for b = (elt vertices i)
+ do (funcall fn a b)))
+
+(defun in-polygon-p (x y vertices)
+ (let ((c 0))
+ (map-edges (lambda (a b)
+ (let ((x1 (car a))
+ (y1 (cdr a))
+ (x2 (car b))
+ (y2 (cdr b)))
+ (when (or (and (<= y1 y) (> y2 y))
+ (and (> y1 y) (<= y2 y)))
+ (let ((m (/ (- y y1) (- y2 y1))))
+ (when (< x (+ x1 (* m (- x2 x1))))
+ (incf c))))))
+ vertices)
+ (oddp c)))
+
+(defmethod allocation-area-contracts ((allocation-area allocation-area))
+ "Return contracts within an allocation area. XXX Only considers the first sqm of a
+contract, so if a contract is allocated in multiple allocation areas, it may or may
+not be returned by this function"
+ (remove-if #'(lambda (contract)
+ (not (in-polygon-p (m2-x (first (contract-m2s contract)))
+ (m2-y (first (contract-m2s contract)))
+ (allocation-area-vertices allocation-area))))
+ (store-objects-with-class 'contract)))
+
+(defmethod calculate-total-m2-count ((allocation-area allocation-area))
+ "Returns the total number of sqms in the allocation area (note: brute force)"
+ (with-slots (left top width height vertices) allocation-area
+ (loop for x from left upto (+ left width)
+ with retval = 0
+ do (loop for y from top upto (+ top height)
+ when (in-polygon-p x y vertices)
+ do (incf retval))
+ finally (return retval))))
+
+(defmethod calculate-allocated-m2-count ((allocation-area allocation-area))
+ "Returns the number of sqms allocated within an allocation area"
+ (let ((retval 0))
+ (dolist (contract (store-objects-with-class 'contract))
+ (dolist (m2 (contract-m2s contract))
+ (unless m2
+ (error "contract ~A has no m2s" contract))
+ (when (in-polygon-p (m2-x m2) (m2-y m2) (allocation-area-vertices allocation-area))
+ (incf retval))))
+ retval))
+
+(defmethod allocation-area-percent-used ((allocation-area allocation-area))
+ (/ (- (allocation-area-total-m2s allocation-area) (allocation-area-free-m2s allocation-area))
+ (/ (allocation-area-total-m2s allocation-area) 100)))
+
+(defun tiles-crossing (left top width height)
+ (let (tiles
+ (right (* 90 (ceiling (+ left width) 90)))
+ (bottom (* 90 (ceiling (+ top height) 90))))
+ (loop for x from left upto right by 90
+ do (loop for y from top upto bottom by 90
+ do (pushnew (ensure-map-tile x y) tiles)))
+ tiles))
+
+(defmethod allocation-area-tiles ((allocation-area allocation-area))
+ (with-slots (left top width height) allocation-area
+ (tiles-crossing left top width height)))
+
+(defun allocation-area-inuse-map (area)
+ (with-slots (left top width height) area
+ (let ((map (make-array (list width height) :element-type 'boolean)))
+ (dotimes (x width)
+ (dotimes (y height)
+ (setf (aref map x y)
+ (awhen (get-m2 (+ left x) (+ top y))
+ (if (m2-contract it)
+ t
+ (not (point-in-polygon-p (+ left x) (+ top y) (allocation-area-vertices area))))))))
+ map)))
+
+(defun print-inuse-map (map image-namep)
+ (destructuring-bind (width height) (array-dimensions map)
+ (cl-gd:with-image* (width height)
+ (cl-gd:do-rows (y)
+ (cl-gd:do-pixels-in-row (x)
+ (setf (cl-gd:raw-pixel) (if (aref map x y) 255 0))))
+ (cl-gd:write-image-to-file image-name :type :png))))
+
+(defstruct (allocator-map :conc-name am-) size inuse-map)
+
+(defmethod allocation-area-find-free-m2s ((area allocation-area) count)
+ (unless (>= count (allocation-area-full-for area))
+ (let ((key (ceiling (sqrt n)))
+ (map (or (gethash key (allocation-area-allocator-maps area))
+ (setf (gethash key (allocation-area-allocator-maps area))
+ (make-allocator-map :size n
+ :inuse-map (make-array (list (allocation-area-width area)
+ (allocation-area-height area)))))))))))
+
+(define-persistent-class stripe ()
+ ((left :update)
+ (top :update)
+ (width :update)
+ (height :update)
+ (x :update)
+ (y :update)
+ (area :update)
+ (seen :update))
+ (:documentation
+ "A rectangle in which to allocate meters. LEFT, TOP, WIDTH, and HEIGHT
+ designate the dimensions of the stripe. X and Y point to the next free
+ square meter. If X or Y point to a square meter outside of the stripe,
+ and no square meters have already been SEEN, there are not free square
+ meters left. SEEN lists square meters known to be inside the allocation
+ polygon for this stripe in the appropriate allocation order. Elements of
+ SEEN can be sold immediately unless they turn out to have been sold by
+ other means in the meantime.
+
+ left x
+ | |
+ v v
+ top -> xxxxxx.......................... -
+ xxxxxx.......................... | height
+ xxxxxx.......................... |
+ y -> xxxxx........................... -
+
+ |------------------------------|
+ width
+ Legend:
+ x = allocated
+ . = unallocated"))
+
+(defmethod initialize-persistent-instance :after ((instance stripe))
+ (with-slots (stripes y) (stripe-area instance)
+ (setf stripes (sort-area-stripes (cons instance stripes)))
+ (setf y (max y (+ (stripe-top instance) (stripe-height instance))))))
+
+(defmethod destroy-object :before ((stripe stripe))
+ (with-slots (stripes) (stripe-area stripe)
+ (setf stripes (remove stripe stripes))))
+
+(defmethod print-object ((object stripe) stream)
+ (print-unreadable-object (object stream :type t :identity nil)
+ (format stream "~D at (~D,~D) sized (~D,~D) ptr (~D,~D)"
+ (store-object-id object)
+ (stripe-left object)
+ (stripe-top object)
+ (stripe-width object)
+ (stripe-height object)
+ (stripe-x object)
+ (stripe-y object))))
+
+(defun make-stripe (area left top width height)
+ (make-object 'stripe
+ :area area
+ :left left
+ :top top
+ :width width
+ :height height
+ :x left
+ :y (if (evenp left) top (+ top height -1))
+ :seen '()))
+
+(defun sort-area-stripes (stripes)
+ "Liefere STRIPES sortiert erstens nach aufsteigender Hoehe, zweitens
+ von oben nach unten."
+ (sort (copy-list stripes)
+ (lambda (a b)
+ (let ((ha (stripe-height a))
+ (hb (stripe-height b)))
+ (cond
+ ((< ha hb)
+ t)
+ ((eql ha hb)
+ (< (stripe-top a) (stripe-top b)))
+ (t
+ nil))))))
+
+(defun store-stripes ()
+ "Liefere alle STRIPES, sortiert erstens nach ihrer Area, zweitens nach
+ aufsteigender Hoehe, drittens von oben nach unten."
+ (loop for area in (active-allocation-areas)
+ append (allocation-area-stripes area)))
+
+(defun add-new-stripe/area (n area)
+ "Return a newly allocated stripe contained in AREA suitable for allocation
+ of N square meters, or NIL if place for such a stripe was left."
+ (let ((h (ceiling (sqrt n))))
+ (with-slots (y left top height width stripes) area
+ (when (<= (+ y h) (+ top height))
+ (make-stripe area left y width h)))))
+
+(defun used-stripe-width (stripe)
+ (with-slots (x y left top height) stripe
+ (- (if (if (evenp x)
+ (eql y top)
+ (eql y (+ top height -1)))
+ x
+ (1+ x))
+ left)))
+
+(defun split-stripe-horizontally (stripe)
+ "Split STRIPE into three parts.
+
+ Example:
+ xxxxx...........................
+ xxxxx...........................
+ xxxxx...........................
+ xxxx............................
+
+ Example after:
+ xxxxxAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ xxxxxAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ xxxxxBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ xxxx.BBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+ Legend:
+ x = old stripe, allocated
+ . = old stripe, unallocated
+ A = new stripe, unallocated
+ B = new stripe, unallocated"
+ (assert (> (stripe-width stripe) 1))
+ (with-slots (left top width height x y area) stripe
+ (let ((old-width width))
+ ;; cut stripe to actually allocated width
+ (setf width (used-stripe-width stripe))
+ ;; add upper half of removed right part
+ (make-stripe area
+ (+ left width)
+ top
+ (- old-width width)
+ (truncate height 2))
+ ;; add lower half of removed right part
+ (make-stripe area
+ (+ left width)
+ (+ top (truncate height 2))
+ (- old-width width)
+ (ceiling height 2)))))
+
+(defun split-stripe-vertically (stripe)
+ "Split STRIPE into two parts and return true if possible, else do nothing
+ and return NIL.
+
+ Example:
+ XXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ XXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ XXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ XXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+ Example after:
+ XXXXXyyyyyyyyyyyyyyyyyyyyyyyyyyy
+ XXXXXyyyyyyyyyyyyyyyyyyyyyyyyyyy
+ XXXXxyyyyyyyyyyyyyyyyyyyyyyyyyyy
+ XXXXxyyyyyyyyyyyyyyyyyyyyyyyyyyy
+
+ Legend:
+ X = old stripe, allocated
+ x = old stripe, unallocated
+ y = new stripe, unallocated"
+ (with-slots (left top width height x y area) stripe
+ (let ((old-width width))
+ (setf width (used-stripe-width stripe))
+ (if (eql width old-width)
+ nil
+ (make-stripe area
+ (+ left width)
+ top
+ (- old-width width)
+ height)))))
+
+(defun classify-stripe (n stripe)
+ "Passen N Quadratmeter in den STRIPE unter Wahrung des gewuenschten
+ Rechtecksverhaeltnisses von maximal 1x2?
+ STRIPE-TOO-SMALL: Nein, weil der Stripe zu schmal ist.
+ STRIPE-NEARLY-FULL: Sonderfall: Der Stripe ist eigentlich zu hoch,
+ aber schon am rechten Rand angekommen. Hier wird man in der Praxis
+ im Gegenteil nur winzige Bloecke noch unterbringen koennen.
+ STRIPE-TOO-LARGE: Nein, weil der Stripe zu hoch ist (und nicht voll)
+ STRIPE-MATCHES: sonst"
+ (let ((wanted-height (ceiling (sqrt n)))
+ (stripe-height (stripe-height stripe)))
+ (cond
+ ((<= (* 2 stripe-height) wanted-height)
+ :stripe-too-small)
+ ((< wanted-height stripe-height)
+ (if (< (stripe-x stripe)
+ (+ (stripe-left stripe) (stripe-width stripe) -1))
+ :stripe-too-large
+ :stripe-nearly-full))
+ (t
+ :stripe-matches))))
+
+(defun stripe-dissection-p (x stripe)
+ "Ist STRIPE an der angegebenen X-Koordinate senkrecht durch das Polygon
+ zerschnitten?"
+ ;; fixme: das ist kein 100%ig perfekter Test, aber er sollte genuegen, um
+ ;; optisch sichtbare Trennung in einem Contract zu verhindern.
+ (with-slots (top height area) stripe
+ (loop with vertices = (allocation-area-vertices area)
+ for y from top below (+ top height)
+ never (in-polygon-p x y vertices))))
+
+(defun stripe-full-p (stripe)
+ (with-slots (left top width height x y seen) stripe
+ (let ((right (+ left width))
+ (bottom (+ top height)))
+ (not (or (and (<= left x (1- right)) (<= top y (1- bottom))) seen)))))
+
+(defun find-free-m2s/stripe (n stripe)
+ "Find N connected free square meterns in STRIPE, or return NIL.
+ Square meters are allocated left-to-right, in a top-down, then
+ bottom-up pattern,in order to ensure (a) connectivity and (b) that the
+ space does not become fragmented."
+ (with-slots (left top width height x y seen) stripe
+ (let ((new-x x) ;working copy of x
+ (new-y y) ;working copy of y
+ (new-seen seen) ;working copy of free
+ (result '())
+ (right (+ left width))
+ (bottom (+ top height))
+ (vertices (allocation-area-vertices (stripe-area stripe))))
+ (when (stripe-full-p stripe)
+ ;; Gleich NIL liefern, und den Stripe beseitigen, damit wir ihn nicht
+ ;; wieder antreffen in Zukunft.
+ (delete-object stripe)
+ (return-from find-free-m2s/stripe nil))
+ (labels ((find-next-m2 ()
+ "Return the next square meter in stripe, using the
+ temporary counters, or NIL if stripe is fully allocated."
+ (let ((this-x new-x)
+ (this-y new-y))
+ (when (and (<= left this-x (1- right))
+ (<= top this-y (1- bottom)))
+ (cond
+ ((evenp new-x) ;top-down
+ (incf new-y)
+ (when (>= new-y bottom)
+ (decf new-y)
+ (incf new-x)))
+ (t ;bottom-up
+ (decf new-y)
+ (when (< new-y top)
+ (incf new-y)
+ (incf new-x))))
+ (ensure-m2 this-x this-y))))
+ (find-free-m2 ()
+ "Return the next *free* square meter in stripe, using the
+ temporary counters, or NIL if stripe is fully allocated."
+ (or (loop
+ (let ((m2 (pop new-seen)))
+ (cond
+ ((null m2)
+ (return nil))
+ ((null (m2-contract m2))
+ (return m2)))))
+ (loop
+ (let ((m2 (find-next-m2)))
+ (cond
+ ((null m2)
+ (return nil))
+ ((not (in-polygon-p (m2-x m2) (m2-y m2) vertices))
+ (when (and (stripe-dissection-p (m2-x m2) stripe)
+ (or result new-seen))
+ ;; Wenn wir hier weitermachen und das Polygon
+ ;; nicht konvex ist, ist das Ergebnis nicht
+ ;; zusammenhaengend. Also aufgeben und in der
+ ;; rechten Haelfe des Stripes weitermachen.
+ (setf x new-x
+ y new-y
+ seen (append new-seen (reverse result)))
+ (let ((right (split-stripe-vertically stripe)))
+ (return-from find-free-m2s/stripe
+ (if right
+ (find-free-m2s/stripe n right)
+ nil)))))
+ ((null (m2-contract m2))
+ (return m2))))))))
+ (dotimes (dummy n
+ (progn ;success
+ (setf x new-x
+ y new-y
+ seen new-seen)
+ (when result
+ (with-slots (area) stripe
+ (decf (allocation-area-free-m2s area) n)
+ (when (null (allocation-area-free-m2s area))
+ (deactivate-allocation-area area))))
+ result))
+ (let ((m2 (find-free-m2)))
+ (unless m2 ;failure
+ (setf x new-x
+ y new-y
+ seen (append new-seen (reverse result)))
+ (return nil))
+ (push m2 result)))))))
+
+(defun find-free-m2s/exact (n area)
+ "Find an allocation stripe in AREA of size HEIGHT with N free square
+ meters. Return the square meters found or return NIL if no such stripe
+ is found."
+ (dolist (stripe (allocation-area-stripes area))
+ (when (eq (classify-stripe n stripe) :stripe-matches)
+ (let ((result (find-free-m2s/stripe n stripe)))
+ (when result
+ (return result))))))
+
+(defun find-free-m2s/grow (n area)
+ "Create a new stripe of suitable size for N square meters in AREA. If no
+ such stripe can be created, return NIL. If a stripe could be created but
+ N square meters could not actually be allocated in the stripe, repeat."
+ (loop for stripe = (add-new-stripe/area n area)
+ while stripe
+ do
+ (let ((result (find-free-m2s/stripe n stripe)))
+ (when result
+ (return result)))))
+
+(defun find-free-m2s/overflow (n area)
+ "Find an allocation stripe in store of size HEIGHT with N free square
+ meters. Return the square meters found. If no such stripe exists, split
+ the next biggest stripe into two and try again."
+ (let ((stripes (allocation-area-stripes area))
+ (result nil))
+ (loop
+ for stripe = (pop stripes)
+ while stripe
+ until result
+ do
+ (ecase (classify-stripe n stripe)
+ (:stripe-too-small)
+ (:stripe-matches
+ (setf result (find-free-m2s/stripe n stripe)))
+ (:stripe-too-large
+ (split-stripe-horizontally stripe)
+ (setf stripes (allocation-area-stripes area)))
+ (:stripe-nearly-full
+ (when (<= n 2)
+ (setf result (find-free-m2s/stripe n stripe))))))
+ result))
+
+(defmethod allocation-area-find-free-m2s ((area allocation-area) n)
+ (assert (plusp n))
+ (when (<= n (allocation-area-free-m2s area))
+ (let ((m2s (or (find-free-m2s/exact n area)
+ (find-free-m2s/grow n area)
+ (find-free-m2s/overflow n area))))
+ m2s)))
+
+(defmethod return-m2 ((allocation-area allocation-area))
+ (incf (allocation-area-free-m2s allocation-area)))
+
+(defun find-free-m2s/underflow (n)
+ "Find the largest allocation stripe in store able to hold N free square
+ meters and return the square meters found, or NIL if no such stripe exists."
+ (some (lambda (stripe)
+ (find-free-m2s/stripe n stripe))
+ (loop for area in (reverse (active-allocation-areas))
+ append (allocation-area-stripes area))))
+
+(defun find-free-m2s (n)
+ (assert (plusp n))
+ (unless (in-transaction-p)
+ (error "find-free-m2s called outside of the allocation transaction"))
+ (or (some (lambda (area) (allocation-area-find-free-m2s area n))
+ (active-allocation-areas))
+ (let ((area (find-inactive-allocation-area)))
+ (when area
+ (activate-allocation-area area)
+ (find-free-m2s n)))
+ (find-free-m2s/underflow n)
+ (warn "all allocation areas exhausted")
+ nil))
+
+(defun return-m2s (m2s)
+ "Mark the given square meters as free, so that they can be re-allocated."
+ (when m2s
+ (loop for m2 in m2s
+ for allocation-area = (m2-allocation-area m2)
+ when allocation-area
+ do (return-m2 allocation-area))
+ (multiple-value-bind (left top width height)
+ (compute-bounding-box
+ (mapcar (lambda (m2) (cons (m2-x m2) (m2-y m2))) m2s))
+ (incf width)
+ (incf height)
+ (dolist (area (all-allocation-areas))
+ (let ((vertices (allocation-area-vertices area)))
+ (when (every (lambda (m2)
+ (in-polygon-p (m2-x m2) (m2-y m2) vertices))
+ m2s)
+ (make-stripe area left top width height))))))
+ t)
+
+;; debugging
+(defun find-stripes-around-point (x y)
+ (remove-if-not (lambda (s)
+ (with-slots (left top width height) s
+ (and (<= left x (+ left width -1))
+ (<= top y (+ top height -1)))))
+ (store-stripes)))
+
+(defun delete-full-stripes ()
+ (bknr.datastore::without-sync ()
+ (dolist (stripe (store-stripes))
+ (when (stripe-full-p stripe)
+ (delete-object stripe)))))
+
+(defun estimate-fill-ratio ()
+ "Liefere eine Schaetzung (!) der aktuellen Vergabequote in den vorhandenen
+ Allocation Areas als Gleitkommazahl."
+ (float (multiple-value-call #'/ (estimate-fill-counters))))
+
+(defun estimate-fill-counters ()
+ "Liefere eine Schaetzung (!) der Anzahl 1. der aktuell vergebenen und
+ 2. der insgesamt verfuegbaren Quadratmeter im Store als multiple values."
+ (let ((nallocated 0)
+ (ntotal 0))
+ (dolist (area (all-allocation-areas))
+ (multiple-value-bind (a b)
+ (estimate-fill-counters/area area)
+ (incf nallocated a)
+ (incf ntotal b)))
+ (values nallocated ntotal)))
+
+(defun estimate-fill-counters/area (area)
+ "Liefere eine Schaetzung (!) der Anzahl 1. der aktuell vergebenen und
+ 2. der insgesamt verfuegbaren Quadratmeter in AREA als multiple values."
+ (let ((nallocated 0)
+ (ntotal 0))
+ (dolist (stripe (allocation-area-stripes area))
+ (multiple-value-bind (a b)
+ (estimate-fill-counters/stripe stripe)
+ (incf nallocated a)
+ (incf ntotal b)))
+ (values nallocated ntotal)))
+
+(defun estimate-fill-counters/stripe (stripe)
+ "Liefere eine Schaetzung (!) der Anzahl 1. der aktuell vergebenen und
+ 2. der insgesamt verfuegbaren Quadratmeter in STRIPE als multiple values."
+ (values (+ (* (- (stripe-x stripe) (stripe-left stripe))
+ (stripe-height stripe))
+ (- (stripe-y stripe) (stripe-top stripe)))
+ (* (stripe-width stripe) (stripe-height stripe))))
Modified: trunk/projects/bos/m2/bos.m2.asd
===================================================================
--- trunk/projects/bos/m2/bos.m2.asd 2006-11-04 05:52:49 UTC (rev 2050)
+++ trunk/projects/bos/m2/bos.m2.asd 2006-11-04 06:01:17 UTC (rev 2051)
@@ -1,7 +1,7 @@
(in-package :cl-user)
(asdf:defsystem :bos.m2
- :depends-on (:bknr :bknr-modules :net.post-office :cl-mime :iconv)
+ :depends-on (:bknr :bknr-modules :net.post-office :cl-mime :iconv :kmrcl)
:components ((:file "packages")
(:file "config" :depends-on ("packages"))
(:file "utils" :depends-on ("config"))
Modified: trunk/projects/bos/m2/m2.lisp
===================================================================
--- trunk/projects/bos/m2/m2.lisp 2006-11-04 05:52:49 UTC (rev 2050)
+++ trunk/projects/bos/m2/m2.lisp 2006-11-04 06:01:17 UTC (rev 2051)
@@ -260,8 +260,6 @@
(warn "can't re-issue cert for ~A" contract)
(progn
(make-certificate contract name :address address :language language)
- (unless (contract-download-only-p contract)
- (mail-certificate-to-office contract address))
(change-slot-values contract 'cert-issued t))))
(defmethod contract-image-tiles ((contract contract))
@@ -332,17 +330,17 @@
""))
(defun make-m2-javascript (sponsor)
- "Erzeugt das Quadratmeter-Javascript f�r die angegebenen Contracts"
+ "Erzeugt das Quadratmeter-Javascript für die angegebenen Contracts"
(with-output-to-string (*standard-output*)
(let ((paid-contracts (remove nil (sponsor-contracts sponsor) :key #'contract-paidp)))
(format t "profil = {};~%")
- (format t "profil['id'] = ~D;~%" (store-object-id sponsor))
- (format t "profil['name'] = ~S;~%" (string-safe (or (user-full-name sponsor) "[anonym]")))
- (format t "profil['country'] = ~S;~%" (or (sponsor-country sponsor) "[unbekannt]"))
- (format t "profil['anzahl'] = ~D;~%" (loop for contract in paid-contracts
+ (format t "profil.id = ~D;~%" (store-object-id sponsor))
+ (format t "profil.name = ~S;~%" (string-safe (or (user-full-name sponsor) "[anonym]")))
+ (format t "profil.country = ~S;~%" (or (sponsor-country sponsor) "[unbekannt]"))
+ (format t "profil.anzahl = ~D;~%" (loop for contract in paid-contracts
sum (length (contract-m2s contract))))
- (format t "profil['nachricht'] = '~A';~%" (string-safe (sponsor-info-text sponsor)))
- (format t "profil['contracts'] = [ ];~%")
+ (format t "profil.nachricht = '~A';~%" (string-safe (sponsor-info-text sponsor)))
+ (format t "profil.contracts = [ ];~%")
(loop for contract in paid-contracts
do (destructuring-bind (left top width height) (contract-bounding-box contract)
(format t "profil.contracts.push({ id: ~A, left: ~A, top: ~A, width: ~A, height: ~A, date: ~S });~%"
Modified: trunk/projects/bos/m2/mail-generator.lisp
===================================================================
--- trunk/projects/bos/m2/mail-generator.lisp 2006-11-04 05:52:49 UTC (rev 2050)
+++ trunk/projects/bos/m2/mail-generator.lisp 2006-11-04 06:01:17 UTC (rev 2051)
@@ -27,17 +27,6 @@
$(email)
"))
-(defun mail-certificate-to-office (contract address)
- (let ((contract-id (store-object-id contract)))
- (send-system-mail :subject #?"Druckauftrag fuer Spender-Urkunde"
- :text #?"Bitte die folgende Urkunde ausdrucken und versenden:
-
-$(*website-url*)/print-certificate/$(contract-id)
-
-Versandadresse:
-
-$(address)")))
-
(defun mail-fiscal-certificate-to-office (contract name address country)
(format t "mail-fiscal-certificate-to-office: ~a name: ~a address: ~a country: ~a~%" contract name address country))
@@ -232,7 +221,12 @@
:postcode plz
:ort ort
:email email
- :tel telefon))))))
+ :tel telefon))
+ (make-instance 'mime
+ :type "application"
+ :subtype (format nil "pdf; name=\"contract-~A.pdf\"" contract-id)
+ :encoding :base64
+ :content (file-contents (contract-pdf-pathname contract)))))))
(send-system-mail :subject (format nil "Ueberweisungsformular-Spenderdaten - Sponsor-ID ~D Contract-ID ~D"
sponsor-id contract-id)
:content-type "multipart/mixed"
Modified: trunk/projects/bos/m2/packages.lisp
===================================================================
--- trunk/projects/bos/m2/packages.lisp 2006-11-04 05:52:49 UTC (rev 2050)
+++ trunk/projects/bos/m2/packages.lisp 2006-11-04 06:01:17 UTC (rev 2051)
@@ -37,6 +37,7 @@
:bknr.rss
:bos.m2.config
:net.post-office
+ :kmrcl
:cxml
:cl-mime
:cl-gd)
1
0
Author: hhubner
Date: 2006-11-04 00:52:49 -0500 (Sat, 04 Nov 2006)
New Revision: 2050
Modified:
trunk/projects/bos/worldpay-test/sponsor-handlers.lisp
trunk/projects/bos/worldpay-test/tags.lisp
Log:
Umstellung f?\195?\188r Print-Urkunde per Mail
Modified: trunk/projects/bos/worldpay-test/sponsor-handlers.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/sponsor-handlers.lisp 2006-11-04 05:49:54 UTC (rev 2049)
+++ trunk/projects/bos/worldpay-test/sponsor-handlers.lisp 2006-11-04 05:52:49 UTC (rev 2050)
@@ -201,18 +201,12 @@
(loop
for (language-symbol language-name) in (website-languages)
do (html ((:option :value language-symbol) (:princ-safe language-name)))))))
- (:tr (:td "Name for certificate")
- (:td (text-field "name" :size 50)))
(:tr (:td "Email-Address")
(:td (text-field "email" :size 20)))
- (unless (contract-download-only-p contract)
- (html
- (:tr (:td "Postal address for certificate"
- (:td (textarea-field "postaladdress" :rows 5 :cols 40))))))
(:tr (:td (submit-button "process" "process" :formcheck "javascript:return check_complete_sale()"))))))))))
(defmethod handle-object-form ((handler complete-transfer-handler) (action (eql :process)) contract req)
- (with-query-params (req email name postaladdress country language)
+ (with-query-params (req email country language)
(with-bos-cms-page (req :title "Square meter sale completion")
(if (contract-paidp contract)
(html (:h2 "This sale has already been completed"))
@@ -221,7 +215,6 @@
(sponsor-set-country (contract-sponsor contract) country)
(contract-set-paidp contract (format nil "~A: wire transfer processed by ~A"
(format-date-time) (user-login (bknr-request-user req))))
- (contract-issue-cert contract name :address postaladdress :language language)
(when email
(html (:p "Sending instruction email to " (:princ-safe email)))
(mail-instructions-to-sponsor contract email))))
Modified: trunk/projects/bos/worldpay-test/tags.lisp
===================================================================
--- trunk/projects/bos/worldpay-test/tags.lisp 2006-11-04 05:49:54 UTC (rev 2049)
+++ trunk/projects/bos/worldpay-test/tags.lisp 2006-11-04 05:52:49 UTC (rev 2050)
@@ -100,11 +100,22 @@
(mapc #'emit-template-node children))
(define-bknr-tag mail-transfer ()
- (with-query-params ((get-template-var :request) contract-id mail-certificate)
+ (with-query-params ((get-template-var :request)
+ contract-id mail-certificate
+ name vorname strasse plz ort)
(let* ((contract (store-object-with-id (parse-integer contract-id)))
(download-only (or (< (contract-price contract) *mail-certificate-threshold*)
(not mail-certificate))))
(contract-set-download-only-p contract download-only)
+ (contract-issue-cert contract (format nil "~A ~A" vorname name)
+ :address (format nil "~A ~A~%~A~%~A ~A"
+ vorname name
+ strasse
+ plz ort)
+ :language (session-variable :language))
+ (loop
+ do (sleep 1)
+ until (probe-file (contract-pdf-pathname contract)))
(mail-manual-sponsor-data (get-template-var :request)))))
(define-bknr-tag when-certificate (&key children)
1
0
Author: hhubner
Date: 2006-11-04 00:49:54 -0500 (Sat, 04 Nov 2006)
New Revision: 2049
Modified:
trunk/projects/bos/payment-website/static/cms.js
Log:
Formularpr?\195?\188fung f?\195?\188r /complete-sale auf neues Verfahren mit Urkunde in Mail angepasst.
Modified: trunk/projects/bos/payment-website/static/cms.js
===================================================================
--- trunk/projects/bos/payment-website/static/cms.js 2006-10-26 04:12:15 UTC (rev 2048)
+++ trunk/projects/bos/payment-website/static/cms.js 2006-11-04 05:49:54 UTC (rev 2049)
@@ -4,7 +4,7 @@
function check_complete_sale() {
- if (document.form.name.value == "") {
+ if (document.form.name && (document.form.name.value == "")) {
alert('Missing name for certificate');
return false;
}
@@ -32,7 +32,7 @@
var send_cert_message;
- if (document.form.postaladdress.value.match(/^\s*$/)) {
+ if (document.form.postaladdress && document.form.postaladdress.value.match(/^\s*$/)) {
send_cert_message = 'No printed certificate will be mailed\n';
} else {
send_cert_message = 'Printed certificate will be mailed to:\n' + document.form.postaladdress.value;
1
0