diff --git a/CHANGELOG b/CHANGELOG index 0356cad236123f5515a82e137064b354a8c6d359..b69e81cd76337fb23cd37e843fcb1791b9035b27 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,14 @@ # Was alles passiert +## [0.0.3] - 03.12.2017 +## hinzugefügt +- Bilanzfunktion erweitert und Bilanz ausgebaut +- weitere Deignanpassung an Bootstrap im Adminbereich und Userbereich +- kleine Bugs beseitig + +## gelöscht +- Adscan wurde aus dem System genommen + ## [0.0.2] - 02.12.2017 ### hinzugefügt - die Funktion pw_erstellen wurde hinzugefügt. diff --git a/README.MD b/README.MD index 09628b21b51b60d6d1f874324e0bd0db1b5e36c1..4bd3139f2f24c8f600e6437a2793baa5004f2058 100644 --- a/README.MD +++ b/README.MD @@ -7,4 +7,5 @@ # Neuerungen: - wegfall und zusammenschluss der Funktionen kontobuchung und buchungsliste - Bootstrap eingeführt -- Adminbereich um Seiteninformationen erweitert \ No newline at end of file +- Adminbereich um Seiteninformationen erweitert +- Erweiterte Bilanz mit Gruppen und einzelnen Spoitionen \ No newline at end of file diff --git a/adminforce/content/bilanzsystem.php b/adminforce/content/bilanzsystem.php index a09714388e7716ffdd5937cc334528ac3f83b8aa..f04d158c238eabc98b956ec96e3101204578e220 100644 --- a/adminforce/content/bilanzsystem.php +++ b/adminforce/content/bilanzsystem.php @@ -3,25 +3,80 @@ head("Bilanzsystem"); echo 'Hier eine übersicht über die Einnahmen und Ausgaben der Seite'; foot(); -head("Letzten 14 Tage"); - echo '<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 = mysqli_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> - '; - } - echo '</table>'; -foot(); \ No newline at end of file + $aus = ''; + $gruppe = ''; + $tag = ''; + $da = db_query("SELECT datum FROM ". $db_prefix ."_bilanz GROUP BY datum ORDER BY datum ASC "); + while($d = mysqli_fetch_array($da)){ + + $saldo_tag = 0; + $g_d = db_query("SELECT gruppe FROM ". $db_prefix ."_bilanz WHERE datum = '". $d['datum'] ."' GROUP BY gruppe"); + while($g = mysqli_fetch_array($g_d)){ + $gruppe = ' + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title">'. $g['gruppe'] .'</h3> + </div> + <div class="panel-body"> + <table class="table table-hover"> + <tr> + <th>Typ</th> + <th>Einnahmen</th> + <th>Ausgaben</th> + </tr> + '; + $saldo = 0; + $b_g = db_query("SELECT * FROM ". $db_prefix ."_bilanz WHERE gruppe = '". $g['gruppe'] ."' AND datum = '". $d['datum'] ."' "); + while($b = mysqli_fetch_array($b_g)){ + if($b['ein'] < $b['aus']){ + $class = 'alert alert-danger'; + $saldo_plus += $b['ein']; + $saldo_minus += $b['aus']; + }else{ + $class = 'alert alert-success'; + $saldo_plus += $b['ein']; + $saldo_minus += $b['aus']; + } + $saldo = $saldo_tag+$b['ein']-$b['aus']; + $saldo_tag = $saldo_tag+$b['ein']-$b['aus']; + + $gruppe .= ' + <tr class="'. $class .'"> + <td>'. $b['name'] .'</td> + <td>'. $b['ein'] .'</td> + <td>'. $b['aus'] .'</td> + </tr> + '; + } + $gruppe .= ' + </table> + Gewinn/Verlust: '. number_format($saldo,0,',','.') .' + </div> + </div> + '; + $tag .= $gruppe; + } + $tag .= 'Tagessaldo:'. number_format($saldo_tag,0,',','.'); + if($saldo_tag >= 0){ $farbe_tag = 'alert alert-success';}else{ $class = 'alert alert-danger';} + $aus .= ' + <div class="panel-group '. $farbe_tag .'" id="accordion" role="tablist" aria-multiselectable="true"> + <div class="panel panel-default"> + <div class="panel-heading" role="tab" id="'. $d['datum'] .'"> + <h4 class="panel-title"> + <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse'. $d['datum'] .'" aria-expanded="false" aria-controls"collapse'. $d['datum'] .'"> + '. date("d.m.Y", $d['datum']) .' || Tagessaldo: '. number_format($saldo_tag,0,',','.').' + </a> + </h4> + </div> + <div id="collapse'. $d['datum'] .'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="'. $d['datum'] .'"> + <div class="panel-body">'; + $aus .= $tag.' + </div> + </div> + </div> + </div> + '; + } + + echo $aus; +?> diff --git a/adminforce/content/interfacedaten/menue_admin.php b/adminforce/content/interfacedaten/menue_admin.php index adb7a1649c797ed8c9865873ab56afba14732fca..05500dcdefffa2e14b28834301df1712b69a0425 100644 --- a/adminforce/content/interfacedaten/menue_admin.php +++ b/adminforce/content/interfacedaten/menue_admin.php @@ -99,7 +99,7 @@ } echo '</select> </td> - <td><input type="submit" name="admin_link_bearbeiten" value="Bearbeiten"> <input type="submit" name="admin_link_loschen" value="Löschen"></td> + <td><button type="submit" name="admin_link_bearbeiten" class="btn btn-success glyphicon glyphicon-ok-circle"></button> <button type="submit" name="admin_link_loschen" class="btn btn-danger glyphicon glyphicon-plus-sign"></button></td> </tr> </form>'; } diff --git a/adminforce/css/dachboard.css b/adminforce/css/dachboard.css new file mode 100644 index 0000000000000000000000000000000000000000..98e6f5abd86a15b856b9002a1f434e9d1cad741c --- /dev/null +++ b/adminforce/css/dachboard.css @@ -0,0 +1,105 @@ +/* + * Base structure + */ + +/* Move down content because we have a fixed navbar that is 50px tall */ +body { + padding-top: 50px; +} + + +/* + * Global add-ons + */ + +.sub-header { + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} + +/* + * Top navigation + * Hide default border to remove 1px line. + */ +.navbar-fixed-top { + border: 0; +} + +/* + * Sidebar + */ + +/* Hide for mobile, show later */ +.sidebar { + display: none; +} +@media (min-width: 768px) { + .sidebar { + position: fixed; + top: 51px; + bottom: 0; + left: 0; + z-index: 1000; + display: block; + padding: 20px; + overflow-x: hidden; + overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ + background-color: #f5f5f5; + border-right: 1px solid #eee; + } +} + +/* Sidebar navigation */ +.nav-sidebar { + margin-right: -21px; /* 20px padding + 1px border */ + margin-bottom: 20px; + margin-left: -20px; +} +.nav-sidebar > li > a { + padding-right: 20px; + padding-left: 20px; +} +.nav-sidebar > .active > a, +.nav-sidebar > .active > a:hover, +.nav-sidebar > .active > a:focus { + color: #fff; + background-color: #428bca; +} + + +/* + * Main content + */ + +.main { + padding: 20px; +} +@media (min-width: 768px) { + .main { + padding-right: 40px; + padding-left: 40px; + } +} +.main .page-header { + margin-top: 0; +} + + +/* + * Placeholder dashboard ideas + */ + +.placeholders { + margin-bottom: 30px; + text-align: center; +} +.placeholders h4 { + margin-bottom: 0; +} +.placeholder { + margin-bottom: 20px; +} +.placeholder img { + display: inline-block; + border-radius: 50%; +} \ No newline at end of file diff --git a/adminforce/index.php b/adminforce/index.php index 6807f42e60305a0ce40d362ae6845d6fedb0ece9..4d1dbe7f81ec354ec33c1bae33e2402ae727fe87 100644 --- a/adminforce/index.php +++ b/adminforce/index.php @@ -57,6 +57,7 @@ if (!ini_get('display_errors')) { <meta name="Description" content="Verdien was Du willst"> <meta name="Robots" content="INDEX,FOLLOW"> <link href="../css/bootstrap.min.css" rel="stylesheet"> + <link href="css/dachboard.css" rel="stylesheet"> <link href="../js/multibox.css" rel="stylesheet" type="text/css" /> <script src="//cdn.ckeditor.com/4.4.7/full/ckeditor.js"></script> <script type="text/javascript" src="../js/mootools.js"></script> @@ -72,19 +73,19 @@ if (!ini_get('display_errors')) { <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> <nav class="navbar navbar-inverse navbar-fixed-top"> - <div class="container"> + <div class="container-fluid"> <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="true" aria-controls="navbar"> <span class="sr-only">Navigation ein-/ausblenden</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> - <a class="navbar-brand" href="#">Adminforce</a> + <a class="navbar-brand" href="<?php echo $domain.'/adminforce';?>">..:: Adminforce ::..</a> </div> <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <?php if(!isset($_SESSION['admin']) && $_SESSION['admin'] != 1){?> + <ul class="nav navbar-nav navbar-right"> + <?php if(!isset($_SESSION['admin']) && $_SESSION['admin'] != 1){?> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Login <span class="caret"></span></a> <ul class="dropdown-menu"> @@ -104,16 +105,19 @@ if (!ini_get('display_errors')) { </li> <?php } ?> </ul> - </div><!--/.nav-collapse --> + <form class="navbar-form navbar-right"> + <input type="text" class="form-control" placeholder="Suchen..."> + </form> + </div> </div> </nav> - <br><br><br><br> - <div class="container theme-showcase" role="main"> + + <div class="container-fluid"> <div class="row"> - <div class="col-md-3"> - <?php if($_SESSION['admin'] == 1) require_once('lib/menue_links.php');?> + <div class="col-sm-3 col-md-2 sidebar"> + <?php if($_SESSION['admin'] == 1) require_once('lib/menue_links.php');?> </div> - <div class="col-md-9"> + <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> <div class="jumbotron"> <?php if(!empty($meldung)){ diff --git a/install/mysql.txt b/install/mysql.txt index 2db0917aa686ee05b225989cb1eba9d3d32e8e29..1263b627ae839d41ed0a7aef971b5f9a3c46dbd9 100644 --- a/install/mysql.txt +++ b/install/mysql.txt @@ -16,11 +16,20 @@ CREATE TABLE IF NOT EXISTS `vms_bettel_buchung` ( `zeit` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -CREATE TABLE IF NOT EXISTS `vms_bilanz` ( - `date` int(10) NOT NULL, - `ein` double(15,2) NOT NULL, - `aus` double(15,2) NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1; +CREATE TABLE `vms_bilanz` ( + `id` int(11) NOT NULL, + `datum` int(11) NOT NULL, + `ein` double(100,2) NOT NULL, + `aus` double(100,2) NOT NULL, + `gruppe` text NOT NULL, + `name` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +ALTER TABLE `vms_bilanz` + ADD PRIMARY KEY (`id`); + +ALTER TABLE `vms_bilanz` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; CREATE TABLE IF NOT EXISTS `vms_box_admin` ( `id` int(11) NOT NULL, diff --git a/lib/functions.lib.php b/lib/functions.lib.php index c2ee76a79dea582739603a7ec6deb70584590629..63648e3829cdc5abad81fde1e09f57e3e1e2af7f 100644 --- a/lib/functions.lib.php +++ b/lib/functions.lib.php @@ -163,21 +163,30 @@ function rallysystem ($uid,$was,$anzahl) { /** * bilanz() * - * @author designerscripte.net + * @author vms1-scripte.de * @category system - * @version 2.5.0 - * @example bilanz(100,0); + * @example bilanz(100,0,Spiele,Slotname); * @param number $ein einnahme * @param number $aus ausgabe + * @param number $gruppe Die Gruppe in die die Bilanz fallen soll + * @param number $was Der Name der in der Gruppe angezeigt werden soll * @return keine */ -function bilanz ($ein, $aus) { +function bilanz ($ein,$aus,$gruppe,$name) { global $db_prefix,$sql_open; - $ein = round($ein, 2); - $aus = round($aus, 2); - $date_stamp = mktime(0, 0, 0, date("m"), date("d"), date("Y")); - mysqli_query($sql_open,'UPDATE ' . $db_prefix . '_bilanz SET ein=ein+"' . $ein . '", aus=aus+"' . $aus . '" WHERE date=' . $date_stamp . ' LIMIT 1'); - if (mysqli_affected_rows() == 0) db_query('INSERT INTO ' . $db_prefix . '_bilanz (ein,aus,date) VALUES ("' . $ein . '","' . $aus . '",' . $date_stamp . ')'); + if(empty($ein)){ $ein = 0;} + if(empty($aus)){ $aus = 0;} + + $datum = mktime(0,0,0,date("m",time()),date("d",time()),date("Y",time())); + + $ab = db_query("SELECT id FROM ". $db_prefix ."_bilanz WHERE datum = '". $datum ."' AND name = '". $name ."' "); + if(mysqli_num_rows($ab) == 0){ + db_query("INSERT INTO ". $db_prefix ."_bilanz (ein,aus,datum,gruppe,name) VALUES ('". $ein ."', '". $aus ."', '". $datum ."', '". $gruppe ."', '". $name ."') "); + }else{ + $id = mysqli_fetch_array($ab); + db_query("UPDATE ". $db_prefix ."_bilanz SET aus = aus+". $aus .", ein = ein+". $ein ." WHERE id = '". $id['id'] ."' "); + } + echo mysqli_error($sql_open); } diff --git a/topframe_forced.php b/topframe_forced.php index 912e2ac1322400a5e13792431eeb552459938248..54ad7d9a869b0a88a62d24f4c0960bc85754c2df 100644 --- a/topframe_forced.php +++ b/topframe_forced.php @@ -47,7 +47,7 @@ if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md kontobuchung ('+', $forced['verdienst'], create_code(14), $_SESSION['uid'], 1, 'Forcedbannerverdienst'); refumsatz ($forced['verdienst'], $_SESSION['uid']); rallysystem ($_SESSION['uid'], '1', $forced['verdienst']); - bilanz($forced['preis'], $forced['verdienst']); + bilanz($forced['preis'], $forced['verdienst'],'Werbebereich','Forcedbannerklick'); $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'] . "'"); diff --git a/topframe_text.php b/topframe_text.php index 2cc5787af9a8821c119fda500fe6fc9341644ae4..3c60b4c04aff0662179bf15ffde81bfe1c4a26a4 100644 --- a/topframe_text.php +++ b/topframe_text.php @@ -41,6 +41,7 @@ if ($_SESSION['uid'] >= 1) { kontobuchung ('+', $text['verdienst'], create_code(14), $_SESSION['uid'], 1, 'Textlinkklickverdienst'); refumsatz ($text['verdienst'],$_SESSION['uid']); aktivralley ($text['verdienst'],$_SESSION['uid']); +bilanz($text['preis'], $text['verdienst'],'Werbebereich','Textlinkklick'); klickralley (); $new_reload = time()+$text['reload']; db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_SESSION['uid']."','".$text['tan']."','".$new_reload."')");