<?php
/*
# Fuer debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
#echo __LINE__."<br>";
*/
session_start();
include_once 'classes/lg-on_Smarty.class.php';
$smarty = new lgon_Smarty();
require_once("config.inc.php");
require_once("func_rollenrechte.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "language/german.inc.php";


// Rechteüberprüfung
$db = dbconnect();
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
if(!rore($user_admin,'r_historie','RE')){require("lib/rechte.php");exit;}
// Rechteüberprüfung ende

if(isset($_GET['user'])){
  $user    = $_GET['user'];
}else{
  $user = $user_vaid;
}
if($user_vaid == $user){
 $eigen = 1;
}else{
 $eigen = 0;
}

$smarty->assign('historie_user', "$user");

// Datendefinition für die Clientausgabe
$start = (isset($_GET['start'])) ? abs((int)$_GET['start']) : 0;

$limit = 30;                     // Datensätze pro Ausgabeseite

// Feststellen der Anzahl der verfügbaren Datensätze.
$query    = "SELECT max(datum) as datorder, max(DATE_Format(datum, '%d.%m.%Y'))as datum, max(DATE_Format(datum, '%H:%i:%s')) AS zeit,art, art_id,'S' session
               FROM historie
              WHERE vaid='$user'
                AND session_id='$sid'
                AND art IN ('L','E','K')
              GROUP BY session_id, art_id
              UNION
             SELECT max(datum) as datorder, max(DATE_Format(datum, '%d.%m.%Y')) as datum, max(DATE_Format(datum, '%H:%i:%s')) AS zeit,art, art_id,'H' session
	       FROM historie
	      WHERE vaid='$user'
                AND session_id!='$sid'
                AND art IN ('L','E','K')
              GROUP BY session_id, art_id
              ORDER BY datorder DESC";
$resultID = $db->query( $query);

$total = $resultID->num_rows;

// Feststellen von Name und Vorname
$query_name    = "SELECT vorname, nachname
                    FROM admin
                   WHERE vaid=$user";
$result_name = $db->query( $query_name);
$row_name = $result_name->fetch_array();
$smarty->assign('historie_name', "$row_name[vorname] $row_name[nachname]");



// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)

if(isset($_GET['start'])){
  $start    = ($_GET['start'] >= $total) ? $total - $limit : $start;
}else{
  $start = 0;
}

  function kurzer_text($string,$laenge){ 
      $origin=strlen($string);
      $stri_arr=explode(" ",$string);
      $anzzahl=count($stri_arr);
      $gekuerzt=0;
      $string="";
      while($gekuerzt<$anzzahl){ 
          $string_alt=$string;
          $string=$string." ".$stri_arr[$gekuerzt];
          $gekuerzt++;
          if(strlen($string)>$laenge){ 
              $gekuerzt=$anzzahl; 
              $string=$string_alt;
          } 
      } 
      if($laenge<$origin){ 
          $string=$string."<nobr>&nbsp;<b>...</b></nobr>";
      } 
      return $string; 
  }

$sid = session_id();

$result_c1 = $db->query( "SELECT count(*) anz
                            FROM historie
                           WHERE vaid='$user'
                             AND session_id='$sid'
                             AND art IN ('L','E','K')
                           GROUP BY session_id, art_id");
$row_c1 = $result_c1->fetch_array();



// Datenbankabfrage ausführen.
$query    = "SELECT max(datum) as datorder, max(DATE_Format(datum, '%d.%m.%Y'))as datum, art, art_id,'S' session
               FROM historie
              WHERE vaid='$user'
                AND session_id='$sid'
                AND art IN ('L','E','K','KFA')
              GROUP BY session_id, art_id
              UNION
             SELECT max(datum) as datorder, max(DATE_Format(datum, '%d.%m.%Y')) as datum, art, art_id,'H' session
	       FROM historie
	      WHERE vaid='$user'
                AND session_id!='$sid'
                AND art IN ('L','E','K','KFA')
              GROUP BY session_id, art_id
              ORDER BY datorder DESC
              LIMIT ".$start.",".$limit;

$resultID = $db->query( $query);
// Ergebnisse lesen und an den Client ausgeben

while ($data = $resultID->fetch_array()){

              
  if($data['session'] =='S' and $session_count_s == 0){
    $session_titel_s = 1;
    $session_count_s =1;
  }else{
    $session_titel_s = 0;
  }
  
  if($data['session'] =='H' and $session_count_h == 0){
    $session_titel_h = 1;
    $session_count_h =1;
  }else{
    $session_titel_h = 0;
  }
  
  if($data['art'] =='L'){
    
    $result_l1 = $db->query( "SELECT lid, textstelle, ueberschrift, kid, ukid, inhalt,DATE_Format(datum, '%d.%m.%Y %h:%i:%s') datum, DATE_Format(datum, '%d') tag, DATE_Format(datum, '%m') monat, DATE_Format(datum, '%Y') jahr
                                FROM quelle
                               WHERE lid = '$data[art_id]'");
    $row_l1 = $result_l1->fetch_array();

    

    $wochentag = date("l", mktime(0,0,0,$row_l1['monat'],$row_l1['tag'],$row_l1['jahr']));
    
    switch($wochentag)
    {
      case 'Sunday':
          $wochentag = "So.";
          break;
      case 'Monday':
          $wochentag = "Mo.";
          break;
      case 'Tuesday':
          $wochentag = "Di.";
          break;
      case 'Wednesday':
          $wochentag = "Mi.";
          break;
      case 'Thursday':
          $wochentag = "Do.";
          break;
      case 'Friday':
          $wochentag = "Fr.";
          break;
      case 'Saturday':
          $wochentag = "Sa.";
          break;
    }
    $result_l2 = $db->query( "SELECT bezeichnung FROM kategorie WHERE kid='$row_l1[kid]'");
    $row_l2 = $result_l2->fetch_array();
      
    $result_l3 = $db->query( "SELECT bezeichnung FROM unterkategorie WHERE ukid='$row_l1[ukid]'");
    $row_l3 = $result_l3->fetch_array();

    
    $ueberschrift = $row_l1['ueberschrift'];
    $preview = kurzer_text(strip_tags($row_l1['inhalt']),100);
    $art = 'Leitgedanken';
    $link = 'ausgabe.php?lid='.$data['art_id'];
  }

  if($data['art'] =='E'){
    $result_e1 = $db->query( "SELECT eid, thema, ausfuehrung
                                FROM lue_quelle
                               WHERE eid = '$data[art_id]'");
    $row_e1 = $result_e1->fetch_array();
    
    $ueberschrift = $row_e1['thema'];
    $preview = kurzer_text(strip_tags($row_e1['ausfuehrung']),100);
    $art = 'Publikationen';
    $link = 'lue_ansicht.php?eid='.$data['art_id'];
  }
  
  if($data['art'] =='K'){
    $result_e1 = $db->query( "SELECT knk, ueberschrift, text
                                FROM knk
                               WHERE knkid= '$data[art_id]'");
    $row_e1 = $result_e1->fetch_array();
    
    $ueberschrift = $row_e1['ueberschrift'];
    $preview = kurzer_text(strip_tags($row_e1['text']),100);
    $kapitel = explode('.', $row_e1['knk']);
    $kap=$kapitel[0];
    $art = 'Katechismus';
    $link = "katechismus.php?katechismus_knk=$kap&katechismus_kapitel=$row_e1[knk]";
  }
  
  if($data['art'] =='KFA'){
    $result_e1 = $db->query( "SELECT number, question, answer, headline
                                FROM knk_fa
                               WHERE number= '$data[art_id]'");
    $row_e1 = $result_e1->fetch_array();
    
    $ueberschrift = $row_e1['number']." - ".$row_e1['question'];
    $preview = kurzer_text(strip_tags($row_e1['answer']),100);
    $art = 'Katechismus F&A';
    $link = "katechismus_fa.php?katechismus_knk=$row_e1[headline]&katechismus_kapitel=$row_e1[number]";
  }
   $data['zeit'] = substr($data['datorder'],11,8);
   $data['eigen'] = $eigen;
   $data['session_titel_s'] = $session_titel_s;
   $data['session_titel_h'] = $session_titel_h;
   $data['wochentag'] = $wochentag;
   $data['ueberschrift'] = $ueberschrift;
   $data['kategorie'] = $row_l2['bezeichnung'];
   $data['unterkategorie'] = $row_l3['bezeichnung'];
   $data['tag'] = $row_l1['tag'];
   $data['monat'] = $row_l1['monat'];
   $data['jahr'] = $row_l1['jahr'];
   $data['preview'] = $preview;
   $data['anz_cur'] = $row_c1['anz'];
   $data['art'] = $art;
   $data['link'] = $link;
   $value[] = $data;
}

// Assign this array to smarty...
$smarty->assign('table_data', $value);




$show = ceil($total/$limit);           //Seitenzahlen aufrunden
$last = floor($total/$limit)*$limit;   //Sprungziel zur letzten Seite BSP abrunden(1954/13)*13 ==> 150*13=1950 Sprungmarke auf Zeile 1950, 4 DS werden angezeigt
$akt = round((($start-$limit)/$limit+2),0);
$smarty->assign('login_log_currpage', "$akt");
$smarty->assign('login_log_pagecount', "$show");


// Zurück- und Vorblättern
if ($start > 0){
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit); // wenn $start-$limit kleiner 0 dann $newstart=0 sonst $start-$limit
  $smarty->assign('login_log_start0', "1");
  $smarty->assign('login_log_start_newstart', "$newStart");
}else{
   $smarty->assign('login_log_start0', "2");
}


if ($start + $limit < $total){
  $newStart = $start + $limit;
  $smarty->assign('login_log_end0', "1");
  $smarty->assign('login_log_end_newstart', "$newStart");
  $smarty->assign('login_log_end_last', "$last");
}else{
  $smarty->assign('login_log_end0', "2");
}

$smarty->display("$template/$templatename");
?>