From 580800d19c5d24b15acf6d0c0a9df97ef5da0cdb Mon Sep 17 00:00:00 2001 From: Lokutos <j.kuder@swissnwx.ch> Date: Wed, 16 Mar 2016 23:28:57 +0100 Subject: [PATCH] Add VMSone Files --- Anleitung.txt | 12 + Nutzungsbedingungen.pdf | Bin 0 -> 8319 bytes adminforce/content/bilanzsystem.php | 28 ++ adminforce/content/error/kein_zutritt.php | 14 + adminforce/content/error/keine_seite.php | 13 + adminforce/content/interfacebanner/admin.php | 33 ++ .../content/interfacebanner/blacklist.php | 35 +++ .../content/interfacebanner/dsn-ads.php | 34 +++ adminforce/content/interfacebanner/fucoex.php | 35 +++ .../content/interfacebanner/hp-lose.php | 35 +++ .../content/interfacebanner/lose-ads.php | 35 +++ .../content/interfacebanner/losebox.php | 35 +++ .../content/interfacebanner/losewerbung.php | 35 +++ .../content/interfacebanner/webmasterlose.php | 35 +++ .../content/interfacedaten/betreiber.php | 55 ++++ adminforce/content/interfacedaten/crons.php | 33 ++ adminforce/content/interfacedaten/dsn-ads.php | 62 ++++ adminforce/content/interfacedaten/fucoex.php | 49 +++ adminforce/content/interfacedaten/hp-lose.php | 46 +++ .../content/interfacedaten/lose-ads.php | 46 +++ adminforce/content/interfacedaten/losebox.php | 46 +++ .../content/interfacedaten/losewerbung.php | 80 +++++ .../content/interfacedaten/pageconfig.php | 78 +++++ .../content/interfacedaten/webmasterlose.php | 50 +++ adminforce/content/module.php | 42 +++ adminforce/content/newssystem/news.php | 81 +++++ adminforce/content/ralleysystem/aktiv.php | 255 ++++++++++++++++ adminforce/content/ralleysystem/klick.php | 288 ++++++++++++++++++ adminforce/content/ralleysystem/ref.php | 271 ++++++++++++++++ adminforce/content/startseite.php | 30 ++ adminforce/content/texte/agb.php | 29 ++ adminforce/content/texte/aktivralley.php | 29 ++ .../content/texte/alternativwerbung.php | 100 ++++++ adminforce/content/texte/faq.php | 29 ++ adminforce/content/texte/klickralley.php | 29 ++ adminforce/content/texte/refralley.php | 29 ++ adminforce/content/texte/wartung.php | 29 ++ adminforce/content/usersystem/buchungen.php | 27 ++ adminforce/content/usersystem/doppelaccis.php | 83 +++++ adminforce/content/usersystem/liste.php | 42 +++ .../content/usersystem/userbearbeiten.php | 263 ++++++++++++++++ .../content/werbesystem/forcedbanner_468.php | 82 +++++ adminforce/content/werbesystem/paidmail.php | 100 ++++++ .../content/werbesystem/paidmail_hist.php | 43 +++ adminforce/css/main.css | 78 +++++ adminforce/images/Thumbs.db | Bin 0 -> 5632 bytes adminforce/images/gelb.gif | Bin 0 -> 147 bytes adminforce/images/gruen.gif | Bin 0 -> 149 bytes adminforce/images/rot.gif | Bin 0 -> 147 bytes adminforce/index.php | 52 ++++ adminforce/lib/footer.php | 10 + adminforce/lib/header.php | 99 ++++++ adminforce/lib/layout.lib.php | 36 +++ adminforce/lib/menue_links.php | 33 ++ adminforce/lib/menue_rechts.php | 25 ++ adminforce/moduladmin.php | 43 +++ content/error/kein_ref.php | 6 + content/error/kein_zutritt.php | 12 + content/error/keine_seite.php | 12 + content/error/user_gesperrt.php | 7 + content/intern/agbs.php | 14 + content/intern/aktivieren.php | 43 +++ content/intern/anmelden.php | 188 ++++++++++++ content/intern/daten.php | 42 +++ content/intern/faqs.php | 14 + content/intern/impressum.php | 15 + content/intern/mediadaten.php | 102 +++++++ content/intern/startseite.php | 42 +++ content/intern/werbemittel.php | 39 +++ content/konto/auszahlen.php | 79 +++++ content/konto/buchungen.php | 34 +++ content/konto/einzahlen.php | 71 +++++ content/konto/refdetails.php | 107 +++++++ content/konto/refuebersicht.php | 159 ++++++++++ content/konto/uebersicht.php | 65 ++++ content/konto/userprofil.php | 193 ++++++++++++ content/module.php | 135 ++++++++ content/nickpage.php | 15 + content/ralleys/aktiv.php | 63 ++++ content/ralleys/klick.php | 71 +++++ content/ralleys/ref.php | 59 ++++ content/verdienen/betteln.php | 54 ++++ content/verdienen/betteln4.php | 39 +++ content/verdienen/klick4.php | 22 ++ content/verdienen/paidmails.php | 34 +++ cron.php | 30 ++ crons/dsn-ads.int.php | 55 ++++ crons/fuco-ads.int.php | 129 ++++++++ crons/fucoex.int.php | 50 +++ crons/hp-lose.int.php | 50 +++ crons/lose-ads.int.php | 53 ++++ crons/losebox.int.php | 53 ++++ crons/losewerbung.int.php | 47 +++ crons/refzahlungen.knt.php | 58 ++++ crons/webmasterlose.int.php | 53 ++++ css/bframe.css | 34 +++ css/main.css | 119 ++++++++ fc.php | 27 ++ images/Thumbs.db | Bin 0 -> 9216 bytes images/banner/2.gif | Bin 0 -> 36704 bytes images/banner/3.gif | Bin 0 -> 33000 bytes images/banner/Thumbs.db | Bin 0 -> 10240 bytes images/gelb.gif | Bin 0 -> 147 bytes images/gruen.gif | Bin 0 -> 149 bytes images/header.gif | Bin 0 -> 29232 bytes images/header.jpg | Bin 0 -> 52892 bytes images/pfeil.gif | Bin 0 -> 254 bytes images/rand.gif | Bin 0 -> 475 bytes images/rot.gif | Bin 0 -> 147 bytes index.php | 11 + lib/extras.init.php | 11 + lib/extras.lib.php | 97 ++++++ lib/footer.php | 16 + lib/functions.lib.php | 182 +++++++++++ lib/header.php | 75 +++++ lib/layout.lib.php | 53 ++++ lib/menue_links.php | 73 +++++ lib/menue_rechts.php | 31 ++ lib/module.lib.php | 54 ++++ lib/schnittstellen/ebesucher.php | 125 ++++++++ lib/schnittstellen/funcoins.php | 114 +++++++ lib/schnittstellen/klamm.php | 138 +++++++++ lib/schnittstellen/nickey.php | 95 ++++++ lib/session.lib.php | 121 ++++++++ lib/texte/agb.txt | 1 + lib/texte/aktivralley.txt | 7 + lib/texte/alt_bettelseitenpopup.txt | 1 + lib/texte/alt_headerbanner.txt | 1 + lib/texte/alt_startseitenpopup.txt | 1 + lib/texte/bettelwerbung.txt | 1 + lib/texte/box1.txt | 1 + lib/texte/box2.txt | 1 + lib/texte/faq.txt | 1 + lib/texte/klickralley.txt | 0 lib/texte/refralley.txt | 1 + lib/texte/startwerbung.txt | 4 + lib/texte/wartung.txt | 1 + lib/weristonline.php | 21 ++ module/testmodul/admin.php | 16 + module/testmodul/files/mysql.sql | 1 + module/testmodul/icon.png | Bin 0 -> 2162 bytes module/testmodul/module.php | 19 ++ module/testmodul/pref.ini | 20 ++ pcheck.php | 71 +++++ pclick.php | 24 ++ topframe_forced.php | 87 ++++++ vms.sql | 269 ++++++++++++++++ wartung.php | 42 +++ 148 files changed, 7462 insertions(+) create mode 100644 Anleitung.txt create mode 100644 Nutzungsbedingungen.pdf create mode 100644 adminforce/content/bilanzsystem.php create mode 100644 adminforce/content/error/kein_zutritt.php create mode 100644 adminforce/content/error/keine_seite.php create mode 100644 adminforce/content/interfacebanner/admin.php create mode 100644 adminforce/content/interfacebanner/blacklist.php create mode 100644 adminforce/content/interfacebanner/dsn-ads.php create mode 100644 adminforce/content/interfacebanner/fucoex.php create mode 100644 adminforce/content/interfacebanner/hp-lose.php create mode 100644 adminforce/content/interfacebanner/lose-ads.php create mode 100644 adminforce/content/interfacebanner/losebox.php create mode 100644 adminforce/content/interfacebanner/losewerbung.php create mode 100644 adminforce/content/interfacebanner/webmasterlose.php create mode 100644 adminforce/content/interfacedaten/betreiber.php create mode 100644 adminforce/content/interfacedaten/crons.php create mode 100644 adminforce/content/interfacedaten/dsn-ads.php create mode 100644 adminforce/content/interfacedaten/fucoex.php create mode 100644 adminforce/content/interfacedaten/hp-lose.php create mode 100644 adminforce/content/interfacedaten/lose-ads.php create mode 100644 adminforce/content/interfacedaten/losebox.php create mode 100644 adminforce/content/interfacedaten/losewerbung.php create mode 100644 adminforce/content/interfacedaten/pageconfig.php create mode 100644 adminforce/content/interfacedaten/webmasterlose.php create mode 100644 adminforce/content/module.php create mode 100644 adminforce/content/newssystem/news.php create mode 100644 adminforce/content/ralleysystem/aktiv.php create mode 100644 adminforce/content/ralleysystem/klick.php create mode 100644 adminforce/content/ralleysystem/ref.php create mode 100644 adminforce/content/startseite.php create mode 100644 adminforce/content/texte/agb.php create mode 100644 adminforce/content/texte/aktivralley.php create mode 100644 adminforce/content/texte/alternativwerbung.php create mode 100644 adminforce/content/texte/faq.php create mode 100644 adminforce/content/texte/klickralley.php create mode 100644 adminforce/content/texte/refralley.php create mode 100644 adminforce/content/texte/wartung.php create mode 100644 adminforce/content/usersystem/buchungen.php create mode 100644 adminforce/content/usersystem/doppelaccis.php create mode 100644 adminforce/content/usersystem/liste.php create mode 100644 adminforce/content/usersystem/userbearbeiten.php create mode 100644 adminforce/content/werbesystem/forcedbanner_468.php create mode 100644 adminforce/content/werbesystem/paidmail.php create mode 100644 adminforce/content/werbesystem/paidmail_hist.php create mode 100644 adminforce/css/main.css create mode 100644 adminforce/images/Thumbs.db create mode 100644 adminforce/images/gelb.gif create mode 100644 adminforce/images/gruen.gif create mode 100644 adminforce/images/rot.gif create mode 100644 adminforce/index.php create mode 100644 adminforce/lib/footer.php create mode 100644 adminforce/lib/header.php create mode 100644 adminforce/lib/layout.lib.php create mode 100644 adminforce/lib/menue_links.php create mode 100644 adminforce/lib/menue_rechts.php create mode 100644 adminforce/moduladmin.php create mode 100644 content/error/kein_ref.php create mode 100644 content/error/kein_zutritt.php create mode 100644 content/error/keine_seite.php create mode 100644 content/error/user_gesperrt.php create mode 100644 content/intern/agbs.php create mode 100644 content/intern/aktivieren.php create mode 100644 content/intern/anmelden.php create mode 100644 content/intern/daten.php create mode 100644 content/intern/faqs.php create mode 100644 content/intern/impressum.php create mode 100644 content/intern/mediadaten.php create mode 100644 content/intern/startseite.php create mode 100644 content/intern/werbemittel.php create mode 100644 content/konto/auszahlen.php create mode 100644 content/konto/buchungen.php create mode 100644 content/konto/einzahlen.php create mode 100644 content/konto/refdetails.php create mode 100644 content/konto/refuebersicht.php create mode 100644 content/konto/uebersicht.php create mode 100644 content/konto/userprofil.php create mode 100644 content/module.php create mode 100644 content/nickpage.php create mode 100644 content/ralleys/aktiv.php create mode 100644 content/ralleys/klick.php create mode 100644 content/ralleys/ref.php create mode 100644 content/verdienen/betteln.php create mode 100644 content/verdienen/betteln4.php create mode 100644 content/verdienen/klick4.php create mode 100644 content/verdienen/paidmails.php create mode 100644 cron.php create mode 100644 crons/dsn-ads.int.php create mode 100644 crons/fuco-ads.int.php create mode 100644 crons/fucoex.int.php create mode 100644 crons/hp-lose.int.php create mode 100644 crons/lose-ads.int.php create mode 100644 crons/losebox.int.php create mode 100644 crons/losewerbung.int.php create mode 100644 crons/refzahlungen.knt.php create mode 100644 crons/webmasterlose.int.php create mode 100644 css/bframe.css create mode 100644 css/main.css create mode 100644 fc.php create mode 100644 images/Thumbs.db create mode 100644 images/banner/2.gif create mode 100644 images/banner/3.gif create mode 100644 images/banner/Thumbs.db create mode 100644 images/gelb.gif create mode 100644 images/gruen.gif create mode 100644 images/header.gif create mode 100644 images/header.jpg create mode 100644 images/pfeil.gif create mode 100644 images/rand.gif create mode 100644 images/rot.gif create mode 100644 index.php create mode 100644 lib/extras.init.php create mode 100644 lib/extras.lib.php create mode 100644 lib/footer.php create mode 100644 lib/functions.lib.php create mode 100644 lib/header.php create mode 100644 lib/layout.lib.php create mode 100644 lib/menue_links.php create mode 100644 lib/menue_rechts.php create mode 100644 lib/module.lib.php create mode 100644 lib/schnittstellen/ebesucher.php create mode 100644 lib/schnittstellen/funcoins.php create mode 100644 lib/schnittstellen/klamm.php create mode 100644 lib/schnittstellen/nickey.php create mode 100644 lib/session.lib.php create mode 100644 lib/texte/agb.txt create mode 100644 lib/texte/aktivralley.txt create mode 100644 lib/texte/alt_bettelseitenpopup.txt create mode 100644 lib/texte/alt_headerbanner.txt create mode 100644 lib/texte/alt_startseitenpopup.txt create mode 100644 lib/texte/bettelwerbung.txt create mode 100644 lib/texte/box1.txt create mode 100644 lib/texte/box2.txt create mode 100644 lib/texte/faq.txt create mode 100644 lib/texte/klickralley.txt create mode 100644 lib/texte/refralley.txt create mode 100644 lib/texte/startwerbung.txt create mode 100644 lib/texte/wartung.txt create mode 100644 lib/weristonline.php create mode 100644 module/testmodul/admin.php create mode 100644 module/testmodul/files/mysql.sql create mode 100644 module/testmodul/icon.png create mode 100644 module/testmodul/module.php create mode 100644 module/testmodul/pref.ini create mode 100644 pcheck.php create mode 100644 pclick.php create mode 100644 topframe_forced.php create mode 100644 vms.sql create mode 100644 wartung.php diff --git a/Anleitung.txt b/Anleitung.txt new file mode 100644 index 0000000..d9f5202 --- /dev/null +++ b/Anleitung.txt @@ -0,0 +1,12 @@ +1) Alle Dateien aus dem Ordner files hochladen +2) vms.sql in phpMyAdmin importieren +3) Datei lib/functions.lib.php anpassen neben allen Variablen die angepasst werden müssen ist eine Beschreibung +4) www.ihre-domain.de/adminforce/ öffnen, Passwort und Username einfach leer lassen und auf Login klicken, dann unter + » Seiteneinstell. + alle Einstellungen vornehmen das gleiche unter + » Betreiberdaten + + + +Weitere Fragen zur Einrichtung oder zum Betrieb des VMS bitte im Forum http://www.designerscripte.net stellen, +eine Ausführliche Dokumentation ist in Arbeit. \ No newline at end of file diff --git a/Nutzungsbedingungen.pdf b/Nutzungsbedingungen.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2334e3ed3dc96184221c41e9bc8608b5e2a9f65e GIT binary patch literal 8319 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 literal 0 HcmV?d00001 diff --git a/adminforce/content/bilanzsystem.php b/adminforce/content/bilanzsystem.php new file mode 100644 index 0000000..2f53010 --- /dev/null +++ b/adminforce/content/bilanzsystem.php @@ -0,0 +1,28 @@ +<? +head("Bilanzsystem");?> +Hier eine übersicht über die Einnahmen und Ausgaben der Seite +<?foot();?> + +<?head("Letzten 14 Tage");?> +<table border="0" width="100%"> +<tr> + <td align="center">Datum</td> + <td align="center">Einnahmen</td> + <td align="center">Ausgaben</td> + <td align="center">Bilanz</td> +</tr> +<? +$sql = db_query("SELECT ein,aus,date FROM ".$db_prefix."_bilanz ORDER BY date DESC"); +while ($bilanz = mysql_fetch_assoc($sql)){ + echo ' + <tr> + <td align="center">'.date("d.m.Y",$bilanz['date']).'</td> + <td align="center">'.$bilanz['ein'].'</td> + <td align="center">'.$bilanz['aus'].'</td> + <td align="center">'.round($bilanz['ein']-$bilanz['aus'],2).' + </tr> + '; +} +?> +</table> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/error/kein_zutritt.php b/adminforce/content/error/kein_zutritt.php new file mode 100644 index 0000000..a954a35 --- /dev/null +++ b/adminforce/content/error/kein_zutritt.php @@ -0,0 +1,14 @@ +<?head("Zutritt verweigert");?> +Der Zutritt zu diesem Bereich wurde Dir verweigert!<br> +Bevor Du dich an den Support wendest, prüfe bitte erst die unten aufgezählten Möglichkeiten +um so unnötige Supportanfragen zu vermeiden!<br> +<br> +<b>Mögliche Gründe</b><br> +<ul> +<li>Du bist nicht eingeloggt (bitte erst einloggen)</li> +<li>Die Kontonummer/Passwortkombination stimmt nicht (Loginfehler)</li> +<li>Du hast deinen Account noch nicht freigeschaltet (bitte Email prüfen)</li> +<li>Die Session ist abgelaufen (verwende doch den Autologin)</li> +</ul> +<?foot();?> + diff --git a/adminforce/content/error/keine_seite.php b/adminforce/content/error/keine_seite.php new file mode 100644 index 0000000..1f35823 --- /dev/null +++ b/adminforce/content/error/keine_seite.php @@ -0,0 +1,13 @@ +<?head("Seite nicht gefunden");?> +Die von Dir angeforderte Seite ist nicht erreichbar.<br> +Bitte wähle aus dem Menü einen gültigen Link, sollte weiterhin das Problem bestehen informiere +bitte den Webmaster darüber.<br> +<br> +<b>Mögliche Gründe</b><br> +<ul> +<li>Die Seite wurde aus Wartungsgründen entfernt</li> +<li>Ein Link im Menü wurde falsch gesetzt</li> +<li>Du hast eine falsche oder ungültige URL erhalten (extern)</li> +</ul> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/admin.php b/adminforce/content/interfacebanner/admin.php new file mode 100644 index 0000000..84c5a0b --- /dev/null +++ b/adminforce/content/interfacebanner/admin.php @@ -0,0 +1,33 @@ +<?head("Admin ForcedBanner");?> +<? +if (!isset($_GET['tan'])) $_GET['tan'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['tan']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE tan='".$_GET['tan']."' and sponsor='administrator' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='administrator' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' + +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>TAN:</b> '.$anzeigen['tan'].'</td> + <td align="center" width="50%"><b>Vergütung:</b> '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="left" colspan="2"><br><b>Ziel:</b> <a href="'.$anzeigen['ziel'].'">'.$anzeigen['ziel'].'</a> <br><b>Banner:</b> <a href="'.$anzeigen['banner'].'">'.$anzeigen['banner'].'</a><br><br></td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>Reload:</b> '. $anzeigen['reload']/3600 .'h <b>Rest:</b> '.number_format($anzeigen['menge'],0,",",".").' Klicks</td> + <td align="center" width="50%"><a href="?content=/interfacebanner/admin&loeschen=true&tan='.$anzeigen['tan'].'" target="_self">Löschen</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + + diff --git a/adminforce/content/interfacebanner/blacklist.php b/adminforce/content/interfacebanner/blacklist.php new file mode 100644 index 0000000..8482503 --- /dev/null +++ b/adminforce/content/interfacebanner/blacklist.php @@ -0,0 +1,35 @@ +<?head("ForcedBanner Blacklist");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and status = '2' and sponsor='".$_GET['sponsor']."' LIMIT 1"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1' WHERE kid='".$_GET['kid']."' and sponsor='".$_GET['sponsor']."' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE werbeart = 'forcedbanner' and status = '2' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> +<td align="center" width="50%">TAN: '.$anzeigen['tan'].'<br>KID: '.$anzeigen['kid'].' ('.$anzeigen['sponsor'].')</td> +<td align="center" width="50%">Bet: '.number_format($anzeigen['preis'],2,",",".").' / User: '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="center" colspan="2"><a href="'.$anzeigen['ziel'].'" target="_blank"><img alt="Sponsorenbanner" src="'.$anzeigen['banner'].'" border="0" width="468" height="60"></a></td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="center" width="50%">Reload: '. $anzeigen['reload']/3600 .' Std. / Rest: '.number_format($anzeigen['menge'],0,",",".").'</td> +<td align="center" width="50%"><a href="?content=/interfacebanner/blacklist&sponsor='.$anzeigen['sponsor'].'&loeschen=true&kid='.$anzeigen['kid'].'" target="_self">Löschen</a> <a href="?content=/interfacebanner/blacklist&sponsor='.$anzeigen['sponsor'].'&blacklist=true&kid='.$anzeigen['kid'].'" target="_self">Löschen-Blacklist</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/dsn-ads.php b/adminforce/content/interfacebanner/dsn-ads.php new file mode 100644 index 0000000..1d01d2d --- /dev/null +++ b/adminforce/content/interfacebanner/dsn-ads.php @@ -0,0 +1,34 @@ +<?head("DSN-Ads ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='dsn-ads'"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='dsn-ads'"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='dsn-ads' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> +<td align="center" width="50%">TAN: '.$anzeigen['tan'].' / KID: '.$anzeigen['kid'].'</td> +<td align="center" width="50%">Bet: '.number_format($anzeigen['preis'],2,",",".").' / User: '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="center" colspan="2"><a href="'.$anzeigen['ziel'].'" target="_blank"><img src="'.$anzeigen['banner'].'" border="0" width="468" height="60"></a></td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="center" width="50%">Reload: '. $anzeigen['reload']/3600 .' Std. / Rest: '.number_format($anzeigen['menge'],0,",",".").'</td> +<td align="center" width="50%"><a href="?content=/interfacebanner/dsn-ads&loeschen=true&kid='.$anzeigen['kid'].'" target="_self">Löschen</a> / <a href="?content=/interfacebanner/dsn-ads&blacklist=true&kid='.$anzeigen['kid'].'" target="_self">Löschen-Blacklist</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> diff --git a/adminforce/content/interfacebanner/fucoex.php b/adminforce/content/interfacebanner/fucoex.php new file mode 100644 index 0000000..0b93fba --- /dev/null +++ b/adminforce/content/interfacebanner/fucoex.php @@ -0,0 +1,35 @@ +<?head("FuCoEx ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='fucoex' LIMIT 1"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='fucoex' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='fucoex' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>TAN:</b> '.$anzeigen['tan'].'</td> + <td align="center" width="50%"><b>Vergütung:</b> '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="left" colspan="2"><br><b>Ziel:</b> <a href="'.$anzeigen['ziel'].'">'.$anzeigen['ziel'].'</a> <br><b>Banner:</b> <a href="'.$anzeigen['banner'].'">'.$anzeigen['banner'].'</a><br><br></td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>Reload:</b> '. $anzeigen['reload']/3600 .'h <b>Rest:</b> '.number_format($anzeigen['menge'],0,",",".").' Klicks</td> + <td align="center" width="50%"><a href="?content=/interfacebanner/fucoex&loeschen=true&tan='.$anzeigen['tan'].'" target="_self">Löschen</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/hp-lose.php b/adminforce/content/interfacebanner/hp-lose.php new file mode 100644 index 0000000..5a8c25f --- /dev/null +++ b/adminforce/content/interfacebanner/hp-lose.php @@ -0,0 +1,35 @@ +<?head("HP-Lose ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='hp-lose' LIMIT 1"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='hp-lose' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='hp-lose' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>TAN:</b> '.$anzeigen['tan'].'</td> + <td align="center" width="50%"><b>Vergütung:</b> '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="left" colspan="2"><br><b>Ziel:</b> <a href="'.$anzeigen['ziel'].'">'.$anzeigen['ziel'].'</a> <br><b>Banner:</b> <a href="'.$anzeigen['banner'].'">'.$anzeigen['banner'].'</a><br><br></td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>Reload:</b> '. $anzeigen['reload']/3600 .'h <b>Rest:</b> '.number_format($anzeigen['menge'],0,",",".").' Klicks</td> + <td align="center" width="50%"><a href="?content=/interfacebanner/hp-lose&loeschen=true&tan='.$anzeigen['tan'].'" target="_self">Löschen</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/lose-ads.php b/adminforce/content/interfacebanner/lose-ads.php new file mode 100644 index 0000000..3cb8c03 --- /dev/null +++ b/adminforce/content/interfacebanner/lose-ads.php @@ -0,0 +1,35 @@ +<?head("Lose-Ads ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='lose-ads' LIMIT 1"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='lose-ads' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='lose-ads' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>TAN:</b> '.$anzeigen['tan'].'</td> + <td align="center" width="50%"><b>Vergütung:</b> '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="left" colspan="2"><br><b>Ziel:</b> <a href="'.$anzeigen['ziel'].'">'.$anzeigen['ziel'].'</a> <br><b>Banner:</b> <a href="'.$anzeigen['banner'].'">'.$anzeigen['banner'].'</a><br><br></td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>Reload:</b> '. $anzeigen['reload']/3600 .'h <b>Rest:</b> '.number_format($anzeigen['menge'],0,",",".").' Klicks</td> + <td align="center" width="50%"><a href="?content=/interfacebanner/lose-ads&loeschen=true&tan='.$anzeigen['tan'].'" target="_self">Löschen</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/losebox.php b/adminforce/content/interfacebanner/losebox.php new file mode 100644 index 0000000..4bad69d --- /dev/null +++ b/adminforce/content/interfacebanner/losebox.php @@ -0,0 +1,35 @@ +<?head("Losebox ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='losebox' LIMIT 1"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='losebox' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='losebox' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>TAN:</b> '.$anzeigen['tan'].'</td> + <td align="center" width="50%"><b>Vergütung:</b> '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="left" colspan="2"><br><b>Ziel:</b> <a href="'.$anzeigen['ziel'].'">'.$anzeigen['ziel'].'</a> <br><b>Banner:</b> <a href="'.$anzeigen['banner'].'">'.$anzeigen['banner'].'</a><br><br></td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>Reload:</b> '. $anzeigen['reload']/3600 .'h <b>Rest:</b> '.number_format($anzeigen['menge'],0,",",".").' Klicks</td> + <td align="center" width="50%"><a href="?content=/interfacebanner/losebox&loeschen=true&tan='.$anzeigen['tan'].'" target="_self">Löschen</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/losewerbung.php b/adminforce/content/interfacebanner/losewerbung.php new file mode 100644 index 0000000..71dda5f --- /dev/null +++ b/adminforce/content/interfacebanner/losewerbung.php @@ -0,0 +1,35 @@ +<?head("Losewerbung.de - ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='losewerbung'"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='losewerbung'"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='losewerbung' and werbeart = 'forcedbanner' and status = '1' ORDER BY menge ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> +<td align="center" width="50%">TAN: '.$anzeigen['tan'].' / KID: '.$anzeigen['kid'].'</td> +<td align="center" width="50%">Bet: '.number_format($anzeigen['preis'],2,",",".").' / User: '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="center" colspan="2"><a href="'.$anzeigen['ziel'].'" target="_blank"><img src="'.$anzeigen['banner'].'" border="0" width="468" height="60"></a></td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="center" width="50%">Reload: '. $anzeigen['reload']/3600 .' Std. / Aufenthalt: '. $anzeigen['aufendhalt'].' Sek. / Rest: '.number_format($anzeigen['menge'],0,",",".").'</td> +<td align="center" width="50%"><a href="?content=/interfacebanner/losewerbung&loeschen=true&kid='.$anzeigen['kid'].'" target="_self">Löschen</a> / <a href="?content=/interfacebanner/losewerbung&blacklist=true&kid='.$anzeigen['kid'].'" target="_self">Löschen-Blacklist</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacebanner/webmasterlose.php b/adminforce/content/interfacebanner/webmasterlose.php new file mode 100644 index 0000000..c4a1d16 --- /dev/null +++ b/adminforce/content/interfacebanner/webmasterlose.php @@ -0,0 +1,35 @@ +<?head("Webmasterlose ForcedBanner");?> +<? +if (!isset($_GET['kid'])) $_GET['kid'] = ''; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ''; +if (!isset($_GET['blacklist'])) $_GET['blacklist'] = ''; + +if ($_GET['loeschen']=='true' && $_GET['kid']) { +db_query("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE kid='".$_GET['kid']."' and sponsor='webmasterlose' LIMIT 1"); +} +if ($_GET['blacklist']=='true' && $_GET['kid']) { +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '2' WHERE kid='".$_GET['kid']."' and sponsor='webmasterlose' LIMIT 1"); +} + +$forcedbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='webmasterlose' and werbeart = 'forcedbanner' and status = '1' ORDER BY kid ASC"); +while ($anzeigen = mysql_fetch_array($forcedbanner)) { +echo ' +<table width="100%" cellpadding="0" cellspacing="1" border="0" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>TAN:</b> '.$anzeigen['tan'].'</td> + <td align="center" width="50%"><b>Vergütung:</b> '.number_format($anzeigen['verdienst'],2,",",".").'</td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="left" colspan="2"><br><b>Ziel:</b> <a href="'.$anzeigen['ziel'].'">'.$anzeigen['ziel'].'</a> <br><b>Banner:</b> <a href="'.$anzeigen['banner'].'">'.$anzeigen['banner'].'</a><br><br></td> +</tr> +<tr bgcolor="#f0f0f0"> + <td align="center" width="50%"><b>Reload:</b> '. $anzeigen['reload']/3600 .'h <b>Rest:</b> '.number_format($anzeigen['menge'],0,",",".").' Klicks</td> + <td align="center" width="50%"><a href="?content=/interfacebanner/webmasterlose&loeschen=true&tan='.$anzeigen['tan'].'" target="_self">Löschen</a></td> +</tr> +</table> +<br> +'; +} +?> +<?foot();?> + diff --git a/adminforce/content/interfacedaten/betreiber.php b/adminforce/content/interfacedaten/betreiber.php new file mode 100644 index 0000000..5d9d959 --- /dev/null +++ b/adminforce/content/interfacedaten/betreiber.php @@ -0,0 +1,55 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber_id'])) $_POST['betreiber_id'] = ''; +if (!isset($_POST['betreiber_passwort'])) $_POST['betreiber_passwort'] = ''; +if (!isset($_POST['betreiber_kennung'])) $_POST['betreiber_kennung'] = ''; +if (!isset($_POST['schnittstelle'])) $_POST['schnittstelle'] = ''; +if (!isset($_POST['einzahltext'])) $_POST['einzahltext'] = ''; +if (!isset($_POST['auszahltext'])) $_POST['auszahltext'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_schnittstelle SET betreiber_id='".$_POST['betreiber_id']."', betreiber_passwort='".$_POST['betreiber_passwort']."', betreiber_kennung='".$_POST['betreiber_kennung']."', schnittstelle='".$_POST['schnittstelle']."', einzahltext='".$_POST['einzahltext']."', auszahltext='".$_POST['auszahltext']."', einzahlsumme='".$_POST['einzahlsumme']."', auszahlsumme='".$_POST['auszahlsumme']."', anfragen_tag='".$_POST['anfragen_tag']."', anfragen_user='".$_POST['anfragen_user']."' LIMIT 1"); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")); +?> +<? head("Interfacedaten Betreiber (EF²,FuCoEx² usw.)"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> + <td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber_id" value="<?=$interface['betreiber_id'];?>" style="width:180px;"></td> +</tr> +<tr> + <td align="left">Betreiberpasswort</td><td align="left"><input type="Text" name="betreiber_passwort" value="<?=$interface['betreiber_passwort'];?>" style="width:180px;"></td> +</tr> +<tr> + <td align="left">Betreiberkennung<br><i>Kennung nur bei EF²</i></td><td align="left"><input type="Text" name="betreiber_kennung" value="<?=$interface['betreiber_kennung'];?>" style="width:180px;"></td> +</tr> +<tr> + <td align="left">Schnittstelle<br><i>Dateiname der Schnittstelle</i></td><td align="left"><input type="Text" name="schnittstelle" value="<?=$interface['schnittstelle'];?>" style="width:180px;">.php +</td> +</tr> +<tr> + <td align="left">Einzahltext<br><i>Max. 40 Zeichen</i></td><td align="left"><input type="Text" name="einzahltext" value="<?=$interface['einzahltext'];?>" style="width:180px;" maxlength="40"></td> +</tr> +<tr> + <td align="left">Auszahltext<br><i>Max. 40 Zeichen</i></td><td align="left"><input type="Text" name="auszahltext" value="<?=$interface['auszahltext'];?>" style="width:180px;" maxlength="40"></td> +</tr> +<tr> + <td align="left">Minimum Einzahlsumme<br><i>0 = Ohne Einschränkung</i></td><td align="left"><input type="Text" name="einzahlsumme" value="<?=$interface['einzahlsumme'];?>" style="width:180px;" maxlength="40"></td> +</tr> +<tr> + <td align="left">Minimum Auszahlsumme<br><i>0 = Ohne Einschränkung</i></td><td align="left"><input type="Text" name="auszahlsumme" value="<?=$interface['auszahlsumme'];?>" style="width:180px;" maxlength="40"></td> +</tr> +<tr> + <td align="left">Max. Schnittstellenanfragen (Tag)<br><i>0 = Ohne Einschränkung<br>Nur für Anmeldungen</i></td><td align="left"><input type="Text" name="anfragen_tag" value="<?=$interface['anfragen_tag'];?>" style="width:180px;" maxlength="40"></td> +</tr> +<tr> + <td align="left">Max. Schnittstellenanfragen (User)<br><i>0 = Ohne Einschränkung<br>Nur Ein./Auszahlungen</i></td><td align="left"><input type="Text" name="anfragen_user" value="<?=$interface['anfragen_user'];?>" style="width:180px;" maxlength="40"></td> +</tr> +<tr> + <td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/crons.php b/adminforce/content/interfacedaten/crons.php new file mode 100644 index 0000000..d83dc70 --- /dev/null +++ b/adminforce/content/interfacedaten/crons.php @@ -0,0 +1,33 @@ +<? head("Crons (Übersicht und manuell Start)");?> +<table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#c0c0c0"> +<tr class="tr_head"> + <td align="center"><b>Cron</b></td> + <td align="center"><b>Laufzeit</b></td> + <td align="center">URL</td> +</tr> +<? +$crons = db_query("SELECT * FROM ".$db_prefix."_crons"); +while ($crontabelle = mysql_fetch_array($crons)) { +$i++; +$row = ($i % 2 == 0) ? 0 : 1; + +echo ' +<tr class="tr_row'.$row.'"> + <td valign="middle"><b>'.$crontabelle['bezeichnung'].'</b><br> + <i>ID: '.$crontabelle['id'].'</i> + </td> + + <td align="center" valign="middle"> + <font color="#000080">'.date("d.m.Y - H:i:s",$crontabelle['laufzeit']).'</font> + </td> + + <td align="center" valign="middle"> + <a href="../cron.php?id='.$crontabelle['id'].'&pw='.$cron_pw.'" target="_blank"><img src="images/gruen.gif" width="15" height="15" border="0" alt="Ausführen"></a> + </td> + +</tr> +'; +} +?> +</table> +<? foot(); ?> diff --git a/adminforce/content/interfacedaten/dsn-ads.php b/adminforce/content/interfacedaten/dsn-ads.php new file mode 100644 index 0000000..000cd82 --- /dev/null +++ b/adminforce/content/interfacedaten/dsn-ads.php @@ -0,0 +1,62 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['pass'])) $_POST['pass'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { + $db_eintrag_vorhanden = db_query("SELECT interface FROM ".$db_prefix."_interface WHERE interface='dsn-ads'"); + if (mysql_num_rows($db_eintrag_vorhanden)== 1) + { + db_query("UPDATE ".$db_prefix."_interface SET betreiber='".$_POST['betreiber']."', seite='".$_POST['seite']."', pass='".$_POST['pass']."', eigenverdienst='".$_POST['eigenverdienst']."', mindestverguetung='".$_POST['min_verguetung']."', restklicks='".$_POST['restklicks']."', umrechnung='".$_POST['umrechnung']."', aufendhalt='".$_POST['aufendhalt']."' WHERE interface='dsn-ads'"); + } + else + { + db_query("INSERT INTO ".$db_prefix."_interface (betreiber, seite, pass, eigenverdienst, mindestverguetung, restklicks, umrechnung, aufendhalt) VALUES ('".$_POST['betreiber']."', '".$_POST['seite']."','".$_POST['pass']."','".$_POST['eigenverdienst']."','".$_POST['min_verguetung']."','".$_POST['restklicks']."',".$_POST['umrechnung']."',".$_POST['aufendhalt']."') WHERE interface='dsn-ads'"); + } + } +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='dsn-ads' LIMIT 1")); +?> +<? head("Interfacedaten (<a href='http://www.dsn-ads.de/?ref=25' target='_blank'>DSN-Ads.de</a>)"); ?> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<form action="" method="post"> +<tr> +<td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Seiten-ID</td><td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Schnittstellen Passwort</td><td align="left"><input type="Text" name="pass" value="<?=$interface['pass'];?>" style="width:150px;"></td> +</tr> +<tr> +<td align="left">Eigenverdienst in Prozent<br><i>Bitte Refverdienste bedenken</i></td><td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Umrechnung<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +</table> +<? foot();?> + +<? head("Daten für Forcedbannerkamgangen");?> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left">Mindestvergütung bei den Sponsoren<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Wieviel % sollen eingebucht werden?</td><td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Aufenthalt in Sek. für den User</td><td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/fucoex.php b/adminforce/content/interfacedaten/fucoex.php new file mode 100644 index 0000000..35a87ec --- /dev/null +++ b/adminforce/content/interfacedaten/fucoex.php @@ -0,0 +1,49 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_interface SET betreiber='".$_POST['betreiber']."',pass='".$_POST['pass']."', seite='".$_POST['seite']."', eigenverdienst='".$_POST['eigenverdienst']."', mindestverguetung='".$_POST['min_verguetung']."', restklicks='".$_POST['restklicks']."', umrechnung='".$_POST['umrechnung']."', aufendhalt='".$_POST['aufendhalt']."' WHERE interface='fucoex'"); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='fucoex' LIMIT 1")); +?> +<? head("Interfacedaten (Fucoex)"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Seiten-ID</td><td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Schnittstellen Passwort</td><td align="left"><input type="Text" name="pass" value="<?=$interface['pass'];?>" style="width:150px;"></td> +</tr> +<tr> +<td align="left">Eigenverdienst in Prozent<br><i>Bitte Refverdienste bedenken</i></td><td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Mindestvergütung bei den Sponsoren<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Wieviel % sollen eingebucht werden?</td><td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Umrechnung<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +<tr> +<td align="left">Aufendhalt in Sek. für den User</td><td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/hp-lose.php b/adminforce/content/interfacedaten/hp-lose.php new file mode 100644 index 0000000..2dcfd2e --- /dev/null +++ b/adminforce/content/interfacedaten/hp-lose.php @@ -0,0 +1,46 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_interface SET betreiber='".$_POST['betreiber']."', seite='".$_POST['seite']."', eigenverdienst='".$_POST['eigenverdienst']."', mindestverguetung='".$_POST['min_verguetung']."', restklicks='".$_POST['restklicks']."', umrechnung='".$_POST['umrechnung']."', aufendhalt='".$_POST['aufendhalt']."' WHERE interface='hp-lose'"); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='hp-lose' LIMIT 1")); +?> +<? head("Interfacedaten (<a href='http://www.hplose.de/?sid=MjAxNA==' target='_blank'>HPLose.de</a>)"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Seiten-ID</td><td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Eigenverdienst in Prozent<br><i>Bitte Refverdienste bedenken</i></td><td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Mindestvergütung bei den Sponsoren<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Wieviel % sollen eingebucht werden?</td><td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Umrechnung<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +<tr> +<td align="left">Aufendhalt in Sek. für den User</td><td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/lose-ads.php b/adminforce/content/interfacedaten/lose-ads.php new file mode 100644 index 0000000..9a8d8e9 --- /dev/null +++ b/adminforce/content/interfacedaten/lose-ads.php @@ -0,0 +1,46 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_interface SET betreiber='".$_POST['betreiber']."', seite='".$_POST['seite']."', eigenverdienst='".$_POST['eigenverdienst']."', mindestverguetung='".$_POST['min_verguetung']."', restklicks='".$_POST['restklicks']."', umrechnung='".$_POST['umrechnung']."', aufendhalt='".$_POST['aufendhalt']."' WHERE interface='lose-ads'"); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='lose-ads' LIMIT 1")); +?> +<? head("Interfacedaten (<a href='http://www.lose-ads.de/?sid=MTQ0Ng==&site=home' target='_blank'>Lose-Ads.de</a>)"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Seiten-ID</td><td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Eigenverdienst in Prozent<br><i>Bitte Refverdienste bedenken</i></td><td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Mindestvergütung bei den Sponsoren<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Wieviel % sollen eingebucht werden?</td><td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Umrechnung<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +<tr> +<td align="left">Aufendhalt in Sek. für den User</td><td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/losebox.php b/adminforce/content/interfacedaten/losebox.php new file mode 100644 index 0000000..a059680 --- /dev/null +++ b/adminforce/content/interfacedaten/losebox.php @@ -0,0 +1,46 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_interface SET betreiber='".$_POST['betreiber']."', seite='".$_POST['seite']."', eigenverdienst='".$_POST['eigenverdienst']."', mindestverguetung='".$_POST['min_verguetung']."', restklicks='".$_POST['restklicks']."', umrechnung='".$_POST['umrechnung']."', aufendhalt='".$_POST['aufendhalt']."' WHERE interface='losebox'"); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='losebox' LIMIT 1")); +?> +<? head("Interfacedaten (Losebox.de)"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Seiten-ID</td><td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Eigenverdienst in Prozent<br><i>Bitte Refverdienste bedenken</i></td><td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Mindestvergütung bei den Sponsoren<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Wieviel % sollen eingebucht werden?</td><td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Umrechnung<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +<tr> +<td align="left">Aufendhalt in Sek. für den User</td><td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/losewerbung.php b/adminforce/content/interfacedaten/losewerbung.php new file mode 100644 index 0000000..b865040 --- /dev/null +++ b/adminforce/content/interfacedaten/losewerbung.php @@ -0,0 +1,80 @@ +<? + +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['pass'])) $_POST['pass'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; +if (!isset($_POST['traffikmindestverguetung'])) $_POST['traffikmindestverguetung'] = ''; +if (!isset($_POST['traffikrestklicks'])) $_POST['traffikrestklicks'] = ''; +if (!isset($_POST['traffikaufendhalt'])) $_POST['traffikaufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_interface SET + betreiber='".$_POST['betreiber']."', + seite='".$_POST['seite']."', + pass='".$_POST['pass']."', + eigenverdienst='".$_POST['eigenverdienst']."', + mindestverguetung='".$_POST['min_verguetung']."', + restklicks='".$_POST['restklicks']."', + umrechnung='".$_POST['umrechnung']."', + aufendhalt='".$_POST['aufendhalt']."' + WHERE interface='losewerbung'") or die(mysql_error()); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='losewerbung' LIMIT 1")); +?> + +<? head("<center><b>Interfacedaten losewerbung.de</b></center>"); ?> +<a href='http://www.losewerbung.de/?ref=23'><img src='http://www.losewerbung.de/banner/lwbanner.gif' border='0'></a> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<form action="" method="post"> +<tr> +<td align="center" width="55%"><b>Betreiber-ID</b></td> +<td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="center"><b>Seiten-ID</b></td> +<td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="center"><b>Schnittstellen-PW</b></td> +<td align="left"><input type="Text" name="pass" value="<?=$interface['pass'];?>" style="width:150px;"></td> +</tr> +<tr> +<td align="center"><b>Eigenverdienst in %</b></td> +<td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center"><b>Umrechnung</b> +<br><i>Basierend auf die Sponsorenwährung</i></td> +<td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +</table> +<? foot();?> + +<? head("<center><b>Forcedbanner</b></center>");?> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td align="center"><b>min. Vergütung bei Sponsoren</b> +<br><i>Basierend auf die Sponsorenwährung</i></td> +<td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center"><b>Wieviel % eingebuchen</b></td> +<td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center"><b>verlängerter Aufenthalt in Sek.</b><br> +<i>zusätzlich zum Mindestaufenthalt des Sponsors</i></td> +<td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/pageconfig.php b/adminforce/content/interfacedaten/pageconfig.php new file mode 100644 index 0000000..dce6106 --- /dev/null +++ b/adminforce/content/interfacedaten/pageconfig.php @@ -0,0 +1,78 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_seitenkonfig SET + denied_domains='".$_POST['denied_domains']."', + wartung='".$_POST['wartung']."', + einzahlgrenze='".$_POST['einzahlgrenze']."', + re1='".$_POST['re1']."', + re2='".$_POST['re2']."', + re3='".$_POST['re3']."', + min_betteln = '".$_POST['min_betteln']."', + max_betteln = '".$_POST['max_betteln']."', + reload_betteln = '".$_POST['reload_betteln']."', + admin_name='".$_POST['admin_name']."', + admin_pass='".$_POST['admin_pass']."' +LIMIT 1") or die(mysql_error()); +} +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_seitenkonfig LIMIT 1")); +?> + +<? head("Webseiteneinstellungen"); ?> +<form action="" method="post"> +<table width="100%" align="center" border="0" cellpadding="1" cellspacing="1" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Wartungsmodus</b><br><i>Wartungstext muss bearbeitet werden!</i></td> +<td align="left"> <select name="wartung"> + <option value="0" <?if ($interface['wartung'] == 0) echo 'SELECTED';?>>Deaktiviert </option> + <option value="1" <?if ($interface['wartung'] == 1) echo 'SELECTED';?>>Aktiviert</option> +</select> +</td> +</tr> +<tr bgcolor="#f5f5f5"> +<td align="left"><b>Einzahlgrenze</b><br><i>Max. Guthaben pro User!</i></td> +<td align="left"> <input type="Text" name="einzahlgrenze" value="<?=$interface['einzahlgrenze'];?>"> Nur Ganzzahlen</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Refebene 1</b><br><i>Angaben in Prozent!</i></td> +<td align="left"> <input type="Text" name="re1" value="<?=$interface['re1'];?>"> Punkt statt Komma</td> +</tr> +<tr bgcolor="#f5f5f5"> +<td align="left"><b>Refebene 2</b><br><i>Angaben in Prozent!</i></td> +<td align="left"> <input type="Text" name="re2" value="<?=$interface['re2'];?>"> Punkt statt Komma</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Refebene 3</b><br><i>Angaben in Prozent!</i></td> +<td align="left"> <input type="Text" name="re3" value="<?=$interface['re3'];?>"> Punkt statt Komma</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>min. Verdienst (Bettelaufruf)</b></td> +<td align="left"> <input type="Text" name="min_betteln" value="<?=$interface['min_betteln'];?>"> Punkt statt Komma</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>max. Verdienst (Bettelaufruf)</b></td> +<td align="left"> <input type="Text" name="max_betteln" value="<?=$interface['max_betteln'];?>"> Punkt statt Komma</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Reloadzeit (Bettelaufruf)</b><br><i>Angaben in Sekunden (3600 = 1 Stunde) (0 = Bettellink deaktiviert)</i></td> +<td align="left"> <input type="Text" name="reload_betteln" value="<?=$interface['reload_betteln'];?>"> Nur Ganzzahlen</td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Nicht erlaubte eMail-Domains</b><br><i>(Durch ; getrennt)</i></td> +<td align="left"> <input type="Text" name="denied_domains" value="<?=$interface['denied_domains'];?>"></td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Loginname (Adminforce)</b></td> +<td align="left"> <input type="Text" name="admin_name" value="<?=$interface['admin_name'];?>"></td> +</tr> +<tr bgcolor="#f0f0f0"> +<td align="left"><b>Passwort (Adminforce)</b></td> +<td align="left"> <input type="Text" name="admin_pass" value="<?=$interface['admin_pass'];?>"></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/interfacedaten/webmasterlose.php b/adminforce/content/interfacedaten/webmasterlose.php new file mode 100644 index 0000000..e2852f0 --- /dev/null +++ b/adminforce/content/interfacedaten/webmasterlose.php @@ -0,0 +1,50 @@ +<? +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['betreiber'])) $_POST['betreiber'] = ''; +if (!isset($_POST['pass'])) $_POST['pass'] = ''; +if (!isset($_POST['seite'])) $_POST['seite'] = ''; +if (!isset($_POST['eigenverdienst'])) $_POST['eigenverdienst'] = ''; +if (!isset($_POST['min_verguetung'])) $_POST['min_verguetung'] = ''; +if (!isset($_POST['restklicks'])) $_POST['restklicks'] = ''; +if (!isset($_POST['umrechnung'])) $_POST['umrechnung'] = ''; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +db_query("UPDATE ".$db_prefix."_interface SET betreiber='".$_POST['betreiber']."', seite='".$_POST['seite']."',pass='".$_POST['pass']."', eigenverdienst='".$_POST['eigenverdienst']."', mindestverguetung='".$_POST['min_verguetung']."', restklicks='".$_POST['restklicks']."', umrechnung='".$_POST['umrechnung']."', aufendhalt='".$_POST['aufendhalt']."' WHERE interface='webmasterlose'"); +} + +$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface='webmasterlose' LIMIT 1")); +?> +<? head("Interfacedaten (<a href='http://www.webmasterlose.de/?sid=MTE4NDQ=&site=home' target='_blank'>Webmasterlose.de</a>)"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Betreiber-ID</td><td align="left"><input type="Text" name="betreiber" value="<?=$interface['betreiber'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Seiten-ID</td><td align="left"><input type="Text" name="seite" value="<?=$interface['seite'];?>" style="width:50px;"></td> +</tr> +<tr> +<td align="left">Schnittstellen Passwort</td><td align="left"><input type="Text" name="pass" value="<?=$interface['pass'];?>" style="width:150px;"></td> +</tr> +<tr> +<td align="left">Eigenverdienst in Prozent<br><i>Bitte Refverdienste bedenken</i></td><td align="left"><input type="Text" name="eigenverdienst" value="<?=$interface['eigenverdienst'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Mindestvergütung bei den Sponsoren<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="min_verguetung" value="<?=$interface['mindestverguetung'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Wieviel % sollen eingebucht werden?</td><td align="left"><input type="Text" name="restklicks" value="<?=$interface['restklicks'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="left">Umrechnung<br><i>Basierend auf die Sponsorenwährung</i></td><td align="left"><input type="Text" name="umrechnung" value="<?=$interface['umrechnung'];?>" style="width:50px;"> <b>Punkt statt Komma</b></td> +</tr> +<tr> +<td align="left">Aufendhalt in Sek. für den User</td><td align="left"><input type="Text" name="aufendhalt" value="<?=$interface['aufendhalt'];?>" style="width:50px;"> <b>Ganzzahlen</b></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="updaten" value="Updaten !"></td> +</tr> +</table> +</form> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/module.php b/adminforce/content/module.php new file mode 100644 index 0000000..6ed80bc --- /dev/null +++ b/adminforce/content/module.php @@ -0,0 +1,42 @@ +<? +$dir = '../module/'; + +if (is_dir($dir) && $dh = opendir($dir)) { + head ('Modulübersicht'); +?> +Sie sehen hier eine Auflistung aller verfügbaren Module. Um die Verwaltung der jeweiligen Module zu gelanden klicken Sie bitte auf das entsprechende Icon.<br /> +<br /> +<table width="100%" cellspacing=0 cellpadding=5 border=1 bordercolor="#4a4a4a" style="border-collapse: collapse;"> +<? + $i = 1; + while (($file = readdir ($dh)) !== false) { + if (is_dir ($dir.$file) && file_exists ($dir.$file.'/pref.ini') && $file != '.' && $file != '..') { + $modul = parse_ini_file ($dir.$file.'/pref.ini', TRUE); + $ico_endung = (file_exists ($dir.$file.'/icon.png')) ? 'png' : 'gif'; + if ($i == 1 || ( $i % 4 ) == 0) echo ' <tr>'."\n"; + echo ' <td width="25%" style="text-align: center;"><a href="javascript:ShowWindow(\'moduladmin.php?mod='.$file.'\');"><img src="'.$dir.$file.'/icon.'.$ico_endung.'" border="0" width="32" height="32" alt="" /><br />'.$modul['modul']['name'].'</a></td>'."\n"; + if ( ( ( $i + 1 ) % 4 ) == 0 ) echo ' </tr>'."\n"; + $i++; + } + } + closedir ($dh); + + $uebrig = ( ( $i -1 ) % 4 ); + if ( $uebrig != 0 ) { + for ($i=0;$i<(4-$uebrig);$i++) echo ' <td> </td>'."\n"; + echo ' </tr>'."\n"; + } ?> +</table> +<br /> +<br /> +<span style="font-weight: bold;">Nützlichens:</span><br /> +<a href="http://www.totaltoll.de/shop/docs/modulsystem.pdf" target="_blank">Manual zum Modulsystem (Für Entwickler, Mirror 1)</a><br /> +<a href="http://www.designerscripte.net/downloads/docs/modulsystem.pdf" target="_blank">Manual zum Modulsystem (Für Entwickler, Mirror 2)</a><br /> +<? + foot (); +} else { + head ('Fataler Fehler'); + echo 'Fehler: Modulverzeichnis '.$dir.' ist ungültig !'; + foot (); +} +?> \ No newline at end of file diff --git a/adminforce/content/newssystem/news.php b/adminforce/content/newssystem/news.php new file mode 100644 index 0000000..cb9f6c2 --- /dev/null +++ b/adminforce/content/newssystem/news.php @@ -0,0 +1,81 @@ +<? +if (!isset($titel)) $titel = ''; +if (!isset($news)) $news = ''; +if (!isset($id)) $id = '0'; +if (!isset($_POST['auffuehren'])) $_POST['auffuehren'] = '0'; +if (!isset($_POST['load'])) $_POST['load'] = '0'; +if (!isset($_POST['loader'])) $_POST['loader'] = ''; +if (!isset($_POST['newsletter'])) $_POST['newsletter'] = ''; + +if ($_POST['auffuehren'] == 'Ausführen') { + if ($_POST['id'] == 0 ){ + if ($_POST['art'] == 1 || $_POST['art'] == 2) db_query("INSERT INTO ".$db_prefix."_news (zeit,titel,news) VALUES ('".time()."','".$_POST['titel']."','".$_POST['news']."')"); + + if ($_POST['art'] == 1 || $_POST['art'] == 3) { + $empfaenger = db_query('SELECT emailadresse FROM '.$db_prefix.'_emaildaten WHERE freigabe_fuer = 1 OR freigabe_fuer = 3 GROUP BY emailadresse'); + while ($user = mysql_fetch_assoc($empfaenger)) usermail ($user['emailadresse'], $_POST['titel'], $_POST['news'], '"'.$seitenname.'" <'.$betreibermail.'>'); + } + } else db_query("UPDATE ".$db_prefix."_news SET titel='".$_POST['titel']."',news='".$_POST['news']." WHERE id='".$_POST['id']."'"); +} + +if ($_POST['load'] == 'Editieren') { + $edit = mysql_fetch_array(db_query("SELECT titel,news,id,zeit FROM ".$db_prefix."_news WHERE id=".(int)$_POST['loader']." LIMIT 1")); + $titel = $edit['titel']; + $news = $edit['news']; + $id = $edit['id']; +} + +if ($_POST['load'] == 'Löschen') { + db_query("DELETE FROM ".$db_prefix."_news WHERE id='".(int)$_POST['loader']."' LIMIT 1"); +} + +$old_news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC"); +?> + +<? +if (mysql_num_rows($old_news)){ +head("News editieren / löschen");?> +<form action="" method="post"> +<table> +<tr> + <td> + <select name="loader" size="1"> + <? + while ($load = mysql_fetch_array($old_news)) echo '<option value="'.$load['id'].'">('.$load['id'].') - '.$load['titel'].' ('.date("d.m.Y - H:i",$load['zeit']).')</option>'; + ?> + </select> + </td> + <td> + <input type="Submit" name="load" value="Editieren"> + </td> + <td> + <input type="Submit" name="load" value="Löschen"> + </td> +</tr> +</table> +</form> +<?foot(); +} +?> + +<?head("News schreiben");?> +<form action="" method="post"> +<div align="center"> +<b>Newstitel</b><br> +<input type="Text" name="titel" value="<?=$titel;?>"><br> +<br> +<b>News</b> <i>(HTML)</i><br> +<textarea name="news" style="width:500px; height:80px;"><?=$news;?></textarea><br> +<br> +<b>Art</b><br> +<select name="art"> + <option value="1">News + Newsletter</option> + <option value="2">News</option> + <option value="3">Newsletter</option> +</select> +<br> +<input type="Submit" name="auffuehren" value="Ausführen"> +<input type="Hidden" name="id" value="<?=$id;?>"> +</div> +</form> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/ralleysystem/aktiv.php b/adminforce/content/ralleysystem/aktiv.php new file mode 100644 index 0000000..f944f9e --- /dev/null +++ b/adminforce/content/ralleysystem/aktiv.php @@ -0,0 +1,255 @@ +<? +// Variabeln definieren +if (!isset($_POST['speichern'])) $_POST['speichern'] = ''; +if (!isset($_POST['reset'])) $_POST['reset'] = ''; +if (!isset($_POST['auswerten'])) $_POST['auswerten'] = ''; +$rp = 0; + +$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='aktivralley' LIMIT 1")); + +// Ralleystand reseten +if ($_POST['reset'] == 'Reseten') { +db_query ("DELETE FROM ".$db_prefix."_aktivralley"); +} + +// Ralley auswerten +if ($_POST['auswerten'] == 'Auswerten') { +$platz = db_query("SELECT * FROM ".$db_prefix."_aktivralley WHERE punkte > '".$ralleydaten['pro']."' ORDER BY punkte DESC LIMIT ".$ralleydaten['plaetze'].""); + while ($pa = mysql_fetch_array($platz)) { + $rp++; + $buchungssumme = $ralleydaten['p'.$rp]; + // Buchungen durchführen + db_query("UPDATE ".$db_prefix."_aktivralley SET ausgezahlt = '".time()."' WHERE uid='".$pa['uid']."'"); + $buchungs_id = create_code(14); + kontobuchung ('+',$buchungssumme,$pa['uid']); + buchungsliste ($buchungs_id,'konto',$buchungssumme,'Aktivralley (Platz '.$rp.')',$pa['uid']); + bilanz (0,$buchungssumme); + } +} + +// Ralleydaten speichern +if ($_POST['speichern'] == 'Speichern') { +$ralleystart = strtotime("".$_POST['start_monat']."/".$_POST['start_tag']."/".$_POST['start_jahr']." ".$_POST['start_stunde']." hours ".$_POST['start_minute']." minutes 0 seconds"); +$ralleyende = strtotime("".$_POST['ende_monat']."/".$_POST['ende_tag']."/".$_POST['ende_jahr']." ".$_POST['ende_stunde']." hours ".$_POST['ende_minute']." minutes 0 seconds"); +db_query ("UPDATE ".$db_prefix."_ralleydaten SET start = '".$ralleystart."', ende = '".$ralleyende."', pro = '".$_POST['pro']."', plaetze = '".$_POST['plaetze']."', p1 = '".$_POST['p1']."', p2 = '".$_POST['p2']."', p3 = '".$_POST['p3']."', p4 = '".$_POST['p4']."', p5 = '".$_POST['p5']."', p6 = '".$_POST['p6']."', p7 = '".$_POST['p7']."', p8 = '".$_POST['p8']."', p9 = '".$_POST['p9']."', p10 = '".$_POST['p10']."' WHERE ralley = 'aktivralley'"); +} + +$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='aktivralley' LIMIT 1")); +?> + +<?head("Aktivralley bearbeiten");?> +<form action="" method="post"> +<table cellpadding="2" cellspacing="2" border="0" align="center"> +<tr> +<td align="left" valign="middle"><b>Start der Ralley</b> (<i>HH/MM. - TT/MM/JJJJ</i>)</td> +<td align="left" valign="middle"> +<select name="start_stunde" size="1"> +<? +for($x=0;$x<24;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("H",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_minute" size="1"> +<? +for($x=0;$x<60;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("i",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + - +<select name="start_tag" size="1"> +<? +for($x=1;$x<32;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("d",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_monat" size="1"> +<? +for($x=1;$x<13;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("m",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_jahr" size="1"> +<? +for($x=2005;$x<2011;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("Y",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +</td> +</tr> +<tr> +<td align="right" valign="middle"><b>Ende der Ralley</b> (<i>HH/MM. - TT/MM/JJJJ</i>)</td> +<td align="left" valign="middle"> +<select name="ende_stunde" size="1"> +<? +for($x=0;$x<24;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("H",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_minute" size="1"> +<? +for($x=0;$x<60;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("i",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + - +<select name="ende_tag" size="1"> +<? +for($x=1;$x<32;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("d",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_monat" size="1"> +<? +for($x=1;$x<13;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("m",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_jahr" size="1"> +<? +for($x=2005;$x<2011;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("Y",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +</td> +</tr> +<tr> +<td align="left" valign="middle" colspan="2"> +<b>Anzahl der Plätze</b> +<select name="plaetze" size="1"> +<? +for($x=0;$x<11;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if ($ralleydaten['plaetze'] == $x) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + +<b>Punkte die User min. braucht</b> +<input type="Text" name="pro" value="<?=$ralleydaten['pro'];?>" style="width:100px;"> +</td> +</tr> +</table> +<br> +<table cellpadding="2" cellspacing="2" border="0" align="center"> +<tr> +<td align="center" valign="middle">Gewinn Platz 01</td> +<td align="center" valign="middle">Gewinn Platz 02</td> +<td align="center" valign="middle">Gewinn Platz 03</td> +<td align="center" valign="middle">Gewinn Platz 04</td> +<td align="center" valign="middle">Gewinn Platz 05</td> +</tr> +<tr> +<td align="center" valign="middle"><input type="Text" name="p1" value="<?=$ralleydaten['p1'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p2" value="<?=$ralleydaten['p2'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p3" value="<?=$ralleydaten['p3'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p4" value="<?=$ralleydaten['p4'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p5" value="<?=$ralleydaten['p5'];?>" style="width:80px;"></td> +</tr> +<tr> +<td align="center" valign="middle">Gewinn Platz 06</td> +<td align="center" valign="middle">Gewinn Platz 07</td> +<td align="center" valign="middle">Gewinn Platz 08</td> +<td align="center" valign="middle">Gewinn Platz 09</td> +<td align="center" valign="middle">Gewinn Platz 10</td> +</tr> +<tr> +<td align="center" valign="middle"><input type="Text" name="p6" value="<?=$ralleydaten['p6'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p7" value="<?=$ralleydaten['p7'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p8" value="<?=$ralleydaten['p8'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p9" value="<?=$ralleydaten['p9'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p10" value="<?=$ralleydaten['p10'];?>" style="width:80px;"></td> +</tr> +<tr> +<td align="center" valign="middle" colspan="5"><input type="Submit" name="speichern" value="Speichern" style="width:100px;"></td> +</tr> +</table> +</form> +<?foot();?> + +<?head("Platzierungen und Preise");?> +Dieses Aktivralley läuft von <b><?=date("d.m.Y - H:i:s",$ralleydaten['start']);?></b> bis <b><?=date("d.m.Y - H:i:s",$ralleydaten['ende']);?></b>.<br> +Für diese Ralley sind <b><?=number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung;?></b> ausgelobt die auf die Plätze <b>1</b> bis <b><?=$ralleydaten['plaetze'];?></b> verteilt werden. +<? if ($ralleydaten['pro'] > 0.00) { +echo 'Es müssen mindestens <b>'.number_format($ralleydaten['pro'],0,",",".").' Punkte</b> erreicht werden um gewertet zu werden'; +}?> +<br> +<br> +<table cellpadding="1" cellspacing="1" border="0" bgcolor="#c0c0c0" align="center"> +<tr bgcolor="#d0d0d0"> +<td align="center"> <b>User</b> </td> +<td align="center"> <b>Punkte</b> </td> +<td align="center"> <b>möglicher Gewinn</b> </td> +<td align="center"> <b>Ausgewertet</b> </td> +</tr> + +<? +$platz = db_query("SELECT * FROM ".$db_prefix."_aktivralley WHERE punkte > '".$ralleydaten['pro']."' ORDER BY punkte DESC LIMIT 10"); +while ($pa = mysql_fetch_array($platz)) { +$rp++; +$mg = number_format($ralleydaten['p'.$rp],2,",","."); +if ($rp > $ralleydaten['plaetze']) $mg = '----'; +if ($pa['ausgezahlt'] >= 1) {$ausg = date("d.m.Y - H:i:s",$pa['ausgezahlt']);} else {$ausg = '<b>Nein</b>';} +echo ' +<tr bgcolor="#f0f0f0"> +<td align="center">'.$pa['uid'].'</td> +<td align="right">'.number_format($pa['punkte'],2,",",".").' </td> +<td align="right">'.$mg.' </td> +<td align="center"> '.$ausg.' </td> +</tr> +'; +} +for($x=$rp+1;$x<11;$x++){ +$mg = number_format($ralleydaten['p'.$x],2,",","."); +if ($x > $ralleydaten['plaetze']) $mg = '----'; +if ($pa['ausgezahlt'] >= 1) {$ausg = date("d.m.Y - H:i:s",$pa['ausgezahlt']);} else {$ausg = '<b>Nein</b>';} +echo ' +<tr bgcolor="#f0f0f0"> +<td align="center">N/A</td> +<td align="right">0 </td> +<td align="right">'.$mg.' </td> +<td align="center"> '.$ausg.' </td> +</tr> +'; +} +?> +</table> +<br><br> +<div align="center"> +<form action="" method="POST"> +<input type="Submit" name="reset" value="Reseten"> + +<input type="Submit" name="auswerten" value="Auswerten"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/ralleysystem/klick.php b/adminforce/content/ralleysystem/klick.php new file mode 100644 index 0000000..d83586e --- /dev/null +++ b/adminforce/content/ralleysystem/klick.php @@ -0,0 +1,288 @@ +<? +// Variabeln definieren +if (!isset($_POST['speichern'])) $_POST['speichern'] = ''; +if (!isset($_POST['reset'])) $_POST['reset'] = ''; +if (!isset($_POST['auswerten'])) $_POST['auswerten'] = ''; +$rp = 0; + +$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='klickralley' LIMIT 1")); + +// Ralleystand reseten +if ($_POST['reset'] == 'Reseten') { +db_query ("DELETE FROM ".$db_prefix."_klickralley"); +db_query ("UPDATE ".$db_prefix."_ralleydaten SET jackpot='0' WHERE ralley='klickralley'"); +} + +// Ralley auswerten +if ($_POST['auswerten'] == 'Auswerten') { +$platz = db_query("SELECT * FROM ".$db_prefix."_klickralley WHERE klicks >= 1 ORDER BY klicks DESC LIMIT ".$ralleydaten['plaetze'].""); + while ($pa = mysql_fetch_array($platz)) { + $rp++; + if ($ralleydaten['art'] == 'statisch') { + $buchungssumme = $ralleydaten['p'.$rp]; + } else { + $buchungssumme = $ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp]; + } + // Buchungen durchführen + db_query("UPDATE ".$db_prefix."_klickralley SET ausgezahlt = '".time()."' WHERE uid='".$pa['uid']."'"); + $buchungs_id = create_code(14); + kontobuchung ('+',$buchungssumme,$pa['uid']); + buchungsliste ($buchungs_id,'konto',$buchungssumme,'Klickralley (Platz '.$rp.')',$pa['uid']); + bilanz (0,$buchungssumme); + } +} + +// Ralleydaten speichern +if ($_POST['speichern'] == 'Speichern') { +$ralleystart = strtotime("".$_POST['start_monat']."/".$_POST['start_tag']."/".$_POST['start_jahr']." ".$_POST['start_stunde']." hours ".$_POST['start_minute']." minutes 0 seconds"); +$ralleyende = strtotime("".$_POST['ende_monat']."/".$_POST['ende_tag']."/".$_POST['ende_jahr']." ".$_POST['ende_stunde']." hours ".$_POST['ende_minute']." minutes 0 seconds"); +db_query ("UPDATE ".$db_prefix."_ralleydaten SET start = '".$ralleystart."', ende = '".$ralleyende."', art = '".$_POST['art']."', pro = '".$_POST['pro']."', plaetze = '".$_POST['plaetze']."', p1 = '".$_POST['p1']."', p2 = '".$_POST['p2']."', p3 = '".$_POST['p3']."', p4 = '".$_POST['p4']."', p5 = '".$_POST['p5']."', p6 = '".$_POST['p6']."', p7 = '".$_POST['p7']."', p8 = '".$_POST['p8']."', p9 = '".$_POST['p9']."', p10 = '".$_POST['p10']."' WHERE ralley = 'klickralley'"); +} + +$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='klickralley' LIMIT 1")); +?> + +<?head("Klickralley bearbeiten");?> +<form action="" method="post"> +<table cellpadding="2" cellspacing="2" border="0" align="center"> +<tr> +<td align="left" valign="middle"><b>Start der Ralley</b> (<i>HH/MM. - TT/MM/JJJJ</i>)</td> +<td align="left" valign="middle"> +<select name="start_stunde" size="1"> +<? +for($x=0;$x<24;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("H",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_minute" size="1"> +<? +for($x=0;$x<60;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("i",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + - +<select name="start_tag" size="1"> +<? +for($x=1;$x<32;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("d",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_monat" size="1"> +<? +for($x=1;$x<13;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("m",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_jahr" size="1"> +<? +for($x=2005;$x<2011;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("Y",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +</td> +</tr> +<tr> +<td align="right" valign="middle"><b>Ende der Ralley</b> (<i>HH/MM. - TT/MM/JJJJ</i>)</td> +<td align="left" valign="middle"> +<select name="ende_stunde" size="1"> +<? +for($x=0;$x<24;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("H",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_minute" size="1"> +<? +for($x=0;$x<60;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("i",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + - +<select name="ende_tag" size="1"> +<? +for($x=1;$x<32;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("d",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_monat" size="1"> +<? +for($x=1;$x<13;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("m",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_jahr" size="1"> +<? +for($x=2005;$x<2011;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("Y",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +</td> +</tr> +<tr> +<td align="left" valign="middle" colspan="2"> +<b>Anzahl der Plätze</b> +<select name="plaetze" size="1"> +<? +for($x=0;$x<11;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if ($ralleydaten['plaetze'] == $x) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + +<b>Ralleyart</b> +<select name="art" size="1"> +<option value="statisch"<?if ($ralleydaten['art'] == 'statisch') echo' selected';?>>Statisch</option> +<option value="dynamisch"<?if ($ralleydaten['art'] == 'dynamisch') echo' selected';?>>Dynamisch</option> +</select> + +<b>Pro Klick</b> +<input type="Text" name="pro" value="<?=$ralleydaten['pro'];?>" style="width:50px;"> +</td> +</tr> +</table> +<br> +<table cellpadding="2" cellspacing="2" border="0" align="center"> +<tr> +<td align="center" valign="middle">Gewinn Platz 01</td> +<td align="center" valign="middle">Gewinn Platz 02</td> +<td align="center" valign="middle">Gewinn Platz 03</td> +<td align="center" valign="middle">Gewinn Platz 04</td> +<td align="center" valign="middle">Gewinn Platz 05</td> +</tr> +<tr> +<td align="center" valign="middle"><input type="Text" name="p1" value="<?=$ralleydaten['p1'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p2" value="<?=$ralleydaten['p2'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p3" value="<?=$ralleydaten['p3'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p4" value="<?=$ralleydaten['p4'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p5" value="<?=$ralleydaten['p5'];?>" style="width:80px;"></td> +</tr> +<tr> +<td align="center" valign="middle">Gewinn Platz 06</td> +<td align="center" valign="middle">Gewinn Platz 07</td> +<td align="center" valign="middle">Gewinn Platz 08</td> +<td align="center" valign="middle">Gewinn Platz 09</td> +<td align="center" valign="middle">Gewinn Platz 10</td> +</tr> +<tr> +<td align="center" valign="middle"><input type="Text" name="p6" value="<?=$ralleydaten['p6'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p7" value="<?=$ralleydaten['p7'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p8" value="<?=$ralleydaten['p8'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p9" value="<?=$ralleydaten['p9'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p10" value="<?=$ralleydaten['p10'];?>" style="width:80px;"></td> +</tr> +<tr> +<td align="center" valign="middle" colspan="5"><input type="Submit" name="speichern" value="Speichern" style="width:100px;"></td> +</tr> +</table> +</form> +<?foot();?> + +<?head("Platzierungen und Preise");?> +<? +if ($ralleydaten['art'] != 'statisch') { +echo' +<div align="left"> +Dieses Klickralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis <b>'.date("d.m.Y - H:i:s",$ralleydaten['ende']).'</b>.<br> +Dabei handelt es sich um eine dynamische Klickralley wo pro Klick <b>'.number_format($ralleydaten['pro'],2,",",".").' '.$waehrung.'</b> in den Jackpot fliesen. +Im Jackpot befinden sicher gerade <b>'.number_format($ralleydaten['jackpot'],2,",",".").' '.$waehrung.'</b> die wie unten aufgeführt auf die Plätze <b>1 +bis '.$ralleydaten['plaetze'].'</b> verteilt werden. +</div><br> +'; +} else { +echo' +<div align="left"> +Dieses Klickralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis <b>'.date("d.m.Y - H:i:s",$ralleydaten['ende']).'</b>.<br> +Für diese Klickralley sind <b>'.number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung.'</b> ausgelobt und werden wie unten angezeigt auf die +Plätze <b>1</b> bis <b>'.$ralleydaten['plaetze'].'</b> verteilt. +</div><br> +'; +} +?> +<table cellpadding="1" cellspacing="1" border="0" bgcolor="#c0c0c0" align="center"> +<tr bgcolor="#d0d0d0"> +<td align="center"> <b>User</b> </td> +<td align="center"> <b>Klicks</b> </td> +<td align="center"> <b>möglicher Gewinn</b> </td> +<td align="center"> <b>Ausgewertet</b> </td> +</tr> + +<? +$platz = db_query("SELECT * FROM ".$db_prefix."_klickralley ORDER BY klicks DESC LIMIT 10"); +while ($pa = mysql_fetch_array($platz)) { +$rp++; +if ($ralleydaten['art'] == 'statisch') { +$mg = number_format($ralleydaten['p'.$rp],2,",","."); +} else { +$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp],2,",","."); +} +if ($rp > $ralleydaten['plaetze']) $mg = '----'; +if ($pa['ausgezahlt'] >= 1) {$ausg = date("d.m.Y - H:i:s",$pa['ausgezahlt']);} else {$ausg = '<b>Nein</b>';} +echo ' +<tr bgcolor="#f0f0f0"> +<td align="center">'.$pa['uid'].'</td> +<td align="right">'.number_format($pa['klicks'],0,",",".").' </td> +<td align="right">'.$mg.' </td> +<td align="center"> '.$ausg.' </td> +</tr> +'; +} +for($x=$rp+1;$x<11;$x++){ +if ($ralleydaten['art'] == 'statisch') { +$mg = number_format($ralleydaten['p'.$x],2,",","."); +} else { +$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$x],2,",","."); +} +if ($x > $ralleydaten['plaetze']) $mg = '----'; +if ($pa['ausgezahlt'] >= 1) {$ausg = date("d.m.Y - H:i:s",$pa['ausgezahlt']);} else {$ausg = '<b>Nein</b>';} +echo ' +<tr bgcolor="#f0f0f0"> +<td align="center">N/A</td> +<td align="right">0 </td> +<td align="right">'.$mg.' </td> +<td align="center"> '.$ausg.' </td> +</tr> +'; +} +?> +</table> +<br><br> +<form action="" method="POST"> +<div align="center"> +<input type="Submit" name="reset" value="Reseten"> + +<input type="Submit" name="auswerten" value="Auswerten"> +</div> +</form> +<?foot();?> + diff --git a/adminforce/content/ralleysystem/ref.php b/adminforce/content/ralleysystem/ref.php new file mode 100644 index 0000000..957c8f7 --- /dev/null +++ b/adminforce/content/ralleysystem/ref.php @@ -0,0 +1,271 @@ +<? +// Variabeln definieren +if (!isset($_POST['speichern'])) $_POST['speichern'] = ''; +if (!isset($_POST['auswerten'])) $_POST['auswerten'] = ''; +if (!isset($rp)) $rp = ""; +if (!isset($rpy)) $rpy = ""; +if (!isset($count)) $count = ""; +if (!isset($platz1)) $platz1 = ""; +if (!isset($platz2)) $platz2 = ""; +if (!isset($platz3)) $platz3 = ""; +if (!isset($platz4)) $platz4 = ""; +if (!isset($platz5)) $platz5 = ""; +if (!isset($platz6)) $platz6 = ""; +if (!isset($platz7)) $platz7 = ""; +if (!isset($platz8)) $platz8 = ""; +if (!isset($platz9)) $platz9 = ""; +if (!isset($platz10)) $platz10 = ""; + +if ($_POST['speichern'] == 'Speichern') { +$ralleystart = strtotime("".$_POST['start_monat']."/".$_POST['start_tag']."/".$_POST['start_jahr']." ".$_POST['start_stunde']." hours ".$_POST['start_minute']." minutes 0 seconds"); +$ralleyende = strtotime("".$_POST['ende_monat']."/".$_POST['ende_tag']."/".$_POST['ende_jahr']." ".$_POST['ende_stunde']." hours ".$_POST['ende_minute']." minutes 0 seconds"); +db_query ("UPDATE ".$db_prefix."_ralleydaten SET start = '".$ralleystart."', ende = '".$ralleyende."', pro = '".$_POST['pro']."', plaetze = '".$_POST['plaetze']."', p1 = '".$_POST['p1']."', p2 = '".$_POST['p2']."', p3 = '".$_POST['p3']."', p4 = '".$_POST['p4']."', p5 = '".$_POST['p5']."', p6 = '".$_POST['p6']."', p7 = '".$_POST['p7']."', p8 = '".$_POST['p8']."', p9 = '".$_POST['p9']."', p10 = '".$_POST['p10']."' WHERE ralley = 'refralley'"); +} + +$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='refralley' LIMIT 1")); + +$refs = mysql_query("SELECT werber , COUNT(werber)AS total FROM ".$db_prefix."_werberdaten WHERE werber != 0 and zuordnungszeit >= '".$ralleydaten['start']."' and zuordnungszeit <= '".$ralleydaten['ende']."' and gesamt >= '".$ralleydaten['pro']."' GROUP BY werber ORDER BY total DESC LIMIT 10"); +$count = 1; +while ($row = mysql_fetch_array($refs)) { +$user = mysql_fetch_array(mysql_query("SELECT uid FROM ".$db_prefix."_kontodaten WHERE `uid`='$row[0]'")); +if ($count == 1) {$users[1] = $user[0]; $ref[1] = $row[1];} +if ($count == 2) {$users[2] = $user[0]; $ref[2] = $row[1];} +if ($count == 3) {$users[3] = $user[0]; $ref[3] = $row[1];} +if ($count == 4) {$users[4] = $user[0]; $ref[4] = $row[1];} +if ($count == 5) {$users[5] = $user[0]; $ref[5] = $row[1];} +if ($count == 6) {$users[6] = $user[0]; $ref[6] = $row[1];} +if ($count == 7) {$users[7] = $user[0]; $ref[7] = $row[1];} +if ($count == 8) {$users[8] = $user[0]; $ref[8] = $row[1];} +if ($count == 9) {$users[9] = $user[0]; $ref[9] = $row[1];} +if ($count == 10) {$users[10] = $user[0]; $ref[10] = $row[1];} +$count = $count + 1; +} + +// Ralley auswerten +if ($_POST['auswerten'] == 'Auswerten') { + for($y=1;$y<11;$y++){ + $rpy++; + if (!isset($users[$rpy])) $users[$rpy] = "0"; + if (!isset($ref[$rpy])) $ref[$rpy] = "0"; + if ($ref[$rpy] != 0 and $users[$rpy] != 0) { + // Buchungen durchführen + $buchungs_id = create_code(14); + kontobuchung ('+',$ralleydaten['p'.$rpy],$users[$rpy]); + buchungsliste ($buchungs_id,'konto',$ralleydaten['p'.$rpy],'Refralley (Platz '.$rpy.')',$users[$rpy]); + bilanz (0,$ralleydaten['p'.$rpy]); + } + } +} +?> + +<?head("Refralley bearbeiten");?> +<form action="" method="post"> +<table cellpadding="2" cellspacing="2" border="0" align="center"> +<tr> +<td align="left" valign="middle"><b>Start der Ralley</b> (<i>HH/MM. - TT/MM/JJJJ</i>)</td> +<td align="left" valign="middle"> +<select name="start_stunde" size="1"> +<? +for($x=0;$x<24;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("H",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_minute" size="1"> +<? +for($x=0;$x<60;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("i",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + - +<select name="start_tag" size="1"> +<? +for($x=1;$x<32;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("d",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_monat" size="1"> +<? +for($x=1;$x<13;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("m",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="start_jahr" size="1"> +<? +for($x=2005;$x<2011;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("Y",$ralleydaten['start']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +</td> +</tr> +<tr> +<td align="right" valign="middle"><b>Ende der Ralley</b> (<i>HH/MM. - TT/MM/JJJJ</i>)</td> +<td align="left" valign="middle"> +<select name="ende_stunde" size="1"> +<? +for($x=0;$x<24;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("H",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_minute" size="1"> +<? +for($x=0;$x<60;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("i",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + - +<select name="ende_tag" size="1"> +<? +for($x=1;$x<32;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("d",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_monat" size="1"> +<? +for($x=1;$x<13;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("m",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +<select name="ende_jahr" size="1"> +<? +for($x=2005;$x<2011;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if (date("Y",$ralleydaten['ende']) == $y) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> +</td> +</tr> +<tr> +<td align="left" valign="middle" colspan="2"> +<b>Anzahl der Plätze</b> +<select name="plaetze" size="1"> +<? +for($x=0;$x<11;$x++){ +if ($x <= 9) {$y = '0'.$x;} else {$y = $x;} +if ($ralleydaten['plaetze'] == $x) {$select = ' selected';} else {$select = '';} +echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>'; +} +?> +</select> + +<b>Punkte die Ref min. braucht</b> +<input type="Text" name="pro" value="<?=$ralleydaten['pro'];?>" style="width:100px;"> +</td> +</tr> +</table> +<br> +<table cellpadding="2" cellspacing="2" border="0" align="center"> +<tr> +<td align="center" valign="middle">Gewinn Platz 01</td> +<td align="center" valign="middle">Gewinn Platz 02</td> +<td align="center" valign="middle">Gewinn Platz 03</td> +<td align="center" valign="middle">Gewinn Platz 04</td> +<td align="center" valign="middle">Gewinn Platz 05</td> +</tr> +<tr> +<td align="center" valign="middle"><input type="Text" name="p1" value="<?=$ralleydaten['p1'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p2" value="<?=$ralleydaten['p2'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p3" value="<?=$ralleydaten['p3'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p4" value="<?=$ralleydaten['p4'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p5" value="<?=$ralleydaten['p5'];?>" style="width:80px;"></td> +</tr> +<tr> +<td align="center" valign="middle">Gewinn Platz 06</td> +<td align="center" valign="middle">Gewinn Platz 07</td> +<td align="center" valign="middle">Gewinn Platz 08</td> +<td align="center" valign="middle">Gewinn Platz 09</td> +<td align="center" valign="middle">Gewinn Platz 10</td> +</tr> +<tr> +<td align="center" valign="middle"><input type="Text" name="p6" value="<?=$ralleydaten['p6'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p7" value="<?=$ralleydaten['p7'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p8" value="<?=$ralleydaten['p8'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p9" value="<?=$ralleydaten['p9'];?>" style="width:80px;"></td> +<td align="center" valign="middle"><input type="Text" name="p10" value="<?=$ralleydaten['p10'];?>" style="width:80px;"></td> +</tr> +<tr> +<td align="center" valign="middle" colspan="5"><input type="Submit" name="speichern" value="Speichern" style="width:100px;"></td> +</tr> +</table> +</form> +<?foot();?> + +<?head("Platzierungen und Preise");?> +<? if ($ralleydaten['ende']<= time()) echo '<font color="#000000">'; ?> +<? if ($ralleydaten['start']>= time()) echo '<font color="#000000">'; ?> +<? +echo' +<div align="left"> +Dieses Refralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis <b>'.date("d.m.Y - H:i:s",$ralleydaten['ende']).'</b>.<br> +Für diese Refralley sind <b>'.number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung.'</b> ausgelobt und werden wie unten angezeigt auf die +Plätze <b>1</b> bis <b>'.$ralleydaten['plaetze'].'</b> verteilt. +<br> +<br> +</div> +'; +if ($ralleydaten['pro'] == 0) { +echo '<div align="center"><b>Es werden alle Refs gezählt!</b></div>'; +} else { +echo '<div align="center"><b>Es werden nur Refs gezählt ab '.number_format($ralleydaten['pro'],2,',','.').' '.$waehrung.' Umsatz!</b></div><br>'; +} +?> +<br> +<table width="70%" cellpadding="1" cellspacing="1" border="0" bgcolor="#c0c0c0" align="center"> +<tr bgcolor="#d0d0d0"> +<td align="center"><b>Platz</b></td> +<td align="center"><b>User</b></td> +<td align="center"><b>Refs</b></td> +<td align="center"><b>Gewinn</b></td> +</tr> +<? +for($x=1;$x<11;$x++){ +$rp++; +if (!isset($users[$rp])) $users[$rp] = "N/A"; +if (!isset($ref[$rp])) $ref[$rp] = "0"; +?> +<tr bgcolor="#f0f0f0"> +<td align="center"><b><?=$x;?></b></td> +<td align="center"><b><?=$users[$rp];?></b></td> +<td align="center"><b><?=$ref[$rp];?></b></td> +<td align="center"><b><?=number_format($ralleydaten['p'.$rp],0,',','.');?></b></td> +</tr> +<? +} +?> +</table> +<br><br> +<form action="" method="POST"> +<div align="center"> +<input type="Submit" name="auswerten" value="Auswerten"> +</div> +</form> +<?foot();?> + diff --git a/adminforce/content/startseite.php b/adminforce/content/startseite.php new file mode 100644 index 0000000..c6d35d5 --- /dev/null +++ b/adminforce/content/startseite.php @@ -0,0 +1,30 @@ +<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr> +<td width="100%" valign="top"> +<?head("Userstatistik");?> +<? +$kontostats = mysql_fetch_array(db_query("SELECT COUNT(uid) AS kd_uid , SUM(kontostand) AS kd_kontostand FROM ".$db_prefix."_kontodaten")); +?> +<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#c0c0c0"> +<tr bgcolor="#f0f0f0"> + <td width="55%">Angemeldete User</td> + <td align="right"><?=@number_format($kontostats['kd_uid'],0,",",".");?> </td> +</tr> +<tr bgcolor="#f5f5f5"> + <td>Gesamtguthaben</td> + <td align="right"><?=@number_format($kontostats['kd_kontostand'],2,",",".");?> </td> +</tr> +<tr bgcolor="#f0f0f0"> + <td width="55%">Guth. pro User</td> + <td align="right"><?=@number_format($kontostats['kd_kontostand'] / $kontostats['kd_uid'],2,",",".");?> </td> +</tr> +</table> +<?foot();?> +</td> +</tr></table> + +<?head("VMS Links");?> +» <a href="http://www.designerscripte.net/in.php?to=home" target="_blank">VMS Supportforum</a><br> +» <a href="http://www.designerscripte.net/in.php?to=dl" target="_blank">VMS Downloads</a><br> +<?foot();?> + + diff --git a/adminforce/content/texte/agb.php b/adminforce/content/texte/agb.php new file mode 100644 index 0000000..a9115b0 --- /dev/null +++ b/adminforce/content/texte/agb.php @@ -0,0 +1,29 @@ +<? +// Variabeln +$filename = '../lib/texte/agb.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['text'])) $_POST['text'] = ''; + +// Datei schreiben +if ($_POST['updaten'] == 'Updaten !') { +$_POST['text'] = str_replace('\\', '', $_POST['text']); +$fp = fopen ($filename, "w"); +fwrite ($fp, $_POST['text']); +fclose ($fp); +} + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = @fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("AGB's bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/texte/aktivralley.php b/adminforce/content/texte/aktivralley.php new file mode 100644 index 0000000..0734ccd --- /dev/null +++ b/adminforce/content/texte/aktivralley.php @@ -0,0 +1,29 @@ +<? +// Variabeln +$filename = '../lib/texte/aktivralley.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['text'])) $_POST['text'] = ''; + +// Datei schreiben +if ($_POST['updaten'] == 'Updaten !') { +$_POST['text'] = str_replace('\\', '', $_POST['text']); +$fp = fopen ($filename, "w"); +fwrite ($fp, $_POST['text']); +fclose ($fp); +} + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = @fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("Aktivralleyeinleitung bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/texte/alternativwerbung.php b/adminforce/content/texte/alternativwerbung.php new file mode 100644 index 0000000..700bd45 --- /dev/null +++ b/adminforce/content/texte/alternativwerbung.php @@ -0,0 +1,100 @@ +<? +// Variabeln +$alt_head = '../lib/texte/alt_headerbanner.txt'; +$alt_pops = '../lib/texte/alt_bettelseitenpopup.txt'; +$alt_start = '../lib/texte/alt_startseitenpopup.txt'; +$alt_bettel = '../lib/texte/bettelwerbung.txt'; +$alt_box1 = '../lib/texte/box1.txt'; +$alt_box2 = '../lib/texte/box2.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; + +if ($_POST['updaten'] == 'Updaten !') { +// Alternativ Header schreiben +$_POST['head'] = str_replace('\\', '', $_POST['head']); +$fp = @fopen ($alt_head, "w"); +fwrite ($fp, $_POST['head']); +fclose ($fp); +// Alternativ Popups schreiben +$_POST['pops'] = str_replace('\\', '', $_POST['pops']); +$fp = @fopen ($alt_pops, "w"); +fwrite ($fp, $_POST['pops']); +fclose ($fp); +// Alternativ Start-Popups schreiben +$_POST['start'] = str_replace('\\', '', $_POST['start']); +$fp = @fopen ($alt_start, "w"); +fwrite ($fp, $_POST['start']); +fclose ($fp); +// Bettelseite Werbung schreiben +$_POST['bettelwerbung'] = str_replace('\\', '', $_POST['bettelwerbung']); +$fp = @fopen ($alt_bettel, "w"); +fwrite ($fp, $_POST['bettelwerbung']); +fclose ($fp); +// Box 1 schreiben +$_POST['box1'] = str_replace('\\', '', $_POST['box1']); +$fp = @fopen ($alt_box1, "w"); +fwrite ($fp, $_POST['box1']); +fclose ($fp); +// Box 2 schreiben +$_POST['box2'] = str_replace('\\', '', $_POST['box2']); +$fp = @fopen ($alt_box2, "w"); +fwrite ($fp, $_POST['box2']); +fclose ($fp); +} + +// Dateien auslesen +$fp = fopen ($alt_head, "r"); +$head = @fread ($fp, filesize ($alt_head)); +fclose ($fp); +$head = str_replace('\\', '', $head); +// +$fp = fopen ($alt_pops, "r"); +$pops = @fread ($fp, filesize ($alt_pops)); +fclose ($fp); +$pops = str_replace('\\', '', $pops); +// +$fp = fopen ($alt_start, "r"); +$start = @fread ($fp, filesize ($alt_start)); +fclose ($fp); +$start = str_replace('\\', '', $start); +// Bettelwerbung Banner +$fp = fopen ($alt_bettel, "r"); +$binhalt = @fread ($fp, filesize ($alt_bettel)); +fclose ($fp); +$binhalt = str_replace('\\', '', $binhalt); +// Box 1 +$fp = fopen ($alt_box1, "r"); +$box1 = @fread ($fp, filesize ($alt_box1)); +fclose ($fp); +$box1 = str_replace('\\', '', $box1); +// Box 2 +$fp = fopen ($alt_box2, "r"); +$box2 = @fread ($fp, filesize ($alt_box2)); +fclose ($fp); +$box2 = str_replace('\\', '', $box2); +?> + +<?head("Alternativwerbung bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<b>Headerwerbung (Banner)</b><br> +<textarea name="head" style="width:500px; height:120px;"><?=$head;?></textarea><br> +<br> +<b>Startseitenpopup</b><br> +<textarea name="start" style="width:500px; height:120px;"><?=$start;?></textarea><br> +<br> +<b>Bettelseitenpopup</b><br> +<textarea name="pops" style="width:500px; height:120px;"><?=$pops;?></textarea><br> +<br> +<b>Bettelwerbung</b><br> +<textarea name="bettelwerbung" style="width:500px; height:120px;"><?=$binhalt;?></textarea><br> +<br> +<b>Menübox I</b><br> +<textarea name="box1" style="width:500px; height:120px;"><?=$box1;?></textarea><br> +<br> +<b>Menübox II</b><br> +<textarea name="box2" style="width:500px; height:120px;"><?=$box2;?></textarea><br> +<br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/texte/faq.php b/adminforce/content/texte/faq.php new file mode 100644 index 0000000..807631f --- /dev/null +++ b/adminforce/content/texte/faq.php @@ -0,0 +1,29 @@ +<? +// Variabeln +$filename = '../lib/texte/faq.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['text'])) $_POST['text'] = ''; + +// Datei schreiben +if ($_POST['updaten'] == 'Updaten !') { +$_POST['text'] = str_replace('\\', '', $_POST['text']); +$fp = fopen ($filename, "w"); +fwrite ($fp, $_POST['text']); +fclose ($fp); +} + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = @fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("FAQ's bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> diff --git a/adminforce/content/texte/klickralley.php b/adminforce/content/texte/klickralley.php new file mode 100644 index 0000000..7c96376 --- /dev/null +++ b/adminforce/content/texte/klickralley.php @@ -0,0 +1,29 @@ +<? +// Variabeln +$filename = '../lib/texte/klickralley.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['text'])) $_POST['text'] = ''; + +// Datei schreiben +if ($_POST['updaten'] == 'Updaten !') { +$_POST['text'] = str_replace('\\', '', $_POST['text']); +$fp = fopen ($filename, "w"); +fwrite ($fp, $_POST['text']); +fclose ($fp); +} + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = @fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("Klickralleyeinleitung bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/texte/refralley.php b/adminforce/content/texte/refralley.php new file mode 100644 index 0000000..2aad6ca --- /dev/null +++ b/adminforce/content/texte/refralley.php @@ -0,0 +1,29 @@ +<? +// Variabeln +$filename = '../lib/texte/refralley.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['text'])) $_POST['text'] = ''; + +// Datei schreiben +if ($_POST['updaten'] == 'Updaten !') { +$_POST['text'] = str_replace('\\', '', $_POST['text']); +$fp = fopen ($filename, "w"); +fwrite ($fp, $_POST['text']); +fclose ($fp); +} + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = @fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("Refralleyeinleitung bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/texte/wartung.php b/adminforce/content/texte/wartung.php new file mode 100644 index 0000000..5d95e26 --- /dev/null +++ b/adminforce/content/texte/wartung.php @@ -0,0 +1,29 @@ +<? +// Variabeln +$filename = '../lib/texte/wartung.txt'; +if (!isset($_POST['updaten'])) $_POST['updaten'] = ''; +if (!isset($_POST['text'])) $_POST['text'] = ''; + +// Datei schreiben +if ($_POST['updaten'] == 'Updaten !') { +$_POST['text'] = str_replace('\\', '', $_POST['text']); +$fp = fopen ($filename, "w"); +fwrite ($fp, $_POST['text']); +fclose ($fp); +} + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = @fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("Wartungstext bearbeiten (html erlaubt!)");?> +<div align="center"> +<form action="" method="post"> +<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br> +<input type="Submit" name="updaten" value="Updaten !"> +</form> +</div> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/usersystem/buchungen.php b/adminforce/content/usersystem/buchungen.php new file mode 100644 index 0000000..2b9d029 --- /dev/null +++ b/adminforce/content/usersystem/buchungen.php @@ -0,0 +1,27 @@ +<?head("Buchungsübersicht - Konto ".$_GET['uid']);?> +<table border="0" width="100%" cellpadding="0" cellspacing="1" bgcolor="#303030"> +<tr bgcolor="#f2f2f2"> +<td align="center"><b>Buchungs Id</b></td> +<td align="center"><b>Datum</b></td> +<td align="center"><b>Zeit</b></td> +<td align="center"><b>FuCos</b></td> +<td align="center"><b>Verwendungszweck</b></td> +</tr> +<? +$buchungen_lesen = db_query("SELECT * FROM ".$db_prefix."_buchungen WHERE uid=".$_GET['uid']." ORDER BY buchungszeit DESC LIMIT 250"); +while ($buchung_schreiben = mysql_fetch_array($buchungen_lesen)) { +$buchcolor = '#000000'; +if ($buchung_schreiben['buchungsmenge'] < 0) $buchcolor='#cc0000'; +?> +<tr bgcolor="#fafafa"> +<td align="left"> <?=$buchung_schreiben['buchungs_id'];?></td> +<td align="center"> <?=date("d.m.Y",$buchung_schreiben['buchungszeit']);?> </td> +<td align="center"> <?=date("H:i",$buchung_schreiben['buchungszeit']);?> </td> +<td align="right"> <font color="<?=$buchcolor;?>"><?=number_format($buchung_schreiben['buchungsmenge'],2,",",".");?></font> </td> +<td align="left"> <?=$buchung_schreiben['verwendungszweck'];?></td> +</tr> +<? +} +?> +</table> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/usersystem/doppelaccis.php b/adminforce/content/usersystem/doppelaccis.php new file mode 100644 index 0000000..fcd1d08 --- /dev/null +++ b/adminforce/content/usersystem/doppelaccis.php @@ -0,0 +1,83 @@ +<?head("Doppelte IP Adressen");?> +<table border="0" width="100%"> +<tr> + <td align="center"><b>Anzahl</b></td> + <td align="center"><b>IP-Adresse</b></td> +</tr> +<? +$sql = db_query("SELECT `login_ip`, COUNT(*) AS `anzahl` FROM `".$db_prefix."_kontodaten` GROUP BY `login_ip` HAVING COUNT(*) > 1") or die(mysql_error()); +if (!mysql_num_rows($sql)){ + echo ' + <tr> + <td colspan="2" align="center"><font color="green">Keine Doppelten IP-Adressen im System</font></td> + </tr>'; +}else{ + while ($fake1 = mysql_fetch_assoc($sql)){ + echo ' + <tr> + <td>'.$fake1['anzahl'].'</td> + <td><a href="?content=/usersystem/doppelaccis&ip='.$fake1['login_ip'].'">'.$fake1['login_ip'].'</a></td> + </tr> + '; + } +} +?> +</table> +<? +if($_GET['ip']){ +$ip = db_query("SELECT k.uid,u.nickname FROM + ".$db_prefix."_kontodaten AS k + LEFT JOIN ".$db_prefix."_userdaten AS u ON u.uid=k.uid +WHERE k.login_ip='".addslashes($_GET['ip'])."'"); + + echo "<p>User mit der IP ".$_GET['ip'].":</p>"; + while($doppelt = mysql_fetch_assoc($ip)){ + echo "<a href='?content=/usersystem/userbearbeiten&uid=".$doppelt['uid']."'>".$doppelt['nickname']."</a><br>"; + } +} + +foot();?> + + + +<?head("Doppelte Passwörter");?> +<table border="0" width="100%"> +<tr> + <td align="center"><b>Anzahl</b></td> + <td align="center"><b>md5Hash</b></td> +</tr> +<? +$sql2 = db_query("SELECT `passwort`, COUNT(*) AS `anzahl` FROM `".$db_prefix."_kontodaten` GROUP BY `passwort` HAVING COUNT(*) > 1") or die(mysql_error()); +if (!mysql_num_rows($sql)){ + echo ' + <tr> + <td colspan="2" align="center"><font color="green">Keine Doppelten Passwörter im System</font></td> + </tr>'; +}else{ + while ($fake2= mysql_fetch_assoc($sql2)){ + echo ' + <tr> + <td>'.$fake2['anzahl'].'</td> + <td><a href="?content=/usersystem/doppelaccis&md5='.$fake2['passwort'].'">'.$fake2['passwort'].'</a></td> + </tr> + '; + } +} + +?> +</table> + +<? +if($_GET['md5']){ +$md5 = db_query("SELECT k.uid,u.nickname FROM + ".$db_prefix."_kontodaten AS k + LEFT JOIN ".$db_prefix."_userdaten AS u ON u.uid=k.uid +WHERE k.passwort='".addslashes($_GET['md5'])."'"); + + echo "<p>User mit dem Passworthash ".$_GET['md5'].":</p>"; + while($doppelt = mysql_fetch_assoc($md5)){ + echo "<a href='?content=/usersystem/userbearbeiten&uid=".$doppelt['uid']."'>".$doppelt['nickname']."</a><br>"; + } +} + +foot();?> \ No newline at end of file diff --git a/adminforce/content/usersystem/liste.php b/adminforce/content/usersystem/liste.php new file mode 100644 index 0000000..03c0bf4 --- /dev/null +++ b/adminforce/content/usersystem/liste.php @@ -0,0 +1,42 @@ +<? +$gfx_status[0] = '<img src="images/gelb.gif" width="15" height="15" border="0" alt="Nicht freigeschaltet">'; +$gfx_status[1] = '<img src="images/gruen.gif" width="15" height="15" border="0" alt="O.K.">'; +$gfx_status[2] = '<img src="images/rot.gif" width="15" height="15" border="0" alt="Gesperrt">'; + +head("Userliste"); ?> +<table border="0" cellpadding="3" cellspacing="0" width="100%"> +<tr class="tr_head"> + <td align="center"></td> + <td align="center"><b>UID</b></td> + <td align="center"><b>Kontostand</b></td> + <td align="center"><b>Nickname</b></td> + <td align="center"><b>Name</b></td> + <td align="center"><b>Emailadresse</b></td> + <td align="center"><b>Angemeldet</b></td> +</tr> +<? +$userliste = db_query("SELECT k.uid,k.status,k.kontostand,u.nickname,u.vorname,u.angemeldet_seit,e.emailadresse + FROM ".$db_prefix."_kontodaten AS k + LEFT JOIN ".$db_prefix."_userdaten AS u ON u.uid=k.uid + LEFT JOIN ".$db_prefix."_emaildaten AS e ON e.uid=k.uid +ORDER BY k.uid ASC"); + +while ($ausgabe = mysql_fetch_array($userliste)) { +$i++; +$row = ($i % 2 == 0) ? 0 : 1; + +echo' +<tr class="tr_row'.$row.'"> + <td align="center"><a href="?content=/usersystem/userbearbeiten&uid='.$ausgabe['uid'].'" target="_self">'.$gfx_status[$ausgabe['status']].'</a></td> + <td align="center"><a href="../?content=/nickpage&id='.$ausgabe['uid'].'" target="_blank">'.$ausgabe['uid'].'</a></td> + <td align="center">'.number_format($ausgabe['kontostand'],2,",",".").'</td> + <td align="center">'.$ausgabe['nickname'].'</td> + <td align="center">'.$ausgabe['vorname'].' '.$ausgabe['nachname'].'</td> + <td align="center"><a href="mailto:'.$ausgabe['emailadresse'].'">Mail</a></td> + <td align="center">'.date("d.m.y - H:i",$ausgabe['angemeldet_seit']).'</td> +</tr> +'; +} +?> +</table> +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/usersystem/userbearbeiten.php b/adminforce/content/usersystem/userbearbeiten.php new file mode 100644 index 0000000..abe9f03 --- /dev/null +++ b/adminforce/content/usersystem/userbearbeiten.php @@ -0,0 +1,263 @@ +<? +// Variable _GET['uid'] pruefen +if (!empty ($_GET['uid'])) $_POST['uid'] = $_GET['uid']; +$_POST['uid'] = (int)$_POST['uid']; +if (empty ($_POST['uid'])) die ('Keine korrekte User-ID übergeben!'); + +// Allgemeine Daten speichern +if (isset ($_POST['profile'])) { + db_query ('UPDATE '.$db_prefix.'_userdaten SET vorname = "'.$_POST['vorname'].'", nachname = "'.$_POST['nachname'].'" WHERE uid = '.$_POST['uid']); + db_query ('UPDATE '.$db_prefix.'_emaildaten SET emailadresse = "'.$_POST['emailadresse'].'", freigabe_fuer = "'.$_POST['freigabe_fuer'].'" WHERE uid = '.$_POST['uid']); + if ($_POST['werber'] != $_POST['alt_werber'] && $_POST['werber'] != $_POST['uid']) db_query ('UPDATE '.$db_prefix.'_werberdaten SET werber = "'.$_POST['werber'].'", umsatz = 0, zuordnungszeit = 0, reset = 0, resetzeit = 0, gesamt = 0, refback = 0, aktivzeit = 0 WHERE uid = '.$_POST['uid']); +} + +// Betrag verbuchen +if (isset ($_POST['finanze'])) { + if ($_POST['buchungssumme'] > 0 && $_POST['buchungssumme']) { + $buchungs_id = create_code (14); + buchungsliste ($buchungs_id, $_POST['buchungsart'].$_POST['buchungssumme'], $_POST['buchungstext'].' (Admin)', $_POST['uid']); + kontobuchung ($_POST['buchungsart'], $_POST['buchungssumme'], $_POST['uid']); + +if ($_POST['art'] == '+'){ +$ausgabe = $_POST['buchungsmenge']; +}else{ +$einnahme = $_POST['buchungsmenge']; +} + + bilanz($einnahme,$ausgabe); + $nachricht = 'Hallo,'."\n\n".'Es wurde soeben eine Buchung auf dein Userkonto ausgeführt:'."\n\n".$_POST['buchungsart'].' '.number_format($_POST['buchungssumme'], 2, ',', '.').' '.$waehrung.' '.$_POST['buchungstext']."\n\n\n".'Mit freundlichen Grüßen, dein '.$seitenname.'-Team'; + if (isset ($_POST['send_mail']) && $_POST['send_mail'] == 'ja') usermail ($_POST['email'],$seitenname.' Kontobuchung', $nachricht, '"'.$seitenname.'" <'.$betreibermail.'>'); + } +} + +// Zugangsberechtigungen aendern +if (isset ($_POST['access'])) { + if (isset ($_POST['send_mail']) && $_POST['send_mail'] == 'ja') { + if ($_POST['status'] == 0) $desc = 'Wartend'; + elseif ($_POST['status'] == 1) $desc = 'Freigeschaltet'; + elseif ($_POST['status'] == 2) $desc = 'Gesperrt'; + elseif ($_POST['status'] == 'loeschen') $desc = 'Gelöscht'; + $grund = (empty ($_POST['hinweis'])) ? 'Keine Angabe' : $_POST['hinweis']; + $nachricht = 'Hallo,'."\n\n".'Dein Userstatus auf '.$seitenname.' wurde so ebend geändert.'."\n\n".'Neuer Status: '.$desc.''."\n\n".'Grund:'."\n".$grund."\n\n\n".'Mit freundlichen Grüßen, dein '.$seitenname.'-Team'; + usermail ($_POST['email'], 'Dein Account auf '.$seitenname, $nachricht, '"'.$seitenname.'" <'.$betreibermail.'>'); + } + + if ($_POST['status'] != 'loeschen') { + $_POST['status'] = (int)$_POST['status']; + db_query ('UPDATE '.$db_prefix.'_kontodaten SET status = '.$_POST['status'].', hinweis = "'.$_POST['hinweis'].'" WHERE uid = '.$_POST['uid']); + } else { + $sperrzeit = ( time() + ( 86400 * 365 ) ); + db_query ('INSERT INTO '.$db_prefix.'_userblacklist (uid,zeit) VALUES ('.$_POST['uid'].','.$sperrzeit.')'); + db_query ('DELETE FROM '.$db_prefix.'_kontodaten WHERE uid = '.$_POST['uid']); + db_query ('DELETE FROM '.$db_prefix.'_emaildaten WHERE uid = '.$_POST['uid']); + db_query ('DELETE FROM '.$db_prefix.'_userdaten WHERE uid = '.$_POST['uid']); + db_query ('DELETE FROM '.$db_prefix.'_werberdaten WHERE uid = '.$_POST['uid']); + db_query ('UPDATE '.$db_prefix.'_werberdaten SET werber = 0 WHERE werber = '.$_POST['uid']); + echo '<meta http-equiv="refresh" content="0; URL=index.php?content=/usersystem/liste">'; + } +} + +// Notizen speichern +if (isset ($_POST['notice'])) { + db_query ('UPDATE '.$db_prefix.'_userdaten SET notizen = "'.$_POST['notizen'].'" WHERE uid = '.$_POST['uid']); +} + +// Daten einlesen +$sql = db_query ('SELECT * FROM '.$db_prefix.'_kontodaten t1, '.$db_prefix.'_userdaten t2, '.$db_prefix.'_emaildaten t3, '.$db_prefix.'_werberdaten t4 WHERE t1.uid = '.$_POST['uid'].' AND t2.uid = '.$_POST['uid'].' AND t3.uid = '.$_POST['uid'].' AND t4.uid = '.$_POST['uid'].' LIMIT 1'); +if (mysql_num_rows ($sql) == 0) die ('Die angegebene User-ID existiert nicht!'); +$alledaten = mysql_fetch_assoc ($sql); +?> + +<? head ('Bearbeiten des Users <i>'.$alledaten['nickname'].'</i> ('.$alledaten['uid'].')'); ?> +<div style="text-align: center;"> +<a href="javascript:ShowUserInfo(1);">Allgemeines</a> · +<a href="javascript:ShowUserInfo(2);">Statistik</a> · +<a href="javascript:ShowUserInfo(3);">Konto</a> · +<a href="javascript:ShowUserInfo(4);">Zugang</a> · +<a href="javascript:ShowUserInfo(5);">Buchungen</a> · +<a href="javascript:ShowUserInfo(6);">Notizen</a> +</div><hr size=1 style="color:#c0c0c0;"> + +<div id="Userinfo1" style="display: block;"> +<form action="" method="POST"> +<input type="hidden" name="uid" value="<?=$alledaten['uid'];?>"> +<input type="hidden" name="alt_werber" value="<?=$alledaten['werber'];?>"> +<table width="350" border="0" cellpadding="1" cellspacing="1" align="center" bgcolor="#000000"> + <tr bgcolor="#fafafa"> + <td align="right"><b>User-ID</b>: </td> + <td align="left"> <?=$alledaten['uid'];?></td> + </tr> + <tr bgcolor="#ededed"> + <td align="right"><b>Nickname</b>: </td> + <td align="left"> <?=$alledaten['nickname'];?></td> + </tr> + <tr bgcolor="#fafafa"> + <td align="right"><b>Werber-ID</b>: </td> + <td align="left"> <input type="text" name="werber" value="<?=$alledaten['werber'];?>"></td> + </tr> + <tr bgcolor="#ededed"> + <td align="right"><b>Vorname</b>: </td> + <td align="left"> <input type="text" name="vorname" value="<?=$alledaten['vorname'];?>"></td> + </tr> + <tr bgcolor="#fafafa"> + <td align="right"><b>Nachname</b>: </td> + <td align="left"> <input type="text" name="nachname" value="<?=$alledaten['nachname'];?>"></td> + </tr> + <tr bgcolor="#ededed"> + <td align="right"><b>eMailadresse</b>: </td> + <td align="left"> <input type="text" name="emailadresse" value="<?=$alledaten['emailadresse'];?>"></td> + </tr> + <tr bgcolor="#fafafa"> + <td align="right"><b>eMail-Empfang</b>: </td> + <td align="left"> <select name="freigabe_fuer" size="1"> + <option value="0" <?if ($alledaten['freigabe_fuer'] == 0) echo'SELECTED';?>>Kein Empfang</option> + <option value="1" <?if ($alledaten['freigabe_fuer'] == 1) echo'SELECTED';?>>Nur Newsletter</option> + <option value="2" <?if ($alledaten['freigabe_fuer'] == 2) echo'SELECTED';?>>Nur Paidmails</option> + <option value="3" <?if ($alledaten['freigabe_fuer'] == 3) echo'SELECTED';?>>Newsletter / Paidmails</option> + </select></td> + </tr> + <tr bgcolor="#ededed"> + <td align="center" colspan="2"><br /><input type="submit" name="profile" value="» Updaten"><br /> </td> + </tr> +</table> +</form> +</div> + +<div id="Userinfo2" style="display: none;"> +<table width="350" border="0" cellpadding="1" cellspacing="1" align="center" bgcolor="#000000"> + <tr bgcolor="#fafafa"> + <td> <b>Refback</b>:</td> + <td colspan="2" align="right"><?=$alledaten['refback'];?> % </td> + </tr> + <tr bgcolor="#ededed"> + <td> <b>Angemeldet</b>:</td> + <td colspan="2" align="right"><?=date('d.m.Y H:i', $alledaten['angemeldet_seit']);?> </td> + </tr> + <tr bgcolor="#fafafa"> + <td> <b>Letzter Login</b>:</td> + <td colspan="2" align="right"><?=date('d.m.Y H:i', $alledaten['loginzeit']);?> </td> + </tr> + <tr bgcolor="#ededed"> + <td> <b>Letzte Aktivität</b>:</td> + <td colspan="2" align="right"><?=date('d.m.Y H:i', $alledaten['last_active']);?> </td> + </tr> + <tr bgcolor="#fafafa"> + <td> <b>Letzte IP</b>:</td> + <td colspan="2" align="right"><?=$alledaten['login_ip'];?> </td> + </tr> + <tr bgcolor="#ededed"> + <td> <b>ForcedKlicks</b>:</td> + <td width=50 align="right"><?=$alledaten['klicks'];?> </td> + <td align="right"><?=number_format ($alledaten['kv'], 2, ',', '.').' '.$waehrung;?> </td> + </tr> + <tr bgcolor="#fafafa"> + <td> <b>Betteln</b>:</td> + <td align="right"><?=$alledaten['angebettelt'];?> </td> + <td align="right"><?=number_format ($alledaten['bv'], 2, ',', '.').' '.$waehrung;?> </td> + </tr> +</table> +</div> + +<div id="Userinfo3" style="display: none;"> +<form action="" method="POST"> +<input type="hidden" name="uid" value="<?=$alledaten['uid'];?>"> +<input type="hidden" name="email" value="<?=$alledaten['emailadresse'];?>"> +<table align="center" border="0" cellpadding="0" cellspacing="2"> + <tr> + <td><b>Kontostand</b>:<br /> + <?=number_format($alledaten['kontostand'],2,",",".").' '.$waehrung;?></td> + </tr> + <tr> + <td><br /><b>Summe</b>:<br /> + <select style="width: 40px" name="buchungsart" size="1"><option value="+" SELECTED>+</option><option value="-">-</option></select><input style="width: 100px; height: 19px;" type="Text" name="buchungssumme" value=""></td> + </tr> + <tr> + <td><br /><b>Grund</b> (max. 30 Zeichen):<br /> + <input style="width: 140px" type="text" name="buchungstext" value="" maxlength="30"></td> + </tr> + <tr> + <td><br /><b>Mail an User</b>:<br /> + <input type="radio" name="send_mail" value="ja" /> Ja <input checked="checked" type="radio" name="send_mail" value="nein" /> Nein</td> + </tr> + <tr> + <td align="center"><br /><input type="submit" name="finanze" value="» Buchen" /></td> + </tr> +</table> +</form> +</div> + +<div id="Userinfo4" style="display: none;"> +<form action="" method="POST"> +<input type="hidden" name="uid" value="<?=$alledaten['uid'];?>"> +<input type="hidden" name="email" value="<?=$alledaten['emailadresse'];?>"> +<table align="center" border="0" cellpadding="0" cellspacing="2"> + <tr> + <td><b>Status</b>:<br /> + <select name="status" size="1" style="width: 140px;"> + <option value="0" <?if ($alledaten['status'] == 0) echo'SELECTED';?>>Wartend</option> + <option value="1" <?if ($alledaten['status'] == 1) echo'SELECTED';?>>Freigeschaltet</option> + <option value="2" <?if ($alledaten['status'] == 2) echo'SELECTED';?>>Gesperrt</option> + <option value="<?=$alledaten['status'];?>">--------------</option> + <option value="loeschen">User löschen</option> +</select></td> + </tr> + <tr> + <td><br /><b>Hinweistext</b>:<br /> + <textarea name="hinweis" style="width: 140px; height: 100px;"><?=$alledaten['hinweis'];?></textarea></td> + </tr> + <tr> + <td><br /><b>Mail an User</b>:<br /> + <input checked="checked" type="radio" name="send_mail" value="ja" /> Ja <input type="radio" name="send_mail" value="nein" /> Nein</td> + </tr> + <tr> + <td align="center"><br /><input type="submit" name="access" value="» Ändern" /></td> + </tr> +</table> +</form> +</div> + +<div id="Userinfo5" style="display: none;"> +<table border="0" width="100%" cellpadding="0" cellspacing="1" bgcolor="#303030"> +<tr class="tr_head"> +<td align="center"><b>Buchungs Id</b></td> +<td align="center"><b>Datum</b></td> +<td align="center"><b>Zeit</b></td> +<td align="center"><b><?=$waehrung;?></b></td> +<td align="center"><b>Verwendungszweck</b></td> +</tr> +<? +$buchungen_lesen = db_query('SELECT * FROM '.$db_prefix.'_buchungen WHERE uid = '.$alledaten['uid'].' ORDER BY buchungszeit DESC LIMIT 250'); +while ($buchung_schreiben = mysql_fetch_array($buchungen_lesen)) { +$i++; + $buchcolor = ($buchung_schreiben['buchungsmenge'] > 0) ? '#000000' : '#cc0000'; + $linecolor = ($i %2 == 0) ? 1 : 0; +?> +<tr class="tr_row<?=$linecolor;?>"> +<td align="left"> <?=$buchung_schreiben['buchungs_id'];?></td> +<td align="center"> <?=date("d.m.Y",$buchung_schreiben['buchungszeit']);?> </td> +<td align="center"> <?=date("H:i",$buchung_schreiben['buchungszeit']);?> </td> +<td align="right"> <font color="<?=$buchcolor;?>"><?=number_format($buchung_schreiben['buchungsmenge'],2,",",".");?></font> </td> +<td align="left"> <?=$buchung_schreiben['verwendungszweck'];?></td> +</tr> +<? +} +?> +</table> +</div> + +<div id="Userinfo6" style="display: none;"> +<form action="" method="POST"> +<input type="hidden" name="uid" value="<?=$alledaten['uid'];?>"> +<table align="center" border="0" cellpadding="0" cellspacing="2"> + <tr> + <td><b>Notizen</b>:<br /> + <textarea name="notizen" style="width: 340px; height: 150px;"><?=$alledaten['notizen'];?></textarea></td> + </tr> + <tr> + <td align="center"><br /><input type="submit" name="notice" value="» Speichern" /></td> + </tr> +</table> +</form> +</div> + +<? foot(); ?> \ No newline at end of file diff --git a/adminforce/content/werbesystem/forcedbanner_468.php b/adminforce/content/werbesystem/forcedbanner_468.php new file mode 100644 index 0000000..cb69296 --- /dev/null +++ b/adminforce/content/werbesystem/forcedbanner_468.php @@ -0,0 +1,82 @@ +<? +// Variabeln definieren +if (!isset($_POST['buchen'])) $_POST['buchen'] = ""; +if (!isset($_POST['verdienst'])) $_POST['verdienst'] = ""; +if (!isset($_POST['menge'])) $_POST['menge'] = "0"; +if (!isset($_POST['ziel'])) $_POST['ziel'] = ""; +if (!isset($_POST['banner_url'])) $_POST['banner_url'] = ""; +if (!isset($_POST['reload'])) $_POST['reload'] = "1"; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = "0"; +if (!isset($buchungsfehler)) $buchungsfehler = ""; +if (!isset($buchung)) $buchung = ""; + + +if ($_POST['buchen'] == 'Jetzt Buchen') { + + // Fehlerprüfung + if (!$_POST['menge'] or ereg("[^0-9]", $_POST['menge'])) $buchungsfehler .= 'Bei Menge nur Zahlen!<br>'; + if (!$_POST['banner_url'] or !$_POST['menge'] or !$_POST['ziel'] or !$_POST['reload']) $buchungsfehler .= 'Bitte alle Felder ausfüllen!<br>'; + if ($_POST['reload'] < 1 or $_POST['reload'] > 24 or ereg("[^0-9]", $_POST['reload'])) $buchungsfehler .= 'Bei Reloadzeit nur Zahlen und zwischen 1 und 24 Stunden!<br>'; + if ($_POST['aufendhalt'] < 0 or $_POST['aufendhalt'] > 30 or ereg("[^0-9]", $_POST['aufendhalt'])) $buchungsfehler .= 'Bei dem Aufendhalt nur Zahlen und zwischen 0 und 30 Sekunden!<br>'; + if ($_POST['aufendhalt']>30 or $_POST['aufendhalt']<0 or ereg("[^0-9]",$_POST['aufendhalt'])) $buchungsfehler .= 'Aufendhalt nur Zahlen und zwischen 1 und 30 Sek.!<br>'; + + // Buchung durchführen + if (!$buchungsfehler) { + $buchungs_id = create_code(32); + $reload = $_POST['reload']*60*60; + db_query("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,ziel,banner,aufendhalt,menge,preis,verdienst,werbeart,status,reload,sponsor) VALUES ('".$buchungs_id."','".$_POST['ziel']."','".$_POST['banner_url']."','".$_POST['aufendhalt']."','".$_POST['menge']."','0','".$_POST['verdienst']."','forcedbanner','1','".$reload."','administrator')"); + $buchung = 'true'; + } +} +?> + + +<? +if ($buchungsfehler) { +head("Eingabefehler"); +echo '<b><font color="#FF0000">'.$buchungsfehler.'</font></b>'; +foot(); +} +?> + +<? +if ($buchung == 'true'){ +head("Buchung erfolgreich..."); +echo '<font color="#000080">Deine Buchung war erfolgreich und wurde dem System hinzugefügt.</font>'; +foot(); +} +?> + +<?head("Formular Forcedbanner 468*60");?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> + <td>Menge</td> + <td><input type="Text" name="menge" value="<?=$_POST['menge'];?>" style="width:60px" maxlength="6"></td> +</tr> +<tr> + <td>Userverdienst</td> + <td><input type="Text" name="verdienst" value="<?=$_POST['verdienst'];?>" style="width:60px" maxlength="6"></td> +</tr> +<tr> + <td>Ziel URL (mit http://)</td> + <td><input type="Text" name="ziel" value="<?=$_POST['ziel'];?>" style="width:330px"></td> +</tr> +<tr> + <td>Banner URL (mit http://)</td> + <td><input type="Text" name="banner_url" value="<?=$_POST['banner_url'];?>" style="width:330px"></td> +</tr> +<tr> + <td>Reloadzeit (Stunden)</td> + <td><input type="Text" name="reload" value="<?=$_POST['reload'];?>" style="width:40px" maxlength="2"> max. 24 Stunden</td> +</tr> +<tr> + <td>Aufendhalt (Sekunden)</td> + <td><input type="Text" name="aufendhalt" value="<?=$_POST['aufendhalt'];?>" style="width:40px" maxlength="2"> max. 30</td> +</tr> +<tr> + <td align="center" valign="middle" colspan="2"><input type="Submit" name="buchen" value="Jetzt Buchen"></td> +</tr> +</table> +</form> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/werbesystem/paidmail.php b/adminforce/content/werbesystem/paidmail.php new file mode 100644 index 0000000..cb81ee4 --- /dev/null +++ b/adminforce/content/werbesystem/paidmail.php @@ -0,0 +1,100 @@ +<? +if (!isset($_POST['versenden'])) $_POST['versenden'] = ""; +if (!isset($_POST['verdienst'])) $_POST['verdienst'] = ""; +if (!isset($_POST['menge'])) $_POST['menge'] = "0"; +if (!isset($_POST['ziel'])) $_POST['ziel'] = ""; +if (!isset($_POST['mailtext'])) $_POST['mailtext'] = ""; +if (!isset($_POST['beschreibung'])) $_POST['beschreibung'] = ""; +if (!isset($_POST['aufendhalt'])) $_POST['aufendhalt'] = "0"; +if (!isset($_POST['gueltig'])) $_POST['gueltig'] = "1"; +if (!isset($tan)) $tan = ""; + + $empfaenger = db_query("SELECT e.uid,e.emailadresse FROM + ".$db_prefix."_emaildaten e + LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=e.uid +WHERE (e.freigabe_fuer = '3' or e.freigabe_fuer = '2') AND k.status=1"); + $maxempf = mysql_num_rows($empfaenger); + +if ($_POST['versenden'] == 'Paidmail versenden!') { + + + if ($_POST['menge'] == 0) $_POST['menge'] = 5000; + if ( $_POST['menge'] >= $maxempf ) $_POST['menge'] = $maxempf; + + $tan = create_code(14); + $bis = time() + (86400*$_POST['gueltig']); + db_query("INSERT INTO ".$db_prefix."_paidmails_versendet (tan,menge,verdienst,ziel,beschreibung,mailtext,aufendhalt,gesendet,gueltig) VALUES ('".$tan."','".$_POST['menge']."','".$_POST['verdienst']."','".$_POST['ziel']."','".$_POST['beschreibung']."','".$_POST['mailtext']."','".$_POST['aufendhalt']."','".time()."','".$bis."')"); + + $senden = db_query("SELECT e.uid,e.emailadresse FROM + ".$db_prefix."_emaildaten e + LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=e.uid +WHERE (e.freigabe_fuer = '3' or e.freigabe_fuer = '2') AND k.status=1 ORDER BY RAND() LIMIT ".$_POST['menge'].""); + + while ($versendet = mysql_fetch_array($senden)) { + db_query("INSERT INTO ".$db_prefix."_paidmails_empfaenger (uid,gueltig,tan,status,aufendhalt) VALUES ('".$versendet['uid']."','".$bis."','".$tan."','0','".$_POST['aufendhalt']."')"); + $message='Hallo, + dieses ist eine neue '.$seitenname.' Paidmail, für dessen Bestätigung + Du '.$_POST['verdienst'].' '.$waehrung.' für '.$_POST['aufendhalt'].' Sek. aufenthalt erhälst! + Diese Paidmail ist gültig bis '.date("d.m.Y - H:i:s",$bis).' + +'.$_POST['beschreibung'].' + +'.$_POST['mailtext'].' +-------------------------------------------------------------------- + +Die Betreiber von '.$seitenname.' distanzieren sich vom Inhalt dieser Mail! + +Diese Mail ist kein Spam da der Empfänger als Mitglied von +'.$seitenname.' dem Empfang zugestimmt hat. + +Bestätigungslink: +'.$domain.'/pclick.php?tan='.$tan.'&uid='.$versendet["uid"].' + +Mit freundlichen Grüßen +Das '.$seitenname.' Team'; +usermail($versendet['emailadresse'], 'Neue '.$seitenname.' Paidmail', $message, '"'.$seitenname.'" <'.$betreibermail.'>') or die('Versandfehler'); + + } +$msg_send = '<b><div align="center"><font color="#800000">Diese Paidmail wurd an '.$_POST['menge'].' User versendet</font></div></b>'; +} + +?> + +<? head("Paidmail einbuchen und versenden"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> + <td>Anzahl der Empfänger</td> + <td><input type="Text" name="menge" value="<?=$_POST['menge'];?>" style="width:60px" maxlength="6"> (0 = an alle, max: <?=$maxempf;?>)</td> +</tr> +<tr> + <td>Userverdienst</td> + <td><input type="Text" name="verdienst" value="<?=$_POST['verdienst'];?>" style="width:60px" maxlength="6"></td> +</tr> +<tr> + <td>Ziel URL (mit http://)</td> + <td><input type="Text" name="ziel" value="<?=$_POST['ziel'];?>" style="width:330px"></td> +</tr> +<tr> + <td>Beschreibung</td> + <td><input type="Text" name="beschreibung" value="<?=$_POST['beschreibung'];?>" style="width:215px" maxlength="30"> (max. 30 Zeichen)</td> +</tr> +<tr> + <td valign="top">Mailtext</td> + <td><textarea cols="50" rows="10" name="mailtext"><?=$_POST['mailtext'];?></textarea></td> +</tr> +<tr> + <td>Aufendhalt (Sekunden)</td> + <td><input type="Text" name="aufendhalt" value="<?=$_POST['aufendhalt'];?>" style="width:40px" maxlength="2"></td> +</tr> +<tr> + <td>Gültig (TAGE)</td> + <td><input type="Text" name="gueltig" value="<?=$_POST['gueltig'];?>" style="width:40px" maxlength="2"></td> +</tr> +<tr> + <td align="center" valign="middle" colspan="2"><input type="Submit" name="versenden" value="Paidmail versenden!"></td> +</tr> +</table> +</form> +<?=$msg_send;?> +<?foot();?> \ No newline at end of file diff --git a/adminforce/content/werbesystem/paidmail_hist.php b/adminforce/content/werbesystem/paidmail_hist.php new file mode 100644 index 0000000..97d3cb9 --- /dev/null +++ b/adminforce/content/werbesystem/paidmail_hist.php @@ -0,0 +1,43 @@ +<? +if (!isset($_GET['tan'])) $_GET['tan'] = ""; +if (!isset($_GET['loeschen'])) $_GET['loeschen'] = ""; + +if ($_GET['loeschen'] == 'true') { +db_query("DELETE FROM ".$db_prefix."_paidmails_versendet WHERE tan='".$_GET['tan']."'"); +db_query("DELETE FROM ".$db_prefix."_paidmails_empfaenger WHERE tan='".$_GET['tan']."'"); +} +?> + + +<? +$mails = db_query("SELECT * FROM ".$db_prefix."_paidmails_versendet ORDER BY gesendet DESC"); + + +while ($history = mysql_fetch_array($mails)) { + head('Paidmail: '.$history['beschreibung']); +?> + <b>Tan:</b> <?=$history['tan'];?><br> + <b>Menge:</b> <?=$history['menge'];?><br> + <b>Bestätigt:</b> <?=$history['bestaedigt'];?> (<?=@round($history['bestaedigt']/$history['menge']*100,2);?> %)<br> + <b>Userverdienst:</b> <?=$history['verdienst'];?><br> + <b>Gültig bis:</b> <?=date("d.m.Y - H:i",$history['gueltig']);?><br> + <b>Gesendet am:</b> <?=date("d.m.Y - H:i",$history['gesendet']);?> <br> + <b>Aufenthalt:</b> <?=$history['aufendhalt'];?> Sek.<br> + + <p align="center"><textarea style="width:100%"><?=$history['mailtext'];?></textarea></p> + +<? + if ($history['gueltig'] <= time() or $history['menge']==$history['bestaedigt']){ echo ' + <br><br><a href="?content=/werbesystem/paidmail_hist&tan='.$history['tan'].'&loeschen=true"><b>Löschen!</b></a> + '; + } +foot(); +} + +if (!mysql_num_rows($mails)){ + head("Information"); + echo 'Noch keine Paidmails vorhanden!'; + foot(); +} +?> + diff --git a/adminforce/css/main.css b/adminforce/css/main.css new file mode 100644 index 0000000..8b82706 --- /dev/null +++ b/adminforce/css/main.css @@ -0,0 +1,78 @@ +BODY { + background-color: #665; + color: #000000; +} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; +} + +.titel { + font-family: Verdana, Arial, Helvetica, sans-serif; + color: #666666; + font-size: 11px; + font-weight: bold; +} + +a { + color: #666655; + text-decoration: none; + font: 8pt Verdana; +} + +a:hover { + text-decoration: underline; + color: red; +} + +.tblbgcolor { + background-color: #336; + font-family: Verdana, Arial, Helvetica, sans-serif; +} + +input { + border-width: 1; + font-size: 11px; + font-family: verdana; + border-color: #505050; + border-style: solid; + background-color: #E6E6E6; + color: 333333; + font-weight: normal; +} + +select { + border-width:1; font-size: 11px; font-family: verdana; border-color:#000080; + border-style:solid; background-color:#EEEEEE; color:333333; +} + +textarea { + border-width: 1; + font-size: 11px; + font-family: verdana; + border-color: #505050; + border-style: solid; + background-color: #E6E6E6; + color: 333333; + font-weight: normal; +} + +option { + border-width:1; font-size: 11px; font-family: verdana; border-color:#000080; + border-style:solid; background-color:#EEEEEE; color:333333; +} + +.tr_row0 { + BACKGROUND-COLOR: #E2E2E2; +} + +.tr_row1 { + BACKGROUND-COLOR: #CDCDCD; +} + +.tr_head { + BACKGROUND-COLOR: #0099CC; + COLOR:#000000; + FONT-WEIGHT: bold; +} \ No newline at end of file diff --git a/adminforce/images/Thumbs.db b/adminforce/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..7a020b55a6e3dd29edeb1157377a9b590ed1f1e0 GIT binary patch literal 5632 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 JY9Dj^e*o2(Kdt}( literal 0 HcmV?d00001 diff --git a/adminforce/images/gelb.gif b/adminforce/images/gelb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2668ff9c4237f6759ff440a28101db094fa85149 GIT binary patch literal 147 zcmZ?wbhEHb<Y(Y#*vtR||NsAg{Fvd^EryF18BUyF*twHs<w}+X3wTbP5Lma)9ViP{ z1tk=JvM@3*a5LzD_#iVFSR4vYdam9pp3y5Fz)>XQz}Dv$6*PZ_l<OX^hS@5t3(wD6 n%kLofV8SUzRwl)Z77l9K3=#`FpZGEy%Su1|vSR-f4hCxgLt-(t literal 0 HcmV?d00001 diff --git a/adminforce/images/gruen.gif b/adminforce/images/gruen.gif new file mode 100644 index 0000000000000000000000000000000000000000..51da984c216bf3db6d3b0f83219eee99d48f9e9f GIT binary patch literal 149 zcmZ?wbhEHb<Y(Y#*vtR||NsAIc*MYPje+4L1H(=R#^sEhvpGc$h$uW$P`IF=a7aOM zlcL574UjSh2F0H&j0_BX3_2j4ATt<PoGzU7T)kI3qgS?|J<(wPSJR|Gou?&c9bN)n wuUkFr_?vl`a4_{hH$G9(w4^`qhAJ!P>~uvLmBo^*LftnDtR5JsGBH>K02=Er9smFU literal 0 HcmV?d00001 diff --git a/adminforce/images/rot.gif b/adminforce/images/rot.gif new file mode 100644 index 0000000000000000000000000000000000000000..b98d7f896e98b3b690bba58dac718c54f58e57d6 GIT binary patch literal 147 zcmZ?wbhEHb<Y(Y#*vtR||NsAg#K3Tkf#D<r!%hZ<<&2E8IXMrAh%A?qTIcQ#lm)AT z5{f@r7#SG28FWB=kQodt4h1JYSML?i=oJrWS7e$wsl(MPD1MTHrs8@b0i_)_JX_k8 mTJEl6H#kz(q;heEx0ZH;Q^A8bz6_Vu(+<C^*gu7X!5RQ;$1J4) literal 0 HcmV?d00001 diff --git a/adminforce/index.php b/adminforce/index.php new file mode 100644 index 0000000..f552021 --- /dev/null +++ b/adminforce/index.php @@ -0,0 +1,52 @@ +<? +session_start(); +$shows = 0; + +if($_POST['check'] == "Login") { + @require_once ('../lib/functions.lib.php'); + db_connect(); + $page = mysql_fetch_array(db_query("SELECT admin_name, admin_pass FROM ".$db_prefix."_seitenkonfig LIMIT 1")); + if($_POST['loginname'] == $page['admin_name'] && $_POST['passwort'] == $page['admin_pass']) { + $_SESSION['admin'] = 1; + header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']); + } +} + + +if($_SESSION['admin'] == 1) { + +@include_once('lib/header.php'); +@include_once('content'.$_GET['content'].'.php'); +@include_once('lib/footer.php'); + +} else { +?> +<html> +<head> +<title>Adminforce</title> +</head> +<link rel="stylesheet" href="css/main.css" type="text/css"> +<body> +<center> +<b>Adminlogin</b> + +<form action="" method="POST"> +<table border="0"> +<tr> + <td><b>Loginname:</b></td> + <td><input name="loginname" type="text"></td> +</tr> +<tr> + <td><b>Passwort:</b></td> + <td><input name="passwort" type="password"></td> +</tr> +<tr> + <td colspan=2 align="center"><input name="check" value="Login" type="submit"></td> +</tr> +</table> +</form> + +</center> +</body> +</html> +<?}?> diff --git a/adminforce/lib/footer.php b/adminforce/lib/footer.php new file mode 100644 index 0000000..3bb6e57 --- /dev/null +++ b/adminforce/lib/footer.php @@ -0,0 +1,10 @@ +</td> +<td width="5" valign="top" align="left"></td> +<td width="130" valign="top" align="left"><? require ( 'lib/menue_rechts.php' ); ?></td> +</tr> +</table> + +</td></tr></table> +</body> +</html> +<? db_close (); ?> \ No newline at end of file diff --git a/adminforce/lib/header.php b/adminforce/lib/header.php new file mode 100644 index 0000000..f31ec2f --- /dev/null +++ b/adminforce/lib/header.php @@ -0,0 +1,99 @@ +<? +require ('../lib/functions.lib.php'); +db_connect (); +require ('lib/layout.lib.php'); + +// Extras-Erweiterung initalisieren und ausfuehren +require ( '../lib/extras.lib.php' ); + +if (!isset($_GET['content'])) $_GET['content'] = '/startseite'; +if (!file_exists('content'.$_GET['content'].'.php')) $_GET['content'] = '/error/keine_seite'; +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title>..:: Adminforce ::..</title> +<meta name="Author" content=""> +<meta name="Publisher" content=""> +<meta name="Copyright" content=""> +<meta name="Keywords" content=""> +<meta name="Description" content=""> +<meta name="Page-topic" content=""> +<meta name="Audience" content=""> +<meta name="Content-language" content="DE"> +<meta name="Page-type" content="Nicht Gewinnorientiert"> +<meta name="Robots" content="INDEX,FOLLOW"> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> +<link rel="stylesheet" href="css/main.css" type="text/css"> +<script type="text/javascript"> +<!-- +function menuebox(id,art){ + +if(art == 1){ + document.getElementById(id).style.display = 'block'; +}else{ + document.getElementById(id).style.display = 'none'; + } + +} + +function ShowUserInfo (art) { + /* alle container ausblenden */ + document.getElementById("Userinfo1").style.display = 'none'; + document.getElementById("Userinfo2").style.display = 'none'; + document.getElementById("Userinfo3").style.display = 'none'; + document.getElementById("Userinfo4").style.display = 'none'; + document.getElementById("Userinfo5").style.display = 'none'; + document.getElementById("Userinfo6").style.display = 'none'; + + /* ausgewaehlten container einblenden */ + document.getElementById("Userinfo" + art).style.display = 'block'; +} +--> +</script> +<script language="javascript" type="text/javascript"> +<!-- +var win=null; + +onerror = stopError; +function stopError(){ + return true; +} + +function ShowWindow (url) { + var myleft = (screen.availWidth - 640) / 2; + var mytop = (screen.availHeight - 480) / 2; + settings="width=640,height=480,top=" + mytop + ",left=" + myleft + ",scrollbars=yes,location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=yes,dependent=no"; + win=window.open(url,"",settings); + win.focus(); + +} +// --> +</script> +</head> + +<body style="topmargin:5;leftmargin:0;"> + +<noscript><div style="font: 10pt Arial; color: #ff0000; text-align: center;">Um <b>alle Funktionen des Adminforce</b> nutzen zu können, bitte <b>JavaScript aktivieren</b>!</div></noscript> + +<table width="800" cellpadding="0" cellspacing="0" border="0" align="center"> +<tr> +<td valign="top" align="center"> + + <table style="width:800px; background-color:#888855; border-width:1px; cellpading:0; cellspacing:0; border-color:#000000; border-collapse: collapse;"> + <tr> + <td class="titel" height="66" valign="middle" align="left"> + <font face="Arial" size=6 color="#ffffff">VMS 1.2 Adminforce</font><br> + <font face="Arial" size=2 color="#ffffff"><?=$seitenname;?></font> + </td> + </tr> +</table> + +<table width="800" border="0" cellpadding="0" cellspacing="0"><tr><td height="5"> </td></tr></table> +<!-- Inhalt --> + +<table width="800" cellpadding="0" cellspacing="0" border="0"> +<tr> +<td width="130" valign="top" align="left"><? require ( 'lib/menue_links.php' ); ?></td> +<td width="5" valign="top" align="left"></td> +<td width="530" valign="top" align="left"> \ No newline at end of file diff --git a/adminforce/lib/layout.lib.php b/adminforce/lib/layout.lib.php new file mode 100644 index 0000000..5bf8f0a --- /dev/null +++ b/adminforce/lib/layout.lib.php @@ -0,0 +1,36 @@ +<? +function head($titel){ +echo ' +<table style="width:100%; border-collapse: collapse; border-color:#000000; background-color:#EEEECC; border-width:7px; cellpading:3; cellspacing:0;"> +<tr> + <td><font face="Arial" size=2><b>'.$titel.'</b></font></td> +</tr> +<tr> +<td bgcolor="#ffffff">'; +} + +function foot(){ +echo ' +</td> +</tr> +</table> +<br>'; +} + +function menuehead($titel){ +echo' +<table style="width:100%; border-collapse: collapse; border-color:#000000; background-color:#BBBB88; border-width:1px; cellpading:3; cellspacing:0;"> +<tr> + <td><font face="Arial" size=2><b>'.$titel.'</b></font></td> +</tr> +<tr> +<td bgcolor="#EEEECC">'; +} + +function menuefoot(){ +echo'</td> +</tr> +</table> +<br>'; +} +?> \ No newline at end of file diff --git a/adminforce/lib/menue_links.php b/adminforce/lib/menue_links.php new file mode 100644 index 0000000..2cedd7f --- /dev/null +++ b/adminforce/lib/menue_links.php @@ -0,0 +1,33 @@ +<?menuehead("Allgemeines")?> +» <a href="?content=/startseite">Adminstart</a><br> +» <a href="?content=/usersystem/liste">Userliste</a><br> +» <a href="?content=/usersystem/doppelaccis">Doppalccounts</a><br> +» <a href="?content=/module">Module</a><br> +» <a href="?content=/bilanzsystem">Bilanz</a><br> +<?menuefoot();?> + +<?menuehead("Newssystem")?> +» <a href="?content=/newssystem/news">News schreiben</a><br> +<?menuefoot();?> + +<?menuehead("Ralleysystem")?> +» <a href="?content=/ralleysystem/aktiv">Aktivralley</a><br> +» <a href="?content=/ralleysystem/klick">Klickralley</a><br> +» <a href="?content=/ralleysystem/ref">Refralley</a><br> +<?menuefoot();?> + +<?menuehead("Konfigurationen")?> +» <a href="?content=/interfacedaten/pageconfig">Seiteneinstell.</a><br> +» <a href="?content=/interfacedaten/crons">Crons</a><br> +» <a href="?content=/interfacedaten/betreiber">Betreiberdaten</a><br> +<?menuefoot();?> + +<?menuehead("Texte bearbeiten")?> +» <a href="?content=/texte/alternativwerbung">Alternativwerbung</a><br> +» <a href="?content=/texte/klickralley">Klickralley</a><br> +» <a href="?content=/texte/aktivralley">Aktivralley</a><br> +» <a href="?content=/texte/refralley">Refralley</a><br> +» <a href="?content=/texte/agb">AGB</a><br> +» <a href="?content=/texte/faq">FAQ</a><br> +» <a href="?content=/texte/wartung">Wartungstext</a><br> +<?menuefoot();?> diff --git a/adminforce/lib/menue_rechts.php b/adminforce/lib/menue_rechts.php new file mode 100644 index 0000000..4824c67 --- /dev/null +++ b/adminforce/lib/menue_rechts.php @@ -0,0 +1,25 @@ +<?menuehead("Werbung einb.")?> +» <a href="?content=/werbesystem/forcedbanner_468">Forced 468</a><br> +» <a href="?content=/werbesystem/paidmail"><font color="#FF0000">Paidmails vers.</font></a><br> +» <a href="?content=/werbesystem/paidmail_hist"><font color="#FF0000">Paidmail Hist.</font></a><br> +<?menuefoot();?> + +<?menuehead("Interfacedaten")?> +» <a href="?content=/interfacedaten/dsn-ads">DSN-Ads</a><br> +» <a href="?content=/interfacedaten/webmasterlose">Webmasterlose</a><br> +» <a href="?content=/interfacedaten/lose-ads">Lose-Ads</a><br> +» <a href="?content=/interfacedaten/losebox">Losebox</a><br> +» <a href="?content=/interfacedaten/losebox">Losewerbung</a><br> +» <a href="?content=/interfacedaten/hp-lose">HPLose</a><br> +<?menuefoot();?> + +<?menuehead("Interfacebanner")?> +» <a href="?content=/interfacebanner/dsn-ads">DSN-Ads</a><br> +» <a href="?content=/interfacebanner/webmasterlose">Webmasterlose</a><br> +» <a href="?content=/interfacebanner/lose-ads">Lose-Ads</a><br> +» <a href="?content=/interfacebanner/losebox">Losebox</a><br> +» <a href="?content=/interfacebanner/losewerbung">Losewerbung</a><br> +» <a href="?content=/interfacebanner/hp-lose">HPLose</a><br> +» <a href="?content=/interfacebanner/admin"><b>Adminbanner</b></a><br> +» <a href="?content=/interfacebanner/blacklist"><b>Blacklist</b></a><br> +<?menuefoot();?> \ No newline at end of file diff --git a/adminforce/moduladmin.php b/adminforce/moduladmin.php new file mode 100644 index 0000000..649d1a1 --- /dev/null +++ b/adminforce/moduladmin.php @@ -0,0 +1,43 @@ +<? +@session_start(); + +if($_SESSION['admin'] != 1){ + header('HTTP/1.1 401 Unauthorized'); + header('Location: index.php'); + die(); +} + +require ('../lib/functions.lib.php'); +db_connect (); +require ('lib/layout.lib.php'); + +// Extras-Erweiterung initalisieren und ausfuehren +require ( '../lib/extras.lib.php' ); +?> +<html> +<head> +<link rel="stylesheet" href="css/main.css" type="text/css"> +</head> +<body topmargin="5" leftmargin="5"> +<noscript><div style="font: 10pt Arial; color: #ff0000; text-align: center;">Um <b>alle Funktionen des Adminforce</b> nutzen zu können, bitte <b>JavaScript aktivieren</b>!</div><br /><br /></noscript> +<? +$dir = '../module/'; + +if (isset ($_GET['mod'])) { + if (is_dir ($dir.$_GET['mod'])) { + require ( '../lib/module.lib.php' ); + define ('MODULADMIN_LOADED', TRUE); + if (file_exists ($dir.$_GET['mod'].'/admin.php')) require ($dir.$_GET['mod'].'/admin.php'); + else $err = 'Die Moduladministrationsdatei wurde nicht gefunden.'; + } else $err = 'Das angegebene Modul wurde nicht gefunden.'; +} else $err = 'Es wurde kein Modulname übergeben.'; + +if (isset ($err)) { + head ('Fehler'); + echo 'Es ist ein Fehler auf unserer Seite aufgetreten:<br /><br />' . $err; + foot (); +} +?> +</body> +</html> +<? db_close (); ?> \ No newline at end of file diff --git a/content/error/kein_ref.php b/content/error/kein_ref.php new file mode 100644 index 0000000..1407cd8 --- /dev/null +++ b/content/error/kein_ref.php @@ -0,0 +1,6 @@ +<?head("Refdetails - Fehlermeldung!");?> +Du vesuchst gerade Detaildaten eines Refusers aufzurufen der Dir nicht zugeordnet ist. +Du kannst nur die Daten aus Deiner ersten Ebene sehen, alle anderen Daten bleiben Dir +verwehrt. +</ul> +<?foot();?> \ No newline at end of file diff --git a/content/error/kein_zutritt.php b/content/error/kein_zutritt.php new file mode 100644 index 0000000..73f5b5f --- /dev/null +++ b/content/error/kein_zutritt.php @@ -0,0 +1,12 @@ +<?head("Zutritt verweigert");?> +Der Zutritt zu diesem Bereich wurde Dir verweigert!<br> +Bevor Du dich an den Support wendest, prüfe bitte erst die unten aufgezählten Möglichkeiten +um so unnötige Supportanfragen zu vermeiden!<br> +<ul> +<b>Mögliche Gründe</b><br> +<li>Du bist nicht eingeloggt (bitte erst einloggen)</li> +<li>Die Kontonummer/Passwortkombination stimmt nicht (Loginfehler)</li> +<li>Du hast deinen Account noch nicht freigeschaltet (bitte Email prüfen)</li> +<li>Die Session ist abgelaufen (verwende doch den Autologin)</li> +</ul> +<?foot();?> diff --git a/content/error/keine_seite.php b/content/error/keine_seite.php new file mode 100644 index 0000000..92822aa --- /dev/null +++ b/content/error/keine_seite.php @@ -0,0 +1,12 @@ +<?head("Seite nicht gefunden");?> +Die von Dir angeforderte Seite ist nicht erreichbar.<br> +Bitte wähle aus dem Menü einen gültigen Link, sollte weiterhin das Problem bestehen informiere +bitte den Webmaster darüber.<br> +<ul> +<b>Mögliche Gründe</b><br> +<li>Die Seite wurde aus Wartungsgründen entfernt</li> +<li>Ein Link im Menü wurde falsch gesetzt</li> +<li>Du hast eine falsche oder ungültige URL erhalten (extern)</li> +</ul> +<?foot();?> + diff --git a/content/error/user_gesperrt.php b/content/error/user_gesperrt.php new file mode 100644 index 0000000..de50a3f --- /dev/null +++ b/content/error/user_gesperrt.php @@ -0,0 +1,7 @@ +<?head("Account gesperrt");?> +Bitte wende Dich an den Webmaster!<br> +<br> +<b>Dein Account wurde mit folgender Begründung gesperrt!</b><br> +<?=nl2br($login_check['hinweis']);?> + +<?foot();?> \ No newline at end of file diff --git a/content/intern/agbs.php b/content/intern/agbs.php new file mode 100644 index 0000000..cdc2227 --- /dev/null +++ b/content/intern/agbs.php @@ -0,0 +1,14 @@ +<? +// Variabeln +$filename = 'lib/texte/agb.txt'; + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("Allgemeine Geschäftsbedingungen");?> +<?=nl2br($inhalt);?> +<?foot();?> \ No newline at end of file diff --git a/content/intern/aktivieren.php b/content/intern/aktivieren.php new file mode 100644 index 0000000..370e35a --- /dev/null +++ b/content/intern/aktivieren.php @@ -0,0 +1,43 @@ +<? +if (!isset($_GET['ak'])) $_GET['ak'] = ""; +$_GET['ak'] = addslashes ($_GET['ak']); + +$aktivierung = db_query('SELECT * FROM '.$db_prefix.'_aktivierungen WHERE ak = "'.$_GET['ak'].'" LIMIT 1'); + +if (mysql_num_rows($aktivierung)) { +$aktivieren = mysql_fetch_array($aktivierung); +db_query("UPDATE ".$db_prefix."_kontodaten SET status = '1' WHERE uid = '".$aktivieren['uid']."' AND status = '0' LIMIT 1"); +db_query("DELETE FROM ".$db_prefix."_aktivierungen WHERE ak = '".$_GET['ak']."' LIMIT 1"); +?> + +<?head("$seitenname - Accountaktivierung!");?> +Die Aktivierung Deines Accounts bei <?=$seitenname;?> war erfolgreich, +Du kannst Dich nun bei uns einloggen und unser Angebot in vollem Umfang nutzen.<br> +<br> +Solltest Du Fehler auf unserer Webseite finden dann sende uns bitte eine Email +an <a href="mailto:<?=$betreibermail;?>" target="_blank"><?=$betreibermail;?></a><br> +<br> +Wir wünschen Dir nun viel Spaß und viele viele Funcoins!<br> +<br> +Mit freundlichen Grüßen<br> +Das <?=$seitenname;?> Team<br> +<?foot();?> + +<? +} else { +?> + +<?head("$seitenname - Accountaktivierung [Code falsch]!");?> +Die Aktivierung Deines Accounts bei <?=$seitenname;?> ist fehlgeschlagen, +bitte prüfe nochmals den Aktivierungslink oder vordere den Link neu an.<br> +<br> +Solltest Du Fehler auf unserer Webseite finden dann sende uns bitte eine Email +an <a href="mailto:<?=$betreibermail;?>" target="_blank"><?=$betreibermail;?></a><br> +<br> +Mit freundlichen Grüßen<br> +Das <?=$seitenname;?> Team<br> +<?foot();?> + +<? +} +?> diff --git a/content/intern/anmelden.php b/content/intern/anmelden.php new file mode 100644 index 0000000..016b636 --- /dev/null +++ b/content/intern/anmelden.php @@ -0,0 +1,188 @@ +<? +// Variabel vordefinieren! +if (!isset($_POST['anmelden'])) $_POST['anmelden'] = ""; +if (!isset($_POST['nickname'])) $_POST['nickname'] = ""; +if (!isset($_POST['nachname'])) $_POST['nachname'] = ""; +if (!isset($_POST['vorname'])) $_POST['vorname'] = ""; +if (!isset($_POST['emailadresse'])) $_POST['emailadresse'] = ""; +if (!isset($_POST['passwort_1'])) $_POST['passwort_1'] = ""; +if (!isset($_POST['passwort_2'])) $_POST['passwort_2'] = ""; +if (!isset($_POST['uid_passwort'])) $_POST['uid_passwort'] = ""; +if (!isset($_POST['uid'])) $_POST['uid'] = ""; +if (!isset($_POST['agb'])) $_POST['agb'] = ""; +if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "1"; +if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "1"; +if (!isset($error)) $error = ""; +if (!isset($anmeldeok)) $anmeldeok = ""; +if (!isset($ak)) $ak = ""; + +if ($_POST['anmelden'] == "Jetzt anmelden!") { + + $_POST['nachname'] = addslashes ($_POST['nachname']); + $_POST['vorname'] = addslashes ($_POST['vorname']); + + + $schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo"); + $tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds"); + $s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE zeit='".$tag."' and uid='0'")); + // Auf Eingabefehler prüfen + if(!$_POST['nachname'] || !$_POST['vorname'] || !$_POST['emailadresse'] || !$_POST['passwort_1'] || !$_POST['passwort_2'] || !$_POST['uid'] || !$_POST['uid_passwort'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<br>'; + + // Pruefen, ob man sich mit der eMail-Domain anmelden darf + $denied = explode(';', $pageconfig['denied_domains']); + foreach ($denied AS $nr => $emaildomain) if (($nr < (count ($denied)-2) || strlen ($emaildomain) >= 5) && strpos ($_POST['emailadresse'], $emaildomain) !== FALSE) $error .= 'E-Mail-Adressen mit der Domain "<i>'.$emaildomain.'</i>" sind bei uns nicht erlaubt!<br>'; + + if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>'; + if ($_POST['passwort_1'] != $_POST['passwort_2']) $error .= 'Passwörter stimmen nicht überein!<br>'; + if (strlen($_POST['passwort_1']) < 8) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>'; + if (ereg("[^0-9]", $_POST['uid'])) $error .= 'Bei der Klamm Id nur Zahlen!<br>'; + if ($_POST['agb'] != "ja") $error .= 'Du musst die AGBs bestädigen!<br>'; + if ($_POST['uid'] == $_SESSION['werber']) $error .= 'Du kannst Dich nicht selber werben<br>'; + if ($schnittstelle['anfragen_tag'] != 0 and $schnittstelle['anfragen_tag'] <= $s_verbrauch) $error = 'Die Schnittstellenanfragen sind für heute verbraucht!!!<br>'; + + // User mit der Datenbank abgleichen + if (!$error) { + $_POST['nickname'] = mysql_real_escape_string(ucfirst($_POST['nickname'])); + $nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$_POST['nickname']."'"); + $user_check = db_query ("SELECT `uid` FROM ".$db_prefix."_kontodaten WHERE uid='".$_POST['uid']."'"); + $mail_check = db_query ("SELECT `emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse='".$_POST['emailadresse']."'"); + $black_check= db_query ("SELECT * FROM ".$db_prefix."_userblacklist WHERE uid='".$_POST['uid']."' and zeit >='".time()."'"); + $sperre = mysql_fetch_array($black_check); + if ($sperre['zeit'] != 99999999999) { + $sperrtext = 'Du bist für eine Neuanmeldung noch bis <b>'.date("d.m.Y - H:i:s",$sperre['zeit']).'</b> gesperrt!<br>'; + } else { + $sperrtext = '<b><i>Du bist für diese Webseite komplett gesperrt!</i></b>'; + } + if (mysql_num_rows($user_check)) $error .= 'Du bist bereits bei uns angemeldet!<br>'; + if (mysql_num_rows($mail_check)) $error .= 'Diese Emailadresse ist schon im System!<br>'; + if (mysql_num_rows($black_check)) $error = $sperrtext; + if (mysql_num_rows($nickname_check)) $error .='Der Nickname ist schon vergeben!<br>'; + } + + // User beim Betreiber prüfen + if (!$error) { + if ($schnittstelle['anfragen_user'] != 0) db_query("INSERT INTO ".$db_prefix."_schnittstelle_anfragen (zeit,uid) VALUES ('".$tag."','0')"); + @require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php"); + @uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_POST['uid'],$_POST['uid_passwort']); + if ($error) $error = $trans_ausgabe.'<br>'; + } + + + // User eintragen + if (!$error) { + if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0; + if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1; + if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2; + if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3; + db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','0')"); + db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES ('".$_POST['uid']."','".$_POST['emailadresse']."','".$mailstatus."')"); + db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES ('".$_POST['uid']."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')"); + $ws = db_query("SELECT * FROM ".$db_prefix."_werberdaten WHERE uid='".$_POST['uid']."'"); + db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES ('".$_POST['uid']."','".$_SESSION['werber']."','0','".time()."')"); + $ak = md5($_POST['uid'].''.time()); + db_query("INSERT INTO ".$db_prefix."_aktivierungen (uid,ak) VALUES ('".$_POST['uid']."','".$ak."')"); + $email_message = 'Hallo '.$_POST['nickname'].', + Du hast Dich soeben erfolgreich bei '.$seitenname.' angemeldet. + + Bitte aktiviere jetzt Deinen Account, klicke dazu bitte auf den + Aktivierungslink: '.$domain.'/?content=/intern/aktivieren&ak='.$ak.' + + ---------------------------------------------------------- + Kontonummer: '.$_POST['uid'].' + Passwort: '.$_POST['passwort_1'].' + ---------------------------------------------------------- + + Nach der Aktivierung kannst Du dich sofort einloggen und bei + uns teilnehmen. + + Mit freundlichen Grüßen + Das '.$seitenname.' Team + '; + usermail($_POST['emailadresse'], "$seitenname Accountaktivierung", $email_message, '"'.$seitenname.'" <'.$betreibermail.'>'); + $anmeldeok = "true"; + } + +} + +if ($error){ +head("Anmeldefehler"); +echo '<font color="#cc0000">'.$error.'</font>'; +foot(); +} +?> + +<? if ($anmeldeok != "true") { ?> +<?head("$seitenname - Neuanmeldung");?> +<center><b>Neuanmeldung</b></center> + <table width="100%" cellpadding="3" cellspacing="0" border="0"> + <form action="" method="post"> + <tr> + <td class="main"><b>Nickname:</b></td> + <td class="main"><input type="text" name="nickname" value="<?=$_POST['nickname'];?>"></td> + </tr> + <tr> + <td class="main"><b>Nachname:</b></td> + <td class="main"><input type="text" name="nachname" value="<?=$_POST['nachname'];?>"></td> + </tr> + <tr> + <td class="main"><b>Vorname:</b></td> + <td class="main"><input type="text" name="vorname" value="<?=$_POST['vorname'];?>"></td> + </tr> + <tr> + <td class="main"><b>Emailadresse:</b></td> + <td class="main"><input type="text" name="emailadresse" value="<?=$_POST['emailadresse'];?>"></td> + </tr> + <tr> + <td class="main"><b>Klamm Id:</b></td> + <td class="main"><input type="text" name="uid" value="<?=$_POST['uid'];?>"></td> + </tr> + <tr> + <td class="main"><b>Lose-Passwort zur Identifizierung:</b></td> + <td class="main"><input type="password" name="uid_passwort"></td> + </tr> + <tr> + <td class="main">Werber:</td> + <td class="main"><? if($_SESSION['werber'] == 0) {echo '<b>keinen</b>';} else {echo $_SESSION['werber'];}?></td> + </tr> + <tr> + <td class="main"><b>Passwort:</b></td> + <td class="main"><input type="password" name="passwort_1"></td> + </tr> + <tr> + <td class="main"><b>Passwortbestätigung:</b></td> + <td class="main"><input type="password" name="passwort_2"></td> + </tr> + <tr> + <td class="main"><b>Paidmails empfangen:</b></td> + <td class="main"><select name="paidmails"><option value="1" <? if ($_POST['paidmails'] == 1) { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['paidmails'] != 1) { echo 'selected';}?>>Nein</option></select></td> + </tr> + <tr> + <td class="main"><b>Newsletter:</b></td> + <td class="main"><select name="newsletter"><option value="1" <? if ($_POST['newsletter'] == "1") { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['newsletter'] != "1") { echo 'selected';}?>>Nein</option></select></td> + </tr> + <tr> + <td class="main"><b>AGB`s gelesen und akzeptiert:</b></td> + <td class="main"><select name="agb"><option value="ja" <? if ($_POST['agb'] == "ja") { echo 'selected';}?>>Ja</option><option value="nein" <? if ($_POST['agb'] != "ja") { echo 'selected';}?>>Nein</option></select></td> + </tr> + <tr> + <td class="main" align="center" colspan="2"> + Vor dem Anmelden lese bitte die AGB`s!<br><br> + <input type="submit" name="anmelden" value="Jetzt anmelden!"> + </td> + </tr> + </form> + </table> +<?foot();?> +<?} else {?> +<?head("$seitenname - Anmeldung erfolgreich!");?> +Deine Anmeldung bei <?=$seitenname;?> war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink. +Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br> +<br> +Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br> +<br> +Mit freundlichen Grüßen<br> +Das <?=$seitenname;?> Team<br> + +<?foot();?> +<? } ?> + diff --git a/content/intern/daten.php b/content/intern/daten.php new file mode 100644 index 0000000..4cac64b --- /dev/null +++ b/content/intern/daten.php @@ -0,0 +1,42 @@ +<? +if (isset($_POST['anf_daten']) && isset($_POST['anf_email'])) { + $_POST['anf_email'] = addslashes ($_POST['anf_email']); + + $daten_anfordern = mysql_fetch_array(db_query("SELECT `uid`,`emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse = '".$_POST['anf_email']."' LIMIT 1")); + if ($daten_anfordern['emailadresse']) { + $neues_passwort = create_code(8); + db_query ("UPDATE ".$db_prefix."_kontodaten SET passwort='".md5($neues_passwort)."' WHERE uid=".$daten_anfordern['uid'].""); + $email_message = 'Hallo, + Du hast soeben die Zugangsdaten für '.$seitenname.' angefordert. + + ---------------------------------------------------------- + Kontonummer: '.$daten_anfordern['uid'].' + Passwort: '.$neues_passwort.' + ---------------------------------------------------------- + + Jetzt kannst Du dich wieder auf '.$domain.' + einloggen und das Passwort wieder ändern! + + Mit freundlichen Grüßen + Das '.$seitenname.' Team + '; + usermail ($daten_anfordern['emailadresse'], "$seitenname Passwort", $email_message, '"'.$seitenname.'" <'.$betreibermail.'>'); + $error_msg = '<b>Passwort wurde zugesandt!</b><br>'; + } else { + $error_msg = '<b>Emailadresse nicht bekannt!</b><br>'; + } +} +?> +<?head("Zugangsdaten anfordern");?> +<p align="center"><font color="red"> <?=$error_msg;?></font></p> + +Wenn Du deine Zugangsdaten mal verloren haben solltest oder diese einfach nur mal verlegt hast, +kannst Du hier diese Daten wieder in Erfahrung bringen. Wir senden an Deine bei uns gespeicherte +Emailadresse sofort die Daten zu.<br> +<form action="" method="post"> +<div align="center"> +<b>Angemeldetet Email-Adresse: </b><input type="Text" name="anf_email"> <input type="Submit" name="anf_daten" value="Anfordern!" style="width:120px;"> +</div> +</form> +<?foot();?> + diff --git a/content/intern/faqs.php b/content/intern/faqs.php new file mode 100644 index 0000000..7fcc287 --- /dev/null +++ b/content/intern/faqs.php @@ -0,0 +1,14 @@ +<? +// Variabeln +$filename = 'lib/texte/faq.txt'; + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> + +<?head("Fragen und Antworten");?> +<?=nl2br($inhalt);?> +<?foot();?> \ No newline at end of file diff --git a/content/intern/impressum.php b/content/intern/impressum.php new file mode 100644 index 0000000..6035dde --- /dev/null +++ b/content/intern/impressum.php @@ -0,0 +1,15 @@ +<?head("Impressum von ".$seitenname."");?> +<b>Anschrift</b> +<?foot();?> + +<?head("Rechtlicher Hinweis");?> +Alle verwendeten Fotos, Grafiken, Texte und sonstigen Bestandteile dieser Website unterliegen dem Copyright von <a href="<?=$domain;?>" target="_blank"><?=$seitenname;?></a> und sind Eigentum von <a href="<?=$domain;?>" target="_blank"><?=$seitenname;?></a>.<br> +<br> +Die private oder gewerbliche Verwendung von Inhalten jeglicher Art bedarf der vorherigen Zustimmung von <a href="<?=$domain;?>" target="_blank"><?=$seitenname;?></a>.<br> +<br> +Die Inhalte unserer Internetseiten werden sorgfältig geprüft. Eine Garantie für die Vollständigkeit, Richtigkeit und letzte Aktualität kann jedoch nicht übernommen werden.<br> +<br> +<a href="<?=$domain;?>" target="_blank"><?=$seitenname;?></a> ist für den Inhalt von Websites, auf die von unseren Seiten verlinkt wird, nicht verantwortlich. Der Verweis mittels Hyperlink stellt auch keine Empfehlung dieser Websites oder der sie betreibenden Unternehmen oder ihrer Produkte durch uns dar.<br> +<br> +Haftungsansprüche, die durch die Nutzung unseres Internetangebotes verursacht werden, sind ausgeschlossen, sofern wir nicht vorsätzlich oder grob fahrlässig gehandelt haben. Des weiteren behält sich <a href="<?=$domain;?>" target="_blank"><?=$seitenname;?></a> das Recht vor, Änderungen oder Ergänzungen der bereitgestellten Informationen vorzunehmen.<br> +<?foot();?> \ No newline at end of file diff --git a/content/intern/mediadaten.php b/content/intern/mediadaten.php new file mode 100644 index 0000000..f90c44d --- /dev/null +++ b/content/intern/mediadaten.php @@ -0,0 +1,102 @@ +<? +if (!isset($fc_gebucht)) $fc_gebucht = ''; +if (!isset($fc_menge)) $fc_menge = ''; +if (!isset($fc_wert)) $fc_wert = ''; +if (!isset($in_fc_gebucht)) $in_fc_gebucht = ''; +if (!isset($in_fc_menge)) $in_fc_menge = ''; +if (!isset($in_fc_wert)) $in_fc_wert = ''; + +$kontostats = mysql_fetch_array(db_query("SELECT COUNT(uid) AS kd_uid , SUM(kontostand) AS kd_kontostand , SUM(klicks) AS kd_klicks , SUM(angebettelt) AS kd_angebettelt , SUM(kv) AS kd_kv , SUM(bv) AS kd_bv FROM ".$db_prefix."_kontodaten")); +$werberdaten = mysql_fetch_array(db_query("SELECT SUM(gesamt) AS wd_gesamt FROM ".$db_prefix."_werberdaten")); + +$ex_fc = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE menge >= 1 and werbeart = 'forcedbanner' and status = '1'"); +while ($count = mysql_fetch_array($ex_fc)) { +$fc_gebucht++; +$fc_menge = $fc_menge + $count['menge']; +$fc_wert = $fc_wert + ($count['verdienst']*$count['menge']); +} + +$heute = strtotime("".date("m")."/".date("d")."/".date("Y").""); // Format mm.tt.yyyy +$seitenstart = strtotime("04/02/2005"); // Format mm.tt.yyyy +$tage = ($heute - $seitenstart) / 86400; +if ($tage <= 1) $tage = 1; +?> + +<?head("Mediadaten - $seitenname");?> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td width="50%">Start dieser Seite</td> +<td width="50%"><?=date("d.m.Y",$seitenstart);?></td> +</tr> +<tr> +<td width="50%">Guthaben aller User</td> +<td width="50%"><?=@number_format($kontostats['kd_kontostand'],2,",",".");?> <?=$waehrung;?></td> +</tr> +<tr> +<td width="50%">Guthaben Ø pro User</td> +<td width="50%"><?=@number_format($kontostats['kd_kontostand'] / $kontostats['kd_uid'],2,",",".");?> <?=$waehrung;?></td> +</tr> +<tr> +<td width="50%">Angemeldete User</td> +<td width="50%"><?=@number_format($kontostats['kd_uid'],0,",",".");?></td> +</tr> +<tr> +<td width="50%">Anmeldungen pro Tag</td> +<td width="50%"><?=@number_format($kontostats['kd_uid'] / $tage,2,",",".");?></td> +</tr> +</table> +<?foot();?> + +<?head("Mediadaten - Diverses");?> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td width="50%">Forcedklicks aller User</td> +<td width="50%"><?=@number_format($kontostats['kd_klicks'],0,",",".");?> Klicks</td> +</tr> +<tr> +<td width="50%">Verdienst bei allen Forcedklicks</td> +<td width="50%"><?=@number_format($kontostats['kd_kv'],2,",",".");?> <?=$waehrung;?></td> +</tr> +<tr> +<td width="50%">Ø Verdienst pro Klick</td> +<td width="50%"><?=@number_format($kontostats['kd_kv']/$kontostats['kd_klicks'],2,",",".");?> <?=$waehrung;?></td> +</tr> +</table> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td width="50%">Bettelaufrufe alle User</td> +<td width="50%"><?=@number_format($kontostats['kd_angebettelt'],0,",",".");?> Aufrufe</td> +</tr> +<tr> +<td width="50%">Verdienst bei allen Bettelaufrufen</td> +<td width="50%"><?=@number_format($kontostats['kd_bv'],2,",",".");?> <?=$waehrung;?></td> +</tr> +<tr> +<td width="50%">Ø Verdienst pro Aufruf</td> +<td width="50%"><?=@number_format($kontostats['kd_bv']/$kontostats['kd_angebettelt'],2,",",".");?> <?=$waehrung;?></td> +</tr> +</table> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td width="50%">Refverdienste für alle Werber</td> +<td width="50%"><?=@number_format($werberdaten['wd_gesamt'],2,",",".");?> <?=$waehrung;?></td> +</tr> +</table> +<?foot();?> + +<?head("Mediadaten - Werbung");?> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td width="50%">Forcedklick Kampagnen</td> +<td width="50%"><?=@number_format($fc_gebucht,0,",",".");?> Kampagnen</td> +</tr> +<tr> +<td width="50%">Forcedklick Restklicks</td> +<td width="50%"><?=@number_format($fc_menge,0,",",".");?> Klicks</td> +</tr> +<tr> +<td width="50%">Forcedklicks Gesamtwert</td> +<td width="50%"><?=@number_format($fc_wert,2,",",".");?> <?=$waehrung;?></td> +</tr> +</table> +<?foot();?> \ No newline at end of file diff --git a/content/intern/startseite.php b/content/intern/startseite.php new file mode 100644 index 0000000..5141a51 --- /dev/null +++ b/content/intern/startseite.php @@ -0,0 +1,42 @@ +<?head("Willkommen auf ".$seitenname);?> +Hier werden sie mit Klammlose für das Surfen mit einer Surfbar bezahlt. +Die Surfbar ist so klein das sie nicht störend wirkt und doch funktionell ist. +Man bekommt Banner angezeigt die alle 45 Sekunden wechseln. Ergänzt wird die +Surfbar durch Clickbanner und Paidmails durch die sie ihren Verdienst noch +massiv steigern können<br> +<br> +Viel Spaß beim verdienen wünscht Vorname Nachname<br> +<?foot();?> + +<? +if ($_SESSION['login'] == 'true'){ + $news = db_query("SELECT * FROM ".$db_prefix."_news ORDER BY id DESC LIMIT 1"); + while ($nz = mysql_fetch_array($news)) { + head($nz['titel'].' vom '.date("d.m.Y - H:i:s",$nz['zeit'])); + echo nl2br($nz['news']); + foot(); + } +} +?> + +<?head("Verdienst auf ganzer Linie !");?> +Bei <?=$seitenname;?> verdienen sie für fast alles Klammlose. Sie können durch das +surfen mit der Surfbar, Clickbanner, Paidmails, Werben neuer Mitglieder, etc... +viele Klammlose erwirtschaften. +<ul> +<li><b>3 Ref-Ebenen:</b> +Über 3-Refebenen verdienen Sie an ihren geworbenen Mitgliedern. Somit lohnt sich +das werben neue Mitglieder. Allein durch das Ref-System können Sie viele Klammlose +verdienen selbst wenn Sie selbst nichts als werben neuer Mitglieder machen. +Die Ref-Ebenen: 8% / 3% / 1%<br> +</li> +<li><b>Clickbanner & Paidmails:</b> +Durch das klicken auf Clickbanner oder das bestätigen von Paidmails können Sie +ihrer Verdienst weiter steigern<br> +</li> +<li><b>Bettelsystem:</b> +Bringen sie andere User dazu ihren Bettelink zu klicken und erhöhen Sie sich +so ihren Verdienst<br> +</li> +</ul> +<?foot();?> diff --git a/content/intern/werbemittel.php b/content/intern/werbemittel.php new file mode 100644 index 0000000..a939302 --- /dev/null +++ b/content/intern/werbemittel.php @@ -0,0 +1,39 @@ +<? +/* +Weitere Werbemittel einfach in den Ordner /images/banner/ laden! +Diese werden automatisch erkannt und aufgelistet! +*/ + +if ($_SESSION['uid'] >= 0) {?> +<? head("Dein Werbelinks"); ?> +<table> +<tr><td align="right"><b>Dein Reflink:</b></td><td align="left"> <a href="<?=$domain;?>/?ref=<?=$_SESSION['uid'];?>" target="_blank"><?=$domain;?>/?ref=<?=$_SESSION['uid'];?></a></td></tr> +<tr><td align="right"><b>Reflink und Bettellink:</b></td><td align="left"> <a href="<?=$domain;?>/?content=/betteln&ref=<?=$_SESSION['uid'];?>" target="_blank"><?=$domain;?>/?content=/betteln&ref=<?=$_SESSION['uid'];?></a></td></tr> +</table> +<? foot(); + + $url = $domain.'/?content=/betteln&ref='.$_SESSION['uid'].''; +}else{ + $url = $domain; +} + +?> + +<?head("".$seitenname." - Werbemittel");?> +<div align="center"> +<? +$open = opendir('./images/banner/'); +while ($banner = readdir($open)){ + if ($banner != '..' && $banner != '.' && $banner != 'Thumbs.db'){ + $size = getimagesize('images/banner/'.$banner); + $groesse = filesize('images/banner/'.$banner.'')/1024; + echo ' + <b>'.$size[0].'x'.$size[1].' (~ '.round($groesse).' KB)</b><br> + <img src="images/banner/'.$banner.'" alt="'.$seitenname.'"><br> + <textarea style="width:468px; height:50px;"><a href="'.$url.'" target="_blank"><img src="'.$domain.'/images/banner/'.$banner.'" alt="'.$seitenname.'" border="0"></a></textarea><br><br>'; + } +} +closedir($open); +?> +</div> +<?foot();?> \ No newline at end of file diff --git a/content/konto/auszahlen.php b/content/konto/auszahlen.php new file mode 100644 index 0000000..4ed8529 --- /dev/null +++ b/content/konto/auszahlen.php @@ -0,0 +1,79 @@ +<? userstatus(); + +// Variabeln definieren +if (!isset($_POST['auszahlen'])) $_POST['auszahlen'] = ""; +if (!isset($_POST['uid_passwort'])) $_POST['uid_passwort'] = ""; +if (!isset($_POST['trans_menge'])) $_POST['trans_menge'] = ""; +if (!isset($auszahlmeldung)) $auszahlmeldung = ""; + +$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds"); +$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Keine Schnittstellendaten!"); + +if ($schnittstelle['anfragen_user'] != 0){ +$s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE uid='".$_SESSION['uid']."' and zeit='".$tag."'")); +} + +$kontodaten = mysql_fetch_array(db_query("SELECT `kontostand` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); + +if ($_POST['auszahlen'] == 'Auszahlen' && $_POST['uid_passwort'] && $_POST['trans_menge']) { + if (!ereg("[^0-9]", $_POST['trans_menge']) and $_POST['trans_menge'] >= $schnittstelle['auszahlsumme']) { + if ($_POST['trans_menge'] <= $kontodaten['kontostand']) { + if ($schnittstelle['anfragen_user'] == 0 or $s_verbrauch < $schnittstelle['anfragen_user']) { + $buchungs_id = create_code(14); + @require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php"); + @auszahlen ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['uid_passwort'],$schnittstelle['betreiber_kennung'],$_POST['trans_menge'],$schnittstelle['auszahltext'],''); + if ($schnittstelle['anfragen_user'] != 0) db_query("INSERT INTO ".$db_prefix."_schnittstelle_anfragen (zeit,uid) VALUES ('".$tag."','".$_SESSION['uid']."')"); + if ($error) { + $auszahlmeldung = $trans_ausgabe; + } else { + kontobuchung ('-',$_POST['trans_menge'],$_SESSION['uid']); + buchungsliste ($buchungs_id,'-'.$_POST['trans_menge'],$schnittstelle['auszahltext'],$_SESSION['uid']); + $auszahlmeldung = 'Es wurden '.$_POST['trans_menge'].' '.$waehrung.' ausgezahlt'; + } + } else { + $auszahlmeldung = 'Deine Schnittstellenanfragen sind verbraucht!!!'; + } + } else { + $auszahlmeldung = 'Soviel Guthaben hast Du nicht!!!'; + } + } else { + $auszahlmeldung = 'Bitte achte auch die Buchungsmenge!!!'; + } +} else { +if ($_POST['auszahlen'] == 'Auszahlen') $auszahlmeldung = 'Eingabefehler, bitte wiederholen!!!'; +} + +?> +<?head($waehrung." auszahlen");?> +Hier kannst Du deine <?=$waehrung;?> wieder auszahlen, auch bei der Auszahlung wird das Lose-Passwort benötigt um +festzustellen ob Du nicht gesperrt bist.<br> +<br> +Hinweis: Wenn Du mal nicht auszahlen kannst weil es heisst das der Betreiber nicht genug Klammlose hat, dann erschrecke +bitte nicht gleich. Zur Sicherheit des Userguthabens haben wir nur ca. 20% des Userguthabens offen liegen und der Rest +ist im Tresor. Schreibe einfache eine Email, wenn wir es mal vergessen haben sollten genug umzubuchen.<br> +<br> +<i><font color="#FF0000">* Das Lose-Passwort wird nicht gespeichert, es dient nur zur Indentifizierung!</font></i> +<?foot();?> + +<?head("Auszahlen");?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Kontonummer</td><td align="left"><?=$_SESSION['uid'];?></td> +</tr> +<tr> +<td align="left">Aktueller Kontostand</td><td align="left"><?=number_format($kontodaten['kontostand'],2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td align="left"><?=$waehrung;?> (min. <?=$schnittstelle['auszahlsumme'];?> <?=$waehrung;?>)</td><td align="left"><input type="Text" name="trans_menge" value=""></td> +</tr> +<tr> +<td align="left">Lose-Passwort *</td><td align="left"><input type="Password" name="uid_passwort" value=""></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="auszahlen" value="Auszahlen"></td> +</tr> +</table> +</form> +<?if ($auszahlmeldung) echo '<div align="center"><font color="#800000">'.$auszahlmeldung.'</font></div>';?> +<?foot();?> diff --git a/content/konto/buchungen.php b/content/konto/buchungen.php new file mode 100644 index 0000000..464678a --- /dev/null +++ b/content/konto/buchungen.php @@ -0,0 +1,34 @@ +<? userstatus();?> + +<?head('Buchungsübersicht (max. 50 Buchungen)');?> +<table border="0" width="100%" cellpadding="1" cellspacing="1" bgcolor="#000000"> +<tr class="tr_head"> +<td align="center"><b>Zeit</b></td> +<td align="center"><b>Buchung</b></td> +<td align="center"><b><?=$waehrung;?></b></td> +<td align="center"><b>Verwendungszweck</b></td> +</tr> +<? +$buchungen_lesen = db_query("SELECT * FROM ".$db_prefix."_buchungen WHERE uid=".$_SESSION['uid']." ORDER BY buchungszeit DESC LIMIT 50"); +while ($buchung_schreiben = mysql_fetch_array($buchungen_lesen)) { +$i++; +$buchcolor = '#000000'; +if ($buchung_schreiben['buchungsmenge'] < 0) $buchcolor='#cc0000'; + +if ($i % 2 == 0){ + $row = 0; +} else { + $row = 1; +} +?> +<tr class="tr_row<?=$row;?>"> +<td align="left"> <?=date("d.m.Y - H:i",$buchung_schreiben['buchungszeit']);?> </td> +<td align="center"> <?=$buchung_schreiben['buchungs_id'];?></td> +<td align="right"> <font color="<?=$buchcolor;?>"><?=number_format($buchung_schreiben['buchungsmenge'],2,",",".");?></font> </td> +<td align="left"> <?=$buchung_schreiben['verwendungszweck'];?></td> +</tr> +<? +} +?> +</table> +<?foot();?> \ No newline at end of file diff --git a/content/konto/einzahlen.php b/content/konto/einzahlen.php new file mode 100644 index 0000000..89f7ab4 --- /dev/null +++ b/content/konto/einzahlen.php @@ -0,0 +1,71 @@ +<? userstatus(); + +// Variabeln definieren +if (!isset($_POST['einzahlen'])) $_POST['einzahlen'] = ""; +if (!isset($_POST['uid_passwort'])) $_POST['uid_passwort'] = ""; +if (!isset($_POST['trans_menge'])) $_POST['trans_menge'] = ""; +if (!isset($einzahlmeldung)) $einzahlmeldung = ""; + +$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo"); +$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds"); + +if ($schnittstelle['anfragen_user'] != 0){ +$s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE uid='".$_SESSION['uid']."' and zeit='".$tag."'")); +} + +$kontodaten = mysql_fetch_array(db_query("SELECT `kontostand` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); +if ($_POST['einzahlen'] == 'Einzahlen' && $_POST['uid_passwort'] && $_POST['trans_menge']) { + $einzahlgrenze = mysql_fetch_array(db_query("SELECT `einzahlgrenze` FROM ".$db_prefix."_seitenkonfig LIMIT 1")); + if (!ereg("[^0-9]", $_POST['trans_menge']) and $_POST['trans_menge'] >= $schnittstelle['einzahlsumme'] and ($kontodaten['kontostand']+$_POST['trans_menge']) <= $einzahlgrenze['einzahlgrenze']) { + if ($schnittstelle['anfragen_user'] == 0 or $s_verbrauch < $schnittstelle['anfragen_user']) { + $buchungs_id = create_code(14); + @require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php"); + @einzahlen ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['uid_passwort'],$schnittstelle['betreiber_kennung'],$_POST['trans_menge'],$schnittstelle['einzahltext'],''); + if ($schnittstelle['anfragen_user'] != 0) db_query("INSERT INTO ".$db_prefix."_schnittstelle_anfragen (zeit,uid) VALUES ('".$tag."','".$_SESSION['uid']."')"); + if ($error) { + $einzahlmeldung = $trans_ausgabe; + } else { + kontobuchung ('+',$_POST['trans_menge'],$_SESSION['uid']); + buchungsliste ($buchungs_id,$_POST['trans_menge'],$schnittstelle['einzahltext'],$_SESSION['uid']); + $einzahlmeldung = 'Es wurden '.$_POST['trans_menge'].' '.$waehrung.' eingezahlt'; + } + } else { + $einzahlmeldung = 'Deine Schnittstellenanfragen sind verbraucht!!!'; + } + } else { + $einzahlmeldung = 'Bitte achte auch die Buchungsmenge!!!'; + } +} else { +if ($_POST['einzahlen'] == 'Einzahlen') $einzahlmeldung = 'Eingabefehler, bitte wiederholen!!!'; +} + +?> +<?head($waehrung." einzahlen");?> +Hier kannst Du Klammlose zu uns transferieren, die Lose werden Dir dann bei uns auf Dein Konto gutgeschrieben, +nach der Einzahlung kannst Du Dein Guthaben nutzen.<br> +<br> +<i><font color="#FF0000">* Das Lose-Passwort wird nicht gespeichert, es dient nur zur Indentifizierung!</font></i> +<?foot();?> + +<? head("Einazhlen"); ?> +<form action="" method="post"> +<table width="100%" border="0" cellpadding="2" cellspacing="2"> +<tr> +<td align="left" width="55%">Kontonummer</td><td align="left"><?=$_SESSION['uid'];?></td> +</tr> +<tr> +<td align="left">Aktueller Kontostand</td><td align="left"><?=number_format($kontodaten['kontostand'],2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td align="left"><?=$waehrung;?> (min. <?=$schnittstelle['einzahlsumme'];?> <?=$waehrung;?>)</td><td align="left"><input type="Text" name="trans_menge" value=""></td> +</tr> +<tr> +<td align="left">Lose-Passwort *</td><td align="left"><input type="Password" name="uid_passwort" value=""></td> +</tr> +<tr> +<td align="center" colspan="2"><input type="Submit" name="einzahlen" value="Einzahlen"></td> +</tr> +</table> +</form> +<?if ($einzahlmeldung) echo '<div align="center"><font color="#800000">'.$einzahlmeldung.'</font></div>';?> +<?foot();?> diff --git a/content/konto/refdetails.php b/content/konto/refdetails.php new file mode 100644 index 0000000..fee7652 --- /dev/null +++ b/content/konto/refdetails.php @@ -0,0 +1,107 @@ +<? +userstatus(); +// Variabeln definieren +if (!isset($_POST['refback'])) $_POST['refback'] = ""; +if (!isset($_POST['save'])) $_POST['save'] = ""; +if (!isset($_GET['ruid'])) $_GET['ruid'] = ""; +if (!isset($_GET['reset'])) $_GET['reset'] = ""; +$ebene2 = 0; +$ebene3 = 0; +$_GET['ruid'] = (int)$_GET['ruid']; + +if ($_GET['reset'] == 'true') { +db_query("UPDATE ".$db_prefix."_werberdaten SET + resetzeit = '".time()."', + reset = 0 +WHERE uid='".$_GET['ruid']."' and werber='".$_SESSION['uid']."' LIMIT 1"); +} + +if ($_POST['save'] == 'Save' && $_POST['refback'] >= 0 && $_POST['refback'] <= 100 && !ereg("[^0-9]", $_POST['refback'])) { +db_query("UPDATE ".$db_prefix."_werberdaten SET + refback = '".$_POST['refback']."' +WHERE uid='".$_GET['ruid']."' and werber='".$_SESSION['uid']."' LIMIT 1"); +} + + +$ref_check = db_query("SELECT w.uid,w.umsatz,w.reset,w.resetzeit,w.gesamt,w.refback,w.aktivzeit,w.zuordnungszeit,k.loginzeit,u.nickname FROM + ".$db_prefix."_werberdaten w + LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid = w.uid + LEFT JOIN ".$db_prefix."_userdaten u ON u.uid = k.uid +WHERE w.uid=".$_GET['ruid']." and w.werber=".$_SESSION['uid']." LIMIT 1"); + +if (!mysql_num_rows($ref_check)) { +@include_once('content/error/kein_ref.php'); +@include_once('lib/footer.php'); +die(); +} + +$refuser = mysql_fetch_assoc($ref_check); + +if ($refuser['aktivzeit'] >= (time()-(86400*7))) $refstatus = '<img src="./images/gruen.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$refuser['aktivzeit']).'" align="absmiddle"> » User ist aktiv'; +if ($refuser['aktivzeit'] < (time()-(86400*7))) $refstatus = '<img src="./images/gelb.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$refuser['aktivzeit']).'" align="absmiddle"> » User seit 7 tagen inaktiv'; +if ($refuser['aktivzeit'] <= (time()-(86400*30))) $refstatus = '<img src="./images/rot.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$refuser['aktivzeit']).'" align="absmiddle"> » User seit 30 tagen inaktiv'; + + +$refebene_1 = db_query ("SELECT uid FROM ".$db_prefix."_werberdaten WHERE werber='".$_GET['ruid']."'"); +while ($anzeigen_1 = mysql_fetch_array($refebene_1)) { +$ebene2++; +} + +if ($ebene2 > 0){ + $refebene_1 = db_query ("SELECT uid FROM ".$db_prefix."_werberdaten WHERE werber='".$_GET['ruid']."'"); + while ($anzeigen_1 = mysql_fetch_array($refebene_1)) { + $refebene_2 = db_query ("SELECT * FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_1['uid']."' ORDER BY uid ASC"); + while ($anzeigen_2 = mysql_fetch_array($refebene_2)) { + $ebene3++; + } + } +} +?> + +<?head("Refdeteils von ".$refuser['nickname']);?> +<table width="100%" cellpadding="2" cellspacing="2" border="0"> +<tr> +<td width="50%"><b>User</b></td><td><?=$refuser['nickname'];?></td> +</tr> +<tr> +<td><b>Aktueller Verdienst</b></td><td><?=number_format($refuser['umsatz']/$pageconfig['re1'],2,",",".");?> <?=$waehrung;?></td> +</tr> + +<?if($refuser['resetzeit'] > 0){?> +<tr> +<td><b>Verdienst seit Reset</b></td><td><?=number_format($refuser['reset'],2,",",".");?> <?=$waehrung;?> » <a href="?content=/konto/refdetails&ruid=<?=$refuser['uid'];?>&reset=true" target="_self">Reset</a> «</td> +</tr> +<tr> +<td><b>Letzer Reset</b></td><td><?=date("d.m.Y - H:i:s",$refuser['resetzeit']);?></td> +</tr> +<?}?> + +<tr> +<td><b>Gesamtverdienst</b></td><td><?=number_format($refuser['gesamt'],2,",",".");?> <?=$waehrung;?></td> +</tr> +<tr> +<td><b>Refback in Prozent</b></td><form action="?content=/konto/refdetails&ruid=<?=$refuser['uid'];?>" method="post"><td><input type="Text" name="refback" value="<?=$refuser['refback'];?>" maxlength="3" style="width:30px"> <input type="Submit" name="save" value="Save" style="width:60px"></td></form> +</tr> +<tr> +<td><b>Refs in Ebene 2</b></td><td><?=number_format($ebene2,0,",",".");?></td> +</tr> +<tr> +<tr> +<td><b>Refs in Ebene 3</b></td><td><?=number_format($ebene3,0,",",".");?></td> +</tr> +<tr> +<td><b>Status</b></td><td><?=$refstatus;?></td> +</tr> +<tr> +<td><b>Refzuordnung am</b></td><td><?if ($refuser['zuordnungszeit'] >= 1) {echo date("d.m.Y - H:i:s",$refuser['zuordnungszeit']);} else {echo'<i>Durch Admin zugewiesen!</i>';}?></td> +</tr> + +<tr> +<td><b>Letzter Login</b></td><td><?if ($refuser['loginzeit'] >= 1) {echo date("d.m.Y - H:i:s",$refuser['loginzeit']);} else {echo'<i>User war noch nie eingeloggt!</i>';}?></td> +</tr> + +<tr> +<td><b>Letzte Aktivität</b></td><td><?if ($refuser['aktivzeit'] >= 1) {echo date("d.m.Y - H:i:s",$refuser['aktivzeit']);} else {echo'<i><font color="#800000">User war noch nie aktiv!</font></i>';}?></td> +</tr> +</table> +<?foot();?> diff --git a/content/konto/refuebersicht.php b/content/konto/refuebersicht.php new file mode 100644 index 0000000..eccf459 --- /dev/null +++ b/content/konto/refuebersicht.php @@ -0,0 +1,159 @@ +<? userstatus(); + +$ebene_1 = false; +$ebene_2 = false; +$ebene_3 = false; + +$ebene1 = db_query("SELECT werber.*, u.nickname, k.last_active FROM + ".$db_prefix."_werberdaten AS werber + LEFT JOIN ".$db_prefix."_userdaten AS u ON u.uid = werber.uid + LEFT JOIN ".$db_prefix."_kontodaten AS k ON k.uid = werber.uid + WHERE werber.werber=".$_SESSION['uid']." ORDER BY u.nickname ASC"); + +if (mysql_num_rows($ebene1)){ + while ($user1 = mysql_fetch_assoc($ebene1)){ + $ebene_1 = true; + $count++; + if ($count % 2 == 0){$row = 0;}else{$row = 1;} + + if ($user1['last_active'] >= (time()-(86400*7))) $refstatus = '<img src="./images/gruen.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user1['last_active']).'">'; + if ($user1['last_active'] < (time()-(86400*7))) $refstatus = '<img src="./images/gelb.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user1['last_active']).'">'; + if ($user1['last_active'] <= (time()-(86400*30))) $refstatus = '<img src="./images/rot.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user1['last_active']).'">'; + + $anz .= ' + <tr class="tr_row'.$row.'"> + <td align="center"><a href="?content=/nickpage&nick='.$user1['nickname'].'">'.$user1['nickname'].'</a></td> + <td align="center">'.number_format($user1['umsatz']/100*$pageconfig['re1'],2,",",".").'</td> + <td align="center">'.number_format($user1['gesamt'],2,",",".").'</td> + <td align="center">'.$user1['refback'].'%</td> + <td align="center"><a href="?content=/konto/refdetails&ruid='.$user1['uid'].'" target="_self">Details</a></td> + <td align="center">'.$refstatus.'</td> + </tr> + '; +$ebene2 = db_query("SELECT werber.*, u.nickname, k.last_active FROM + ".$db_prefix."_werberdaten AS werber + LEFT JOIN ".$db_prefix."_userdaten AS u ON u.uid = werber.uid + LEFT JOIN ".$db_prefix."_kontodaten AS k ON k.uid = werber.uid + WHERE werber.werber=".$user1['uid']." ORDER BY u.nickname ASC"); + + while ($user2 = mysql_fetch_assoc($ebene2)){ + $ebene_2 = true; + $count++; + if ($count % 2 == 0){$row = 0;}else{$row = 1;} + + if ($user2['last_active'] >= (time()-(86400*7))) $refstatus = '<img src="./images/gruen.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user2['last_active']).'">'; + if ($user2['last_active'] < (time()-(86400*7))) $refstatus = '<img src="./images/gelb.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user2['last_active']).'">'; + if ($user2['last_active'] <= (time()-(86400*30))) $refstatus = '<img src="./images/rot.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user2['last_active']).'">'; + + $anz2 .= ' + <tr class="tr_row'.$row.'"> + <td align="center"><a href="?content=/nickpage&nick='.$user2['nickname'].'">'.$user2['nickname'].'</a></td> + <td align="center">'.$user1['nickname'].'</td> + <td align="center">'.number_format($user2['umsatz']/100*$pageconfig['re2'],2,",",".").'</td> + <td align="center">'.number_format($user2['gesamt'],2,",",".").'</td> + <td align="center">'.$refstatus.'</td> + </tr> + '; + +$ebene3 = db_query("SELECT werber.*, u.nickname, k.last_active FROM + ".$db_prefix."_werberdaten AS werber + LEFT JOIN ".$db_prefix."_userdaten AS u ON u.uid = werber.uid + LEFT JOIN ".$db_prefix."_kontodaten AS k ON k.uid = werber.uid + WHERE werber.werber=".$user2['uid']." ORDER BY u.nickname ASC"); + + while ($user3 = mysql_fetch_assoc($ebene3)){ + $ebene_3 = true; + $count++; + if ($count % 2 == 0){$row = 0;}else{$row = 1;} + + if ($user3['last_active'] >= (time()-(86400*7))) $refstatus = '<img src="./images/gruen.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user3['last_active']).'">'; + if ($user3['last_active'] < (time()-(86400*7))) $refstatus = '<img src="./images/gelb.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user3['last_active']).'">'; + if ($user3['last_active'] <= (time()-(86400*30))) $refstatus = '<img src="./images/rot.gif" width="15" height="15" border="0" alt="'.date("d.m.y - H:i",$user3['last_active']).'">'; + + $anz3 .= ' + <tr class="tr_row'.$row.'"> + <td align="center"><a href="?content=/nickpage&nick='.$user3['nickname'].'">'.$user3['nickname'].'</a></td> + <td align="center">'.$user2['nickname'].'</td> + <td align="center">'.number_format($user3['umsatz']/100*$pageconfig['re3'],2,",",".").'</td> + <td align="center">'.number_format($user3['gesamt'],2,",",".").'</td> + <td align="center">'.$refstatus.'</td> + </tr> + '; + + } + } + + } + +} +?> + +<? head("Refübersicht");?> +<br> + <b><big>EBENE 1 </big><font color="green"> ( 1,5% )</font></b> +<br><br> +<?if($ebene_1 == true){?> +<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#000000"> +<tr class="tr_head"> +<td align="center" width="20%"><b>User</b></td> +<td align="center" width="20%"><b>Heute</b></td> +<td align="center" width="20%"><b>Gesamt</b></td> +<td align="center" width="20%"><b>Refback</b></td> +<td align="center" width="10%"><b>Details</b></td> +<td align="center" width="10%"><b>Status</b></td> +</tr> +<?=$anz;?> +</table> +<? }else{ +echo "<center>Noch keine Refs in Ebene 1</center>"; +} +?> + +<br><hr width="90%"><br> + <b><big>EBENE 2 </big><font color="green"> ( 1,0% )</font></b> +<br><br> +<? +if ($ebene_2 == true){ ?> +<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#000000"> +<tr class="tr_head"> +<td align="center" width="20%"><b>User</b></td> +<td align="center" width="20%"><b>Werber</b></td> +<td align="center" width="25%"><b>Heute</b></td> +<td align="center" width="25%"><b>Gesamt</b></td> +<td align="center" width="10%"><b>Status</b></td> +</tr> +<?=$anz2;?> +</table> +<?}else{ +echo "<center>Noch keine Refs in Ebene 2</center>"; +} ?> + + +<br><hr width="90%"><br> + <b><big>EBENE 3 </big><font color="green"> ( 0,5% )</font></b> +<br><br> +<? +if ($ebene_3 == true){?> +<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#000000"> +<tr class="tr_head"> +<td align="center" width="20%"><b>User</b></td> +<td align="center" width="20%"><b>Werber</b></td> +<td align="center" width="25%"><b>Heute</b></td> +<td align="center" width="25%"><b>Gesamt</b></td> +<td align="center" width="10%"><b>Status</b></td> +</tr> +<?=$anz3;?> +</table> +<?}else{ +echo "<center>Noch keine Refs in Ebene 3</center>"; + +} ?> + +<br><hr width="90%"><br><center> +<table width="60%" cellpadding="3" cellspacing="1" border="0"><tr><td><center> +<b>Infos zur Refübersicht:</b><br><br> +<img src="images/rot.gif"> User war mind. 30 Tage nicht mehr aktiv.<br> +<img src="images/gelb.gif"> User war mind. 7 Tage nicht mehr aktiv.<br> +<img src="images/gruen.gif"> User war in den letzen 7 Tagen aktiv.<br></center> +</td></tr></table></center> +<?foot();?> \ No newline at end of file diff --git a/content/konto/uebersicht.php b/content/konto/uebersicht.php new file mode 100644 index 0000000..3799fed --- /dev/null +++ b/content/konto/uebersicht.php @@ -0,0 +1,65 @@ +<? userstatus(); +$sql = db_query("SELECT u.nickname,u.vorname,u.nachname,u.angemeldet_seit,w.werber,w.umsatz,w.gesamt,w.refback,k.kontostand,k.klicks,k.kv,k.angebettelt,k.bv FROM + ".$db_prefix."_kontodaten k + LEFT JOIN ".$db_prefix."_userdaten u ON u.uid = k.uid + LEFT JOIN ".$db_prefix."_werberdaten w ON w.uid = k.uid +WHERE k.uid=".$_SESSION['uid']." LIMIT 1"); + +$kontoinfo = mysql_fetch_array($sql); + + +if ($kontoinfo['werber'] == 0) $kontoinfo['werber'] = '<i>Kein Werber</i>'; +?> +<?head("Kontoübersicht von ".$kontoinfo['vorname']." ".$kontoinfo['nachname']);?> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td align="left" width="55%">Nickname:</td><td align="left"><?=$kontoinfo['nickname'];?></td> +</tr> +<tr> +<td align="left" width="55%">Kontonummer</td><td align="left"><?=$_SESSION['uid'];?></td> +</tr> +<tr> +<td align="left">Konto eröffnet am</td><td align="left"><?=date("d.m.Y - H:i",$kontoinfo['angemeldet_seit']);?></td> +</tr> +<tr> +<td align="left">Aktueller Kontostand</td><td align="left"><?=number_format($kontoinfo['kontostand'],2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td align="left">Dein Werber (Refback %)</td><td align="left"><?=$kontoinfo['werber'];?> (<?=$kontoinfo['refback'];?> %)</td> +</tr> +<tr> +<td align="left">Aktueller Verdienst</td><td align="left"><?=number_format($kontoinfo['umsatz'] / 100 * $pageconfig['re1'],2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td align="left">Gesamt für den Werber</td><td align="left"><?=number_format($kontoinfo['gesamt'],2,",",".").' '.$waehrung;?></td> +</tr> +</table> +<?foot();?> + +<?head("Diverse Einnahmen");?> +<hr size="1" width="100%" color="#800000"> +<table width="100%" border="0" cellpadding="1" cellspacing="1"> +<tr> +<td align="left" width="55%">Forcedklicks seit Anmeldung</td><td align="left"><?=number_format($kontoinfo['klicks'],0,",",".");?></td> +</tr> +<tr> +<td align="left">Gesamtverdienst bei Forcedklicks</td><td align="left"><?=number_format($kontoinfo['kv'],2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td align="left">Ø Verdienst pro Forcedklick</td><td align="left"><?=number_format((($kontoinfo['klicks'] > 0 && $kontoinfo['kv'] > 0) ? $kontoinfo['kv']/$kontoinfo['klicks'] : 0),2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td colspan="2" width="100%%"><hr size="1" width="100%" color="#800000"></td> +</tr> +<tr> +<td align="left" width="55%">Bettelaufrufe seit Anmeldung</td><td align="left"><?=number_format($kontoinfo['angebettelt'],0,",",".");?></td> +</tr> +<tr> +<td align="left">Gesamtverdienst bei Bettelaufrufe</td><td align="left"><?=number_format($kontoinfo['bv'],2,",",".").' '.$waehrung;?></td> +</tr> +<tr> +<td align="left">Ø Verdienst pro Bettelaufruf</td><td align="left"><?=number_format((($kontoinfo['angebettelt'] > 0 && $kontoinfo['bv'] > 0) ? $kontoinfo['bv']/$kontoinfo['angebettelt'] : 0),2,",",".").' '.$waehrung;?></td> +</tr> +</table> +<?foot();?> + diff --git a/content/konto/userprofil.php b/content/konto/userprofil.php new file mode 100644 index 0000000..7b2b955 --- /dev/null +++ b/content/konto/userprofil.php @@ -0,0 +1,193 @@ +<? +userstatus(); +// Variabeln definieren +if (!isset($_POST['aendern'])) $_POST['aendern'] = ""; +if (!isset($_POST['acc_del'])) $_POST['acc_del'] = ""; +if (!isset($_POST['del_passwort'])) $_POST['del_passwort'] = ""; +if (!isset($_POST['pwd'])) $_POST['pwd'] = ""; +if (!isset($_POST['pwd2'])) $_POST['pwd2'] = ""; +if (!isset($_POST['nickname'])) $_POST['nickname'] = ""; +if (!isset($_POST['newsletter'])) $_POST['newsletter'] = ""; +if (!isset($_POST['paidmails'])) $_POST['paidmails'] = ""; +if (!isset($change)) $change = ""; +if (!isset($mailstatus)) $mailstatus = ""; +if (!isset($delchange)) $delchange = ""; + +if ($_POST['acc_del'] == 'Jetzt löschen!' && $_POST['del_passwort']) { + $schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo"); + @require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php"); + @uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['del_passwort']); + if ($error) { + $delchange = $trans_ausgabe.'<br>'; + } else { + $sperrzeit = time()+(86400*30); + db_query("INSERT INTO ".$db_prefix."_userblacklist (uid,zeit) VALUES ('".$_SESSION['uid']."','".$sperrzeit."')"); + db_query("DELETE FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid'].""); + db_query("DELETE FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid'].""); + db_query("DELETE FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid'].""); + db_query("DELETE FROM ".$db_prefix."_werberdaten WHERE uid=".$_SESSION['uid'].""); + db_query("UPDATE ".$db_prefix."_werberdaten SET werber = 0 WHERE werber=".$_SESSION['uid'].""); + echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">'; + } + +} + +if ($_POST['aendern'] == 'Jetzt ändern!') { + // Passwort ändern beginn! + if ($_POST['pwd'] && $_POST['pwd2']) { + if ($_POST['pwd'] == $_POST['pwd2']) { + if (strlen($_POST['pwd']) >= 8) { + db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '".md5($_POST['pwd'])."' WHERE uid=".$_SESSION['uid'].""); + echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">'; + //$change .= 'Das Passwort wurde geändert!<br><b><font color="#FF0000">Bitte logge Dich jetzt aus und wieder neu ein!</font></b><br>'; + } else { + $change = 'Passwörter müssen min. 8 Zeichen haben!'; + } + } else { + $change = 'Die Passwörter stimmen nicht überein!'; + } + } + // Passwort ändern ende! + + //Nickname ändern beginn ! +if ($_POST['aendern'] == 'Jetzt ändern!') + { + if (isset ($_POST['nickname'])) { + $nickname = mysql_real_escape_string(ucfirst($_POST['nickname'])); + $nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'"); + $nickname_check2 =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'AND uid=".$_SESSION['uid'].""); + if (mysql_num_rows($nickname_check)) + if (mysql_num_rows($nickname_check2)) { + + }else{ + $change = 'Dieser Nickname ist schon vergeben!<br>'; + } + else + { + db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '".$nickname."' WHERE uid=".$_SESSION['uid'].""); + } + } + } + + if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) + { + $change .= 'Der Emailsyntax ist falsch!<br>'; + } + else + { + if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0; + if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1; + if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2; + if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3; +$_POST['max_forced'] = (int)$_POST['max_forced']; + db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid'].""); + db_query("UPDATE ".$db_prefix."_userdaten SET max_forced = '".$_POST['max_forced']."' WHERE uid=".$_SESSION['uid'].""); + $change .= 'Deine Daten wurden aktualisiert!<br>'; + } + +} + + +$info = mysql_fetch_array(db_query("SELECT u.*,e.emailadresse,e.freigabe_fuer FROM + ".$db_prefix."_userdaten AS u + LEFT JOIN ".$db_prefix."_emaildaten AS e ON e.uid=u.uid +WHERE u.uid=".$_SESSION['uid']." LIMIT 1")); + + +if ($info['freigabe_fuer'] == 0) {$newsletter = 0; $paidmails = 0;} +if ($info['freigabe_fuer'] == 1) {$newsletter = 1; $paidmails = 0;} +if ($info['freigabe_fuer'] == 2) {$newsletter = 0; $paidmails = 1;} +if ($info['freigabe_fuer'] == 3) {$newsletter = 1; $paidmails = 1;} +?> + +<?head("$seitenname - Userprofil");?> +Hier findest Du deine Profildaten, bitte passe diese Daten immer an so das diese aktuell sind. Deaktiviere bitte +die Paidmails wenn Du keine habe möchtest!<br> +<?foot();?> + +<?head("$seitenname - Profildaten");?> + <form action="" method="post"> + <table width="100%" border="0" cellpadding="1" cellspacing="1"> + <tr> + <td>Nickname:</td> + <td><input type="text" name="nickname" value="<?=$info['nickname'];?>"></td> + </tr> + <tr> + <td>Name:</td> + <td><input type="text" value="<?=$info['nachname'];?>"></td> + </tr> + <tr> + <td>Vorname:</td> + <td><input type="text" value="<?=$info['vorname'];?>"></td> + </tr> + <tr> + <td>Emailadresse:</td> + <td><input type="text" name="emailadresse" value="<?=$info['emailadresse'];?>"></td> + </tr> + <tr> + <td>Klamm-Id:</td> + <td><?=$_SESSION['uid'];?></td> + </tr> + <tr> + <td>Neues Passwort:</td> + <td><input type="password" name="pwd"></td> + </tr> + <tr> + <td>Neues Passwortbestätigung:</td> + <td><input type="password" name="pwd2"></td> + </tr> + <tr> + <td>Newsletter:</td> + <td> + <select name="newsletter"> + <option value="1" <? if ($newsletter == 1) echo 'selected';?>>Ja</option> + <option value="0" <? if ($newsletter == 0) echo 'selected';?>>Nein</option> + </select> + </td> + </tr> + <tr> + <td>Paidmails:</td> + <td> + <select name="paidmails"> + <option value="1" <? if ($paidmails == 1) echo 'selected';?>>Ja</option> + <option value="0" <? if ($paidmails == 0) echo 'selected';?>>Nein</option> + </select> + </td> + </tr> + <tr> + <td>Max. anzeigbare Forcedbanner:</td> + <td> + <select name="max_forced"> + <option value="3" <? if ($info['max_forced'] == 3) echo 'selected';?>>3</option> + <option value="5" <? if ($info['max_forced'] == 5) echo 'selected';?>>5</option> + <option value="10" <? if ($info['max_forced'] == 10) echo 'selected';?>>10</option> + <option value="20" <? if ($info['max_forced'] == 20) echo 'selected';?>>20</option> + <option value="30" <? if ($info['max_forced'] == 30) echo 'selected';?>>30</option> + <option value="40" <? if ($info['max_forced'] == 40) echo 'selected';?>>40</option> + <option value="50" <? if ($info['max_forced'] == 50) echo 'selected';?>>50</option> + </select> + </td> + </tr> + <tr> + <td align="center" colspan="2"><br> + <input type="submit" name="aendern" value="Jetzt ändern!"><br> + <br> + <?=$change;?> + </td> + </tr> + </table> + </form> +<?foot();?> + +<?head("$seitenname - Account löschen");?> +Hier an dieser Stelle kannst Du deinen Account sofort selber löschen wenn Du es wünscht. +Bitte bedenke das alle Daten von Dir verloren gehen und bestehendes Guthaben dann auch +verloren geht, eine spätere Forderung an <?=$waehrung;?> ist ausgeschlossen! +<div align="center"> +<form action="" method="post"><br> +<?=$delchange;?> +Schnittstellen-Passwort: <input type="Password" name="del_passwort" value=""> <input type="Submit" name="acc_del" value="Jetzt löschen!"> +</form> +<div align="center"><font color="#cc0000">Bei Löschung des Accounts bist Du für 30 Tage für eine Neuanmeldung gesperrt!</font></div><br> +</div> +<?foot();?> diff --git a/content/module.php b/content/module.php new file mode 100644 index 0000000..05a4383 --- /dev/null +++ b/content/module.php @@ -0,0 +1,135 @@ +<? +define ('MODSYS_VER', 0.9); +// Aussehen des Copyrights einstellen +$style = 4; // Design: Zahlen 1-4; Jeweils die gewuenschte Zahl eingeben und speichern. +// Einstellungen Ende + +$dir = './module/'; +$linkstyle = 'index.php?content=/module&mod='; +if (isset ($err)) unset ($err); + +function display ($msg) { +global $style; + if ($style == 1) head ('<div style="text-align: center;">'.$msg.'</div>').foot(); + elseif ($style == 2) { + head ('Hersteller'); + echo '<div style="text-align: center;">'.$msg.'</div>'; + foot(); + } elseif ($style == 3) echo '<div style="text-align: right;">'.$msg.'</div>'; + else echo '<div style="text-align: center;">'.$msg.'</div>'; +} + +if (!isset ($_GET['modInfo'])) { + if (isset ($_GET['mod'])) { + if (is_dir ($dir.$_GET['mod'])) { + if (file_exists ($dir.$_GET['mod'].'/pref.ini')) { + require ( './lib/module.lib.php' ); + define ('MODULSYSTEM_LOADED', TRUE); // "Modulsystem geladen" melden wegen Sicherheitspruefung + if (!isset ($_GET['open']) && file_exists ($dir.$_GET['mod'].'/module.php')) require ($dir.$_GET['mod'].'/module.php'); + elseif (isset ($_GET['open']) && file_exists ($dir.$_GET['mod'].'/'.$_GET['open'].'.php')) require ($dir.$_GET['mod'].'/'.$_GET['open'].'.php'); + else $err = 'Die Moduldatei wurde nicht gefunden.'; + } else $err = 'ModInfo-Datei konnte nicht geladen werden.<br /><br />Dies ist ein Lizenzverstoß, bitte wenn möglich auf <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a> Melden!'; + } else $err = 'Das angegebene Modul wurde nicht gefunden.'; + } else $err = 'Es wurde kein Modulname übergeben.'; + + if (isset ($err)) { + head ('Fehler'); + echo '<div class="hinweis">Es ist ein Fehler auf unserer Seite aufgetreten:<br /><br /><span>' . $err . '</span></div>'; + foot (); + + display ('Modulsystem © by <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a>'); + } else display ('<a href="'.modul_link('&modInfo=true').'">Modulinformationen</a>'); + +} else { + require ( './lib/module.lib.php' ); + head ('Modulinformationen'); + if (is_readable (modul_dir() . 'pref.ini')) { + $info = parse_ini_file (modul_dir() . 'pref.ini', TRUE); +?> +<table width="100%" cellpadding="1" cellspacing="1" border="0"> + + <tr> + <td class="tr_row1" colspan="2" align="center"><font size=2><b>Modulinformationen</b></font></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Modulname</b>:</td> + <td class="tr_row0"> <?=$info['modul']['name'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Version</b>:</td> + <td class="tr_row0"> <?=$info['modul']['version'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Erscheinungsdatum</b>:</td> + <td class="tr_row0"> <?=$info['modul']['datum'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Verkaufsdatum</b>:</td> + <td class="tr_row0"> <?=$info['modul']['verkauft'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Versionsstand</b>:</td> + <td class="tr_row0"> <?=$info['modul']['update'];?></td> + </tr> + + <tr> + <td class="tr_row1" colspan="2" align="center"><font size=2><b>Autoreninformationen</b></font></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Hersteller (Name)</b>:</td> + <td class="tr_row0"> <?=$info['autor']['name'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Anschrift</b>:</td> + <td class="tr_row0"> <?=$info['autor']['adresse'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Ort</b>:</td> + <td class="tr_row0"> <?=$info['autor']['ort'];?></td> + </tr> + + <tr> + <td class="tr_row1" colspan="2" align="center"><font size=2><b>Kontakt zum Autor</b></font></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Homepage</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['webseite'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>e-Mail-Adresse</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['email'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Telefon</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['telefon'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Telefax</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['telefax'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Skype</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['skype'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>ICQ-Uin</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['icq'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>MSN e-Mail</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['msn'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>Yahoo!</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['yim'];?></td> + </tr> + <tr> + <td class="tr_row1" width="120"> <b>AOL IM</b>:</td> + <td class="tr_row0"> <?=$info['kontakt']['aim'];?></td> + </tr> +</table> +<? + } else echo '<div class="hinweis"><span>ModInfo-Datei konnte nicht geladen werden.<br /><br />Dies ist ein Lizenzverstoß, bitte wenn möglich auf <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a> Melden!</span></div>'; + foot (); + display ('Modulsystem © by <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a>'); +} ?> \ No newline at end of file diff --git a/content/nickpage.php b/content/nickpage.php new file mode 100644 index 0000000..3f5d8e9 --- /dev/null +++ b/content/nickpage.php @@ -0,0 +1,15 @@ +<? +$_GET['nick'] = addslashes($_GET['nick']); + +$sql = db_query("SELECT u.angemeldet_seit,k.klicks,k.kv,k.angebettelt,k.bv FROM + ".$db_prefix."_kontodaten k + LEFT JOIN ".$db_prefix."_userdaten u ON u.uid = k.uid +WHERE u.nickname='".$_GET['nick']."' LIMIT 1"); + +$np = mysql_fetch_assoc($sql); +head("Nickpage von ".$_GET['nick']);?> + +<b>Angemeldet seit:</b> <?=date("d.m.Y - H:i",$np['angemeldet_seit']);?><br> +<b>Paidbannerstatistik:</b> <?=$np['klicks'];?> Klicks | Verdienst: <?=$np['kv'];?><br> +<b>Bettellinkstatistik:</b> <?=$np['angebettelt'];?> Aufrufe | Verdienst: <?=$np['bv'];?> +<?foot();?> \ No newline at end of file diff --git a/content/ralleys/aktiv.php b/content/ralleys/aktiv.php new file mode 100644 index 0000000..51425c3 --- /dev/null +++ b/content/ralleys/aktiv.php @@ -0,0 +1,63 @@ +<? +// Variabeln +$filename = 'lib/texte/aktivralley.txt'; +$rp = 1; + +// Ralleydaten auslesen +$ralleydaten = mysql_fetch_array (db_query ('SELECT * FROM '.$db_prefix.'_ralleydaten WHERE ralley = "aktivralley" LIMIT 1')); + +// Datei auslesen +if (is_readable ($filename)) $inhalt = implode ('', file ($filename)); +else echo 'Datei '.$filename.' kann nicht gelesen werden!'; +//$inhalt = str_replace('\\', '', $inhalt); + +if (!empty ($inhalt)){ + head ('Unsere Aktivralley'); + echo nl2br ($inhalt); + foot (); +} + +head ('Platzierungen und Preise'); ?> +Dieses Aktivralley läuft von <b><?=date("d.m.Y - H:i:s",$ralleydaten['start']);?></b> bis <b><?=date("d.m.Y - H:i:s",$ralleydaten['ende']);?></b>.<br> +Für diese Ralley sind <b><?=number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung;?></b> ausgelobt die auf die Plätze <b>1</b> bis <b><?=$ralleydaten['plaetze'];?></b> verteilt werden. +<? +if ($ralleydaten['pro'] > 0.00) echo 'Es müssen mindestens <b>'.number_format($ralleydaten['pro'], 0, ',', '.').' Punkte</b> erreicht werden um gewertet zu werden'; ?> +<br /> +<br /> + +<table width="100%" cellpadding="1" cellspacing="1" border="0"> + <tr class="tr_head"> + <td width="50"><b>Rang</b></td> + <td><b>User</b></td> + <td width="100"><b>Punkte</b></td> + <td width="150"><b>möglicher Gewinn</b></td> + </tr> + +<? +$platz = db_query ('SELECT a.punkte, u.nickname FROM '.$db_prefix.'_aktivralley AS a LEFT JOIN '.$db_prefix.'_userdaten AS u ON u.uid = a.uid WHERE a.punkte > '.$ralleydaten['pro'].' AND a.uid != 0 ORDER BY a.punkte DESC LIMIT 10'); +while ($pa = mysql_fetch_array($platz)) { + $row = ($rp % 2 == 0) ? 0 : 1; + $mg = ($rp <= $ralleydaten['plaetze']) ? number_format($ralleydaten['p'.$rp],2, ',', '.').' '.$waehrung : '---'; ?> + <tr class="tr_row<?=$row;?>"> + <td align="right"><?=$rp++;?>. </td> + <td> <?=$pa['nickname'];?></td> + <td align="right"><?=number_format($pa['punkte'],2,",",".");?> </td> + <td align="right"><?=$mg;?> </td> + </tr> +<? +} + +for($x=$rp;$x<11;$x++){ + $row = ($rp % 2 == 0) ? 0 : 1; + $mg = ($rp <= $ralleydaten['plaetze']) ? number_format($ralleydaten['p'.$rp],2, ',', '.').' '.$waehrung : '---'; ?> + <tr class="tr_row<?=$row;?>"> + <td align="right"><?=$rp++;?>. </td> + <td> n/a</td> + <td align="right">0 </td> + <td align="right"><?=$mg;?> </td> + </tr> +<? + } ?> +</table> +<? +foot(); ?> \ No newline at end of file diff --git a/content/ralleys/klick.php b/content/ralleys/klick.php new file mode 100644 index 0000000..504e5b5 --- /dev/null +++ b/content/ralleys/klick.php @@ -0,0 +1,71 @@ +<? +// Variabeln +$filename = 'lib/texte/klickralley.txt'; +$rp = 1; + +// Ralleydaten auslesen +$ralleydaten = mysql_fetch_array (db_query ('SELECT * FROM '.$db_prefix.'_ralleydaten WHERE ralley = "klickralley" LIMIT 1')); + +// Datei auslesen +if (is_readable ($filename)) $inhalt = implode ('', file ($filename)); +else echo 'Datei '.$filename.' kann nicht gelesen werden!'; + +if ($inhalt != ''){ + head ('Unsere Klickralley'); + echo nl2br ($inhalt); + foot (); +} + + +head ('Platzierungen und Preise'); + +if ($ralleydaten['art'] != 'statisch') { ?> +<div>Diese Klickralley läuft vom <b><?=date('d.m.Y H:i', $ralleydaten['start']);?></b> bis zum <b><?=date('d.m.Y H:i', $ralleydaten['ende']);?></b>.<br /> +Dabei handelt es sich um eine dynamische Klickralley wo pro Klick <b><?=number_format($ralleydaten['pro'], 2, ',', '.').' '.$waehrung;?></b> in den Jackpot fliesen.<br /> +Im Jackpot befinden sicher gerade <b><?=number_format($ralleydaten['jackpot'], 2, ',', '.').' '.$waehrung;?></b> die wie unten aufgeführt auf die Plätze <b>1 bis <?=$ralleydaten['plaetze'];?></b> verteilt werden.</div> +<br /> +<? +} else { ?> +<div>Diese Klickralley läuft vom <b><?=date('d.m.Y H:i', $ralleydaten['start']);?></b> bis zum <b><?=date('d.m.Y H:i', $ralleydaten['ende']);?></b>.<br /> +Für diese Klickralley sind <b><?=number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung;?></b> ausgelobt und werden wie unten angezeigt auf die Plätze <b>1</b> bis <b><?=$ralleydaten['plaetze'];?></b> verteilt.</div> +<br /> +<? +} ?> + +<table width="100%" cellpadding="1" cellspacing="1" border="0"> + <tr class="tr_head"> + <td width="50"><b>Rang</b></td> + <td><b>User</b></td> + <td width="100"><b>Klicks</b></td> + <td width="150"><b>möglicher Gewinn</b></td> + </tr> +<? +$platz = db_query ('SELECT k.klicks,u.nickname FROM '.$db_prefix.'_klickralley k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid ORDER BY klicks DESC LIMIT 10'); +while ($pa = mysql_fetch_array($platz)) { + $row = ($rp % 2 == 0) ? 0 : 1; + $mg = ($ralleydaten['art'] == 'statisch') ? number_format($ralleydaten['p'.$rp], 2, ',', '.').' '.$waehrung : number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp]), 2, ',', '.').' '.$waehrung; + if ($rp > $ralleydaten['plaetze']) $mg = '---'; ?> + <tr class="tr_row<?=$row;?>"> + <td align="right"><?=$rp++;?>. </td> + <td> <?=$pa['nickname'];?></td> + <td align="right"><?=number_format($pa['klicks'], 0);?> </td> + <td align="right"><?=$mg;?> </td> + </tr> +<? +} + +for($x=$rp;$x<11;$x++){ + $mg = ($ralleydaten['art'] == 'statisch') ? number_format($ralleydaten['p'.$x], 2, ',', '.').' '.$waehrung : number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$x]), 2, ',', '.').' '.$waehrung; + $row = ($rp % 2 == 0) ? 0 : 1; + if ($x > $ralleydaten['plaetze']) $mg = '---'; ?> + <tr class="tr_row<?=$row;?>"> + <td align="right"><?=$rp++;?>. </td> + <td> n/a</td> + <td align="right">0 </td> + <td align="right"><?=$mg;?> </td> + </tr> +<? +} ?> +</table> +<? +foot(); ?> diff --git a/content/ralleys/ref.php b/content/ralleys/ref.php new file mode 100644 index 0000000..536e16e --- /dev/null +++ b/content/ralleys/ref.php @@ -0,0 +1,59 @@ +<? +// Variabeln +$filename = 'lib/texte/refralley.txt'; +$rp = 1; + +// Ralleydaten auslesen +$ralleydaten = mysql_fetch_array (db_query ('SELECT * FROM '.$db_prefix.'_ralleydaten WHERE ralley = "refralley"')); + +// Datei auslesen +if (is_readable ($filename)) $inhalt = implode ('', file ($filename)); +else echo 'Datei '.$filename.' kann nicht gelesen werden!'; +//$inhalt = str_replace('\\', '', $inhalt); + +if (!empty ($inhalt)){ + head ('Unsere Refralley'); + echo nl2br ($inhalt); + foot (); +} + +$refs = db_query ('SELECT u.nickname, COUNT(w.werber) AS total FROM '.$db_prefix.'_werberdaten w LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid=w.werber WHERE w.werber != 0 AND w.zuordnungszeit >= '.$ralleydaten['start'].' AND w.zuordnungszeit <= '.$ralleydaten['ende'].' AND w.gesamt >= '.$ralleydaten['pro'].' GROUP BY w.werber ORDER BY total DESC LIMIT 10'); +$count = 1; +while ($row = mysql_fetch_assoc($refs)) { + $users[$count] = $row['nickname']; + $ref[$count] = $row['total']; + $count++; +} + +head ('Platzierungen und Preise'); ?> +<div>Dieses Refralley läuft vom <b><?=date('d.m.Y H:i', $ralleydaten['start']);?></b> bis zum <b><?=date('d.m.Y H:i', $ralleydaten['ende']);?></b>.<br /> +Für diese Refralley sind <b><?=number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung;?></b> ausgelobt und werden wie unten angezeigt auf die Plätze <b>1</b> bis <b><?=$ralleydaten['plaetze'];?></b> verteilt.</div> +<br /> +<? +if ($ralleydaten['pro'] == 0) echo '<div align="center"><b>Es werden alle Refs gezählt!</b></div>'; +else echo '<div align="center"><b>Es werden nur Refs gezählt ab '.number_format($ralleydaten['pro'],2,',','.').' '.$waehrung.' Refgewinn!</b></div><br />'; ?> +<br /> + +<table width="100%" cellpadding="1" cellspacing="1" border="0" align="center"> + <tr class="tr_head"> + <td width="50"><b>Rang</b></td> + <td><b>User</b></td> + <td width="100"><b>Refs</b></td> + <td width="150"><b>möglicher Gewinn</b></td> + </tr> +<? +for($x=1;$x<11;$x++){ + if (!isset($users[$x])) $users[$x] = 'n/a'; + if (!isset($ref[$x])) $ref[$x] = 0; + $row = ($rp % 2 == 0) ? 0 : 1; ?> + <tr class="tr_row<?=$row;?>"> + <td align="right"><?=$rp++;?>. </td> + <td> <?=$users[$x];?></td> + <td align="right"><?=$ref[$x];?> </td> + <td align="right"><?=number_format($ralleydaten['p'.$x], 0).' '.$waehrung;?> </td> + </tr> +<? +} ?> +</table> +<? +foot(); ?> \ No newline at end of file diff --git a/content/verdienen/betteln.php b/content/verdienen/betteln.php new file mode 100644 index 0000000..151a552 --- /dev/null +++ b/content/verdienen/betteln.php @@ -0,0 +1,54 @@ +<? +$_GET['ref'] = (int)$_GET['ref']; + + +if ($pageconfig['reload_betteln'] == 0){ +$betteltext = '<b>Die Bettelfunktion ist auf dieser Seite deaktiviert'; +}else{ + if ($_SESSION['uid'] == $_GET['ref'] || $_GET['ref'] == $_COOKIE['uid']){ + $betteltext = '<b><font color="#FF0000">Du kannst dich nicht selbst anbetteln!</font></b>'; + }else{ + $reloadcheck = db_query("SELECT bis FROM ".$db_prefix."_reloads WHERE ip = '".$ip."' and tan = 'bettelaufruf' and bis >= ".time()." LIMIT 1"); + + if (!mysql_num_rows($reloadcheck)) { + $minimum = $pageconfig['min_betteln']; + $maximum = $pageconfig['max_betteln']; + srand((double)microtime()*1000000); + $bettelsumme = rand($minimum*100,$maximum*100)/100; + $new_reload = time()+$pageconfig['reload_betteln']; + db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')"); + db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme.", kontostand = kontostand + '".$bettelsumme."' WHERE uid = '".$_GET['ref']."'"); + + refumsatz ($bettelsumme,$_GET['ref']); + aktivralley ($bettelsumme,$_GET['ref']); + bilanz(0,$bettelsumme); + $betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' '.$waehrung.' erbettelt!</b>'; + } else { + $reloadcheck = mysql_fetch_array($reloadcheck); + $betteltext = '<b><font color="#FF0000">Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten fürs Betteln gesperrt</font></b>'; + } + } +} +?> + +<?head("Betteln auf ".$seitenname);?> +Verdiene auch Du mit!<br> +Melde Dich bei <?=$seitenname;?> an und bewirbe Deinen persönlichen Bettellink, so +verdienst Du deine <?=$waehrung;?> fast wie im Schlaf!<br> +<br> +<div align="center"><?=$betteltext;?></div> +<?foot();?> + +<? +$filename = 'lib/texte/bettelwerbung.txt'; +$fp = fopen ($filename, "r"); +$inhalt = fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); + +if ($inhalt != ''){ +head("Werbung dieser Seite"); +echo nl2br($inhalt); +foot(); +} +?> \ No newline at end of file diff --git a/content/verdienen/betteln4.php b/content/verdienen/betteln4.php new file mode 100644 index 0000000..0613b63 --- /dev/null +++ b/content/verdienen/betteln4.php @@ -0,0 +1,39 @@ +<? +userstatus(); +head('Dein Bettellink'); ?> +<table width="100%" cellpadding="1" cellspacing="1" border="0"> + <tr> + <td align="right"><b>Dein Reflink:</b></td> + <td align="left"> <a href="<?=$domain;?>/?ref=<?=$_SESSION['uid'];?>" target="_blank"><?=$domain;?>/?ref=<?=$_SESSION['uid'];?></a></td> + </tr> + <tr> + <td align="right"><b>Reflink und Bettellink:</b></td> + <td align="left"> <a href="<?=$domain;?>/?content=/betteln&ref=<?=$_SESSION['uid'];?>" target="_blank"><?=$domain;?>/?content=/betteln&ref=<?=$_SESSION['uid'];?></a></td> + </tr> +</table> +<? +foot(); + +head('Die Top 25 Bettler'); ?> +<table width="100%" cellpadding="1" cellspacing="1" border="0"> + <tr class="tr_head"> + <td width="50"><b>Rang</b></td> + <td><b>Mitglied</b></td> + <td width="100"><b>Aufrufe</b></td> + <td width="150"><b><?=$waehrung;?></b></td> + </tr> +<? +$rang = 1; +$sql = db_query ('SELECT k.uid, k.angebettelt, k.bv, u.nickname FROM '.$db_prefix.'_kontodaten k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid ORDER BY angebettelt DESC LIMIT 25'); +while ($user = mysql_fetch_array($sql)) { + $row = ($rang % 2 == 0) ? 0 : 1; ?> + <tr class="tr_row<?=$row;?>"> + <td align="right"><?=$rang++;?>. </td> + <td> <?=$user['nickname'];?></td> + <td align="right"><?=number_format($user['angebettelt'], 0);?> </td> + <td align="right"><?=number_format($user['bv'], 2, ',', '.').' '.$waehrung;?> </td> + </tr> +<? +} ?> +</table> +<? foot(); ?> \ No newline at end of file diff --git a/content/verdienen/klick4.php b/content/verdienen/klick4.php new file mode 100644 index 0000000..8b96767 --- /dev/null +++ b/content/verdienen/klick4.php @@ -0,0 +1,22 @@ +<? +userstatus (); +head ('Paidbanner'); + +$usr = mysql_fetch_assoc (db_query ('SELECT max_forced FROM '.$db_prefix.'_userdaten WHERE uid = '.$_SESSION['uid'].' LIMIT 1')); + +$fbanner = db_query ('SELECT t1.* + FROM '.$db_prefix.'_gebuchte_werbung t1 + LEFT JOIN '.$db_prefix.'_reloads t2 + ON (t1.tan = t2.tan AND (t2.uid = '.$_SESSION['uid'].' OR t2.ip = "'.$ip.'") AND t2.bis >= '.time().') + WHERE t2.tan IS NULL AND t1.werbeart = "forcedbanner" AND t1.menge > 0 AND t1.status = 1 AND t1.verdienst > 0 AND t1.sponsor != '.$_SESSION['uid'].' ORDER BY t1.verdienst DESC LIMIT '.$usr['max_forced'].''); + +while ($f_banner = mysql_fetch_assoc ($fbanner)){ + echo '<div align="center" id="banner_'.$f_banner['tan'].'"><a href="fc.php?tan='.$f_banner['tan'].'" target="_blank"><img src="'.$f_banner['banner'].'" border="0" height="60" width="468" alt="'.$f_banner['tan'].'" onClick="document.getElementById(\'banner_'.$f_banner['tan'].'\').style.display=\'none\';"></a>' + . '<br>Reload:'. $f_banner['reload']/3600 .' Std. | Verdienst: '.number_format($f_banner['verdienst'],2,',','.').' | Aufenthalt: '.$f_banner['aufendhalt'].' Sekunden<br><br></div>'; +} + +if (mysql_num_rows ($fbanner) > 0) echo '<div align="center"><input type="button" name="mehr_banner" value="Weitere Banner !" onclick="javascript:location.reload();" /></div>'; +else echo '<div style="text-align: center; font-weight: bold; color: #ff0000;">Alle Banner im Reload !</div>'; + +foot (); +?> \ No newline at end of file diff --git a/content/verdienen/paidmails.php b/content/verdienen/paidmails.php new file mode 100644 index 0000000..c92451e --- /dev/null +++ b/content/verdienen/paidmails.php @@ -0,0 +1,34 @@ +<? +userstatus(); +head("Paidmailhistory"); + +$paidmails = db_query("SELECT + e.gueltig, e.tan, v.verdienst, v.beschreibung, v.mailtext, v.aufendhalt + FROM ".$db_prefix."_paidmails_empfaenger e + LEFT JOIN ".$db_prefix."_paidmails_versendet v ON v.tan = e.tan + WHERE e.uid=".$_SESSION['uid']." && e.gueltig > ".time()." && e.status=0 + LIMIT 10"); + while ($mail = mysql_fetch_array($paidmails)){ + + echo ' + <table border="1" id="mail_'.$mail['tan'].'" width="100%"> + <tr> + <td colspan="2" align="center"><b>'.$mail['beschreibung'].'</b></td> + </tr> + <tr> + <td colspan="2" align="center"><textarea readonly rows="5" cols="60">'.$mail['mailtext'].'</textarea></td> + </tr> + <tr> + <td><font size="2"><b>Verdienst:</b> '.$mail['verdienst'].' '.$waehrung.' <b>Aufenthalt:</b> '.$mail['aufendhalt'].' Sek.</td> + <td align="center"><b><a href="pclick.php?tan='.$mail['tan'].'&uid='.$_SESSION['uid'].'" onClick=document.getElementById("mail_'.$mail['tan'].'").style.display="none" target="_Blank">Bestätigen</a></td> + </Tr> + </table> + '; + } + if (!mysql_num_rows($paidmails)){ + echo '<center><b>Keine Paidmails vorhanden!</b></center>'; + } + +echo '<p align="center"><input type="button" onClick="javascript:location.reload();" value="Weitere Paidmails"></p>'; + +foot();?> diff --git a/cron.php b/cron.php new file mode 100644 index 0000000..0465ede --- /dev/null +++ b/cron.php @@ -0,0 +1,30 @@ +<? +@set_time_limit(0); +@ignore_user_abort(true); + +require ( 'lib/functions.lib.php' ); + +if ($_GET['pw'] != $cron_pw) die('Zugriff verweigert!'); + +$cron = (int)$_GET['id']; + +db_connect (); + +# Bei jedem Aufruf auszuführende Befehle Start +## Alte Reloads löschen +db_query('DELETE FROM '.$db_prefix.'_reloads WHERE bis <= '.time().''); +## Abgelaufene Paidmails löschen +db_query('DELETE FROM '.$db_prefix.'_paidmails_empfaenger WHERE + status = 1 || status = 2 || gueltig < '.time().''); +# Bei jedem Aufruf auszuführende Befehle Ende + +$sql = db_query ('SELECT datei FROM '.$db_prefix.'_crons WHERE id = '.$cron.' LIMIT 1') or die(mysql_error()); +$result = mysql_fetch_assoc ($sql); + +if ( include ($result['datei']) ){ + db_query ('UPDATE '.$db_prefix.'_crons SET laufzeit = '.time().' WHERE id = '.$cron.' LIMIT 1') or die(mysql_error()); + echo 'Cron gelaufen'; +} else echo 'Cron nicht gelaufen'; + +db_close(); +?> \ No newline at end of file diff --git a/crons/dsn-ads.int.php b/crons/dsn-ads.int.php new file mode 100644 index 0000000..951f7b2 --- /dev/null +++ b/crons/dsn-ads.int.php @@ -0,0 +1,55 @@ +<? + +$file1 = ""; + +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'dsn-ads'")); + +if ($interfacedaten['mindestverguetung'] > 0.00) { +// dsn-ads Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='dsn-ads' and werbeart='forcedbanner' and status='1'"); +// Forcedbanner einlesen +$fb=@fopen("http://www.dsn-ads.de/data/get.php?art=Forcedbanner&reload=24&verg=".$interfacedaten['mindestverguetung']."&offen=100&sid=".$interfacedaten['seite']."&uid=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."","r"); +if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } +fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/8)-1; +$bid_lesen = 0; + + +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = $code[$bid_lesen+6]; +$int_banner = $code[$bid_lesen+5]; +$int_menge = round($code[$bid_lesen+4]); +$int_dauer = $code[$bid_lesen+7]; +$int_kid = $code[$bid_lesen]; +$int_reload = $code[$bid_lesen+3]*3600; +$int_verdienst = ($code[$bid_lesen+2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen+2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen+2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+8; + +// Forcedbanner updaten oder eintragen +// $int_menge = round($int_menge/2); +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'dsn-ads' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$int_dauer."','".$int_menge."','".$int_reload."','dsn-ads','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$int_dauer."' WHERE sponsor = 'dsn-ads' and kid = '".$int_kid."' and status = '0'"); + } +} +} +} +$file1 = ""; + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'dsn-ads' and status = '0'"); + +?> \ No newline at end of file diff --git a/crons/fuco-ads.int.php b/crons/fuco-ads.int.php new file mode 100644 index 0000000..c8a1adf --- /dev/null +++ b/crons/fuco-ads.int.php @@ -0,0 +1,129 @@ +<? +unset($file1); +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'fuco-ads'")); + +if ($interfacedaten['mindestverguetung'] > 0.00) { +// fuco-ads Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='fuco-ads' and werbeart='forcedbanner' and status='1'"); +// Forcedbanner einlesen +$fb=@fopen("http://www.fuco-ads.de/interface/kampagne.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1","r"); +if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } +fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/6)-1; +$bid_lesen = 4; +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.fuco-ads.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_banner = "http://www.fuco-ads.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_menge = round($code[$bid_lesen-1]); +$int_kid = $code[$bid_lesen-4]; +$int_reload = $code[$bid_lesen+1]*3600; +$int_verdienst = ($code[$bid_lesen-2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen-2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen-2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+6; +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'fuco-ads' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','fuco-ads','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'fuco-ads' and kid = '".$int_kid."' and status = '0'"); + } +} +} +} + +$file1 = ""; +if ($interfacedaten['surfklick'] > 0.00) { +// fuco-ads Surfklick nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='fuco-ads' and werbeart='surfklick' and status='1'"); +// Forcedbanner einlesen +$fb=@fopen("http://www.fuco-ads.de/interface/kampagne.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&art=surfclick&verguetung=".$interfacedaten['surfklick']."&reload=24&uebrig=1","r"); +if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } +fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/6)-1; +$bid_lesen = 4; +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.fuco-ads.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_banner = "http://www.fuco-ads.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_menge = round($code[$bid_lesen-1]); +$int_kid = $code[$bid_lesen-4]; +$int_reload = $code[$bid_lesen+1]*3600; +$int_verdienst = ($code[$bid_lesen-2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen-2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen-2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+6; +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['surfklick'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'fuco-ads' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','fuco-ads','surfklick')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'fuco-ads' and kid = '".$int_kid."' and status = '0'"); + } +} +} +} + +$file1 = ""; +if ($interfacedaten['surfview'] > 0.00) { +// fuco-ads Surfklick nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='fuco-ads' and werbeart='surfview' and status='1'"); +// Forcedbanner einlesen +$fb=@fopen("http://www.fuco-ads.de/interface/kampagne.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&art=surfview&verguetung=".$interfacedaten['surfview']."&reload=24&uebrig=1","r"); +if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } +fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/6)-1; +$bid_lesen = 4; +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.fuco-ads.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_banner = "http://www.fuco-ads.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_menge = round($code[$bid_lesen-1]); +$int_kid = $code[$bid_lesen-4]; +$int_reload = $code[$bid_lesen+1]*3600; +$int_verdienst = ($code[$bid_lesen-2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen-2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen-2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+6; +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['surfview'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'fuco-ads' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','fuco-ads','surfview')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'fuco-ads' and kid = '".$int_kid."' and status = '0'"); + } +} +} +} + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'fuco-ads' and status = '0'"); +?> diff --git a/crons/fucoex.int.php b/crons/fucoex.int.php new file mode 100644 index 0000000..5d3fff0 --- /dev/null +++ b/crons/fucoex.int.php @@ -0,0 +1,50 @@ +<? +unset($file1); + +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'fucoex'")); + +// Multi-Sponsor Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='fucoex' and werbeart='forcedbanner' and status='1'"); + +// Forcedbanner einlesen +$fb=@fopen("http://www.FuCoEx.de/sponsornet/engine/output_kampagne.php?bid=".$interfacedaten['betreiber']."&pwd=".$interfacedaten['pass']."&art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1&size=468x60","r"); +if($fb){ + while($line=fgets($fb,1000)){ + $file1.=$line; + } + fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/6)-1; +$bid_lesen = 4; + +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.fucoex.de/sponsornet/engine/spwmklickn.php?linkid=".$code[$bid_lesen-4]."&bid=".$interfacedaten['betreiber']; +$int_banner = "http://www.fucoex.de/sponsornet/engine/spwmshowb.php?linkid=".$code[$bid_lesen-4]."&bid=".$interfacedaten['betreiber']; +$int_menge = round($code[$bid_lesen-1]); +$int_kid = $code[$bid_lesen-4]; +$int_reload = $code[$bid_lesen+1]*3600; +$int_verdienst = ($code[$bid_lesen-2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen-2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen-2]; +$int_tan = create_code(32); +$bid_lesen = $bid_lesen+6; + +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'fucoex' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','fucoex','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'fucoex' and kid = '".$int_kid."' and status = '0'"); + } +} + +} + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'fucoex' and status = '0'"); +?> diff --git a/crons/hp-lose.int.php b/crons/hp-lose.int.php new file mode 100644 index 0000000..0cf40e8 --- /dev/null +++ b/crons/hp-lose.int.php @@ -0,0 +1,50 @@ +<? +unset($file1); + +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'hp-lose'")); + +// HPLose Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='hp-lose' and werbeart='forcedbanner' and status='1'"); + +// Forcedbanner einlesen +$fb=@fopen("http://www.hplose.de/lose/interface/output_kampagne.php?id=".$interfacedaten['betreiber']."&art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1","r"); +if($fb){ + while($line=fgets($fb,1000)){ + $file1.=$line; + } + fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/6)-1; +$bid_lesen = 4; + +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.hplose.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_banner = "http://www.hplose.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_menge = round($code[$bid_lesen-1]); +$int_kid = $code[$bid_lesen-4]; +$int_reload = $code[$bid_lesen+1]*3600; +$int_verdienst = ($code[$bid_lesen-2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen-2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen-2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+6; + +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'hp-lose' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','hp-lose','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'hp-lose' and kid = '".$int_kid."' and status = '0'"); + } +} + +} + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'hp-lose' and status = '0'"); +?> diff --git a/crons/lose-ads.int.php b/crons/lose-ads.int.php new file mode 100644 index 0000000..ea1d9fd --- /dev/null +++ b/crons/lose-ads.int.php @@ -0,0 +1,53 @@ +<? +unset($file1); + +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'lose-ads'")); + +// Lose-Ads Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='lose-ads' and werbeart='forcedbanner' and status='1'"); + +// Forcedbanner einlesen +$fb=@fopen("http://www.lose-ads.de/antisinterface/abruf.php?uid=".$interfacedaten['betreiber']."&sid=".$interfacedaten['seite']."&size=468x60&art=forcedclick&ab=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1","r"); +if($fb){ + while($line=fgets($fb,1000)){ + $file1.=$line; + } + fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/7)-1; +$bid_lesen = 0; + +//0bid|1name|2verguetung|3uebrig|4reload|5id|6sekunden| +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.lose-ads.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_banner = "http://www.lose-ads.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_menge = round($code[$bid_lesen+3]); +$int_kid = $code[$bid_lesen+5]; +$int_reload = $code[$bid_lesen+4]*3600; +$int_verdienst = ($code[$bid_lesen+2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen+2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen+2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+7; + +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose-ads' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','lose-ads','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'lose-ads' and kid = '".$int_kid."' and status = '0'"); + } +} + +} + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose-ads' and status = '0'"); + +?> + diff --git a/crons/losebox.int.php b/crons/losebox.int.php new file mode 100644 index 0000000..94fc53a --- /dev/null +++ b/crons/losebox.int.php @@ -0,0 +1,53 @@ +<? +unset($file1); + +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'losebox'")); + +// Losebox Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='losebox' and werbeart='forcedbanner' and status='1'"); + +// Forcedbanner einlesen +$fb=@fopen("http://www.losebox.de/lose/interface/output_kampagne.php?art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1&user_id=".$interfacedaten['betreiber']."","r"); +if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } +fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/8)-1; +$bid_lesen = 5; + +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = "http://www.losebox.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_banner = "http://www.losebox.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; +$int_menge = round($code[$bid_lesen-2]); +$int_kid = $code[$bid_lesen]; +$int_reload = $code[$bid_lesen-1]*3600; +$int_verdienst = ($code[$bid_lesen-3]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-3]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen-3]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen-3]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+8; + + +// Forcedbanner updaten oder eintragen +$int_menge = round($int_menge/$interfacedaten['restklicks']); +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'losebox' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','losebox','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'losebox' and kid = '".$int_kid."' and status = '0'"); + } +} + +} + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'losebox' and status = '0'"); + +?> + diff --git a/crons/losewerbung.int.php b/crons/losewerbung.int.php new file mode 100644 index 0000000..3a9416b --- /dev/null +++ b/crons/losewerbung.int.php @@ -0,0 +1,47 @@ +<? +$file1 = ""; +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'losewerbung'")); +if ($interfacedaten['mindestverguetung'] > 0.00) { +// Forcedbanner nullen +db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='losewerbung' and werbeart='forcedbanner' and status='1'"); +// Forcedbanner einlesen + +$fb=@fopen("http://www.losewerbung.de/data/get.php?art=Forcedbanner&reload=24&verg=".$interfacedaten['mindestverguetung']."&offen=".$interfacedaten['restklicks']."&sid=".$interfacedaten['seite']."&uid=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."","r"); +if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } +fclose($fb); +} +$code = explode("|", $file1); +$tl_count = (count($code)/8)-1; +$bid_lesen = 0; +// Forcedbannercodes splitten +for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { +$int_tan = ''; +$int_ziel = $code[$bid_lesen+6]; +$int_banner = $code[$bid_lesen+5]; +$int_menge = $code[$bid_lesen+4]; +$int_dauer = $code[$bid_lesen+7] + $interfacedaten['aufendhalt']; +$int_kid = $code[$bid_lesen]; +$int_reload = $code[$bid_lesen+3]*3600; +$int_verdienst = ($code[$bid_lesen+2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); +$int_preis = $code[$bid_lesen+2]*$interfacedaten['umrechnung']; +$ext_verguetung = $code[$bid_lesen+2]; +$int_tan = create_code(32); +$bid_lesen=$bid_lesen+8; +// Forcedbanner updaten oder eintragen +if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'losewerbung' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$int_dauer."','".$int_menge."','".$int_reload."','losewerbung','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$int_dauer."' WHERE sponsor = 'losewerbung' and kid = '".$int_kid."' and status = '0'"); + } +} +} +} + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'losewerbung' and status = '0'"); +?> diff --git a/crons/refzahlungen.knt.php b/crons/refzahlungen.knt.php new file mode 100644 index 0000000..c2b33c8 --- /dev/null +++ b/crons/refzahlungen.knt.php @@ -0,0 +1,58 @@ +<? + +// Prozente laden! +$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig")); + +// Userdurchlauf +$refliste = db_query ("SELECT * FROM ".$db_prefix."_werberdaten"); +while ($refliste_1 = mysql_fetch_array($refliste)) { +$verdienst = 0; + + // Ebene 1 + $refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'"); + while ($anzeigen_1 = mysql_fetch_array($refebene_1)) { + $verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']); + $pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1']; + db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'"); + if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.01) { + $buchungs_id = create_code(14); + $refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback']; + kontobuchung ('+',$refback,$anzeigen_1['uid']); + buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'% ('.$refliste_1['uid'].')',$anzeigen_1['uid']); + buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'% gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']); + $pro_verdienst = $pro_verdienst - $refback; + $refback = 0; + $buchungs_id = ''; + } + kontobuchung ('+',$pro_verdienst,$refliste_1['uid']); + $pro_verdienst = 0; + + // Ebene 2 + $refebene_2 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_1['uid']."'"); + while ($anzeigen_2 = mysql_fetch_array($refebene_2)) { + $verdienst = $verdienst + ($anzeigen_2['umsatz']/100*$refdaten['re2']); + $pro_verdienst = $anzeigen_2['umsatz']/100*$refdaten['re2']; + kontobuchung ('+',$pro_verdienst,$refliste_1['uid']); + $pro_verdienst = 0; + + // Ebene 3 + $refebene_3 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_2['uid']."'"); + while ($anzeigen_3 = mysql_fetch_array($refebene_3)) { + $verdienst = $verdienst + ($anzeigen_3['umsatz']/100*$refdaten['re3']); + $pro_verdienst = $anzeigen_3['umsatz']/100*$refdaten['re3']; + kontobuchung ('+',$pro_verdienst,$refliste_1['uid']); + $pro_verdienst = 0; + + } + } + } + + if ($verdienst >= 0.01) { + $buchungs_id = create_code(14); + buchungsliste ($buchungs_id,'+'.$verdienst,'Refverdienste',$refliste_1['uid']); + bilanz(0,$verdienst); + } + +} +db_query("UPDATE ".$db_prefix."_werberdaten SET umsatz=0"); +?> \ No newline at end of file diff --git a/crons/webmasterlose.int.php b/crons/webmasterlose.int.php new file mode 100644 index 0000000..713c20d --- /dev/null +++ b/crons/webmasterlose.int.php @@ -0,0 +1,53 @@ +<? +// Forcedbanner +$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'webmasterlose'")); + +if ($interfacedaten['mindestverguetung'] > 0.00) { +unset($file1); + + // Status 0 setzen + db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='webmasterlose' and werbeart='forcedbanner' and status='1'"); + + // Forcedbanner einlesen + $fb=@fopen("http://www.webmasterlose.de/lose/interface/output_kampagne.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&art=forcedclick&verguetung=".$interfacedaten['mindestverguetung']."&reload=24&uebrig=1","r"); + if($fb){ + while($line=fgets($fb,1000)) { + $file1.=$line; + } + fclose($fb); + } + $code = explode("|", $file1); + $tl_count = (count($code)/6)-1; + $bid_lesen = 4; + // Forcedbannercodes splitten + for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) { + $int_tan = ''; + $int_ziel = "http://www.webmasterlose.de/lose/clickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; + $int_banner = "http://www.webmasterlose.de/lose/viewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite'].""; + $int_menge = round($code[$bid_lesen-1]); + $int_kid = $code[$bid_lesen-4]; + $int_reload = $code[$bid_lesen+1]*3600; + $int_verdienst = ($code[$bid_lesen-2]*$interfacedaten['umrechnung']) - (($code[$bid_lesen-2]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']); + $int_preis = $code[$bid_lesen-2]*$interfacedaten['umrechnung']; + $ext_verguetung = $code[$bid_lesen-2]; + $int_tan = create_code(32); + $bid_lesen=$bid_lesen+6; + + if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) { + $forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'webmasterlose' and kid = '".$int_kid."'"); + if (!mysql_num_rows($forcedbanner_check)) { + db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,menge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','webmasterlose','forcedbanner')"); + } else { + db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'webmasterlose' and kid = '".$int_kid."' and status = '0'"); + } + } + } +} +// Forcedbanner Ende + + + +// Abgelaufene Banner löschen +db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'webmasterlose' and status = '0'"); +?> + diff --git a/css/bframe.css b/css/bframe.css new file mode 100644 index 0000000..e817061 --- /dev/null +++ b/css/bframe.css @@ -0,0 +1,34 @@ + +A:link,A:visited,A:active { +color: #800000; +text-decoration: none; +} + +A:hover { +color: #000000; +text-decoration: none; +} + +.topic { +font-family: Geneva, Arial, Helvetica, san-serif; +font-size: 12px; +} + +body { +margin-top:0; +margin-bottom:0; +margin-left:0; +margin-right:0; +} + +body { +background-image:url('img/bg.gif'); +background-color:#F2EEEA; +} + +body, table, td, tr, div, p, pre, h1, h2, h3, h4, ul { +font-family: Geneva, Arial, Helvetica, san-serif; +font-size:12px; +color:#41261B; +line-height:10pt; +} diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..af92336 --- /dev/null +++ b/css/main.css @@ -0,0 +1,119 @@ +.rand { +border: #000000; +border-style: solid; +border-top-width: 1px; +border-right-width: 1px; +border-bottom-width: 1px; +border-left-width: 1px; +} + +.titel-rand { +border: #000000; +border-style: solid; +border-top-width: 0px; +border-right-width: 0px; +border-bottom-width: 1px; +border-left-width: 0px; +} + +.rand-menue { +border: #000000; +border-style: solid; +background-color: #FEFBF5; +font-family: Geneva, Arial, Helvetica, san-serif; +font-size: 12px; +font-weight: normal; +color: #000000; +border-width: 1px 1px 1px 0px; +} + +A:link,A:visited,A:active { +color: #1e364c; +text-decoration: none; +} + +A:hover { +color: #4B69FF; +text-decoration: none; +} + +.small { +font-family: Geneva, Arial, Helvetica, san-serif; +font-size: 12px; +} + +.topic { +font-family: Geneva, Arial, Helvetica, san-serif; +font-size: 12px; +} + +body { +margin-top:5; +margin-bottom:5; +margin-left:5; +margin-right:5; +background-color:#F2EEEA; +} + +body, table, td, tr, div, p, pre, h1, h2, h3, h4, ul { +font-family: Geneva, Arial, Helvetica, san-serif; +font-size:12px; +color:#41261B; +line-height:10pt; +} + +input { +border-width: 1; +font-size: 12px; +font-family: Geneva, Arial, Helvetica, san-serif; +border-color: #000000; +border-style: solid; +background-color: #A2B5CD; +color: #000000; +font-weight: normal; +} + +select { +border-width:1; +font-size: 12px; +font-family: Geneva, Arial, Helvetica, san-serif; +border-color: #000000; +border-style: solid; +background-color: #A2B5CD; +color: #000000; +} + +textarea { +border-width: 1; +font-size: 12px; +font-family: Geneva, Arial, Helvetica, san-serif; +border-color: #000000; +border-style: solid; +background-color: #A2B5CD; +color: #000000; +font-weight: normal; +} + +option { +border-width:1; +font-size: 12px; +font-family: Geneva, Arial, Helvetica, san-serif; +border-color: #000000; +border-style: solid; +background-color: #A2B5CD; +color: #000000; +} + +.tr_row0 { + BACKGROUND-COLOR: #E2E2E2; +} + +.tr_row1 { + BACKGROUND-COLOR: #CDCDCD; +} + +.tr_head { + BACKGROUND-COLOR: #0099CC; + COLOR:#000000; + FONT-WEIGHT: bold; +} \ No newline at end of file diff --git a/fc.php b/fc.php new file mode 100644 index 0000000..4085083 --- /dev/null +++ b/fc.php @@ -0,0 +1,27 @@ +<? +@require_once ('lib/functions.lib.php'); +@db_connect(); +@require_once ('lib/session.lib.php'); +if (!isset($_GET['art'])) $_GET['art'] = ""; +if (!isset($forced['tan'])) $forced['tan'] = ""; +if (!isset($forced['ziel'])) $forced['ziel'] = ""; + +$_GET['tan'] = addslashes ($_GET['tan']); + +$forced = mysql_fetch_array(db_query("SELECT ziel,tan FROM ".$db_prefix."_gebuchte_werbung WHERE tan='".$_GET['tan']."' LIMIT 1")); +?> + + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> + <title>Forcedklick by <?=$seitenname;?></title> +</head> + +<frameset rows="15,*" border="0"> +<frame name="abuse" src="topframe_forced.php?tan=<?=$forced['tan'];?>" scrolling="no" frameborder="0"> +<frame name="werbung" src="<?=$forced['ziel'];?>" scrolling="auto" frameborder="0"> +</frameset> +</body> +</html> +<?db_close();?> diff --git a/images/Thumbs.db b/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..7a2af3e18dd2e13c36e5ccd940350a625997c971 GIT binary patch literal 9216 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 literal 0 HcmV?d00001 diff --git a/images/banner/2.gif b/images/banner/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..058f14602aff2547a227e2e3725335a368fd982d GIT binary patch literal 36704 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 PO5olRya)ax0s#O!{GA+8 literal 0 HcmV?d00001 diff --git a/images/banner/3.gif b/images/banner/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..f98ec5c6ebc85a881cf9e99e8f4d172879df29a9 GIT binary patch literal 33000 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 literal 0 HcmV?d00001 diff --git a/images/banner/Thumbs.db b/images/banner/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..7d00e702de2c914d27182242c9ea96451dc56e87 GIT binary patch literal 10240 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 Vr%}J04oUq}Dn8*a_y4N}{s%s62IT+% literal 0 HcmV?d00001 diff --git a/images/gelb.gif b/images/gelb.gif new file mode 100644 index 0000000000000000000000000000000000000000..2668ff9c4237f6759ff440a28101db094fa85149 GIT binary patch literal 147 zcmZ?wbhEHb<Y(Y#*vtR||NsAg{Fvd^EryF18BUyF*twHs<w}+X3wTbP5Lma)9ViP{ z1tk=JvM@3*a5LzD_#iVFSR4vYdam9pp3y5Fz)>XQz}Dv$6*PZ_l<OX^hS@5t3(wD6 n%kLofV8SUzRwl)Z77l9K3=#`FpZGEy%Su1|vSR-f4hCxgLt-(t literal 0 HcmV?d00001 diff --git a/images/gruen.gif b/images/gruen.gif new file mode 100644 index 0000000000000000000000000000000000000000..51da984c216bf3db6d3b0f83219eee99d48f9e9f GIT binary patch literal 149 zcmZ?wbhEHb<Y(Y#*vtR||NsAIc*MYPje+4L1H(=R#^sEhvpGc$h$uW$P`IF=a7aOM zlcL574UjSh2F0H&j0_BX3_2j4ATt<PoGzU7T)kI3qgS?|J<(wPSJR|Gou?&c9bN)n wuUkFr_?vl`a4_{hH$G9(w4^`qhAJ!P>~uvLmBo^*LftnDtR5JsGBH>K02=Er9smFU literal 0 HcmV?d00001 diff --git a/images/header.gif b/images/header.gif new file mode 100644 index 0000000000000000000000000000000000000000..78ac9cdba07b8d96bd68d0ff037716c6f64c1fce GIT binary patch literal 29232 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 X;2`yxXmTtGuxYkOH7l`L0ATfhuF1Ft literal 0 HcmV?d00001 diff --git a/images/header.jpg b/images/header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f231451d0d8dac3e30b5fbc1f37e0134607ed54 GIT binary patch literal 52892 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≤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 literal 0 HcmV?d00001 diff --git a/images/pfeil.gif b/images/pfeil.gif new file mode 100644 index 0000000000000000000000000000000000000000..8013aa5e426c908d5f45d6aee5296859a52b3dcb GIT binary patch literal 254 zcmZ?wbhEHb<YVAxIKse?mX>zr%$cQ2mR43)K7RCg=FFM9cI>)#_1e34?|@Q0Jw02u zZoPN+-uLg{4;?(z+S*!BP_SX$hUd?o@7=ri=#iuU|Nm#e3lx8{u!=B<GU$L*f$U^p ztxizw@@VPNSj8YPahdP}hs)7|?aVISZ@L5<0xVW2aP4+;{kVWdO{8s;5`)N!WzCKY z1g0=BJ1q{F!P7Q@Jw-9erlrf(VTauuKJJ5#P6{iS`GkYmt2u;t*cn^=^g3G@McCN< es=e5!bg&5q28*_{sB=sR(wytYu}oBv!5RSXeOey? literal 0 HcmV?d00001 diff --git a/images/rand.gif b/images/rand.gif new file mode 100644 index 0000000000000000000000000000000000000000..072d9913014dbdd0613763d53d7803cbc6ca0707 GIT binary patch literal 475 zcmV<10VMuMNk%w1VF>_u0K@<Q|NNu>_on{DSo6ec{KHc8!)ExyTlm9M{lHcCy;<+R zV)wmL?!8|2y-f1GQ}wh^_Oea#wM+7|QtYx|?y_9<uTbi;Tj{c2^sh?ruTk)?NdN!< z{s9620000000000A^8La6aX9mEC2ui00{ti000I5;3AIVMv~@Psw<nS?-`><ohXXq zY{$p|x=mx0NVH%>WD><%%tp_ntU-0)j4=gpC(?Pju4dFJE{7N2AW0jfHmnM)875vX z$N0LNInv7eabzxgC`){FXNV#=YCc;+B1J`l5tWuH5fGZ1kd+mm6_^nZn<<;6BBz`~ zni;MTDH#$M6cQ3CwiW>yup$q?ucoRg8pWs!7{el#nZ3vu(9pON5TKa0*q9j;6SmhB z0p80I*tg>m)<YV@J-_Y`JPW_4#L5en*5l>h;pPh(+q(H9x6jwGBC4DvOaTp4C=tch zaY{9e3c63?<Ymz1>Y4=$)P%X}C?Z<4Jc9;U8Ir<)!5<MnUdos=Gf_=NH*;PQv<QIA zLox^m9V(PZjiUz;Y!HgH#s&dRoi-IfbpwK{2n=X7@RX{70Ryyd&`Q8S0RUpD3fO9Z RKv%VD-@+9j7w(1-06VbI(!Kxy literal 0 HcmV?d00001 diff --git a/images/rot.gif b/images/rot.gif new file mode 100644 index 0000000000000000000000000000000000000000..b98d7f896e98b3b690bba58dac718c54f58e57d6 GIT binary patch literal 147 zcmZ?wbhEHb<Y(Y#*vtR||NsAg#K3Tkf#D<r!%hZ<<&2E8IXMrAh%A?qTIcQ#lm)AT z5{f@r7#SG28FWB=kQodt4h1JYSML?i=oJrWS7e$wsl(MPD1MTHrs8@b0i_)_JX_k8 mTJEl6H#kz(q;heEx0ZH;Q^A8bz6_Vu(+<C^*gu7X!5RQ;$1J4) literal 0 HcmV?d00001 diff --git a/index.php b/index.php new file mode 100644 index 0000000..fcede58 --- /dev/null +++ b/index.php @@ -0,0 +1,11 @@ +<? +if (isset ($_GET['content']) && !empty ($_GET['content'])) { + if (strpos ($_GET['content'], '../') !== FALSE) die ('Zugriffsverletzung !'); + if ($_GET['content']{0} != '/') $_GET['content'] = '/'.$_GET['content']; +} + +require ( './lib/header.php' ); +require ( './content'.$_GET['content'].'.php' ); +require ( './lib/footer.php' ); +?> + diff --git a/lib/extras.init.php b/lib/extras.init.php new file mode 100644 index 0000000..a178d03 --- /dev/null +++ b/lib/extras.init.php @@ -0,0 +1,11 @@ +<? +// Datei: lib/extras.init.php +// Datei um Funktionen aus der Extras-Erweiterung aufzurufen + + +// Variablen absichern ! +$_GET = extra_securevars($_GET); +$_POST = extra_securevars($_POST); +$_SERVER = extra_securevars($_SERVER); +if (count ($_SESSION) > 0) $_SESSION = extra_securevars($_SESSION); +?> \ No newline at end of file diff --git a/lib/extras.lib.php b/lib/extras.lib.php new file mode 100644 index 0000000..64474a7 --- /dev/null +++ b/lib/extras.lib.php @@ -0,0 +1,97 @@ +<? +// PHP-Version ausgeben. Beipspiel (PHP-Version 4.1.2-stable): 412 +function extra_phpversion () { + $ver = explode ('.', phpversion ()); + return ($ver[0].$ver[1].$ver[2]); +} + + +// Löscht alle Datensätze aus Tabelle [table] wenn keine gueltige +// UserID zu dem angegebenen Feld [row] existiert. +function extra_cleantable ($table, $row) { + global $db_prefix; + return db_query ('DELETE x FROM '.$table.' AS x LEFT JOIN '.$db_prefix.'_kontodaten AS u ON (u.uid = x.'.$row.') WHERE u.uid IS NULL'); +} + +// Funktion zum Variablen absichern ! +// Funktion zum Variablen absichern ! +function extra_securevars($array){ +global $GLOBALS; + foreach($array as $key=>$value) { + if(is_array($array[$key])) { + $result[$key] = extra_securevars($array[$key]); + } + else{ + if (get_magic_quotes_gpc ()) $result[$key] = stripslashes ($value); + else $result[$key] = $value; + } + } +return $result; +} + +// Funktion um ein Array optisch darzustellen +function print_a ( $TheArray ) +{ // Note: the function is recursive + echo '<table border=1 cellpadding=1 style="border-collapse: collapse; font: 8pt Arial;">'."\n"; + + $Keys = array_keys( $TheArray ); + foreach( $Keys as $OneKey ) + { + echo '<tr>'."\n"; + + echo '<td bgcolor="#727450" style="color: #ededed;">'."\n"; + echo '<B>' . $OneKey . '</B>'; + echo '</td>'."\n"; + + echo '<td bgcolor="#C4C2A6">'."\n"; + if ( is_array($TheArray[$OneKey]) ) + print_a($TheArray[$OneKey]); + else + echo $TheArray[$OneKey]; + echo '</td>'."\n"; + + echo '</tr>'."\n"; + } + echo '</table>'."\n"; +} + +// Erweiterte E-Mail-Funktion +function usermail ($an, $betreff, $nachricht, $von) { + // HTML-Codes entfernen + $nachricht = strip_tags ($nachricht); + + // zunächst fehlende Protokollprefixe ergänzen + $text = str_replace(' www.',' http://www.',$text); + $pattern = '#([^\"=>]|(?:r />))(http://)([^\s<>,]+(?=\.\s)|[^\s<>,]+)([\s\n<>,\.])#sm'; + $replacement = "$1<a title=\"der Link zu dieser URL wurde automatisch hinzugefügt\" target=\"extern\" href=\"$2$3\">$2$3</a>$4"; + $html_text = preg_replace($pattern,$replacement,$nachricht); + + // Nachricht mit HTML + $html_nachricht = '<HTML> +<HEAD> + <STYLE TYPE="text/css"> + <!-- + H1 {font-family: Verdana; font-size: 18pt} + BODY {font-family: Verdana; font-size: 10pt; margin-left: 30px} + // --> + </STYLE> +</HEAD> +<BODY BGCOLOR="beige"> + +<H1>'.$betreff.'</H1> + +'.nl2br($html_text).' + +</BODY> +</HTML>'; + +$Header = "MIME-Version: 1.0\n"; +$Header .= "Content-type: text/html; charset=iso-8859-1\n"; +$Header .= "From: ".$von."\n"; + +return mail($an, $betreff, $html_nachricht, $Header); +} + + +require (dirname (realpath (__FILE__)) . '/extras.init.php'); +?> \ No newline at end of file diff --git a/lib/footer.php b/lib/footer.php new file mode 100644 index 0000000..21866ad --- /dev/null +++ b/lib/footer.php @@ -0,0 +1,16 @@ +</td> +<td width="5" valign="top" align="left"></td> +<td width="150" valign="top" align="left"><?@include_once('lib/menue_rechts.php');?></td> +</tr> +</table> + +<?=$count_query;?> MySQL Abfragen +<!-- Fussnote --> + +</td></tr></table> +</body> +</html> +<? +db_close(); +if ($gzip_rate > 0) ob_end_flush(); +?> \ No newline at end of file diff --git a/lib/functions.lib.php b/lib/functions.lib.php new file mode 100644 index 0000000..8c79110 --- /dev/null +++ b/lib/functions.lib.php @@ -0,0 +1,182 @@ +<? +header("Cache-control: no-cache"); +// Datenbankserver +$db_host = "localhost"; +// Mysql User +$db_user = ""; +// Mysql PW +$db_pass = ""; +// Datenbank +$db_base = ""; +// Tabellenpräfix (wichtig wenn mehrere VMS in einer DB liegen) +$db_prefix = "vms"; +// Domain (ohne Slash am Ende) +$domain = "http://vms.designerscripte.net"; +// Seitenname +$seitenname = "VMS Demo"; +// Seitenwährung +$waehrung = "Lose"; +// ID vom Admin +$admin_id = 1; +// Adminmail +$betreibermail = "admin@vms1.de"; +// Passwort für Crons +$cron_pw = "geheimespasswort"; +// beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern +$percode = 'AbCdEfGhIjKlMnOpQrStUvWxYz123456789'; +// Komprimierung der Ausgabe zwischen 0 & 10 wobei 0 die Komprimierung der Ausgabe deaktiviert Empfohlener Wert: 1 +$gzip_rate = 1; + + +/* Globale Variablen nichts ändern */ +$ip = $_SERVER['REMOTE_ADDR']; + + +/* Funktionen Start */ + +// Datenbankverbindung +function db_connect() { +global $db_host,$db_user,$db_pass,$db_base,$sql_open; + $sql_open = @mysql_connect($db_host,$db_user,$db_pass) or die('Verbindung zum Mysql Server fehlgeschlagen!'); + $sql_base = @mysql_select_db($db_base) or die("Keine oder falsche Datenbank gewählt!"); +} + +// Mysql Querys +function db_query($sql_tag){ +global $count_query; + $count_query++; + $fargs = func_get_args(); + + if (!empty($fargs)){ + $vargs = array(); + foreach($fargs as $key => $arg){ + $vargs[$key] = mysql_real_escape_string($arg); + } + array_shift($vargs); + $sql_tag = vsprintf($sql_tag,$vargs); + } + if($ret = mysql_query($sql_tag)){ + return $ret; + }else{ + return 0; + } +} + +// Datenbank schließen +function db_close() { +global $sql_open; + @mysql_close($sql_open) or die('Konnte die Verbindung mit Datenbank nicht schliessen!'); +} + +// Zufallscode +function create_code($code_laenge) { +srand((double)microtime()*1000000); +$created_code = ''; +$zeichen="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; +for ($i=0;$i<$code_laenge;$i++) { +$n=rand() % strlen($zeichen); +$created_code .=substr($zeichen, $n, 1); +} +return $created_code; +} + + +// Einträge in Buchungsliste +function buchungsliste ($buchungs_id,$trans_menge,$verwendung,$fuer) { +global $db_prefix; + db_query("INSERT INTO ".$db_prefix."_buchungen (uid,buchungszeit,buchungs_id,buchungsmenge,verwendungszweck) VALUES (".$fuer.",".time().",'".$buchungs_id."','".$trans_menge."','".$verwendung."')"); +} + +// Kontotransaktionen +function kontobuchung ($art,$trans_menge,$fuer) { +global $db_prefix; + db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge." WHERE uid=".$fuer.""); +} + +// Schutz von internen Seiten +function userstatus () { +global $_SESSION,$db_prefix; + if ($_SESSION['login'] == 'true') { + $us = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." and passwort='".$_SESSION['passwort']."' LIMIT 1"); + $login_check = mysql_fetch_array($us); + + // nicht aktiviert oder nicht angemeldet! + if (!mysql_num_rows($us) or $login_check['status'] == 0) { + setCookie('uid','',time()-86400*30); + setCookie('passwort','',time()-86400*30); + setCookie('autologin','',time()-86400*30); + $_SESSION['uid'] = ""; + $_SESSION['passwort'] = ""; + $_SESSION['login'] = ""; + @include_once('content/error/kein_zutritt.php'); + @include_once('lib/footer.php'); + die(); + } + + // gesperrt + if ($login_check['status'] == 2) { + setCookie('uid','',time()-86400*30); + setCookie('passwort','',time()-86400*30); + setCookie('autologin','',time()-86400*30); + $_SESSION['uid'] = ""; + $_SESSION['passwort'] = ""; + $_SESSION['login'] = ""; + @include_once('content/error/user_gesperrt.php'); + @include_once('lib/footer.php'); + die(); + } + } else { + @include_once('content/error/kein_zutritt.php'); + @include_once('lib/footer.php'); + die(); + } +} + +// Refumsatz gutschreiben +function refumsatz ($buchungssumme,$fuer) { +global $db_prefix; + db_query ('UPDATE '.$db_prefix.'_werberdaten SET umsatz = umsatz + '.$buchungssumme.' WHERE uid = '.$fuer.' and werber != 0'); +} + +// Aktivrally +function aktivralley ($buchungssumme,$fuer) { +global $db_prefix; + // Wenn Aktivralley läuft + $ralleydaten_aktiv = mysql_fetch_array(db_query("SELECT `start`,`ende` FROM ".$db_prefix."_ralleydaten WHERE ralley = 'aktivralley' LIMIT 1")); + if ($ralleydaten_aktiv['start'] <= time() && $ralleydaten_aktiv['ende'] >= time()) { + db_query ('UPDATE '.$db_prefix.'_aktivralley SET punkte = punkte + '.$buchungssumme.' WHERE uid = '.$fuer); + if (mysql_affected_rows () == 0) db_query ('INSERT INTO '.$db_prefix.'_aktivralley (uid,punkte) VALUES ('.$fuer.', '.$buchungssumme.')'); + } +} + +// Klickrally +function klickralley () { +global $db_prefix,$_SESSION; + // wenn Klickralley läuft + $ralleydaten_klick = mysql_fetch_array(db_query("SELECT `start`,`ende`,`art`,`pro` FROM ".$db_prefix."_ralleydaten WHERE ralley = 'klickralley' LIMIT 1")); + if ($ralleydaten_klick['start'] <= time() && $ralleydaten_klick['ende'] >= time()) { + if ($ralleydaten_klick['art'] == 'dynamisch') db_query ("UPDATE ".$db_prefix."_ralleydaten SET jackpot=jackpot+'".$ralleydaten_klick['pro']."' WHERE ralley = 'klickralley'"); + db_query ('UPDATE '.$db_prefix.'_klickralley SET klicks = klicks + 1 WHERE uid = '.$_SESSION['uid']); + if (mysql_affected_rows () == 0) db_query ('INSERT INTO '.$db_prefix.'_klickralley (uid,klicks) VALUES ('.$_SESSION['uid'].', 1)'); + } +} + +// Bilanzen +function bilanz ($ein,$aus) { +global $db_prefix; + $ein = round($ein,2); + $aus = round($aus,2); + $date_stamp = mktime(0,0,0,date(m),date(d),date(Y)); + mysql_query('UPDATE '.$db_prefix.'_bilanz SET ein=ein+"'.$ein.'", aus=aus+"'.$aus.'" WHERE date='.$date_stamp.' LIMIT 1'); + if (mysql_affected_rows() == 0) db_query('INSERT INTO '.$db_prefix.'_bilanz (ein,aus,date) VALUES ("'.$ein.'","'.$aus.'",'.$date_stamp.')'); +} + + +// GZip +if ($gzip_rate > 0) +{ + ini_set('zlib.output_compression_level', $gzip_rate); + if(ereg("gzip",getenv("HTTP_ACCEPT_ENCODING"))) ob_start("ob_gzhandler"); + else ob_start(); +} +?> \ No newline at end of file diff --git a/lib/header.php b/lib/header.php new file mode 100644 index 0000000..ba26aa8 --- /dev/null +++ b/lib/header.php @@ -0,0 +1,75 @@ +<? +require ('lib/functions.lib.php'); +db_connect(); +require ('lib/session.lib.php'); +require ('lib/layout.lib.php'); +require ( 'lib/extras.lib.php' ); +if (!isset($_GET['content']) || empty ($_GET['content'])) $_GET['content'] = '/intern/startseite'; + +if (!file_exists('content'.$_GET['content'].'.php')) $_GET['content'] = '/error/keine_seite'; + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title><?=$seitenname;?></title> +<link rel="stylesheet" href="css/main.css" type="text/css"> +<meta name="Author" content="Designerscripte.net"> +<meta name="Publisher" content="Designerscripte.net"> +<meta name="Copyright" content="Designerscripte.net"> +<meta name="Keywords" content="vms,paid4,loginscript"> +<meta name="Description" content="Verdien was Du willst"> +<meta name="Page-topic" content="Loseseite zu Klamm.de"> +<meta name="Audience" content=""> +<meta name="Content-language" content="DE"> +<meta name="Page-type" content="Nicht Gewinnorientiert"> +<meta name="Robots" content="INDEX,FOLLOW"> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> +<link rel="stylesheet" href="/css/main.css" type="text/css"> + +<? +if ($_GET['content'] == '/intern/startseite') @require_once ('lib/texte/alt_startseitenpopup.txt'); +if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpopup.txt'); +?> + +</head> +<body style="topmargin:5; leftmargin:0;"> +<table width="800" cellpadding="0" cellspacing="0" border="0" align="center"><tr><td valign="top" align="center"> +<table style="border:solid 1px #4B69FF" width="800" border="0" cellpadding="0" cellspacing="0" bgcolor="#FEFBF5"> +<tr> +<td height="120" width="100%" valign="top" style="background-image:url('./images/header.gif');"> +<div style="position:relative; top:20px; right:-321px;"> +<?@require_once ('lib/texte/alt_headerbanner.txt');?> +</div> +</td></tr> +<tr> +<td bgcolor="#FEFBF5" valign="top" align="center"> +<table width="100%"> +<tr> +<td height="100%" width="100%" align="center"> + + <a href="index.php">Home</a> + <a href="?content=/intern/mediadaten">Mediadaten</a> + <a href="?content=/intern/agbs">AGB</a> + <a href="?content=/intern/faqs">FAQ</a> + <a href="?content=/intern/werbemittel">Werbemittel</a> + <a href="?content=/intern/impressum">Impressum</a> +</td> +</tr> +</table> + +</td> +</tr> +</table> + + +<table width="800" border="0" cellpadding="0" cellspacing="0"> +<tr><td height="5"></td></tr></table> + +<!-- Inhalt --> + +<table width="800" cellpadding="0" cellspacing="0" border="0"> +<tr> +<td width="150" valign="top" align="left"><?@include_once('lib/menue_links.php');?></td> +<td width="5" valign="top" align="left"></td> +<td width="490" valign="top" align="left"> \ No newline at end of file diff --git a/lib/layout.lib.php b/lib/layout.lib.php new file mode 100644 index 0000000..115dc02 --- /dev/null +++ b/lib/layout.lib.php @@ -0,0 +1,53 @@ +<? +function head($titel){ +echo ' +<table style="border:solid 0px black" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#4B69FF"> +<tr> +<td valign="middle" align="center" height="18" bgcolor="#1e364c"><b><font color="#ffffff">'.$titel.'</font></b></td> +</tr> +<tr> +<td bgcolor="#FEFBF5" valign="top" align="left"> +<table width="98%" cellpadding="2" cellspacing="2"> +<tr> +<td> +'; +} + +function foot(){ +echo ' +</td> +</tr> +</table> +</td> +</tr> +</table> +<table border="0" cellpadding="0" cellspacing="0"><tr><td height="5"></td></tr></table> +'; +} + +function menuehead($titel){ +echo' +<table style="border:solid 0px black" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#4B69FF"> +<tr> +<td valign="middle" align="center" height="18" bgcolor="#1e364c"><b><font color="#ffffff">'.$titel.'</font></b></td> +</tr> +<tr> +<td bgcolor="#FEFBF5" valign="top" align="left"> +<table width="98%" cellpadding="2" cellspacing="2"> +<tr> +<td> +'; +} + +function menuefoot(){ +echo' +</td> +</tr> +</table> +</td> +</tr> +</table> +<table border="0" cellpadding="0" cellspacing="0"><tr><td height="5"></td></tr></table> +'; +} +?> \ No newline at end of file diff --git a/lib/menue_links.php b/lib/menue_links.php new file mode 100644 index 0000000..1fefe1a --- /dev/null +++ b/lib/menue_links.php @@ -0,0 +1,73 @@ +<?menuehead("Navigation"); +if ($_SESSION['login'] == 'true') {?> + + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/konto/uebersicht">Kontoübersicht</a><br /> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/konto/einzahlen">Einzahlen</a><br /> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/konto/auszahlen">Auszahlen</a><br /> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/konto/buchungen">Buchungen</a><br /> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/konto/refuebersicht">Refübersicht</a><br /> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/konto/userprofil">Userprofil</a><br /> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/intern/startseite&logout=true"><i>Logout</i></a> +<?} else {?> +<form action="" method="post"> +<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0"> +<tr> + <td align="center"> + <b>Nickname:</b><br> + <input type="Text" name="nickname" value="<?=$_POST['nickname'];?>" style="width=110px;"><br> + <b>Passwort:</b><br> + <input type="Password" name="passwort" value="" style="width=110px;"><br> + <select name="autologin" size="1" style="width=110px;"> + <option value="true" SELECTED>Mit Autologin </option> + <option value="false">Ohne Autologin </option> + </select><br> + <br> + <input type="Submit" name="checkid" value="Login" style="width=110px;"><br><br> +</td> +</tr> +<tr> + <td height="15" align="left"> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/intern/daten">Daten vergessen?</a> + </td> +</tr> +<tr> + <td height="15" align="left"> + <img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/intern/anmelden">Registrieren</a> + </td> +</tr> +</table> +</form> +<?}?> +<?menuefoot();?> + +<? if ($_SESSION['login'] == 'true') {?> + + + +<?menuehead("Verdienen");?> +<img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/verdienen/klick4">Klick4Lose</a><br /> +<img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/verdienen/betteln4">Betteln4Lose</a><br /> +<img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/verdienen/paidmails">Paidmails</a> +<?menuefoot();?> + +<?menuehead("Unsere Rallys");?> +<img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/ralleys/aktiv">Aktivrally</a><br /> +<img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/ralleys/klick">Klickrally</a><br /> +<img src="images/pfeil.gif" border="0" alt=""> <a href="?content=/ralleys/ref">Refrally</a> +<?menuefoot();?> + + +<? +$filename = 'lib/texte/box2.txt'; +$fp = fopen ($filename, "r"); +$inhalt = fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +if ($inhalt != ''){ +menuehead("Unsere Sponsoren"); +echo nl2br($inhalt); +menuefoot(); +} +?> + +<? } ?> diff --git a/lib/menue_rechts.php b/lib/menue_rechts.php new file mode 100644 index 0000000..223e8fe --- /dev/null +++ b/lib/menue_rechts.php @@ -0,0 +1,31 @@ +<? if ($_SESSION['login'] == 'true') {?> + +<?menuehead("Games");?> +Link<br> +Link<br> +<?menuefoot(); + +menuehead("Wer ist online"); +include ("lib/weristonline.php"); +menuefoot(); +} + +$filename = 'lib/texte/box1.txt'; +$fp = fopen ($filename, "r"); +$inhalt = fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); + +if ($inhalt != ''){ +menuehead("Unsere Sponsoren"); +echo nl2br($inhalt); +menuefoot(); +} +?> +<!-- Diese Seite basiert auf dem VMS1.2 von Designerscripte.net das entfernen dieses Copyrighthinweises ohne Erlaubnis zieht +rechtliche Schritte mit sich +--> +<div align="center"><font size="1">© by <a href="http://www.designerscripte.net">Designerscripte.net</a></font></div> +<!-- Diese Seite basiert auf dem VMS1.2 von Designerscripte.net das entfernen dieses Copyrighthinweises ohne Erlaubnis zieht +rechtliche Schritte mit sich +--> \ No newline at end of file diff --git a/lib/module.lib.php b/lib/module.lib.php new file mode 100644 index 0000000..2da0302 --- /dev/null +++ b/lib/module.lib.php @@ -0,0 +1,54 @@ +<? +// Gibt den aktuellen Modulnamen aus +function modul_name () { +global $_GET; + return $_GET['mod']; +} + +// Gibt das aktuelle Modulverzeichnis aus +function modul_dir () { +global $dir, $_GET; + return ($dir.$_GET['mod'].'/'); +} + +// Erzeugt modulinterne Links +function modul_link ($vars='') { +global $_GET, $linkstyle; + $link = $linkstyle.$_GET['mod']; + if (!empty ($vars)) $link .= $vars; + return $link; +} + +// Sicherheitsfunktion um unerlaubte Ausrufe zu verhindern +function modul_access () { + if (!defined ('MODULSYSTEM_LOADED')) die ('Unberechtigter Zugriff!'); +} + +// Sicherheitsfunktion fuer Administration um unerlaubte Ausrufe zu verhindern +function moduladmin_access () { + if (!defined ('MODULADMIN_LOADED')) die ('Unberechtigter Zugriff!'); +} + +// MySQL-Query-Funktion +function modul_query ($query) { + return db_query ($query); +} + +function modul_easytime ($time, $trenner=FALSE) { + $diff = ( time () - $time ); + + $days = floor ( $diff / 86400 ); + if ($days > 0) $diff = ( $diff % 86400 ); + + $hours = floor ( $diff / 3600 ); + if ($hours > 0) $diff = ( $diff % 3600 ); + + $mins = floor ( $diff / 60 ); + + $trenner = ($trenner == FALSE) ? ', ' : '<br />'; + $dayend = ($days > 1) ? 'Tage' : 'Tag'; + + if ($days > 0) return ($days.' '.$dayend.$trenner.$hours.' Std.'); + else return ($hours.' Std.'.$trenner.$mins.' Min.'); +} +?> \ No newline at end of file diff --git a/lib/schnittstellen/ebesucher.php b/lib/schnittstellen/ebesucher.php new file mode 100644 index 0000000..cbb7948 --- /dev/null +++ b/lib/schnittstellen/ebesucher.php @@ -0,0 +1,125 @@ +<? +// eBesucher ST Fehlercodes +$trans_error[1001] = "Alles OK"; +$trans_error[1011] = "Falsche Punkteart"; +$trans_error[1012] = "Falsche Punkteanzahl (z.B. keine ganze Zahl oder negativ)"; +$trans_error[1013] = "Betreff zu lang oder nicht angegeben"; +$trans_error[1021] = "Falsche Schnittstellen-ID"; +$trans_error[1022] = "Falsches Schnittstellen-Passwort"; +$trans_error[1023] = "Zu wenig Punkte auf diesem Schnittstellenaccount"; +$trans_error[1024] = "Falsche KennungsID"; +$trans_error[1025] = "Keine Abfragen mehr auf dem Schnittstellenaccount"; +$trans_error[1031] = "Keine oder falsche UserID bzw. Usernamen angegeben"; +$trans_error[1032] = "UserID UND Username angegeben, benötigt wird nur eins!"; +$trans_error[1033] = "Kein oder falsches User-Passwort angegeben"; +$trans_error[1034] = "Dieser User ist gesperrt"; +$trans_error[1035] = "Das Guthaben des Users reicht nicht aus"; +$trans_error[1036] = "Neuer User (aus Sicherheitsgründen dürfen neue User in den ersten 7 Tagen ihrer Mitgliedschaft die Schnittstelle nicht benutzen)"; +$trans_error[1098] = "Schnittstelle z.Z. nicht verfügbar (DB-Arbeiten o.ä.)"; +$trans_error[1099] = "Unbekannter Fehler"; +$trans_error[9998] = "Fehlerhafter Aufruf (falsche Reihenfolge o.ä.)"; +$trans_error[9999] = "Timeout (Schnittstelle nicht erreichbar)"; + +// ST->User +function auszahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code) { +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$trans_betreff = urlencode($trans_betreff); +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +$trans_menge = urlencode($trans_menge); +// SecVMS change end + +$returned=''; +$ret=@file("http://st.ebesucher.de/send.php?stid=".$betreiber_id."&stpw=".$betreiber_pw."&uid=".$kunden_id."&upw=".$kunden_pw."&k=".$betreiber_kennung."&a=1&p=".$trans_menge."&b=".$trans_betreff.""); +for($i=0;$i<count($ret);$i++) { + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,6); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +// User->ST +function einzahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code){ +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$trans_betreff = urlencode($trans_betreff); +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +$trans_menge = urlencode($trans_menge); +// SecVMS change end + +$returned=''; +$ret=file("http://st.ebesucher.de/get.php?stid=".$betreiber_id."&stpw=".$betreiber_pw."&uid=".$kunden_id."&upw=".$kunden_pw."&k=".$betreiber_kennung."&a=1&p=".$trans_menge."&b=".$trans_betreff.""); +for($i=0;$i<count($ret);$i++) { + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,6); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +// ebesucher-Kontostand +function usercheck ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error,$user_saldo; + +// SecVMS change begin +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +// SecVMS change end + +$returned=''; +$ret=file("http://st.ebesucher.de/info.php?stid=".$betreiber_id."&stpw=".$betreiber_pw."&uid=".$kunden_id."&upw=".$kunden_pw.""); +for($i=0;$i<count($ret);$i++){ + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +if ($error != "true") $user_saldo = $trans_check[1]; +return $error; +return $trans_ausgabe; +return $user_saldo; +} + +// Usercheck +function uservalidate ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +// SecVMS change end + +$returned=''; +$ret=file("http://st.ebesucher.de/info.php?stid=".$betreiber_id."&stpw=".$betreiber_pw."&uid=".$kunden_id."&upw=".$kunden_pw.""); +for($i=0;$i<count($ret);$i++){ + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} + +return $error; +return $trans_ausgabe; +} +?> \ No newline at end of file diff --git a/lib/schnittstellen/funcoins.php b/lib/schnittstellen/funcoins.php new file mode 100644 index 0000000..121b2e9 --- /dev/null +++ b/lib/schnittstellen/funcoins.php @@ -0,0 +1,114 @@ +<? +/* +Transaktionsschnittstelle für Projekt Seth +Betreibersystem Funcoins FuCoEx² +Copyright bei Detlef Tiegel +http://www.projekt-seth.de +*/ + +// Funcoins FuCoEx² Fehlercodes + +// FuCoEx² -> Funcoins +function auszahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code) { +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$trans_betreff = urlencode($trans_betreff); +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +$trans_menge = urlencode($trans_menge); +// SecVMS change end + +$returned=''; +$ret=@file("http://www.funcoinbank.de/engine/fucoex.php?typ=send&k1_nr=".$betreiber_id."&k1_pw=".$betreiber_pw."&k2_nr=".$kunden_id."&k2_pw=".$kunden_pw."&n=".$trans_menge."&s=".$trans_betreff."&transid=".$trans_code.""); +for($i=0;$i<count($ret);$i++) { + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_check[0]; +if ($trans_ausgabe == "") $trans_ausgabe = 'FuCoEx²-Server nicht erreichbar!'; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +// Funcoins -> FuCoEx² +function einzahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code){ +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$trans_betreff = urlencode($trans_betreff); +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +$trans_menge = urlencode($trans_menge); +// SecVMS change end + +$returned=''; +$ret=@file("http://www.funcoinbank.de/engine/fucoex.php?typ=get&k1_nr=".$betreiber_id."&k1_pw=".$betreiber_pw."&k2_nr=".$kunden_id."&k2_pw=".$kunden_pw."&n=".$trans_menge."&s=".$trans_betreff."&transid=".$trans_code.""); +for($i=0;$i<count($ret);$i++) { + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_check[0]; +if ($trans_ausgabe == "") $trans_ausgabe = 'FuCoEx²-Server nicht erreichbar!'; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +// Funcoins-Kontostand +function usercheck ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error,$user_saldo; + +// SecVMS change begin +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +// SecVMS change end + +$returned=''; +$ret=@file("http://www.funcoinbank.de/engine/fucoex.php?typ=saldo&k1_nr=".$betreiber_id."&k1_pw=".$betreiber_pw."&k2_nr=".$kunden_id."&k2_pw=".$kunden_pw.""); +for($i=0;$i<count($ret);$i++){ + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_check[0]; +if ($trans_ausgabe == "") $trans_ausgabe = 'FuCoEx²-Server nicht erreichbar!'; +$error = "true"; +} +if ($error != "true") $user_saldo = $trans_check[1]; +return $error; +return $trans_ausgabe; +return $user_saldo; +} + +// Usercheck +function uservalidate ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +// SecVMS change end + +$returned=''; +$ret=@file("http://www.funcoinbank.de/engine/fucoex.php?typ=validate&k1_nr=".$betreiber_id."&k1_pw=".$betreiber_pw."&k2_nr=".$kunden_id."&k2_pw=".$kunden_pw.""); +for($i=0;$i<count($ret);$i++){ + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_check[0]; +if ($trans_ausgabe == "") $trans_ausgabe = 'FuCoEx²-Server nicht erreichbar!'; +$error = "true"; +} +if ($trans_check[2] == 1) {$trans_ausgabe = 'Du stehst auf der FuCo-Blacklist!'; $error = "true";} +if ($trans_check[5] == 'ja') {$trans_ausgabe = 'Betreiberkonten dürfen sich nicht anmelden!'; $error = "true";} +return $error; +return $trans_ausgabe; +} +?> \ No newline at end of file diff --git a/lib/schnittstellen/klamm.php b/lib/schnittstellen/klamm.php new file mode 100644 index 0000000..5ec487a --- /dev/null +++ b/lib/schnittstellen/klamm.php @@ -0,0 +1,138 @@ +<? +/* +Transaktionsschnittstelle für Projekt Seth +Betreibersystem Klamm ExportForce² +Copyright bei Detlef Tiegel +http://www.projekt-seth.de +*/ + +// Klamm ExportForce² Fehlercodes +$trans_error[1001] = "Alles OK"; +$trans_error[1002] = "EF Account existiert nicht"; +$trans_error[1003] = "EF Passwort falsch"; +$trans_error[1004] = "Nicht genug freie EF Anfragen"; +$trans_error[1005] = "EF Kennung existiert nicht"; +$trans_error[1006] = "klammUser existiert nicht"; +$trans_error[1007] = "klammUser ist gesperrt"; +$trans_error[1008] = "klammUser hat zu wenig Lose"; +$trans_error[1009] = "Lose Passwort falsch"; +$trans_error[1010] = "Zu wenig Lose auf EF Account"; +$trans_error[1011] = "Anzahl nicht zulässig"; +$trans_error[1012] = "Betreff nicht zulässig"; +$trans_error[1013] = "Inout Parameter nicht zulässig"; +$trans_error[1014] = "Limit Parameter nicht zulässig"; +$trans_error[1015] = "ab_tid Parameter nicht zulässig"; +$trans_error[1016] = "ab_time Parameter nicht zulässig"; +$trans_error[1017] = "type Parameter nicht zulässig"; +$trans_error[1018] = "Statistik Passwort falsch"; +$trans_error[1019] = "Tresor Parameter nicht zulässig"; +$trans_error[1020] = "Empfänger EF existiert nicht"; +$trans_error[1021] = "Empfänger EF noch nicht akiviert"; +$trans_error[1022] = "Überweisung an eigenen EF nicht möglich"; +$trans_error[1023] = "target Parameter nicht zulässig"; +$trans_error[1098] = "EF Account ist gesperrt"; +$trans_error[1099] = "Unbekannter Fehler"; + +// ExportForce² -> Klamm.de +function auszahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code) { +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$trans_betreff = urlencode($trans_betreff); +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +$trans_menge = urlencode($trans_menge); +// SecVMS change end + +$returned=''; +$ret=@file("http://www.klamm.de/engine/lose/send.php?ef_id=".$betreiber_id."&ef_pw=".$betreiber_pw."&k_id=".$kunden_id."&s=".$trans_betreff."&n=".$trans_menge."&k=".$betreiber_kennung."&l_pw=".$kunden_pw."&code=".$trans_code.""); +for($i=0;$i<count($ret);$i++) { + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +// Klamm.de -> ExportForce² +function einzahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code){ +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$trans_betreff = urlencode($trans_betreff); +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +$trans_menge = urlencode($trans_menge); +// SecVMS change end + +$returned=''; +$ret=file("http://www.klamm.de/engine/lose/get.php?ef_id=".$betreiber_id."&ef_pw=".$betreiber_pw."&k_id=".$kunden_id."&s=".$trans_betreff."&n=".$trans_menge."&k=".$betreiber_kennung."&l_pw=".$kunden_pw."&code=".$trans_code.""); +for($i=0;$i<count($ret);$i++) { + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +// Klammlose-Kontostand +function usercheck ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error,$user_saldo; + +// SecVMS change begin +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +// SecVMS change end + +$returned=''; +$ret=file("http://www.klamm.de/engine/lose/saldo.php?ef_id=".$betreiber_id."&ef_pw=".$betreiber_pw."&k_id=".$kunden_id."&l_pw=".$kunden_pw.""); +for($i=0;$i<count($ret);$i++){ + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +if ($error != "true") $user_saldo = $trans_check[1]; +return $error; +return $trans_ausgabe; +return $user_saldo; +} + +// Usercheck +function uservalidate ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error; + +// SecVMS change begin +$kunden_id = urlencode($kunden_id); +$kunden_pw = urlencode($kunden_pw); +// SecVMS change end + +$returned=''; +$ret=file("http://www.klamm.de/engine/lose/validate.php?ef_id=".$betreiber_id."&ef_pw=".$betreiber_pw."&k_id=".$kunden_id."&l_pw=".$kunden_pw.""); +for($i=0;$i<count($ret);$i++){ + $returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1001") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} + +return $error; +return $trans_ausgabe; +} +?> \ No newline at end of file diff --git a/lib/schnittstellen/nickey.php b/lib/schnittstellen/nickey.php new file mode 100644 index 0000000..a3a858f --- /dev/null +++ b/lib/schnittstellen/nickey.php @@ -0,0 +1,95 @@ +<? +/* +Transaktionsschnittstelle für Projekt Seth / VMS +Betreibersystem Nickeyforce +Copyright 2005 Michael Rosenberger +http://www.nickeyforce.de info@nickeyforce.de +*/ +// Nickeyforce Kennung +// Bitte beim Validate die Kennung eintragen !!!! + +// Nickeyforce Fehlercodes +$trans_error[1000] = "Alles OK"; +$trans_error[1001] = "ForceID / Passwortkombination stimmen nicht"; +$trans_error[1002] = "Kennung existiert nicht"; +$trans_error[1003] = "User existiert nicht"; +$trans_error[1004] = "nickeyPasswort falsch"; +$trans_error[1005] = "User gesperrt"; +$trans_error[1006] = "Forcekonto gesperrt"; +$trans_error[1007] = "nicht genügend nickeys auf dem Userkonto"; +$trans_error[1008] = "nicht genügend nickeys auf dem Forcekonto"; +$trans_error[1020] = "Parameter fehlt"; +$trans_error[1021] = "Falsche Anzahl (mindestens 10 nickeys je Transaktion)"; +$trans_error[1022] = "Forcekonto noch nicht aktiviert"; +$trans_error[1030] = "Keine freien Zugriffe (500/Tag) bzw. gekaufte Zugriffe uebrig"; +$trans_error[1031] = "Es sind nur 100000 Zugriffe/Tag erlaubt"; +$trans_error[1040] = "Keine gesperrten User im System"; +$trans_error[1051] = "SMS System nicht aktiviert für den Betreiber"; +$trans_error[1052] = "SMS Guthaben leer/aufgebraucht. Bitte aufladen"; +$trans_error[1053] = "Empfängernummer falsches Format"; +$trans_error[1054] = "SMS konnte nicht gesendet werden"; +$trans_error[1055] = "SMS Text länger als 160 Zeichen, bitte begrenzen"; +$trans_error[1080] = "Keine SMS im Ticker vorhanden"; + + + +//Buchung nickeyFORCE -> nickeyBANK +function auszahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code) { +global $error,$trans_ausgabe,$trans_error; +$trans_betreff = ereg_replace(" ", "%20", $trans_betreff); +$returned=''; +$ret=@file("http://www.nickeyforce.de/api/send2.php?api_id=".$betreiber_id."&api_passwort=".$betreiber_pw."&user=".$kunden_id."&betreff=".$trans_betreff."&anzahl=".$trans_menge."&api_kennung=".$betreiber_kennung."&code=".$trans_code.""); +for($i=0;$i<count($ret);$i++) { +$returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1000") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + +//Buchung nickeyBANK -> nickeyFORCE +function einzahlen ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw,$betreiber_kennung,$trans_menge,$trans_betreff,$trans_code){ +global $error,$trans_ausgabe,$trans_error; +$trans_betreff = ereg_replace(" ", "%20", $trans_betreff); +$returned=''; +$ret=file("http://www.nickeyforce.de/api/get2.php?api_id=".$betreiber_id."&api_passwort=".$betreiber_pw."&betreff=".$trans_betreff."&api_kennung=".$betreiber_kennung."&user=".$kunden_id."&user_passwort=".$kunden_pw."&anzahl=".$trans_menge."&code=".$trans_code.""); +for($i=0;$i<count($ret);$i++) { +$returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1000") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} +return $error; +return $trans_ausgabe; +} + + + +// Usercheck nickeyFORCE -> nickeyBANK +// Bitte hier Kennung eintragen !!!! +function uservalidate ($betreiber_id,$betreiber_pw,$kunden_id,$kunden_pw){ +global $error,$trans_ausgabe,$trans_error; +$returned=''; +$ret=file("http://www.nickeyforce.de/api/validate.php?api_id=".$betreiber_id."&api_passwort=".$betreiber_pw."&user=".$kunden_id."&user_passwort=".$kunden_pw."&api_kennung=".$betreiber_kennung.""); +for($i=0;$i<count($ret);$i++){ +$returned.=$ret[$i]; +} +$trans_check = split("[|]",$returned,7); +if ($trans_check[0] != "1000") { +$trans_ausgabe = $trans_error[$trans_check[0]]; +if ($trans_ausgabe == "") $trans_ausgabe = $trans_error[1099]; +$error = "true"; +} + +return $error; +return $trans_ausgabe; +} +?> \ No newline at end of file diff --git a/lib/session.lib.php b/lib/session.lib.php new file mode 100644 index 0000000..00f6028 --- /dev/null +++ b/lib/session.lib.php @@ -0,0 +1,121 @@ +<? +/* +Datei : session.lib.php +Änderungen in dieser Datei nur dann vornehmen wenn Sie wissen was Sie tun! +*/ +@session_start(); + +// Variabeln definieren +if (!isset($_SESSION['login'])) $_SESSION['login'] = ""; +if (!isset($_SESSION['werber'])) $_SESSION['werber'] = "0"; +if (!isset($_SESSION['uid'])) $_SESSION['uid'] = "0"; +if (!isset($_POST['nickname'])) $_POST['nickname'] = ""; +if (!isset($_POST['passwort'])) $_POST['passwort'] = ""; +if (!isset($_POST['checkid'])) $_POST['checkid'] = ""; +if (!isset($_POST['autologin'])) $_POST['autologin'] = ""; +if (!isset($_GET['logout'])) $_GET['logout'] = ""; +if (!isset($_GET['ref'])) $_GET['ref'] = "0"; + +if ($_SESSION['werber'] == "0") $_SESSION['werber'] = (int)$_GET['ref']; + +// Seiteneinstellungen laden... +$pageconfig = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_seitenkonfig LIMIT 1")); + +if ($pageconfig['wartung'] == 1 && $_SESSION['uid'] != $admin_id) { + setCookie('uid','',time()-86400*30); + setCookie('passwort','',time()-86400*30); + setCookie('autologin','',time()-86400*30); + $_SESSION['uid'] = ""; + $_SESSION['passwort'] = ""; + $_SESSION['login'] = ""; + header ("location: ".$domain."/wartung.php"); + die(); +} + + +// Login +if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) { + + $_POST['nickname'] = addslashes($_POST['nickname']); + + $login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis FROM + ".$db_prefix."_userdaten u + LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid +WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1"); + + if (mysql_num_rows($login_check)) { + $login_check = mysql_fetch_array($login_check); + + // Wenn User noch nicht freigeschaltet! + if ($login_check['status'] == 0) { + $_SESSION['uid'] = ""; + $_SESSION['passwort'] = ""; + $_SESSION['login'] = ""; + $_GET['content'] = '/error/kein_zutritt'; + } + + // Wenn beim User alles O.K. ist! + if ($login_check['status'] == 1) { + db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$login_check['uid']." and passwort='".md5($_POST['passwort'])."' LIMIT 1"); + if ($_POST['autologin'] == 'true') { + setCookie('uid',$login_check['uid'],time()+86400*30); + setCookie('passwort',$login_check['passwort'],time()+86400*30); + setCookie('autologin','true',time()+86400*30); + } + $_SESSION['uid'] = $login_check['uid']; + $_SESSION['passwort'] = $login_check['passwort']; + $_SESSION['login'] = "true"; + header ("location: ".$domain); + die(); + } + + // Wenn User gesperrt wurde! + if ($login_check['status'] == 2) { + $_SESSION['uid'] = ""; + $_SESSION['passwort'] = ""; + $_SESSION['login'] = ""; + $_GET['content'] = '/error/user_gesperrt'; + } + + // Wenn es den User garnicht giebt + } else { + $_GET['content'] = '/error/kein_zutritt'; + } + +} else { +if ($_POST['checkid'] == 'Login') $_GET['content'] = '/error/kein_zutritt'; +} + +// Autologin +if ($_SESSION['login'] != 'true' && isset($_COOKIE['autologin']) && isset($_COOKIE['uid']) && isset($_COOKIE['passwort'])) { + + $_COOKIE['uid'] = (int)$_COOKIE['uid']; + $_COOKIE['passwort'] = addslashes ($_COOKIE['passwort']); + + $login_check = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1"); + if (mysql_num_rows($login_check)) { + $login_check = mysql_fetch_array($login_check); + if ($login_check['status'] == 1) { + db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1"); + $_SESSION['uid'] = $login_check['uid']; + $_SESSION['passwort'] = $login_check['passwort']; + $_SESSION['login'] = "true"; + } + } +} + +// Logout +if ($_GET['logout'] == 'true') { + setCookie('uid','',time()-86400*30); + setCookie('passwort','',time()-86400*30); + setCookie('autologin','',time()-86400*30); + $_SESSION['uid'] = ""; + $_SESSION['passwort'] = ""; + $_SESSION['login'] = ""; + header ("location: ".$domain); + die(); +} +if (isset ($_SESSION['uid']) && isset ($_SESSION['passwort']) && !empty ($_SESSION['uid']) && !empty ($_SESSION['passwort'])){ +db_query ("UPDATE ".$db_prefix."_kontodaten SET last_active = ".time()." WHERE uid = ".$_SESSION['uid']." AND passwort = '".$_SESSION['passwort']."' LIMIT 1"); +} +?> \ No newline at end of file diff --git a/lib/texte/agb.txt b/lib/texte/agb.txt new file mode 100644 index 0000000..b19bd32 --- /dev/null +++ b/lib/texte/agb.txt @@ -0,0 +1 @@ +agb \ No newline at end of file diff --git a/lib/texte/aktivralley.txt b/lib/texte/aktivralley.txt new file mode 100644 index 0000000..b91361a --- /dev/null +++ b/lib/texte/aktivralley.txt @@ -0,0 +1,7 @@ +Aktivralley + +Pro Funcoin 1 Aktivpunkt bei Klick4Funcoins + +Jokerslot pro Spiel 100AP +Atomic2 pro Spiel 100 AP +Atomic1 pro Spiel 10 AP \ No newline at end of file diff --git a/lib/texte/alt_bettelseitenpopup.txt b/lib/texte/alt_bettelseitenpopup.txt new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/lib/texte/alt_bettelseitenpopup.txt @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/lib/texte/alt_headerbanner.txt b/lib/texte/alt_headerbanner.txt new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/lib/texte/alt_headerbanner.txt @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/lib/texte/alt_startseitenpopup.txt b/lib/texte/alt_startseitenpopup.txt new file mode 100644 index 0000000..ab9d6fa --- /dev/null +++ b/lib/texte/alt_startseitenpopup.txt @@ -0,0 +1 @@ +<!-- Nothing --> \ No newline at end of file diff --git a/lib/texte/bettelwerbung.txt b/lib/texte/bettelwerbung.txt new file mode 100644 index 0000000..e440e5c --- /dev/null +++ b/lib/texte/bettelwerbung.txt @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/lib/texte/box1.txt b/lib/texte/box1.txt new file mode 100644 index 0000000..8853508 --- /dev/null +++ b/lib/texte/box1.txt @@ -0,0 +1 @@ +555 \ No newline at end of file diff --git a/lib/texte/box2.txt b/lib/texte/box2.txt new file mode 100644 index 0000000..bf0d87a --- /dev/null +++ b/lib/texte/box2.txt @@ -0,0 +1 @@ +4 \ No newline at end of file diff --git a/lib/texte/faq.txt b/lib/texte/faq.txt new file mode 100644 index 0000000..32914fe --- /dev/null +++ b/lib/texte/faq.txt @@ -0,0 +1 @@ +FAQ \ No newline at end of file diff --git a/lib/texte/klickralley.txt b/lib/texte/klickralley.txt new file mode 100644 index 0000000..e69de29 diff --git a/lib/texte/refralley.txt b/lib/texte/refralley.txt new file mode 100644 index 0000000..3c1e1bc --- /dev/null +++ b/lib/texte/refralley.txt @@ -0,0 +1 @@ +Refralley \ No newline at end of file diff --git a/lib/texte/startwerbung.txt b/lib/texte/startwerbung.txt new file mode 100644 index 0000000..a579d79 --- /dev/null +++ b/lib/texte/startwerbung.txt @@ -0,0 +1,4 @@ +<script src="http://www.fuco-ads.de/lose/zbanner.php?id=54&aid=89&size=468x60&only="></script> + +<IFRAME SRC="http://www.promotion4banner.de/cgi/p4b.cgi?dimplex" MARGINWIDTH="0" MARGINHEIGHT="0" HSPACE="0" SCROLLING="no" VSPACE="0" FRAMEBORDER="0" WIDTH="468" HEIGHT="60"></IFRAME> +<!-- ENDE - (c) Promotion4Banner.de - HTML-Code --> \ No newline at end of file diff --git a/lib/texte/wartung.txt b/lib/texte/wartung.txt new file mode 100644 index 0000000..dae4f3a --- /dev/null +++ b/lib/texte/wartung.txt @@ -0,0 +1 @@ +MFG \ No newline at end of file diff --git a/lib/weristonline.php b/lib/weristonline.php new file mode 100644 index 0000000..04cefc3 --- /dev/null +++ b/lib/weristonline.php @@ -0,0 +1,21 @@ +<? +$zeit = (5 * 60); // Sekunden seit der letzten Aktivität +$np = $domain.'/?content=/nickpage&nick='; // Nickpagelink + +// verhindern, dass die Datei direkt aufgerufen wird +if (!function_exists ("db_query")) die ("Kein Direktaufruf"); + +$sql = db_query ('SELECT k.uid, u.nickname FROM '.$db_prefix.'_kontodaten k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid WHERE k.last_active >= '.(time()-$zeit)); + +if (mysql_num_rows ($sql) == 0) echo '<span style="font-style: italic;">keiner</span>'; +else { + $nr = 1; + while ($user = mysql_fetch_assoc ($sql)){ + if ($user['uid'] == $admin_id) echo '<a style="font-weight: bold;" href="'.$np.$user['nickname'].'">'.$user['nickname'].'</a>'; + else echo '<a href="'.$np.$user['nickname'].'">'.$user['nickname'].'</a>'; + + if ($nr < mysql_num_rows ($sql)) echo ', '; + $nr++; + } +} +?> \ No newline at end of file diff --git a/module/testmodul/admin.php b/module/testmodul/admin.php new file mode 100644 index 0000000..d4b7ee7 --- /dev/null +++ b/module/testmodul/admin.php @@ -0,0 +1,16 @@ +<? // Sicherheits-Check +moduladmin_access (); ?> + +<? head ('Administration Testmodul'); ?> +Dies hier ist eine Testseite vom 1. Modul des Modulsystems.<br /> +<br /> +Alle Autoreninformationen stehen in einer .inf-Datei (<i>pref.inf</i>) und werden auf einer speziellen Seite angezeigt.<br /> +Auf die Seite kommt man durch einen Klick auf den im Footer stehenden Link <i>"Addoninformationen"</i>.<br /> +<br /> +Der Aufruf vom Modul erfolgt wie folgt:<br /> +<?=$domain;?>/index.php?content=/module&mod=<?=$_GET['mod'];?><br /> +<br /> +<br /> +<br /> +MfG, SebbyPHM +<? foot (); ?> \ No newline at end of file diff --git a/module/testmodul/files/mysql.sql b/module/testmodul/files/mysql.sql new file mode 100644 index 0000000..2070b65 --- /dev/null +++ b/module/testmodul/files/mysql.sql @@ -0,0 +1 @@ +// Test \ No newline at end of file diff --git a/module/testmodul/icon.png b/module/testmodul/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9be2ef4d2fe5b661a459089da1f1e6c0a0a535 GIT binary patch literal 2162 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 literal 0 HcmV?d00001 diff --git a/module/testmodul/module.php b/module/testmodul/module.php new file mode 100644 index 0000000..c5803d3 --- /dev/null +++ b/module/testmodul/module.php @@ -0,0 +1,19 @@ +<? // Sicherheits-Check +modul_access (); ?> + +<? head ('Testseite'); ?> +Dies hier ist eine Testseite vom 1. Modul des Modulsystems.<br /> +<br /> +Alle Autoreninformationen stehen in einer .inf-Datei (<i>pref.inf</i>) und werden auf einer speziellen Seite angezeigt.<br /> +Auf die Seite kommt man durch einen Klick auf den im Footer stehenden Link <i>"Addoninformationen"</i>.<br /> +<br /> +Der Aufruf vom Modul erfolgt wie folgt:<br /> +http://www.DeineSeite.de/index.php?content=/module&mod=[Modulname]<br /> +<br /> +<b>Optionale Parameter:</b><br /> +open: Greift auf eine andere Datei als auf die module.php zu (./module/[Modulname]/[open].php);<i></i><br /> +<br /> +<br /> +<br /> +MfG, SebbyPHM +<? foot (); ?> \ No newline at end of file diff --git a/module/testmodul/pref.ini b/module/testmodul/pref.ini new file mode 100644 index 0000000..8427357 --- /dev/null +++ b/module/testmodul/pref.ini @@ -0,0 +1,20 @@ +[modul] +name = Testmodul +version = 1.0 +datum = 05.08.2007 +update = +verkauft = + +[autor] +name = Sebastian Hoinkes +strasse = Am Thie 1 +ort = Hessisch Oldendorf +plz = 31840 + +[kontakt] +webseite = http://www.totaltoll.de +email = web@totaltoll.de +icq = 270528839 +msn = +telefon = +telefax = \ No newline at end of file diff --git a/pcheck.php b/pcheck.php new file mode 100644 index 0000000..42ff6d0 --- /dev/null +++ b/pcheck.php @@ -0,0 +1,71 @@ +<? +@require_once ('lib/functions.lib.php'); +@db_connect(); +if (!isset($headmsg)) $headmsg = ""; +if (!isset($wait)) $wait = ""; +if (!isset($_GET['auszahlen'])) $_GET['auszahlen'] = "false"; + +$_GET['uid'] = (int)$_GET['uid']; +$_GET['tan'] = addslashes ($_GET['tan']); + +$user_mail = db_query("SELECT e.start,e.aufendhalt,e.status,e.uid,v.verdienst FROM + ".$db_prefix."_paidmails_empfaenger e + LEFT JOIN ".$db_prefix."_paidmails_versendet v ON v.tan = e.tan + WHERE e.tan='".$_GET['tan']."' AND e.uid=".$_GET['uid']." AND e.gueltig > ".time()." LIMIT 1"); + +$mail = mysql_fetch_assoc($user_mail); + +if ($_GET['auszahlen']!='true') { + if (mysql_num_rows($user_mail)) { + if ($mail['status'] != 0) { + if ($mail['status'] == 1) $headmsg = 'Mail schon bestädigt!'; + if ($mail['status'] == 2) $headmsg = 'Fakeversuch!'; + } else { + $headmsg = 'Bitte warte '.$mail['aufendhalt'].' Sek.!'; + $wait = '<meta http-equiv="refresh" content="'.$mail['aufendhalt'].';url=pcheck.php?tan='.$_GET['tan'].'&auszahlen=true&uid='.$_GET['uid'].'">'; + db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET start=".time()." WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid'].""); + } + } else { + $headmsg = 'Diese Mail ist nicht für Dich!'; + } +}else{ + + + + + if (($mail['start']+$mail['aufendhalt']-1) <= time() AND $mail['status'] == 0) { + + kontobuchung ('+',$mail['verdienst'],$mail['uid']); + buchungsliste (create_code(14),$mail['verdienst'],'Paidmailverdienst',$mail['uid']); + refumsatz ($mail['verdienst'],$mail['uid']); + aktivralley ($mail['verdienst'],$mail['uid']); + bilanz(0,$mail['verdienst']); + + db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=1 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1"); + db_query("UPDATE ".$db_prefix."_paidmails_versendet SET bestaedigt=bestaedigt+1 WHERE tan='".$_GET['tan']."' LIMIT 1"); + $headmsg = $mail['verdienst'].' '.$waehrung.' gutgeschrieben!'; + } else { + $headmsg = 'Wartezeit umgangen! Paidmail ungültig!'; + db_query("UPDATE ".$db_prefix."_paidmails_empfaenger SET status=2 WHERE tan='".$_GET['tan']."' and uid=".$_GET['uid']." LIMIT 1"); + } + +} + + +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<?if ($wait) echo $wait;?> +<link rel="stylesheet" href="/css/bframe.css" type="text/css"> +</head> +<body bgcolor="#c0c0c0" topmargin="0" leftmargin="0"> +<table width="100%" cellpadding="0" cellspacing="0" border="0" align="left"> +<tr> +<td align="left" width="50%"><b><?=$seitenname;?> ist für den Inhalt nicht verantwortlich.</b></td> +<td align="right" width="50%"><b><?=$headmsg;?></b> </td> +</tr> +</table> +</body> +</html> +<?db_close();?> \ No newline at end of file diff --git a/pclick.php b/pclick.php new file mode 100644 index 0000000..6fcc21f --- /dev/null +++ b/pclick.php @@ -0,0 +1,24 @@ +<? +@require_once ('lib/functions.lib.php'); +@db_connect(); + +$_GET['uid'] = (int)$_GET['uid']; +$_GET['tan'] = addslashes ($_GET['tan']); + +$mail = mysql_fetch_array(db_query("SELECT `ziel` FROM ".$db_prefix."_paidmails_versendet WHERE tan='".$_GET['tan']."' LIMIT 1")); +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> + <title>Paidmail by <?=$seitenname;?></title> +</head> + +<frameset rows="15,*" border="0"> +<frame name="abuse" src="pcheck.php?tan=<?=$_GET['tan'];?>&uid=<?=$_GET['uid'];?>" scrolling="no" frameborder="0"> +<frame name="werbung" src="<?=$mail['ziel'];?>" scrolling="auto" frameborder="0"> +</frameset> +<body> +</body> +</html> +<?db_close();?> + diff --git a/topframe_forced.php b/topframe_forced.php new file mode 100644 index 0000000..601002a --- /dev/null +++ b/topframe_forced.php @@ -0,0 +1,87 @@ +<? +@require_once ('lib/functions.lib.php'); +@require_once ('lib/session.lib.php'); + +// Variabeln definieren +if (!isset($headmsg)) $headmsg = ""; +if (!isset($puk)) $puk = ""; +if (!isset($force_error)) $force_error = ""; +if (!isset($wartezeit)) $wartezeit = ""; +if (!isset($_GET['art'])) $_GET['art'] = ""; +if (!isset($_GET['puk'])) $_GET['puk'] = ""; +if (!isset($_GET['auszahlen'])) $_GET['auszahlen'] = "false"; +if (!isset($_SESSION['uid'])) $_SESSION['uid'] = ""; +if (!isset($forced['ziel'])) $forced['ziel'] = ""; +if (!isset($forced['aufendhalt'])) $forced['aufendhalt'] = ""; +if (!isset($forced['tan'])) $forced['tan'] = ""; +$_GET['tan'] = addslashes ($_GET['tan']); + +// Nur weiter wenn eingeloggt +if ($_SESSION['login'] != 'true' || $_SESSION['uid'] <= 0){ +die('Bitte einloggen!'); +} +@db_connect(); + +// Werbedaten auslesen! +$kamp = db_query ("SELECT t1.* + FROM ".$db_prefix."_gebuchte_werbung t1 + LEFT JOIN ".$db_prefix."_reloads t2 + ON (t1.tan=t2.tan AND (t2.uid=".$_SESSION['uid']." or t2.ip='".$ip."') AND t2.bis > ".time().") + WHERE t1.tan = '".$_GET['tan']."' AND t2.tan IS NULL AND t1.werbeart = 'forcedbanner' AND t1.menge >=1 AND t1.status = 1 AND t1.sponsor != ".$_SESSION['uid']." LIMIT 1"); + + +// Reloadprüfen +if (mysql_num_rows($kamp)) { + $forced = mysql_fetch_assoc($kamp); + $wartezeit = $forced['aufendhalt']; + $headmsg = 'Vergütung in '.$forced['aufendhalt'].' Sek.!'; + $puk = md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode); +} else { + $headmsg = 'Banner noch im Reload!'; + $force_error = 'true'; +} + + +// User bezahlen und Reload schreiben +if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode)){ + + // Um einen mysql_query zu sparen wurde hier auf kontobuchung() verzichtet... + db_query("UPDATE ".$db_prefix."_kontodaten SET klicks = klicks + 1, kv = kv + ".$forced['verdienst'].", kontostand = kontostand + ".$forced['verdienst']." WHERE uid = ".$_SESSION['uid'].""); + + refumsatz ($forced['verdienst'],$_SESSION['uid']); + aktivralley ($forced['verdienst'],$_SESSION['uid']); + klickralley (); + bilanz($forced['preis'],$forced['verdienst']); + + $new_reload = time()+$forced['reload']; + db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."',".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")"); + db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'"); + $headmsg = $forced['verdienst'].' '.$waehrung.' erhalten!'; + +} else { + if ($_GET['auszahlen'] == 'true' && $force_error != 'true') $headmsg = 'Pin abgelaufen!'; +} +@db_close(); +?> + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="stylesheet" href="/css/bframe.css" type="text/css"> +<? +if ($wartezeit>=0 && $_GET['auszahlen'] != 'true') { +echo ' +<meta http-equiv="refresh" content="'.$wartezeit.';url=topframe_forced.php?art='.$_GET['art'].'&auszahlen=true&tan='.$forced['tan'].'&puk='.$puk.'"> +'; +} +?> +</head> +<body bgcolor="#c0c0c0" topmargin="0" leftmargin="0"> +<table width="100%" cellpadding="0" cellspacing="0" border="0" align="left"> +<tr> +<td align="left" width="50%"><b><?=$seitenname;?> ist für den Inhalt nicht verantwortlich.</b></td> +<td align="right" width="50%"><b><?=$headmsg;?></b> </td> +</tr> +</table> +</body> +</html> diff --git a/vms.sql b/vms.sql new file mode 100644 index 0000000..789c91e --- /dev/null +++ b/vms.sql @@ -0,0 +1,269 @@ +CREATE TABLE IF NOT EXISTS `vms_aktivierungen` ( + `uid` int(7) NOT NULL default '0', + `ak` varchar(32) NOT NULL default '', + KEY `aktivierungs_code` (`ak`) +) ENGINE=MyISAM; + + + +CREATE TABLE IF NOT EXISTS `vms_aktivralley` ( + `uid` int(7) NOT NULL default '0', + `punkte` double(100,2) NOT NULL default '0.00', + `ausgezahlt` int(11) NOT NULL default '0', + PRIMARY KEY (`uid`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_bilanz` ( + `date` int(10) NOT NULL, + `ein` double(15,2) NOT NULL, + `aus` double(15,2) NOT NULL, + PRIMARY KEY (`date`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_buchungen` ( + `uid` int(7) NOT NULL default '0', + `buchungszeit` int(10) NOT NULL default '0', + `buchungs_id` varchar(14) NOT NULL default '', + `buchungsmenge` double(10,2) NOT NULL default '0.00', + `verwendungszweck` varchar(40) NOT NULL default '', + KEY `user` (`uid`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_crons` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `cron` varchar(50) NOT NULL default '', + `laufzeit` int(11) NOT NULL default '0', + `datei` varchar(250) NOT NULL default '', + `bezeichnung` varchar(250) NOT NULL default '', + PRIMARY KEY (`id`) +) ENGINE=MyISAM; + + +INSERT INTO `vms_crons` (`id`, `cron`, `laufzeit`, `datei`, `bezeichnung`) VALUES +(2, 'int_forcedbanner', 0, 'crons/webmasterlose.int.php', 'Forcedbanner Webmasterlose'), +(3, 'int_forcedbanner', 0, 'crons/hp-lose.int.php', 'Forcedbanner HP-Lose'), +(4, 'int_forcedbanner', 0, 'crons/lose-ads.int.php', 'Forcedbanner Lose-Ads'), +(5, 'int_forcedbanner', 0, 'crons/losebox.int.php', 'Forcedbanner Losebox'), +(6, 'ext_cron', 0, 'crons/refzahlungen.knt.php', 'Ext. Refzahlungen'), +(7, 'int_forcedbanner', 0, 'crons/losewerbung.int.php', 'Losewerbung.de'), +(8, 'int_forcedbanner', 0, 'crons/dsn-ads.int.php', 'DSN-Ads FB'); + + +CREATE TABLE IF NOT EXISTS `vms_emaildaten` ( + `uid` int(7) NOT NULL default '0', + `emailadresse` varchar(100) NOT NULL default '', + `freigabe_fuer` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`uid`), + KEY `freigabe_fuer` (`freigabe_fuer`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_gebuchte_werbung` ( + `uid` int(7) NOT NULL default '0', + `tan` varchar(32) NOT NULL default '', + `kid` int(11) NOT NULL default '0', + `ziel` varchar(250) NOT NULL default '', + `banner` varchar(250) NOT NULL default '', + `verdienst` double(10,2) NOT NULL default '0.00', + `preis` double(10,2) NOT NULL default '0.00', + `aufendhalt` int(11) NOT NULL default '0', + `menge` int(11) NOT NULL default '0', + `reload` int(11) NOT NULL default '0', + `sponsor` varchar(25) NOT NULL default '', + `werbeart` varchar(50) NOT NULL default '', + `status` tinyint(1) NOT NULL default '1', + KEY `klick4` (`werbeart`,`menge`,`status`,`verdienst`,`sponsor`), + KEY `crons` (`sponsor`,`werbeart`,`status`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_interface` ( + `interface` varchar(50) NOT NULL default '', + `betreiber` int(7) NOT NULL default '0', + `seite` int(7) NOT NULL default '0', + `pass` varchar(50) NOT NULL default '', + `eigenverdienst` int(2) NOT NULL default '0', + `mindestverguetung` double(8,6) NOT NULL default '0.000000', + `restklicks` int(4) NOT NULL default '0', + `umrechnung` double(10,4) NOT NULL default '0.0000', + `aufendhalt` int(3) NOT NULL default '0', + `surfview` double(10,2) NOT NULL default '0.00', + `surfklick` double(10,2) NOT NULL default '0.00', + KEY `interface` (`interface`) +) ENGINE=MyISAM; + +INSERT INTO `vms_interface` (`interface`, `betreiber`, `seite`, `pass`, `eigenverdienst`, `mindestverguetung`, `restklicks`, `umrechnung`, `aufendhalt`, `surfview`, `surfklick`) VALUES +('fuco-ads', 0, 0, '0', 0, 0.000000, 0, 0.0000, 0, 0.00, 0.00), +('webmasterlose', 0, 0, '0', 0, 0.000000, 50, 0.0000, 0, 0.00, 0.00), +('lose-ads', 0, 0, '0', 0, 0.000000, 0, 0.0000, 0, 0.00, 0.00), +('losebox', 0, 0, '0', 0, 0.000000, 0, 0.0000, 0, 0.00, 0.00), +('hp-lose', 0, 0, '0', 0, 0.000000, 0, 0.0000, 0, 0.00, 0.00); + + +CREATE TABLE IF NOT EXISTS `vms_klickralley` ( + `uid` int(7) NOT NULL default '0', + `klicks` int(11) NOT NULL default '0', + `ausgezahlt` int(11) NOT NULL default '0', + PRIMARY KEY (`uid`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_kontodaten` ( + `uid` int(7) NOT NULL default '0', + `passwort` varchar(32) NOT NULL default '', + `status` tinyint(1) NOT NULL default '0', + `hinweis` longtext NOT NULL, + `kontostand` double(100,2) NOT NULL default '0.00', + `login_ip` varchar(15) NOT NULL default '', + `loginzeit` int(11) NOT NULL default '0', + `last_active` int(11) NOT NULL default '0', + `klicks` bigint(20) NOT NULL default '0', + `kv` double(100,2) NOT NULL default '0.00', + `angebettelt` bigint(20) NOT NULL default '0', + `bv` double(100,2) NOT NULL default '0.00', + PRIMARY KEY (`uid`) +) ENGINE=MyISAM; + +CREATE TABLE IF NOT EXISTS `vms_news` ( + `id` int(11) NOT NULL, + `zeit` int(11) NOT NULL default '0', + `titel` varchar(60) NOT NULL default '', + `news` longtext NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM; + +CREATE TABLE IF NOT EXISTS `vms_paidmails_empfaenger` ( + `uid` int(7) NOT NULL default '0', + `gueltig` int(11) NOT NULL default '0', + `tan` varchar(14) NOT NULL default '', + `status` int(11) NOT NULL default '0', + `aufendhalt` int(11) NOT NULL default '0', + `start` int(11) NOT NULL default '0', + UNIQUE KEY `primary_ersatz` (`uid`,`tan`) +) ENGINE=MyISAM; + +CREATE TABLE IF NOT EXISTS `vms_paidmails_versendet` ( + `tan` varchar(14) NOT NULL default '', + `menge` int(11) NOT NULL default '0', + `bestaedigt` int(11) NOT NULL default '0', + `verdienst` double(10,2) NOT NULL default '0.00', + `ziel` varchar(250) NOT NULL default '', + `beschreibung` varchar(50) NOT NULL default '', + `mailtext` longtext NOT NULL, + `aufendhalt` int(11) NOT NULL default '0', + `gesendet` int(11) NOT NULL default '0', + `gueltig` int(11) NOT NULL default '0', + UNIQUE KEY `primary_ersatz` (`tan`) +) ENGINE=MyISAM; + +CREATE TABLE IF NOT EXISTS `vms_ralleydaten` ( + `ralley` varchar(50) NOT NULL default '', + `start` int(11) NOT NULL default '0', + `ende` int(11) NOT NULL default '0', + `art` varchar(50) NOT NULL default '', + `pro` double(10,2) NOT NULL default '0.00', + `jackpot` double(10,2) NOT NULL default '0.00', + `plaetze` int(2) NOT NULL default '0', + `p1` double(10,2) NOT NULL default '0.00', + `p2` double(10,2) NOT NULL default '0.00', + `p3` double(10,2) NOT NULL default '0.00', + `p4` double(10,2) NOT NULL default '0.00', + `p5` double(10,2) NOT NULL default '0.00', + `p6` double(10,2) NOT NULL default '0.00', + `p7` double(10,2) NOT NULL default '0.00', + `p8` double(10,2) NOT NULL default '0.00', + `p9` double(10,2) NOT NULL default '0.00', + `p10` double(10,2) NOT NULL default '0.00', + PRIMARY KEY (`ralley`) +) ENGINE=MyISAM; + +INSERT INTO `vms_ralleydaten` (`ralley`, `start`, `ende`, `art`, `pro`, `jackpot`, `plaetze`, `p1`, `p2`, `p3`, `p4`, `p5`, `p6`, `p7`, `p8`, `p9`, `p10`) VALUES +('refralley', 1135689000, 1293455400, 'statisch', 0.00, 0.00, 3, 150.00, 500.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00), +('aktivralley', 1112047200, 1112292000, 'statisch', 6.00, 0.00, 5, 1000.00, 750.00, 500.00, 250.00, 100.00, 0.00, 0.00, 0.00, 0.00, 0.00), +('klickralley', 1104534000, 1230764400, 'dynamisch', 3.00, 0.00, 2, 1000000.00, 500.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00); + + +CREATE TABLE IF NOT EXISTS `vms_reloads` ( + `ip` varchar(15) NOT NULL default '', + `uid` int(7) NOT NULL default '0', + `tan` varchar(32) NOT NULL default '', + `bis` int(10) NOT NULL default '0', + KEY `klick4` (`tan`,`uid`,`ip`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_schnittstelle` ( + `betreiber_id` int(8) NOT NULL default '0', + `betreiber_passwort` varchar(50) NOT NULL default '', + `betreiber_kennung` int(8) NOT NULL default '0', + `schnittstelle` varchar(20) NOT NULL default '', + `einzahltext` varchar(40) NOT NULL default '', + `auszahltext` varchar(40) NOT NULL default '', + `einzahlsumme` int(11) NOT NULL default '0', + `auszahlsumme` int(11) NOT NULL default '0', + `anfragen_tag` int(11) NOT NULL default '0', + `anfragen_user` int(11) NOT NULL default '0', + PRIMARY KEY (`schnittstelle`) +) ENGINE=MyISAM; + +INSERT INTO `vms_schnittstelle` (`betreiber_id`, `betreiber_passwort`, `betreiber_kennung`, `schnittstelle`, `einzahltext`, `auszahltext`, `einzahlsumme`, `auszahlsumme`, `anfragen_tag`, `anfragen_user`) VALUES +(0, '0', 0, 'klamm', 'Einzahlung', 'Auszahlung', 0, 0, 0, 0); + +CREATE TABLE IF NOT EXISTS `vms_schnittstelle_anfragen` ( + `zeit` int(11) NOT NULL default '0', + `uid` int(7) NOT NULL default '0', + KEY `uid` (`uid`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_seitenkonfig` ( + `wartung` int(1) NOT NULL default '0', + `einzahlgrenze` int(11) NOT NULL default '0', + `re1` double(10,2) NOT NULL default '0.00', + `re2` double(10,2) NOT NULL default '0.00', + `re3` double(10,2) NOT NULL default '0.00', + `min_betteln` double(10,2) NOT NULL default '0.00', + `max_betteln` double(10,2) NOT NULL default '0.00', + `reload_betteln` int(11) NOT NULL default '0', + `denied_domains` text NOT NULL, + `admin_name` VARCHAR( 255 ) NOT NULL, + `admin_pass` VARCHAR( 255 ) NOT NULL +) ENGINE=MyISAM; + +INSERT INTO `vms_seitenkonfig` (`wartung`, `einzahlgrenze`, `re1`, `re2`, `re3`, `min_betteln`, `max_betteln`, `reload_betteln`, `denied_domains`) VALUES +(0, 100000, 8.00, 3.00, 1.00, 50.00, 250.00, 0, '@sofort-mail.de;@trash-mail.de;@mailinator.com;@spamgourmet.com;@spammotel.com;@centermail.com;@discardmail.com;@sneakemail.com;@netzidiot.de;@myTrashMail.com;@wegwerfadresse.de;@nervmich.net;@nervtmich.net;@mailinator.net;@klassmaster.com;@mailin8r.com;@sogetthis.com;@mailinator2.com'); + +CREATE TABLE IF NOT EXISTS `vms_userblacklist` ( + `uid` int(7) NOT NULL default '0', + `zeit` bigint(11) NOT NULL default '0', + PRIMARY KEY (`uid`) +) ENGINE=MyISAM; + +CREATE TABLE IF NOT EXISTS `vms_userdaten` ( + `uid` int(7) NOT NULL default '0', + `nickname` varchar(255) NOT NULL default '', + `vorname` varchar(50) NOT NULL default '', + `nachname` varchar(50) NOT NULL default '', + `angemeldet_seit` int(10) NOT NULL default '0', + `max_forced` int(11) NOT NULL default '5', + `notizen` text NOT NULL, + PRIMARY KEY (`uid`) +) ENGINE=MyISAM; + + +CREATE TABLE IF NOT EXISTS `vms_werberdaten` ( + `uid` int(7) NOT NULL default '0', + `werber` int(7) NOT NULL default '0', + `umsatz` double(10,2) NOT NULL default '0.00', + `zuordnungszeit` int(10) NOT NULL default '0', + `reset` double(10,2) NOT NULL default '0.00', + `resetzeit` int(11) NOT NULL default '0', + `gesamt` double(10,2) NOT NULL default '0.00', + `refback` int(3) NOT NULL default '0', + `aktivzeit` int(11) NOT NULL default '0', + PRIMARY KEY (`uid`) +) ENGINE=MyISAM; + diff --git a/wartung.php b/wartung.php new file mode 100644 index 0000000..17f1184 --- /dev/null +++ b/wartung.php @@ -0,0 +1,42 @@ +<? +@require_once ('lib/layout.lib.php'); +?> +<html> +<head> +<title>..:: Wartungsmodus::..</title> +<meta name="Author" content=""> +<meta name="Publisher" content=""> +<meta name="Copyright" content=""> +<meta name="Keywords" content=""> +<meta name="Description" content=""> +<meta name="Page-topic" content=""> +<meta name="Audience" content=""> +<meta name="Content-language" content="DE"> +<meta name="Page-type" content="Nicht Gewinnorientiert"> +<meta name="Robots" content="INDEX,FOLLOW"> +<link rel="stylesheet" href="/css/main.css" type="text/css"> +</head> +<body topmargin="0" leftmargin="0"> + + +<? +// Variabeln +$filename = 'lib/texte/wartung.txt'; + +// Datei auslesen +$fp = fopen ($filename, "r"); +$inhalt = fread ($fp, filesize ($filename)); +fclose ($fp); +$inhalt = str_replace('\\', '', $inhalt); +?> +<table width="500" align="center" height="100%"> +<tr> +<td height="100%" align="center" valign="middle"> +<? +head("Diese Seite ist im Wartungsmodus"); +echo nl2br($inhalt); +foot(); +?> +</td> +</tr> +</table> \ No newline at end of file -- GitLab