'$leastbirthday'
AND geburtsdatum < '$mostbirthday'
AND $changefield < $now ORDER BY $changefield ASC";
} else {
$query = "SELECT * FROM users WHERE status = 0
AND geburtsdatum <= '$leastbirthday'
AND $changefield < $now ORDER BY $changefield ASC";
}
if ($gesamtexport == 1)
{
if ($u18) {
$query = "SELECT * FROM users WHERE
geburtsdatum > '$leastbirthday'
$changefield < $now ORDER BY $changefield ASC";
} else {
$query = "SELECT * FROM users WHERE
geburtsdatum <= '$leastbirthday'
$changefield < $now ORDER BY $changefield ASC";
}
}
if ($from or $end) {
print "Start: $from\nEnd: $end\nNow: $now\n";
if ($u18) {
$query = "SELECT * FROM users WHERE
geburtsdatum > '$leastbirthday'
AND $changefield < $end
AND $changefield > $from
ORDER BY $changefield ASC";
} else {
$query = "SELECT * FROM users WHERE
geburtsdatum <= '$leastbirthday'
AND $changefield < $end
AND $changefield > $from
ORDER BY $changefield ASC";
}
# $query = "SELECT * FROM users WHERE
# $changefield < $end
# AND $changefield > $from
# ORDER BY $changefield ASC";
print $query . "\n";
}
print "Query: $query
\n";
$result = mysql_query($query) or
error("Konnte csv-Daten nicht aus der Datenbank holen: " . mysql_error());
$numRows = mysql_num_rows($result);
if ($u18) {
$filename = "$exportpath/U18$mydate"."_healthmiles.csv.xls";
} else {
$filename = "$exportpath/$mydate"."_healthmiles.csv.xls";
}
print "Schreibe in $filename\n";
$fileout = fopen($filename,"w+") or
die ("Kann $filename nicht oeffnen.\n");
$fields = array('anrede','titel','name','vorname','strasse','hausnummer','plz','ort',
'email','versnummer','erstellungsdatum','aenderungsdatum','ersteller');
$first = true;
$line = '';
foreach ($fields as $field) {
if ($first) { $first = false; } else { $line .= ";"; }
$line .='"' . $field . '"';
}
$line .= "\n";
if (!fputs($fileout, $line, strlen($line))) error("Konnte nicht schreiben");
fflush($fileout);
while ($row = mysql_fetch_array($result))
{
$first = 1;
$line = "";
foreach ($fields as $field)
{
$$field = unescape($row[$field]);
if ($field == 'ersteller') {
if ($$field == 0) { $ersteller = "Internet"; } else {
$subquery = "SELECT name FROM admins WHERE userId = " . $$field;
$subresult = mysql_query($subquery) or
error ("Konnte Ersteller nicht aus der Datenbank holen: " . mysql_error() . ", Query: $subquery" .
"Datenexport abgebrochen. Bitte melden sie sich beim Administrator ($adminTel).");
$myrow = mysql_fetch_array($subresult);
$ersteller = $myrow['name'];
}
}
if ($field == 'erstellungsdatum') { $erstellungsdatum = date('d.m.Y G:i:s', $erstellungsdatum); }
if ($field == 'aenderungsdatum') { $aenderungsdatum = date('d.m.Y G:i:s', $aenderungsdatum); }
if ($first == 1) { $first = 0; } else { $line.=";"; }
$line .= '"' . $$field . '"';
}
$line .= "\n";
if (!fputs($fileout, $line, strlen($line))) error("Konnte nicht schreiben");
fflush($fileout);
}
fclose($fileout);
if ($u18) {
$query = "UPDATE users SET status = 1 WHERE status = 0
AND geburtsdatum > '$leastbirthday'
AND geburtsdatum < '$mostbirthday'
AND $changefield < $now";
} else {
$query = "UPDATE users SET status = 1 WHERE status = 0
AND geburtsdatum <= '$leastbirthday'
AND $changefield < $now";
}
if (!($from && $end)) {
$result = mysql_query($query) or error("Konnte Export-Status nicht setzen " . mysql_error());
}
$query = "UNLOCK TABLES";
$result = mysql_query($query) or
error("Konnte Tabelle users nicht unlocken: " . mysql_error());
}
function exportCSVselected($users, $filesuffix='datenexport')
{
global $exportpath;
$now = time();
$mydate = date('Y-m-d', $now);
$filename = "extended/$mydate" . "_$filesuffix.xls";
$fields = array('anrede','titel','name','vorname','strasse','hausnummer','plz','ort',
'email','versnummer','erstellungsdatum','aenderungsdatum','ersteller');
$data = Array();
/* print data */
foreach ($users as $myUser)
{
$row = Array();
$user = new user('',$myUser);
$first = 1;
$line = "";
foreach ($fields as $field)
{
$$field = $user->$field;
if ($field == 'ersteller') {
if ($$field == 0) { $ersteller = "Internet"; } else {
$subquery = "SELECT name FROM admins WHERE userId = " . $$field;
$subresult = mysql_query($subquery) or
error ("Konnte Ersteller nicht aus der Datenbank holen: " . mysql_error() . ", Query: $subquery");
$myrow = mysql_fetch_array($subresult);
$ersteller = $myrow['name'];
}
}
if ($field == 'erstellungsdatum') { $erstellungsdatum = date('d.m.Y G:i:s', $erstellungsdatum); }
if ($field == 'aenderungsdatum') { $aenderungsdatum = date('d.m.Y G:i:s', $aenderungsdatum); }
array_push($row, $$field);
}
array_push($data, $row);
}
$spreadsheet = new Excelexport("$exportpath/" . $filename,$filesuffix,$fields,$data);
$spreadsheet->create();
return($filename);
}
function exportdoublettes() {
$doublettes = checkdoublettes();
$users = array();
foreach ($doublettes as $row) {
$userId = $row['userId'];
array_push($users, $userId);
}
$filename = exportCSVselected($users, 'doubletten');
return $filename;
}
function getLastExport($u18=false)
{
$query = "SELECT timestamp FROM userlogs WHERE aktion = 'datenexport" . ($u18?'U18':'') . "' order by timestamp DESC";
$result = mysql_query($query) or
error("Konnte csv-Daten nicht aus der Datenbank holen: " . mysql_error());
$row = mysql_fetch_array($result);
$lastexport = date('d.m.Y G:i:s', $row['timestamp']);
return $lastexport;
}
function exportCSVU18($gesamtexport=0,$u18=false)
{
global $exportpath;
$now = 1247608800; # 2009-07-15: Stichtag Start U18
$year = date('Y',$now);
$month = date('m',$now);
$day = date('d',$now);
$leastbirthday = ($year - 18) . "-" . $month . "-" . $day;
$mostbirthday = ($year - 0) . "-" . $month . "-" . $day;
$mydate = date('YmdHi', $now);
$query = "LOCK TABLES users WRITE, admins READ";
$result = mysql_query($query) or
error("Konnte Tabelle users nicht locken: " . mysql_error());
if ($u18) {
$query = "SELECT * FROM users WHERE geburtsdatum >= '$leastbirthday' AND status = 1
AND geburtsdatum < '$mostbirthday'
AND aenderungsdatum < $now ORDER BY aenderungsdatum ASC";
} else {
$query = "SELECT * FROM users WHERE status = 0
AND geburtsdatum <= '$leastbirthday'
AND aenderungsdatum < $now ORDER BY aenderungsdatum ASC";
}
if ($gesamtexport == 1)
{
if ($u18) {
$query = "SELECT * FROM users WHERE
geburtsdatum > '$leastbirthday'
aenderungsdatum < $now ORDER BY aenderungsdatum ASC";
} else {
$query = "SELECT * FROM users WHERE
geburtsdatum <= '$leastbirthday'
aenderungsdatum < $now ORDER BY aenderungsdatum ASC";
}
}
print "Query: $query
\n";
$result = mysql_query($query) or
error("Konnte csv-Daten nicht aus der Datenbank holen: " . mysql_error());
$numRows = mysql_num_rows($result);
if ($u18) {
$filename = "$exportpath/U18$mydate"."_healthmiles.csv.xls";
} else {
$filename = "$exportpath/$mydate"."_healthmiles.csv.xls";
}
$fileout = fopen($filename,"w+") or
die ("Kann $filename nicht oeffnen.\n");
print "Filename: $filename
\n";
$fields = array('anrede','titel','name','vorname','strasse','hausnummer','plz','ort',
'email','versnummer','erstellungsdatum','aenderungsdatum','ersteller');
$first = true;
$line = '';
foreach ($fields as $field) {
if ($first) { $first = false; } else { $line .= ";"; }
$line .='"' . $field . '"';
}
$line .= "\n";
if (!fputs($fileout, $line, strlen($line))) error("Konnte nicht schreiben");
fflush($fileout);
while ($row = mysql_fetch_array($result))
{
$first = 1;
$line = "";
foreach ($fields as $field)
{
$$field = unescape($row[$field]);
if ($field == 'ersteller') {
if ($$field == 0) { $ersteller = "Internet"; } else {
$subquery = "SELECT name FROM admins WHERE userId = " . $$field;
$subresult = mysql_query($subquery) or
error ("Konnte Ersteller nicht aus der Datenbank holen: " . mysql_error() . ", Query: $subquery" .
"Datenexport abgebrochen. Bitte melden sie sich beim Administrator ($adminTel).");
$myrow = mysql_fetch_array($subresult);
$ersteller = $myrow['name'];
}
}
if ($field == 'erstellungsdatum') { $erstellungsdatum = date('d.m.Y G:i:s', $erstellungsdatum); }
if ($field == 'aenderungsdatum') { $aenderungsdatum = date('d.m.Y G:i:s', $aenderungsdatum); }
if ($first == 1) { $first = 0; } else { $line.=";"; }
$line .= '"' . $$field . '"';
}
$line .= "\n";
if (!fputs($fileout, $line, strlen($line))) error("Konnte nicht schreiben");
fflush($fileout);
}
fclose($fileout);
if ($u18) {
$query = "UPDATE users SET status = 1 WHERE status = 0
AND geburtsdatum >= '$leastbirthday'
AND geburtsdatum < '$mostbirthday'
AND aenderungsdatum < $now";
} else {
$query = "UPDATE users SET status = 1 WHERE status = 0
AND geburtsdatum <= '$leastbirthday'
AND aenderungsdatum < $now";
}
$result = mysql_query($query) or error("Konnte Export-Status nicht setzen " . mysql_error());
$query = "UNLOCK TABLES";
$result = mysql_query($query) or
error("Konnte Tabelle users nicht unlocken: " . mysql_error());
}
function dbEscapeString($string)
{
global $dbhandle;
return mysql_real_escape_string($string);
}
function dbQuery($query)
{
$result = mysql_query( $query)
or error('Cannot commit query: ' . $query);
return $result;
}
function dbNumRows($result)
{
return mysql_num_rows($result);
}
function dbFetchRow($result)
{
return mysql_fetch_array($result,MYSQL_ASSOC);
}
function dbError()
{
return mysql_error();
}
function dbFreeResult($result)
{
return;
$response = null;
if ($result) {
$response = mysql_free_result($result);
}
return $result;
}