<?
/***************************************************************/
/* */
/* TelDaBase */
/* ========= */
/* */
/* Copyright (C) 2004 Wolfgang Barthel */
/* */
/* http://www.teldabase.de */
/* hide@address.com */
/* */
/* see index.php and LICENSE */
/* */
/***************************************************************/
/***************************************************************/
/* statistik.php */
/* ============= */
/* Funktionen zum Tarifvergleich und andere Statistik */
/***************************************************************/
function tarifvergleich($link)
{
require("conf.php");
$query = "select EZV.rechnung_id, rech_mwst,
sum(ezv_nettogesamtbetrag) as summe from EZV, Rechnungen,
Telefonbuch where (EZV.rechnung_id=Rechnungen.rechnung_id) and
(EZV.telefonbuch_id = Telefonbuch.telefonbuch_id)
group by rechnung_id order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$kosten["aktuell"][$row["rechnung_id"]] = $row["summe"];
}
$query = "select EZV.rechnung_id, rech_mwst,
sum(ezv_nettogesamtbetrag) as summe from EZV, Rechnungen,
Telefonbuch
where (EZV.rechnung_id=Rechnungen.rechnung_id)
and (EZV.telefonbuch_id = Telefonbuch.telefonbuch_id)
and not
(tel_nummer not regexp '^0[01].*'
and tel_nummer not regexp '^0[89]00.*'
and ((dayofweek(ezv_datum) = 1) or (dayofweek(ezv_datum) = 7))
)
group by rechnung_id order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$kosten["xxl"][$row["rechnung_id"]] = $row["summe"];
}
$query = "select EZV.rechnung_id, rech_mwst,
sum(ezv_nettogesamtbetrag) as summe from EZV, Rechnungen,
Telefonbuch where (EZV.rechnung_id=Rechnungen.rechnung_id) and
(EZV.telefonbuch_id = Telefonbuch.telefonbuch_id)
and not
(tel_nummer not regexp '^0[01].*'
and tel_nummer not regexp '^0[89]00.*'
and (
((dayofweek(ezv_datum) = 1)
or (dayofweek(ezv_datum) = 7)
or (hour(ezv_datum) >= 18)
or (hour(ezv_datum) < 7))))
group by rechnung_id order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$kosten["xxl_freetime"][$row["rechnung_id"]] = $row["summe"];
}
$query = "select EZV.rechnung_id, rech_mwst,
sum(ezv_nettogesamtbetrag) as summe from EZV, Rechnungen,
Telefonbuch where (EZV.rechnung_id=Rechnungen.rechnung_id) and
(EZV.telefonbuch_id = Telefonbuch.telefonbuch_id)
and not
(
(tel_nummer regexp '^[2-9].*'
or tel_nummer regexp '^" . $conf["vorwahl"] . "[2-9].*')
or
(
tel_nummer not regexp '^0[01].*'
and tel_nummer not regexp '^0[89]00.*'
and (
((dayofweek(ezv_datum) = 1)
or (dayofweek(ezv_datum) = 7)
or (hour(ezv_datum) >= 18)
or (hour(ezv_datum) < 7))))
)
group by rechnung_id order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$kosten["xxl_local_freetime"][$row["rechnung_id"]] = $row["summe"];
}
$query = "select EZV.rechnung_id, rech_mwst,
sum(ezv_nettogesamtbetrag) as summe from EZV, Rechnungen,
Telefonbuch where (EZV.rechnung_id=Rechnungen.rechnung_id) and
(EZV.telefonbuch_id = Telefonbuch.telefonbuch_id)
and not
(
(tel_nummer regexp '^[2-9].*')
or
(
tel_nummer not regexp '^0[01].*'
and tel_nummer not regexp '^0[89]00.*'
))
group by rechnung_id order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$kosten["xxl_flat"][$row["rechnung_id"]] = $row["summe"];
}
$query = "select EZV.rechnung_id, rech_mwst,
sum(ezv_nettogesamtbetrag) as summe from EZV, Rechnungen,
Telefonbuch where (EZV.rechnung_id=Rechnungen.rechnung_id) and
(EZV.telefonbuch_id = Telefonbuch.telefonbuch_id)
and not
(tel_nummer regexp '^[2-9].*'
or tel_nummer regexp '^" . $conf["vorwahl"] . "[2-9].*')
group by rechnung_id order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$kosten["xxl_local"][$row["rechnung_id"]] = $row["summe"];
}
$query = "select rechnung_id,
date_format(rech_datum,\"%d.%m.%Y\") as rech_date,
rech_mwst
from Rechnungen order by rech_datum desc" ;
$result = mysql_query($query, $link)
or die ("Query |$query| failed:" . mysql_error());
if(mysql_numrows($result) == 0)
{
echo("Es wurden noch keine gebührenpflichtigen Gespräche
geführt.")
;
return;
}
?>
<p>
Die Tabelle gibt einen Überblick, ob sich ein Wechsel in einen anderen Tarif lohnt.<br />
Dazu werden die Gesprächskosten der vergangenen Monate neu berechnet, die sich ergeben hätten, wenn damals ein anderer Tarif gewählt worden wäre.
<br />
Angegeben sind die theoretischen monatlichen Gesprächskosten (ohne Grundgebühr), alle Angaben sind ohne Gewähr und geben nur einen Anhaltspunkt, da sich z.B. das Gesprächsverhalten in künftigen Monaten ändern kann. Außerdem sind bei allen Telekom-Pauschaltarifen Datenverbindungen grundsätzlich ausgenommen.
</p>
<table class="tblborder">
<tr>
<th>Rechnung vom</th>
<th>Kosten momentan</th>
<th>Kosten mit XXL-Weekend</th>
<th>Kosten mit XXL-Freetime</th>
<th>Kosten mit XXL-Local</th>
<th>Kosten mit XXL-Freetime+Local</th>
<th>Kosten mit Festnetz-Flatrate</th>
</tr>
<?
while($row = mysql_fetch_assoc($result))
{
echo("<tr>
<td>". $row["rech_date"]. "</td>
<td align=\"right\">"
. number_format(
$kosten["aktuell"][$row["rechnung_id"]] * $row["rech_mwst"]
/ 1000000, 2,",","") ." €</td>
<td align=\"right\">"
. number_format(
$kosten["xxl"][$row["rechnung_id"]] * $row["rech_mwst"]
/ 1000000, 2,",","") ." €</td>
<td align=\"right\">"
. number_format(
$kosten["xxl_freetime"][$row["rechnung_id"]] * $row["rech_mwst"]
/ 1000000, 2,",","") ." €</td>
<td align=\"right\">"
. number_format(
$kosten["xxl_local"][$row["rechnung_id"]] * $row["rech_mwst"]
/ 1000000, 2,",","") ." €</td>
<td align=\"right\">"
. number_format(
$kosten["xxl_local_freetime"][$row["rechnung_id"]] * $row["rech_mwst"]
/ 1000000, 2,",","") ." €</td>
<td align=\"right\">"
. number_format(
$kosten["xxl_flat"][$row["rechnung_id"]] * $row["rech_mwst"]
/ 1000000, 2,",","") ." €</td>
</tr>");
}
echo("</table>\n");
}
function statistik_menu($rechnungsid)
{
/**
* * Check if a file exists in the include path
* *
* * @version 1.2.0
* * @author Aidan Lister <hide@address.com>
* * @param string $file Name of the file to look for
* * @return bool TRUE if the file exists, FALSE if it does not
* */
function file_exists_incpath ($file)
{
$paths = explode(PATH_SEPARATOR, get_include_path());
foreach ($paths as $path) {
// Formulate the absolute path
$fullpath = $path . DIRECTORY_SEPARATOR . $file;
// Check it
if (file_exists($fullpath)) {
return true;
}
}
return false;
}
print("<ul>");
if(file_exists_incpath("Image/Graph"))
{
?>
<li><a href="<?= $_SERVER["PHP_SELF"]
?>?aktmenu=Statistik&aktion=Monatsvergleich&rechnungsid=<?= $rechnungsid
?>">Entwicklung der monatlichen Kosten</a></li>
<li><a href="<?= $_SERVER["PHP_SELF"]
?>?aktmenu=Statistik&aktion=Bewohnervergleich&rechnungsid=<?=
$rechnungsid
?>">Verteilung der Kosten</a></li>
<?
}
else
{
?>
<li><a href="<?= $_SERVER["PHP_SELF"]
?>?aktmenu=Statistik&aktion=Monatsvergleich&version=alt">Entwicklung der monatlichen Kosten</a><br /> Installieren Sie das PEAR-Module Image/Graph, um bessere Statistikfunktionen zu nutzen (siehe INSTALL)</li>
<?
}
?>
<li><a href="<?= $_SERVER["PHP_SELF"]
?>?aktmenu=Statistik&aktion=Tarifvergleich&rechnungsid=<?= $rechnungsid
?>">Tarifvergleich - lohnt sich der Wechsel z.B. zum XXL-Tarif</a></li>
</ul>
<?
}
?>