285 lines
8.9 KiB
PHP
285 lines
8.9 KiB
PHP
<?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> <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");
|
|
?>
|