assign('ueberschrift','Statistik'); if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ # Anzahl der Mitglieder $mitgliederzahlen = array(); $query = "SELECT COUNT(DISTINCT mitgliedid) as anz FROM ".DB_PREFIX."mitglieder_trainingsgruppen"; $_db->holeDaten($query); $mitgliederzahlen['trainingsgruppen'] = $_db->holeWert(); $query = "SELECT COUNT(DISTINCT mitgliedid) as anz FROM ".DB_PREFIX."mitglieder as m, ".DB_PREFIX."mitglieder_trainingsgruppen as mt WHERE m.id = mt.mitgliedid AND YEAR(NOW())-YEAR(m.gebdatum) < 18"; $_db->holeDaten($query); $mitgliederzahlen['trainingsgruppenunter18'] = $_db->holeWert(); $query = "SELECT COUNT(DISTINCT mitgliedid) as anz FROM ".DB_PREFIX."mitglieder as m, ".DB_PREFIX."mitglieder_trainingsgruppen as mt WHERE m.id = mt.mitgliedid AND YEAR(NOW())-YEAR(m.gebdatum) >= 18"; $_db->holeDaten($query); $mitgliederzahlen['trainingsgruppenueber18'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."mitglieder WHERE ausgetreten IS NULL"; $_db->holeDaten($query); $mitgliederzahlen['nichtausgetreten'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."mitglieder WHERE ausgetreten IS NULL AND YEAR(NOW())-YEAR(gebdatum) < 18"; $_db->holeDaten($query); $mitgliederzahlen['nichtausgetretenunter18'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."mitglieder WHERE ausgetreten IS NULL AND YEAR(NOW())-YEAR(gebdatum) >= 18"; $_db->holeDaten($query); $mitgliederzahlen['nichtausgetretenueber18'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."mitglieder WHERE ausgetreten IS NOT NULL"; $_db->holeDaten($query); $mitgliederzahlen['ausgetreten'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."kampfrichter as k, ".DB_PREFIX."mitglieder as m WHERE k.mitgliedid=m.id AND gueltigbis >= YEAR(NOW()) AND ausgetreten IS NULL"; $_db->holeDaten($query); $mitgliederzahlen['kampfrichter'] = $_db->holeWert(); $query = "SELECT COUNT(DISTINCT uebungsleiterid) as anz FROM ".DB_PREFIX."trainingsgruppen_uebungsleiter"; $_db->holeDaten($query); $mitgliederzahlen['uebungsleiter'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."uebungsleiter WHERE trainerbis IS NOT NULL"; $_db->holeDaten($query); $mitgliederzahlen['uebungsleitermitschein'] = $_db->holeWert(); $_tmpl->assign('mitgliederzahlen',$mitgliederzahlen); # Zeiten $zeitenzahlen = array(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."zeiten as z LEFT JOIN ".DB_PREFIX."staffeln_zeiten as sz ON z.id=sz.zeitid WHERE wettkampfid >= 8 AND (z.zeit IS NOT NULL OR sz.staffelid IS NOT NULL)"; $_db->holeDaten($query); $zeitenzahlen['echte'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."zeiten WHERE wettkampfid = 2"; $_db->holeDaten($query); $zeitenzahlen['interpoliertezeiten'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."zeiten WHERE wettkampfid = 3"; $_db->holeDaten($query); $zeitenzahlen['trainingszeiten'] = $_db->holeWert(); $query = "SELECT COUNT(DISTINCT z.id) as anz, CONCAT(nachname, ', ', vorname) as name FROM (".DB_PREFIX."zeiten as z LEFT JOIN ".DB_PREFIX."mitglieder as m ON z.mitgliedid = m.id) LEFT JOIN ".DB_PREFIX."mitglieder_trainingsgruppen as mt ON m.id = mt.mitgliedid WHERE z.wettkampfid >=5 AND z.zeit IS NOT NULL AND mt.mitgliedid IS NOT NULL GROUP BY mt.mitgliedid ORDER BY anz DESC"; $_db->holeDaten($query); $row = $_db->holeZeile(); $zeitenzahlen['maxzeitenpromitglied'] = $_db->holeAnzahl()>0?$row['anz'].' ('.$row['name'].')':'-'; $zeitentrainierender = 0; $anzahl = $_db->baueArray('anz', '#'); foreach($anzahl as $anz){ $zeitentrainierender += $anz; } $zeitenzahlen['zeitenpromitglied'] = $_db->holeAnzahl()==0?0:number_format($zeitentrainierender/count($anzahl),1,',',''); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."staffeln"; $_db->holeDaten($query); $zeitenzahlen['staffelnanzahl'] = $_db->holeWert(); $query = "SELECT COUNT(*) as anz FROM ".DB_PREFIX."staffeln_zeiten"; $_db->holeDaten($query); $zeitenzahlen['staffelnzeitenzahl'] = $_db->holeWert(); $_tmpl->assign('zeitenzahlen',$zeitenzahlen); # Auflistung der Tabellen $query = "SHOW TABLE STATUS"; $_db->holeDaten($query); $tabdaten = array(); $summe = array('zeilen'=>0,'groesse'=>0,'tabellenanzahl'=>0); $tabellen = $_db->baueArray('*', '#'); foreach($tabellen as $row){ if(substr($row['Name'],0,strlen(DB_PREFIX)) != DB_PREFIX){ continue; } $groesse = round(($row['Data_length']+$row['Index_length'])/1024,1); $tabdaten[] = array( 'name' => $row['Name'], 'zeilen' => $row['Rows'], 'aenderung' => preg_replace('~([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):[0-9]{2}~',"$3.$2.$1, $4:$5",$row['Update_time']), 'groesse' => number_format($groesse,1,',','') ); $summe['groesse'] += $groesse; $summe['tabellenanzahl']++; $summe['zeilen'] += $row['Rows']; } $summe['groesse'] = number_format($summe['groesse'],1,',',''); $_tmpl->assign('tabdaten',$tabdaten); $_tmpl->assign('tabsumme',$summe); # Speicherbedarf require_once('func/dateigroesse.inc.php'); $speicherbedarf = array(); $gesspeicher = 0; # Datenbank $tmp = str_replace(',','.',$summe['groesse'])*1024; $speicherbedarf['Datenbank'] = $tmp; $gesspeicher += $tmp; # ini-Dateien $speicherbedarf['ini-Dateien'] = 0; $dateien = glob(PFAD_INIDATEIEN.'*'); if(is_array($dateien) and count($dateien) > 0){ foreach($dateien as $datei){ $tmp = filesize($datei); $speicherbedarf['ini-Dateien'] += $tmp; $gesspeicher += $tmp; } } # bilder-Dateien $speicherbedarf['Bilder-Dateien'] = 0; $dateien = glob(PFAD_INCLUDE.'bilder_speicher/*'); if(is_array($dateien) and count($dateien) > 0){ foreach($dateien as $datei){ $tmp = filesize($datei); $speicherbedarf['Bilder-Dateien'] += $tmp; $gesspeicher += $tmp; } } # Sicherungen $speicherbedarf['Sicherungen'] = 0; $dateien = glob(PFAD_INCLUDE.'sicherung/*'); if(is_array($dateien) and count($dateien) > 0){ foreach($dateien as $datei){ $tmp = filesize($datei); $speicherbedarf['Sicherungen'] += $tmp; $gesspeicher += $tmp; } } # Dateien $speicherbedarf['Dateien'] = 0; $dateien = glob(PFAD_DATEIEN.'*'); if(is_array($dateien) and count($dateien) > 0){ foreach($dateien as $datei){ $tmp = filesize($datei); $speicherbedarf['Dateien'] += $tmp; $gesspeicher += $tmp; } } # tmp-Dateien $speicherbedarf['tmp-Dateien'] = 0; $dateien = glob(PFAD_TMP.'*'); if(is_array($dateien) and count($dateien) > 0){ foreach($dateien as $datei){ $tmp = filesize($datei); $speicherbedarf['tmp-Dateien'] += $tmp; $gesspeicher += $tmp; } } # Log-Dateien $speicherbedarf['Log-Dateien'] = 0; $dateien = glob(PFAD_LOGDATEIEN.'*'); if(is_array($dateien) and count($dateien) > 0){ foreach($dateien as $datei){ $tmp = filesize($datei); $speicherbedarf['Log-Dateien'] += $tmp; $gesspeicher += $tmp; } } $_tmpl->assign('gesspeicher',$gesspeicher); $_tmpl->assign('speicherbedarf',$speicherbedarf); # Anzahl der Vornamen $query = "SELECT vorname, COUNT(vorname) AS anz FROM ".DB_PREFIX."mitglieder WHERE mw = 'w' AND ausgetreten IS NULL GROUP BY vorname HAVING anz > 3 ORDER BY anz DESC, vorname"; $_db->holeDaten($query); $daten_w = $tmp = array(); $anz = $platz = $platzspeicher = 0; $erster = true; $vornamen_w = $_db->baueArray('*', '#'); foreach($vornamen_w as $row){ if($erster){ $anz = $row['anz']; $erster = false; } $platz++; if($anz != $row['anz']){ $daten_w[] = array( 'platz' => $platzspeicher==0?1:$platzspeicher, 'anz' => $anz, 'vorname' => implode('
',$tmp) ); $platzspeicher = $platz; $anz = $row['anz']; $tmp = array(); } $tmp[] = $row['vorname']; } $daten_w[] = array( 'platz' => $platzspeicher==0?1:$platzspeicher, 'anz' => $anz, 'vorname' => implode('
',$tmp) ); if(count($daten_w)<1 or $daten_w[0]['anz']>0){ $_tmpl->assign('mitgliedzahl_w',$daten_w); } $query = "SELECT vorname, COUNT(vorname) AS anz FROM ".DB_PREFIX."mitglieder WHERE mw = 'm' AND ausgetreten IS NULL GROUP BY vorname HAVING anz > 3 ORDER BY anz DESC, vorname"; $_db->holeDaten($query); $daten_m = $tmp = array(); $anz = $platz = $platzspeicher = 0; $erster = true; $vornamen_m = $_db->baueArray('*', '#'); foreach($vornamen_m as $row){ if($erster){ $anz = $row['anz']; $erster = false; } $platz++; if($anz != $row['anz']){ $daten_m[] = array( 'platz' => $platzspeicher==0?1:$platzspeicher, 'anz' => $anz, 'vorname' => implode('
',$tmp) ); $platzspeicher = $platz; $anz = $row['anz']; $tmp = array(); } $tmp[] = $row['vorname']; } $daten_m[] = array( 'platz' => $platzspeicher==0?1:$platzspeicher, 'anz' => $anz, 'vorname' => implode('
',$tmp) ); if(count($daten_m)<1 or $daten_m[0]['anz']>0){ $_tmpl->assign('mitgliedzahl_m',$daten_m); } # Ausgeben der Daten $_inh .= $_tmpl->fetch('tools/95.statistik.inc.html'); } # Ende Rechte-else, EOF ?>