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 @@ + +

⚠️ Configuration Required

+

The environment configuration file is missing!

+

Please follow these steps to complete the setup:

+
    +
  1. Copy include/env.example.php to include/env.php
  2. +
  3. Edit include/env.php with your database credentials
  4. +
  5. Copy include/config.example.php to include/config.php
  6. +
  7. Edit include/config.php to match your OpenSimulator setup
  8. +
+

Example 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" +]; +?> + +
+ Deutsch | English +
+ + + + $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 # ->

, ## ->

usw. + for ($i = 6; $i >= 1; $i--) { + $text = preg_replace('/^' . str_repeat('#', $i) . '\s*(.*?)$/m', "$1", $text); + } + + // Links [Text](URL) -> Text + $text = preg_replace('/\[(.*?)\]\((.*?)\)/', '$1', $text); + + // Inline-Code `text` -> 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 "
$finalHTML
"; +?> diff --git a/include/env.example.php b/include/env.example.php new file mode 100644 index 0000000..6c1f54c --- /dev/null +++ b/include/env.example.php @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/include/env.php b/include/env.php new file mode 100644 index 0000000..b050a49 --- /dev/null +++ b/include/env.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/include/favicon.ico b/include/favicon.ico new file mode 100644 index 0000000..8369340 Binary files /dev/null and b/include/favicon.ico differ diff --git a/include/footerModern.php b/include/footerModern.php new file mode 100644 index 0000000..b3bb494 --- /dev/null +++ b/include/footerModern.php @@ -0,0 +1,94 @@ + + + + + + + + + \ No newline at end of file diff --git a/include/gridlist.csv b/include/gridlist.csv new file mode 100644 index 0000000..005d117 --- /dev/null +++ b/include/gridlist.csv @@ -0,0 +1,293 @@ +Gridname,Gridlink.com:8002 +3D Worldz,www.3dWorldz.com:8002 +3DLES,edugrid.3dles.com:8002 +4Creative,pangea.myftp.org:8002 +A Dimension Beyond,grid.adimensionbeyond.net:8002 +A Virtual World,avirtualworld.org:8002 +Accueil Dracsoom,dracsoom.ddns.net:8002 +Admeja,admeja.bounceme.net:8002 +Adreans-World,adreans-world.from-fl.com:8000 +Adult Life,adult-life.de:8002 +Aedynar,aedynar.com:8002 +AI Grid,ai.let-us.cyou:8002 +AIRE Mille Flux,grid.aire-mille-flux.org:8002 +Alecia Grid,alecianagrid.com:8002 +Alexa World,alexaworld.de:8002 +Alife Virtual,alifevirtual.com:8002 +Alternate Metaverse,alternatemetaverse.com:8002 +Alterworld Grid,hg.alterworld.us:7002 +AmaziWorld,login.amaziworld.com:8002 +Angel Souls,angel-souls.de:8002 +Ankabi,ankabi.de:8002 +Ansjela Grid,hg.ansjelagrid.com:28002 +AnSky,login.anskygrid.ca:8002 +Arcadia Asylum,arcadiaasylum.org:8002 +Ardalia,ardiva.ddns.net:8002 +Ardiva,ardiva.ddns.net:8002 +Ares World,aresworld.outworldz.net:8002 +Argentoratum,cogito.no-ip.info:8002 +Argofantasy,argofantasy.com:8002 +Arielle’s Grid,bound2.ddns.net:8002 +ArtDestiny,artdestiny.de:8002 +Assassin Guard,assassinguard.opensim.fun:38002 +Astralia,astralia.eu:8002 +Atlantide,real-3d.zapto.org:8002 +Atlantis,209.126.208.163:9023 +Atlas Grid,atlasgrid.fr:8002 +Ausgrid,login.ausgridds.biz:8002 +Avacon,grid.avacon.org:8002 +AvatarLand,mikeland.ddns.net:8002 +AvatarLife,grid.avatarlife.com:8002 +Avie Realm,logon.avierealm.com:8002 +AviVerse AlterEgo,aviverse.it:8002 +AviWorlds,login.aviworlds.com:8002 +Baller Nation,login.ballernation.us:8002 +Barefoot Dreamers,login.barefoot-dreamers.com:8002 +Beta Technologies,opensim.betatechnologies.info:8002 +Blendioptera Grid,blendioptera2.outworldz.net:8002 +BloodMoon,bloodmoonpack.com:8002 +Bridgemere,bridgemere.outworldz.net:8002 +Bridger,bridger.outworldz.net:8002 +Caelum Alpha,caelumalpha.outworldz.net:8002 +Canadian Grid,canadiangrid.ca:8002 +CandM World,grid.candmworld.com:8002 +CandorsRPWorld,candorsrpworld.ch:8002 +Carima Welt,carima-welt.de:8002 +Casperia Prime,casperia.ddns.net:8002 +Cat Woman Rose,catwomanrose.de:8002 +CLC grid,clcgrid.com:8002 +Clone Fantasy,clonefantasy.ovh:8002 +Coffee Grid,coffeegrid.net:8002 +Concadia,gridconcadia.com:8002 +Conectados Grid,conectados.opensim.fun:8802 +Cooperation Creative,hg.cc-group.cc:8002 +Counter Earth,jand.dyndns.biz:7002 +Cozy Comforts Grid,grid.cozycomforts.net:8002 +Craft World,craft-world.org:8002 +CreaNovale Grid,login.creanovale.ca:8052 +Creo Mundos,grid.CreoMundos.com:8002 +Czech Welcome Centre,opensim.cz:9000 +Dajas Grid,Grid.Daja.at:8002 +Dark Heaven,Dark-Heaven.eu:8002 +Darkheart’s Playground,playground.darkheartsos.com:8002 +Decadence,decadence.ddns.net:8002 +Deep Playa,rajal.org:9000 +DigiWorldz,login.digiworldz.com:8002 +Discovery Grid,discoverygrid.net:8002 +Doghouse,doghouse.outworldz.net:8002 +Dorena’s World,dorenas-world.de:8002 +DowGrid,dowgridworld.com.br:8002 +Dragonz Kin Territories,grid.dragonzkinterritory.org:18002 +Dynamic Worldz,grid.dynamicworldz2.com:8822 +Dyvall,dyvall.de:8002 +E-LIVE Virtual World,world.eliveproject.eu:8002 +Edge of Reality Grid,theedgeofreality.ddns.net:8882 +EdMondo,slw.indire.it:8002 +EducaSim,grid.educasim.es:8002 +Endivatomic World,endivatomic.eu:8002 +Equinox Grid,equinoxgrid.com:8002 +Escape 2 Reality Grid,grid.escape2reality.org:8002 +EscapeLands,world.escapelands.com:8002 +Esfera Split,split.esferavirtual.com.br:8002 +Esfera Virtual,esferavirtual.com.br:8002 +Eureka World,grid1.eurekaworld.co.il:8002 +EVA Park,evapark.co.uk:8002 +Expanse,expanse.outworldz.net:8002 +Fae Farms,alanna.outworldz.net:8002 +Fearless Mysteries,www.fearlessmysteries.eu:8002 +Forgotten Worlds,213.200.254.17:18002 +France RP,francerpgrid.fr:8002 +Free Life,freelife.outworldz.net:8002 +Freedom Grid,freedomgrid.world:8002 +Fresh MetaVers,abc.outworldz.net:8002 +Freya’s Shadow World,213.200.254.17:12002 +Friends Grid,login.friends-grid.com:8002 +FuoriGrid,fuorigrid.opensim.online:8002 +Furry World,Furry-World.de:8002 +Gaming Friends,45.138.48.36:8002 +GBG World,gbg-world.com:8002 +Genesis Roleplay Grid,grid.genesis-roleplay.org:8002 +Gentle Fire Grid,gentlefire.opensim.fun:8002 +GerGrid,gergrid.de:8002 +Ghost Area,ghostarea.com:8002 +Goldor Grid,goldor.outworldz.net:8002 +Grid Nirvana,grid.gridnirvana.net:4002 +Grid Racers,GridRacers.com:8002 +GridExperience,hg.gridexperience.com:8002 +GridMania,gridmania.outworldz.net:8002 +Gridworld,gridworld.de:8002 +Groovy Verse,groovyverse.com:8002 +Hartland,hartland.ddns.net:8002 +Here Grid,here-grid.de:8002 +Herederos Grid,herederos.inworldz.net:8002 +HG Safari Grid,grid.hgsafari.org:58002 +Humble Grid,humble1.outworldz.net:9002 +Hypergrid City,login.hypergridcity.com:8002 +I Love You Grid,iloveyougrid.net:8002 +Icelady Grid,iceladygrid.de:8002 +Ignis Fatuus,ignis-fatuus.no-ip.biz:8002 +Immersion Tools,grid.suboceana.fr:8002 +Imperiya Grid,imperiya.sytes.net:8002 +Infinite Grid,grid.infinitegrid.org:8002 +Ipsofacto,ipsofacto.ddns.net:8002 +JamGrid,jamgrid.de:8002 +Japan Open Grid,jogrid.net:8002 +Jaytopia,jaytopia.outworldz.net:8002 +Joe’s Place,joesplace.outworldz.net:8002 +jOpenSimWorld,grid.jopensim.com:8002 +Jungle Friends Grid,junglefriends.opensim.fun:8002 +Kater and Friends,kater-and-friends.ddnss.de:8002 +Kinky Haven,kinkyhaven.com:8002 +Kishaki,kishaki.de:8002 +Kitely,grid.kitely.com:8002 +Kokomo World,grid.kokomoworld.de:8002 +KoolPheller Estates,koolpheller.ddns.net:8002 +Kurtopia,Kurtopia.ddns.net:8002 +Kyle Archipelago,kylearchipelago.com:8002 +La Grilla de Don Javi,donjavi.minigrid.xyz:8002 +Lady’s Dreamworld,ladysdreamworld.opensim.fun:8002 +Lagniappe Grid,hg.lagniappegrid.com:8402 +Lanf Of Bree,carlyspencer.ddns.net:9002 +Langalf’s Demesne,langalfs-demesne.ddns.net:8002 +LeBourg,lebourg.lcofrance.org:9000 +Life Grid,lifebr.ddns.net:8002 +Littlefield,lfgrid.com:8002 +LoboWorld,vharmonyarts.com:8016 +Logicamp,logicamp.org:8002 +Lonetree,centoria.ddns.net:9002 +Lost World,lostworld-os.com:8002 +MAGA Grid,magagrid.us:8002 +Magic Grid,magic-grid.de:8002 +Majickal Life,majickallife.com:8002 +Mare Grid,mare-grid.de:8002 +Maze of The Mind,maze.outworldz.net:8002 +Medieval Fantasy,medieval-fantasy.de:8002 +Metaverse Concept,login.metaverseconcept.com:8002 +Metaverse Dimensions,login.metaversedimensions.com:8002 +Midway,midway.outworldz.net:8002 +Migrating Coconuts,migratingcoconuts.net:8002 +MisFitz Grid,login.misfitzgrid.com:8002 +Mobius Grid,main.mobiusgrid.us +Monarch Gardens,monarchgardens.sanctuarygrid.net:8882 +Moonlighting Grid,moonlighting.ddns.net:8002 +Moonrose,moonrose-grid.de:8002 +Morada Grid,moradagrid.com:8002 +My Virtual Beach,grid.myvirtualbeach.com:8002 +My Virtual Community,my-virtualcommunity.com:8002 +Mysterious Grid 2,js-3d.dyndns-server.com:8100 +Nabila Grid,nabila-world.de:8002 +NakedWorldz,login.nakedworldz.com:8002 +Naras Nook,world.narasnook.com:8900 +Nemesis 3D,badsworld.com:8002 +Neverworld,hg.neverworldgrid.com:8002 +New Genres Grid,hg.ngrid.org:8002 +New Horizon,newhorizonworld.net:8002 +New Life Italy,newlifeitaly.com:8002 +NewWorld,newworld.no-ip.org:8002 +Next Reality,login.nextreality.uk:8002 +Nymphgrid 2 Shopping,2.nymphgrid.com:8002 +Oczko,grid.oczko.eu:9000 +Offworld,offworld.eu:8002 +Omnopolis,omnopolis.com:8002 +Open Mind Grid,open-mind-grid.de:8002 +Open Virtual Worlds,apollo.cs.st-andrews.ac.uk:8002 +OpenManniLand,openmanniland.de:8002 +OpenSim Fest,grid.opensimfest.com:8022 +OpenSim OCC,cc.opensimulator.org:8002 +OSgrid,login.osgrid.org +Otterland,otterland.de:8002 +Outworldz,www.outworldz.com:9000 +Pangea Grid,pangeagrid.de:8002 +Party Destination Grid,partydestinationgrid.com:8002 +Perfect Life,grid.perfect-life.ca:8002 +Phaandoria Grid,phaandoria.de:8002 +Phillip’s Grid,phillipsworld.outworldz.net:8002 +Planet 3L,planet3l.com:9100 +Planet Jikan,planetjikan.com:9000 +Port Anna,galwendor.ddns.net:8002 +Power Angels,power-angels.info:8002 +Rennoc World,rennocworld.outworldz.net:8002 +Reserected Worlds,reserectedworlds.ddns.net:9000 +Rocket World Grid,grid.rocketworld.top:8022 +Sciattisi Grid,sciattisigrid.it:8002 +Servex Grid,servex-grid.lffl.de:8002 +SFgrid,sfgrid.ddnss.org:8002 +Sharing Is Caring Family,sharingiscaring.family:8002 +Shasiyadynasty,shasiyadynasty.outworldz.net:8002 +Sheikah,sheikah.org:8002 +Shoalwater Bay,shoalwaterbay.com:8002 +SiLi,jadeseas.net:9000 +Simation Grid,grid.simation.net:8002 +Six Sides,grid.sixsides.net:8002 +Solaria,solaria.hopto.org:7002 +Soul Grid,soul-grid.de:8002 +South Grid,southgrid.ru:8002 +Sovaria Estates,connect.sovariaestates.world:8002 +SpaceGrid,spacegrid.online:6002 +Sparta II,traregan.outworldz.net:8002 +SpartaGrid,sparta.outworldz.net:8002 +Speculoos,speculoos.world:8002 +Stefanies World,stefaniesworld.de:8002 +Steg,steg.outworldz.net:9002 +SV3D,sv3d.fr:8002 +Sweet Life,sweetlife.myftp.org:8002 +Swiss Grid,swissgrid.opensim.ch:8002 +T-Grid,hg.viewtwo.net:8600 +Tag Grid,login.taggrid.online:8002 +Tanduria ,hg.tanduria.de:8002 +Technic World,technic-world.ddnss.de:8002 +TeCoLa,tecola.eu:8002 +Tedesco Sim’s,hajos-welt.de:8002 +Tenth Dimension,grid.tenthdimension.org:26002 +Terra Nova,terranova.outworldz.net:8002 +The Devil’s Grid,devilsgrid.jessithecat.eu:9000 +The E Grid,theegrid.outworldz.net:8002 +The Haven Grid,thehavengrid.outworldz.net:9002 +The Hub Grid,hg.thehubgrid.com:28002 +The Shirls Hypergrid,181.214.240.20:8002 +The Verse,theverse.ddns.net:8002 +Three Hills Grid,three.hills.grid.outworldz.net:8002 +Tlön,albinoni.nexus.it:8002 +Tomi’s World,tomis-world.de:8002 +Trianon World,hg.trianon-world.com:18002 +Tropical Isle,sailonbye.com:9000 +Twilight,twlght.com:8002 +Twiztid Timez Grid,hg.twiztidtimezgrid.com:8602 +UCI Mondego vLab,nile.ics.uci.edu:9000 +Utopia Skye,utopiaskyegrid.com:8002 +V.B. Creations,vbcreations.outworldz.net:8002 +Vela Dreams,vela-dream.ddnss.de:8002 +Vibel,grid.vibel.eu:8002 +Vida Dupla,vidadupla.com.br:8002 +Virlands,virlands.net:8002 +Virtual Business Grid,login.virtualbusinessgrid.com:8002 +Virtual Harmony,vharmonyarts.com:9000 +Virtual Islands,Virtual-Islands.de:8002 +Virtual Learning Village,virtuallearningvillage.org:8002 +Virtual Life Brasil,login.virtuallifebrasil.com.br:8002 +Virtual Marin,grid.virtualmarin.com:8002 +Virtual Vista Metaverse,virtualvistametaverse.com:8002 +Virtual World Solutions,vbcreations.outworldz.net:8002/wifi/user/account/ +Virtual Worlds Grid,vwc.selfip.net:8002 +Virtual Worlds Zone,grid.virtual-worlds.zone:8002 +Virtualife,grid.virtualife-grid.it:4577 +Virtualife,grid.virtualife-grid.it:4577 +Vivec,opensim.vivec.com:9000 +Vivo Sim,hg.vivosim.net:8002 +VR-ESC,vr-esc.com:8002 +WaterSplash,watersplash.inworldz.net:8002 +WestWorld Grid,westworldgrid.net:8002 +Whispering Willows,hg.whisperingwillows.net:8002 +WKD Bucket Grid,wkdbucket.minigrid.xyz:8822 +WKDVR,grid.wkdvr.com:8802 +Wolf Territories Grid,grid.wolfterritories.org:8002 +Wonder,wonder.outworldz.net:8002 +Wyldwood Bayou,wyldwoodbayou.com:8002 +Xenolandia,xenolandia.de:8002 +Xmir,grid.xmir.org:8002 +XTalent,209.126.208.161:9023 +Yippee Ki-Ay Blues Grid,yippee-ki-ay.com:9003 +ZetaWorlds,login.zetaworlds.com +Zirconia,zirconia.ddns.net:8002 +Zodiack,zodiack.net:8002 +Zone Nations,login.zonenations.com:8002 diff --git a/include/header.php b/include/header.php new file mode 100644 index 0000000..46696da --- /dev/null +++ b/include/header.php @@ -0,0 +1,16 @@ + diff --git a/include/headerBT5.php b/include/headerBT5.php new file mode 100644 index 0000000..2efad31 --- /dev/null +++ b/include/headerBT5.php @@ -0,0 +1,111 @@ + + + + + + + + <?php echo $title; ?> + + + + + + + +
+

Welcome to

+
+ +
+ +
+ + + diff --git a/include/headerBlanc.php b/include/headerBlanc.php new file mode 100644 index 0000000..3022ef6 --- /dev/null +++ b/include/headerBlanc.php @@ -0,0 +1,104 @@ + + + + + + + + + <?php echo $title; ?> + + + + + + + + + + \ No newline at end of file diff --git a/include/headerFoundation.php b/include/headerFoundation.php new file mode 100644 index 0000000..6d03a8a --- /dev/null +++ b/include/headerFoundation.php @@ -0,0 +1,113 @@ + + + + + + + + + <?php echo $title; ?> + + + + + +
+
+

Welcome to

+
+
+ + + + + + + diff --git a/include/headerMaterialize.php b/include/headerMaterialize.php new file mode 100644 index 0000000..d9d051e --- /dev/null +++ b/include/headerMaterialize.php @@ -0,0 +1,107 @@ + + + + + + + + + <?php echo $title; ?> + + + + + +
+

Welcome to

+
+ + + + + + diff --git a/include/headerModern.php b/include/headerModern.php new file mode 100644 index 0000000..ff5dca9 --- /dev/null +++ b/include/headerModern.php @@ -0,0 +1,372 @@ + + + + + + + + <?php echo isset($title) ? $title . ' - ' . SITE_NAME : SITE_NAME; ?> + + + + + + + + + + + + + + + + + + + + + + +
+
Themes
+ $colors): ?> +
+
+ +
+ + + +
+ + \ No newline at end of file diff --git a/include/headerPrimer.php b/include/headerPrimer.php new file mode 100644 index 0000000..cfb5827 --- /dev/null +++ b/include/headerPrimer.php @@ -0,0 +1,107 @@ + + + + + + + + + <?php echo $title; ?> + + + + + +
+

Welcome to

+
+ + +
+

© . Alle Rechte vorbehalten.

+
+ + diff --git a/include/headerST.php b/include/headerST.php new file mode 100644 index 0000000..6870d86 --- /dev/null +++ b/include/headerST.php @@ -0,0 +1,112 @@ + + + + + + + + + <?php echo $title; ?> + + + + +
+

Welcome to

+
+ +
+ +
+ + + +
+

© . Alle Rechte vorbehalten.

+
+ + \ No newline at end of file diff --git a/include/headerSpectre.php b/include/headerSpectre.php new file mode 100644 index 0000000..0bc68c8 --- /dev/null +++ b/include/headerSpectre.php @@ -0,0 +1,109 @@ + + + + + + + + + <?php echo $title; ?> + + + + + + + + +
+

© . Alle Rechte vorbehalten.

+
+ + diff --git a/include/headerTachyons.php b/include/headerTachyons.php new file mode 100644 index 0000000..0b04653 --- /dev/null +++ b/include/headerTachyons.php @@ -0,0 +1,107 @@ + + + + + + + + + <?php echo $title; ?> + + + + + +
+

Welcome to

+
+ + +
+

© . Alle Rechte vorbehalten.

+
+ + diff --git a/include/headerTailwind.php b/include/headerTailwind.php new file mode 100644 index 0000000..7c30614 --- /dev/null +++ b/include/headerTailwind.php @@ -0,0 +1,107 @@ + + + + + + + + + <?php echo $title; ?> + + + + + +
+

Welcome to

+
+ + +
+

© . Alle Rechte vorbehalten.

+
+ + diff --git a/include/headerTent.php b/include/headerTent.php new file mode 100644 index 0000000..a09309b --- /dev/null +++ b/include/headerTent.php @@ -0,0 +1,107 @@ + + + + + + + + + <?php echo $title; ?> + + + + + +
+

Welcome to

+
+ + +
+

© . Alle Rechte vorbehalten.

+
+ + diff --git a/include/headerW3.php b/include/headerW3.php new file mode 100644 index 0000000..33ed177 --- /dev/null +++ b/include/headerW3.php @@ -0,0 +1,104 @@ + + + + + + + + <?php echo $title; ?> + + + + + + +
+

Welcome to

+
+ +
+ +
+
+ © +
+ + diff --git a/include/image.php b/include/image.php new file mode 100644 index 0000000..3953148 --- /dev/null +++ b/include/image.php @@ -0,0 +1,37 @@ +readImageBlob($image_data); + + // Prüfen, ob es ein JP2-Bild ist und konvertiere es zu JPG + if ($imagick->getImageFormat() == 'JPEG2000') { + $imagick->setImageFormat('jpg'); // Konvertierung zu JPG + } + + // Bild an den Browser ausgeben + header('Content-Type: image/jpeg'); // JPG-MIME-Typ für JPG-Bilder + echo $imagick->getImageBlob(); +} catch (Exception $e) { + die('Fehler beim Konvertieren des Bildes: ' . $e->getMessage()); +} +?> diff --git a/include/index.html b/include/index.html new file mode 100644 index 0000000..249cf0a --- /dev/null +++ b/include/index.html @@ -0,0 +1,50 @@ + + + + + + 403 - Forbidden + + + +
+

403

+

Nicht öffentlicher Bereich.

+ Zurück zur Startseite +
+ + diff --git a/include/oswdestinations.json b/include/oswdestinations.json new file mode 100644 index 0000000..24b3507 --- /dev/null +++ b/include/oswdestinations.json @@ -0,0 +1,626 @@ +{ + "Top10": [ + { + "name": "Alternate Metaverse", + "url": "hop://alternatemetaverse.com:8002/Alternate%20Metaverse/342/357/64", + "image": "osw/Alternate_Metaverse.jpg" + }, + { + "name": "Infinity 11", + "url": "hop://grid.wolfterritories.org:8002/Infinity%2011/874/298/23", + "image": "osw/Infinity_11.jpg" + }, + { + "name": "SciattiShopClothes", + "url": "hop://sciattisigrid.it:8002/SciattiShopClothes/115/238/23", + "image": "osw/SciattiShopClothes.jpg" + }, + { + "name": "NakedWorldz Grid", + "url": "hop://enter.nakedworldzgrid.com:8002/NakedWorldz%20Grid/70/78/22", + "image": "osw/NakedWorldz_Grid.jpg" + }, + { + "name": "Serrallo de Mogor", + "url": "hop://alternatemetaverse.com:8002/Serrallo%20de%20Mogor/686/680/2005", + "image": "osw/Serrallo_de_Mogor.jpg" + }, + { + "name": "Trianon Complex", + "url": "hop://hg.trianon-world.com:18002/Trianon%20Complex/135/119/23", + "image": "osw/Trianon_Complex.jpg" + }, + { + "name": "OpenSim Worlds Fair", + "url": "hop://grid.wolfterritories.org:8002/OpenSim", + "image": "osw/OpenSim_Worlds_Fair.jpg" + }, + { + "name": "Ground_Zero", + "url": "hop://os-metavers.fresh-projects.top:8002/Ground_Zero_X2000Y2002/123/310/2142", + "image": "osw/Ground_Zero_X2000Y2002.jpg" + }, + { + "name": "Events Plaza", + "url": "hop://hg.sunlight-grid.com:80/Events%20Plaza/379/393/25", + "image": "osw/Events_Plaza.jpg" + }, + { + "name": "Hypergrid Games", + "url": "hop://grid.avatarlife.com:8002/Hypergrid%20Games/3/201/23", + "image": "osw/Hypergrid_Games.jpg" + } + ], + "Top20": [ + { + "name": "Shopping FUN", + "url": "hop://adult-life.de:8002/Shopping%20FUN/91/156/1613", + "image": "osw/Shopping_FUN.jpg" + }, + { + "name": "Shinobar Annex", + "url": "hop://jogrid.net:8002/Shinobar%20Annex/146/118/23", + "image": "osw/Shinobar_Annex.jpg" + }, + { + "name": "Skinny Dip Beach", + "url": "hop://alternatemetaverse.com:8002/Skinny%20Dip%20Beach/214/215/32", + "image": "osw/Skinny_Dip_Beach.jpg" + }, + { + "name": "Xenotown", + "url": "hop://xenolandia.de:8002/Xenotown/541/159/22", + "image": "osw/Xenotown.jpg" + }, + { + "name": "SciattiShopCenter", + "url": "hop://sciattisigrid.it:8002/SciattiShopCenter/150/92/23", + "image": "osw/SciattiShopCenter.jpg" + }, + { + "name": "Little Big City Shopping Mall", + "url": "hop://littlebigcity.outworldz.net:8002/Little%20Big%20City%20Shopping%20Mall/937/435/23", + "image": "osw/Little_Big_City_Shopping_Mall.jpg" + }, + { + "name": "Welcome", + "url": "hop://groovyverse.com:8002/Welcome/122/258/23", + "image": "osw/Welcome.jpg" + }, + { + "name": "Maze Grid Home", + "url": "hop://maze.bz:7002/Maze%20Grid%20Home/119/111/23", + "image": "osw/Maze_Grid_Home.jpg" + }, + { + "name": "China", + "url": "hop://xenolandia.de:8002/China/379/682/24", + "image": "osw/China.jpg" + }, + { + "name": "Tierra De Volcanes", + "url": "hop://alternatemetaverse.com:8002/Tierra", + "image": "osw/Tierra_De_Volcanes.jpg" + } + ], + "Top30": [ + { + "name": "Welcome", + "url": "hop://login.digiworldz.com:8002/Welcome/200/55/10", + "image": "osw/Welcome.jpg" + }, + { + "name": "we want sex club", + "url": "hop://5.189.174.147:6002/we%20want%20sex%20club/122/199/23", + "image": "osw/we_want_sex_club.jpg" + }, + { + "name": "Homestead Riverville 3", + "url": "hop://alternatemetaverse.com:8002/Homestead%20Riverville%203/73/100/27", + "image": "osw/Homestead_Riverville_3.jpg" + }, + { + "name": "ALBA SEX CLUB FNX", + "url": "hop://fenice.aduoni.net:8002/ALBA%20SEX%20CLUB%20FNX/661/821/23", + "image": "osw/ALBA_SEX_CLUB_FNX.jpg" + }, + { + "name": "Gentle Fire Grid", + "url": "hop://gentlefire.opensim.fun:8002/Radio%20DJ%20Club/128/128/10", + "image": "osw/Gentle_Fire_Grid.jpg" + }, + { + "name": "Welcome Area", + "url": "hop://gbg-world.com:8002/Welcome%20Area/136/136/23", + "image": "osw/Welcome_Area.jpg" + }, + { + "name": "Rock City", + "url": "hop://login.digiworldz.com:8002/Rock%20City/192/853/24", + "image": "osw/Rock_City.jpg" + }, + { + "name": "Manderley", + "url": "hop://login.digiworldz.com:8002/Manderley/322/220/41", + "image": "osw/Manderley.jpg" + }, + { + "name": "New Beginnings", + "url": "hop://alternatemetaverse.com:8002/New%20Beginnings/212/330/35", + "image": "osw/New_Beginnings.jpg" + }, + { + "name": "Infinity 11", + "url": "hop://grid.wolfterritories.org:8002//307/393/30", + "image": "osw/Infinity_11.jpg" + } + ], + "Top40": [ + { + "name": "Moonlight", + "url": "hop://moonrose-grid.de:8002/Moonlight/133/142/22", + "image": "osw/Moonlight.jpg" + }, + { + "name": "The Almost Islands", + "url": "hop://shipyardsgrid.com:8002/The%20Almost%20Islands/388/367/26", + "image": "osw/The_Almost_Islands.jpg" + }, + { + "name": "Breedables Market", + "url": "hop://grid.avatarlife.com:8002/Breedables%20Market/57/59/24", + "image": "osw/Breedables_Market.jpg" + }, + { + "name": "The Cedars", + "url": "hop://grid.wolfterritories.org:8002/The%20Cedars/506/541/23", + "image": "osw/The_Cedars.jpg" + }, + { + "name": "The Pier", + "url": "hop://gbg-world.com:8002/The%20Pier/183/178/23", + "image": "osw/The_Pier.jpg" + }, + { + "name": "VALERIA AVATAR", + "url": "hop://argoillusion.it:8002/VALERIA%20AVATAR/172/220/24", + "image": "osw/VALERIA_AVATAR.jpg" + }, + { + "name": "ShoppingDance", + "url": "hop://craft-world.org:8002/ShoppingDance/45/124/26", + "image": "osw/ShoppingDance.jpg" + }, + { + "name": "Denny's Hartland Shopping", + "url": "hop://hartland.ddns.net:8002/Denny%27s%20Hartland%20Shopping/53/115/24", + "image": "osw/Denny's_Hartland_Shopping.jpg" + }, + { + "name": "The Rendezvous", + "url": "hop://alternatemetaverse.com:8002/The%20Rendezvous/33/1249/24", + "image": "osw/The_Rendezvous.jpg" + }, + { + "name": "Sandbox", + "url": "hop://alternatemetaverse.com:8002/Sandbox/611/596/26", + "image": "osw/Sandbox.jpg" + } + ], + "Top50": [ + { + "name": "StarchildShoppe", + "url": "hop://sanctumastra.com:8002/StarchildShoppe/171/134/25", + "image": "osw/StarchildShoppe.jpg" + }, + { + "name": "HIE", + "url": "hop://grid.hgsafari.org:58002/HIE/129/121/23", + "image": "osw/HIE.jpg" + }, + { + "name": "Risa", + "url": "hop://hg.zetaworlds.com:80/Risa/1196/463/26", + "image": "osw/Risa.jpg" + }, + { + "name": "Ruritania", + "url": "hop://lfgrid.com:8002/Ruritania/375/318/28", + "image": "osw/Ruritania.jpg" + }, + { + "name": "Little Big City Kids", + "url": "hop://70.68.178.59:8002/Little%20Big%20City%202/533/183/21", + "image": "osw/Little_Big_City_Kids.jpg" + }, + { + "name": "Rio De Janeiro", + "url": "hop://firstlifebrasil3d.ddns.net:8002/Rio%20De%20Janeiro/141/137/102", + "image": "osw/Rio_De_Janeiro.jpg" + }, + { + "name": "Jungle Welcome", + "url": "hop://junglefriends.opensim.fun:8002/Jungle%20Welcome/150/121/30", + "image": "osw/Jungle_Welcome.jpg" + }, + { + "name": "Stark", + "url": "hop://hg.zetaworlds.com:80/Stark/139/117/37", + "image": "osw/Stark.jpg" + }, + { + "name": "Katies Kove", + "url": "hop://hg.neverworldgrid.com:8002/Katies%20Kove/163/163/31", + "image": "osw/Katies_Kove.jpg" + }, + { + "name": "Tosca", + "url": "hop://soul-grid.de:8002/Tosca/74/220/23", + "image": "osw/Tosca.jpg" + } + ], + "Top60": [ + { + "name": "Gaia", + "url": "hop://hg.sunlight-grid.com:80/Gaia/109/151/22", + "image": "osw/Gaia.jpg" + }, + { + "name": "Serendipity Isle", + "url": "hop://login.digiworldz.com:8002/Serendipity%20Isle/131/243/22", + "image": "osw/Serendipity_Isle.jpg" + }, + { + "name": "HeartMusic", + "url": "hop://hop:80/HeartMusic/194/107/24", + "image": "osw/HeartMusic.jpg" + }, + { + "name": "Dream Life Welcome", + "url": "hop://dreamlife.opensim.fun:58002/Dream%20Life%20Welcome/130/113/23", + "image": "osw/Dream_Life_Welcome.jpg" + }, + { + "name": "Dreamland Seas", + "url": "hop://ladysdreamworld.opensim.fun:8002/Dreamland%20Seas/1433/1414/28", + "image": "osw/Dreamland_Seas.jpg" + }, + { + "name": "Samsara", + "url": "hop://alternatemetaverse.com:8002/Samsara/295/182/28", + "image": "osw/Samsara.jpg" + }, + { + "name": "NW Welcome", + "url": "hop://hg.neverworldgrid.com:8002/NW%20Welcome/134/111/28", + "image": "osw/NW_Welcome.jpg" + }, + { + "name": "New Hope", + "url": "hop://login.newhopegrid.com:8002/New%20Hope/495/198/1023", + "image": "osw/New_Hope.jpg" + }, + { + "name": "Fabrica dos Sonhos", + "url": "hop://vidadupla.com.br:8002/Fabrica%20dos%20Sonhos/109/118/25", + "image": "osw/Fabrica_dos_Sonhos.jpg" + }, + { + "name": "Homestead Riverville", + "url": "hop://alternatemetaverse.com:8002/Homestead%20Riverville/74/101/28", + "image": "osw/Homestead_Riverville.jpg" + } + ], + "Top70": [ + { + "name": "NewLifeWelcome", + "url": "hop://newlifeitaly.com:8002/NewLifeWelcome/297/356/27", + "image": "osw/NewLifeWelcome.jpg" + }, + { + "name": "Ogunquit", + "url": "hop://groovyverse.com:8002/Ogunquit/164/501/24", + "image": "osw/Ogunquit.jpg" + }, + { + "name": "Bem Vindo", + "url": "hop://login3.virtualrbm.com.br:8002/Bem%20Vindo/126/199/25", + "image": "osw/Bem_Vindo.jpg" + }, + { + "name": "Moonlight Shadows", + "url": "hop://alternatemetaverse.com:8002/Moonlight%20Shadows/196/30/2392", + "image": "osw/Moonlight_Shadows.jpg" + }, + { + "name": "Mexico Lindo", + "url": "hop://lfgrid.com:8002/hop%3A%2F%2Flfgrid.com%3A8002%2Fmexico%2520lindo%2520shopping%2F129%2F128%2F28/197/176/2500", + "image": "osw/Mexico_Lindo.jpg" + }, + { + "name": "Lockets Dream", + "url": "hop://shasiyadynasty.outworldz.net:8002/Lockets%20Dream/56/48/22", + "image": "osw/Lockets_Dream.jpg" + }, + { + "name": "Nude Beach Playground", + "url": "hop://shasiyadynasty.outworldz.net:8002/Nude%20Beach%20Playground/872/1242/29", + "image": "osw/Nude_Beach_Playground.jpg" + }, + { + "name": "Kitely Welcome Center", + "url": "hop://grid.kitely.com:8002/Kitely%20Welcome%20Center/85/164/21", + "image": "osw/Kitely_Welcome_Center.jpg" + }, + { + "name": "Landing", + "url": "hop://dorenas-world.de:8002/Landing/149/128/23", + "image": "osw/Landing.jpg" + }, + { + "name": "Elysion", + "url": "hop://grid.vr-esc.com:8002/Elysion/917/434/24", + "image": "osw/Elysion.jpg" + } + ], + "Top80": [ + { + "name": "Littlefield Welcome", + "url": "hop://lfgrid.com:8002/Littlefield%20Welcome/118/141/23", + "image": "osw/Littlefield_Welcome.jpg" + }, + { + "name": "CARLITA FNX", + "url": "hop://fenice.aduoni.net:8002/CARLITA%20FNX/555/729/67", + "image": "osw/CARLITA_FNX.jpg" + }, + { + "name": "Mare Welcome", + "url": "hop://mare-grid.de:8002/Mare%20Welcome/121/122/23", + "image": "osw/Mare_Welcome.jpg" + }, + { + "name": "Pont Aeri", + "url": "hop://www.crytogame.me:8002/Pont%20Aeri/57/40/22", + "image": "osw/Pont_Aeri.jpg" + }, + { + "name": "Kingman City", + "url": "hop://grid.arkhamgrid.org:8002/Kingman%20City/123/207/23", + "image": "osw/Kingman_City.jpg" + }, + { + "name": "Nautilus Inclusive Keys", + "url": "hop://grid.wolfterritories.org:8002/Nautilus%20Inclusive%20Keys/333/254/23", + "image": "osw/Nautilus_Inclusive_Keys.jpg" + }, + { + "name": "The ValLands", + "url": "hop://hg.osgrid.org:80/ValLands/1180/815/52", + "image": "osw/The_ValLands.jpg" + }, + { + "name": "Freebie Store 2024", + "url": "hop://login.aviworlds.com:8002/Freebie%20Store%202024/137/48/36", + "image": "osw/Freebie_Store_2024.jpg" + }, + { + "name": "CCC Boutique", + "url": "hop://enter.nakedworldzgrid.com:8002/CCC%20Boutique/178/186/22", + "image": "osw/CCC_Boutique.jpg" + }, + { + "name": "Secret Fantasy World Portal", + "url": "hop://213.200.254.17:14002/Secret%20Fantasy%20World%20Portal/128/137/22", + "image": "osw/Secret_Fantasy_World_Portal.jpg" + } + ], + "Top90": [ + { + "name": "Carima", + "url": "hop://carima-welt.de:8002/Carima/16/52/33", + "image": "osw/Carima.jpg" + }, + { + "name": "Bare Island", + "url": "hop://alternatemetaverse.com:8002/Bare%20Island/276/285/24", + "image": "osw/Bare_Island.jpg" + }, + { + "name": "Nefertari Beach Resort", + "url": "hop://login.digiworldz.com:8002/Nefertari%20Beach%20Resort/239/376/23", + "image": "osw/Nefertari_Beach_Resort.jpg" + }, + { + "name": "Magical Fairies Pass", + "url": "hop://grid.wolfterritories.org:8002/Magical%20Fairies%20Pass/97/61/24", + "image": "osw/Magical_Fairies_Pass.jpg" + }, + { + "name": "L&M Shop", + "url": "hop://login3.virtualrbm.com.br:8002/L%26M%20Shop/130/140/5003", + "image": "osw/L&M_Shop.jpg" + }, + { + "name": "Meeting Point", + "url": "hop://fenice.aduoni.net:8002/Meeting%20Point/128/189/63", + "image": "osw/Meeting_Point.jpg" + }, + { + "name": "Unreal World Portal", + "url": "hop://yeali.outworldz.net:8002/Free", + "image": "osw/Unreal_World_Portal.jpg" + }, + { + "name": "NyAlfheim", + "url": "hop://grid.wolfterritories.org:8002/NyAlfheim/393/422/30", + "image": "osw/NyAlfheim.jpg" + }, + { + "name": "Graywolf landing", + "url": "hop://alternatemetaverse.com:8002/Graywolf%20landing/813/959/23", + "image": "osw/Graywolf_landing.jpg" + }, + { + "name": "Edge Harbor", + "url": "hop://grid.wolfterritories.org:8002/Edge%20Harbor/426/438/24", + "image": "osw/Edge_Harbor.jpg" + } + ], + "Top100": [ + { + "name": "Forgotten Worlds Portal", + "url": "hop://213.200.254.17:18002/Forgotten%20Worlds%20Portal/126/123/22", + "image": "osw/Forgotten_Worlds_Portal.jpg" + }, + { + "name": "Free Life Great Gatsby", + "url": "hop://freelife.outworldz.net:8002/Free%20Life%20Great%20Gatsby/126/126/23", + "image": "osw/Free_Life_Great_Gatsby.jpg" + }, + { + "name": "Digital City", + "url": "hop://virtual-islands.de:8002/Digital%20City/131/134/23", + "image": "osw/Digital_City.jpg" + }, + { + "name": "3DLES Education", + "url": "hop://edugrid.3dles.com:8002/3DLES%20Education/121/149/23", + "image": "osw/3DLES_Education.jpg" + }, + { + "name": "The Mall", + "url": "hop://gbg-world.com:8002/The%20Mall/199/182/24", + "image": "osw/The_Mall.jpg" + }, + { + "name": "Bountiful City", + "url": "hop://hg.neverworldgrid.com:8002/Bountiful%20City/129/136/51", + "image": "osw/Bountiful_City.jpg" + }, + { + "name": "VULCANO_STIRPE", + "url": "hop://bloodmoonpack.com:8002/VULCANO_STIRPE/306/302/69", + "image": "osw/VULCANO_STIRPE.jpg" + }, + { + "name": "Lush Isle", + "url": "hop://login.exoticrealities.com:8002/Lush", + "image": "osw/Lush_Isle.jpg" + }, + { + "name": "Soundbox", + "url": "hop://hg.soundboxmunich.com:8002/Soundbox/146/109/25", + "image": "osw/Soundbox.jpg" + }, + { + "name": "Moonrose Club", + "url": "hop://moonrose-grid.de:8002/Moonrose%20Club/98/140/24", + "image": "osw/Moonrose_Club.jpg" + } + ], + "Top110": [ + { + "name": "Store", + "url": "hop://gbg-world.com:8002/Store/77/98/24", + "image": "osw/Store.jpg" + }, + { + "name": "HQ Herederos", + "url": "hop://herederos.inworldz.net:8002/HQ%20Herederos/121/169/24", + "image": "osw/HQ_Herederos.jpg" + }, + { + "name": "Fashion Island", + "url": "hop://login.digiworldz.com:8002/Fashion%20Island/142/137/23", + "image": "osw/Fashion_Island.jpg" + }, + { + "name": "Cosplay Universe", + "url": "hop://login.digiworldz.com:8002/Cosplay%20Universe/256/242/23", + "image": "osw/Cosplay_Universe.jpg" + }, + { + "name": "Homestead Riverville 2", + "url": "hop://alternatemetaverse.com:8002/Homestead%20Riverville%202/74/103/28", + "image": "osw/Homestead_Riverville_2.jpg" + }, + { + "name": "Riderwood", + "url": "hop://gentlefire.opensim.fun:8002/Riderwood/143/177/32", + "image": "osw/Riderwood.jpg" + }, + { + "name": "ILLUSION", + "url": "hop://argoillusion.it:8002/ILLUSION/126/110/23", + "image": "osw/ILLUSION.jpg" + }, + { + "name": "Liverpool City", + "url": "hop://grid.wolfterritories.org:8002/Liverpool%20City/163/132/24", + "image": "osw/Liverpool_City.jpg" + }, + { + "name": "AVW Welcome", + "url": "hop://avirtualworld.org:8002/AVW%20Welcome/118/138/23", + "image": "osw/AVW_Welcome.jpg" + }, + { + "name": "Parx Paradise", + "url": "hop://alternatemetaverse.com:8002/Parx%20Paradise/101/246/24", + "image": "osw/Parx_Paradise.jpg" + }, + { + "name": "ModaPlaza", + "url": "hop://alternatemetaverse.com:8002/ModaPlaza/123/132/23", + "image": "osw/ModaPlaza.jpg" + } + ], + "Top120": [ + { + "name": "Island of Dreams", + "url": "hop://grid.virtualife-grid.it:4577/VIRTUALIFE/168/186/26", + "image": "osw/Island_of_Dreams.jpg" + }, + { + "name": "AviWorlds Welcome", + "url": "hop://login.aviworlds.com:8002/AviWorlds%20Welcome/126/123/26", + "image": "osw/AviWorlds_Welcome.jpg" + }, + { + "name": "GypsyCamp", + "url": "hop://pangeagrid.de:8002/GypsyCamp/319/385/23", + "image": "osw/GypsyCamp.jpg" + }, + { + "name": "Chubelz_Welcome", + "url": "hop://chubelz.de:8002/Chubelz_Welcome/88/138/29", + "image": "osw/Chubelz_Welcome.jpg" + }, + { + "name": "Barefoot Dreamers Mall", + "url": "hop://login.barefoot-dreamers.com:8002/Barefoot%20Dreamers%20Mall/259/618/23", + "image": "osw/Barefoot_Dreamers_Mall.jpg" + }, + { + "name": "FINDS Blank", + "url": "hop://hg.neverworldgrid.com:8002/FINDS%20Blank/56/76/83", + "image": "osw/FINDS_Blank.jpg" + }, + { + "name": "Vesti", + "url": "hop://hg.trianon-world.com:18002/Vesti/140/111/23", + "image": "osw/Vesti.jpg" + }, + { + "name": "Laredo", + "url": "hop://zodiack.net:8002/Laredo/123/157/24", + "image": "osw/Laredo.jpg" + }, + { + "name": "Westeros Medieval RP", + "url": "hop://grid.wolfterritories.org:8002/Westeros%20Medieval%20RP/131/136/23", + "image": "osw/Westeros_Medieval_RP.jpg" + } + ] +} \ No newline at end of file diff --git a/include/paswd_generator.php b/include/paswd_generator.php new file mode 100644 index 0000000..eb2a85e --- /dev/null +++ b/include/paswd_generator.php @@ -0,0 +1,63 @@ + + + + + + +
+

Generierte Passwörter

+
+
+    
+
+ + diff --git a/include/rss-feed.php b/include/rss-feed.php new file mode 100644 index 0000000..d94eb4b --- /dev/null +++ b/include/rss-feed.php @@ -0,0 +1,61 @@ += $currentDate) { + $nextEvent = $event; + break; + } +} + +// RSS-Feed beginnen +echo ''; +?> + + + <?php echo CALENDAR_TITLE; ?> + + RSS-Feed mit Kalenderereignissen + de-de + + + + + <?php + // Überprüfen, ob das 'title'-Feld existiert + if (isset($nextEvent['title'])) { + echo htmlspecialchars($nextEvent['title']); + } else { + echo htmlspecialchars($nextEvent['texts'][0]); + } + ?> + + + + + + + + + + + + + diff --git a/include/security.php b/include/security.php new file mode 100644 index 0000000..7524de8 --- /dev/null +++ b/include/security.php @@ -0,0 +1,359 @@ += $min && $len <= $max; + + default: + return true; + } + } + + /** + * Check if password meets requirements + */ + public static function validatePassword($password) { + $errors = []; + + if (strlen($password) < 8) { + $errors[] = 'Password must be at least 8 characters long'; + } + + if (!preg_match('/[A-Z]/', $password)) { + $errors[] = 'Password must contain at least one uppercase letter'; + } + + if (!preg_match('/[a-z]/', $password)) { + $errors[] = 'Password must contain at least one lowercase letter'; + } + + if (!preg_match('/[0-9]/', $password)) { + $errors[] = 'Password must contain at least one number'; + } + + return empty($errors) ? true : $errors; + } + + /** + * Rate limiting + */ + public static function checkRateLimit($identifier, $max_attempts = 5, $time_window = 300) { + if (session_status() === PHP_SESSION_NONE) { + session_start(); + } + + $key = 'rate_limit_' . md5($identifier); + $now = time(); + + if (!isset($_SESSION[$key])) { + $_SESSION[$key] = []; + } + + // Clean old attempts + $_SESSION[$key] = array_filter($_SESSION[$key], function($timestamp) use ($now, $time_window) { + return ($now - $timestamp) < $time_window; + }); + + if (count($_SESSION[$key]) >= $max_attempts) { + return false; + } + + $_SESSION[$key][] = $now; + return true; + } + + /** + * Secure session management + */ + public static function startSecureSession() { + if (session_status() === PHP_SESSION_NONE) { + // Secure session configuration + ini_set('session.cookie_httponly', 1); + ini_set('session.cookie_secure', isset($_SERVER['HTTPS'])); + ini_set('session.use_strict_mode', 1); + + session_start(); + + // Regenerate session ID on login + if (!isset($_SESSION['initiated'])) { + session_regenerate_id(true); + $_SESSION['initiated'] = true; + } + } + } +} + +class OSWebErrorHandler { + + /** + * Display user-friendly error message + */ + public static function displayError($message, $type = 'danger') { + $icon_map = [ + 'success' => 'check-circle', + 'info' => 'info-circle', + 'warning' => 'exclamation-triangle', + 'danger' => 'x-circle' + ]; + + $icon = $icon_map[$type] ?? 'info-circle'; + + return ''; + } + + /** + * Log error securely + */ + public static function logError($message, $context = []) { + $log_entry = [ + 'timestamp' => date('Y-m-d H:i:s'), + 'message' => $message, + 'context' => $context, + 'ip' => $_SERVER['REMOTE_ADDR'] ?? 'unknown', + 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'unknown' + ]; + + error_log('OSWeb Error: ' . json_encode($log_entry)); + } + + /** + * Handle database errors gracefully + */ + public static function handleDatabaseError($connection, $query = null) { + if ($connection && mysqli_errno($connection)) { + $error = mysqli_error($connection); + self::logError('Database Error', [ + 'error' => $error, + 'query' => $query, + 'errno' => mysqli_errno($connection) + ]); + + return self::displayError('A database error occurred. Please try again later.'); + } + + return null; + } + + /** + * Validate form with multiple fields + */ + public static function validateForm($data, $rules) { + $errors = []; + + foreach ($rules as $field => $field_rules) { + $value = $data[$field] ?? ''; + + foreach ($field_rules as $rule => $options) { + if (is_numeric($rule)) { + $rule = $options; + $options = []; + } + + if (!OSWebSecurity::validateInput($value, $rule, $options)) { + $field_name = ucfirst(str_replace('_', ' ', $field)); + + switch ($rule) { + case 'required': + $errors[$field] = $field_name . ' is required'; + break; + case 'email': + $errors[$field] = $field_name . ' must be a valid email address'; + break; + case 'int': + $errors[$field] = $field_name . ' must be a valid number'; + break; + case 'length': + $min = $options['min'] ?? 0; + $max = $options['max'] ?? 'unlimited'; + $errors[$field] = $field_name . " must be between {$min} and {$max} characters"; + break; + case 'uuid': + $errors[$field] = $field_name . ' must be a valid UUID'; + break; + case 'avatar_name': + $errors[$field] = $field_name . ' must be 2-31 characters, letters and numbers only'; + break; + default: + $errors[$field] = $field_name . ' is invalid'; + } + break; // Stop at first error for this field + } + } + } + + return $errors; + } +} + +class OSWebDatabase { + private $connection; + + public function __construct() { + try { + $this->connection = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); + + if ($this->connection->connect_error) { + throw new Exception("Connection failed: " . $this->connection->connect_error); + } + + $this->connection->set_charset("utf8"); + + } catch (Exception $e) { + OSWebErrorHandler::logError('Database connection failed', ['error' => $e->getMessage()]); + throw $e; + } + } + + public function prepare($query) { + $stmt = $this->connection->prepare($query); + if (!$stmt) { + OSWebErrorHandler::logError('Prepare failed', [ + 'query' => $query, + 'error' => $this->connection->error + ]); + throw new Exception("Prepare failed: " . $this->connection->error); + } + return $stmt; + } + + public function getConnection() { + return $this->connection; + } + + public function close() { + if ($this->connection) { + $this->connection->close(); + } + } + + public function __destruct() { + $this->close(); + } +} + +// Helper functions for backward compatibility +function sanitize_input($input, $type = 'string') { + return OSWebSecurity::sanitizeInput($input, $type); +} + +function display_error($message, $type = 'danger') { + return OSWebErrorHandler::displayError($message, $type); +} + +function validate_form($data, $rules) { + return OSWebErrorHandler::validateForm($data, $rules); +} + +function csrf_token_field() { + $token = OSWebSecurity::generateCSRFToken(); + return ''; +} + +function verify_csrf_token() { + $token = $_POST['csrf_token'] ?? ''; + return OSWebSecurity::verifyCSRFToken($token); +} +?> \ No newline at end of file diff --git a/include/tos.php b/include/tos.php new file mode 100644 index 0000000..ce29428 --- /dev/null +++ b/include/tos.php @@ -0,0 +1,322 @@ + "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 # ->

, ## ->

usw. + for ($i = 6; $i >= 1; $i--) { + $text = preg_replace('/^' . str_repeat('#', $i) . '\s*(.*?)$/m', "$1", $text); + } + + // Links [Text](URL) -> Text + $text = preg_replace('/\[(.*?)\]\((.*?)\)/', '$1', $text); + + // Inline-Code `text` -> text + $text = preg_replace('/`(.*?)`/', '$1', $text); + + return $text; +} + +// Deutsche TOS +$tosTextDE = " +# **Terms of Service für [DEIN GRID-NAME]** +**(Nutzungsbedingungen)** + +**Letzte Aktualisierung:** [DATUM] + +Willkommen bei **[DEIN GRID-NAME]**! Diese Nutzungsbedingungen regeln deine Nutzung unserer virtuellen Welt, +die auf OpenSimulator basiert. Durch die Registrierung und Nutzung unseres Dienstes stimmst du diesen Bedingungen zu. +Falls du nicht einverstanden bist, darfst du unser Grid nicht nutzen. + +--- + +## **1. Allgemeine Bestimmungen** +1.1 **Geltungsbereich:** Diese Bedingungen gelten für alle Nutzer unseres OpenSimulator-Grids, einschließlich Gäste und registrierte Benutzer. +1.2 **Änderungen:** Wir behalten uns das Recht vor, diese Bedingungen jederzeit zu ändern. Änderungen treten mit ihrer Veröffentlichung auf unserer Webseite in Kraft. +1.3 **Zustimmung:** Mit der Nutzung unseres Grids erklärst du dich mit den aktuellen Nutzungsbedingungen einverstanden. + +--- + +## **2. Benutzerkonten und Zugang** +2.1 **Registrierung:** +- Du musst mindestens **[ALTER, z. B. 16]** Jahre alt sein, um ein Konto zu erstellen. +- Die Angabe korrekter und vollständiger Informationen ist erforderlich. +- Pro Person ist nur ein Benutzerkonto erlaubt, es sei denn, wir gestatten ausdrücklich mehrere Konten. + +2.2 **Sicherheit deines Kontos:** +- Du bist für die Sicherheit deines Kontos und Passworts verantwortlich. +- Falls du einen unbefugten Zugriff auf dein Konto vermutest, informiere uns umgehend. + +2.3 **Konto-Sperrung & Löschung:** +- Wir behalten uns das Recht vor, dein Konto zu sperren oder zu löschen, wenn du gegen diese TOS verstößt. +- Inaktive Konten können nach **[z. B. 6 Monaten]** ohne Vorwarnung gelöscht werden. + +--- + +## **3. Virtuelle Inhalte und Wirtschaftssystem** +3.1 **Eigentum an Inhalten:** +- Inhalte, die du erstellst oder hochlädst, bleiben dein geistiges Eigentum. +- Du gewährst uns jedoch das Recht, deine Inhalte innerhalb des Grids zu nutzen, zu hosten und zu verwalten. + +3.2 **Urheberrechte und Lizenzierung:** +- Es ist verboten, urheberrechtlich geschützte Inhalte ohne Erlaubnis hochzuladen. +- Falls ein Nutzer Urheberrechte verletzt, behalten wir uns vor, den Inhalt zu entfernen und das Konto zu sperren. + +3.3 **Virtuelle Währung & Transaktionen:** +- Falls unser Grid eine virtuelle Währung verwendet (**z. B. Gloebits, Podex, OMC**), erkennst du an, dass diese keinen echten Geldwert hat. +- Wir übernehmen keine Verantwortung für Verluste oder technische Fehler im Zusammenhang mit virtuellen Währungen oder Transaktionen. + +--- + +## **4. Verhaltensregeln** +4.1 **Erlaubte und verbotene Inhalte:** +- Keine **Belästigung, Hassrede, rassistischen oder sexuell expliziten Inhalte**, die gegen geltendes Recht verstoßen. +- Kein **Spam, Betrug oder das Nachahmen anderer Nutzer/Admins**. +- Kein **Hacking, Griefing oder das Stören anderer Nutzer** durch Skripte, Exploits oder Angriffe. + +4.2 **Regionale und Parzellenregeln:** +- Eigentümer von Regionen/Parzellen dürfen eigene Regeln festlegen, solange sie nicht gegen diese TOS verstoßen. +- Admins behalten sich das Recht vor, störende Inhalte oder Regionen zu entfernen. + +--- + +## **5. Datenschutz und Datenspeicherung** +5.1 **Gespeicherte Daten:** +- Wir speichern deine Account-Informationen, IP-Adresse, Avatar-Daten und In-World-Interaktionen für administrative Zwecke. +- Persönliche Daten werden nicht an Dritte weitergegeben, es sei denn, es besteht eine gesetzliche Verpflichtung. + +5.2 **Nutzung von Drittanbietern:** +- Falls unser Grid externe Dienste wie **Hypergrid-Teleports, Gloebits oder PayPal** verwendet, gelten deren Datenschutzrichtlinien zusätzlich. +- Beim Verlassen unseres Grids über Hypergrid-Teleports können deine Daten von anderen Grids verarbeitet werden. + +--- + +## **6. DMCA-Richtlinie (Urheberrechtsschutz)** +Falls du glaubst, dass Inhalte in unserem Grid gegen dein Urheberrecht verstoßen, kannst du eine **DMCA-Beschwerde** einreichen: + +### **6.1 Wie du eine DMCA-Meldung einreichst:** +Sende eine schriftliche Beschwerde an **[DEINE KONTAKT-EMAIL]** mit folgenden Angaben: +1. Eine Beschreibung des geschützten Werkes, das verletzt wurde. +2. Die genaue Position des beanstandeten Inhalts (Region, Koordinaten, UUID, Screenshots). +3. Deine Kontaktdaten (Name, E-Mail, Adresse, Telefonnummer). +4. Eine Erklärung, dass du in gutem Glauben handelst und der Inhalt unrechtmäßig verwendet wird. +5. Eine eidesstattliche Versicherung, dass deine Angaben korrekt sind. + +### **6.2 Reaktion auf DMCA-Meldungen:** +- Wir werden überprüfte Verstöße entfernen. +- Falls du fälschlicherweise als Urheberrechtsverletzer gemeldet wurdest, kannst du eine Gegendarstellung einreichen. + +--- + +## **7. Haftungsausschluss und Beendigung des Dienstes** +7.1 **Haftungsausschluss:** +- Unser Grid wird wie besehen zur Verfügung gestellt. Wir garantieren keine **störungsfreie, fehlerfreie oder ununterbrochene Nutzung**. +- Wir haften nicht für **Datenverluste, Hacks oder technische Probleme**. + +7.2 **Beendigung des Dienstes:** +- Wir behalten uns das Recht vor, das Grid oder Teile davon jederzeit einzustellen. +- Bei einer Schließung gibt es keinen Anspruch auf Erstattung virtueller Guthaben oder Inhalte. + +--- + +## **8. Kontakt** +Falls du Fragen zu diesen Nutzungsbedingungen hast, kannst du uns unter **[DEINE KONTAKT-EMAIL]** erreichen. + +--- + +### **Akzeptanz der Nutzungsbedingungen** +Mit der Nutzung von **[DEIN GRID-NAME]** erklärst du dich mit diesen Nutzungsbedingungen einverstanden. Falls du nicht einverstanden bist, verlasse das Grid und lösche dein Konto. +"; + +// Englische TOS (kann später hinzugefügt werden) +$tosTextEN = " +# **Terms of Service for [DEIN GRID-NAME]** + +**Last Updated:** [DATUM] + +Welcome to **[DEIN GRID-NAME]**! These Terms of Service govern your use of our virtual world, +which is based on OpenSimulator. By registering and using our service, you agree to these terms. +If you do not agree, you may not use our grid. + +--- + +## **1. General Provisions** +1.1 **Scope:** These terms apply to all users of our OpenSimulator grid, including guests and registered users. +1.2 **Changes:** We reserve the right to change these terms at any time. Changes take effect upon publication on our website. +1.3 **Consent:** By using our grid, you agree to the current terms of service. + +--- + +## **2. User Accounts and Access** +2.1 **Registration:** +- You must be at least **[AGE, e.g., 16]** years old to create an account. +- Providing accurate and complete information is required. +- Only one account per person is allowed unless we explicitly permit multiple accounts. + +2.2 **Account Security:** +- You are responsible for the security of your account and password. +- If you suspect unauthorized access to your account, notify us immediately. + +2.3 **Account Suspension & Deletion:** +- We reserve the right to suspend or delete your account if you violate these TOS. +- Inactive accounts may be deleted after **[e.g., 6 months]** without prior notice. + +--- + +## **3. Virtual Content and Economy** +3.1 **Ownership of Content:** +- Content you create or upload remains your intellectual property. +- However, you grant us the right to use, host, and manage your content within the grid. + +3.2 **Copyright and Licensing:** +- Uploading copyrighted content without permission is prohibited. +- If a user violates copyright, we reserve the right to remove the content and suspend the account. + +3.3 **Virtual Currency & Transactions:** +- If our grid uses a virtual currency (**e.g., Gloebits, Podex, OMC**), you acknowledge that it has no real monetary value. +- We are not responsible for losses or technical issues related to virtual currencies or transactions. + +--- + +## **4. Code of Conduct** +4.1 **Allowed and Prohibited Content:** +- No **harassment, hate speech, racist, or sexually explicit content** that violates applicable law. +- No **spam, fraud, or impersonation of other users/admins**. +- No **hacking, griefing, or disrupting other users** through scripts, exploits, or attacks. + +4.2 **Regional and Parcel Rules:** +- Region/parcel owners may set their own rules as long as they do not violate these TOS. +- Admins reserve the right to remove disruptive content or regions. + +--- + +## **5. Privacy and Data Storage** +5.1 **Stored Data:** +- We store your account information, IP address, avatar data, and in-world interactions for administrative purposes. +- Personal data will not be shared with third parties unless required by law. + +5.2 **Use of Third Parties:** +- If our grid uses external services like **Hypergrid teleports, Gloebits, or PayPal**, their privacy policies apply additionally. +- When leaving our grid via Hypergrid teleports, your data may be processed by other grids. + +--- + +## **6. DMCA Policy (Copyright Protection)** +If you believe that content on our grid violates your copyright, you can file a **DMCA complaint**: + +### **6.1 How to Submit a DMCA Notice:** +Send a written complaint to **[DEINE KONTAKT-EMAIL]** with the following information: +1. A description of the copyrighted work that has been infringed. +2. The exact location of the infringing content (region, coordinates, UUID, screenshots). +3. Your contact details (name, email, address, phone number). +4. A statement that you are acting in good faith and that the content is being used unlawfully. +5. A sworn statement that your information is accurate. + +### **6.2 Response to DMCA Notices:** +- We will remove verified violations. +- If you have been falsely accused of copyright infringement, you can submit a counter-notice. + +--- + +## **7. Disclaimer and Termination of Service** +7.1 **Disclaimer:** +- Our grid is provided as-is. We do not guarantee **uninterrupted, error-free, or continuous use**. +- We are not liable for **data loss, hacks, or technical issues**. + +7.2 **Termination of Service:** +- We reserve the right to terminate the grid or parts of it at any time. +- In the event of closure, there is no entitlement to refunds of virtual balances or content. + +--- + +## **8. Contact** +If you have questions about these terms of service, you can reach us at **[DEINE KONTAKT-EMAIL]**. + +--- + +### **Acceptance of Terms** +By using **[DEIN GRID-NAME]**, you agree to these terms of service. If you do not agree, leave the grid and delete your account. +"; + +// Wähle den Text basierend auf der Sprache +$tosText = ($lang == 'de') ? $tosTextDE : $tosTextEN; + +// 1️⃣ Platzhalter ersetzen +$tosText = replacePlaceholders($tosText, $variables); + +// 2️⃣ Markdown in HTML umwandeln +$finalHTML = simpleMarkdownToHTML($tosText); + +// 3️⃣ HTML ausgeben +echo "
$finalHTML
"; +?> diff --git a/include/verification_functions.php b/include/verification_functions.php new file mode 100644 index 0000000..40d76e4 --- /dev/null +++ b/include/verification_functions.php @@ -0,0 +1,31 @@ +