Commit 8a9ae201 authored by Lithilion's avatar Lithilion

beta

parents
An den Admin.
Dies ist die Betaversion.
Heißt: User und Verwaltungsoberfläche, aber nur eine äußerst spärliche Adminoberfläche.
(Jaja, kommt noch, keine Sorge)
Deine Aufgabe:
Trag bitte die Daten (Host, User, Passwort und Datenbank) in die mysqli/password/password.php ein. Dann müsstest du noch die simpleVerein.sql in die Datenbank einspielen. Diese Datei enthält die Tabellenstrukturen und einige Beispieldaten. Wichtig ist es dass du dich in der Tabelle einstellungen umschaust.
Danach müsste das CMS schon funktionieren. Viel Spaß!
Wichtige Dateien:
mysqli/password/password.php
simpleVerein.sql
Wichtige Tabelle:
einstellungen
\ No newline at end of file
This diff is collapsed.
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
ErrorDocument 404 /fehlerausgabe.php
ErrorDocument 500 /fehlerausgabe.php
ErrorDocument 401 /fehlerausgabe.php
ErrorDocument 403 /fehlerausgabe.php
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month 1 days"
ExpiresByType text/html "access plus 1 month 1 days"
ExpiresByType image/gif "access plus 1 month 1 days"
ExpiresByType image/jpeg "access plus 1 month 1 days"
ExpiresByType image/png "access plus 1 month 1 days"
ExpiresByType text/css "access plus 1 month 1 days"
ExpiresByType text/javascript "access plus 1 month 1 week"
ExpiresByType application/x-javascript "access plus 1 month 1 days"
ExpiresByType text/xml "access plus 1 seconds"
</IfModule>
Options -Indexes
AddDefaultCharset Off
/*
* -------------------------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <paul@lithilion.at> schrieb diese Datei. Solange Sie diesen Vermerk nicht entfernen, können
* Sie mit dem Material machen, was Sie möchten. Wenn wir uns eines Tages treffen und Sie
* denken, das Material ist es wert, können Sie mir dafür ein Bier ausgeben. Paul Lackner
* -------------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <paul@lithilion.at> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Paul Lackner
* ----------------------------------------------------------------------------
*/
\ No newline at end of file
<?php
include ('design.php');
include ('mysqli/opendb.php');
include ('einstellungen/einstellungen.php');
$stmt=$mysqli->prepare("SELECT variable, g_wert FROM einstellungen WHERE g_wert IS NOT NULL");
$stmt->execute();
// var_dump($stmt);
$stmt->bind_result($Variable, $Wert);
while($stmt->fetch())
{
if(isset($Wert))
{
$einstellungen[$Variable]=$Wert;
}
}
$stmt->close();
echo "<!DOCTYPE html>
<html>
<head>
";
echo $cssfile;
echo $head;
echo "\n <meta name='description' content='".$einstellungen['Beschreibung_Impressum']."'>
<title>Impressum - ".$einstellungen['Titel']."</title>";
echo"
</head>
<body onLoad='startTimer();'>
<div class='textbody'>
<header>
".$header."
</header>
<main class='inhalt'>
<h1>Impressum</h1>"
.$einstellungen['Impressum'].
"</main>
<br class='clear'>
<footer class='footer'>
".$footer."
</footer>
</div>
</body>
</html>";
?>
<?php
require_once('fpdf/fpdf.php');
include ('design.php');
include ('landselect.php');
include ('mysqli/opendb.php');
include ('einstellungen/einstellungen.php');
if(!$_SESSION['angemeldet']==true)
{
die(header("Location:login.php?redirect=".basename(__FILE__)));
}
if($_SESSION['berechtigungen']>5)
{
die(header("Location:index.php"));
}
class PDF extends FPDF
{
// Load data
function LoadData($file)
{
// Read file lines
$lines = file($file);
$data = array();
foreach($lines as $line)
$data[] = explode(';',trim($line));
return $data;
}
// Simple table
function BasicTable($header, $data)
{
// Header
foreach($header as $col)
$this->Cell(40,7,$col,1);
$this->Ln();
// Data
foreach($data as $row)
{
foreach($row as $col)
$this->Cell(40,6,$col,1);
$this->Ln();
}
}
// Better table
function ImprovedTable($header, $data)
{
// Column widths
$w = array(40, 35, 40, 45);
// Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
// Data
foreach($data as $row)
{
$this->Cell($w[0],6,$row[0],'LR');
$this->Cell($w[1],6,$row[1],'LR');
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
$this->Ln();
}
// Closing line
$this->Cell(array_sum($w),0,'','T');
}
// Colored table
function FancyTable($header, $data)
{
// Colors, line width and bold font
$this->SetFillColor(250,165,72);
$this->SetTextColor(255);
$this->SetDrawColor(219,118,6);
$this->SetLineWidth(.3);
$this->SetFont('Arial','B',10);
// Header
$w = array(70, 90, 45, 60);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],5,$header[$i],1,0,'C',true);
$this->Ln();
// Color and font restoration
$this->SetFillColor(252,191,124);
$this->SetTextColor(0);
$this->SetFont('');
// Data
$fill = false;
foreach($data as $row)
{
$this->Cell($w[0],12,$row[0],'LR',0,'C',$fill);
$this->Cell($w[1],12,$row[1],'LR',0,'C',$fill);
$this->Cell($w[2],12,$row[2],'LR',0,'C',$fill);
$this->MultiCell($w[3],4,$row[3],'LR','R',$fill);
$this->Ln();
$fill = !$fill;
}
// Closing line
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf = new PDF('L');
// Column headings
$header = array('Name', 'Email', 'Student/Absolvent', 'Hauptwohnsitz');
// Data loading
$mitglieder=$mysqli->prepare("SELECT vorname, nachname, email, strasse1, plz1, ort1, land1, mf_bezeichnung FROM mitglieder LEFT JOIN mitgliedsformen ON mf_id = mitgliedsform ORDER BY nachname, vorname");
$mitglieder->execute();
$mitglieder->bind_result($vorname, $nachname, $email, $strasse1, $plz1, $ort1, $land1, $mf_bezeichnung);
$data=array();
$count=0;
while($mitglieder->fetch())
{
$data[$count][0]=utf8_decode($vorname)." ".utf8_decode($nachname);
$data[$count][2]=utf8_decode($mf_bezeichnung);
$data[$count][1]=$email;
$data[$count][3]=utf8_decode($strasse1)."\n".$plz1." ".utf8_decode($ort1)."\n".utf8_decode(html_entity_decode($iso_array[$land1]));
$count++;
}
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$pdf->Output();
?>
\ No newline at end of file
<?php
include ('design.php');
include ('mysqli/opendb.php');
include ('hashfunc.php');
include ('einstellungen/einstellungen.php');
if(!strstr($einstellungen['Aktive_Plugins'], "bildergalerie") && ($_SESSION['berechtigungen']>4 || empty($_SESSION['berechtigungen'])))
{
header('Location:fehlerausgabe.php', false, 404);
include('fehlerausgabe.php');
die();
}
elseif(!strstr($einstellungen['Aktive_Plugins'], "bildergalerie") && $_SESSION['berechtigungen']<4)
{
if($_SESSION['berechtigungen']==1)
{
if(isset($_POST['aktivieren']))
{
$var=$einstellungen['Aktive_Plugins'].":bildergalerie";
$stmt=$mysqli->prepare("UPDATE einstellungen SET wert = ? WHERE variable = 'Aktive_Plugins'");
$stmt->bind_param("s", $var);
$stmt->execute();
$stmt->store_result();
}
$aktivieren="<form method='post'><input type='submit' name='aktivieren' value='Plugin aktivieren'></form>";
}
$plugin_deaktiviert="<p><span class='red'>Das Plugin ist nicht aktiviert und wird auch nicht &ouml;ffentlich angezeigt!</span>".$aktivieren."</p>\n";
if($stmt->affected_rows==1)
{
$plugin_deaktiviert="<p><span class='green'>Das Plugin wurde aktiviert.</span></p>\n";
}
}
if(!$_SESSION['angemeldet'])
{
die(header("Location:index.php"));
}
if($_SESSION['berechtigungen']>5)
{
die(header("Location:index.php"));
}
$ordnername=$_POST['ordnername'];
$verzeichnis=$einstellungen['home_verzeichnis'];
chdir($verzeichnis);
mkdir("bildergalerie");
mkdir("bildergalerie/".$ordnername, 0755);
$count = 0;
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
foreach ($_FILES['files']['name'] as $i => $name) {
if (strlen($_FILES['files']['name'][$i]) > 1) {
var_dump($verzeichnis.'/bildergalerie/'.$ordnername.'/'.$name);echo "<br>";
if (move_uploaded_file($_FILES['files']['tmp_name'][$i], $verzeichnis.'/bildergalerie/'.$ordnername.'/'.$name)) {
$count++;
}
else
{
$fehler[]=$_FILES['files']['name'][$i];
}
}
}
}
echo "<!DOCTYPE html>
<html>
<head>
";
echo $cssfile;
echo $head;
echo "\n <meta name='description' content='Bilder hochladen f&uuml;r die Galerie'>
<title>Bilder hochladen - ".$einstellungen['Titel']."</title>
<meta name='robots' content='NOINDEX, FOLLOW'>";
echo"
</head>
<body onLoad='startTimer();'>
<div class='textbody'>
<header>
".$header."
</header>
<main class='inhalt'>
<h1>Bilder hochladen</h1>"
.$plugin_deaktiviert;
if($count!=0)
{
echo "<p class='green'>".$count." Bilder wurden erfolgreich in den Ordner ".$ordnername." hochgeladen.";
}
if(isset($fehler))
{
echo "<p class='red'>".sizeOf($fehler)." Datei/en wurde/n nicht hochgeladen.";
foreach($fehler as $value)
{
echo "<br>".$value." wurde nicht hochgeladen.";
}
echo "</p>";
}
echo " <form action='' method='post' enctype='multipart/form-data'>
<div class='table'>
<div class='tr'>
<div class='td'>
Ordnername
</div>
<div class='td'>
<input type='text' name='ordnername' placeholder='Stammtisch 2015'>
</div>
</div>
<div class='tr'>
<div class='td'>
<input type='file' name='files[]' accept='image/jpeg' multiple>
</div>
<div class='td' style='width:160px'>
<input type='submit' name='fertig' value='Senden'>
</div>
</div>
</div>
</form>
<p class='grey'>Der Ordner bildergalerie muss mit entsprechenden Schreibrechten ausgestattet sein!</p>
</main>
<br class='clear'>
<footer class='footer'>
".$footer."
</footer>
</div>
</body>
</html>";
?>
\ No newline at end of file
<?php
/*if(empty($_GET['bildergalerie']))
{
$verzeichnis = "bildergalerie";
}
$bilderdateinamen=array();
if (is_dir($verzeichnis))
{
if($verzeichnis=="bildergalerie")
{
$dirs = array_filter(glob('*'), 'is_dir');
$ausgabe="<ul>";
foreach($dirs as $value)
{
$ausgabe.="<li><a href='bildergalerie.php?bildergalerie=".$value."'>".$value."</a></li>";
}
$ausgabe.="</ul>";
}
if ( $handle = opendir($verzeichnis) )
{
while (($file = readdir($handle)) !== false)
{
echo "<li>filename: $file ";
echo "<li>filetype: ". filetype( $file) . "<hr>\n";
// Test, ob ein Bilder (Endung .jpg) vorliegt
if ( filetype( $file) == "file"
AND substr( $file, -4) == ".jpg")
{
// Dateiname wird im Array bilderdateinamen
// gespeichert
$bilderdateinamen[] = $file;
}
}
closedir($handle);
}
}
// Ausgabe der Bilderdateinamen zur Kontrolle
// Ausgabe der Bilderdateinamen zur Kontrolle
echo "<pre>";
print_r ( $bilderdateinamen );
echo "<hr />";
foreach ( $bilderdateinamen AS $dateiname )
{
echo "Dateiname: $dateiname:<br />\n";
$exif = exif_read_data($dateiname, ANY_TAG, true, true);
// print_r ($exif);
echo "<h2>". $exif['WINXP']['Title'] . "</h2>";
echo "<img src=\"$dateiname\"";
echo $exif['COMPUTED']['html'];
echo " alt=\"";
echo $exif['WINXP']['Title'];
echo '" \> ';
echo "<hr />";
} /*
/*+++++++++++
*In welchem Verzeichnis bin ich?
*habe ich weitere Verzeichnisse?
*wenn nein galerie anzeigen
*++++++++++++*/
include('design.php');
include ('mysqli/opendb.php');
include ('einstellungen/einstellungen.php');
if(!strstr($einstellungen['Aktive_Plugins'], "bildergalerie") && ($_SESSION['berechtigungen']>4 || empty($_SESSION['berechtigungen'])))
{
header('Location:fehlerausgabe.php', false, 404);
include('fehlerausgabe.php');
die();
}
elseif(!strstr($einstellungen['Aktive_Plugins'], "bildergalerie") && $_SESSION['berechtigungen']<4)
{
if($_SESSION['berechtigungen']==1)
{
if(isset($_POST['aktivieren']))
{
$var=$einstellungen['Aktive_Plugins'].":bildergalerie";
$stmt=$mysqli->prepare("UPDATE einstellungen SET wert = ? WHERE variable = 'Aktive_Plugins'");
$stmt->bind_param("s", $var);
$stmt->execute();
$stmt->store_result();
}
$aktivieren="<form method='post'><input type='submit' name='aktivieren' value='Plugin aktivieren'></form>";
}
$plugin_deaktiviert="<p><span class='red'>Das Plugin ist nicht aktiviert und wird auch nicht &ouml;ffentlich angezeigt!</span>".$aktivieren."</p>\n";
if($stmt->affected_rows==1)
{
$plugin_deaktiviert="<p><span class='green'>Das Plugin wurde aktiviert.</span></p>\n";
}
}
$verzeichnis=$einstellungen['home_verzeichnis'];
chdir('bildergalerie');
function ordnerLookUp($ordner)
{
$dirs = array_filter(glob('*'), 'is_dir');
foreach($dirs as $value)
{
if($value==$ordner)
{
return $ordner;
}
}
return false;
}
//Ordnernamen�berpr�fung
if(isset($_GET['ordner']))
{
$kontrolle=$_GET['ordner'];
if(strstr($_GET['ordner'], "/"))
{
$kontrolle=strstr($_GET['ordner'], "/");
chdir(strstr($_GET['ordner'], "/",true));
$kontrolle=substr($kontrolle,1);
}
$neues_verzeichnis=ordnerLookUp($kontrolle);
chdir($kontrolle);
$ordner=$_GET['ordner']."/";
}
else
{
$neues_verzeichnis=$verzeichnis."bildergalerie";
}
if($neues_verzeichnis==false)
{
die(header("Location:bildergalerie.php"));
//$fehlermeldung="<p><span class='red'>Album existiert nicht. Bitte w&auml;hle ein anderes.</span></p>";
}
else
{
//Ordnerausgabe
$dirs = array_filter(glob('*'), 'is_dir');
$dirs=array_values($dirs);
$ausgabe="<div class='table'>\n";
$j=0;
while($j<sizeOf($dirs))
{
$ausgabe.=" <div class='tr'>\n";
for($i=0;$i<3;$i++)
{
if($dirs[$j]=="thumbs" || $dirs[$j]=="thumbnails")
{
$i--;
}
else if(!empty($dirs[$j]))
{
$ausgabe.=" <div class='bilder_ordner'><a href='?ordner=".$ordner.$dirs[$j]."'><div class='ordner_div'>".$dirs[$j]."</div></a></div>\n";
}
$j++;
}
$ausgabe.=" </div>\n";
}
$ausgabe.=" </div>";
//Fotoausgabe
chdir("../");
if ($handle = opendir($neues_verzeichnis))
{
while (($file = readdir($handle)) !== false)
{
// echo "<li>filename: $file ";
// echo "<li>filetype: ". filetype( $file) . "<hr>\n";
// Test, ob ein Bilder (Endung .jpg) vorliegt
if (filetype( $file) != "dir" AND substr($file, -4) == ".jpg")
{
// Dateiname wird im Array bilderdateinamen gespeichert
$bilderdateinamen[] = $file;
}
}
array_multisort($bilderdateinamen);
//var_dump($bilderdateinamen);
closedir($handle);
$i=0;
if(isset($_GET['ordner']))
{
$ordnername=$_GET['ordner'];
}
else
{
$ordnername="Bildergalerie";
}
$ausgabe.="<div class='table'>";
while($i<sizeOf($bilderdateinamen))
{