Index: _installer/includes/sql/modified.sql
===================================================================
--- _installer/includes/sql/modified.sql	(revision 11088)
+++ _installer/includes/sql/modified.sql	(working copy)
@@ -1630,7 +1630,7 @@
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_PRODUCTS_KEYWORDS_LENGTH', '255', 16, 2, NULL, NOW(), NULL, NULL);
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_KEYWORDS_LENGTH', '180', 16, 2, NULL, NOW(), NULL, NULL);
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_TITLE_LENGTH', '55', 16, 2, NULL, NOW(), NULL, NULL);
-INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_STOP_WORDS', '#german:\r\nab,aber,abgerufen,abgerufene,abgerufener,abgerufenes,acht,alle,allein,allem,allen,aller,allerdings,allerlei,alles,allgemein,allmählich,allzu,als,alsbald,also,am,an,ander,andere,anderem,anderen,anderer,andererseits,anderes,anderm,andern,andernfalls,anders,anerkannt,anerkannte,anerkannter,anerkanntes,anfangen,anfing,angefangen,angesetze,angesetzt,angesetzten,angesetzter,ansetzen,anstatt,arbeiten,auch,auf,aufgehört,aufgrund,aufhören,aufhörte,aufzusuchen,aus,ausdrücken,ausdrückt,ausdrückte,ausgenommen,ausser,ausserdem,author,autor,außen,außer,außerdem,außerhalb,bald,bearbeite,bearbeiten,bearbeitete,bearbeiteten,bedarf,bedurfte,bedürfen,befragen,befragte,befragten,befragter,begann,beginnen,begonnen,behalten,behielt,bei,beide,beiden,beiderlei,beides,beim,beinahe,beitragen,beitrugen,bekannt,bekannte,bekannter,bekennen,benutzt,bereits,berichten,berichtet,berichtete,berichteten,besonders,besser,bestehen,besteht,beträchtlich,bevor,bezüglich,bietet,bin,bis,bisher,bislang,bist,bleiben,blieb,bloss,bloß,brachte,brachten,brauchen,braucht,bringen,bräuchte,bsp.,bzw,böden,ca.,da,dabei,dadurch,dafür,dagegen,daher,dahin,damals,damit,danach,daneben,dank,danke,danken,dann,dannen,daran,darauf,daraus,darf,darfst,darin,darum,darunter,darüber,darüberhinaus,das,dass,dasselbe,davon,davor,dazu,daß,dein,deine,deinem,deinen,deiner,deines,dem,demnach,demselben,den,denen,denn,dennoch,denselben,der,derart,derartig,derem,deren,derer,derjenige,derjenigen,derselbe,derselben,derzeit,des,deshalb,desselben,dessen,desto,deswegen,dich,die,diejenige,dies,diese,dieselbe,dieselben,diesem,diesen,dieser,dieses,diesseits,dinge,dir,direkt,direkte,direkten,direkter,doch,doppelt,dort,dorther,dorthin,drauf,drei,dreißig,drin,dritte,drunter,drüber,du,dunklen,durch,durchaus,durfte,durften,dürfen,dürfte,eben,ebenfalls,ebenso,ehe,eher,eigenen,eigenes,eigentlich,ein,einbaün,eine,einem,einen,einer,einerseits,eines,einfach,einführen,einführte,einführten,eingesetzt,einig,einige,einigem,einigen,einiger,einigermaßen,einiges,einmal,eins,einseitig,einseitige,einseitigen,einseitiger,einst,einstmals,einzig,ende,entsprechend,entweder,er,ergänze,ergänzen,ergänzte,ergänzten,erhalten,erhielt,erhielten,erhält,erneut,erst,erste,ersten,erster,eröffne,eröffnen,eröffnet,eröffnete,eröffnetes,es,etc,etliche,etwa,etwas,euch,euer,eure,eurem,euren,eurer,eures,fall,falls,fand,fast,ferner,finden,findest,findet,folgende,folgenden,folgender,folgendes,folglich,fordern,fordert,forderte,forderten,fortsetzen,fortsetzt,fortsetzte,fortsetzten,fragte,frau,frei,freie,freier,freies,fuer,fünf,für,gab,ganz,ganze,ganzem,ganzen,ganzer,ganzes,gar,gbr,geb,geben,geblieben,gebracht,gedurft,geehrt,geehrte,geehrten,geehrter,gefallen,gefiel,gefälligst,gefällt,gegeben,gegen,gehabt,gehen,geht,gekommen,gekonnt,gemacht,gemocht,gemäss,genommen,genug,gern,gesagt,gesehen,gestern,gestrige,getan,geteilt,geteilte,getragen,gewesen,gewissermaßen,gewollt,geworden,ggf,gib,gibt,gleich,gleichwohl,gleichzeitig,glücklicherweise,gmbh,gratulieren,gratuliert,gratulierte,gute,guten,gängig,gängige,gängigen,gängiger,gängiges,gänzlich,hab,habe,haben,haette,halb,hallo,hast,hat,hatte,hatten,hattest,hattet,heraus,herein,heute,heutige,hier,hiermit,hiesige,hin,hinein,hinten,hinter,hinterher,hoch,hundert,hätt,hätte,hätten,höchstens,ich,igitt,ihm,ihn,ihnen,ihr,ihre,ihrem,ihren,ihrer,ihres,im,immer,immerhin,important,in,indem,indessen,info,infolge,innen,innerhalb,ins,insofern,inzwischen,irgend,irgendeine,irgendwas,irgendwen,irgendwer,irgendwie,irgendwo,ist,ja,je,jede,jedem,jeden,jedenfalls,jeder,jederlei,jedes,jedoch,jemand,jene,jenem,jenen,jener,jenes,jenseits,jetzt,jährig,jährige,jährigen,jähriges,kam,kann,kannst,kaum,kein,keine,keinem,keinen,keiner,keinerlei,keines,keineswegs,klar,klare,klaren,klares,klein,kleinen,kleiner,kleines,koennen,koennt,koennte,koennten,komme,kommen,kommt,konkret,konkrete,konkreten,konkreter,konkretes,konnte,konnten,könn,können,könnt,könnte,könnten,künftig,lag,lagen,langsam,lassen,laut,lediglich,leer,legen,legte,legten,leicht,leider,lesen,letze,letzten,letztendlich,letztens,letztes,letztlich,lichten,liegt,liest,links,längst,längstens,mache,machen,machst,macht,machte,machten,mag,magst,mal,man,manche,manchem,manchen,mancher,mancherorts,manches,manchmal,mann,margin,mehr,mehrere,mein,meine,meinem,meinen,meiner,meines,meist,meiste,meisten,meta,mich,mindestens,mir,mit,mithin,mochte,morgen,morgige,muessen,muesst,muesste,muss,musst,musste,mussten,muß,mußt,möchte,möchten,möchtest,mögen,möglich,mögliche,möglichen,möglicher,möglicherweise,müssen,müsste,müssten,müßt,müßte,nach,nachdem,nacher,nachhinein,nacht,nahm,natürlich,neben,nebenan,nehmen,nein,neu,neue,neuem,neuen,neuer,neues,neun,nicht,nichts,nie,niemals,niemand,nimm,nimmer,nimmt,nirgends,nirgendwo,noch,nun,nur,nutzen,nutzt,nutzung,nächste,nämlich,nötigenfalls,nützt,ob,oben,oberhalb,obgleich,obschon,obwohl,oder,oft,ohne,per,pfui,plötzlich,pro,reagiere,reagieren,reagiert,reagierte,rechts,regelmäßig,rief,rund,sage,sagen,sagt,sagte,sagten,sagtest,sang,sangen,schlechter,schließlich,schnell,schon,schreibe,schreiben,schreibens,schreiber,schwierig,schätzen,schätzt,schätzte,schätzten,sechs,sect,sehe,sehen,sehr,sehrwohl,seht,sei,seid,sein,seine,seinem,seinen,seiner,seines,seit,seitdem,seite,seiten,seither,selber,selbst,senke,senken,senkt,senkte,senkten,setzen,setzt,setzte,setzten,sich,sicher,sicherlich,sie,sieben,siebte,siehe,sieht,sind,singen,singt,so,sobald,sodaß,soeben,sofern,sofort,sog,sogar,solange,solch,solche,solchem,solchen,solcher,solches,soll,sollen,sollst,sollt,sollte,sollten,solltest,somit,sondern,sonst,sonstwo,sooft,soviel,soweit,sowie,sowohl,spielen,später,startet,startete,starteten,statt,stattdessen,steht,steige,steigen,steigt,stets,stieg,stiegen,such,suchen,sämtliche,tages,tat,tatsächlich,tatsächlichen,tatsächlicher,tatsächliches,tausend,teile,teilen,teilte,teilten,titel,total,trage,tragen,trotzdem,trug,trägt,tun,tust,tut,txt,tät,ueber,um,umso,unbedingt,und,ungefähr,unmöglich,unmögliche,unmöglichen,unmöglicher,unnötig,uns,unse,unsem,unsen,unser,unsere,unserem,unseren,unserer,unseres,unserm,unses,unten,unter,unterbrach,unterbrechen,unterhalb,unwichtig,usw,vergangen,vergangene,vergangener,vergangenes,vermag,vermutlich,vermögen,verrate,verraten,verriet,verrieten,version,versorge,versorgen,versorgt,versorgte,versorgten,versorgtes,veröffentlichen,veröffentlicher,veröffentlicht,veröffentlichte,veröffentlichten,veröffentlichtes,viel,viele,vielen,vieler,vieles,vielleicht,vielmals,vier,vollständig,vom,von,vor,voran,vorbei,vorgestern,vorher,vorne,vorüber,völlig,wachen,waere,wann,war,waren,warst,warum,was,weder,weg,wegen,weil,weiter,weitere,weiterem,weiteren,weiterer,weiteres,weiterhin,weiß,welche,welchem,welchen,welcher,welches,wem,wen,wenig,wenige,weniger,wenigstens,wenn,wenngleich,wer,werde,werden,werdet,weshalb,wessen,wichtig,wie,wieder,wieso,wieviel,wiewohl,will,willst,wir,wird,wirklich,wirst,wo,wodurch,wogegen,woher,wohin,wohingegen,wohl,wohlweislich,wolle,wollen,wollt,wollte,wollten,wolltest,wolltet,womit,woraufhin,woraus,worin,wurde,wurden,während,währenddessen,wär,wäre,wären,würde,würden,z.B.,zahlreich,zehn,zeitweise,ziehen,zieht,zog,zogen,zu,zudem,zuerst,zufolge,zugleich,zuletzt,zum,zumal,zur,zurück,zusammen,zuviel,zwanzig,zwar,zwei,zwischen,zwölf,ähnlich,übel,über,überall,überallhin,überdies,übermorgen,übrig,übrigens\r\n\r\n#english:\r\na\'s,able,about,above,abroad,according,accordingly,across,actually,adj,after,afterwards,again,against,ago,ahead,ain\'t,all,allow,allows,almost,alone,along,alongside,already,also,although,always,am,amid,amidst,among,amongst,an,and,another,any,anybody,anyhow,anyone,anything,anyway,anyways,anywhere,apart,appear,appreciate,appropriate,are,aren\'t,around,as,aside,ask,asking,associated,at,available,away,awfully,back,backward,backwards,be,became,because,become,becomes,becoming,been,before,beforehand,begin,behind,being,believe,below,beside,besides,best,better,between,beyond,both,brief,but,by,c\'mon,c\'s,came,can,can\'t,cannot,cant,caption,cause,causes,certain,certainly,changes,clearly,co,co.,com,come,comes,concerning,consequently,consider,considering,contain,containing,contains,corresponding,could,couldn\'t,course,currently,dare,daren\'t,definitely,described,despite,did,didn\'t,different,directly,do,does,doesn\'t,doing,don\'t,done,down,downwards,during,each,edu,eg,eight,eighty,either,else,elsewhere,end,ending,enough,entirely,especially,et,etc,even,ever,evermore,every,everybody,everyone,everything,everywhere,ex,exactly,example,except,fairly,far,farther,few,fewer,fifth,first,five,followed,following,follows,for,forever,former,formerly,forth,forward,found,four,from,further,furthermore,get,gets,getting,given,gives,go,goes,going,gone,got,gotten,greetings,had,hadn\'t,half,happens,hardly,has,hasn\'t,have,haven\'t,having,he,he\'d,he\'ll,he\'s,hello,help,hence,her,here,here\'s,hereafter,hereby,herein,hereupon,hers,herself,hi,him,himself,his,hither,hopefully,how,howbeit,however,hundred,i\'d,i\'ll,i\'m,i\'ve,ie,if,ignored,immediate,in,inasmuch,inc,inc.,indeed,indicate,indicated,indicates,inner,inside,insofar,instead,into,inward,is,isn\'t,it,it\'d,it\'ll,it\'s,its,itself,just,k,keep,keeps,kept,know,known,knows,last,lately,later,latter,latterly,least,less,lest,let,let\'s,like,liked,likely,likewise,little,look,looking,looks,low,lower,ltd,made,mainly,make,makes,many,may,maybe,mayn\'t,me,mean,meantime,meanwhile,merely,might,mightn\'t,mine,minus,miss,more,moreover,most,mostly,mr,mrs,much,must,mustn\'t,my,myself,name,namely,nd,near,nearly,necessary,need,needn\'t,needs,neither,never,neverf,neverless,nevertheless,new,next,nine,ninety,no,no-one,nobody,non,none,nonetheless,noone,nor,normally,not,nothing,notwithstanding,novel,now,nowhere,obviously,of,off,often,oh,ok,okay,old,on,once,one,one\'s,ones,only,onto,opposite,or,other,others,otherwise,ought,oughtn\'t,our,ours,ourselves,out,outside,over,overall,own,particular,particularly,past,per,perhaps,placed,please,plus,possible,presumably,probably,provided,provides,que,quite,qv,rather,rd,re,really,reasonably,recent,recently,regarding,regardless,regards,relatively,respectively,right,round,said,same,saw,say,saying,says,second,secondly,see,seeing,seem,seemed,seeming,seems,seen,self,selves,sensible,sent,serious,seriously,seven,several,shall,shan\'t,she,she\'d,she\'ll,she\'s,should,shouldn\'t,since,six,so,some,somebody,someday,somehow,someone,something,sometime,sometimes,somewhat,somewhere,soon,sorry,specified,specify,specifying,still,sub,such,sup,sure,t\'s,take,taken,taking,tell,tends,th,than,thank,thanks,thanx,that,that\'ll,that\'s,that\'ve,thats,the,their,theirs,them,themselves,then,thence,there,there\'d,there\'ll,there\'re,there\'s,there\'ve,thereafter,thereby,therefore,therein,theres,thereupon,these,they,they\'d,they\'ll,they\'re,they\'ve,thing,things,think,third,thirty,this,thorough,thoroughly,those,though,three,through,throughout,thru,thus,till,to,together,too,took,toward,towards,tried,tries,truly,try,trying,twice,two,un,under,underneath,undoing,unfortunately,unless,unlike,unlikely,until,unto,up,upon,upwards,us,use,used,useful,uses,using,usually,v,value,various,versus,very,via,viz,vs,want,wants,was,wasn\'t,way,we,we\'d,we\'ll,we\'re,we\'ve,welcome,well,went,were,weren\'t,what,what\'ll,what\'s,what\'ve,whatever,when,whence,whenever,where,where\'s,whereafter,whereas,whereby,wherein,whereupon,wherever,whether,which,whichever,while,whilst,whither,who,who\'d,who\'ll,who\'s,whoever,whole,whom,whomever,whose,why,will,willing,wish,with,within,without,won\'t,wonder,would,wouldn\'t,yes,yet,you,you\'d,you\'ll,you\'re,you\'ve,your,yours,yourself,yourselves,zero', 16, 16, NULL, NOW(), NULL, 'xtc_cfg_textarea(');
+INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_STOP_WORDS', '#german:\r\nab,aber,abgerufen,abgerufene,abgerufener,abgerufenes,acht,alle,allein,allem,allen,aller,allerdings,allerlei,alles,allgemein,allm?hlich,allzu,als,alsbald,also,am,an,ander,andere,anderem,anderen,anderer,andererseits,anderes,anderm,andern,andernfalls,anders,anerkannt,anerkannte,anerkannter,anerkanntes,anfangen,anfing,angefangen,angesetze,angesetzt,angesetzten,angesetzter,ansetzen,anstatt,arbeiten,auch,auf,aufgeh?rt,aufgrund,aufh?ren,aufh?rte,aufzusuchen,aus,ausdr?cken,ausdr?ckt,ausdr?ckte,ausgenommen,ausser,ausserdem,author,autor,au?en,au?er,au?erdem,au?erhalb,bald,bearbeite,bearbeiten,bearbeitete,bearbeiteten,bedarf,bedurfte,bed?rfen,befragen,befragte,befragten,befragter,begann,beginnen,begonnen,behalten,behielt,bei,beide,beiden,beiderlei,beides,beim,beinahe,beitragen,beitrugen,bekannt,bekannte,bekannter,bekennen,benutzt,bereits,berichten,berichtet,berichtete,berichteten,besonders,besser,bestehen,besteht,betr?chtlich,bevor,bez?glich,bietet,bin,bis,bisher,bislang,bist,bleiben,blieb,bloss,blo?,brachte,brachten,brauchen,braucht,bringen,br?uchte,bsp.,bzw,b?den,ca.,da,dabei,dadurch,daf?r,dagegen,daher,dahin,damals,damit,danach,daneben,dank,danke,danken,dann,dannen,daran,darauf,daraus,darf,darfst,darin,darum,darunter,dar?ber,dar?berhinaus,das,dass,dasselbe,davon,davor,dazu,da?,dein,deine,deinem,deinen,deiner,deines,dem,demnach,demselben,den,denen,denn,dennoch,denselben,der,derart,derartig,derem,deren,derer,derjenige,derjenigen,derselbe,derselben,derzeit,des,deshalb,desselben,dessen,desto,deswegen,dich,die,diejenige,dies,diese,dieselbe,dieselben,diesem,diesen,dieser,dieses,diesseits,dinge,dir,direkt,direkte,direkten,direkter,doch,doppelt,dort,dorther,dorthin,drauf,drei,drei?ig,drin,dritte,drunter,dr?ber,du,dunklen,durch,durchaus,durfte,durften,d?rfen,d?rfte,eben,ebenfalls,ebenso,ehe,eher,eigenen,eigenes,eigentlich,ein,einba?n,eine,einem,einen,einer,einerseits,eines,einfach,einf?hren,einf?hrte,einf?hrten,eingesetzt,einig,einige,einigem,einigen,einiger,einigerma?en,einiges,einmal,eins,einseitig,einseitige,einseitigen,einseitiger,einst,einstmals,einzig,ende,entsprechend,entweder,er,erg?nze,erg?nzen,erg?nzte,erg?nzten,erhalten,erhielt,erhielten,erh?lt,erneut,erst,erste,ersten,erster,er?ffne,er?ffnen,er?ffnet,er?ffnete,er?ffnetes,es,etc,etliche,etwa,etwas,euch,euer,eure,eurem,euren,eurer,eures,fall,falls,fand,fast,ferner,finden,findest,findet,folgende,folgenden,folgender,folgendes,folglich,fordern,fordert,forderte,forderten,fortsetzen,fortsetzt,fortsetzte,fortsetzten,fragte,frau,frei,freie,freier,freies,fuer,f?nf,f?r,gab,ganz,ganze,ganzem,ganzen,ganzer,ganzes,gar,gbr,geb,geben,geblieben,gebracht,gedurft,geehrt,geehrte,geehrten,geehrter,gefallen,gefiel,gef?lligst,gef?llt,gegeben,gegen,gehabt,gehen,geht,gekommen,gekonnt,gemacht,gemocht,gem?ss,genommen,genug,gern,gesagt,gesehen,gestern,gestrige,getan,geteilt,geteilte,getragen,gewesen,gewisserma?en,gewollt,geworden,ggf,gib,gibt,gleich,gleichwohl,gleichzeitig,gl?cklicherweise,gmbh,gratulieren,gratuliert,gratulierte,gute,guten,g?ngig,g?ngige,g?ngigen,g?ngiger,g?ngiges,g?nzlich,hab,habe,haben,haette,halb,hallo,hast,hat,hatte,hatten,hattest,hattet,heraus,herein,heute,heutige,hier,hiermit,hiesige,hin,hinein,hinten,hinter,hinterher,hoch,hundert,h?tt,h?tte,h?tten,h?chstens,ich,igitt,ihm,ihn,ihnen,ihr,ihre,ihrem,ihren,ihrer,ihres,im,immer,immerhin,important,in,indem,indessen,info,infolge,innen,innerhalb,ins,insofern,inzwischen,irgend,irgendeine,irgendwas,irgendwen,irgendwer,irgendwie,irgendwo,ist,ja,je,jede,jedem,jeden,jedenfalls,jeder,jederlei,jedes,jedoch,jemand,jene,jenem,jenen,jener,jenes,jenseits,jetzt,j?hrig,j?hrige,j?hrigen,j?hriges,kam,kann,kannst,kaum,kein,keine,keinem,keinen,keiner,keinerlei,keines,keineswegs,klar,klare,klaren,klares,klein,kleinen,kleiner,kleines,koennen,koennt,koennte,koennten,komme,kommen,kommt,konkret,konkrete,konkreten,konkreter,konkretes,konnte,ko,liegt,liest,links,l?ngst,l?ngstens,mache,machen,machst,macht,machte,machten,mag,magst,mal,man,manche,manchem,manchen,mancher,mancherorts,manches,manchmal,mann,margin,mehr,mehrere,mein,meine,meinem,meinen,meiner,meines,meist,meiste,meisten,meta,mich,mindestens,mir,mit,mithin,mochte,morgen,morgige,muessen,muesst,muesste,muss,musst,musste,mussten,mu?,mu?t,m?chte,m?chten,m?chtest,m?gen,m?glich,m?gliche,m?glichen,m?glicher,m?glicherweise,m?ssen,m?sste,m?ssten,m??t,m??te,nach,nachdem,nacher,nachhinein,nacht,nahm,nat?rlich,neben,nebenan,nehmen,nein,neu,neue,neuem,neuen,neuer,neues,neun,nicht,nichts,nie,niemals,niemand,nimm,nimmer,nimmt,nirgends,nirgendwo,noch,nun,nur,nutzen,nutzt,nutzung,n?chste,n?mlich,n?tigenfalls,n?tzt,ob,oben,oberhalb,obgleich,obschon,obwohl,oder,oft,ohne,per,pfui,pl?tzlich,pro,reagiere,reagieren,reagiert,reagierte,rechts,regelm??ig,rief,rund,sage,sagen,sagt,sagte,sagten,sagtest,sang,sangen,schlechter,schlie?lich,schnell,schon,schreibe,schreiben,schreibens,schreiber,schwierig,sch?tzen,sch?tzt,sch?tzte,sch?tzten,sechs,sect,sehe,sehen,sehr,sehrwohl,seht,sei,seid,sein,seine,seinem,seinen,seiner,seines,seit,seitdem,seite,seiten,seither,selber,selbst,senke,senken,senkt,senkte,senkten,setzen,setzt,setzte,setzten,sich,sicher,sicherlich,sie,sieben,siebte,siehe,sieht,sind,singen,singt,so,sobald,soda?,soeben,sofern,sofort,sog,sogar,solange,solch,solche,solchem,solchen,solcher,solches,soll,sollen,sollst,sollt,sollte,sollten,solltest,somit,sondern,sonst,sonstwo,sooft,soviel,soweit,sowie,sowohl,spielen,sp?ter,startet,startete,starteten,statt,stattdessen,steht,steige,steigen,steigt,stets,stieg,stiegen,such,suchen,s?mtliche,tages,tat,tats?chlich,tats?chlichen,tats?chlicher,tats?chliches,tausend,teile,teilen,teilte,teilten,titel,total,trage,tragen,trotzdem,trug,tr?gt,tun,tust,tut,txt,t?t,ueber,um,umso,unbedingt,und,ungef?hr,unm?glich,unm?gliche,unm?glichen,unm?glicher,unn?tig,uns,unse,unsem,unsen,unser,unsere,unserem,unseren,unserer,unseres,unserm,unses,unten,unter,unterbrach,unterbrechen,unterhalb,unwichtig,usw,vergangen,vergangene,vergangener,vergangenes,vermag,vermutlich,verm?gen,verrate,verraten,verriet,verrieten,version,versorge,versorgen,versorgt,versorgte,versorgten,versorgtes,ver?ffentlichen,ver?ffentlicher,ver?ffentlicht,ver?ffentlichte,ver?ffentlichten,ver?ffentlichtes,viel,viele,vielen,vieler,vieles,vielleicht,vielmals,vier,vollst?ndig,vom,von,vor,voran,vorbei,vorgestern,vorher,vorne,vor?ber,v?llig,wachen,waere,wann,war,waren,warst,warum,was,weder,weg,wegen,weil,weiter,weitere,weiterem,weiteren,weiterer,weiteres,weiterhin,wei?,welche,welchem,welchen,welcher,welches,wem,wen,wenig,wenige,weniger,wenigstens,wenn,wenngleich,wer,werde,werden,werdet,weshalb,wessen,wichtig,wie,wieder,wieso,wieviel,wiewohl,will,willst,wir,wird,wirklich,wirst,wo,wodurch,wogegen,woher,wohin,wohingegen,wohl,wohlweislich,wolle,wollen,wollt,wollte,wollten,wolltest,wolltet,womit,woraufhin,woraus,worin,wurde,wurden,w?hrend,w?hrenddessen,w?r,w?re,w?ren,w?rde,w?rden,z.B.,zahlreich,zehn,zeitweise,ziehen,zieht,zog,zogen,zu,zudem,zuerst,zufolge,zugleich,zuletzt,zum,zumal,zur,zur?ck,zusammen,zuviel,zwanzig,zwar,zwei,zwischen,zw?lf,?hnlich,?bel,?ber,?berall,?berallhin,?berdies,?bermorgen,?brig,?brigens\r\n\r\n#english:\r\na\'s,able,about,above,abroad,according,accordingly,across,actually,adj,after,afterwards,again,against,ago,ahead,ain\'t,all,allow,allows,almost,alone,along,alongside,already,also,although,always,am,amid,amidst,among,amongst,an,and,another,any,anybody,anyhow,anyone,anything,anyway,anyways,anywhere,apart,appear,appreciate,appropriate,are,aren\'t,around,as,aside,ask,asking,associated,at,available,away,awfully,back,backward,backwards,be,became,because,become,becomes,becoming,been,before,beforehand,begin,behind,being,believe,below,beside,besides,best,better,between,beyond,both,brief,but,by,c\'mon,c\'s,came,can,can\'t,cannot,cant,caption,cause,causes,certain,certainly,changes,clearly,co,co.,com,come,comes,concerning,consequently,consider,considering,contain,containing,contains,corresponding,could,couldn\'t,course,currently,dare,daren\'t,ds,doesn\'t,doing,don\'t,done,down,downwards,during,each,edu,eg,eight,eighty,either,else,elsewhere,end,ending,enough,entirely,especially,et,etc,even,ever,evermore,every,everybody,everyone,everything,everywhere,ex,exactly,example,except,fairly,far,farther,few,fewer,fifth,first,five,followed,following,follows,for,forever,former,formerly,forth,forward,found,four,from,further,furthermore,get,gets,getting,given,gives,go,goes,going,gone,got,gotten,greetings,had,hadn\'t,half,happens,hardly,has,hasn\'t,have,haven\'t,having,he,he\'d,he\'ll,he\'s,hello,help,hence,her,here,here\'s,hereafter,hereby,herein,hereupon,hers,herself,hi,him,himself,his,hither,hopefully,how,howbeit,however,hundred,i\'d,i\'ll,i\'m,i\'ve,ie,if,ignored,immediate,in,inasmuch,inc,inc.,indeed,indicate,indicated,indicates,inner,inside,insofar,instead,into,inward,is,isn\'t,it,it\'d,it\'ll,it\'s,its,itself,just,k,keep,keeps,kept,know,known,knows,last,lately,later,latter,latterly,least,less,lest,let,let\'s,like,liked,likely,likewise,little,look,looking,looks,low,lower,ltd,made,mainly,make,makes,many,may,maybe,mayn\'t,me,mean,meantime,meanwhile,merely,might,mightn\'t,mine,minus,miss,more,moreover,most,mostly,mr,mrs,much,must,mustn\'t,my,myself,name,namely,nd,near,nearly,necessary,need,needn\'t,needs,neither,never,neverf,neverless,nevertheless,new,next,nine,ninety,no,no-one,nobody,non,none,nonetheless,noone,nor,normally,not,nothing,notwithstanding,novel,now,nowhere,obviously,of,off,often,oh,ok,okay,old,on,once,one,one\'s,ones,only,onto,opposite,or,other,others,otherwise,ought,oughtn\'t,our,ours,ourselves,out,outside,over,overall,own,particular,particularly,past,per,perhaps,placed,please,plus,possible,presumably,probably,provided,provides,que,quite,qv,rather,rd,re,really,reasonably,recent,recently,regarding,regardless,regards,relatively,respectively,right,round,said,same,saw,say,saying,says,second,secondly,see,seeing,seem,seemed,seeming,seems,seen,self,selves,sensible,sent,serious,seriously,seven,several,shall,shan\'t,she,she\'d,she\'ll,she\'s,should,shouldn\'t,since,six,so,some,somebody,someday,somehow,someone,something,sometime,sometimes,somewhat,somewhere,soon,sorry,specified,specify,specifying,still,sub,such,sup,sure,t\'s,take,taken,taking,tell,tends,th,than,thank,thanks,thanx,that,that\'ll,that\'s,that\'ve,thats,the,their,theirs,them,themselves,then,thence,there,there\'d,there\'ll,there\'re,there\'s,there\'ve,thereafter,thereby,therefore,therein,theres,thereupon,these,they,they\'d,they\'ll,they\'re,they\'ve,thing,things,think,third,thirty,this,thorough,thoroughly,those,though,three,through,throughout,thru,thus,till,to,together,too,took,toward,towards,tried,tries,truly,try,trying,twice,two,un,under,underneath,undoing,unfortunately,unless,unlike,unlikely,until,unto,up,upon,upwards,us,use,used,useful,uses,using,usually,v,value,various,versus,very,via,viz,vs,want,wants,was,wasn\'t,way,we,we\'d,we\'ll,we\'re,we\'ve,welcome,well,went,were,weren\'t,what,what\'ll,what\'s,what\'ve,whatever,when,whence,whenever,where,where\'s,whereafter,whereas,whereby,wherein,whereupon,wherever,whether,which,whichever,while,whilst,whither,who,who\'d,who\'ll,who\'s,whoever,whole,whom,whomever,whose,why,will,willing,wish,with,within,without,won\'t,wonder,would,wouldn\'t,yes,yet,you,you\'d,you\'ll,you\'re,you\'ve,your,yours,yourself,yourselves,zero', 16, 16, NULL, NOW(), NULL, 'xtc_cfg_textarea(');
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_GO_WORDS', '', 16, 17, NULL, NOW(), NULL, 'xtc_cfg_textarea(');
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_CAT_SHOP_TITLE', 'false', 16, 18, NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),');
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'META_PROD_SHOP_TITLE', 'false', 16, 19, NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),');
@@ -1670,6 +1670,7 @@
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'MODULE_NEWSLETTER_STATUS', 'true', 17, 19, NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),');
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'MODULE_NEWSLETTER_VOUCHER_AMOUNT', '0', 17, 20, NULL, NOW(), NULL, NULL);
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'MODULE_NEWSLETTER_DISCOUNT_COUPON', '', 17, 21, NULL, NOW(), NULL, NULL);
+INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'DISPLAY_PRIVACY_POLICY_ON_CHECKOUT', 'false', 17, 20, NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),');
 
 #configuration_group_id 18, VAT reg no
 INSERT INTO configuration (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES (NULL, 'ACCOUNT_COMPANY_VAT_CHECK', 'true', 18, 4, NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),');
@@ -2220,7 +2221,7 @@
 
 # Germany
 INSERT INTO zones VALUES (NULL,81,'NI','Niedersachsen');
-INSERT INTO zones VALUES (NULL,81,'BW','Baden-Württemberg');
+INSERT INTO zones VALUES (NULL,81,'BW','Baden-W?rttemberg');
 INSERT INTO zones VALUES (NULL,81,'BY','Bayern');
 INSERT INTO zones VALUES (NULL,81,'BE','Berlin');
 INSERT INTO zones VALUES (NULL,81,'BR','Brandenburg');
@@ -2234,14 +2235,14 @@
 INSERT INTO zones VALUES (NULL,81,'SN','Sachsen');
 INSERT INTO zones VALUES (NULL,81,'ST','Sachsen-Anhalt');
 INSERT INTO zones VALUES (NULL,81,'SH','Schleswig-Holstein');
-INSERT INTO zones VALUES (NULL,81,'TH','Thüringen');
+INSERT INTO zones VALUES (NULL,81,'TH','Th?ringen');
 
 # Austria
 INSERT INTO zones VALUES (NULL,14,'WI','Wien');
-INSERT INTO zones VALUES (NULL,14,'NO','Niederösterreich');
-INSERT INTO zones VALUES (NULL,14,'OO','Oberösterreich');
+INSERT INTO zones VALUES (NULL,14,'NO','Nieder?sterreich');
+INSERT INTO zones VALUES (NULL,14,'OO','Ober?sterreich');
 INSERT INTO zones VALUES (NULL,14,'SB','Salzburg');
-INSERT INTO zones VALUES (NULL,14,'KN','Kärnten');
+INSERT INTO zones VALUES (NULL,14,'KN','K?rnten');
 INSERT INTO zones VALUES (NULL,14,'ST','Steiermark');
 INSERT INTO zones VALUES (NULL,14,'TI','Tirol');
 INSERT INTO zones VALUES (NULL,14,'BL','Burgenland');
@@ -2257,7 +2258,7 @@
 INSERT INTO zones VALUES (NULL,204,'FR','Freiburg');
 INSERT INTO zones VALUES (NULL,204,'GE','Genf');
 INSERT INTO zones VALUES (NULL,204,'GL','Glarus');
-INSERT INTO zones VALUES (NULL,204,'GR','Graubünden');
+INSERT INTO zones VALUES (NULL,204,'GR','Graub?nden');
 INSERT INTO zones VALUES (NULL,204,'JU','Jura');
 INSERT INTO zones VALUES (NULL,204,'LU','Luzern');
 INSERT INTO zones VALUES (NULL,204,'NE','Neuenburg');
@@ -2273,38 +2274,38 @@
 INSERT INTO zones VALUES (NULL,204,'VD','Waadt');
 INSERT INTO zones VALUES (NULL,204,'VS','Wallis');
 INSERT INTO zones VALUES (NULL,204,'ZG','Zug');
-INSERT INTO zones VALUES (NULL,204,'ZH','Zürich');
+INSERT INTO zones VALUES (NULL,204,'ZH','Z?rich');
 
 # Spain
-INSERT INTO zones VALUES (NULL,195,'ES-C','A Coruña');
-INSERT INTO zones VALUES (NULL,195,'ES-VI','Álava');
+INSERT INTO zones VALUES (NULL,195,'ES-C','A Coru?a');
+INSERT INTO zones VALUES (NULL,195,'ES-VI','?lava');
 INSERT INTO zones VALUES (NULL,195,'ES-AB','Albacete');
 INSERT INTO zones VALUES (NULL,195,'ES-A','Alicante');
-INSERT INTO zones VALUES (NULL,195,'ES-AL','Almería');
+INSERT INTO zones VALUES (NULL,195,'ES-AL','Almer?a');
 INSERT INTO zones VALUES (NULL,195,'ES-O','Asturias');
-INSERT INTO zones VALUES (NULL,195,'ES-AV','Ávila');
+INSERT INTO zones VALUES (NULL,195,'ES-AV','?vila');
 INSERT INTO zones VALUES (NULL,195,'ES-BA','Badajoz');
 INSERT INTO zones VALUES (NULL,195,'ES-PM','Balears');
 INSERT INTO zones VALUES (NULL,195,'ES-B','Barcelona');
 INSERT INTO zones VALUES (NULL,195,'ES-BU','Burgos');
-INSERT INTO zones VALUES (NULL,195,'ES-CC','Cáceres');
-INSERT INTO zones VALUES (NULL,195,'ES-CA','Cádiz');
+INSERT INTO zones VALUES (NULL,195,'ES-CC','C?ceres');
+INSERT INTO zones VALUES (NULL,195,'ES-CA','C?diz');
 INSERT INTO zones VALUES (NULL,195,'ES-S','Cantabria');
-INSERT INTO zones VALUES (NULL,195,'ES-CS','Castellón');
+INSERT INTO zones VALUES (NULL,195,'ES-CS','Castell?n');
 INSERT INTO zones VALUES (NULL,195,'ES-CE','Ceuta');
 INSERT INTO zones VALUES (NULL,195,'ES-CR','Ciudad Real');
-INSERT INTO zones VALUES (NULL,195,'ES-CO','Córdoba');
+INSERT INTO zones VALUES (NULL,195,'ES-CO','C?rdoba');
 INSERT INTO zones VALUES (NULL,195,'ES-CU','Cuenca');
 INSERT INTO zones VALUES (NULL,195,'ES-GI','Girona');
 INSERT INTO zones VALUES (NULL,195,'ES-GR','Granada');
 INSERT INTO zones VALUES (NULL,195,'ES-GU','Guadalajara');
-INSERT INTO zones VALUES (NULL,195,'ES-SS','Guipúzcoa');
+INSERT INTO zones VALUES (NULL,195,'ES-SS','Guip?zcoa');
 INSERT INTO zones VALUES (NULL,195,'ES-H','Huelva');
 INSERT INTO zones VALUES (NULL,195,'ES-HU','Huesca');
-INSERT INTO zones VALUES (NULL,195,'ES-J','Jaén');
+INSERT INTO zones VALUES (NULL,195,'ES-J','Ja?n');
 INSERT INTO zones VALUES (NULL,195,'ES-LO','La Rioja');
 INSERT INTO zones VALUES (NULL,195,'ES-GC','Las Palmas');
-INSERT INTO zones VALUES (NULL,195,'ES-LE','León');
+INSERT INTO zones VALUES (NULL,195,'ES-LE','Le?n');
 INSERT INTO zones VALUES (NULL,195,'ES-L','Lleida');
 INSERT INTO zones VALUES (NULL,195,'ES-LU','Lugo');
 INSERT INTO zones VALUES (NULL,195,'ES-M','Madrid');
@@ -2358,7 +2359,7 @@
 INSERT INTO zones VALUES (NULL,153,'Marlborough','Marlborough');
 
 #Brazil
-INSERT INTO zones VALUES (NULL,30,'SP','São Paulo');
+INSERT INTO zones VALUES (NULL,30,'SP','S?o Paulo');
 INSERT INTO zones VALUES (NULL,30,'RJ','Rio de Janeiro');
 INSERT INTO zones VALUES (NULL,30,'PE','Pernanbuco');
 INSERT INTO zones VALUES (NULL,30,'BA','Bahia');
@@ -2366,7 +2367,7 @@
 INSERT INTO zones VALUES (NULL,30,'MG','Minas Gerais');
 INSERT INTO zones VALUES (NULL,30,'ES','Espirito Santo');
 INSERT INTO zones VALUES (NULL,30,'RS','Rio Grande do Sul');
-INSERT INTO zones VALUES (NULL,30,'PR','Paraná');
+INSERT INTO zones VALUES (NULL,30,'PR','Paran?');
 INSERT INTO zones VALUES (NULL,30,'SC','Santa Catarina');
 INSERT INTO zones VALUES (NULL,30,'RG','Rio Grande do Norte');
 INSERT INTO zones VALUES (NULL,30,'MS','Mato Grosso do Sul');
@@ -2379,27 +2380,27 @@
 INSERT INTO zones VALUES (NULL,30,'AP','Amapa');
 INSERT INTO zones VALUES (NULL,30,'RR','Roraima');
 INSERT INTO zones VALUES (NULL,30,'AL','Alagoas');
-INSERT INTO zones VALUES (NULL,30,'CE','Ceará');
-INSERT INTO zones VALUES (NULL,30,'MA','Maranhão');
-INSERT INTO zones VALUES (NULL,30,'PA','Pará');
-INSERT INTO zones VALUES (NULL,30,'PB','Paraíba');
-INSERT INTO zones VALUES (NULL,30,'PI','Piauí');
+INSERT INTO zones VALUES (NULL,30,'CE','Cear?');
+INSERT INTO zones VALUES (NULL,30,'MA','Maranh?o');
+INSERT INTO zones VALUES (NULL,30,'PA','Par?');
+INSERT INTO zones VALUES (NULL,30,'PB','Para?ba');
+INSERT INTO zones VALUES (NULL,30,'PI','Piau?');
 INSERT INTO zones VALUES (NULL,30,'SE','Sergipe');
 
 #Chile
-INSERT INTO zones VALUES (NULL,43,'I','I Región de Tarapacá');
-INSERT INTO zones VALUES (NULL,43,'II','II Región de Antofagasta');
-INSERT INTO zones VALUES (NULL,43,'III','III Región de Atacama');
-INSERT INTO zones VALUES (NULL,43,'IV','IV Región de Coquimbo');
-INSERT INTO zones VALUES (NULL,43,'V','V Región de Valaparaíso');
-INSERT INTO zones VALUES (NULL,43,'RM','Región Metropolitana');
-INSERT INTO zones VALUES (NULL,43,'VI','VI Región de L. B. O´higgins');
-INSERT INTO zones VALUES (NULL,43,'VII','VII Región del Maule');
-INSERT INTO zones VALUES (NULL,43,'VIII','VIII Región del Bío Bío');
-INSERT INTO zones VALUES (NULL,43,'IX','IX Región de la Araucanía');
-INSERT INTO zones VALUES (NULL,43,'X','X Región de los Lagos');
-INSERT INTO zones VALUES (NULL,43,'XI','XI Región de Aysén');
-INSERT INTO zones VALUES (NULL,43,'XII','XII Región de Magallanes');
+INSERT INTO zones VALUES (NULL,43,'I','I Regi?n de Tarapac?');
+INSERT INTO zones VALUES (NULL,43,'II','II Regi?n de Antofagasta');
+INSERT INTO zones VALUES (NULL,43,'III','III Regi?n de Atacama');
+INSERT INTO zones VALUES (NULL,43,'IV','IV Regi?n de Coquimbo');
+INSERT INTO zones VALUES (NULL,43,'V','V Regi?n de Valapara?so');
+INSERT INTO zones VALUES (NULL,43,'RM','Regi?n Metropolitana');
+INSERT INTO zones VALUES (NULL,43,'VI','VI Regi?n de L. B. O?higgins');
+INSERT INTO zones VALUES (NULL,43,'VII','VII Regi?n del Maule');
+INSERT INTO zones VALUES (NULL,43,'VIII','VIII Regi?n del B?o B?o');
+INSERT INTO zones VALUES (NULL,43,'IX','IX Regi?n de la Araucan?a');
+INSERT INTO zones VALUES (NULL,43,'X','X Regi?n de los Lagos');
+INSERT INTO zones VALUES (NULL,43,'XI','XI Regi?n de Ays?n');
+INSERT INTO zones VALUES (NULL,43,'XII','XII Regi?n de Magallanes');
 
 #Columbia
 INSERT INTO zones VALUES (NULL,47,'AMA','Amazonas');
@@ -2443,39 +2444,39 @@
 INSERT INTO zones VALUES (NULL,73,'04','Alpes de Haute Provence');
 INSERT INTO zones VALUES (NULL,73,'05','Hautes-Alpes');
 INSERT INTO zones VALUES (NULL,73,'06','Alpes Maritimes');
-INSERT INTO zones VALUES (NULL,73,'07','Ardèche');
+INSERT INTO zones VALUES (NULL,73,'07','Ard?che');
 INSERT INTO zones VALUES (NULL,73,'08','Ardennes');
-INSERT INTO zones VALUES (NULL,73,'09','Ariège');
+INSERT INTO zones VALUES (NULL,73,'09','Ari?ge');
 INSERT INTO zones VALUES (NULL,73,'10','Aube');
 INSERT INTO zones VALUES (NULL,73,'11','Aude');
 INSERT INTO zones VALUES (NULL,73,'12','Aveyron');
-INSERT INTO zones VALUES (NULL,73,'13','Bouches-du-Rhône');
+INSERT INTO zones VALUES (NULL,73,'13','Bouches-du-Rh?ne');
 INSERT INTO zones VALUES (NULL,73,'14','Calvados');
 INSERT INTO zones VALUES (NULL,73,'15','Cantal');
 INSERT INTO zones VALUES (NULL,73,'16','Charente');
 INSERT INTO zones VALUES (NULL,73,'17','Charente Maritime');
 INSERT INTO zones VALUES (NULL,73,'18','Cher');
-INSERT INTO zones VALUES (NULL,73,'19','Corrèze');
+INSERT INTO zones VALUES (NULL,73,'19','Corr?ze');
 INSERT INTO zones VALUES (NULL,73,'2A','Corse du Sud');
 INSERT INTO zones VALUES (NULL,73,'2B','Haute Corse');
-INSERT INTO zones VALUES (NULL,73,'21','Côte-d\'Or');
-INSERT INTO zones VALUES (NULL,73,'22','Côtes-d\'Armor');
+INSERT INTO zones VALUES (NULL,73,'21','C?te-d\'Or');
+INSERT INTO zones VALUES (NULL,73,'22','C?tes-d\'Armor');
 INSERT INTO zones VALUES (NULL,73,'23','Creuse');
 INSERT INTO zones VALUES (NULL,73,'24','Dordogne');
 INSERT INTO zones VALUES (NULL,73,'25','Doubs');
-INSERT INTO zones VALUES (NULL,73,'26','Drôme');
+INSERT INTO zones VALUES (NULL,73,'26','Dr?me');
 INSERT INTO zones VALUES (NULL,73,'27','Eure');
 INSERT INTO zones VALUES (NULL,73,'28','Eure et Loir');
-INSERT INTO zones VALUES (NULL,73,'29','Finistère');
+INSERT INTO zones VALUES (NULL,73,'29','Finist?re');
 INSERT INTO zones VALUES (NULL,73,'30','Gard');
 INSERT INTO zones VALUES (NULL,73,'31','Haute Garonne');
 INSERT INTO zones VALUES (NULL,73,'32','Gers');
 INSERT INTO zones VALUES (NULL,73,'33','Gironde');
-INSERT INTO zones VALUES (NULL,73,'34','Hérault');
+INSERT INTO zones VALUES (NULL,73,'34','H?rault');
 INSERT INTO zones VALUES (NULL,73,'35','Ille et Vilaine');
 INSERT INTO zones VALUES (NULL,73,'36','Indre');
 INSERT INTO zones VALUES (NULL,73,'37','Indre et Loire');
-INSERT INTO zones VALUES (NULL,73,'38','Isère');
+INSERT INTO zones VALUES (NULL,73,'38','Is?re');
 INSERT INTO zones VALUES (NULL,73,'39','Jura');
 INSERT INTO zones VALUES (NULL,73,'40','Landes');
 INSERT INTO zones VALUES (NULL,73,'41','Loir et Cher');
@@ -2485,7 +2486,7 @@
 INSERT INTO zones VALUES (NULL,73,'45','Loiret');
 INSERT INTO zones VALUES (NULL,73,'46','Lot');
 INSERT INTO zones VALUES (NULL,73,'47','Lot et Garonne');
-INSERT INTO zones VALUES (NULL,73,'48','Lozère');
+INSERT INTO zones VALUES (NULL,73,'48','Loz?re');
 INSERT INTO zones VALUES (NULL,73,'49','Maine et Loire');
 INSERT INTO zones VALUES (NULL,73,'50','Manche');
 INSERT INTO zones VALUES (NULL,73,'51','Marne');
@@ -2495,20 +2496,20 @@
 INSERT INTO zones VALUES (NULL,73,'55','Meuse');
 INSERT INTO zones VALUES (NULL,73,'56','Morbihan');
 INSERT INTO zones VALUES (NULL,73,'57','Moselle');
-INSERT INTO zones VALUES (NULL,73,'58','Nièvre');
+INSERT INTO zones VALUES (NULL,73,'58','Ni?vre');
 INSERT INTO zones VALUES (NULL,73,'59','Nord');
 INSERT INTO zones VALUES (NULL,73,'60','Oise');
 INSERT INTO zones VALUES (NULL,73,'61','Orne');
 INSERT INTO zones VALUES (NULL,73,'62','Pas de Calais');
-INSERT INTO zones VALUES (NULL,73,'63','Puy-de-Dôme');
-INSERT INTO zones VALUES (NULL,73,'64','Pyrénées-Atlantiques');
-INSERT INTO zones VALUES (NULL,73,'65','Hautes-Pyrénées');
-INSERT INTO zones VALUES (NULL,73,'66','Pyrénées-Orientales');
+INSERT INTO zones VALUES (NULL,73,'63','Puy-de-D?me');
+INSERT INTO zones VALUES (NULL,73,'64','Pyr?n?es-Atlantiques');
+INSERT INTO zones VALUES (NULL,73,'65','Hautes-Pyr?n?es');
+INSERT INTO zones VALUES (NULL,73,'66','Pyr?n?es-Orientales');
 INSERT INTO zones VALUES (NULL,73,'67','Bas Rhin');
 INSERT INTO zones VALUES (NULL,73,'68','Haut Rhin');
-INSERT INTO zones VALUES (NULL,73,'69','Rhône');
-INSERT INTO zones VALUES (NULL,73,'70','Haute-Saône');
-INSERT INTO zones VALUES (NULL,73,'71','Saône-et-Loire');
+INSERT INTO zones VALUES (NULL,73,'69','Rh?ne');
+INSERT INTO zones VALUES (NULL,73,'70','Haute-Sa?ne');
+INSERT INTO zones VALUES (NULL,73,'71','Sa?ne-et-Loire');
 INSERT INTO zones VALUES (NULL,73,'72','Sarthe');
 INSERT INTO zones VALUES (NULL,73,'73','Savoie');
 INSERT INTO zones VALUES (NULL,73,'74','Haute Savoie');
@@ -2516,13 +2517,13 @@
 INSERT INTO zones VALUES (NULL,73,'76','Seine Maritime');
 INSERT INTO zones VALUES (NULL,73,'77','Seine et Marne');
 INSERT INTO zones VALUES (NULL,73,'78','Yvelines');
-INSERT INTO zones VALUES (NULL,73,'79','Deux-Sèvres');
+INSERT INTO zones VALUES (NULL,73,'79','Deux-S?vres');
 INSERT INTO zones VALUES (NULL,73,'80','Somme');
 INSERT INTO zones VALUES (NULL,73,'81','Tarn');
 INSERT INTO zones VALUES (NULL,73,'82','Tarn et Garonne');
 INSERT INTO zones VALUES (NULL,73,'83','Var');
 INSERT INTO zones VALUES (NULL,73,'84','Vaucluse');
-INSERT INTO zones VALUES (NULL,73,'85','Vendée');
+INSERT INTO zones VALUES (NULL,73,'85','Vend?e');
 INSERT INTO zones VALUES (NULL,73,'86','Vienne');
 INSERT INTO zones VALUES (NULL,73,'87','Haute Vienne');
 INSERT INTO zones VALUES (NULL,73,'88','Vosges');
@@ -2539,10 +2540,10 @@
 INSERT INTO zones VALUES (NULL,73,'974 (DOM)','Saint Denis');
 INSERT INTO zones VALUES (NULL,73,'975 (DOM)','St-Pierre de Miquelon');
 INSERT INTO zones VALUES (NULL,73,'976 (TOM)','Mayotte');
-INSERT INTO zones VALUES (NULL,73,'984 (TOM)','Terres australes et Antartiques françaises');
-INSERT INTO zones VALUES (NULL,73,'985 (TOM)','Nouvelle Calédonie');
+INSERT INTO zones VALUES (NULL,73,'984 (TOM)','Terres australes et Antartiques fran?aises');
+INSERT INTO zones VALUES (NULL,73,'985 (TOM)','Nouvelle Cal?donie');
 INSERT INTO zones VALUES (NULL,73,'986 (TOM)','Wallis et Futuna');
-INSERT INTO zones VALUES (NULL,73,'987 (TOM)','Polynésie française');
+INSERT INTO zones VALUES (NULL,73,'987 (TOM)','Polyn?sie fran?aise');
 
 #India
 INSERT INTO zones VALUES (NULL,99,'DL','Delhi');
@@ -2618,7 +2619,7 @@
 INSERT INTO zones VALUES (NULL,105,'FE','Ferrara');
 INSERT INTO zones VALUES (NULL,105,'FI','Firenze');
 INSERT INTO zones VALUES (NULL,105,'FG','Foggia');
-INSERT INTO zones VALUES (NULL,105,'FC','Forlì-Cesena');
+INSERT INTO zones VALUES (NULL,105,'FC','Forl?-Cesena');
 INSERT INTO zones VALUES (NULL,105,'FR','Frosinone');
 INSERT INTO zones VALUES (NULL,105,'GE','Genova');
 INSERT INTO zones VALUES (NULL,105,'GO','Gorizia');
@@ -2786,17 +2787,17 @@
 INSERT INTO zones VALUES (NULL,160,'FIN','Finnmark');
 INSERT INTO zones VALUES (NULL,160,'HED','Hedmark');
 INSERT INTO zones VALUES (NULL,160,'HOR','Hordaland');
-INSERT INTO zones VALUES (NULL,160,'MOR','Møre og Romsdal');
+INSERT INTO zones VALUES (NULL,160,'MOR','M?re og Romsdal');
 INSERT INTO zones VALUES (NULL,160,'NOR','Nordland');
-INSERT INTO zones VALUES (NULL,160,'NTR','Nord-Trøndelag');
+INSERT INTO zones VALUES (NULL,160,'NTR','Nord-Tr?ndelag');
 INSERT INTO zones VALUES (NULL,160,'OPP','Oppland');
 INSERT INTO zones VALUES (NULL,160,'ROG','Rogaland');
 INSERT INTO zones VALUES (NULL,160,'SOF','Sogn og Fjordane');
-INSERT INTO zones VALUES (NULL,160,'STR','Sør-Trøndelag');
+INSERT INTO zones VALUES (NULL,160,'STR','S?r-Tr?ndelag');
 INSERT INTO zones VALUES (NULL,160,'TEL','Telemark');
 INSERT INTO zones VALUES (NULL,160,'TRO','Troms');
 INSERT INTO zones VALUES (NULL,160,'VEA','Vest-Agder');
-INSERT INTO zones VALUES (NULL,160,'OST','Østfold');
+INSERT INTO zones VALUES (NULL,160,'OST','?stfold');
 INSERT INTO zones VALUES (NULL,160,'SVA','Svalbard');
 
 #Pakistan
@@ -2869,24 +2870,24 @@
 INSERT INTO zones VALUES (NULL,203,'K','Blekinge');
 INSERT INTO zones VALUES (NULL,203,'W','Dalarna');
 INSERT INTO zones VALUES (NULL,203,'I','Gotland');
-INSERT INTO zones VALUES (NULL,203,'X','Gävleborg');
+INSERT INTO zones VALUES (NULL,203,'X','G?vleborg');
 INSERT INTO zones VALUES (NULL,203,'N','Halland');
-INSERT INTO zones VALUES (NULL,203,'Z','Jämtland');
-INSERT INTO zones VALUES (NULL,203,'F','Jönköping');
+INSERT INTO zones VALUES (NULL,203,'Z','J?mtland');
+INSERT INTO zones VALUES (NULL,203,'F','J?nk?ping');
 INSERT INTO zones VALUES (NULL,203,'H','Kalmar');
 INSERT INTO zones VALUES (NULL,203,'G','Kronoberg');
 INSERT INTO zones VALUES (NULL,203,'BD','Norrbotten');
-INSERT INTO zones VALUES (NULL,203,'T','Örebro');
-INSERT INTO zones VALUES (NULL,203,'E','Östergötland');
-INSERT INTO zones VALUES (NULL,203,'M','Skåne');
+INSERT INTO zones VALUES (NULL,203,'T','?rebro');
+INSERT INTO zones VALUES (NULL,203,'E','?sterg?tland');
+INSERT INTO zones VALUES (NULL,203,'M','Sk?ne');
 INSERT INTO zones VALUES (NULL,203,'AB','Stockholm');
-INSERT INTO zones VALUES (NULL,203,'D','Södermanland');
+INSERT INTO zones VALUES (NULL,203,'D','S?dermanland');
 INSERT INTO zones VALUES (NULL,203,'C','Uppsala');
-INSERT INTO zones VALUES (NULL,203,'S','Värmland');
-INSERT INTO zones VALUES (NULL,203,'AC','Västerbotten');
-INSERT INTO zones VALUES (NULL,203,'Y','Västernorrland');
-INSERT INTO zones VALUES (NULL,203,'U','Västmanland');
-INSERT INTO zones VALUES (NULL,203,'O','Västra Götaland');
+INSERT INTO zones VALUES (NULL,203,'S','V?rmland');
+INSERT INTO zones VALUES (NULL,203,'AC','V?sterbotten');
+INSERT INTO zones VALUES (NULL,203,'Y','V?sternorrland');
+INSERT INTO zones VALUES (NULL,203,'U','V?stmanland');
+INSERT INTO zones VALUES (NULL,203,'O','V?stra G?taland');
 
 #Turkey
 INSERT INTO zones VALUES (NULL,215,'AA', 'Adana');
@@ -2905,17 +2906,17 @@
 INSERT INTO zones VALUES (NULL,215,'BM', 'Batman');
 INSERT INTO zones VALUES (NULL,215,'BB', 'Bayburt');
 INSERT INTO zones VALUES (NULL,215,'BC', 'Bilecik');
-INSERT INTO zones VALUES (NULL,215,'BG', 'Bingöl');
+INSERT INTO zones VALUES (NULL,215,'BG', 'Bing?l');
 INSERT INTO zones VALUES (NULL,215,'BT', 'Bitlis');
 INSERT INTO zones VALUES (NULL,215,'BL', 'Bolu' );
 INSERT INTO zones VALUES (NULL,215,'BD', 'Burdur');
 INSERT INTO zones VALUES (NULL,215,'BU', 'Bursa');
-INSERT INTO zones VALUES (NULL,215,'CK', 'Çanakkale');
-INSERT INTO zones VALUES (NULL,215,'CI', 'Çankiri');
-INSERT INTO zones VALUES (NULL,215,'CM', 'Çorum');
+INSERT INTO zones VALUES (NULL,215,'CK', '?anakkale');
+INSERT INTO zones VALUES (NULL,215,'CI', '?ankiri');
+INSERT INTO zones VALUES (NULL,215,'CM', '?orum');
 INSERT INTO zones VALUES (NULL,215,'DN', 'Denizli');
 INSERT INTO zones VALUES (NULL,215,'DY', 'Diyarbakir');
-INSERT INTO zones VALUES (NULL,215,'DU', 'Düzce');
+INSERT INTO zones VALUES (NULL,215,'DU', 'D?zce');
 INSERT INTO zones VALUES (NULL,215,'ED', 'Edirne');
 INSERT INTO zones VALUES (NULL,215,'EG', 'Elazig');
 INSERT INTO zones VALUES (NULL,215,'EN', 'Erzincan');
@@ -2923,7 +2924,7 @@
 INSERT INTO zones VALUES (NULL,215,'ES', 'Eskisehir');
 INSERT INTO zones VALUES (NULL,215,'GA', 'Gaziantep');
 INSERT INTO zones VALUES (NULL,215,'GI', 'Giresun');
-INSERT INTO zones VALUES (NULL,215,'GU', 'Gümüshane');
+INSERT INTO zones VALUES (NULL,215,'GU', 'G?m?shane');
 INSERT INTO zones VALUES (NULL,215,'HK', 'Hakkari');
 INSERT INTO zones VALUES (NULL,215,'HT', 'Hatay');
 INSERT INTO zones VALUES (NULL,215,'IG', 'Igdir');
@@ -2931,7 +2932,7 @@
 INSERT INTO zones VALUES (NULL,215,'IB', 'Istanbul');
 INSERT INTO zones VALUES (NULL,215,'IZ', 'Izmir');
 INSERT INTO zones VALUES (NULL,215,'KM', 'Kahramanmaras');
-INSERT INTO zones VALUES (NULL,215,'KB', 'Karabük');
+INSERT INTO zones VALUES (NULL,215,'KB', 'Karab?k');
 INSERT INTO zones VALUES (NULL,215,'KR', 'Karaman');
 INSERT INTO zones VALUES (NULL,215,'KA', 'Kars');
 INSERT INTO zones VALUES (NULL,215,'KS', 'Kastamonu');
@@ -2942,7 +2943,7 @@
 INSERT INTO zones VALUES (NULL,215,'KH', 'Kirsehir');
 INSERT INTO zones VALUES (NULL,215,'KC', 'Kocaeli');
 INSERT INTO zones VALUES (NULL,215,'KO', 'Konya');
-INSERT INTO zones VALUES (NULL,215,'KU', 'Kütahya');
+INSERT INTO zones VALUES (NULL,215,'KU', 'K?tahya');
 INSERT INTO zones VALUES (NULL,215,'ML', 'Malatya');
 INSERT INTO zones VALUES (NULL,215,'MN', 'Manisa');
 INSERT INTO zones VALUES (NULL,215,'MR', 'Mardin');
@@ -2973,26 +2974,26 @@
 
 #Venezuela
 INSERT INTO zones VALUES (NULL,229,'AM','Amazonas');
-INSERT INTO zones VALUES (NULL,229,'AN','Anzoátegui');
+INSERT INTO zones VALUES (NULL,229,'AN','Anzo?tegui');
 INSERT INTO zones VALUES (NULL,229,'AR','Aragua');
 INSERT INTO zones VALUES (NULL,229,'AP','Apure');
 INSERT INTO zones VALUES (NULL,229,'BA','Barinas');
-INSERT INTO zones VALUES (NULL,229,'BO','Bolívar');
+INSERT INTO zones VALUES (NULL,229,'BO','Bol?var');
 INSERT INTO zones VALUES (NULL,229,'CA','Carabobo');
 INSERT INTO zones VALUES (NULL,229,'CO','Cojedes');
 INSERT INTO zones VALUES (NULL,229,'DA','Delta Amacuro');
 INSERT INTO zones VALUES (NULL,229,'DC','Distrito Capital');
-INSERT INTO zones VALUES (NULL,229,'FA','Falcón');
-INSERT INTO zones VALUES (NULL,229,'GA','Guárico');
+INSERT INTO zones VALUES (NULL,229,'FA','Falc?n');
+INSERT INTO zones VALUES (NULL,229,'GA','Gu?rico');
 INSERT INTO zones VALUES (NULL,229,'GU','Guayana');
 INSERT INTO zones VALUES (NULL,229,'LA','Lara');
-INSERT INTO zones VALUES (NULL,229,'ME','Mérida');
+INSERT INTO zones VALUES (NULL,229,'ME','M?rida');
 INSERT INTO zones VALUES (NULL,229,'MI','Miranda');
 INSERT INTO zones VALUES (NULL,229,'MO','Monagas');
 INSERT INTO zones VALUES (NULL,229,'NE','Nueva Esparta');
 INSERT INTO zones VALUES (NULL,229,'PO','Portuguesa');
 INSERT INTO zones VALUES (NULL,229,'SU','Sucre');
-INSERT INTO zones VALUES (NULL,229,'TA','Táchira');
+INSERT INTO zones VALUES (NULL,229,'TA','T?chira');
 INSERT INTO zones VALUES (NULL,229,'TU','Trujillo');
 INSERT INTO zones VALUES (NULL,229,'VA','Vargas');
 INSERT INTO zones VALUES (NULL,229,'YA','Yaracuy');
@@ -3124,9 +3125,9 @@
 INSERT INTO zones VALUES (NULL,10,'CT','Catamarca');
 INSERT INTO zones VALUES (NULL,10,'CC','Chaco');
 INSERT INTO zones VALUES (NULL,10,'CH','Chubut');
-INSERT INTO zones VALUES (NULL,10,'CD','C—rdoba');
+INSERT INTO zones VALUES (NULL,10,'CD','C?rdoba');
 INSERT INTO zones VALUES (NULL,10,'CR','Corrientes');
-INSERT INTO zones VALUES (NULL,10,'ER','Entre R’os');
+INSERT INTO zones VALUES (NULL,10,'ER','Entre R?os');
 INSERT INTO zones VALUES (NULL,10,'FO','Formosa');
 INSERT INTO zones VALUES (NULL,10,'JY','Jujuy');
 INSERT INTO zones VALUES (NULL,10,'LP','La Pampa');
@@ -3133,8 +3134,8 @@
 INSERT INTO zones VALUES (NULL,10,'LR','La Rioja');
 INSERT INTO zones VALUES (NULL,10,'MZ','Mendoza');
 INSERT INTO zones VALUES (NULL,10,'MN','Misiones');
-INSERT INTO zones VALUES (NULL,10,'NQ','NeuquŽn');
-INSERT INTO zones VALUES (NULL,10,'RN','R’o Negro');
+INSERT INTO zones VALUES (NULL,10,'NQ','Neuqu?n');
+INSERT INTO zones VALUES (NULL,10,'RN','R?o Negro');
 INSERT INTO zones VALUES (NULL,10,'SA','Salta');
 INSERT INTO zones VALUES (NULL,10,'SJ','San Juan');
 INSERT INTO zones VALUES (NULL,10,'SL','San Luis');
@@ -3142,7 +3143,7 @@
 INSERT INTO zones VALUES (NULL,10,'SF','Santa Fe');
 INSERT INTO zones VALUES (NULL,10,'SE','Santiago del Estero');
 INSERT INTO zones VALUES (NULL,10,'TF','Tierra del Fuego');
-INSERT INTO zones VALUES (NULL,10,'TM','Tucum‡n');
+INSERT INTO zones VALUES (NULL,10,'TM','Tucum?n');
 
 #ID
 INSERT INTO zones VALUES (NULL,100,'AC','Aceh');
Index: admin/includes/configuration_installer.php
===================================================================
--- admin/includes/configuration_installer.php	(revision 11088)
+++ admin/includes/configuration_installer.php	(working copy)
@@ -314,6 +314,7 @@
   $values[] = "(NULL, 'MODULE_NEWSLETTER_VOUCHER_AMOUNT', '0', '17', '20', NULL, NOW(), NULL, NULL);";
   $values[] = "(NULL, 'MODULE_NEWSLETTER_DISCOUNT_COUPON', '', '17', '21', NULL, NOW(), NULL, NULL);";
   $values[] = "(NULL, 'DISPLAY_HEADQUARTER_ON_CHECKOUT', 'true', '17', '8', NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'), ');";
+  $values[] = "(NULL, 'DISPLAY_PRIVACY_POLICY_ON_CHECKOUT', 'false', '17', '20', NULL, NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'), ');";
 
   $values_update[] = array (
                            'values' => "set_function = 'xtc_cfg_select_content(\'REVOCATION_ID\','",
Index: checkout_confirmation.php
===================================================================
--- checkout_confirmation.php	(revision 11088)
+++ checkout_confirmation.php	(working copy)
@@ -57,8 +57,8 @@
 // if conditions are not accepted, redirect the customer to the payment method selection page
 if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') {
   if ((!isset($_POST['conditions']) || $_POST['conditions'] == false) && !isset($_GET['conditions'])) {
-    $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
-    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
+    $error .= str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED);
+    //xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
   }
 }
 
@@ -66,14 +66,32 @@
 if (DISPLAY_REVOCATION_VIRTUAL_ON_CHECKOUT == 'true'
     && ($_SESSION['cart']->content_type == 'virtual'
         || $_SESSION['cart']->content_type == 'mixed')
-    )
+    || DISPLAY_REVOCATION_ON_CHECKOUT == 'true')
 {
-  if ((!isset($_POST['revocation']) || $_POST['revocation'] == false) && !isset($_GET['conditions'])) {
-    $error = str_replace('\n', '<br />', ERROR_REVOCATION_NOT_ACCEPTED);
-    xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
+  if (DISPLAY_REVOCATION_VIRTUAL_ON_CHECKOUT == 'true'
+      && ($_SESSION['cart']->content_type == 'virtual'
+          || $_SESSION['cart']->content_type == 'mixed'))
+  {
+    $revocation_virtual == 'true';
   }
+  if ((!isset($_POST['revocation']) || $_POST['revocation'] == false) && !isset($_GET['revocation'])) {
+    $error .= str_replace('\n', '<br />', $revocation_virtual == 'true' ? ERROR_REVOCATION_NOT_ACCEPTED : ERROR_REVOCATION_GENERAL_NOT_ACCEPTED);
+    //xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
+  }
 }
 
+// if conditions are not accepted, redirect the customer to the payment method selection page
+if (DISPLAY_PRIVACY_POLICY_ON_CHECKOUT == 'true') {
+  if ((!isset($_POST['privacypolicy']) || $_POST['privacypolicy'] == false) && !isset($_GET['privacypolicy'])) {
+    $error .= str_replace('\n', '<br />', ERROR_PRIVACY_POLICY_NOT_ACCEPTED);
+    //xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
+  }
+}
+
+if (isset($error)) {
+  xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false));
+}
+
 // load the selected payment module
 require_once (DIR_WS_CLASSES . 'payment.php');
 if (isset($_SESSION['credit_covers']) 
Index: checkout_payment.php
===================================================================
--- checkout_payment.php	(revision 11088)
+++ checkout_payment.php	(working copy)
@@ -259,11 +259,26 @@
   $smarty->assign('AGB_checkbox', '<input type="checkbox" value="conditions" name="conditions" id="conditions"'.(isset($_GET['step']) && $_GET['step'] == 'step2' ? ' checked="checked"' : '').' />');
 }
 
+//check if display privacy policy on checkout page is true
+if (DISPLAY_PRIVACY_POLICY_ON_CHECKOUT == 'true') {
+  $shop_content_data = $main->getContentData(2);
+  $smarty->assign('PRIVACY_DATA', '<div class="agbframe">' . $shop_content_data['content_text'] . '</div>');
+  $smarty->assign('PRIVACY_DATA_LINK', $main->getContentLink(2, MORE_INFO,'SSL'));
+  $smarty->assign('PRIVACY_DATA_checkbox', '<input type="checkbox" value="privacypolicy" name="privacypolicy" id="privacypolicy"'.(isset($_GET['step']) && $_GET['step'] == 'step2' ? ' checked="checked"' : '').' />');
+}
+
+//check if display revocation on checkout page is true
 if (DISPLAY_REVOCATION_VIRTUAL_ON_CHECKOUT == 'true'
     && ($_SESSION['cart']->content_type == 'virtual'
         || $_SESSION['cart']->content_type == 'mixed')
-    )
+    || DISPLAY_REVOCATION_ON_CHECKOUT == 'true')
 {
+  if (DISPLAY_REVOCATION_VIRTUAL_ON_CHECKOUT == 'true'
+      && ($_SESSION['cart']->content_type == 'virtual'
+          || $_SESSION['cart']->content_type == 'mixed'))
+  {
+    $smarty->assign('REVOCATION_VIRTUAL', 'true');
+  }
   $shop_content_data = $main->getContentData(REVOCATION_ID);
   $smarty->assign('REVOCATION', '<div class="agbframe">' . $shop_content_data['content_text'] . '</div>');
   $smarty->assign('REVOCATION_LINK', $main->getContentLink(REVOCATION_ID, MORE_INFO,'SSL'));
Index: includes/classes/payment.php
===================================================================
--- includes/classes/payment.php	(revision 11088)
+++ includes/classes/payment.php	(working copy)
@@ -250,13 +250,26 @@
                  '  }' . "\n\n";
         }
 
+        if (DISPLAY_PRIVACY_POLICY_ON_CHECKOUT == 'true') {
+          $js .= "\n" . '  if (!document.getElementById("checkout_payment").privacypolicy.checked) {' . "\n" .
+                 '    error_message = error_message + unescape("' . xtc_js_lang(JS_ERROR_PRIVACY_POLICY_NOT_ACCEPTED) . '");' . "\n" .
+                 '    error = 1;' . "\n" .
+                 '  }' . "\n\n";
+        }
+
         if (DISPLAY_REVOCATION_VIRTUAL_ON_CHECKOUT == 'true'
             && ($_SESSION['cart']->content_type == 'virtual'
                 || $_SESSION['cart']->content_type == 'mixed')
-            )
+            || DISPLAY_REVOCATION_ON_CHECKOUT == 'true')
         {
+          if (DISPLAY_REVOCATION_VIRTUAL_ON_CHECKOUT == 'true'
+              && ($_SESSION['cart']->content_type == 'virtual'
+                  || $_SESSION['cart']->content_type == 'mixed'))
+          {
+            $revocation_virtual == 'true';
+          }
           $js .= "\n" . '  if (!document.getElementById("checkout_payment").revocation.checked) {' . "\n" .
-                 '    error_message = error_message + unescape("' . xtc_js_lang(JS_ERROR_REVOCATION_NOT_ACCEPTED) . '");' . "\n" .
+                 '    error_message = error_message + unescape("' . xtc_js_lang($revocation_virtual == 'true' ? JS_ERROR_REVOCATION_NOT_ACCEPTED : JS_ERROR_REVOCATION_GENERAL_NOT_ACCEPTED) . '");' . "\n" .
                  '    error = 1;' . "\n" .
                  '  }' . "\n\n";
         }
Index: lang/english/admin/configuration.php
===================================================================
--- lang/english/admin/configuration.php	(revision 11088)
+++ lang/english/admin/configuration.php	(working copy)
@@ -603,7 +603,7 @@
 define('REVOCATION_ID_TITLE','Revocation');
 define('REVOCATION_ID_DESC','Select content to display revocation');
 define('DISPLAY_REVOCATION_ON_CHECKOUT_TITLE','Display right of revocation?');
-define('DISPLAY_REVOCATION_ON_CHECKOUT_DESC','Display right of revocation on checkout_confirmation?');
+define('DISPLAY_REVOCATION_ON_CHECKOUT_DESC','Display right of revocation on checkout?');
 
 // BOF - Tomcraft - 2009-10-03 - Paypal Express Modul
 define('PAYPAL_MODE_TITLE','PayPal Mode:');
@@ -1087,4 +1087,7 @@
 define('MODULE_NEWSLETTER_VOUCHER_AMOUNT_DESC', 'For newsletter registration gift voucher place the amount, put 0 for no amount.');
 define('MODULE_NEWSLETTER_DISCOUNT_COUPON_TITLE', 'Newsletter Coupon Code');
 define('MODULE_NEWSLETTER_DISCOUNT_COUPON_DESC', 'For newsletter registration coupon place the coupon code you wish to use or leave this field blank to disable.');
+
+define('DISPLAY_PRIVACY_POLICY_ON_CHECKOUT_TITLE','Display privacy policy?');
+define('DISPLAY_PRIVACY_POLICY_ON_CHECKOUT_DESC','Display privacy policy on checkout?');
 ?>
\ No newline at end of file
Index: lang/english/english.php
===================================================================
--- lang/english/english.php	(revision 11088)
+++ lang/english/english.php	(working copy)
@@ -98,6 +98,8 @@
 define('JS_ERROR_NO_SHIPPING_MODULE_SELECTED', '* Please choose a method of shipping for your order.\n');
 define('JS_ERROR_CONDITIONS_NOT_ACCEPTED', '* Unfortunately we cannot accept your order\nunless you accept our terms and conditions!\n\n');
 define('JS_ERROR_REVOCATION_NOT_ACCEPTED', '* Unfortunately we cannot accept your order\nunless you accept that the right of withdrawal expires for virtual products!\n\n');
+define('JS_ERROR_REVOCATION_GENERAL_NOT_ACCEPTED', '* Unfortunately we cannot accept your order\nunless you accept that the right of withdrawal!\n\n');
+define('JS_ERROR_PRIVACY_POLICY_NOT_ACCEPTED', '* Unfortunately we cannot accept your order\nunless you accept that the privacy policy!\n\n');
 define('JS_REVIEW_AUTHOR', '* Please enter your name.\n\n');
 
 /*
@@ -276,6 +278,8 @@
 
 define('ERROR_CONDITIONS_NOT_ACCEPTED', 'Please accept our terms and conditions to proceed with your order.');
 define('ERROR_REVOCATION_NOT_ACCEPTED', 'Please accept that the right of withdrawal expires for virtual products.');
+define('ERROR_REVOCATION_GENERAL_NOT_ACCEPTED', 'Please accept the right of withdrawal.');
+define('ERROR_PRIVACY_POLICY_NOT_ACCEPTED', 'Please accept the privacy policy.');
 
 define('SUB_TITLE_OT_DISCOUNT','Discount:');
 
Index: lang/english/lang_english.conf
===================================================================
--- lang/english/lang_english.conf	(revision 11088)
+++ lang/english/lang_english.conf	(working copy)
@@ -364,6 +364,8 @@
 text_gccover = 'Your Voucher covers your order total amount, please accept our general terms and conditions as well as our conditions of delivery and proceed with the order.'
 title_comments_short = 'Your comments'
 text_accept_revocation = 'I accept that the right of withdrawal expires for virtual products.'
+text_accept_revocation_general = 'I accept your right of withdrawal.'
+text_accept_privacy_policy = 'I accept your privacy policy.'
 text_nopayment = 'Please accept our general terms and conditions as well as our conditions of delivery and proceed with the order.'
 
 # Selection of Dispatch options
Index: lang/german/admin/configuration.php
===================================================================
--- lang/german/admin/configuration.php	(revision 11088)
+++ lang/german/admin/configuration.php	(working copy)
@@ -602,7 +602,7 @@
 define('REVOCATION_ID_TITLE','Widerrufsrecht');
 define('REVOCATION_ID_DESC','W&auml;hle den Content zur Anzeige des Widerrufsrechts.');
 define('DISPLAY_REVOCATION_ON_CHECKOUT_TITLE','Anzeige Widerrufsrecht?');
-define('DISPLAY_REVOCATION_ON_CHECKOUT_DESC','Widerrufsrecht auf checkout_confirmation anzeigen?');
+define('DISPLAY_REVOCATION_ON_CHECKOUT_DESC','Anzeigen und Unterzeichnen des Widerrufrechts beim Bestellvorgang?');
 
 // BOF - Tomcraft - 2009-10-03 - Paypal Express Modul
 define('PAYPAL_MODE_TITLE','PayPal-Modus:');
@@ -1079,4 +1079,7 @@
 define('MODULE_NEWSLETTER_VOUCHER_AMOUNT_DESC', 'FÃ¼r einen Gutschein bei der Newsletter Registrierung geben Sie den Wert des Gutscheins an, ansonsten tragen Sie hier 0 ein.');
 define('MODULE_NEWSLETTER_DISCOUNT_COUPON_TITLE', 'Newsletter Coupon Code');
 define('MODULE_NEWSLETTER_DISCOUNT_COUPON_DESC', 'FÃ¼r einen Coupon bei der Newsletter Registrierung geben Sie den Coupon Code ein, ansonsten lassen Sie dieses Feld leer.');
+
+define('DISPLAY_PRIVACY_POLICY_ON_CHECKOUT_TITLE','Unterzeichnen der Datenschutzbestimmungen?');
+define('DISPLAY_PRIVACY_POLICY_ON_CHECKOUT_DESC','Anzeigen und Unterzeichnen der Datenschutzbestimmungen beim Bestellvorgang');
 ?>
\ No newline at end of file
Index: lang/german/german.php
===================================================================
--- lang/german/german.php	(revision 11088)
+++ lang/german/german.php	(working copy)
@@ -98,6 +98,8 @@
 define('JS_ERROR_NO_SHIPPING_MODULE_SELECTED', '* Bitte w&auml;hlen Sie eine Versandart f&uuml;r Ihre Bestellung.\n');
 define('JS_ERROR_CONDITIONS_NOT_ACCEPTED', '* Sofern Sie unsere Allgemeinen Gesch&auml;ftsbedingungen nicht akzeptieren,\nk&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n');
 define('JS_ERROR_REVOCATION_NOT_ACCEPTED', '* Sofern Sie das Erl&ouml;schen des Widerrufsrecht f&uuml;r virtuelle Artikel nicht akzeptieren,\nk&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n');
+define('JS_ERROR_REVOCATION_GENERAL_NOT_ACCEPTED', '* Sofern Sie das Widerrufsrecht nicht akzeptieren,\nk&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n');
+define('JS_ERROR_PRIVACY_POLICY_NOT_ACCEPTED', '* Sofern Sie unsere Datenschutzbestimmungen nicht akzeptieren,\nk&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!\n\n');
 define('JS_REVIEW_AUTHOR', '* Bitte geben Sie Ihren Namen ein.\n\n');
 
 /*
@@ -276,6 +278,8 @@
 
 define('ERROR_CONDITIONS_NOT_ACCEPTED', '* Sofern Sie unsere Allgemeinen Gesch&auml;ftsbedingungen nicht akzeptieren, k&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!');
 define('ERROR_REVOCATION_NOT_ACCEPTED', '* Sofern Sie das Erl&ouml;schen des Widerrufsrecht f&uuml;r virtuelle Artikel nicht akzeptieren, k&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!');
+define('ERROR_REVOCATION_GENERAL_NOT_ACCEPTED', '* Sofern Sie das Widerrufsrecht nicht akzeptieren, k&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!');
+define('ERROR_PRIVACY_POLICY_NOT_ACCEPTED', '* Sofern Sie die Datenschutzbestimmungen nicht akzeptieren, k&ouml;nnen wir Ihre Bestellung bedauerlicherweise nicht entgegennehmen!');
 
 define('SUB_TITLE_OT_DISCOUNT','Rabatt:');
 
Index: lang/german/lang_german.conf
===================================================================
--- lang/german/lang_german.conf	(revision 11088)
+++ lang/german/lang_german.conf	(working copy)
@@ -363,6 +363,8 @@
 text_gccover = 'Ihr Coupon deckt den Warenwert, Sie m&uuml;ssen nun lediglich unsere AGB akzeptieren und den Bestellprozess mit Weiter fortsetzen'
 title_comments_short = 'Ihre Anmerkungen'
 text_accept_revocation = 'Hiermit nehme ich zur Kenntnis, dass das Widerrufsrecht bei digitalen Artikeln erlischt.'
+text_accept_revocation_general = 'Hiermit akzeptiere ich das Widerrufsrecht.'
+text_accept_privacy_policy = 'Hiermit akzeptiere ich die Datenschutzbestimmungen.'
 text_nopayment = 'Sie m&uuml;ssen nun lediglich unsere AGB akzeptieren und den Bestellprozess mit Weiter fortsetzen'
 
 # Auswahl der Versandart
Index: templates/tpl_modified/module/checkout_payment.html
===================================================================
--- templates/tpl_modified/module/checkout_payment.html	(revision 11088)
+++ templates/tpl_modified/module/checkout_payment.html	(working copy)
@@ -74,17 +74,27 @@
       </div>
       {if isset($REVOCATION_checkbox)}
         <div class="checkoutconditions">
-          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
+          {$REVOCATION_checkbox} <strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}
         </div>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+        <div class="checkoutconditions">
+          {$PRIVACY_DATA_checkbox} <strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}
+        </div>
+      {/if}
     {else}
       <h4 class="checkout">{#title_comments_short#}</h4>
       <div class="checkoutcomment">{$COMMENTS}</div>
       {if isset($REVOCATION_checkbox)}
         <div class="checkoutconditions">
-          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
+          {$REVOCATION_checkbox} <strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}
         </div>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+        <div class="checkoutconditions">
+          {$PRIVACY_DATA_checkbox} <strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}
+        </div>
+      {/if}
     {/if}
   </div>
   {/if}
Index: templates/tpl_modified_responsive/module/checkout_payment.html
===================================================================
--- templates/tpl_modified_responsive/module/checkout_payment.html	(revision 11088)
+++ templates/tpl_modified_responsive/module/checkout_payment.html	(working copy)
@@ -76,17 +76,27 @@
       </div>
       {if isset($REVOCATION_checkbox)}
         <div class="checkoutconditions">
-          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
+          {$REVOCATION_checkbox} <strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}
         </div>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+        <div class="checkoutconditions">
+          {$PRIVACY_DATA_checkbox} <strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}
+        </div>
+      {/if}
     {else}
       <h4 class="checkout">{#title_comments_short#}</h4>
       <div class="checkoutcomment">{$COMMENTS}</div>
       {if isset($REVOCATION_checkbox)}
         <div class="checkoutconditions">
-          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
+          {$REVOCATION_checkbox} <strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}
         </div>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+        <div class="checkoutconditions">
+          {$PRIVACY_DATA_checkbox} <strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}
+        </div>
+      {/if}
     {/if}
   </div>
   {/if}
Index: templates/tpl_modified_responsive_flat/module/checkout_payment.html
===================================================================
--- templates/tpl_modified_responsive_flat/module/checkout_payment.html	(revision 11088)
+++ templates/tpl_modified_responsive_flat/module/checkout_payment.html	(working copy)
@@ -76,17 +76,27 @@
       </div>
       {if isset($REVOCATION_checkbox)}
         <div class="checkoutconditions">
-          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
+          {$REVOCATION_checkbox} <strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}
         </div>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+        <div class="checkoutconditions">
+          {$PRIVACY_DATA_checkbox} <strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}
+        </div>
+      {/if}
     {else}
       <h4 class="checkout">{#title_comments_short#}</h4>
       <div class="checkoutcomment">{$COMMENTS}</div>
       {if isset($REVOCATION_checkbox)}
         <div class="checkoutconditions">
-          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
+          {$REVOCATION_checkbox} <strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}
         </div>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+        <div class="checkoutconditions">
+          {$PRIVACY_DATA_checkbox} <strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}
+        </div>
+      {/if}
     {/if}
   </div>
   {/if}
Index: templates/xtc5/module/checkout_payment.html
===================================================================
--- templates/xtc5/module/checkout_payment.html	(revision 11088)
+++ templates/xtc5/module/checkout_payment.html	(working copy)
@@ -37,16 +37,28 @@
       {if isset($REVOCATION_checkbox)}
       <tr>
         <td>{$REVOCATION_checkbox}</td>
-        <td width="100%"><strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
+        <td width="100%"><strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
       </tr>
       {/if}
+      {if isset($PRIVACY_DATA_checkbox)}
+      <tr>
+        <td>{$PRIVACY_DATA_checkbox}
+        <td width="100%"><strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}</td>
+      </tr>
+      {/if}
     </table>
   {elseif isset($REVOCATION_checkbox)}
     <table width="100%" border="0" cellspacing="0" cellpadding="4">
       <tr>
         <td>{$REVOCATION_checkbox}</td>
-        <td width="100%"><strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
+        <td width="100%"><strong><label for="revocation">{if (isset($REVOCATION_VIRTUAL) && $REVOCATION_VIRTUAL == 'true')}{#text_accept_revocation#}{else}{#text_accept_revocation_general#}{/if}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
       </tr>
+      {if isset($PRIVACY_DATA_checkbox)}
+      <tr>
+        <td>{$PRIVACY_DATA_checkbox}
+        <td width="100%"><strong><label for="revocation">{#text_accept_privacy_policy#}</label></strong>&nbsp;{$PRIVACY_DATA_LINK}</td>
+      </tr>
+      {/if}
     </table>
   {/if}
 {/if}
