From 14f2a7786e54eac980991c45cfa7087aff6eb307 Mon Sep 17 00:00:00 2001 From: Joel Kuder <j.kuder@swissnwx.ch> Date: Sun, 8 Jan 2017 19:18:38 +0100 Subject: [PATCH] Integrate PDO system files rename top and topframe files --- .gitignore | 2 +- content/intern/impressum.php | 10 +-- content/intern/mediadaten.php | 29 +++--- content/intern/startseite.php | 24 ++--- content/news.php | 22 +++-- cron.php | 27 +++--- index.php | 40 ++++----- lib/.htaccess | 2 + lib/changelog | 32 +++++++ lib/class/sql.class.php | 41 +++++++++ lib/config.inc.php.example | 31 ------- lib/config.ini.example | 32 +++++++ lib/extras.init.php | 26 +++++- lib/extras.lib.php | 6 +- lib/functions.lib.php | 163 ++++++++++++++-------------------- lib/menue_links.php | 4 +- lib/session.lib.php | 42 +++++---- lib/texte/bettelwerbung.txt | 1 - lib/texte/startwerbung.txt | 4 - lib/weristonline.php | 18 ++-- pcheck.php | 66 -------------- pclick.php | 23 ----- readme.md | 44 +++++++++ top_forced.php | 20 +++++ top_forcedbanner.php | 25 ------ top_paidmail.php | 24 +++++ topframe_forced.php | 45 +++++----- topframe_paidmail.php | 67 ++++++++++++++ 28 files changed, 485 insertions(+), 385 deletions(-) create mode 100644 lib/.htaccess create mode 100644 lib/changelog create mode 100644 lib/class/sql.class.php delete mode 100644 lib/config.inc.php.example create mode 100644 lib/config.ini.example delete mode 100644 pcheck.php delete mode 100644 pclick.php create mode 100644 readme.md create mode 100644 top_forced.php delete mode 100644 top_forcedbanner.php create mode 100644 top_paidmail.php create mode 100644 topframe_paidmail.php diff --git a/.gitignore b/.gitignore index 8e40cac..58ba07f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ # Sensitive or high-churn files: # .idea/dataSources.ids -/lib/config.inc.php +/lib/config.ini # .idea/dataSources.xml # .idea/sqlDataSources.xml # .idea/dynamic.xml diff --git a/content/intern/impressum.php b/content/intern/impressum.php index bd4d28e..9f85f9e 100644 --- a/content/intern/impressum.php +++ b/content/intern/impressum.php @@ -1,5 +1,5 @@ <?php -head("Impressum von ".$seitenname.""); +head("Impressum von ".$system['seitenname'].""); echo '<b>Anschrift</b>'; foot(); @@ -9,13 +9,13 @@ head("Credits"); foot(); head("Rechtlicher Hinweis"); - echo '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> + echo 'Alle verwendeten Fotos, Grafiken, Texte und sonstigen Bestandteile dieser Website unterliegen dem Copyright von <a href="'.$system['domain'].'" target="_blank">'.$system['seitenname'].'</a> und sind Eigentum von <a href="'.$system['domain'].'" target="_blank">'.$system['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> + Die private oder gewerbliche Verwendung von Inhalten jeglicher Art bedarf der vorherigen Zustimmung von <a href="'.$system['domain'].'" target="_blank">'.$system['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> + <a href="'.$system['domain'].'" target="_blank">'.$system['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>'; + 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="'.$system['domain'].'" target="_blank">'.$system['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 index f56d993..2e93384 100644 --- a/content/intern/mediadaten.php +++ b/content/intern/mediadaten.php @@ -6,11 +6,14 @@ 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")); +$sql = sql::$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 `"._VMS_."_kontodaten` LIMIT 1"); +$kontostats = $sql -> fetch(); -$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)) { +$sql = sql::$db->query ("SELECT SUM(`gesamt`) AS `wd_gesamt` FROM `"._VMS_."_werberdaten` LIMIT 1 "); +$werberdaten = $sql -> fetch(); + +$sql = sql::$db->query ("SELECT * FROM "._VMS_."_gebuchte_werbung WHERE menge >= 1 and werbeart = 'forcedbanner' and status = '1'"); +while ($count = $sql -> fetch()) { $fc_gebucht++; $fc_menge = $fc_menge + $count['menge']; $fc_wert = $fc_wert + ($count['verdienst']*$count['menge']); @@ -21,7 +24,7 @@ $seitenstart = strtotime("04/02/2005"); // Format mm.tt.yyyy $tage = ($heute - $seitenstart) / 86400; if ($tage <= 1) $tage = 1; -head("Mediadaten - $seitenname");?> +head("Mediadaten - ".$system['seitenname']);?> <table width="100%" border="0" cellpadding="1" cellspacing="1"> <tr class="tabellenbody_0"> <td width="50%" >Start dieser Seite</td> @@ -29,11 +32,11 @@ head("Mediadaten - $seitenname");?> </tr> <tr class="tabellenbody_1"> <td width="50%">Guthaben aller User</td> -<td width="50%"><?php echo @number_format($kontostats['kd_kontostand'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($kontostats['kd_kontostand'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> <tr class="tabellenbody_0"> <td width="50%">Guthaben Ø pro User</td> -<td width="50%"><?php echo @number_format($kontostats['kd_kontostand'] / $kontostats['kd_uid'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($kontostats['kd_kontostand'] / $kontostats['kd_uid'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> <tr class="tabellenbody_1"> <td width="50%">Angemeldete User</td> @@ -53,11 +56,11 @@ head("Mediadaten - Diverses");?> </tr> <tr class="tabellenbody_1"> <td width="50%">Verdienst bei allen Forcedklicks</td> -<td width="50%"><?php echo @number_format($kontostats['kd_kv'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($kontostats['kd_kv'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> <tr class="tabellenbody_0"> <td width="50%">Ø Verdienst pro Klick</td> -<td width="50%"><?php echo @number_format($kontostats['kd_kv']/$kontostats['kd_klicks'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($kontostats['kd_kv']/$kontostats['kd_klicks'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> <tr class="tabellenbody_1"> <td width="50%">Bettelaufrufe alle User</td> @@ -65,15 +68,15 @@ head("Mediadaten - Diverses");?> </tr> <tr class="tabellenbody_0"> <td width="50%">Verdienst bei allen Bettelaufrufen</td> -<td width="50%"><?php echo @number_format($kontostats['kd_bv'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($kontostats['kd_bv'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> <tr class="tabellenbody_1"> <td width="50%">Ø Verdienst pro Aufruf</td> -<td width="50%"><?php echo @number_format($kontostats['kd_bv']/$kontostats['kd_angebettelt'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($kontostats['kd_bv']/$kontostats['kd_angebettelt'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> <tr class="tabellenbody_0"> <td width="50%">Refverdienste für alle Werber</td> -<td width="50%"><?php echo @number_format($werberdaten['wd_gesamt'],2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($werberdaten['wd_gesamt'],2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> </table> <?php foot(); @@ -89,7 +92,7 @@ head("Mediadaten - Werbung");?> </tr> <tr class="tabellenbody_0"> <td width="50%">Forcedklicks Gesamtwert</td> -<td width="50%"><?php echo @number_format($fc_wert,2,",",".");?> <?php echo $waehrung;?></td> +<td width="50%"><?php echo @number_format($fc_wert,2,",",".");?> <?php echo $system['waehrung'];?></td> </tr> </table> <?php foot();?> \ No newline at end of file diff --git a/content/intern/startseite.php b/content/intern/startseite.php index 93cba5f..115c9c1 100644 --- a/content/intern/startseite.php +++ b/content/intern/startseite.php @@ -1,5 +1,5 @@ -<?php head("Willkommen auf ".$seitenname); -echo 'Hier werden sie mit '.$waehrung.' für das Surfen mit einer Surfbar bezahlt. +<?php head("Willkommen auf ".$system['seitenname']); +echo 'Hier werden sie mit '.$system['waehrung'].' 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 @@ -10,24 +10,26 @@ 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(); - } + + $news = sql::$db->prepare("SELECT * FROM "._VMS_."_news ORDER BY id DESC LIMIT 1"); + $news -> execute(); + while( $nz = $news->fetch() ){ + head($nz['titel'].' vom '.date("d.m.Y - H:i:s",$nz['zeit'])); + echo nl2br($nz['news']); + foot(); + } } head("Verdienst auf ganzer Linie !"); echo ' -Bei '.$seitenname.' verdienen sie für fast alles '.$waehrung.'. Sie können durch das +Bei '.$system['seitenname'].' verdienen sie für fast alles '.$system['waehrung'].'. Sie können durch das surfen mit der Surfbar, Clickbanner, Paidmails, Werben neuer Mitglieder, etc... -viele '.$waehrung.' erwirtschaften.<br /> +viele '.$system['waehrung'].' erwirtschaften.<br /> <br /> <b>3 Ref-Ebenen:</b><br /> Ü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 '.$waehrung.' +das werben neue Mitglieder. Allein durch das Ref-System können Sie viele '.$system['waehrung'].' verdienen selbst wenn Sie selbst nichts als werben neuer Mitglieder machen. Die Ref-Ebenen: 8% / 3% / 1%<br> <br /> diff --git a/content/news.php b/content/news.php index 6a285f7..b471d1f 100644 --- a/content/news.php +++ b/content/news.php @@ -1,13 +1,14 @@ - <?php -$gelesen = db_query("UPDATE " . $db_prefix . "_kontodaten SET news='0' WHERE uid = " . $_SESSION['uid'] . ""); +//$sql = sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `news` = 0 WHERE `uid` = ? "); +//$sql -> execute(array($_SESSION['uid'])); -if ($_GET['seite'] == '') { - $_GET['seite'] = 1; -} +if (!isset($_GET['seite']) OR $_GET['seite'] == '') $_GET['seite'] = 1; $start = $_GET['seite'] * 10 - 10; -$sql = db_query("SELECT * FROM " . $db_prefix . "_news ORDER BY id DESC LIMIT $start, 10"); -while ($news = mysql_fetch_array($sql)) { + +$sql = sql::$db->prepare ("SELECT * FROM `" . _VMS_ . "_news` ORDER BY `id` DESC LIMIT :start , 10 "); +$sql -> bindParam(':start', $start, PDO::PARAM_INT); +$sql -> execute(); +while ($news = $sql -> fetch()) { head($news['titel'] . ' vom ' . date("d.m.Y - H:i:s", $news['zeit'])); echo'<div style="text-align: left; ">'; echo '<br>'; @@ -17,12 +18,9 @@ while ($news = mysql_fetch_array($sql)) { } head('Seiten'); -$seiten = db_query("SELECT id FROM " . $db_prefix . "_news"); -$menge = mysql_num_rows($seiten); -$seitenanzahl = $menge / 10; - +$sql = sql::$db->query ("SELECT id FROM " . _VMS_ . "_news"); +$seitenanzahl = $sql ->rowCount() / 10; echo "<font face=\"Verdana\" size=\"1\" ><b>Seite:</b> </font> "; - for($a = 0; $a < $seitenanzahl; $a++) { $b = $a + 1; diff --git a/cron.php b/cron.php index a8dc726..03735da 100644 --- a/cron.php +++ b/cron.php @@ -1,30 +1,25 @@ <?php -@set_time_limit(0); +@set_time_limit(600); @ignore_user_abort(true); -require ( 'lib/config.inc.php' ); -require ( 'lib/functions.lib.php' ); +require_once ('lib/extras.init.php'); -if ($_GET['pw'] != $cron_pw) die('Zugriff verweigert!'); - -$cron = (int)$_GET['id']; - -db_connect (); +if ($_GET['pw'] != $system['cron_pw']) die('Zugriff verweigert!'); # Bei jedem Aufruf auszuführende Befehle Start ## Alte Reloads löschen -db_query('DELETE FROM '.$db_prefix.'_reloads WHERE bis <= '.time().''); +sql::$db->query ('DELETE FROM `'._VMS_.'_reloads` WHERE `bis` <= '.time().' '); ## Abgelaufene Paidmails löschen -db_query('DELETE FROM '.$db_prefix.'_paidmails_empfaenger WHERE - status = 1 || status = 2 || gueltig < '.time().''); +sql::$db->query ('DELETE FROM `'._VMS_.'_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); +$sql = sql::$db->prepare ('SELECT `id`, `datei` FROM `'._VMS_.'_crons` WHERE `id` = ? LIMIT 1'); +$sql -> execute(array($_GET['id'])); +$result = $sql ->fetch(); 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'; + $sql = sql::$db->prepare ('UPDATE `'._VMS_.'_crons` SET `laufzeit` = ? WHERE `id` = ? LIMIT 1'); + $sql -> execute (array(time(),$result['id'])); + echo 'Cron gelaufen'; } else echo 'Cron nicht gelaufen'; -db_close(); \ No newline at end of file diff --git a/index.php b/index.php index 850d152..4a70a76 100644 --- a/index.php +++ b/index.php @@ -1,27 +1,19 @@ <?php - if (isset ($_GET['content']) && !empty ($_GET['content'])) { if (strpos ($_GET['content'], '../') !== false) die ('Zugriffsverletzung !'); - if ($_GET['content'] { - 0} != '/') $_GET['content'] = '/' . $_GET['content']; + if ($_GET['content'] {0} != '/') $_GET['content'] = '/' . $_GET['content']; } - -require ('lib/config.inc.php'); -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'; -if ($_GET['content'] == '/intern/startseite') @require_once ('lib/texte/alt_startseitenpopup.txt'); -if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpopup.txt'); +if ($_GET['content'] == '/intern/startseite') require_once ('lib/texte/alt_startseitenpopup.txt'); +if ($_GET['content'] == '/betteln') require_once ('lib/texte/alt_bettelseitenpopup.txt'); +require_once('lib/extras.init.php'); ?> <!DOCTYPE html> <html lang='de'> <head> - <title><?php echo $seitenname;?></title> + <title><?php echo $system['seitenname'];?></title> <meta charset="UTF-8"> <meta name="generator" content="vms-script"> <meta name="Author" content="Designerscripte.net"> @@ -35,7 +27,7 @@ if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpo <div id="wrapper"> <header id="header_1"> <div id="topbar"> - <?php if ($_SESSION['login'] != true) { ?> + <?php if (!is_user()) { ?> <div id="topbar_left"> <ul> <li><a href="?content=/intern/anmelden">Registrieren</a></li> @@ -44,12 +36,12 @@ if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpo </div> <?php } ?> <div id="topbar_right"> - <?php if($_SESSION['admin'] == 1){?> + <?php if(is_admin()){?> <ul> - <li><a href="<?php echo $domain.'/adminforce/index.php'; ?>">Adminforce</a></li> + <li><a href="<?php echo $system['domain'].'/adminforce/index.php'; ?>">Adminforce</a></li> <li> <?php } ?> - <?php if ($_SESSION['login'] != true) { ?> + <?php if (!is_user()) { ?> <form method="post"> <input type="Text" class ="topbar_input" name="nickname" value="<?php echo $_POST['nickname'];?>" placeholder="Username"> <input type="Password" class ="topbar_input" name="passwort" value="" placeholder="Passwort"> @@ -57,7 +49,7 @@ if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpo <button type="submit" name="checkid" value="Login">Login</button> </form> <?php } ?> - <?php if($_SESSION['admin'] == 1){?> + <?php if(is_admin()){?> </li> </ul> <?php } ?> @@ -66,14 +58,14 @@ if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpo </header> <header id="header_2"> <div id="logobar"> - <a href="<?php echo $domain;?>"><img src="images/logo.png" alt="<?php echo $seitenname;?>" id="logo"></a> + <a href="<?php echo $system['domain'];?>"><img src="images/logo.png" alt="<?php echo $system['seitenname'];?>" id="logo"></a> <div id="banner"> - <?php @require_once ('lib/texte/alt_headerbanner.txt');?> + <?php require_once ('lib/texte/alt_headerbanner.txt');?> </div> <br style="clear:both; font-size:0px;"> <div id="topnav"> <ul> - <li><a href="<?php echo $domain;?>">Startseite</a></li> + <li><a href="<?php echo $system['domain'];?>">Startseite</a></li> <li><a href="?content=/news">News</a></li> <li><a href="?content=/intern/mediadaten">Mediadaten</a></li> <li><a href="?content=/intern/agbs">AGB</a></li> @@ -86,7 +78,7 @@ if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpo <br style="clear:both; font-size:0px;"> <div id="content"> <div id="left"> - <?php @include_once('lib/menue_links.php');?> + <?php include_once('lib/menue_links.php');?> </div> <div id="middle"> <?php require ('./content' . $_GET['content'] . '.php'); ?> @@ -101,6 +93,4 @@ if ($_GET['content'] == '/betteln') @require_once ('lib/texte/alt_bettelseitenpo </body> </html> <?php -db_close(); -if ($gzip_rate > 0) ob_end_flush(); -?> +if ($system['gzip_rate'] > 0) ob_end_flush(); \ No newline at end of file diff --git a/lib/.htaccess b/lib/.htaccess new file mode 100644 index 0000000..7d3aaf1 --- /dev/null +++ b/lib/.htaccess @@ -0,0 +1,2 @@ +Order allow,deny +Deny from all \ No newline at end of file diff --git a/lib/changelog b/lib/changelog new file mode 100644 index 0000000..01b32ff --- /dev/null +++ b/lib/changelog @@ -0,0 +1,32 @@ +phpMyAdmin - ChangeLog +====================== + +3.0 (noch nicht veröffentlicht) +- Anpassung mysql Datenbank file auf utf6 +- anlegen mysql migration files +- Anpassung der include logic im lib ordner +- umstellung des scripts auf PDO +- anlegen der sql class +- auslagern der konfigurations Variablen in eine config.ini +- wer ist online config variablen in config.ini aufgenommen + + +2.5.1 (2016-03-28) +- Remove short tags (<?= and <? ) +- Remove copyrights LKTechnik +- Remove lkt_ in filenames and path and mysql +- extras.lib.php no $text variable +- add .ressource ordner for future sql migrations and install scripts and alternate non WEB files. +- remove ebesucher.php because ebesucher dont have an API +- Change headerbanner ads to https and new URL +- add config.inc.php.example as example for config.inc.php +- remove personal variables from functions.php -> Git conflicts +- remove adscan -> in future no external services per default. +- einzahlen.php überarbeitet / design +- auszahlen.php limitierung nicht beachtet überarbeitet / design +- Adminforce Index css url path +- Adminforce Index page korrektur +- betreiber.php angepasst und gekürzt +- Rallysystem.php und Refschrleifen.php umbenannt +- pclick.php und pcheck.php angepasst sodass diese funktionieren mit TAN +- entferne split() und ereg() \ No newline at end of file diff --git a/lib/class/sql.class.php b/lib/class/sql.class.php new file mode 100644 index 0000000..dc9e586 --- /dev/null +++ b/lib/class/sql.class.php @@ -0,0 +1,41 @@ +<?php + +/* + * Example Query + * + * $q = sql::$db->prepare("SELECT id, name FROM `users` WHERE `username` = ?"); + * $q -> execute( array( $_POST['username'] ) ); //Yes, you can use the raw userinput without sanitizing! + * while( $r = $q->fetch( 2 ) ){ + * echo $r['id']; + * } + * + */ + + + +class sql +{ + public static $db = false; + private static $config; + + private function connect() { + + self::$config = parse_ini_file('lib/config.ini', true); + $dsn = self::$config['db_type'] . ":host=" . self::$config['db_host'] . ";dbname=" . self::$config['db_base']; + try { + self::$db = new PDO($dsn, self::$config['db_user'], self::$config['db_pass'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); + self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } catch (PDOException $e) { + die('Verbindung zum Mysql Server fehlgeschlagen! <br>Tipp: <a href="http://www.vms-tutorial.de/wiki//Lib/Functions">http://www.vms-tutorial.de/wiki//Lib/Functions</a>'); + } + } + + public static function init(){ + self::connect(); + return; + } + +} + +// Init the SQL Class +sql::init(); \ No newline at end of file diff --git a/lib/config.inc.php.example b/lib/config.inc.php.example deleted file mode 100644 index c1d97fb..0000000 --- a/lib/config.inc.php.example +++ /dev/null @@ -1,31 +0,0 @@ -<?php -// VMSone 2.5.0 Von designerscripte -header("Cache-control: no-cache"); -// Datenbankserver -$db_host = "localhost"; -// Mysql User -$db_user = "mysql-user"; -// Mysql PW -$db_pass = "mysql-password"; -// Datenbank -$db_base = "vmsone"; -// Tabellenpräfix (wichtig wenn mehrere VMS in einer DB liegen) -$db_prefix = "vms"; -// Domain (ohne Slash am Ende) -$domain = "http://designerscripte.net"; -// Seitenname -$seitenname = "VMSOne 2.5.0 Demo"; -// Seitenwährung -$waehrung = "Coins"; -// ID vom Admin -$admin_id = 1; -// Adminmail -$betreibermail = "admin@localhost.com"; -// Passwort für Crons -$cron_pw = "cronpw"; -// beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern -$percode = '551c3d4318d668cc2b00d02b40d1e6cd282817c2be65d401ed0cff2e6b'; -// Komprimierung der Ausgabe zwischen 0 & 10 wobei 0 die Komprimierung der Ausgabe deaktiviert Empfohlener Wert: 1 -$gzip_rate = 0; -/* Globale Variablen nichts ändern */ -$ip = $_SERVER['REMOTE_ADDR']; diff --git a/lib/config.ini.example b/lib/config.ini.example new file mode 100644 index 0000000..f161c82 --- /dev/null +++ b/lib/config.ini.example @@ -0,0 +1,32 @@ + +# Datenbankserver +db_host = "localhost" +# MDatabase Type +db_type = "mysql" +# Mysql User +db_user = "mysql-user" +# Mysql PW +db_pass = "mysql-password" +# Datenbank +db_base = "vmsone" +# Tabellenpräfix (wichtig wenn mehrere VMS in einer DB liegen) +db_prefix = "vms" +# Domain (ohne Slash am Ende) +domain = "http:#designerscripte.net" +# Seitenname +seitenname = "VMSOne 3.0 Demo" +# Seitenwährung +waehrung = "Coins" +# ID vom Admin +admin_id = 1 +# Adminmail +betreibermail = "admin@localhost.com" +# Passwort für Crons +cron_pw = "cronpw" +# beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern +percode = '551c3d4318d668cc2b00d02b40d1e6cd282817c2be65d401ed0cff2e6b' +# Komprimierung der Ausgabe zwischen 0 & 10 wobei 0 die Komprimierung der Ausgabe deaktiviert Empfohlener Wert: 1 +gzip_rate = 0 +# Wer ist Online +wer-ist-online_inaktive-zeit = 600 +wer-ist-online_nickpage-url = '/?content=/nickpage&nick=' diff --git a/lib/extras.init.php b/lib/extras.init.php index 52cc273..4f64bbd 100644 --- a/lib/extras.init.php +++ b/lib/extras.init.php @@ -1,7 +1,27 @@ <?php -// Datei: lib/extras.init.php -// Datei um Funktionen aus der Extras-Erweiterung aufzurufen -// Variablen absichern ! +header("Cache-control: no-cache"); + +// Include benötigte class dateien +set_include_path( 'lib/class/' ); +spl_autoload_extensions( '.class.php' ); +spl_autoload_register(); + +// Load Global Config +$system = parse_ini_file('config.ini', true); +$system['ip'] = $_SERVER['REMOTE_ADDR']; +define('_VMS_' , (ctype_alnum($system['db_prefix']) ? $system['db_prefix'] : 'vms')); + +if ($system['gzip_rate'] > 0) { + ini_set('zlib.output_compression_level', $system['gzip_rate']); + if (ereg("gzip", getenv("HTTP_ACCEPT_ENCODING"))) ob_start("ob_gzhandler"); + else ob_start(); +} + +require_once ('functions.lib.php'); +require_once ('session.lib.php'); +require_once ('layout.lib.php'); +require_once ('extras.lib.php'); + $_GET = extra_securevars($_GET); $_POST = extra_securevars($_POST); $_SERVER = extra_securevars($_SERVER); diff --git a/lib/extras.lib.php b/lib/extras.lib.php index 8d95e83..ef6a5b8 100644 --- a/lib/extras.lib.php +++ b/lib/extras.lib.php @@ -29,8 +29,8 @@ function extra_phpversion () { * @return keine */ 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'); + global $system; + return sql::$db->query ('DELETE `x` FROM `'.$table.'` AS `x` LEFT JOIN `'._VMS_.'_kontodaten` AS `u` ON (`u`.`uid` = `x`.`'.$row.'`) WHERE `u`.`uid` IS NULL'); } @@ -138,5 +138,3 @@ $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/functions.lib.php b/lib/functions.lib.php index d513763..eada903 100644 --- a/lib/functions.lib.php +++ b/lib/functions.lib.php @@ -1,66 +1,5 @@ <?php -/** - * db_connect() - * - * @author designerscripte.net - * @category system Database - * @version 2.5.0 - * @example db_connect(); - * @return die('') bei Fehler ohne return bei erfolg. - * - */ -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! <br>Tipp: <a href="http://www.vms-tutorial.de/wiki//Lib/Functions">http://www.vms-tutorial.de/wiki//Lib/Functions</a>'); - $sql_base = @mysql_select_db($db_base) or die("Keine oder falsche Datenbank gewählt! Tipp: <br><a href='http://www.vms-tutorial.de/wiki//Lib/Functions'>http://www.vms-tutorial.de/wiki//Lib/Functions</a>"); -} - -/** - * db_connect() - * - * @author designerscripte.net - * @category system Database - * @version 2.5.0 - * @example db_query("SELECT `field` FROM `table` WHERE `field` = `value` "); - * @param mixed $sql_tag - * @return 0 bei Fehler Mysql_resource. - * - */ -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); - if (!empty($vargs))$sql_tag = vsprintf($sql_tag, $vargs); - } - if ($ret = mysql_query($sql_tag)) { - return $ret; - }else { - return 0; - } -} - -/** - * db_close() - * - * @author designerscripte.net - * @category system Database - * @version 2.5.0 - * @example db_close(); - * @return die(''); bei fehler nichts bei erfolg - */ -function db_close() { - global $sql_open; - @mysql_close($sql_open) or die('Konnte die Verbindung mit Datenbank nicht schliessen!'); -} - /** * create_code() * @@ -96,8 +35,9 @@ function create_code($code_laenge) { * @return keine */ 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 . "')"); + $sql = sql::$db->prepare ("INSERT INTO `" . _VMS_ . "_buchungen` (`uid`,`buchungszeit`,`buchungs_id`,`buchungsmenge`,`verwendungszweck`) VALUES (?,?,?,?,?)"); + $sql ->execute( array( $fuer, time(), $buchungs_id, $trans_menge, $verwendung)); + return $sql; } /** @@ -113,8 +53,10 @@ function buchungsliste ($buchungs_id, $trans_menge, $verwendung, $fuer) { * @return keine */ function kontobuchung ($art, $trans_menge, $fuer) { - global $db_prefix; - db_query("UPDATE " . $db_prefix . "_kontodaten SET `kontostand` = `kontostand` " . $art . " " . $trans_menge . " WHERE uid=" . $fuer . ""); + if('+' !== $art) $art = '-'; + $sql = sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `kontostand` = `kontostand` " . $art . " ? WHERE `uid` = ? "); + $sql ->execute( array( $trans_menge, $fuer)); + return $sql; } /** @@ -127,21 +69,21 @@ function kontobuchung ($art, $trans_menge, $fuer) { * @return Leitet bei keinem zugriff auf die entsprechenden fehlerseiten weiter */ function userstatus () { - global $_SESSION, $db_prefix; + global $_SESSION, $system; 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); + $sql = sql::$db->prepare ("SELECT `uid`,`passwort`,`status`,`hinweis` FROM `" . _VMS_ . "_kontodaten` WHERE `uid` = ? AND `passwort` = ? LIMIT 1"); + $sql -> execute (array($_SESSION['uid'], $_SESSION['passwort'])); + $login_check = $sql -> fetch(); // nicht aktiviert oder nicht angemeldet! - if (!mysql_num_rows($us) or $login_check['status'] == 0) { + if (!$sql -> rowCount() 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(); + header ("location: " . $system['domain'] . '/content/error/kein_zutritt'); + die('foo'); } // gesperrt if ($login_check['status'] == 2) { @@ -151,15 +93,16 @@ function userstatus () { $_SESSION['uid'] = ""; $_SESSION['passwort'] = ""; $_SESSION['login'] = ""; - @include_once('content/error/user_gesperrt.php'); - @include_once('lib/footer.php'); + 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'); + include_once('content/error/kein_zutritt.php'); + include_once('lib/footer.php'); die(); } + return true; } /** @@ -174,8 +117,9 @@ function userstatus () { * @return keine */ function refumsatz ($buchungssumme, $fuer) { - global $db_prefix; - db_query ('UPDATE ' . $db_prefix . '_werberdaten SET umsatz = umsatz + ' . $buchungssumme . ', aktivzeit=' . time() . ' WHERE uid = ' . $fuer . ' and werber != 0'); + $sql = sql::$db->prepare ('UPDATE `' . _VMS_ . '_werberdaten` SET `umsatz` = `umsatz` + ?, `aktivzeit` = ? WHERE `uid` = ? and `werber` != 0'); + $sql ->execute( array( $buchungssumme, time(), $fuer)); + return $sql; } /** @@ -192,20 +136,21 @@ function refumsatz ($buchungssumme, $fuer) { */ function rallysystem ($uid,$was,$anzahl) { global $time; - db_query("UPDATE vms_kontodaten SET eintap = eintap + ".$anzahl."/100 WHERE uid= ".$uid." LIMIT 1"); - $rallyorte=mysql_fetch_array(db_query("SELECT welche_rallys FROM vms_rallyorte WHERE id = '".$was."' LIMIT 1")); - $rally = db_query("SELECT * FROM `vms_rallydaten` WHERE `id` IN (".$rallyorte['welche_rallys'].") AND `status` = 'aktive' AND `start` <= UNIX_TIMESTAMP() AND ((`ende_art` = 'zeit' AND `ende_zeit` > UNIX_TIMESTAMP()) OR (`ende_art` = 'punkt' AND `ende_punkte` > `ende_punkte_aktuell`)) "); - while($rallys = mysql_fetch_array($rally)){ + $anzahl = round($anzahl/100); + //sql::$db->prepare ("UPDATE `vms_kontodaten` SET `eintap` = `eintap` + ? WHERE `uid` = ? LIMIT 1") -> execute(array($anzahl,$uid)); + $sql = sql::$db->prepare ("SELECT * FROM `vms_rallydaten` WHERE `id` IN (( SELECT `welche_rallys` FROM `vms_rallyorte` WHERE `id` = ? LIMIT 1 )) AND `status` = 'aktive' AND `start` <= UNIX_TIMESTAMP() AND ((`ende_art` = 'zeit' AND `ende_zeit` > UNIX_TIMESTAMP()) OR (`ende_art` = 'punkt' AND `ende_punkte` > `ende_punkte_aktuell`)) "); + $sql->execute(array($was)); + while($rallys = $sql->fetch()){ $gesperrt = explode(',',$rallys['sperruser']); if (!in_array($uid, $gesperrt)) { $anzahl2 = $anzahl.$rallys['ende_punkte_anzahl']; eval("\$anzahl2 = $anzahl2;"); $steigerung = $anzahl.$rallys['gewinn_dyn_steigerung']; eval("\$steigerung = $steigerung;"); - if ($rallys['gewinn_art'] == 'dynamisch') db_query ("UPDATE vms_rallydaten SET gewinn_topf=gewinn_topf+'".$steigerung."' WHERE id = '".$rallys['id']."' LIMIT 1"); - if ($rallys['ende_art'] == 'punkt') db_query ("UPDATE vms_rallydaten SET ende_punkte_aktuell = ende_punkte_aktuell + '".$anzahl2."' WHERE id = ".$rallys['id']." LIMIT 1"); - db_query ("UPDATE vms_rallyuser SET punkte = punkte + '".$anzahl2."' WHERE uid = '".$_SESSION['uid']."' AND rally = '".$rallys['name']."' AND ausgezahlt < '1'"); - if (mysql_affected_rows () == 0) db_query ("INSERT INTO vms_rallyuser (rally,uid,punkte) VALUES ('".$rallys['name']."','".$uid."','".$anzahl2."')"); + if ($rallys['gewinn_art'] == 'dynamisch') sql::$db->prepare ("UPDATE `vms_rallydaten` SET `gewinn_topf` = `gewinn_topf` + ? WHERE `id` = ? LIMIT 1")-> execute(array($steigerung,$rallys['id'])); + if ($rallys['ende_art'] == 'punkt') sql::$db->prepare ("UPDATE `vms_rallydaten` SET `ende_punkte_aktuell` = `ende_punkte_aktuell` + ? WHERE `id` = ? LIMIT 1")-> execute(array($anzahl2,$rallys['id'])); + $sqlu = sql::$db->prepare ("UPDATE `vms_rallyuser` SET `punkte` = `punkte` + ? WHERE `uid` = ? AND `rally` = ? AND `ausgezahlt` < '1'")-> execute(array($anzahl2,$_SESSION['uid'],$rallys['name'])); + if (0 == $sqlu -> rowCount()) sql::$db->prepare ("INSERT INTO `vms_rallyuser` (`rally`,`uid`,`punkte`) VALUES (?, ?, ?)")-> execute(array($rallys['name'], $uid, $anzahl2)); } } } @@ -222,20 +167,48 @@ function rallysystem ($uid,$was,$anzahl) { * @return keine */ 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 . ')'); + $sql = sql::$db->prepare ('UPDATE `' . _VMS_ . '_bilanz` SET `ein` = `ein` + ? , `aus` = `aus` + ? WHERE `date` = ? LIMIT 1'); + $sql -> execute( array( $ein, $aus, $date_stamp)); + if (0 == $sql ->rowCount()) $sql = sql::$db->query ('INSERT INTO `' . _VMS_ . '_bilanz` (`ein`, `aus`, `date`) VALUES ( ?, ?, ?)') ->execute( array( $ein, $aus, $date_stamp)); + return $sql; +} + +/** + * is_admin() + * + * @author designerscripte.net + * @category system + * @version 2.5.0 + * @example is_admin(); + * @return returnt true oder false je nach adminstatus + */ +function is_admin () { + global $_SESSION; + if (isset($_SESSION['admin']) AND $_SESSION['admin'] == 1) { + return true; + } + return false; } +/** + * is_user() + * + * @author designerscripte.net + * @category system + * @version 2.5.0 + * @example is_user(); + * @return returnt true oder false je nach login status + */ +function is_user () { + global $_SESSION; + if (isset($_SESSION['login']) AND $_SESSION['login'] == 'true') { + return true; + }else{ + return false; + } -// 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/menue_links.php b/lib/menue_links.php index 31b58df..8667b63 100644 --- a/lib/menue_links.php +++ b/lib/menue_links.php @@ -23,9 +23,9 @@ if ($_SESSION['login'] == 'true') { menuehead('Rallysystem'); echo '<dl>'; -$ralleydaten = db_query("SELECT status, start, ende_art, ende_zeit, ende_punkte, ende_punkte_aktuell, name FROM vms_rallydaten"); +$sql = sql::$db->query ("SELECT `status`, `start`, `ende_art`, `ende_zeit`, `ende_punkte`, `ende_punkte_aktuell`, `name` FROM `vms_rallydaten`"); $times = time(); -while ($data = mysql_fetch_assoc($ralleydaten)) { +while ($data = $sql -> fetch()) { echo'<dt> <a href="?content=/rallysystem&rally=' . $data['name'] . '"><i>'; if ($data['status'] == 'aktive' && $data['start'] <= $times && (($data['ende_art'] == 'zeit' && $data['ende_zeit'] > $times) OR ($data['ende_art'] == 'punkt' && $data['ende_punkte_aktuell'] < $data['ende_punkte']))) { echo'<span style="color:#1DA801;">'; diff --git a/lib/session.lib.php b/lib/session.lib.php index bf4da75..6d1a51d 100644 --- a/lib/session.lib.php +++ b/lib/session.lib.php @@ -16,30 +16,29 @@ 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")); +$pageconfig = sql::$db->prepare ("SELECT * FROM `" . _VMS_ . "_seitenkonfig` LIMIT 1")->fetch(); -if ($pageconfig['wartung'] == 1 && $_SESSION['uid'] != $admin_id) { +if ($pageconfig['wartung'] == 1 && $_SESSION['uid'] != $system['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"); + header ("location: " . $system['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); + $sql = sql::$db->prepare ("SELECT `k`.`uid`, `k`.`passwort`, `k`.`status`, `k`.`hinweis` FROM `" . _VMS_ . "_userdaten` AS `u` LEFT JOIN `" . _VMS_ . "_kontodaten` AS `k` ON `k`.`uid` = `u`.`uid` WHERE `u`.`nickname` = ? AND `k`.`passwort` = ? LIMIT 1"); + $sql -> execute(array($_POST['nickname'], md5($_POST['passwort']))); + if ($sql -> rowCount()) { + $login_check = $sql -> fetch(); // Wenn User noch nicht freigeschaltet! if ($login_check['status'] == 0) { $_SESSION['uid'] = ""; @@ -48,8 +47,10 @@ if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) { $_GET['content'] = '/error/kein_zutritt'; } // Wenn beim User alles O.K. ist! + var_dump($login_check); 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"); + sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `login_ip` = ? , `loginzeit` = ? WHERE `uid` = ? and `passwort` = ? LIMIT 1") + -> execute( array( $system['ip'], time(), $login_check['uid'], md5($_POST['passwort']))); if ($_POST['autologin'] == 'true') { setCookie('uid', $login_check['uid'], time() + 86400 * 30); setCookie('passwort', $login_check['passwort'], time() + 86400 * 30); @@ -58,7 +59,7 @@ if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) { $_SESSION['uid'] = $login_check['uid']; $_SESSION['passwort'] = $login_check['passwort']; $_SESSION['login'] = "true"; - header ("location: " . $domain); + header ("location: " . $system['domain']); die(); } // Wenn User gesperrt wurde! @@ -75,22 +76,26 @@ if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) { } 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); + $sql = sql::$db->prepare ("SELECT `uid`,`passwort`,`status`,`hinweis` FROM `" . _VMS_ . "_kontodaten` WHERE `uid` = ? and `passwort` = ? LIMIT 1"); + $sql -> execute( array( $_COOKIE['uid'], $_COOKIE['passwort'])); + if ($sql -> rowCount()) { + $login_check = $sql -> fetch(); 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"); + sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `login_ip` = ? , `loginzeit` = ? WHERE `uid` = ? and `passwort` = ? LIMIT 1") + -> execute( array( $system['ip'], time(), $login_check['uid'], md5($_COOKIE['passwort']))); $_SESSION['uid'] = $login_check['uid']; $_SESSION['passwort'] = $login_check['passwort']; $_SESSION['login'] = "true"; } } } + // Logout if ($_GET['logout'] == 'true') { setCookie('uid', '', time() - 86400 * 30); @@ -99,11 +104,12 @@ if ($_GET['logout'] == 'true') { $_SESSION['uid'] = ""; $_SESSION['passwort'] = ""; $_SESSION['login'] = ""; - header ("location: " . $domain); + header ("location: " . $system['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"); + sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `last_active` = ? WHERE `uid` = ? AND `passwort` = ? LIMIT 1") + -> execute( array( time(), $_SESSION['uid'], $_SESSION['passwort'])); } ?> \ No newline at end of file diff --git a/lib/texte/bettelwerbung.txt b/lib/texte/bettelwerbung.txt index c1bfaf3..e69de29 100644 --- a/lib/texte/bettelwerbung.txt +++ b/lib/texte/bettelwerbung.txt @@ -1 +0,0 @@ -<a href="http://kingbonus.de/?refid=2&subid=vmsBettel"><img src="http://kingbonus.de/banner/500x400_1.gif" alt=""></a> \ No newline at end of file diff --git a/lib/texte/startwerbung.txt b/lib/texte/startwerbung.txt index a579d79..e69de29 100644 --- a/lib/texte/startwerbung.txt +++ b/lib/texte/startwerbung.txt @@ -1,4 +0,0 @@ -<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/weristonline.php b/lib/weristonline.php index bc4ecce..ba0ab75 100644 --- a/lib/weristonline.php +++ b/lib/weristonline.php @@ -1,20 +1,18 @@ <?php -$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"); +if (!isset($system)) 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)); +$sql = sql::$db->prepare ("SELECT `k`.`uid`, `u`.`nickname` FROM `" . _VMS_ . "_kontodaten` AS `k` LEFT JOIN `" . _VMS_ . "_userdaten` AS `u` ON `u`.`uid` = `k`.`uid` WHERE `k`.`last_active` >= ? "); +$sql ->execute(array(time() - $system['wer-ist-online_inaktive-zeit'])); -if (mysql_num_rows ($sql) == 0) echo '<span style="font-style: italic;">keiner</span>'; +if (0 == $sql -> rowCount()) 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>'; + while ($user = $sql->fetch()) { + if ($user['uid'] == $system['admin_id']) echo '<a style="font-weight: bold;" href="' . $system['domain'].$system['wer-ist-online_nickpage-url'] . $user['nickname'] . '">' . $user['nickname'] . '</a>'; + else echo '<a href="' . $system['domain'].$system['wer-ist-online_nickpage-url'] . $user['nickname'] . '">' . $user['nickname'] . '</a>'; - if ($nr < mysql_num_rows ($sql)) echo ', '; + if ($nr < $sql -> rowCount()) echo ', '; $nr++; } } diff --git a/pcheck.php b/pcheck.php deleted file mode 100644 index f5b826d..0000000 --- a/pcheck.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php -require_once ('lib/config.inc.php'); -require_once ('lib/functions.lib.php'); - -//Variablen vordefinieren -if (!isset($headmsg)) $headmsg = ""; -if (!isset($wait)) $wait = ""; -if (!isset($_GET['auszahlen'])) $_GET['auszahlen'] = "false"; - -//Tan / UID Sichern -$_GET['uid'] = (int)$_GET['uid']; -$_GET['tan'] = addslashes ($_GET['tan']); - -//DB Verbindung herstellen -db_connect(); - -$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']); - rallysystem ($mail['uid'],'2',$mail['verdienst']); - 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"); - } -} - -echo ' -<!DOCTYPE> -<html> - <head>'; - if ($wait) echo $wait; - echo '<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 deleted file mode 100644 index 9bffb46..0000000 --- a/pclick.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php -require_once ('lib/config.inc.php'); -require_once ('lib/functions.lib.php'); -db_connect(); - -$_GET['uid'] = (int)$_GET['uid']; -$_GET['tan'] = addslashes ($_GET['tan']); - -$mail = mysql_fetch_assoc(db_query("SELECT `ziel` FROM ".$db_prefix."_paidmails_versendet WHERE tan='".$_GET['tan']."' LIMIT 1")); -echo ' -<!DOCTYPE> -<html> - <head> - <meta charset="UTF-8"> - <title>Paidmail by '.$seitenname.'</title> - </head> - <frameset rows="30,*" 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> -</html>'; - -db_close(); \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..f97f1f3 --- /dev/null +++ b/readme.md @@ -0,0 +1,44 @@ +VMSone +====== +### Virtual Monetary System one + +Dies ist ein einfaches Log-in-Script mit Währungsverwaltung, Log-in-Verwaltung, Admin-Bereich und der Möglichkeit einer Anbindung an eine externe Seite. + +#### Inhalt + +1. [Anforderungen](#Anforderungen) +1. [Installation](#Installation) +1. [Support](#Support) +1. [Lizenzbedingungen](#Lizenzbedingungen) + + +## Anforderungen + +Um das Script zu nutzen, benötigen Sie: + +* PHP 5.2 - 5.6 mit mysql, curl sowie bcmath und diverse Standard Plugins +* Mysql Version 5.4/5.5/5.6 (andere Versionen ungetestet) +* allow_url_fopen auf TRUE (cronjob für sponsoren)_ +* Ein FTP / SFTP / etc Programm zum Upload der Scriptfiles + + +## Installation + +1. Entpacken der Files. +2. Upload der Files in das web Verzeichnis +3. Anlegen einer Datenbank und Einspielung der .ressource/mysql/init.sql +(Die Migrations sind bereits darin enthalten und müssen NICHT eingespielt werden.) +4. Kopieren der lib/config.inc.php.example zu lib/config.inc.php +5. lib/config.inc.php anpassen mit den notwendigen Daten. +6. Ordner lib/texte braucht Schreibrechte für den www-User + + +## Support + +Sämtliche Supportanfragen und Weiterentwicklungen laufen via Community auf [Designerscripte](http://www.designerscripte.net/) + + +## Lizenzbedingungen + +Die Nutzungsbedingungen sind zu finden unter +[http://www.designerscripte.net/index.php?pageid=nutzungsbedingungen](http://www.designerscripte.net/index.php?pageid=nutzungsbedingungen) \ No newline at end of file diff --git a/top_forced.php b/top_forced.php new file mode 100644 index 0000000..2f3b67d --- /dev/null +++ b/top_forced.php @@ -0,0 +1,20 @@ +<?php +require_once('lib/extras.init.php'); +if (!isset($_GET['art'])) $_GET['art'] = ""; +if (!isset($forced['tan'])) $forced['tan'] = ""; +if (!isset($forced['ziel'])) $forced['ziel'] = ""; + +$sql = sql::$db->prepare ("SELECT `ziel`, `tan` FROM `"._VMS_."_gebuchte_werbung` WHERE `tan` = ? LIMIT 1"); +$sql -> execute(array($_GET['tan'])); +$forced = $sql -> fetch(); + +echo '<!DOCTYPE> +<html> +<head> + <title>Forcedklick by '.$system['seitenname'].'</title> +</head> +<frameset rows="30,*" border="0"> +<frame src="topframe_forced.php?tan='.$forced['tan'].'" scrolling="no" frameborder="0"> +<frame src="'.$forced['ziel'].'" scrolling="auto" frameborder="0"> +</frameset> +</html>'; diff --git a/top_forcedbanner.php b/top_forcedbanner.php deleted file mode 100644 index 25db193..0000000 --- a/top_forcedbanner.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php -require_once ('lib/config.inc.php'); -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'] = ""; - -//Tan absichern -$_GET['tan'] = addslashes ($_GET['tan']); - -$forced = mysql_fetch_assoc(db_query("SELECT ziel,tan FROM ".$db_prefix."_gebuchte_werbung WHERE tan='".$_GET['tan']."' LIMIT 1")); - -echo '<!DOCTYPE> -<html> -<head> - <title>Forcedklick by '.$seitenname.'</title> -</head> -<frameset rows="30,*" border="0"> -<frame src="topframe_forced.php?tan='.$forced['tan'].'" scrolling="no" frameborder="0"> -<frame src="'.$forced['ziel'].'" scrolling="auto" frameborder="0"> -</frameset> -</html>'; -db_close(); \ No newline at end of file diff --git a/top_paidmail.php b/top_paidmail.php new file mode 100644 index 0000000..a503287 --- /dev/null +++ b/top_paidmail.php @@ -0,0 +1,24 @@ +<?php +require_once('lib/extras.init.php'); +if (!isset($_GET['uid'])) $_GET['uid'] = ""; +if (!isset($_GET['tan'])) $_GET['tan'] = ""; + +$_GET['uid'] = (int)$_GET['uid']; + +$sql = sql::$db->prepare ("SELECT `ziel`, `tan` FROM `"._VMS_."_paidmails_versendet` WHERE `tan` = ? LIMIT 1"); +$sql -> execute(array($_GET['tan'])); +$mail = $sql -> fetch(); + +echo ' +<!DOCTYPE> +<html> + <head> + <meta charset="UTF-8"> + <title>Paidmail by '.$system['seitenname'].'</title> + </head> + <frameset rows="30,*" border="0"> + <frame name="abuse" src="topframe_paidmail.php?tan='.$mail['tan'].'&uid='.$_GET['uid'].'" scrolling="no" frameborder="0"> + <frame name="werbung" src="'.$mail['ziel'].'" scrolling="auto" frameborder="0"> + </frameset> +</html>'; + diff --git a/topframe_forced.php b/topframe_forced.php index 67d977d..498fc6a 100644 --- a/topframe_forced.php +++ b/topframe_forced.php @@ -1,7 +1,6 @@ <?php -require_once ('lib/config.inc.php'); -require_once ('lib/functions.lib.php'); -require_once ('lib/session.lib.php'); +require_once('lib/extras.init.php'); + // Variabeln definieren if (!isset($headmsg)) $headmsg = ""; if (!isset($puk)) $puk = ""; @@ -16,25 +15,24 @@ if (!isset($forced['aufendhalt'])) $forced['aufendhalt'] = ""; if (!isset($forced['tan'])) $forced['tan'] = ""; // Nur weiter wenn eingeloggt -if ($_SESSION['login'] != 'true' || $_SESSION['uid'] <= 0) die('Bitte einloggen!'); - -//DB Verbindung herstellen -db_connect(); +if (!is_user()) die('Bitte einloggen!'); // Tan sichern $_GET['tan'] = mysql_real_escape_string ($_GET['tan']); // Werbedaten auslesen! Fixed -$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"); +$sql = sql::$db->prepare ("SELECT `t1`.* FROM `" . _VMS_ . "_gebuchte_werbung` AS `t1` + LEFT JOIN `" . _VMS_ . "_reloads` AS `t2` ON (`t1`.`tan` = `t2`.`tan` AND (`t2`.`uid` = ? or `t2`.`ip` = ? ) AND `t2`.`bis` > ?) + WHERE `t1`.`tan` = ? AND `t2`.`tan` IS NULL AND `t1`.`werbeart` = 'forcedbanner' AND `t1`.`menge` >= 1 AND `t1`.`status` = 1 AND `t1`.`sponsor` != ? LIMIT 1"); +$sql -> execute(array($_SESSION['uid'], $system['ip'], time(), $_GET['tan'], $_SESSION['uid'])); + // Reloadprüfen -if (mysql_num_rows($kamp)) { - $forced = mysql_fetch_assoc($kamp); +if ($sql -> rowCount()) { + $forced = $sql -> fetch();; $wartezeit = $forced['aufendhalt']; $headmsg = 'Vergütung in ' . $forced['aufendhalt'] . ' Sek.!'; if ($_GET['auszahlen'] != 'true') { - $puk = md5($_SESSION['uid'] . $forced['aufendhalt'] . date("d.m.Y", time()) . $percode); + $puk = md5($_SESSION['uid'] . $forced['aufendhalt'] . date("d.m.Y", time()) . $system['percode']); $_SESSION['earlies_payout' . $_GET['tan']] = time() + $wartezeit - 1; } } else { @@ -42,24 +40,31 @@ if (mysql_num_rows($kamp)) { $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) && time() >= $_SESSION['earlies_payout' . $_GET['tan']]) { +if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md5($_SESSION['uid'] . $forced['aufendhalt'] . date("d.m.Y", time()) . $system['percode']) && time() >= $_SESSION['earlies_payout' . $_GET['tan']]) { + + $sql = sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `klicks` = `klicks` + 1, `kv` = `kv` + :verdienst , `kontostand` = `kontostand` + :verdienst WHERE `uid` = :uid LIMIT 1"); + $sql -> execute(array(':verdienst' => $forced['verdienst'], ':uid' => $_SESSION['uid'])); - 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']); rallysystem ($_SESSION['uid'], '1', $forced['verdienst']); 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'] . "'"); + + $sql = sql::$db->prepare ("INSERT INTO `" . _VMS_ . "_reloads` (`ip`, `uid`, `tan`, `bis`) VALUES (?, ?, ?, ?)"); + $sql -> execute(array($system['ip'], $_SESSION['uid'], $forced['tan'], $new_reload)); + + $sql = sql::$db->prepare ("UPDATE `" . _VMS_ . "_gebuchte_werbung` SET `menge` = `menge` - 1 WHERE `tan` = ?"); + $sql -> execute($_GET['tan']); + $_SESSION['earlies_payout' . $_GET['tan']] = ''; - $headmsg = $forced['verdienst'] . ' ' . $waehrung . ' erhalten!'; + $headmsg = $forced['verdienst'] . ' ' . $system['waehrung'] . ' erhalten!'; } elseif ($_GET['auszahlen'] == 'true' && time() < $_SESSION['earlies_payout' . $_GET['tan']]) { $headmsg = 'Wartezeit umgangen.'; } elseif ($_GET['auszahlen'] == 'true' && $force_error != 'true') { $headmsg = 'Pin abgelaufen'; } -db_close(); + echo'<!DOCTYPE HTML /> <html> @@ -72,7 +77,7 @@ echo'<!DOCTYPE HTML /> <body> <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="left" width="50%"><b>'.$system['seitenname'].' ist für den Inhalt nicht verantwortlich.</b></td> <td align="right" width="50%"><b>'.$headmsg.'</b> </td> </tr> </table> diff --git a/topframe_paidmail.php b/topframe_paidmail.php new file mode 100644 index 0000000..3874b10 --- /dev/null +++ b/topframe_paidmail.php @@ -0,0 +1,67 @@ +<?php +require_once('lib/extras.init.php'); + +//Variablen vordefinieren +if (!isset($headmsg)) $headmsg = ""; +if (!isset($wait)) $wait = ""; +if (!isset($_GET['auszahlen'])) $_GET['auszahlen'] = "false"; + +//Tan / UID Sichern +$_GET['uid'] = (int)$_GET['uid']; +$_GET['tan'] = addslashes ($_GET['tan']); + + +$sql = sql::$db->prepare ("SELECT `e`.`start`,`e`.`aufendhalt`,`e`.`status`,`e`.`uid`,`v`.`verdienst` FROM `"._VMS_."_paidmails_empfaenger` AS `e` + LEFT JOIN `"._VMS_."_paidmails_versendet` AS `v` ON `v`.`tan` = `e`.`tan` + WHERE `e`.`tan` = ? AND `e`.`uid` = ? AND `e`.`gueltig` > ? LIMIT 1"); +$sql -> execute(array($_GET['tan'],$_GET['uid'],time())); + +$mail = $sql-> fetch(); + +if (!isset($_GET['auszahlen']) OR $_GET['auszahlen'] != 'true' ) { + if ($sql -> rowCount()) { + 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=topframe_paidmail.php?tan='.$_GET['tan'].'&auszahlen=true&uid='.$_GET['uid'].'">'; + $sql = sql::$db->prepare ("UPDATE `"._VMS_."_paidmails_empfaenger` SET `start` = ? WHERE `tan` = ? and `uid` = ? LIMIT 1"); + $sql -> execute(array(time(), $_GET['tan'], $_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']); + rallysystem ($mail['uid'],'2',$mail['verdienst']); + bilanz(0,$mail['verdienst']); + $sql = sql::$db->query ("UPDATE `"._VMS_."_paidmails_empfaenger` SET `status` = 1 WHERE `tan` = ? and `uid` = ? LIMIT 1"); + $sql -> execute(array($_GET['tan'], $_GET['uid'])); + $sql = sql::$db->query ("UPDATE `"._VMS_."_paidmails_versendet` SET `bestaedigt` = `bestaedigt` + 1 WHERE `tan` = ? LIMIT 1"); + $sql -> execute(array($_GET['tan'])); + $headmsg = $mail['verdienst'].' '.$system['waehrung'].' gutgeschrieben!'; + } else { + $headmsg = 'Wartezeit umgangen! Paidmail ungültig!'; + $sql = sql::$db->query ("UPDATE `"._VMS_."_paidmails_empfaenger` SET `status` = 2 WHERE `tan` = ? and `uid` = ? LIMIT 1"); + $sql -> execute(array($_GET['tan'], $_GET['uid'])); + } +} + +echo ' +<!DOCTYPE> +<html> + <head>'; + if ($wait) echo $wait; + echo '<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>'.$system['seitenname'].' ist für den Inhalt nicht verantwortlich.</b></td> + <td align="right" width="50%"><b>'.$headmsg.'</b> </td> + </tr> + </table> + </body> +</html>'; -- GitLab