Monatweise zahlung leicht gemacht:
beitraege.php:
<?php
defined ('main') or die ( 'no direct access' );
defined ('admin') or die ( 'only admin access' );
if (isset($_POST['buch'])) {
$uid = escape($_POST['uid'], 'integer');
$name = escape($_POST['name'], 'string');
$zyklus= escape($_POST['zyklus'], 'integer');
$betrag = str_replace(',','.',$_POST['wert']);
#$betrag = $betrag * $zyklus;
$day = escape($_POST['day'], 'integer');
$month= escape($_POST['month'], 'integer');
$jear= escape($_POST['jear'], 'integer');
$datum=$jear.'-'.$month.'-'.$day;
$date=mktime(0, 0, 0, $month , $day, $jear);
$payedto=mktime(0, 0, 0, $month + $zyklus , $day, $jear);
$payedto=date("d.m.Y",$payedto);
$verwendung = 'Mitgliederbeitrag von '.$name.' bis '.$payedto;
if (!is_numeric($betrag)) {
echo 'der Betrag is keine Nummer?.. !!';
} else {
db_query("INSERT INTO prefix_kasse_beitraege VALUES (".$uid.",".$betrag.",".$zyklus.",'".$date."')");
db_query("INSERT INTO prefix_kasse (datum,name,verwendung,betrag) VALUES ('".$datum."','".$name."','".$verwendung."',".$betrag.")");
echo 'Buchung wurde gespeichert ... ';
}
}
if (isset($_POST['change'])) {
$uid = escape($_POST['uid'], 'integer');
$kid = escape($_POST['kid'], 'integer');
$name = escape($_POST['name'], 'string');
$zyklus= escape($_POST['zyklus'], 'integer');
$betrag = str_replace(',','.',$_POST['wert']);
#$betrag = $betrag * $zyklus;
$day = escape($_POST['day'], 'integer');
$month= escape($_POST['month'], 'integer');
$jear= escape($_POST['jear'], 'integer');
$datum=$jear.'-'.$month.'-'.$day;
$date=mktime(0, 0, 0, $month , $day, $jear);
$payedto=mktime(0, 0, 0, $month + $zyklus , $day, $jear);
$payedto=date("d.m.Y",$payedto);
$verwendung = 'Mitgliederbeitrag von '.$name.' bis '.$payedto;
if (!is_numeric($betrag)) {
echo 'der Betrag is keine Nummer?.. !!';
} else {
if (db_query("UPDATE `prefix_kasse` SET name = '$name', datum = '$datum', betrag = '$betrag', verwendung = '$verwendung' WHERE id = ".$kid)){
db_query("UPDATE prefix_kasse_beitraege SET wert=".$betrag.", zyklus=".$zyklus.", date='".$date."' WHERE uid=".$uid);
echo 'Buchung wurde geändert ... ';
} else {
echo 'Es ist ein Fehler aufgetreten, Buchung nicht geändert';
}
$menu->set_url(1,'');
}
}
if (isset($_POST['delete'])) {
$uid = escape($_POST['uid'], 'integer');
$kid = escape($_POST['kid'], 'integer');
if (db_query("DELETE FROM `prefix_kasse` WHERE id = ".$kid)){
db_query("DELETE FROM prefix_kasse_beitraege WHERE uid=".$uid);
echo 'Buchung wurde gelöscht ... ';
} else {
echo 'Es ist ein Fehler aufgetreten, Buchung nicht gelöscht';
}
$menu->set_url(1,'');
}
$tpl = new tpl ('kasse/beitraege', 1);
$tpl->out(0);
$class='Cnorm';
$limit = 15; // Limit
$page = ($menu->getA(2) == 'p' ? $menu->getE(2) : 1 );
$MPL = db_make_sites ($page , '' , $limit , "?kasse-beitraege" , 'user' );
$anfang = ($page - 1) * $limit;
$erg=db_query("SELECT a.id,a.name,b.wert,b.zyklus,b.date FROM prefix_user as a LEFT JOIN `prefix_kasse_beitraege` as b ON b.uid=a.id ORDER BY a.recht ASC LIMIT ".$anfang.",".$limit);
while($row=db_fetch_assoc($erg)){
$class=($class=='Cmite'?'Cnorm':'Cmite');
$row['class']=$class;
$row['zyklus']=(empty($row['zyklus'])?1:$row['zyklus']);
$row['eins']=($row['zyklus']==1?'checked':'');
$row['zwei']=($row['zyklus']==2?'checked':'');
$row['drei']=($row['zyklus']==3?'checked':'');
$row['vier']=($row['zyklus']==4?'checked':'');
$row['fuenf']=($row['zyklus']==5?'checked':'');
$row['sechs']=($row['zyklus']==6?'checked':'');
$row['sieben']=($row['zyklus']==7?'checked':'');
$row['acht']=($row['zyklus']==8?'checked':'');
$row['neun']=($row['zyklus']==9?'checked':'');
$row['zehn']=($row['zyklus']==10?'checked':'');
$row['elf']=($row['zyklus']==11?'checked':'');
$row['zwoelf']=($row['zyklus']==12?'checked':'');
if(empty($row['date'])){
$row['day']=date('d');
$row['month']=date('m');
$row['jear']=date('Y');
$payedto= mktime(0, 0, 0, date ("m")+$row['zyklus'] , date ("d"), date("Y"));
$row['payedto']=date('d.m.Y',$payedto);
$row['button']='<input type="Submit" name="buch" value="Buchen">';
$row['color']='#7F7F7F';
$row['kid']='';
$row['button2']='';
} else{
$row['day']=date('d',$row['date']);
$row['month']=date('m',$row['date']);
$row['jear']=date('Y',$row['date']);
$payedto= mktime(0, 0, 0, date ("m",$row['date'])+$row['zyklus'] , date ("d",$row['date']), date("Y",$row['date']));
$warn= mktime(0, 0, 0, date ("m") , date ("d")+7, date("Y"));
$row['payedto']=date('d.m.Y',$payedto);
$date=date('Y-m-d',$row['date']);
$row['kid']=@db_result(db_query("SELECT id FROM prefix_kasse WHERE name LIKE '".$row['name']."' AND betrag='".$row['wert']."' AND datum='".$date."' AND verwendung LIKE '%Mitgliederbeitrag%'"),0);
if($payedto<time()){
$row['button']='<input type="Submit" name="buch" value="Buchen">';
$row['color']='#BF0000';
} elseif($payedto>time() AND $payedto<=$warn){
$row['button']='<input type="Submit" name="change" value="Ändern">';
$row['color']='#FF7F00';
} else{
$row['button']='<input type="Submit" name="change" value="Ändern">';
$row['color']='#007F00';
}
$row['button2']='<input type="Submit" name="delete" value="Löschen">';
}
$tpl->set_ar_out($row,1);
}
unset($row);
$tpl->set_out('MPL',$MPL,2);
?>
beitraege.htm :
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><img src="include/images/icons/admin/kasse.png" /></td>
<td width="30"></td><td valign="bottom"><h1>Mitgliederbeiträge</h1></td>
</tr>
</table>
<table cellpadding="2" cellspacing="1" border="0" class="border">
<tr class="Chead">
<th>Name</th>
<th>Betrag</th>
<th colspan="12">Zyklus</th>
<th>Bezahlt am</th>
<th>Bezahlt bis</th>
<th></th>
<th></th>
</tr><tr class="Chead">
<th></th>
<th></th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
{EXPLODE}
<form action="admin.php?kasse-beitraege" method="POST">
<input type="hidden" name="uid" value="{id}">
<input type="hidden" name="name" value="{name}">
<input type="hidden" name="kid" value="{kid}">
<tr class="{class}">
<td>{name}</td>
<td><input type="Text" name="wert" value="{wert}" size="4"></td>
<td><input type="Radio" name="zyklus" value="1" {eins}></td>
<td><input type="Radio" name="zyklus" value="2" {zwei}></td>
<td><input type="Radio" name="zyklus" value="3" {drei}></td>
<td><input type="Radio" name="zyklus" value="4" {vier}></td>
<td><input type="Radio" name="zyklus" value="5" {fuenf}></td>
<td><input type="Radio" name="zyklus" value="6" {sechs}></td>
<td><input type="Radio" name="zyklus" value="7" {sieben}></td>
<td><input type="Radio" name="zyklus" value="8" {acht}></td>
<td><input type="Radio" name="zyklus" value="9" {neun}></td>
<td><input type="Radio" name="zyklus" value="10" {zehn}></td>
<td><input type="Radio" name="zyklus" value="11" {elf}></td>
<td><input type="Radio" name="zyklus" value="12" {zwoelf}></td>
<td><input type="Text" name="day" value="{day}" size="2" maxlength="2">.<input type="Text" name="month" value="{month}" size="2" maxlength="2">.<input type="Text" name="jear" value="{jear}" size="4" maxlength="4"></td>
<td bgcolor="{color}">{payedto}</td>
<td>{button}</td>
<td>{button2}</td>
</tr>
</form>
{EXPLODE}
</table>
{MPL}
<br/><br/>
<div class="info_box">
Es kann immer nur ein Member Gebucht bzw. Geändert werden.
Bei einer Buchung wird automatich mit dem eingegebenen Datum
eine Buchung in der Kasse angelegt.
</div>