diff --git a/include/RobustConfig.txt b/include/RobustConfig.txt new file mode 100644 index 0000000..f1be526 --- /dev/null +++ b/include/RobustConfig.txt @@ -0,0 +1,17 @@ +Konfigurieren sie ihre Robust.ini wie folgt: + + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/oswebinterface/maptile.php"; + SearchURL = "${Const|BaseURL}:${Const|PublicPort}/oswebinterface/searchservice.php"; + DestinationGuide = "${Const|BaseURL}/oswebinterface/guide.php" + AvatarPicker = "${Const|BaseURL}/oswebinterface/avatarpicker.php" + GridSearch = "${Const|BaseURL}/oswebinterface/gridsearch.php"; + MessageURI = "${Const|BaseURL}/oswebinterface/messages.php"; + welcome = ${Const|BaseURL}/oswebinterface/welcomesplashpage.php + economy = ${Const|BaseURL}:8008/ + about = ${Const|BaseURL}/oswebinterface/aboutinformation.php + register = ${Const|BaseURL}/oswebinterface/createavatar.php + help = ${Const|BaseURL}/oswebinterface/help.php + password = ${Const|BaseURL}/oswebinterface/passwordreset.php + partner = ${Const|BaseURL}/oswebinterface/partner.php + GridStatus = ${Const|BaseURL}:${Const|PublicPort}/oswebinterface/gridstatus.php + GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/oswebinterface/gridstatusrss.php diff --git a/include/Unknown_person.jpg b/include/Unknown_person.jpg new file mode 100644 index 0000000..4666351 Binary files /dev/null and b/include/Unknown_person.jpg differ diff --git a/include/Wegwerf_E-Mail.txt b/include/Wegwerf_E-Mail.txt new file mode 100644 index 0000000..1cc2fce --- /dev/null +++ b/include/Wegwerf_E-Mail.txt @@ -0,0 +1,258 @@ + 'mailexpire.com', 'spamtrail.com', 'wwwnew.eu', '007addict.com', '012.net.il', '0451.com', '0815.ru', '10minutemail.com', +'123greetings.com', '12wqqwmeds.com', '143.red-83-49-70.dynamicip.rima-tde.net', '163.com', '163data.com.cn', '168.com', +'168city.com', '169.cc', '188mail.com', '1funplace.com', '1net.gr', '2-mail.com', +'208.red-88-7-51.staticip.rima-tde.net', '212-127-152-19.cable.quicknet.nl', '212.com', '21cn.com', +'238-133-231-201.fibertel.com.ar', '263.net.cn', '2XS.net', '2bsure.com', '2cute4u.co.uk', '2d.com', '2die4.com', +'2friend.com', '2hotforyou.net', '2ndmail.com', '2rd.net', '33edmeds.com', '37.com', '3d-painting.com', '444.net', +'45pharmes.com', '4g546ufgfrh5.org', '4g54asd5.org', '4hismail.com', '4worldmail.com', '50mail.com', '53.com', +'53533b3b.cable.casema.nl', '6210.hu', '70.44.150.107.res-cmts.val.ptd.net', '702mail.co.za', +'73.181.192.61.tokyo.flets.alpha-net.ne.jp', '775rgt.com', '84-232-149-95.rdsnet.ro', '86-122-52-191.rdsnet.ro', +'88cresa.com', '97rock.com', 'ABEDRABBO.COM.NETSOLMAIL.NET', 'ADSL-140-41.myt.mu', 'ADSL-TPLUS-80-55.telecomplus.net', +'COM.NETSOLMAIL.NET', 'COMCAST.NET', 'INBOUND.ABEDRABBO.COM.NETSOLMAIL.NET', 'Inktel.com', 'KX100.NET', +'LearnLink.Emory.Edu', 'MAILCONTROL.com', 'MX01.KONTENT.De', 'Math.Princeton.EDU', 'MyPersonalEmail.com', +'NETSOLMAIL.NET', 'OFSfa-03p5-110.ppp11.odn.ad.jp', 'OFSfa-04p3-188.ppp11.odn.ad.jp', 'SAUSGW01.amd.com', 'SPRIGGS.com', +'Safe-mail.net', 'ShowFans.com', 'SpamMotel.com', 'Supergewinne.de', 'TMP.com', 'VideoMailStudio.com', +'W2a14.w.pppool.de', 'Wappi.com', 'WaveCom.CA', 'a-mx.apm-internet.net', 'a-z-o.ch', 'a2000.nl', 'aaahmail.com', +'aacgroup.co.uk', 'aaronsen.com', 'aaronsw.com', 'ab.cyberhome.ne.jp', 'abacus.ba', 'aball.de', 'abc123.ru', 'abcom.se', +'abedofroses.com', 'abeille-web.com', 'abeisv.specialnotice.info', 'abelcine.com', 'aberton.ru', 'abess.com', +'abestco.com', 'abirnet.co.il', 'abk.dk', 'abkawa.de', 'abm.com.pl', 'abmemory.com', 'abo.ch', 'abodetao.com', +'abody.freeserve.co.uk', 'abramsart.com', 'abril.com.br', 'absolutecomfort.ru', 'absoluttrade.ru', 'absound.ca', +'abu.org.my', 'abysse.net', 'ac-service.com', 'academyhr.com', 'accessdata.com', 'accmail.com', 'accomline.com', +'accopmu.ru', 'acds.es', 'acihouston.com', 'acm.org', 'acmecity.com', 'acornonline.com', 'actasap.com', +'activatormail.com', 'ad.jp', 'adaap.com', 'adamshall.com', 'adexec.com', 'adhost.com', 'adpepper.em.falkag.de', +'adresse.de', 'adsl-598411e4.monradsl.monornet.hu', 'adsl.datanet.hu', 'adsl.proxad.net', 'adsl.tpnet.pl', +'adsl196-28-98-217-196.adsl196-12.iam.net.ma', 'adultmail.tv', 'afpa.fr', 'afreeinternet.com', 'afrobacon.com', +'agency.osha.eu.int', 'ai.net', 'airmail.net', 'airtelbroadband.in', 'al-islam.com', 'alacarta.com', 'alcplan.com', +'alex4all.com', 'alexandria.cc', 'aley.com', 'alfc.com', 'aliancarep.com.br', 'allasianuk.com', 'allesklar.de', +'allin1.com', 'alloymail.com', 'allstarz.org', 'alltel.net', 'almajal-omulibya.com', 'alpha-net.ne.jp', +'alshamil.net.ae', 'altavista.fr', 'altavista.nl', 'altern.org', 'ameritech.net', 'amnestymail.com', 'amuro.net', +'andylau.net', 'another.com', 'ansluten.com', 'antichef.net', 'antronomia.com', 'appriver.com', +'area.city.shiroishi.miyagi.jp', 'ariadne-t.gr', 'aristotle.algonet.se', 'arizona.co.jp', 'armymail.com', 'arrakis.es', +'artesmarciales.com', 'arti.vub.ac.be', 'artlover.com', 'artnet.com.br', 'as9105.com', 'asgard.net.au', 'asheville.com', +'asia.com', 'asianhome.net', 'asianwired.com', 'asics.fr', 'asistencia.org', 'asta-net.com.pl', 'astra.qui.ub.es', +'at1.atns.de', 'atlantech.net', 'atlas.cz', 'atlaswebmail.com', 'atnchile.com', 'att.biz', 'att.net', 'attbi.com', +'audioseek.com', 'auna.net', 'aussiemail.com.au', 'australiamail.com', 'autofever-online.com', 'backstreetboysclub.com', +'badtzmail.com', 'balcke-duerr.de', 'barracuda.callawaygardens.com', 'beaufortweb.org.uk', 'behringer.de', +'bellsouth.net', 'bergelmir.ai.net', 'best-pagerank.de', 'bettahits.biz', 'bezeqint.net', 'bhnet.com.br', 'biering.de', +'bigfoot.com', 'biglabels.de', 'bigping.com', 'bigping.de', 'bikerider.com', 'bilkent.edu.tr', 'billfan.com', +'bio-muesli.info', 'bio-muesli.net', 'bionic.zerberus.de', 'biz.rr.com', 'biz4hits.biz', 'bk.ru', 'bkkmail.com', +'bl7-106-81.dsl.telepac.pt', 'bla-bla.com', 'blackbox.at', 'blackburnmail.com', 'blarg.net', 'blazeblow.net', +'blazemail.com', 'blogopt.com', 'blowsearch.com', 'blue-tomato.at', 'bluetone.cz', 'blueyonder.co.uk', 'bmpd.com', +'bmypc.com', 'boardermail.com', 'boarderzone.com', 'bochnia.pl', 'bodhi.lawlita.com', 'boerse-extra.de', 'bogota.com', +'boh.com', 'boitolet.com', 'bol.net.in', 'bombdiggity.com', 'bonbon.net', 'bonnag.com', 'boom.ru', 'bootbox.net', +'bosnianmail.com', 'brasilia.net', 'brasiltelecom.net.br', 'bravanese.com', 'bredband.com', 'brightideatoys.info', +'britneyclub.com', 'broadcastemail.com', 'brunet.bn', 'bta.net.cn', 'btc-net.bg', 'btcc.org', 'btcentralplus.com', +'btmx1.sun.com', 'btopenworld.com', 'buck.ncia.net', 'buffymail.com', 'bumpymail.com', 'bumpymail.com', 'burgerking.de', +'business.telecomitalia.it', 'buy-cheap-cigarette.info', 'buy-discount-cigarettes.info', 'buzzlemail.com', +'bxemail.com', 'cable.casema.nl', 'cable.ntl.com', 'cable.quicknet.nl', 'caiway.nl', 'cams-wg.com', 'cape.com', +'captain.net', 'car.co.id', 'caramail.com', 'cared45.com', 'caribsurf.com', 'carleton.ca', 'carlstedt.se', +'carnival.com', 'cartsys.com', 'casema.net', 'casema.nl', 'cashette.com', 'cat-22.info', 'cataloniamail.com', +'catholic.org', 'cc.fc.ul.pt', 'cc.hut.fi', 'cc.jyu.fi', 'ccc.gr', 'ccj.ufsc.br', 'ccsg.tau.ac.il', 'ccsi.com', +'cdkomm.central-druck.intra', 'cdsnet.com', 'cel.com', 'celineclub.com', 'centermail*', 'centermail.com', +'centermail.net', 'central-druck.de', 'centurytel.net', 'cern.ch', 'cgey.com', 'cghost.s-a-d.de', 'cgocable.net', +'chalky.com', 'chalo.net', 'charter.com', 'check-inn.com', 'chello.at', 'chello.nl', 'chello.pl', 'china.com', +'china139.com', 'chinabyte.com', 'christian.net', 'ciateq.mx', 'cibertribe.pt', 'cibis.de', 'cic.klte.hu', +'cicely5.cicely.de', 'cif.fr', 'cigma.asso.fr', 'ciklo-centar.hr', 'cimaglobal.com', 'cime.nl', 'cin.nihon-u.ac.jp', +'cinci.rr.com', 'city-of-nottingham.com', 'city2city.com', 'cityline.ru', 'clara.net', +'client-200.121.222.241.speedy.net.pe', 'cliffhanger.com', 'club-internet.fr', 'clubvdo.net', 'clustermail.de', +'cm.vtr.net', 'cmail01.tradeeasyhk.net', 'cnchost.com', 'cnn.com', 'co.kr', 'co.uk', 'cobra-tech.de', 'com.ar', +'com.br', 'com.cn', 'com.ph', 'com.pl', 'com.tr', 'com.ve', 'comcast.net', 'comcastbusiness.net', 'comed45a.com', +'computerbizop.com', 'conk.com', 'connectfree.co.uk', 'cool.ne.jp', 'coolhousing.net', 'coolquality.info', +'cooperate.niftyserve.com', 'copetel.com.ar', 'correo1.com', 'cotas.com.bo', 'cotton-cottage.com', 'cottypediment.com', +'couponpilot.de', 'covad.net', 'cox-internet.com', 'cox.net', 'cpe.netcabo.pt', 'craydon.com', 'craydon.de', +'crewstart.com', 'crm1.numail.co.uk', 'cryohost.net', 'csi.com.do', 'ct-shop.com', 'ctk-gmbh.de', 'ctmiller.net', +'cumbriamail.com', 'cust.in', 'cwaitrew.com', 'cwazy.co.uk', 'cx.airnet.ne.jp', 'cyber.net.pk', 'cyberemailings.com', +'cyberhome.ne.jp', 'cyberservices.nl', 'cynetcity.com', 'd-rex.net', 'damhost.com', 'dannemann.de', 'darkcorner.com', +'darkplace.com', 'dartmail.net', 'datacast.prserv.net', 'datacds.net', 'datanet.hu', 'davidcharles.co.uk', +'dcemail.com', 'dejanews.com', 'delfi.lv', 'deliriumctouch.com', 'destin.com', 'dglnet.com.br', 'dic.blogopt.com', +'dicoll.co.uk', 'didamail.com', 'digiro.net', 'dillard.edu', 'discardmail*', 'discardmail.com', 'discardmail.de', +'disenthroner.com', 'dmailman.com', 'dnat.migtel.ru', 'dnbhq.com', 'dodgeit.com', 'dodgit.com', 'doh75.com', +'dolally.com', 'dolfijn.nl', 'domaindisc.net', 'domatic.net', 'domvista.net', 'donau.de', 'dontsendmespam.de', +'doramail.com', 'dowse.com', 'dr.com', 'dragonballz.net', 'dragonet.es', 'dream-dimensions.de', 'drizzle.com', +'dsabaus.com', 'dsl-w.verizon.net', 'dsl.brasiltelecom.net.br', 'dsl.telepac.pt', 'dsl54025d43.pool.t-online.hu', +'dsl85-98-27413.ttnet.net.tr', 'dsl88-246-479.ttnet.net.tr', 'dtl.co.nz', 'dublin.com', 'dumpmail.de', 'duse.net', +'dyn.centurytel.net', 'dynamic.caiway.nl', 'dynamic.hinet.net', 'dynamic.orange.es', 'dynamic.sbb.co.yu', +'dynamicip.rima-tde.net', 'e178227164.adsl.alicedsl.de', 'earthling.net', 'east.net.cn', 'east.verizon.net', +'eastlink.ca', 'eastside.com', 'easynet.net', 'easypeasy.com', 'ebs.ulead.com', 'ec-messenger.com', 'echostation.com', +'ecocity.com', 'ecua.net.ec', 'edu.tr', 'educationdirect.com', 'egn.de', 'ehmail.com', 'ei.tum.de', 'eintagsmail.de', +'el-nacional.com', 'elbowraffle.net', 'email.accmail.com', 'emaildienst.de', 'emailias.com', 'emails.ru', +'emailstar.net', 'emailstuff.com', 'emailsystems.com', 'emailto.de', 'emanator.demon.co.uk', 'emancipacion.org', +'emar.de', 'ematic.com', 'embassysil.com', 'emocion.net.ar', 'emv9.com', 'enter.valdemarsvik.se', 'epicinnovations.com', +'eppl.us', 'estnet.bg', 'etb.net.co', 'eudoramail.com', 'euireland.ie', 'eule-idt.de', 'euro.net', 'europe.adobe.com', +'ev24.net', 'ewmd41.com', 'exclusive.pl', 'exo.com', 'ezrs.com', 'f6.dion.ne.jp', 'facilitynetwork.net', 'facom.fr', +'fadmail.com', 'fastacura.com', 'fastchevy.com', 'fastchrysler.com', 'fastemail.us', 'fastermail.com', +'fastkawasaki.com', 'fastmail.ca', 'fastmail.fm', 'fastmail.gr', 'fastmazda.com', 'fastmitsubishi.com', +'fastnissan.com', 'fastres.net', 'fastsubaru.com', 'fastsuzuki.com', 'fasttoyota.com', 'fastwebnet.it', +'fastyamaha.com', 'fatal.ru', 'fatty.boom.ru', 'fbx.proxad.net', 'female.ru', 'femenino.com', 'fenwick.com', 'fepg.net', +'ff8.zzn.com', 'ffc.co.jp', 'fffpharems.com', 'fiberia.com', 'fibertel.com.ar', 'fiestabrava.com', 'finklfan.com', +'firemail.de', 'firewall.biconcaveautomate.com', 'firstgate-newsletter.de', 'fishhoo.com', 'flashmail.com', +'flets.alpha-net.ne.jp', 'flix.de', 'fon.bg.ac.yu', 'forenhoster.com', 'foryou74.com', 'foxinternet.com', +'fr.clara.net', 'fr.logansvideos.com', 'free-online.net', 'free-spy.net', 'free.fr.logansvideos.com', 'freecontent.cc', +'freemail.besoft.org', 'freemail.gr', 'freemail.it', 'freemail.ne.jp', 'freemail.nl', 'freenation.net', +'freeproblem.com', 'freeserve.co.uk', 'freeserve.com', 'freetweak.com', 'front14.org', 'futurequest.net', 'gala.net', +'gamewood.net', 'gamopi.pleonaste.com', 'gamport.com', 'gaoland.net', 'garbagemail.com', 'gate.net', +'gateway.abedofroses.com', 'gateway.insightbb.com', 'gatewaybank.com', 'gawab.com', 'gaweb.com', 'gc.edu', 'gedris.org', +'gee-wiz.com', 'geekmail.com', 'germanfriendfinder.com', 'gerts.net', 'gestorialallana.com', 'gestur.atnchile.com', +'getscrews.com', 'gewhiz1.com', 'gewinnspiele.com', 'gfk.se', 'gfllp.com', 'ghosttexter.de', +'gifts-of-distinction.co.uk', 'ginko.de', 'giorgioimages.com.au', 'gjr.paknet.com.pk', +'glaswegian.sprinklecomponentry.com', 'glay.org', 'glencoeschools.org', 'glenmanning.com', 'globalobligations.com', +'globalsources.com', 'globetrotter.net', 'globoxchange.com', 'gms.net', 'go-west.com', 'go4bowling.com', 'goaachen.de', +'gogogolf.net', 'gohip.com', 'golfilla.info', 'goodsolitaire.com', 'gorillaswithdirtyarmpits.com', 'gothnation.com', +'gouv-exil.org', 'graffiti.net', 'grafxhousenetwork.net', 'graphtablet.com', 'grat-host.in', 'gravity.net.au', +'grechys.com', 'greenie.muc.de', 'gruis.hk', 'gt2004.org', 'gulfislands.com', 'gunmen.lestercur.com', 'gunsnet.net', +'gurlmail.com', 'gymlaufen.ch', 'haburi.com', 'halfmortgage.com', 'halftomorrow.com', 'hantz.com', 'happyhangover.com', +'hardcorexxxmag.com', 'hawaii.res.rr.com', 'hci.net', 'hediard.fr', 'heinrich-it-service.de', 'helicon.net', +'hellokitty.com', 'helpdesk.nl', 'hepaticae.com', 'hermes.eolas-services.com', 'hiit.fi', 'hinet.net', 'hismail.cc', +'hispeed.ch', 'hkem.com', 'hkepost.com', 'hkid.com', 'hobnaildas.com', 'hoffman.cc.sophia.ac.jp', 'holzach.biz', +'home.nl', 'home.ro', 'homer.cyberwebhosting.net', 'host233-249-dynamic.9-87-r.retail.telecomitalia.it', 'hot.ee', +'hotpop.com', 'houston.res.rr.com', 'huhmail.com', 'hurra.de', 'hurting.com', 'hush.com', 'hushmail.com', +'hutchcity.com', 'hvm.macromedia.com', 'i-box-letter.de', 'i-love-cats.com', 'iam.net.ma', 'icdc.com', +'idealyze.com.br', 'ifg.com', 'igd.fhg.de', 'iinet.com', 'ikp.atm.com.pl', 'il.comcast.net', 'illusionmovies.com', +'imagelink.com.br', 'imails.info', 'iname.com', 'inbox.com', 'india.com', 'ineltec.ch', 'inet-shops.ru', 'inetekk.com', +'infoapex.com', 'infomail.papierunion.de', 'infowest.com', 'injection.dk', 'inmail.sk', 'innercite.com', +'inonesearch.com', 'insidebaltimore.net', 'insightbb.com', 'instuttgart.de', 'intelnett.com', 'inter.net.il', +'interia.pl', 'internal.morris.com', 'iobox.de', 'iof.fhg.de', 'iol.cz', 'iop.org', 'ip.fastwebnet.it', 'ipeg.com', +'iron2.cyberhome.ne.jp', 'isleuthmail.com', 'ispd.de', 'ist.co.za', 'itee.uq.edu.au', 'itn.is', 'itronic.cc', +'itwol.bhp.com.au', 'iux01.insel.ch', 'ivillage.com', 'izbb.com', 'jaeggi.ch', 'japan.co.jp', 'javascript.org', +'jaydemail.com', 'jazztel.es', 'jccomp.com', 'jesi.nettuno.it', 'jetable.com', 'jetable.net', 'jetable.org', +'jippii.co.uk', 'johnsmith.co.uk', 'joinme.com', 'journalismfan.com', 'joymail.com', 'jpopmail.com', 'juchu.de', +'jumpy.it', 'jungbecker.de', 'juno.com', 'justopt.info', 'kabachan.com', 'kabel1-vip.de', 'kajima.com', 'kali.com.cn', +'kansascity.com', 'karachioye.com', 'kasmail.com', 'kavitha.com', 'kcdata.com', 'kefir.000buy.com', 'kellychen.com', +'keromail.com', 'ket.de', 'kichimail.com', 'kittymail.com', 'kki.net.pl', 'klassmaster.com', 'klinik-rkz.de', +'korea-dpr.com', 'koreamail.co.kr', 'kponet.fi', 'kschoice.net', 'kulturbetrieb.info', 'landings.com', 'lanetro.com', +'laposte.net', 'larochelle-innovation.com', 'latinmail.com', 'lawyer.com', 'learnmoreonline.net', 'leere-drohungen.de', +'legoland.de', 'lei3.cable.ntl.com', 'leo.org', 'leonlai.net', 'lestercur.com', 'lexpress.net', 'libero.iol.it', +'liebe.de', 'linex.com', 'linuxmail.org', 'list.ru', 'literaturelover.com', 'livedoor.com', 'liwest.at', 'ln.edu.hk', +'lnwhij.woulditbe.com', 'logansvideos.com', 'lookingtostayoutoflovetrouble.com', 'looksmart.co.uk', 'loveable.com', +'loversearching.com', 'lsc.net.tw', 'lukoil.ru', 'lycos.co.uk', 'lycos.com', 'lycosmail.com', 'm-kg241p.ocn.ne.jp', +'m-s-n.net', 'ma.kcom.ne.jp', 'mac-email.com', 'madcrazy.com', 'madeincanada.com', 'mail-in.freeserve.com', +'mail-relay.handy.de', 'mail.4fts.com', 'mail.aacgroup.co.uk', 'mail.aas.com.kw', 'mail.abacus.ba', 'mail.abgrp.ru', +'mail.adition.net', 'mail.adulthosting.com', 'mail.airbridge.net', 'mail.alfc.com', 'mail.bulgaria.com', 'mail.com', +'mail.com.fr', 'mail.csuchico.edu', 'mail.cwverlag.de', 'mail.dangerzone.org', 'mail.fishhoo.com', 'mail.gr', +'mail.htl22.at', 'mail.interq.or.jp', 'mail.kitty.cc', 'mail.kolej.mff.cuni.cz', 'mail.ru', 'mail.saabnet.com', +'mail.usa.com', 'mail.zp.ua', 'mail15.com', 'mail2.pvt.net', 'mail2Alicia.com', 'mail2Amanda.com', 'mail2Bernard.com', +'mail2Clark.com', 'mail2Dale.com', 'mail2Darlene.com', 'mail2Erin.com', 'mail2Eva.com', 'mail2Fred.com', +'mail2Howard.com', 'mail2Josh.com', 'mail2Judy.com', 'mail2Julian.com', 'mail2Kristin.com', 'mail2Lance.com', +'mail2Laurie.com', 'mail2Marries.com', 'mail2Rachel.com', 'mail2Ricky.com', 'mail2Riley.com', 'mail2Stephanie.com', +'mail2Tim.com', 'mail2Tony.com', 'mail2go.com', 'mail2world.com', 'mail4u.nl', 'mailandnews.com', 'mailasia.com', +'mailcity.com', 'mailenvelopes.com', 'mailer-service.de', 'mailexchanger.universia.es', 'mailexcite.com', +'mailexpire.com', 'mailin8r.com', 'mailinator.com', 'mailinator.net', 'mailinator2.com', 'mailout.inetekk.com', +'mailout1.inetekk.com', 'mailout2.inetekk.com', 'mailout3.inetekk.com', 'mailout4.inetekk.com', 'mailout5.inetekk.com', +'mailoye.com', 'mailstart.com', 'maktoob.com', 'mandic.com.br', 'manfinancial.com', 'manus-manum-lavat.info', +'marchmail.com', 'marijuana.com', 'marsmail.de', 'marsmail.eu', 'masterhost.ru', 'mauimail.com', 'maxonline.com.sg', +'maxthon.com', 'mbx.cc', 'mchsi.com', 'mci.com', 'mcmac.com', 'mdnet.com.br', 'mecha.ne.jp', 'medic.net.au', +'medicalmbn.com', 'medicinemail.com', 'medienkultur-stuttgart.de', 'medsxs4.com', 'megaboymail.com', 'meishi.co.jp', +'melin.nu', 'mercaturejoy.com', 'meri.uwasa.fi', 'merlin.net.au', 'messagebeamer.de', 'messagizer.de', +'messe-crossmedia.de', 'metaling.si', 'metorex.fi', 'mexxxico.com', 'mhd.de', 'microce.de', 'micromail.com', +'micromail.com.au', 'micromail.ie', 'mid-heidelberg.de', 'midgard.ai.net', 'mighty.co.za', 'migtel.ru', +'millennianet.com', 'millenniumbuggered.com', 'millionengewinn.net', 'mindspring.com', 'minedu.fi', 'mira.altern.org', +'miranda.zianet.com', 'misco.fagms.de', 'misery.net', 'mitgliedersupport.de', 'ml1.net', 'mm.pl', 'mma.com.br', +'modernart.ie', 'modesta.pl', 'modic.cz', 'modomail.com', 'modusconsult.de', 'moini.de', 'moj.go.kr', 'moncourrier.com', +'monornet.hu', 'monradsl.monornet.hu', 'moo321.com', 'moonwalk.se', 'moose-mail.com', 'morefdumplings.com', +'movemail.com', 'movilnet.com.ve', 'mrde45r.com', 'mt2009.com', 'mtu-net.ru', 'multimania.fr', 'mummys-boy.com', +'musclemail.com', 'mwb.biglobe.ne.jp', 'mx.futurequest.net', 'mx.lukoil.ru', 'mx0.wwwnew.eu', 'mx1.fr.clara.net', +'mx1.masterhost.ru', 'mx1.rdsnet.ro', 'mx2.fr.clara.net', 'mx4.mts.net', 'mx5.aball.de', 'mx5.fl.megamailservers.com', +'mxfep01.bredband.com', 'mxzilla6.xs4all.nl', 'my-yep.com', 'myfastmail.com', 'myownemail.com', 'myriadrecords.com', +'mysg.8m.com', 'myt.mu', 'mytoys-mail.de', 'mytrashmail.com', 'myx.net', 'nana.co.il', 'nastyservice.info', +'naukanet.ru', 'ncfcomm.com', 'ne.jp', 'nebenjob.de', 'nervmich.net', 'nervtmich.net', 'net-search.org', 'net.ae', +'net.au', 'net.co', 'net.il', 'net.in', 'net.ma', 'net.my', 'net.pe', 'net.pl', 'net.tr', 'net.tw', 'net24.it', +'netbank.com.br', 'netcabo.pt', 'netcityhk.com', 'netlane.com', 'netscape.net', 'nettv4u.de', 'netvision.net.il', +'netvista.net', 'netzidiot.de', 'nevada.co.jp', 'newhorizons.ac.cr', 'newmail.net', 'newprosdirect.com', 'news.com', +'news.dannemann.de', 'news247.de', 'newsflash.de', 'newsletter.conrad.de', 'newsletter.otto.de', 'newsletter.penton.de', +'newsubdomain.com', 'nicholastse.net', 'nicole.org', 'niftyserve.com', 'nockmedia.de', 'nomail2me.com', +'nonstopconsulting.de', 'nospammail.net', 'nostra.by', 'ns1.on2web.dk', 'ntep.nec.co.jp', 'ntl.com', 'nts.ru', +'nttc.org', 'numail.co.uk', 'numericable.fr', 'nurfuerspam.de', 'nv.charter.com', 'nyc.rr.com', +'nycmny.east.verizon.net', 'nycny.net', 'o2.pl', 'odn.ad.jp', 'oico.com', 'oldmx1.init7.net', 'oleane.net', +'ols.aaronsen.com', 'olympus.net', 'omni-host.com', 'on-luebeck.de', 'onebox.com', 'onetwomax.de', 'oni.pt', +'online.ee', 'online.fr', 'online.no', 'online.sh.cn', 'ono.com', 'ono.es', 'onocable.ono.com', 'onthenet.com.au', +'openface.ca', 'operamail.com', 'optician.com', 'optinet.de', 'oracle-consultant.co.uk', 'orange.es', 'orcon.net.nz', +'org.my', 'oricom.ca', 'osi.pl', 'osn.de', 'otagochamber.co.nz', 'otakumail.com', 'otava.fi', +'ottawakiosk.webminders.com', 'out.returnpath.net', 'outblaze.com', 'outgun.com', 'ozbytes.net.au', 'pacbell.net', +'pajek.net', 'pamho.net', 'paris.com', 'parlex.com', 'passiongas.com', 'pathlengths.info', 'patra.net', +'paycenter.com.cn', 'pbadmail.com', 'pearl-online.de', 'peoplemail.com.cn', 'perenter.com', 'perlen.dk', +'perthmail.com', 'phantom.org', 'phentermine-site.5u.com', 'phentermineorder.boom.ru', 'phreaker.net', 'pi.se', +'pinoymail.com', 'planet49.com', 'plastico.ro', 'playingcupid.com', 'pldt.net', 'plenio.de', 'pleonaste.com', +'pmktg-online.com', 'pnb.com.ph', 'poker777.boom.ru', 'policeds.com', 'polyonomy.com', 'pookmail.com', +'pool.t-online.hu', 'pool8249.interbusiness.it', 'pop06.odn.ne.jp', 'porno.wildrhino.com', 'portal2.com', +'portcharles.net', 'post.com', 'power.net', 'ppp11.odn.ad.jp', 'pppoe.mtu-net.ru', 'priest.com', +'printec-distribution.de', 'privacy.net', 'proconnect-mail.com', 'prod-infinitum.com.mx', 'prodigy.net.mx', +'progressmail.net', 'pronet.be', 'propagation.net', 'prout.de', 'proxad.net', 'prtc.net', 'psicorps.com', 'psinet.be', +'psmtp.com', 'ptd.net', 'public1.ptt.js.cn', 'punkass.com', 'purinmail.com', 'put2.net', 'qldsugar.com', +'qseuzfv55a.adsl.datanet.hu', 'quality-only.info', 'qualityandsweet.info', 'quicknet.nl', 'quickslick.com', +'quisalot.biz', 'qwas34d5.com', 'qwest.net', 'r-a-v-e.com', 'rad-dresden.de', 'rainbow.cc', +'range81-158.btcentralplus.com', 'rb21ex.com', 'rbnet.com', 'rdominicana.com', 'rdsnet.ro', 'recode.me', +'recovermyfiles.com', 'recycler.com', 'red-83-49-70.dynamicip.rima-tde.net', 'red-88-7-51.staticip.rima-tde.net', +'red.bezeqint.net', 'rediffmail.com', 'refusalabsentminded.com', 'registeredsite.com', 'relay.intercom.es', +'relay1.esined.net', 'res-cmts.val.ptd.net', 'res.rr.com', 'rescue-europe.com', 'retail.telecomitalia.it', +'retsat1.com.pl', 'rezrez.rsc03.com', 'rfaust.de', 'rich.east.verizon.net', 'rima-tde.net', 'risquemail.com', +'rock.com', 'rocketmail.com', 'rome.com', 'rootsrock.biz', 'rotario.com', 'rotld.ro', 'rr.com', 'russiangirlwant.com', +'rzs02.init.de', 's-web.de', 'sacbeemail.com', 'safersurf.*', 'sandelf.de', 'sanfranmail.com', 'sapo.pt', +'saturnperformance.com', 'sbcmail1.prodigy.net', 'sbcmail2.prodigy.net', 'sbcmail3.prodigy.net', 'sbcmail4.prodigy.net', +'sbcmail5.prodigy.net', 'sbcmail6.prodigy.net', 'sbcmail7.prodigy.net', 'sbcmail8.prodigy.net', 'sbcmail9.prodigy.net', +'schnaeppchenjagd.de', 'schwabe-braun.de', 'scotiacapital.com', 'secretmotive.com', 'secure-mail.cn', +'secure.dot-names.com', 'secureserver.net', 'sedo.de', 'seed.net.tw', 'senseless-entertainment.com', 'sent.at', +'server.intermediary.com', 'server420.dnslive.net', 'server73.appriver.com', 'sesmail.com', 'sewon-teletech.co.kr', +'sgn3.sgn.com', 'shawcable.net', 'shopbeachcity.com', 'sicup.de', 'sierranet.net', 'sinewave.com', 'single-match.info', +'sitefoundry.net', 'sitek.net', 'sitespider.co.uk', 'siutao.com', 'skating.net', 'skrzynka.pl', 'slappajack.com', +'slb.de', 'sleekhost.com', 'sloncentral.info', 'smartmedia.co.uk', 'smithhanley.com', 'smtp.oleane.net', +'smtp.prodigy.net.mx', 'smtp.secureserver.net', 'smtp1.lix.aon.at', 'smtp1.rslcom.fi', 'snail-mail.net', +'sneakemail.com', 'snet.net', 'sofort-mail.de', 'sofortmail.de', 'softhome.net', 'sogetthis.com', 'solcon.nl', +'solicit.cottypediment.com', 'sonet.sp.ru', 'soon.com', 'soyou.com', 'spacetolet.com', 'spam.la', 'spambob.com', +'spambob.net', 'spambob.org', 'spambog.com', 'spambog.de', 'spambog.ru', 'spambot.com', 'spambox.info', 'spambox.us', +'spamcorptastic.com', 'spamex.com', 'spamgourmet.com', 'spamherelots.com', 'spamhole.com', 'spaminator.de', +'spammotel.com', 'spamtrail.com', 'spankthedonkey.com', 'sparfieber.de', 'spb.ru', 'spbnit.ru', 'speedy.com.ar', +'speedy.net.pe', 'spire.com', 'spl.at', 'sprachzentrum.de', 'spray.it', 'spray.net', 'sprinklecomponentry.com', +'ssl.fujitsu.com', 'ssole1.com', 'ssole3.com', 'stagcreek.ca', 'stage-n-light.de', 'stait.freeserve.co.uk', +'stalco.co.ae', 'stams.strath.ac.uk', 'standesbeamte.de', 'stangroome.freeserve.co.uk', 'staple-online.co.uk', +'star.teuto.de', 'starcoffee.de', 'stardust-lyrics.de', 'starfury77.club24.co.uk', 'stargard.mm.pl', 'starline.ee', +'starmedia.com', 'start.com.au', 'start.no', 'staticip.rima-tde.net', 'stilap.hepaticae.com', 'stonemultimedia.com', +'sun.com', 'sunsgame.com', 'superdating.biz', 'surfer.at', 'surfy.net', 'swu.dk', 'swva.net', 'sysob.de', 't-online.hu', +'takas.lt', 'talkcity.com', 'tampabay.rr.com', 'tampascene.com', 'teaminform.com', 'techie.com', 'technikdirekt.de', +'tedata.net', 'teewars.org', 'tele.dk', 'telecomitalia.it', 'telecomplus.net', 'telenor.co.uk', 'telepac.pt', +'telesp.net.br', 'telkom.net', 'telkomadsl.co.za', 'telstra.com', 'telus.net', 'temet-nosce.info', 'templetae.com', +'temporarily.de', 'temporaryinbox.com', 'tempus-fugit.info', 'termquotes.prserv.net', 'terra.com', 'terra.com.gt', +'terra.com.sv', 'terra.es', 'terra.net.lb', 'test.com', 'test.de', 'thatsthegame.com', 'the-lair.com', +'the-village.co.uk', 'thebrewer.com', 'thecigarettes.info', 'thedepot.com', 'thedoghousemail.com', 'thefishfinder.com', +'themail.co.uk', 'thewannadies.co.uk', 'thewildmild.de', 'thisdomainl.com', 'thisisnotmyrealemail.com', 'thy.com', +'ties.itu.ch', 'tiscali.co.uk', 'tiscali.fr', 'tiscali.it', 'tm.net.my', 'tnp.pl', 'tokorea.com.cn', +'tokyo.flets.alpha-net.ne.jp', 'tom.com', 'toosexyforyou.com', 'topaz.kiev.ua', 'toursdesport.com', 'toys4bigboys.net', +'tpnet.pl', 'trademailer.de', 'trash-mail.com', 'trash-mail.de', 'trash-mail.net', 'trashdevil.com', 'trashdevil.de', +'trashmail.com', 'trashmail.de', 'trashmail.net', 'trashmail.org', 'trashymail.com', 'trinion1.datenloch.de', +'trionline.de', 'truthmail.com', 'ttnet.net.tr', 'tv1.de', 'tv8.se', 'tvalliance.co.uk', 'tvcheck.se', 'tvnet.hu', +'tvnet.lt', 'tvpress.channel4.ru', 'tvs.no', 'tvscheessel.de', 'tvtel.pt', 'twtelecom.net', 'tx.res.rr.com', +'u-net.com', 'uark.edu', 'ublaze.com', 'uk111.com', 'uk2.net', 'uk420.com', 'ulb.ac.be', 'ultrapostman.com', +'unete.com', 'unicum.de', 'uniserve.ca', 'universia.es', 'upc-d.chello.nl', 'usa.com', 'usa.net', 'usarabia.com', +'usclargo.com', 'user.auna.net', 'user.veloxzone.com.br', 'usertools.net', 'uswestmail.net', 'uunet.uu.net', +'uyi78h.com', 'uytgrt.com', 'uzpi.cz', 'val.ptd.net', 'valuehost.ru', 'veloxzone.com.br', 'veretekk.com', 'verizon.com', +'verizon.net', 'vested99.com', 'veyr4zw.com', 'vfemail.net', 'videotron.ca', 'vilaweb.com', 'virtua.com.br', +'virtual.finland.fi', 'virus112.com', 'vistaprint.rsc01.com', 'visto.com', 'vivax.com.br', 'vmx40.multikabel.net', +'vntc.ru', 'vrflow.oulu.fi', 'vsnl.net.in', 'vtr.net', 'vtt.fi', 'wakwak.ne.jp', 'wanaboo.com', 'wanadoo.co.uk', +'wanadoo.fr', 'wanadoo.nl', 'waw.pl', 'wazup.com', 'wcenviro.com', 'we4z3.com', 'web-mail-service.de', 'webfun.tv', +'webmail.co.za', 'webmail.net.nz', 'webpool.de', 'wegwerfadresse.de', 'wels.net', 'wemedsc.com', 'westham-fan.com', +'wewonthewar.com', 'whatever.com', 'wideopenwest.com', 'wildmail.com', 'willhackforfood.biz', 'wisconsin.cern.ch', +'woerth.de', 'world4fun.ch', 'worldonline.de', 'wowzers.net', 'wp.pl', 'wprost.pl', 'wuerzburg.de', 'www.bundestag.de', +'www.freewebs.com', 'www.hot.ee', 'www1.bonusoptinlist.com', 'www1.cornbreadparty.com', 'www1.dirtydawgmailer.com', +'www1.getpornmailer.com', 'www1.qutetown.com', 'www1.readoptinmail.com', 'www1.superoptinmail.com', +'www1.wistlework.com', 'www1.xxxoptinmail.com', 'www2.cornbreadparty.com', 'www2.doubleoptinxxx.com', +'www2.funnymondays.com', 'www2.goodxxxmail.com', 'www2.optinpimps.com', 'www2.overyounow.com', 'www2.perfectoptin.com', +'www2.pimpoptinmailer.com', 'www2.solidemailservers.com', 'www2.topleveloptin.com', 'www2.youoptedin.com', +'www3.bobblebuster.com', 'www3.confirmedoptin.com', 'www3.crazycrowns.com', 'www3.freshmailers.com', +'www3.goldenoptin.com', 'www3.goodxxxmail.com', 'www3.optedinmailer.com', 'www3.pornoptin.com', +'www3.primetimemailer.com', 'www3.sandwichmonkey.com', 'www3.stationarybands.com', 'www3.topleveloptin.com', +'www3.wildjuicer.com', 'www3.youoptedin.com', 'www4.bobblebuster.com', 'www4.dearestkindly.com', +'www4.dirtydawgmailer.com', 'www4.freshoptinmail.com', 'www4.hornymailers.com', 'www4.platinumpornmailer.com', +'www4.primetimemailer.com', 'www4.youoptedin.com', 'www5.adultmarketinggroup.com', 'www5.dearestkindly.com', +'www5.dirtydawgmailer.com', 'www5.freshoptinmails.com', 'www5.marketingoptin.com', 'www5.theonlyoptinlist.com', +'www5.xxxoptinmailer.com', 'www6.freshoptinmail.com', 'www6.jerkydrive.com', 'www6.perfectoptin.com', +'www6.pimpoptinmailer.com', 'www6.truepimpmarketing.com', 'www7.bargainoptin.com', 'www7.freshoptinmails.com', +'www7.getoptedin.com', 'www7.marketingoptin.com', 'www7.pickuppieces.com', 'www7.premiummailsystems.com', +'www7.qutetown.com', 'www7.truepimpmarketing.com', 'www7.xxxmailers.com', 'www8.bargainoptin.com', +'www8.confirmedoptin.com', 'www8.cornbreadparty.com', 'www8.foolspleasure.com', 'www8.freshoptinmail.com', +'www8.optedinmailer.com', 'www8.readoptinmail.com', 'www8.xxxmailers.com', 'www8.xxxoptinmailer.com', +'www9.awesomexxxmailer.com', 'www9.doubleoptinxxx.com', 'www9.friendlycluster.com', 'www9.pickuppieces.com', +'www9.pureoptins.com', 'www9.sandwichmonkey.com', 'www9.sexoptedin.com', 'www9.stationarybands.com', +'www9.yourmailservices.com', 'wwwplanet.net', 'wx88.net', 'x4u2.desy.de', 'xcelco.on.ca', 'xmr3.com', 'xoom.com', +'xp-hosting.com', 'xpost.net', 'yandex.ru', 'yapost.com', 'yebox.com', 'yehey.com', 'yemenmail.com', 'yes.com', +'ymail.ru', 'yourfrontdoor.com', 'yourmail.com.au', 'yyhmail.com', 'zeebede.com', 'zhongkang.com.cn', 'zipmail.com.br', +'zipolite.com', 'zipzaps.de', 'zmail.ru', 'zooloose.ch', 'zoznam.sk', 'zrekjc.icangonow.com', 'zworg.com', +'zybermail.com', 'zzn.com', \ No newline at end of file diff --git a/include/config.example.php b/include/config.example.php new file mode 100644 index 0000000..067c507 --- /dev/null +++ b/include/config.example.php @@ -0,0 +1,202 @@ + array('header' => '#333333', 'footer' => '#333333', 'secondary' => '#666666', 'primary' => '#E0E0E0'), + 'grayscale2' => array('header' => '#4F4F4F', 'footer' => '#4F4F4F', 'secondary' => '#A0A0A0', 'primary' => '#FFFFFF'), + 'grayscale3' => array('header' => '#2B2B2B', 'footer' => '#2B2B2B', 'secondary' => '#858585', 'primary' => '#D9D9D9'), + 'emeraldDream' => array('header' => '#50C878', 'footer' => '#50C878', 'secondary' => '#98FB98', 'primary' => '#006400'), + 'coralReef' => array('header' => '#FF7F50', 'footer' => '#FF7F50', 'secondary' => '#FFD700', 'primary' => '#8B0000'), + 'purpleHaze' => array('header' => '#8A2BE2', 'footer' => '#8A2BE2', 'secondary' => '#DA70D6', 'primary' => '#4B0082'), + 'sunshineMeadow' => array('header' => '#FFD700', 'footer' => '#FFD700', 'secondary' => '#F0E68C', 'primary' => '#556B2F'), + 'autumnLeaves' => array('header' => '#FF4500', 'footer' => '#FF4500', 'secondary' => '#FFD700', 'primary' => '#8B4513'), + 'coolCyan' => array('header' => '#00CED1', 'footer' => '#00CED1', 'secondary' => '#E0FFFF', 'primary' => '#20B2AA'), + 'deepPurple' => array('header' => '#9400D3', 'footer' => '#9400D3', 'secondary' => '#9932CC', 'primary' => '#8B008B'), + 'warmAmber' => array('header' => '#FFBF00', 'footer' => '#FFBF00', 'secondary' => '#FFD700', 'primary' => '#FF8C00'), + 'gentlePink' => array('header' => '#FF69B4', 'footer' => '#FF69B4', 'secondary' => '#FFB6C1', 'primary' => '#FF1493'), + 'midnightTeal' => array('header' => '#008080', 'footer' => '#008080', 'secondary' => '#40E0D0', 'primary' => '#20B2AA'), + 'sunsetOrange' => array('header' => '#FF4500', 'footer' => '#FF4500', 'secondary' => '#FF6347', 'primary' => '#FF7F50'), + 'forestGreen' => array('header' => '#228B22', 'footer' => '#228B22', 'secondary' => '#32CD32', 'primary' => '#006400'), + 'icyBlue' => array('header' => '#00BFFF', 'footer' => '#00BFFF', 'secondary' => '#ADD8E6', 'primary' => '#1E90FF'), + 'rosyRed' => array('header' => '#FF6347', 'footer' => '#FF6347', 'secondary' => '#FF7F7F', 'primary' => '#FF4500'), + 'plumPurple' => array('header' => '#8B008B', 'footer' => '#8B008B', 'secondary' => '#DA70D6', 'primary' => '#9932CC'), + 'vibrantYellow' => array('header' => '#FFD700', 'footer' => '#FFD700', 'secondary' => '#FFFF00', 'primary' => '#FFA500'), + 'aquaMarine' => array('header' => '#7FFFD4', 'footer' => '#7FFFD4', 'secondary' => '#E0FFFF', 'primary' => '#40E0D0'), + 'burntSienna' => array('header' => '#E97451', 'footer' => '#E97451', 'secondary' => '#D2691E', 'primary' => '#CD5C5C'), + 'mintGreen' => array('header' => '#98FF98', 'footer' => '#98FF98', 'secondary' => '#ADFF2F', 'primary' => '#32CD32'), + 'sapphireBlue' => array('header' => '#0F52BA', 'footer' => '#0F52BA', 'secondary' => '#4682B4', 'primary' => '#1E90FF'), + 'coralPink' => array('header' => '#F88379', 'footer' => '#F88379', 'secondary' => '#FF7F50', 'primary' => '#FF6347'), + 'jadeGreen' => array('header' => '#00A36C', 'footer' => '#00A36C', 'secondary' => '#50C878', 'primary' => '#2E8B57'), + 'peachOrange' => array('header' => '#FFDAB9', 'footer' => '#FFDAB9', 'secondary' => '#FFE4B5', 'primary' => '#FFA07A'), + 'rubyRed' => array('header' => '#9B111E', 'footer' => '#9B111E', 'secondary' => '#FF6347', 'primary' => '#B22222'), + 'skyBlue' => array('header' => '#87CEEB', 'footer' => '#87CEEB', 'secondary' => '#B0E0E6', 'primary' => '#00BFFF'), + 'burntOrange' => array('header' => '#FF7F50', 'footer' => '#FF7F50', 'secondary' => '#FFA07A', 'primary' => '#FF4500'), + 'standardcolor' => array('header' => '#cdb38b', 'footer' => '#eecfa1', 'secondary' => '#f5f5dc', 'primary' => '#4F4F4F') +); +// Die Farbschaltflächen habe ich eingefügt, damit man sich ein Gesamtbild der Farbschemata machen kann. +// Bitte lasst eurer Kreativität freien Lauf und ändert die Farbschemata nach Belieben. +// I added the color buttons to give an overview of the color schemes. +// Feel free to unleash your creativity and modify the color schemes as you like. +define('SHOW_COLOR_BUTTONS', false); // Farbschaltflächen anzeigen (true/false) / Show color buttons (true/false) +define('INITIAL_COLOR_SCHEME', 'standardcolor'); // Farbschema auswählen / Select color scheme + +// Farben und Schriftart +// Colors and fonts +$currentColorScheme = $colorSchemes[INITIAL_COLOR_SCHEME]; +define('HEADER_COLOR', $currentColorScheme['header']); // Header-Farbe / Header color +define('FOOTER_COLOR', $currentColorScheme['footer']); // Footer-Farbe / Footer color +define('SECONDARY_COLOR', $currentColorScheme['secondary']); // Sekundärfarbe / Secondary color +define('PRIMARY_COLOR', $currentColorScheme['primary']); // Primäre Schriftfarbe / Primary text color + +define('FONT_FAMILY_STATS', 'Arial, Verdana, sans-serif'); // Schriftart für Statistiken / Font for statistics +define('FONT_FAMILY', 'Pacifico, normal, serif'); // Schriftart für die Webseite / Font for the website + +// Schriftgrößen +// Font sizes +define('BASE_FONT_SIZE', '26px'); // Standardgröße für Text / Default text size +define('TITLE_FONT_SIZE', '48px'); // Größe für Überschriften / Size for headings +define('STATS_FONT_SIZE', '14px'); // Größe für Statistik-Text / Size for statistics text + +// Links +define('LINK_COLOR', '#3A3A3A'); // Standard Link-Farbe / Default link color +define('LINK_HOVER_COLOR', 'red'); // Link-Farbe beim Hover / Link color on hover + +// Hintergrund- und Vordergrundbilder +// Background and foreground images +define('BACKGROUND_IMAGE', 'pics/transparent.png'); // Hintergrundbild / Background image +define('FOREGROUND_IMAGE', 'pics/transparent.png'); // Logo oder Vordergrundbild / Logo or foreground image +define('BACKGROUND_OPACITY', 1.0); // Transparenz des Hintergrunds / Background opacity +define('FOREGROUND_OPACITY', 1.0); // Transparenz des Logos / Logo opacity + +// Anzeigeoptionen +// Display options +define('LOGO_ON', 'OFF'); // Logo anzeigen: ON / OFF / Show logo: ON / OFF +define('TEXT_ON', 'ON'); // Begrüßungstext anzeigen: ON / OFF / Show welcome text: ON / OFF +define('LOGO_PATH', 'include/Metavers150.png'); // Pfad zum Logo / Path to the logo +define('LOGO_WIDTH', '50%'); // Logo-Breite / Logo width +define('LOGO_HEIGHT', '25%'); // Logo-Höhe / Logo height +define('GUIDE_DATA', 'DATA'); // DATA/JSON guide anzeigen / Show DATA/JSON guide + +// Begrüßungstext +// Welcome text +define('LOGO_FONT', 'Lobster'); // Schriftart des Logos / Font for the logo +define('PRIMARY_COLOR_LOGO', '#00FFFF'); // Allgemeine Schriftfarbe / General text color +define('WELCOME_TEXT', '
Willkommen im ' . SITE_NAME . '
'); // Begrüßungstext / Welcome text +define('WELCOME_TEXT_WIDTH', '50%'); // Standardbreite / Default width +define('WELCOME_TEXT_HEIGHT', 'auto'); // Standardhöhe / Default height +define('WELCOME_TEXT_COLOR', PRIMARY_COLOR_LOGO); // Farbe des Textes / Text color +define('WELCOME_TEXT_ALIGN', 'left'); // Zentriert, links oder rechts / Centered, left, or right +define('WELCOME_TEXT_FONT_SIZE', '24px'); // Schriftgröße des Textes / Text font size + +// Bildanzeige-Einstellungen +// Image display settings +define('SLIDESHOW_FOLDER', './images'); // Verzeichnis für die Bilder / Directory for images +define('IMAGE_SIZE', 'width:100%;height:100%'); // Größe der Bilder / Size of images +define('SLIDESHOW_DELAY', 9000); // Zeit zwischen Bildern (in ms) / Time between images (in ms) + +// Einstellungen für Maptiles +// Settings for maptiles +define('FREI_COLOR', '#0088FF'); // Farbe für freie Koordinaten / Color for free coordinates +define('BESCHLAGT_COLOR', '#55C155'); // Farbe für SingleRegion / Color for SingleRegion +define('VARREGION_COLOR', '#006400'); // Farbe für VarRegion / Color for VarRegion +define('CENTER_COLOR', '#FF0000'); // Farbe für Zentrum / Color for center +define('TILE_SIZE', '25px'); // Größe der Farbfelder / Size of color fields + +// Zentrum des Grids +// Center of the grid +define('CONF_CENTER_COORD_X', 3000); // X-KOORDINATE DES ZENTRUMS / X coordinate of the center +define('CONF_CENTER_COORD_Y', 3000); // Y-KOORDINATE DES ZENTRUMS / Y coordinate of the center + +define('MAPS_X', 32); // Anzahl der Kacheln in X-Richtung / Number of tiles in X direction +define('MAPS_Y', 32); // Anzahl der Kacheln in Y-Richtung / Number of tiles in Y direction + +// MOTD-Einstellung: 'Dyn' für dynamisch, 'Static' für statisch +// MOTD setting: 'Dyn' for dynamic, 'Static' for static +define('MOTD', 'Dyn'); // Oder 'Static' / Or 'Static' + +// Statische MOTD (nur relevant, wenn MOTD auf 'Static' gesetzt ist) +// Static MOTD (only relevant if MOTD is set to 'Static') +define('MOTD_STATIC_MESSAGE', 'Willkommen auf im Grid! Bitte beachte unsere Regeln.'); // Statische Nachricht / Static message +define('MOTD_STATIC_TYPE', 'system'); // Typ der Nachricht / Type of message +define('MOTD_STATIC_URL_TOS', BASE_URL . '/include/tos.php'); // URL zur TOS-Seite / URL to the TOS page +define('MOTD_STATIC_URL_DMCA', BASE_URL . '/include/dmca.php'); // URL zur DMCA-Seite / URL to the DMCA page + +// Definiere verschiedene RSS-Feed-URLs getrennt durch Komma. +// Define different RSS feed URLs separated by commas. +$feed_urls = [ + 'http://opensimulator.org/viewgit/?a=rss-log&p=opensim', // Standard-Feed / Default feed + 'https://www.hypergridbusiness.com/feed' +]; + +// Maximale Anzahl der Einträge pro Feed +// Maximum number of entries per feed +$max_entries = 50; +?> diff --git a/include/config.php b/include/config.php new file mode 100644 index 0000000..15698a8 --- /dev/null +++ b/include/config.php @@ -0,0 +1,225 @@ + +The environment configuration file is missing!
+Please follow these steps to complete the setup:
+include/env.example.php to include/env.phpinclude/env.php with your database credentialsinclude/config.example.php to include/config.phpinclude/config.php to match your OpenSimulator setupExample database settings for env.php:
++define(\'DB_SERVER\', \'localhost\'); +define(\'DB_USERNAME\', \'opensim\'); +define(\'DB_PASSWORD\', \'your_password\'); +define(\'DB_NAME\', \'opensim\'); ++
Refresh this page after creating the configuration files.
+ + '); +} + +require_once 'env.php'; + +// RemoteAdmin +// RemoteAdmin-Konfiguration +// RemoteAdmin configuration +define('REMOTEADMIN_URL', 'localhost'); // URL des RemoteAdmin-Servers / URL of the RemoteAdmin server +define('REMOTEADMIN_PORT', 8002); // Port des RemoteAdmin-Servers / Port of the RemoteAdmin server + +// Seitenadressen +// Website addresses +define('BASE_URL', 'http://localhost'); // Basis-URL der Webseite / Base URL of the website +define('SITE_NAME', 'OpenSim Grid'); // Name des Grids / Name of the grid + +// Konfigurationsoptionen Standard Template: +// Template configuration options: +// "headerBlanc.php", "headerST.php", "headerW3.php", "headerBT5.php", "headerFoundation.php", "headerMaterialize.php", "headerTailwind.php", "headerPrimer.php", "headerTachyons.php", "headerSpectre.php", "headerTent.php", "headerModern.php" +define('HEADER_FILE', 'headerModern.php'); // Ändere diesen Wert, um die verschiedenen Template-Header-Dateien zu laden. / Change this value to load different template header files. + +// Konfigurationsoption für den Banker +// Banker configuration option +define('BANKER_UUID', '00000000-0000-0000-0000-000000000000'); // UUID des Bankers / UUID of the banker + +// Verifizierungsfunktionen +// Verification methods +define('VERIFICATION_METHOD', 'email'); // 'email' oder 'uuid' / 'email' or 'uuid' + +// Asset Bilder +// Asset images +define('ASSETPFAD', 'cache/'); // Pfad zum Asset-Cache / Path to the asset cache +define('ASSET_FEHLT', ASSETPFAD . '00000000-0000-0000-0000-000000000002'); // Standardbild für fehlende Assets / Default image for missing assets +define('GRID_PORT', ':8002'); // Port für Grid-Dienste / Port for grid services +define('GRID_ASSETS', ':8003/assets/'); // Pfad für Grid-Assets / Path for grid assets +define('GRID_ASSETS_SERVER', BASE_URL . GRID_ASSETS); // URL des Asset-Servers / URL of the asset server + +// Guide +define('GRIDLIST_FILE', 'include/gridlist.csv'); // Datei für die Grid-Liste / File for the grid list +define('GRIDLIST_VIEW', 'json'); // 'json', 'database' oder 'grid' / 'json', 'database', or 'grid' + +// Tagesmeldungen +// Daily updates +define('SHOW_DAILY_UPDATE', true); // Ein- oder ausschalten / Enable or disable +define('DAILY_UPDATE_TYPE', 'rss'); // 'text' oder 'rss' / 'text' or 'rss' +define('DAILYTEXT', 'Welcome to our OpenSimulator Grid! This is a sample daily message.'); // Tagesaktueller Text / Daily text +define('RSS_FEED_URL', BASE_URL . '/oswebinterface/include/rss-feed.php'); // URL des RSS-Feeds / URL of the RSS feed +define('FEED_CACHE_PATH', __DIR__.'/feed_cache.html'); // Cache-Dateipfad / Cache file path +define('FEED_CACHE_MAX_AGE', 3600); // Cache max. 60 Minuten alt / Cache max. 60 minutes old +define('CALENDAR_TITLE', 'Event Calendar'); // Titel des Event-Kalenders / Title of the event calendar + +// Media +define('MEDIA_SERVER', 'http://localhost:8500/stream'); // URL des Media-Servers / URL of the media server +define('MEDIA_SERVER_STATUS', 'http://localhost:8500/status-json.xsl'); // Status-URL des Media-Servers / Status URL of the media server + +// Passwörter (unbedingt austauschen!) +// Passwords (must be changed!) +// Für das Austauschen der Passwörter könnt ihr den paswd_generator.php benutzen, den ihr im Verzeichnis /include findet. +// To change the passwords, you can use paswd_generator.php located in the /include directory. +$registration_passwords_register = ["VpOM2bHFc6gdqUim", "zMemu5UJuro60nYJ", "cD3pc5JidIYMkTFT", "FBJpMfLHnVXNAncy", "1vyekSHvL3bYDNhT"]; +$registration_passwords_reset = ["eYUzmLO3lWDoEUZA", "ufFG8zJZvOuj6KzM", "tjwggl9ts3o6fCUs", "FYKn70uhJRFy6pum", "jEXqiYewLl6iPTCT"]; +$registration_passwords_partner = ["hBEMpDKEhEiBtMXx", "wtnpTrCSswBVbR9o", "Q9HUnk7BjIvKZ1qN", "YLta8TC4YivhYuMc", "RNhGZaJtCnwq26fs"]; +$registration_passwords_inventory = ["e46D3pp1bTV7qpBg", "VtsCH82rmtPix5AU", "VKY2kFV6qmrd0iHi", "VihXaKyikESI5rTK", "fGN9dUIszXdZJr3v"]; +$registration_passwords_datatable = ["yOu2IxJ8146dS0kY", "y3fycXPplGS6CjY5", "ycwRc0fr2QbZNPqc", "3pTz8Zk6qeYUf2VY", "G10LGqpqs0BjDdEO"]; +$registration_passwords_listinventar = ["IWhMSXFWxwM8Gw4b", "AbzWoKqSDLyKaQXV", "kBFFJTUs2CvVuHIM", "A9VuDk9rTdcSXwLg", "uhArUTWoVY9j5eXi"]; +$registration_passwords_picreader = ["sho8zTi2AXiane0s", "lC0ppkQN44Qxle8z", "yOCTqbHjJGuGSKdh", "efOOM4T8o3h5Vu4o", "snSOrbrvn9le3pG1"]; +$registration_passwords_mutelist = ["YOLrPXUQGPs4VtKC", "svBfxgcGePLmbKxf", "dGZQNZcDmYJXt593", "XTtuHEUtJH5rQzPQ", "crsSbntrL0gFBRwH"]; +$registration_passwords_avatarpicker = ["EugW3d9jU5EPlPqq", "H2sHVvuDf8AMYF6t", "XTTQ4689dMiu8afT", "SWogtvKIpR9Mxozy", "vateDhRqGjIlhyBw"]; +$registration_passwords_economy = ["5MvFSN7kbQ3ydFUl", "EvNywokrdO8NfaAc", "G47u0ppMSyOHEptB", "1cUgVgExxukp8zua", "YRNlhyr5OMObr2na"]; +$registration_passwords_events = ["LvRBVZOGY65deOpS", "FWVBcqNPKUecDK7b", "2JJzb1kv7aQQM9kp", "636pCKpPZSqvDYBP", "aqYicdJdnrnV4Vvw"]; + +// Farben der Webseite +// Website colors +$colorSchemes = array( + 'grayscale1' => array('header' => '#333333', 'footer' => '#333333', 'secondary' => '#666666', 'primary' => '#E0E0E0'), + 'grayscale2' => array('header' => '#4F4F4F', 'footer' => '#4F4F4F', 'secondary' => '#A0A0A0', 'primary' => '#FFFFFF'), + 'grayscale3' => array('header' => '#2B2B2B', 'footer' => '#2B2B2B', 'secondary' => '#858585', 'primary' => '#D9D9D9'), + 'emeraldDream' => array('header' => '#50C878', 'footer' => '#50C878', 'secondary' => '#98FB98', 'primary' => '#006400'), + 'coralReef' => array('header' => '#FF7F50', 'footer' => '#FF7F50', 'secondary' => '#FFD700', 'primary' => '#8B0000'), + 'purpleHaze' => array('header' => '#8A2BE2', 'footer' => '#8A2BE2', 'secondary' => '#DA70D6', 'primary' => '#4B0082'), + 'sunshineMeadow' => array('header' => '#FFD700', 'footer' => '#FFD700', 'secondary' => '#F0E68C', 'primary' => '#556B2F'), + 'autumnLeaves' => array('header' => '#FF4500', 'footer' => '#FF4500', 'secondary' => '#FFD700', 'primary' => '#8B4513'), + 'coolCyan' => array('header' => '#00CED1', 'footer' => '#00CED1', 'secondary' => '#E0FFFF', 'primary' => '#20B2AA'), + 'deepPurple' => array('header' => '#9400D3', 'footer' => '#9400D3', 'secondary' => '#9932CC', 'primary' => '#8B008B'), + 'warmAmber' => array('header' => '#FFBF00', 'footer' => '#FFBF00', 'secondary' => '#FFD700', 'primary' => '#FF8C00'), + 'gentlePink' => array('header' => '#FF69B4', 'footer' => '#FF69B4', 'secondary' => '#FFB6C1', 'primary' => '#FF1493'), + 'midnightTeal' => array('header' => '#008080', 'footer' => '#008080', 'secondary' => '#40E0D0', 'primary' => '#20B2AA'), + 'sunsetOrange' => array('header' => '#FF4500', 'footer' => '#FF4500', 'secondary' => '#FF6347', 'primary' => '#FF7F50'), + 'forestGreen' => array('header' => '#228B22', 'footer' => '#228B22', 'secondary' => '#32CD32', 'primary' => '#006400'), + 'icyBlue' => array('header' => '#00BFFF', 'footer' => '#00BFFF', 'secondary' => '#ADD8E6', 'primary' => '#1E90FF'), + 'rosyRed' => array('header' => '#FF6347', 'footer' => '#FF6347', 'secondary' => '#FF7F7F', 'primary' => '#FF4500'), + 'plumPurple' => array('header' => '#8B008B', 'footer' => '#8B008B', 'secondary' => '#DA70D6', 'primary' => '#9932CC'), + 'vibrantYellow' => array('header' => '#FFD700', 'footer' => '#FFD700', 'secondary' => '#FFFF00', 'primary' => '#FFA500'), + 'aquaMarine' => array('header' => '#7FFFD4', 'footer' => '#7FFFD4', 'secondary' => '#E0FFFF', 'primary' => '#40E0D0'), + 'burntSienna' => array('header' => '#E97451', 'footer' => '#E97451', 'secondary' => '#D2691E', 'primary' => '#CD5C5C'), + 'mintGreen' => array('header' => '#98FF98', 'footer' => '#98FF98', 'secondary' => '#ADFF2F', 'primary' => '#32CD32'), + 'sapphireBlue' => array('header' => '#0F52BA', 'footer' => '#0F52BA', 'secondary' => '#4682B4', 'primary' => '#1E90FF'), + 'coralPink' => array('header' => '#F88379', 'footer' => '#F88379', 'secondary' => '#FF7F50', 'primary' => '#FF6347'), + 'jadeGreen' => array('header' => '#00A36C', 'footer' => '#00A36C', 'secondary' => '#50C878', 'primary' => '#2E8B57'), + 'peachOrange' => array('header' => '#FFDAB9', 'footer' => '#FFDAB9', 'secondary' => '#FFE4B5', 'primary' => '#FFA07A'), + 'rubyRed' => array('header' => '#9B111E', 'footer' => '#9B111E', 'secondary' => '#FF6347', 'primary' => '#B22222'), + 'skyBlue' => array('header' => '#87CEEB', 'footer' => '#87CEEB', 'secondary' => '#B0E0E6', 'primary' => '#00BFFF'), + 'burntOrange' => array('header' => '#FF7F50', 'footer' => '#FF7F50', 'secondary' => '#FFA07A', 'primary' => '#FF4500'), + 'standardcolor' => array('header' => '#cdb38b', 'footer' => '#eecfa1', 'secondary' => '#f5f5dc', 'primary' => '#4F4F4F') +); + +// Farbschaltflächen anzeigen +define('SHOW_COLOR_BUTTONS', true); // Farbschaltflächen anzeigen (true/false) / Show color buttons (true/false) +define('INITIAL_COLOR_SCHEME', 'standardcolor'); // Farbschema auswählen / Select color scheme + +// Farben und Schriftart +// Colors and fonts +$currentColorScheme = $colorSchemes[INITIAL_COLOR_SCHEME]; +define('HEADER_COLOR', $currentColorScheme['header']); // Header-Farbe / Header color +define('FOOTER_COLOR', $currentColorScheme['footer']); // Footer-Farbe / Footer color +define('SECONDARY_COLOR', $currentColorScheme['secondary']); // Sekundärfarbe / Secondary color +define('PRIMARY_COLOR', $currentColorScheme['primary']); // Primäre Schriftfarbe / Primary text color + +define('FONT_FAMILY_STATS', 'Arial, Verdana, sans-serif'); // Schriftart für Statistiken / Font for statistics +define('FONT_FAMILY', 'Pacifico, normal, serif'); // Schriftart für die Webseite / Font for the website + +// Schriftgrößen +// Font sizes +define('BASE_FONT_SIZE', '26px'); // Standardgröße für Text / Default text size +define('TITLE_FONT_SIZE', '48px'); // Größe für Überschriften / Size for headings +define('STATS_FONT_SIZE', '14px'); // Größe für Statistik-Text / Size for statistics text + +// Links +define('LINK_COLOR', '#3A3A3A'); // Standard Link-Farbe / Default link color +define('LINK_HOVER_COLOR', 'red'); // Link-Farbe beim Hover / Link color on hover + +// Hintergrund- und Vordergrundbilder +// Background and foreground images +define('BACKGROUND_IMAGE', 'pics/transparent.png'); // Hintergrundbild / Background image +define('FOREGROUND_IMAGE', 'pics/transparent.png'); // Logo oder Vordergrundbild / Logo or foreground image +define('BACKGROUND_OPACITY', 1.0); // Transparenz des Hintergrunds / Background opacity +define('FOREGROUND_OPACITY', 1.0); // Transparenz des Logos / Logo opacity + +// Anzeigeoptionen +// Display options +define('LOGO_ON', 'OFF'); // Logo anzeigen: ON / OFF / Show logo: ON / OFF +define('TEXT_ON', 'ON'); // Begrüßungstext anzeigen: ON / OFF / Show welcome text: ON / OFF +define('LOGO_PATH', 'include/Metavers150.png'); // Pfad zum Logo / Path to the logo +define('LOGO_WIDTH', '50%'); // Logo-Breite / Logo width +define('LOGO_HEIGHT', '25%'); // Logo-Höhe / Logo height +define('GUIDE_DATA', 'DATA'); // DATA/JSON guide anzeigen / Show DATA/JSON guide + +// Begrüßungstext +// Welcome text +define('LOGO_FONT', 'Lobster'); // Schriftart des Logos / Font for the logo +define('PRIMARY_COLOR_LOGO', '#00FFFF'); // Allgemeine Schriftfarbe / General text color +define('WELCOME_TEXT', 'Welcome to ' . SITE_NAME . '
'); // Begrüßungstext / Welcome text +define('WELCOME_TEXT_WIDTH', '50%'); // Standardbreite / Default width +define('WELCOME_TEXT_HEIGHT', 'auto'); // Standardhöhe / Default height +define('WELCOME_TEXT_COLOR', PRIMARY_COLOR_LOGO); // Farbe des Textes / Text color +define('WELCOME_TEXT_ALIGN', 'left'); // Zentriert, links oder rechts / Centered, left, or right +define('WELCOME_TEXT_FONT_SIZE', '24px'); // Schriftgröße des Textes / Text font size + +// Bildanzeige-Einstellungen +// Image display settings +define('SLIDESHOW_FOLDER', './images'); // Verzeichnis für die Bilder / Directory for images +define('IMAGE_SIZE', 'width:100%;height:100%'); // Größe der Bilder / Size of images +define('SLIDESHOW_DELAY', 9000); // Zeit zwischen Bildern (in ms) / Time between images (in ms) + +// Einstellungen für Maptiles +// Settings for maptiles +define('FREI_COLOR', '#0088FF'); // Farbe für freie Koordinaten / Color for free coordinates +define('BESCHLAGT_COLOR', '#55C155'); // Farbe für SingleRegion / Color for SingleRegion +define('VARREGION_COLOR', '#006400'); // Farbe für VarRegion / Color for VarRegion +define('CENTER_COLOR', '#FF0000'); // Farbe für Zentrum / Color for center +define('TILE_SIZE', '25px'); // Größe der Farbfelder / Size of color fields + +// Zentrum des Grids +// Center of the grid +define('CONF_CENTER_COORD_X', 3000); // X-KOORDINATE DES ZENTRUMS / X coordinate of the center +define('CONF_CENTER_COORD_Y', 3000); // Y-KOORDINATE DES ZENTRUMS / Y coordinate of the center + +define('MAPS_X', 32); // Anzahl der Kacheln in X-Richtung / Number of tiles in X direction +define('MAPS_Y', 32); // Anzahl der Kacheln in Y-Richtung / Number of tiles in Y direction + +// MOTD-Einstellung: 'Dyn' für dynamisch, 'Static' für statisch +// MOTD setting: 'Dyn' for dynamic, 'Static' for static +define('MOTD', 'Dyn'); // Oder 'Static' / Or 'Static' + +// Statische MOTD (nur relevant, wenn MOTD auf 'Static' gesetzt ist) +// Static MOTD (only relevant if MOTD is set to 'Static') +define('MOTD_STATIC_MESSAGE', 'Welcome to our Grid! Please follow our rules.'); // Statische Nachricht / Static message +define('MOTD_STATIC_TYPE', 'system'); // Typ der Nachricht / Type of message +define('MOTD_STATIC_URL_TOS', BASE_URL . '/include/tos.php'); // URL zur TOS-Seite / URL to the TOS page +define('MOTD_STATIC_URL_DMCA', BASE_URL . '/include/dmca.php'); // URL zur DMCA-Seite / URL to the DMCA page + +// Definiere verschiedene RSS-Feed-URLs getrennt durch Komma. +// Define different RSS feed URLs separated by commas. +$feed_urls = [ + 'http://opensimulator.org/viewgit/?a=rss-log&p=opensim', // Standard-Feed / Default feed + 'https://www.hypergridbusiness.com/feed' +]; + +// Maximale Anzahl der Einträge pro Feed +// Maximum number of entries per feed +$max_entries = 50; +?> \ No newline at end of file diff --git a/include/createavatarfunc.php b/include/createavatarfunc.php new file mode 100644 index 0000000..c8b9e6b --- /dev/null +++ b/include/createavatarfunc.php @@ -0,0 +1,322 @@ +prepare("INSERT INTO UserAccounts (email, vorname, nachname) VALUES (:email, :vorname, :nachname)"); +$statement = $pdo->prepare("INSERT INTO UserAccounts (PrincipalID, ScopeID, FirstName, LastName, Email, ServiceURLs, Created, UserLevel, UserFlags, UserTitle, active) VALUES (:PrincipalID, :ScopeID, :FirstName, :LastName, :Email, :ServiceURLs, :Created, :UserLevel, :UserFlags, :UserTitle, :active)"); +$statement->execute($neuer_user); + + +// UUID, passwordHash, passwordSalt, webLoginKey, accountType +$neues_passwd = array(); +$neues_passwd['UUID'] = $benutzeruuid; +$neues_passwd['passwordHash'] = $osHash; +$neues_passwd['passwordSalt'] = $osSalt; +$neues_passwd['webLoginKey'] = '00000000-0000-0000-0000-000000000000'; +$neues_passwd['accountType'] = 'UserAccount'; + + +$statement = $pdo->prepare("INSERT INTO auth (UUID, passwordHash, passwordSalt, webLoginKey, accountType) VALUES (:UUID, :passwordHash, :passwordSalt, :webLoginKey, :accountType)"); +$statement->execute($neues_passwd); + +// Das nachfolgende eintragen in der GridUser Spalte +$neuer_GridUser = array(); +$neuer_GridUser['UserID'] = $benutzeruuid; +$neuer_GridUser['HomeRegionID'] = '00000000-0000-0000-0000-000000000000'; +$neuer_GridUser['HomePosition'] = '<0,0,0>'; +$neuer_GridUser['LastRegionID'] = '00000000-0000-0000-0000-000000000000'; +$neuer_GridUser['LastPosition'] = '<0,0,0>'; + + +$statement = $pdo->prepare("INSERT INTO GridUser (UserID, HomeRegionID, HomePosition, LastRegionID, LastPosition) VALUES (:UserID, :HomeRegionID, :HomePosition, :LastRegionID, :LastPosition)"); +$statement->execute($neuer_GridUser); + +// Inventarverzeichnisse erstellen + +// Ordner Textures +$Texturesuuid = generateUUID(); + +$verzeichnistextur = array(); +$verzeichnistextur['folderName'] = 'Textures'; +$verzeichnistextur['type'] = '0'; +$verzeichnistextur['version'] = '1'; +$verzeichnistextur['folderID'] = $Texturesuuid; +$verzeichnistextur['agentID'] = $benutzeruuid; +$verzeichnistextur['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnistextur); + +// Ordner Sounds +$Soundsuuid = generateUUID(); + +$verzeichnisSounds = array(); +$verzeichnisSounds['folderName'] = 'Sounds'; +$verzeichnisSounds['type'] = '1'; +$verzeichnisSounds['version'] = '1'; +$verzeichnisSounds['folderID'] = $Soundsuuid; +$verzeichnisSounds['agentID'] = $benutzeruuid; +$verzeichnisSounds['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisSounds); + +// Ordner Calling Cards +$CallingCardsuuid = generateUUID(); + +$verzeichnisCallingCards = array(); +$verzeichnisCallingCards['folderName'] = 'Calling Cards'; +$verzeichnisCallingCards['type'] = '2'; +$verzeichnisCallingCards['version'] = '2'; +$verzeichnisCallingCards['folderID'] = $CallingCardsuuid; +$verzeichnisCallingCards['agentID'] = $benutzeruuid; +$verzeichnisCallingCards['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisCallingCards); + +// Ordner Landmarks +$Landmarksuuid = generateUUID(); + +$verzeichnisLandmarks = array(); +$verzeichnisLandmarks['folderName'] = 'Landmarks'; +$verzeichnisLandmarks['type'] = '3'; +$verzeichnisLandmarks['version'] = '1'; +$verzeichnisLandmarks['folderID'] = $Landmarksuuid; +$verzeichnisLandmarks['agentID'] = $benutzeruuid; +$verzeichnisLandmarks['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisLandmarks); + +// Ordner My Inventory +$MyInventoryuuid = generateUUID(); + +$verzeichnisMyInventory = array(); +$verzeichnisMyInventory['folderName'] = 'My Inventory'; +$verzeichnisMyInventory['type'] = '8'; +$verzeichnisMyInventory['version'] = '17'; +$verzeichnisMyInventory['folderID'] = $neuHauptFolderID; +$verzeichnisMyInventory['agentID'] = $benutzeruuid; +$verzeichnisMyInventory['parentFolderID'] = '00000000-0000-0000-0000-000000000000'; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisMyInventory); + +// Ordner Photo Album +$PhotoAlbumuuid = generateUUID(); + +$verzeichnisPhotoAlbum = array(); +$verzeichnisPhotoAlbum['folderName'] = 'Photo Album'; +$verzeichnisPhotoAlbum['type'] = '15'; +$verzeichnisPhotoAlbum['version'] = '1'; +$verzeichnisPhotoAlbum['folderID'] = $PhotoAlbumuuid; +$verzeichnisPhotoAlbum['agentID'] = $benutzeruuid; +$verzeichnisPhotoAlbum['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisPhotoAlbum); + +// Ordner Clothing +$Clothinguuid = generateUUID(); + +$verzeichnisClothing = array(); +$verzeichnisClothing['folderName'] = 'Clothing'; +$verzeichnisClothing['type'] = '5'; +$verzeichnisClothing['version'] = '3'; +$verzeichnisClothing['folderID'] = $Clothinguuid; +$verzeichnisClothing['agentID'] = $benutzeruuid; +$verzeichnisClothing['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisClothing); + +// Ordner Objects +$Objectsuuid = generateUUID(); + +$verzeichnisObjects = array(); +$verzeichnisObjects['folderName'] = 'Objects'; +$verzeichnisObjects['type'] = '6'; +$verzeichnisObjects['version'] = '1'; +$verzeichnisObjects['folderID'] = $Objectsuuid; +$verzeichnisObjects['agentID'] = $benutzeruuid; +$verzeichnisObjects['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisObjects); + +// Ordner Notecards +$Notecardsuuid = generateUUID(); + +$verzeichnisNotecards = array(); +$verzeichnisNotecards['folderName'] = 'Notecards'; +$verzeichnisNotecards['type'] = '7'; +$verzeichnisNotecards['version'] = '1'; +$verzeichnisNotecards['folderID'] = $Notecardsuuid; +$verzeichnisNotecards['agentID'] = $benutzeruuid; +$verzeichnisNotecards['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisNotecards); + +// Ordner Scripts +$Scriptsuuid = generateUUID(); + +$verzeichnisScripts = array(); +$verzeichnisScripts['folderName'] = 'Scripts'; +$verzeichnisScripts['type'] = '10'; +$verzeichnisScripts['version'] = '1'; +$verzeichnisScripts['folderID'] = $Scriptsuuid; +$verzeichnisScripts['agentID'] = $benutzeruuid; +$verzeichnisScripts['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisScripts); + +// Ordner Body Parts +$BodyPartsuuid = generateUUID(); + +$verzeichnisBodyParts = array(); +$verzeichnisBodyParts['folderName'] = 'Body Parts'; +$verzeichnisBodyParts['type'] = '13'; +$verzeichnisBodyParts['version'] = '5'; +$verzeichnisBodyParts['folderID'] = $BodyPartsuuid; +$verzeichnisBodyParts['agentID'] = $benutzeruuid; +$verzeichnisBodyParts['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisBodyParts); + +// Ordner Trash +$Trashuuid = generateUUID(); + +$verzeichnisTrash = array(); +$verzeichnisTrash['folderName'] = 'Trash'; +$verzeichnisTrash['type'] = '14'; +$verzeichnisTrash['version'] = '1'; +$verzeichnisTrash['folderID'] = $Trashuuid; +$verzeichnisTrash['agentID'] = $benutzeruuid; +$verzeichnisTrash['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisTrash); + +// Ordner Lost And Found +$LostAndFounduuid = generateUUID(); + +$verzeichnisLostAndFound = array(); +$verzeichnisLostAndFound['folderName'] = 'Lost And Found'; +$verzeichnisLostAndFound['type'] = '16'; +$verzeichnisLostAndFound['version'] = '1'; +$verzeichnisLostAndFound['folderID'] = $LostAndFounduuid; +$verzeichnisLostAndFound['agentID'] = $benutzeruuid; +$verzeichnisLostAndFound['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisLostAndFound); + +// Ordner Animations +$Animationsuuid = generateUUID(); + +$verzeichnisAnimations = array(); +$verzeichnisAnimations['folderName'] = 'Animations'; +$verzeichnisAnimations['type'] = '20'; +$verzeichnisAnimations['version'] = '1'; +$verzeichnisAnimations['folderID'] = $Animationsuuid; +$verzeichnisAnimations['agentID'] = $benutzeruuid; +$verzeichnisAnimations['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisAnimations); + +// Ordner Gestures +$Gesturesuuid = generateUUID(); + +$verzeichnisGestures = array(); +$verzeichnisGestures['folderName'] = 'Gestures'; +$verzeichnisGestures['type'] = '21'; +$verzeichnisGestures['version'] = '1'; +$verzeichnisGestures['folderID'] = $Gesturesuuid; +$verzeichnisGestures['agentID'] = $benutzeruuid; +$verzeichnisGestures['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisGestures); + + +// Friends +$Friendsuuid = generateUUID(); + +$verzeichnisFriends = array(); +$verzeichnisFriends['folderName'] = 'Friends'; +$verzeichnisFriends['type'] = '2'; +$verzeichnisFriends['version'] = '2'; +$verzeichnisFriends['folderID'] = $Friendsuuid; +$verzeichnisFriends['agentID'] = $benutzeruuid; +$verzeichnisFriends['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisFriends); + +// Favorites +$Favoritesuuid = generateUUID(); + +$verzeichnisFavorites = array(); +$verzeichnisFavorites['folderName'] = 'Favorites'; +$verzeichnisFavorites['type'] = '23'; +$verzeichnisFavorites['version'] = '1'; +$verzeichnisFavorites['folderID'] = $Favoritesuuid; +$verzeichnisFavorites['agentID'] = $benutzeruuid; +$verzeichnisFavorites['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisFavorites); + +// Current Outfit +$CurrentOutfituuid = generateUUID(); + +$verzeichnisCurrentOutfit = array(); +$verzeichnisCurrentOutfit['folderName'] = 'Current Outfit'; +$verzeichnisCurrentOutfit['type'] = '46'; +$verzeichnisCurrentOutfit['version'] = '1'; +$verzeichnisCurrentOutfit['folderID'] = $CurrentOutfituuid; +$verzeichnisCurrentOutfit['agentID'] = $benutzeruuid; +$verzeichnisCurrentOutfit['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisCurrentOutfit); + +// All +$Alluuid = generateUUID(); + +$verzeichnisAll = array(); +$verzeichnisAll['folderName'] = 'All'; +$verzeichnisAll['type'] = '2'; +$verzeichnisAll['version'] = '1'; +$verzeichnisAll['folderID'] = $Alluuid; +$verzeichnisAll['agentID'] = $benutzeruuid; +$verzeichnisAll['parentFolderID'] = $neuHauptFolderID; + +$statement = $pdo->prepare("INSERT INTO inventoryfolders (folderName, type, version, folderID, agentID, parentFolderID) VALUES (:folderName, :type, :version, :folderID, :agentID, :parentFolderID)"); +$statement->execute($verzeichnisAll); +?> diff --git a/include/destinations.json b/include/destinations.json new file mode 100644 index 0000000..848de96 --- /dev/null +++ b/include/destinations.json @@ -0,0 +1,80 @@ +{ + "shopping": [ + { + "name": "Brogals Style & Fashion", + "url": "hop://brogals-paradies.de:8002/Brogals%20Style%20%26%20Fashion/49/96/22", + "image": "destinations/BrogalsStyleFashion.jpg" + }, + { + "name": "Zoes Mall", + "url": "hop://2.nymphgrid.com:8002/Zoes%20Mall%20Welcome/118/128/23", + "image": "destinations/ZoesMall.jpg" + }, + { + "name": "Lani Shopping Mall", + "url": "hop://hg.osgrid.org:80/Lani/213/144/35", + "image": "destinations/Lani.jpg" + }, + { + "name": "Moonrose Shopping", + "url": "hop://moonrose-grid.de:8002/Moonrose%20Shopping/10/147/29", + "image": "destinations/MoonroseShopping.jpg" + }, + { + "name": "Klamotto", + "url": "hop://otterland.de:8002/Klamotto/71/101/23", + "image": "destinations/Klamotto.jpg" + }, + { + "name": "FLORA", + "url": "hop://alternatemetaverse.com:8002/FLORA/100/137/24", + "image": "destinations/FLORA.jpg" + }, + { + "name": "Agora", + "url": "hop://hg.osgrid.org:80/Agora/429/389/24", + "image": "destinations/Agora.jpg" + }, + { + "name": "Sciatti Shop Clothes", + "url": "secondlifesciattisigrid.it8002SciattiShopClothes10512023", + "image": "destinations/SciattiShopClothes.jpg" + } + ], + "education": [ + { + "name": "Lbsa Plaza", + "url": "hop://hg.osgrid.org:80/Lbsa%20Plaza/170/132/41", + "image": "destinations/LbsaPlaza.jpg" + }, + { + "name": "Outworldz Virunga", + "url": "hop://www.outworldz.com:9000/Outworldz%20Virunga/128/128/23", + "image": "destinations/OutworldzVirunga.jpg" + } + ], + "art": [ + { + "name": "ArtDestiny", + "url": "hop://artdestiny.de:8002/ArtDestinyWelcome/147/153/25", + "image": "destinations/ArtDestiny.jpg" + } + ], + "event": [ + { + "name": "Tomis-World", + "url": "hop://tomis-world.de:8002/Tomis-World/113/106/23", + "image": "destinations/Tomis-World.jpg" + }, + { + "name": "Event Plaza", + "url": "hop://hg.osgrid.org:80/Event%20Plaza/373/381/25", + "image": "destinations/EventPlaza.jpg" + }, + { + "name": "Alternate Metaverse", + "url": "hop://alternatemetaverse.com:8002/Alternate%20Metaverse/304/329/64", + "image": "destinations/AlternateMetaverse.jpg" + } + ] +} diff --git a/include/dmca.php b/include/dmca.php new file mode 100644 index 0000000..035ca9b --- /dev/null +++ b/include/dmca.php @@ -0,0 +1,331 @@ + "Virtual " . SITE_NAME . " Grid", + "DATUM" => date("d.m.Y"), + "DEINE EMAIL" => "support@" . SITE_NAME . ".com", + "DEINE POSTADRESSE" => "Musterstraße 123, 12345 Musterstadt", + "OPTIONAL" => "Discord: GridSupport" . BASE_URL, + "DEINE KONTAKT-EMAIL" => "kontakt@" . SITE_NAME . ".com" +]; +?> + + + + + + $value) { + $text = str_replace("[$key]", $value, $text); + } + return $text; +} + +function simpleMarkdownToHTML($text) { + // Zeilenumbrüche umwandeln + $text = nl2br($text); + + // Fettdruck **text** -> text + $text = preg_replace('/\*\*(.*?)\*\*/', '$1', $text); + + // Kursiv *text* -> text + $text = preg_replace('/\*(.*?)\*/', '$1', $text); + + // Überschriften # ->text
+ $text = preg_replace('/`(.*?)`/', '$1', $text);
+
+ return $text;
+}
+
+// Deutsche DMCA-Richtlinie
+$dmcaTextDE = "
+# **DMCA-Richtlinie für [DEIN GRID-NAME]**
+**Letzte Aktualisierung:** [DATUM]
+
+Diese DMCA-Richtlinie beschreibt, wie **[DEIN GRID-NAME]** (nachfolgend „wir“, „uns“, „unser Grid“)
+auf Beschwerden bezüglich Urheberrechtsverletzungen gemäß dem **Digital Millennium Copyright Act (DMCA)** reagiert.
+
+Falls du glaubst, dass Inhalte innerhalb unseres OpenSimulator-Grids gegen dein Urheberrecht verstoßen,
+kannst du eine **DMCA-Beschwerde** einreichen, indem du die unten beschriebenen Schritte befolgst.
+
+---
+
+## **1. Einreichen einer DMCA-Beschwerde (Takedown-Anfrage)**
+Falls du der Meinung bist, dass deine urheberrechtlich geschützten Inhalte ohne Erlaubnis in **[DEIN GRID-NAME]** verwendet wurden,
+sende bitte eine schriftliche Beschwerde an unseren **DMCA-Agenten** unter:
+
+📩 **E-Mail:** [DEINE EMAIL]
+📬 **Postadresse:** [DEINE POSTADRESSE]
+📞 **Telefon:** [OPTIONAL]
+
+**Deine DMCA-Beschwerde muss folgende Informationen enthalten:**
+
+1. **Identifikation des geschützten Werkes:**
+ - Eine detaillierte Beschreibung des urheberrechtlich geschützten Werkes (z. B. ein Screenshot, Link oder Dokumentation).
+
+2. **Standort des rechtsverletzenden Inhalts:**
+ - Genaue Position des Inhalts in unserem Grid, inklusive:
+ - Name der Region
+ - Koordinaten (falls möglich)
+ - UUID oder Asset-ID des betroffenen Objekts
+ - Screenshot oder Beschreibung
+
+3. **Kontaktdaten:**
+ - Dein Name, Adresse, E-Mail-Adresse und Telefonnummer.
+
+4. **Erklärung zur Rechtsverletzung:**
+ - Eine Erklärung, dass du in **gutem Glauben** davon ausgehst, dass die Nutzung nicht vom Urheberrechtsinhaber,
+ seinem Vertreter oder dem Gesetz (z. B. Fair Use) erlaubt ist.
+
+5. **Eidesstattliche Versicherung:**
+ - Eine Erklärung, dass die Angaben in deiner Beschwerde korrekt sind und du der rechtmäßige Inhaber des Urheberrechts oder ein autorisierter Vertreter bist.
+
+6. **Digitale oder physische Unterschrift:**
+ - Eine elektronische oder handschriftliche Unterschrift des Urheberrechtsinhabers oder dessen bevollmächtigten Vertreters.
+
+---
+
+## **2. Unsere Reaktion auf eine DMCA-Beschwerde**
+Nach Erhalt einer gültigen DMCA-Anfrage werden wir:
+
+- Den mutmaßlich rechtsverletzenden Inhalt **vorläufig entfernen oder den Zugriff darauf sperren**.
+- Den Nutzer, der den Inhalt bereitgestellt hat, über die Beschwerde informieren.
+- Falls der betroffene Nutzer eine **Gegendarstellung** einreicht (siehe Abschnitt 3), den Urheberrechtsinhaber darüber informieren.
+
+Falls der Urheberrechtsinhaber innerhalb von **10 Werktagen** nach unserer Benachrichtigung keine rechtlichen Schritte einleitet,
+können wir den entfernten Inhalt wiederherstellen.
+
+---
+
+## **3. Einreichen einer Gegendarstellung (Counter-Notice)**
+Falls du der Meinung bist, dass der entfernte Inhalt nicht gegen Urheberrechte verstößt oder du eine Erlaubnis zur Nutzung hattest,
+kannst du eine **Gegendarstellung** einreichen.
+
+Bitte sende deine Gegendarstellung an **[DEINE EMAIL]** mit folgenden Angaben:
+
+1. **Identifikation des entfernten Inhalts:**
+ - Die ursprüngliche Position des Inhalts (Region, Koordinaten, UUID, Screenshots).
+
+2. **Erklärung zur Unrechtmäßigkeit der Beschwerde:**
+ - Eine Erklärung, dass du **in gutem Glauben** der Meinung bist, dass die Entfernung aufgrund eines Fehlers oder falscher Identifizierung erfolgte.
+
+3. **Zustimmung zur Gerichtsbarkeit:**
+ - Falls du außerhalb der USA lebst, eine Erklärung, dass du die Gerichtsbarkeit der US-amerikanischen Bundesgerichte akzeptierst.
+
+4. **Eidesstattliche Versicherung:**
+ - Eine Versicherung, dass deine Angaben korrekt sind und du für eventuelle rechtliche Konsequenzen verantwortlich bist.
+
+5. **Digitale oder physische Unterschrift:**
+ - Deine Unterschrift oder die deines bevollmächtigten Vertreters.
+
+Nach Erhalt einer gültigen Gegendarstellung kann der entfernte Inhalt innerhalb von **10–14 Tagen** wiederhergestellt werden,
+sofern der ursprüngliche Beschwerdeführer keine Klage einreicht.
+
+---
+
+## **4. Konsequenzen für wiederholte Verstöße**
+Nutzer, die wiederholt Urheberrechte verletzen, können:
+- **Verwarnt**,
+- **Vorübergehend gesperrt**,
+- Oder **dauerhaft aus dem Grid ausgeschlossen** werden.
+
+Wir behalten uns das Recht vor, Nutzerkonten ohne vorherige Warnung zu sperren, falls schwere Verstöße vorliegen.
+
+---
+
+## **5. Keine Haftung für Nutzerinhalte**
+Unser Grid stellt eine Plattform für virtuelle Interaktionen bereit und hostet nutzergenerierte Inhalte.
+Wir übernehmen keine Haftung für urheberrechtlich geschützte Materialien, die von Nutzern hochgeladen wurden.
+Alle Nutzer sind für ihre hochgeladenen Inhalte selbst verantwortlich.
+
+Wir arbeiten jedoch aktiv daran, **rechtsverletzende Inhalte zu entfernen**, sobald wir eine **gültige DMCA-Beschwerde** erhalten.
+
+---
+
+## **6. Kontakt für weitere Fragen**
+Falls du Fragen zur DMCA-Richtlinie hast, kannst du uns unter **[DEINE KONTAKT-EMAIL]** erreichen.
+
+---
+
+### **Rechtlicher Hinweis:**
+Diese Vorlage dient nur zu **Informationszwecken** und stellt **keine Rechtsberatung** dar.
+Falls du eine rechtlich geprüfte DMCA-Richtlinie benötigst, konsultiere bitte einen Anwalt.
+";
+
+// Englische DMCA-Richtlinie
+$dmcaTextEN = "
+# **DMCA Policy for [DEIN GRID-NAME]**
+**Last Updated:** [DATUM]
+
+This DMCA policy describes how **[DEIN GRID-NAME]** (hereinafter „we“, „us“, „our grid“)
+responds to complaints regarding copyright infringement under the **Digital Millennium Copyright Act (DMCA)**.
+
+If you believe that content within our OpenSimulator grid violates your copyright,
+you can file a **DMCA complaint** by following the steps below.
+
+---
+
+## **1. Submitting a DMCA Complaint (Takedown Request)**
+If you believe that your copyrighted material has been used without permission in **[DEIN GRID-NAME]**,
+please send a written complaint to our **DMCA Agent** at:
+
+📩 **Email:** [DEINE EMAIL]
+📬 **Postal Address:** [DEINE POSTADRESSE]
+📞 **Phone:** [OPTIONAL]
+
+**Your DMCA complaint must include the following information:**
+
+1. **Identification of the copyrighted work:**
+ - A detailed description of the copyrighted work (e.g., a screenshot, link, or documentation).
+
+2. **Location of the infringing content:**
+ - The exact location of the content in our grid, including:
+ - Region name
+ - Coordinates (if possible)
+ - UUID or asset ID of the affected object
+ - Screenshot or description
+
+3. **Contact information:**
+ - Your name, address, email address, and phone number.
+
+4. **Statement of infringement:**
+ - A statement that you have a **good faith belief** that the use is not authorized by the copyright owner,
+ their agent, or the law (e.g., fair use).
+
+5. **Sworn statement:**
+ - A statement that the information in your complaint is accurate and that you are the copyright owner or authorized to act on their behalf.
+
+6. **Digital or physical signature:**
+ - An electronic or handwritten signature of the copyright owner or their authorized representative.
+
+---
+
+## **2. Our Response to a DMCA Complaint**
+Upon receiving a valid DMCA complaint, we will:
+
+- **Temporarily remove or disable access** to the allegedly infringing content.
+- Notify the user who provided the content about the complaint.
+- If the affected user submits a **counter-notice** (see Section 3), inform the copyright owner.
+
+If the copyright owner does not take legal action within **10 business days** of our notification,
+we may restore the removed content.
+
+---
+
+## **3. Submitting a Counter-Notice**
+If you believe that the removed content does not infringe copyright or you had permission to use it,
+you can submit a **counter-notice**.
+
+Please send your counter-notice to **[DEINE EMAIL]** with the following information:
+
+1. **Identification of the removed content:**
+ - The original location of the content (region, coordinates, UUID, screenshots).
+
+2. **Statement of good faith:**
+ - A statement that you have a **good faith belief** that the removal was due to a mistake or misidentification.
+
+3. **Consent to jurisdiction:**
+ - If you are outside the USA, a statement that you consent to the jurisdiction of US federal courts.
+
+4. **Sworn statement:**
+ - A statement that the information in your counter-notice is accurate and that you are responsible for any legal consequences.
+
+5. **Digital or physical signature:**
+ - Your signature or that of your authorized representative.
+
+Upon receiving a valid counter-notice, the removed content may be restored within **10–14 days**,
+unless the original complainant files a lawsuit.
+
+---
+
+## **4. Consequences for Repeated Violations**
+Users who repeatedly infringe copyright may:
+- Be **warned**,
+- **Temporarily suspended**,
+- Or **permanently banned** from the grid.
+
+We reserve the right to suspend accounts without prior warning in cases of severe violations.
+
+---
+
+## **5. No Liability for User-Generated Content**
+Our grid provides a platform for virtual interactions and hosts user-generated content.
+We are not liable for copyrighted materials uploaded by users.
+All users are responsible for the content they upload.
+
+However, we actively work to **remove infringing content** upon receiving a **valid DMCA complaint**.
+
+---
+
+## **6. Contact for Further Questions**
+If you have questions about this DMCA policy, you can reach us at **[DEINE KONTAKT-EMAIL]**.
+
+---
+
+### **Legal Notice:**
+This template is for **informational purposes only** and does **not constitute legal advice**.
+If you need a legally reviewed DMCA policy, please consult an attorney.
+";
+
+// Wähle den Text basierend auf der Sprache
+$dmcaText = ($lang == 'de') ? $dmcaTextDE : $dmcaTextEN;
+
+// 1️⃣ Platzhalter ersetzen
+$dmcaText = replacePlaceholders($dmcaText, $variables);
+
+// 2️⃣ Markdown in HTML umwandeln
+$finalHTML = simpleMarkdownToHTML($dmcaText);
+
+// 3️⃣ HTML ausgeben
+echo "