kalender_localstorage.php


Quell Code


<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1" >

  <TITLE>STARTSEITE Laufender Kalender - Frameset</TITLE>
</HEAD>
<FRAMESET COLS="76%,*" id="KalenderFrame" NAME="KalenderFrame">
  <div>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1" >

	<title>Continuous Calendar</title>
	<link rel="stylesheet" type="text/css" href="calendar23.css" />
  <script language="javascript" type="text/javascript">
<!--

function stoperror()
{return true}
window.onerror=stoperror;

// -->
</script>
</head><body>

<script type="text/javascript" src="calendar23.js"></script>


    
  </div>
  
  
  
    <div>
      
      
      
      
      
      

<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1" >
  <TITLE>Laufender Kalender - Rechts Oben</TITLE>

  <STYLE type="text/css">
body
{
padding:0px;
margin:7px;
}

.pfeil
{
font-family:'Times New Roman',Times,serif;
font-size:small; 
font-stretch:ultra-condensed; 
font-weight:bold; 
vertical-align:sub;
}

.pfeil SUP
{
font-size:larger; 
font-stretch:ultra-condensed; 
font-weight:bold; 
-color:red;
}

.pfeil A
{
text-decoration:none;
}

.combine A
{
text-decoration:none;
}

input[type="radio"] 
{
margin-top: 7px;
margin-left: -10px;
text-align: left;
vertical-align: text-bottom;
}

label
{
display:inline-block;
position:relative;
padding-left:0px;
margin-left:0px;
}

</STYLE>

  <SCRIPT language="JavaScript" type="text/javascript">
<!--

function stoperror()
{return true}
window.onerror=stoperror;


var Position = window.location.href.lastIndexOf("/");
var ElternPfad = window.location.href.slice(0, Position);
var ElternDatei = window.location.href.slice(0, Position) + "/js-kalenderfenster.html";

var OfflineFehlerMeldung = "- Einige der Funktionen sind hier in diesem Modus außer Kraft gesetzt -\n\n" + 
"Den Admin - Bereich bitte durch Ziehen am Fensterbalken \=\=\=\=  \nunterhalb des Pfeils \`\'\´mit der Maus nach unten öffnen \n\n" + 
"Ggf. zum Exportieren den rechten Druckbereich benutzen \n\(markieren und kopieren\)" + 
"";
 

if (navigator.cookieEnabled == false) 
{
document.writeln("<CENTER><B><FONT FACE=\"Arial\" Size=\"2\" Color=\"red\"> Bitte Cookies aktivieren! </FONT></B></CENTER> <P>");
}

function los()
{

if (document.forms.Loeschen.Abfrage.checked)
{
Prf = confirm("NOTIZEN LÖSCHEN BESTÄTIGEN");

if (Prf == false)
{
document.forms.Loeschen.reset();
}

else
{
alert("Alte Notizen werden gelöscht");
LoeschFkt=window.open("calendar_app_2_5.html", "_top");
}
}
}

function ResizeFrameRO()
{
if (document.getElementById)
{
// Catch Chrome Offline Error: 

try {parent.document;}

catch(err) 
{
alert (OfflineFehlerMeldung);
}

parent.document.getElementById("TerminFrame").rows = "50%,*,110";
}
}


function go()
{
if ((localStorage) && (document.forms.FormOR.elements.aktiv.checked == true))
{ 
// secWert for ONLINE
secWert = "8d8aa782";
localStorage.setItem("secNr", secWert);
}
 
if ((localStorage) && (document.forms.FormOR.elements.aktiv.checked == false))
{ 
secWert = "0000000";
localStorage.setItem("secNr", secWert);
}

location.reload();
}

// ---------------------------------------------------------------------------

// http://www.bennadel.com/blog/1433-ask-ben-splitting-strings-in-javascript-to-form-new-variables.htm

        // This will take a string that is formatted as a delimited
        // list of values and store those values into the given
        // variable names in the given container.

        function SetVariables(
            strList, // The list of values.
            arrLabels, // The array of new variable names.
            strDelimiter, // OPTIONAL - defaults to "|".
            objContainer // OPTIONAL - defaults to "window".
            ){
            // Check to see if there is a defined container.
            // If not then default the container to window.
            // This is basically where any "unscoped" variable
            // resides naturally.
            if (!objContainer){
                objContainer = window;
            }
            // Check to see if a delmiter was passed. If not,
            // then define a default one.
            if (!strDelimiter){
                strDelimiter = "|";
            }
            // Now that we have our values defaults, we are
            // going to split the string into an array using
            // the given delimiter. Escape the delimiter in case
            // it's a special regEx value.
            var arrValues = strList.split(
                new RegExp( ("\\" + strDelimiter), "gi" )
                );
            // Loop over the values and assign them to the
            // labels passed in. Do this in order. In the loop
            // conidition, make sure that we stay in bounds for
            // both the value array and the variable name array.
            for (
                var i = 0 ;
                (
                    (i < arrValues.length) &&
                    (i < arrLabels.length)
                );
                i++
                ){
                // Store the new value in the container
                objContainer[ arrLabels[ i ] ] = arrValues[ i ];
            }
            // No need to pass back container as it is an object
            // and will be passed by reference; but, let's just
            // pass it back for good measure.
            return( objContainer );
        }

// ---------------------------------------------------------------------------

// NOTIZEN EXPORTIEREN
// Nicht auf export.html externalisieren- Fehlfunktion


// Variablen definieren:

var EintragString;
var EintragDatum;
var Exportfenster;
var PlusEins;
var TeilA;
var TeilB;
var TeilC;

var Ort = " für: <BR>" + ElternPfad + " ";
// var Browser = "<BR> im " + navigator.appName + " ";
// window.navigator.userAgent
var Browser = "<BR> im " +  navigator.appCodeName + " " + navigator.appVersion + " ";

var Dahin = "calendar_app_2_3";

var Nachricht = 
"Den Inhalt der Seite bitte MARKIEREN und KOPIEREN und / oder ALS TEXT zum (re-) importieren speichern!<BR>" + 
"- Sind ALLE TERMINE AUSGEFÜLLT? Sind Einträge mehrfach vorhanden? <BR>" + 
"- Bei FEHLFUNKTION die Funktion erneut aufrufen; vor dem zweiten Versuch ggf. den Kalender neu starten. <BR>" + 
"- Achtung: Die Termine werden ALPHANUMERISCH SORTIERT aufgeführt: Jahr_Monat_Tag INHALT <BR><BR>" +
"Aufgelistet werden die eingetragenen Termine " + Ort + Browser + ":<BR><BR>" +
" ";

var ExportUrl = "export.html";
var ExportFensterPlatz = "CA3";

var FNull ="0";
var splitter = "##=##";  	// Intern; darf im N-Text nicht vorkommen (OK - N-Text wird encodiert)
var trenner = ": ";				// Extern; ist sichtbar - mit Import abgleichen

// Make new empty Array
var Allenotizen=[];
var Alleposten =[];

var count = window.localStorage.length;
// alert(count);


function Darstellen(Wo)
{
// Kalender aktualisieren (verhindert doppelte Darstellung) 
location.reload();

// Catch Chrome Offline Error: 

try {parent.document;}

catch(err) 
{
alert (OfflineFehlerMeldung);
}

// Bremst Chrome Offline anschließend absichtlich aus:
var XXX = parent.document;


if (Wo=="oben")
{
ExportUrl = "export.html";
ExportFensterPlatz = "_top";

Dahin = "js-kalenderfenster";
}

if (Wo=="links")
{
ExportUrl = "export.html";
ExportFensterPlatz = "CA3";

Dahin = "calendar_app_2_3";
}


// Einträge holen und mit dem Index kombinieren:

for(var y = 0; y < count; y++)
{
var keyname = window.localStorage.key(y);
var inhalt = window.localStorage.getItem(keyname);

// N-Text wird encodiert, um störende Sonderzeichen darin zu maskieren:
inhalt = encodeURIComponent(inhalt);

// Fill var Array 
Allenotizen.push(keyname+splitter+inhalt);
}

Allenotizen.sort();
Allenotizen.reverse();

// Erstes Element = nextidweg (nur: do it)
var nextidweg = Allenotizen.shift();					

// Teilt in Einträge in solche mit und ohne Datum

for(var i = 0; i < Allenotizen.length; i++)
{

// I: Ordnet alle Inhalte OHNE DATUM (==Items) dem einzelnen Item zu
// Prüft ob erstes Zeichen [0] keine Zahl ist

if (isNaN(Number(Allenotizen[i].charAt(0))))	
{
// Make Array 
var AllenotizenItem = Allenotizen[i].split(splitter);
var Posten = AllenotizenItem[0];
var Posteninhalt = AllenotizenItem[1];

// Aktivieren: [Keyname] (:ask-ben)
SetVariables(Posteninhalt,[Posten]);

// Jeweilige "Posten" als Variable mit Posteninhalt setzen:
Posten = Posteninhalt;

}

else
// II: Ordnet alle Inhalte MIT DATUM dem einzelnen Datum zu
{
// Make Array 
var AllenotizenI = Allenotizen[i].split(splitter);
var Datum = (AllenotizenI[0]);

var AllenotizenRest = (AllenotizenI[1]);

// Dem Datum zugeordnete mehrere einzelne Items trennen:
// Make Array 
// var Werte = AllenotizenRest.split(","); 	// Nein:
// Werte sind noch encodiert!
var Werte = AllenotizenRest.split("%2C");

for(var w = 0; w < Werte.length; w++)
{
var Einzelwerte  = Werte[w];
var Posten = Einzelwerte;

// Aktivieren: [Einzelwerte]  (:ask-ben) retour!
// Jeweilige "Posten", zugehörig dem Datum, als Variable mit dem Wert Posteninhalt(ItemXXX) von 'ohne Datum' evaluieren:
Posten = eval(Einzelwerte);

// Einzelne Paare von Datum und Posten zusammenfügen:

EintragString = Datum + trenner + Posten;

// Paar von Datum und Posten vorbereiten  zum sortieren: Jahr-Monat-Tag:
// Datum am Anfang jeweils neu sortieren
// Gegebenes Format für Juli: 6_20_2015 + trenner + Notiz (N-Text)

// Zuerst im noch führenden Monat eine führende Null einbringen, um die Position des ersten "_" eindeutig zu machen:

if (EintragString.charAt(1) =="_") // prüft ob zweites Zeichen "_" ist
{
// Dann führende null Monat:
EintragString= FNull.concat(EintragString);
}

// Dann die Monats-Zahl um 1 erhöhen: 

TeilA=EintragString.slice(0, 2);	// 2 wg. führender Null und Monat=10, 11 (Nov,Dez)
TeilB=EintragString.slice(2);

// String zu Zahl und wieder zurück: 

// PlusEins= Number(TeilA)+1;
// PlusEins= parseInt(TeilA, 10)+1;
PlusEins= parseInt(TeilA)+1;
PlusEins= PlusEins.toString();

EintragString=PlusEins.concat(TeilB);

// Nun ggf erneut eine führende Null im Monat einbringen, da die Rechenoperation diese entfernt hat: 
// Zuerst im Monat eine führende Null einbringen:

if (EintragString.charAt(1) =="_") // prüft ob zweites Zeichen "_" ist
{
// Dann führende null Monat:
EintragString= FNull.concat(EintragString);
}

// Nun ggf. im Tagf eine führende Null einbringen:

if (EintragString.charAt(4) =="_") // prüft ob fünftes Zeichen "_" ist
{
// Dann führende null Tag:
TeilA=EintragString.slice(0, 3);
TeilB=EintragString.slice(3);
TagMitNull= TeilA.concat(FNull);
EintragString= TagMitNull.concat(TeilB);
}

// Jetzt für Alle: Die Jahresangabe nach vorne setzen:
TeilA=EintragString.slice(0, 5); 	// Monat und Tag ohne End_
TeilB=EintragString.slice(6, 10); 	// Jahr
TeilC=EintragString.slice(10); 	// Rest

// TeilA= TeilA.concat("_");
TeilB= TeilB.concat("_");

EintragDatum= TeilB.concat(TeilA); 	//Jahr , Monat, Tag
EintragString= EintragDatum.concat(TeilC);

// Und nun ALLE Einträge in einem Array sammeln und sortieren lassen:
// Fill var Array 
Alleposten.push(EintragString);
Alleposten.sort();
// Alleposten.reverse();
}

} // Ende else

} // Ende Allenotizen


Exportfenster=window.open(ExportUrl, ExportFensterPlatz);

Exportfenster.document.writeln('<P> Notizen-Ausgabe <P>');

Exportfenster.document.write(Nachricht);
Exportfenster.document.write("<P>\&lt\; - \<A HREF\=\"" + Dahin + "\.html\"\>zurück zum Kalender\<\/A\><P>");

Exportfenster.focus();


// Zeilenwechsel schreiben:
Exportfenster.document.write("<P>");
Exportfenster.document.write("<BR>");

// Zuletzt die Einträge streng alphanumerisch sortiert ausgeben: 

for(var i = 0; i < Alleposten.length; i++)
{

// Exportfenster.document.write(Alleposten[i]);
// Erst hier decodiert: /OK
Exportfenster.document.write(decodeURIComponent(Alleposten[i]));
Exportfenster.document.write("<BR>");
}

Exportfenster.document.write("<P> - ");
Exportfenster.document.write(i);

if (i==1)
{Exportfenster.document.write("  gültiger Eintrag -");}

else
{Exportfenster.document.write("  gültige Einträge -");}

if (i>10)
{Exportfenster.document.write("<BR><BR><P>\&lt\; - \<A HREF\=\"" + Dahin + "\.html\"\>zurück zum Kalender\<\/A\><BR><BR><P>");}

else
{Exportfenster.document.write("<BR><BR><P>");}

// Beendet die Verarbeitung - offline
if (window.location.protocol == "file:")
{
Exportfenster.location.reload();
}

Exportfenster.window.scrollTo(0, 0);
Exportfenster.document.close();
}

//add data (07 Juli! 2015):
// window.localStorage.setItem('item4', 'value');                     
// window.localStorage.setItem('6_20_2015', 'item4');

// Wonach richtet sich die itemNr?

// remove data (07 Juli! 2015):
// window.localStorage.removeItem('item4');
// window.localStorage.removeItem('value');
// window.localStorage.removeItem('6_20_2015');
// window.localStorage.removeItem('item4');

// -->
</SCRIPT>

</HEAD>
<BODY BGCOLOR="#ffffff" onload="document.forms.Loeschen.reset();window.scrollTo(0, 0);" NOonClick="ResizeFrameRO();">
<CENTER>
  <P ALIGN=Center>
  <NOSCRIPT>
  <B><FONT FACE="Arial" Size="2" Color="red"> Bitte Javascript aktivieren! </FONT></B> <P>
  </NOSCRIPT>
  <SPAN class="combine"><SPAN class="pfeil"><A  href="javascript:ResizeFrameRO()">\<SUP>|</SUP>/</SPAN>
  &nbsp;<FONT FACE="Arial" Size="2"> <U>Admin</U></A></FONT</SPAN><FONT FACE="Arial" Size="2">
  &nbsp;&nbsp;&nbsp;  <A HREF="http://erleuchtet.kilu.de/kalender/kalender.html" Target="_top">JS-Terminkalender
  Info</A></FONT> <BR>
  <BR>
  <SMALL>Original von
  <A HREF="http://madebyevan.com/calendar/" Target="_top">Evan
  Wallace</A></SMALL> <BR>
  <SMALL> Custom Version 1.2.5 <BR>
  JHR 2013-2017 </SMALL> 
  <P>
    <BR>
<FORM Name="Loeschen">
    <FONT FACE="Arial" Size="2"> 
    <INPUT type="checkbox" value="OK" name="Abfrage" >[&nbsp;Wirklich!&nbsp;] 
    alle <A HREF="http://erleuchtet.kilu.de/kalender/kalender.html" target="_top">Notizen der letzten Zeit</A> bis
    heute <B>unwiderruflich</B> l&ouml;schen<BR>
    <INPUT TYPE=button VALUE="l&ouml;schen" Onclick="javascript:los();">
    <BR clear=all>
    <BR>
    <BR>
    <A HREF="javascript:Darstellen('links');">Notizen exportieren - links</A>
    <BR>
    &nbsp;<A HREF="javascript:Darstellen('oben');">Notizen exportieren - oben</A>
    <BR>
    <BR>
    <A HREF="import.html" target="CA3"><NOBR>Notizen importieren</NOBR></A> &#38; 
    <A HREF="import.html" target="CA3"><NOBR>Daten anzeigen</NOBR></A>
    <BR>
    <BR>
    Alles <A HREF="javascript:parent.location.reload();"><B>aktualisieren</B></A> mit der Taste
    [<U>F5</U>]  <BR>
    Neu laden</A> mit [STRG] oder [Shift] + [<U>F5</U>] 
    </FONT>
  </FORM>
  <P>
<BR>
<FONT FACE="Arial" Size="2"> 
<SMALL>
Bisher wurden

<!-- Start of StatCounter Code for Default Guide ONLINE -->

<DIV style="line-height:0.5em;">

<SCRIPT type="text/javascript">
<!-- //

// New Script 

var Unsichtbar;

document.writeln ('<P>');

var secWert = "8d8aa782";

if ((localStorage) && (localStorage.getItem("secNr")))
{
var LSW = localStorage.getItem("secNr");
secWert = LSW;
// var KPT = localStorage.removeItem("secNr");
} 

else if (!(localStorage))
{alert ("Die notwendige Funktion `Local Storage´ steht hier nicht zur Verfügung: \n\nEntweder den Browser wechseln oder den Kalender online betreiben");} 
 

if (secWert ==0)
{
Unsichtbar=1;
document.writeln ('<BR>');
}

else
{Unsichtbar=0;}

// CounterProj_ONline
var sc_project=9222559; 
var sc_invisible=Unsichtbar; 
var sc_security=secWert; 
var scJsHost = (("https:" == document.location.protocol) ?
"https://secure." : "http://www.");
document.write("<sc"+"ript type='text/javascript' src='" +
scJsHost+
"statcounter.com/counter/counter.js'></"+"script>");

document.writeln ('<P>');

   // -->
</SCRIPT>

 <noscript>
<DIV class="statcounter">
  <A title="web analytics" href="http://statcounter.com/" target="_blank"><IMG
      class="statcounter" src="http://c.statcounter.com/9222559/0/8d8aa782/0/"
      alt="web analytics"></A>
</DIV>
<P>
</noscript> 

<!-- End of StatCounter Code for Default Guide -->

Aufrufe gez&auml;hlt

<BR>
<BR>
<!-- A HREF="http://statcounter.com/" target="statcounter">von Statcounter</A -->
<P>
<FORM Name="FormOR" >

<SCRIPT type="text/javascript">
  <!-- //


// Zähler secWert

var secWert;

if (localStorage)
{
document.writeln ('<INPUT type="checkbox" name="aktiv" > Z&auml;hler ist aktiv');
document.writeln ('<INPUT TYPE=button Name="blocker" Value="&Auml;ndern" Onclick="javascript\:go()\;">');
}

if (secWert ==0)
{document.forms.FormOR.elements.aktiv.checked = false;}

else
{document.forms.FormOR.elements.aktiv.checked = true;}  



// Fensterwahl:

var LSF;


function Fenstersetzen()
{

// Get values (MSIE)

for (var i = 0; i < 2; i++)
{
 if (document.forms.FormOR.elements.Suchfenster[i].checked)
 {
  // do whatever you want with the checked radio
  // alert(document.forms.FormOR.elements.Suchfenster[i].value);

localStorage.setItem("SuchfensterWahl", document.forms.FormOR.elements.Suchfenster[i].value);

  // only one radio can be logically checked, don't check the rest
  break;
 } 
}

location.reload();
}


document.writeln ('<P><BR><BR><BR>Suchergebnisse öffnen in:<BR>');

document.writeln ('<BR><LABEL><INPUT type="radio" name="Suchfenster" value="_top"> Diesem Fenster</LABEL>' );
document.writeln ('<BR><LABEL><INPUT type="radio" name="Suchfenster" value="_blank" > Neuem Fenster </LABEL>');


if ((localStorage) && (localStorage.getItem("SuchfensterWahl")))
{
var LSF = localStorage.getItem("SuchfensterWahl");	
// var KPT = localStorage.removeItem("SuchfensterWahl");
}


// Default 	
if (LSF =="_blank")
{document.forms.FormOR.elements.Suchfenster[1].checked = true;}  

else
{document.forms.FormOR.elements.Suchfenster[0].checked = true;}  


if (localStorage)
{document.writeln ('<P><INPUT TYPE=button Name="setzer" Value="Setzen" Onclick="javascript\:Fenstersetzen()\;">');} 


   // -->
  </SCRIPT>
</SMALL>
</DIV>

  <BR clear=all>
  <BR>
  <BR>
</FORM>
</FONT>
</CENTER>
</BODY></HTML>

      
      
      
    </div>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    <div> 

  <script language="javascript" type="text/javascript">
<!--

function stoperror()
{return true}
window.onerror=stoperror;


function ResizeFrameA24()
{
if (document.getElementById)
{
parent.document.getElementById("TerminFrame").rows = "40,*,110";
}
}

// -->
</script>
</head>
<body onClick="ResizeFrameA24();">


<script type="text/javascript" src="calendar24.js"></script>
<noscript>Please enable JavaScript.&nbsp; This calendar requires JavaScript to work.</noscript>

 

</body></html>
  </div>
      
      
      
      
      
      
      
      
      
      
      
      
      
  
      
      
      
      
      
      
      
      
      
      
      <div><
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1" >
  <TITLE>Laufender Kalender - Rechts Unten</TITLE>

  <STYLE type="text/css">
.all
{
padding: 0;
margin: 0;
}
</STYLE>

  <SCRIPT language="JavaScript" type="text/javascript">
<!--

function stoperror()
{return true}
window.onerror=stoperror;


function ResizeFrameRU()
{
if (document.getElementById)
{
parent.document.getElementById("TerminFrame").rows = "40,*,110";
}
}


var mtarget = "_top";  

function newtarget() 
{
// Get values (MSIE)

if (parent.frames.RO.document.forms.FormOR.elements.Suchfenster[1].checked)
{mtarget = parent.frames.RO.document.forms.FormOR.elements.Suchfenster[1].value;} 

else
{mtarget = "_top";}  

document.forms[0].target = mtarget;
}

// -->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#ffffff" class="all" onClick="ResizeFrameRU();">
<!-- Search Google -->
<DIV ALIGN=CENTER class="all">
<CENTER>
  <FORM method="get" action="http://www.google.de/search" target="_top" class="all">
  <IMG SRC="http://www.google.com/logos/Logo_40wht.gif" class="all"> 
  <BR clear=all class="all">
    <INPUT type="text" name="q" size="23" maxlength="255" value="Suchbegriffe eingeben" 
     onfocus="this.value = ''" class="all">
    <BR clear=all class="all">
    <INPUT type="submit" value="Google Suche" class="all" onclick="newtarget()">
  </FORM>
</CENTER>
</DIV>
<!-- Search Google --> 
</BODY></HTML>
/div>
  </FRAMESET>
</FRAMESET>

<NOFRAMES>
<BODY>
No frames - No games
<P>
</BODY></NOFRAMES></HTML>


Error: No site found with the domain 'test.basti1012.bplaced.net' (Learn more)