<?
// Datei utility_funktionen.php

// fuer korrekte Darstellung von Sonderzeichen 
header("Content-Type: text/html; charset=ISO-8859-1");

// Definition von Konstanten
define("OK",0);
define("ERR",-1);

// Entschluesselung fuer POST-Daten
function my_decode($str)
{
   $str=base64_decode(urldecode($str));
   return $str;
}

// Datenbankabfrage komplett
function my_db_query($sql,&$res)
{
  include("../sec/data.php");

   //Verbindung zum Datenbankserver aufbauen 
   $con=mysqli_connect("localhost",$hk_db,$hk_pw,"leiserberge_at");
   if (!$con)
   {
      echo ("Verbindung zu DB-Server/Datenbank kann nicht hergestellt werden: ".mysqli_connect_error()."<br>");
      return ERR;
   }

   mysqli_set_charset($con,"utf8");

   //Datenbankabfrage durchfueren
   $res=mysqli_query($con,$sql);
   if (!$res)
   {
      echo("<b>Datenbankfehler: </b>".mysqli_error($con));
      return ERR;
   }

   // Verbindung zur Datenbank beenden
   mysqli_close($con);

   return OK;
}

// Datum und Uhrzeit ermitteln
function my_get_date_time()
{
$zeit = time();
$datum = getdate($zeit);

$new_date_login = $datum["year"];
if ($datum["mon"] < 10) $new_date_login .= "0".$datum["mon"];
else $new_date_login .= $datum["mon"];

if ($datum["mday"] < 10) $new_date_login .= "0".$datum["mday"];
else $new_date_login .= $datum["mday"];

if ($datum["hours"] < 10) $new_date_login .= "0".$datum["hours"];
else $new_date_login .= $datum["hours"];

if ($datum["minutes"] < 10) $new_date_login .= "0".$datum["minutes"];
else $new_date_login .= $datum["minutes"];

if ($datum["seconds"] < 10) $new_date_login .= "0".$datum["seconds"];
else $new_date_login .= $datum["seconds"];

return $new_date_login;
}

// Datum und Uhrzeit als Text zusammenbauen
function my_text_datetime($datetime)
{
   if (strlen($datetime) == 0) 
   {
      $ergebnis="---";
      return $ergebnis;
   }

   $year = substr($datetime, 0, 4);
   $month = substr($datetime, 4, 2); 
   $day = substr($datetime, 6, 2);  
   $hours = substr($datetime, 8, 2);
   $minutes = substr($datetime, 10, 2);
   // seconds not used

   $ergebnis="Datum: $day.$month.$year - Uhrzeit: $hours:$minutes";
 
   return $ergebnis;
}

function my_mysqli_result($res,$crow,$field)
{
    // Array definieren
    $feldname=array();
    
    // Anzahl der Zeilen/Datensätze der SQL-Abfrage ermitteln
    $num_lines = mysqli_num_rows($res);
       
    if ($num_lines < 1)
    {
        // es gibt keine Datensätze zum Anzeigen
        return false;
    }

    // alle Namen der Tabellenfelder/Tabellenspalten im Array $feldname speichern
    for ($i=0;$feldinfo=mysqli_fetch_field($res);$i++)
    {
        $feldname[$i]=$feldinfo->name;
    }

    // den Ergebniszeiger der SQL-Abfrage wieder zur ersten Tabellenspalte rücksetzen
    mysqli_field_seek($res,0);    
    
    // die gewünschte Zeile d.h. den gewünschten Datensatz suchen
    for ($i=0; $row = mysqli_fetch_row($res); $i++)
    {
        if ($i == $crow) // wenn der gewünschte Datensatz gefunden ist
        {
            // Anzahl der Spalte ermitteln
            $anz_spalten=count($row);
    
            // die gewünschte Spalte d.h. das gewünschte Tabellenfeld suchen
            for ($j=0; $j<$anz_spalten;$j++)
            {
                if ($feldname[$j] == $field) // das gewünschte Tabellenfeld ist gefunden
                {
                    // den Ergebniszeiger der SQL-Abfrage wieder zum ersten Datensatz rücksetzen
                    mysqli_data_seek($res,0);
                    
                    // die Daten im Datensatz sind in derselben Reihenfolge wie 
                    // die Namen der zuvor ermittelten Tabellenfelder. Daher kann 
                    // der Wert des gewünschten Tabellenfeldes zurückgeliefert werden
                    return $row[$j];
                }
            }
        }
    }

    // den Ergebniszeiger der SQL-Abfrage wieder zum ersten Datensatz rücksetzen
    mysqli_data_seek($res,0);
    
    // das gewünschte Tabellenfeld wurde nicht gefunden
    return false;
}

?>