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
?>