Dr. Arne Jachens

Arnes Skriptbibliothek

cms

Wird verwendet von:

Dies ist eine einfache Methode, sich ein Content-Management-System zu basteln, so dass alle Seiten ein einheitliches Design haben und sich das Menü zu den Inhalten passend ändert.

In Head sind die allgmeinen Angaben der html-Seiten definiert, das Stylesheet wird eingebunden und der Kopf (Logo, Überschrift) der Seiten wird festgelegt.

In Foot kann eine Fußzeile für alle Seiten definiert werden und die html-Seite wird beendet.

In Menu sind die Menüpunkte und die Untermenüs, die entsprechend $flag eingeblendet werden, definiert.

<?php
/* 
   published under GPL www.gnu.org/licenses/gpl.html 
   
   Primitives ContentManagentSystem, hier ist zentral der
   Seitenaufbau (Kopf und Fuss der HTML-Seite) definiert.
   Vorgesehen ist eine Tabelle als Grundgeruest, die links
   einen Navigationsbereich und rechts den Inhalt der Seite
   darstellt. Die Tabelle enthaelt einen Kopf- und Fussbereich,
   die fuer gestalterische Elemente oder Navigation genutzt
   werden koennen - die Navigation ist in menu.php gestaltet.
   Die Steureung $sec ermoeglicht eine dynamische Varriation
   der Seite je nach ausgewaehltem Abschnitt.
   Das Layout wird zentral per CMSlayout.css festgelegt. 
   Zusaetzlich kann per $extraStyle spezielles Layout fuer
   einzelne Seiten uebergeben werden.
   Wird die Seite mit $print=true aufgerufen, werden Navigation,
   Kopf und Fuss ausgeblendet, um den Inhalt der Seite drucken
   zu koennen.
   
   2011-01-26
   Arne Jachens
   */

define("ADMINPASSWORT", "geheim;-)"); #edit here
include_once("cmsConfig.php");

/* set global variables and action control */
$host = $_SERVER["HTTP_HOST"];
$myurl = "http://".$host;
if(isset($_GET['sec'])){
  $sec=$_GET['sec'];
}else{
  $sec=$default;
}
if(isset($_POST['subSec'])){
  $subSec=$_POST['subSec'];
}elseif(isset($_GET['subSec'])){
  $subSec=$_GET['subSec'];
}else{
  $subSec=$sec;
}
if(isset($_POST['what2do'])){
  $what2do=$_POST['what2do'];
}elseif(isset($_GET['what2do'])){
  $what2do=$_GET['what2do'];
}else{
  $what2do="";
}
if(!isset($_SESSION['securityLevel']) OR $_SESSION['securityLevel']<0){
  $_SESSION['securityLevel']=0;
}
if(!isset($_SESSION['IamGod'])){$_SESSION['IamGod']=FALSE;}

$selfSec="?sec=".$sec."&subSec=".$subSec;


/* head of each web page */
function Head($sec,$subSec,$path,$extraStyle,$script){
  global $debug;
  $message ="";
  include_once($path."menu.php");
  if(isset($_GET['print'])){$print=$_GET['print'];}else{$print="";}
  if($debug){
    $message.= "<p><aj>Head</aj> sec: ".$sec;
    if($print){$message.= " printing mode ";}
    $message.= "<br>path: ".$path."</p>";
  }
  $headString="<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 5//EN'
   'http://www.w3.org/TR/html4/strict.dtd'>
    <html>
    <head>
    <title>Jachens.de</title>\n
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<meta name='viewport' content='width=device-width, user-scalable=yes, initial-scale=1, maximum-scale=4, minimum-scale=0.5'>\n";
  if($subSec=="raspberry"){
    $headString.="<meta name='keywords' content='Raspberry Pi, solar, heating, control, data logging, home automation, web interface, MCP3208, Solarregelung, Solaranlage, Anleitung, Relay, Heizung, Lüftung'>
      <meta name='description' content='How to build your own home automation using Raspberry Pi with solar heating control, additional heating, data logging of temperature sensors and web interface. Anleitung zum Bau eigener Haustechnik basierend auf einem Raspberry Pi, mit Solaranlage, Zusatzheizung, Datenaufzeichnung von Temperatursensoren und Webinterface.'>";
      }else if($subSec=="fraktal"){
      #$headString.="<meta http-equiv='Cache-Control' content='no-store'>\n";
  }else{
    $headString.="<meta name='keywords' content='Arne, Jachens'>
      <meta name='description' content='Homepage von Dr. Arne Jachens'>";
  }
  $headString.="<meta name='expires' content='NEVER'>
    <meta name='robots' content='index'>
    <meta name='robots' content='follow'>
    <meta name='autor' content='arne jachens'>
    <link rel='STYLESHEET' href='".$path."menu.css'>
    <link rel='STYLESHEET' href='".$path."cmsLayout.css'>\n";
  $headString.="<style type='text/css'>".$extraStyle."</style>\n";
  $headString.=$script."\n";
  $headString.="<LINK REL='SHORTCUT ICON' HREF='".$path."./Grafik/favicon.ico'>
</head>\n";
$headString.="<body>\n";

  if(!$print){
    $iconMenu = Menu($sec,$path,"icons");
    $menu = Menu($sec,$path,"");
    $headString.="<div class='heading'>\n";
    $headString.="  <div class='headLeft'>Dr. Arne Jachens</div>\n";
    $headString.="  <div class='headRight'>".$menu."</div>\n";
    $headString.="</div>\n";

    $headString.="<div class='navIcons'>".$iconMenu."</div>\n";
  }
  return array($headString,$message);
}

/* foot of each web page */
function Foot($sec,$subSec,$path,$what2do){
  global $debug;
  include_once($path."menu.php");
  $message = "";
  if(isset($_GET['print'])){$print=$_GET['print'];}else{$print=FALSE;}
  if($debug){
    $message.= "<p><aj>Foot</aj> sec: ".$sec;
    if($print){$message.= " printing mode ";}
    $message.= "<br>what2do: ".$what2do."</p>";
  }
  $url="?sec=".$sec;
  if(!empty($subSec)){
    $url.="&subSec=".$subSec;
  }
  $url_1=$url;
  if(!empty($what2do)){
    $url_1.="&what2do=".$what2do;
  }
  if(!$print){
    $iconMenu = Menu($sec,$path,"icons");
    $subMenu  = Menu($sec,$path,"subSections");
    $footFancy ="\n\n<!-- ============================= -->\n";
    $footFancy.="<footer>\n";
    $footFancy.="<h2>Navigation:</h2>\n";
    $footFancy.="<div align='center'>";
    $footFancy.=$subMenu."\n";
    $footFancy.=$iconMenu."\n";
    $footFancy.="<p><a class='klein' href='".$url."&what2do=edit'>Login</a></p>\n";
    $footFancy.="</div>";
    $footFancy.="</footer>\n";
  }
  $foot ="</body>\n</html>";
  return array($foot,$footFancy,$message);
}
?>
1fraktal.php
2VereinsverwaltungKartei.php
3VereinsverwaltungKarteikarte.php
4VereinsverwaltungKonto.php
5VereinsverwaltungLastschriften.php
6VereinsverwaltungMenue.php
7whichLengthDoWeHaveInXfigFile.php
8XML_extractAttribute.php
9XML_extractElement.php
10XML_extractTag.php
11XML_findAllElements.php
12XML_readFile.php
13writeNamedData.php
14menu.php
15content.php
16cms.php
17indexCms.php
18areaOfPolygon.php
19areaOfTriangle.php
20calculateAreasOfPolygonsInXfig.php
21calculateMeanStd.php
22checkChanges.php
23closeFigures.php
24db.php
25distanceOfPoints.php
26dtaus.php
27enumerateFiles.php
28fileGrep.php
29fitData.php
30fotoalbum.php
31genAlbum.php
32genDTAUS.php
33genFotoalbum.php
34genThumbnails.php
35globals.php
36hex2dec.php
37LaTeXbrief.php
38norm.php
39pdf.php
40plotResult.php
41pointsOfPolygon.php
42polynominalFit.php
43readData.php
44readDymolaOuput.php
45readFilenames.php
46readFromStdIn.php
47readNamedData.php
48readXmlFile.php
49searchMedian.php
50sortIEindex.php
51sortIntoBins.php
52sortPDF.php
53synchronise.php
54synchroniseDirectories.php
55Vereinsverwaltung.php
56writeData.php

 

gnuplot

gnuplot is used to visualise the results - via script you can do infinite diagrams in 1 second.
Run 'test' in gnuplot to get an owerview of the available line- and symbolstyles.