<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sevenXblog</title>
	<atom:link href="http://sevenx.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://sevenx.de/blog</link>
	<description>by Rico Loschke</description>
	<lastBuildDate>Mon, 22 Apr 2013 14:20:34 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Webprojekt &#8211; Inventum Dresden</title>
		<link>http://sevenx.de/blog/webprojekt-inventum-dresden/</link>
		<comments>http://sevenx.de/blog/webprojekt-inventum-dresden/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 14:15:39 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[sevenXnews]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[sevenx]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://sevenx.de/blog/?p=500</guid>
		<description><![CDATA[Das Relaunch der Website für das Beratungsunternehmen Inventum-Dresden ist vollbracht. Maßgabe bei der Gestaltung war ein seriöses und schlichtes Design, welches die Aufmerksamkeit des Besuchers schnell auf die entsprechenden Inhalte lenkt. Die Website wurde als SinglePage Konzept umgesetzt, was Ladezeiten auf ein Minimum reduziert und schnelle Navigation ermöglicht. Als zusätzliches Merkmal wurde die Website responsive [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://sevenx.de/blog/wp-content/uploads/2013/03/21-03-2013-18-48-26.jpg" class="lightbox" ><img class="alignleft size-medium wp-image-505" alt="21-03-2013 18-48-26" src="http://sevenx.de/blog/wp-content/uploads/2013/03/21-03-2013-18-48-26-300x160.jpg" width="300" height="160" /></a>Das Relaunch der Website für das Beratungsunternehmen Inventum-Dresden ist vollbracht. Maßgabe bei der Gestaltung war ein seriöses und schlichtes Design, welches die Aufmerksamkeit des Besuchers schnell auf die entsprechenden Inhalte lenkt. Die Website wurde als SinglePage Konzept umgesetzt, was Ladezeiten auf ein Minimum reduziert und schnelle Navigation ermöglicht. Als zusätzliches Merkmal wurde die Website responsive gestaltet und passt sich somit automatisch vom Smartphone bis zum Desktop PC dem Ausgabegerät an.</p>
<p><a class="btn btn-primary" href="http://www.inventum-dresden.de" target="_blank">Website besuchen</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/webprojekt-inventum-dresden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jKit &#8211; all inclusive jQuery Toolkit &#8211; das bessere jQuery UI</title>
		<link>http://sevenx.de/blog/jkit-all-inclusive-jquery-toolkit-das-bessere-jquery-ui/</link>
		<comments>http://sevenx.de/blog/jkit-all-inclusive-jquery-toolkit-das-bessere-jquery-ui/#comments</comments>
		<pubDate>Sun, 14 Apr 2013 15:06:17 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Demo]]></category>
		<category><![CDATA[jKit]]></category>

		<guid isPermaLink="false">http://sevenx.de/blog/?p=668</guid>
		<description><![CDATA[Vor ca. 1,5 Monat stieß ich auf jKit, einem jQuery UI Toolkit, was laut seinem Autor Fredi Bach 99% aller Feature enthält die man für die eigene Website benötigt. Deshalb möchte ich im Folgenden auf dieses Toolkit eingehen und ein paar Anwendungsbeispiele erklären. Die Möglichkeiten sind unheimlich groß, von A wie Animation bis Z wie [...]]]></description>
				<content:encoded><![CDATA[<p>Vor ca. 1,5 Monat stieß ich auf <a href="http://jquery-jkit.com/" target="_blank">jKit</a>, einem jQuery UI Toolkit, was laut seinem Autor <a href="http://fredibach.ch/" target="_blank">Fredi Bach</a> 99% aller Feature enthält die man für die eigene Website benötigt. Deshalb möchte ich im Folgenden auf dieses Toolkit eingehen und ein paar Anwendungsbeispiele erklären. Die Möglichkeiten sind unheimlich groß, von A wie Animation bis Z wie Zoom ist alles enthalten. Das Toolkit deckt alles ab was das Webdesigner Herz begehrt. Neben den Standard jQuery Modulen wie Tabs, Accordion, Slideshow oder Lightbox, enthält es auch Kommandos für Filter, Pagination, Sortierung, Formular Validierung und Tooltips. Dazu kommen noch eine ganze Reihe weiterer Module, aber ich denke mit vorangegangenen habe ich schon die wichtigsten und häufigst verwendeten genannt.</p>
<h3>Download</h3>
<p>Als Download werden <a href="http://jquery-jkit.com/pages/download.php" target="_blank">3 jKit Varianten</a> angeboten, eine komplett Version, die quasi alle Anwendungen in sich vereint. Daneben gibt es eine Autoload Version, welche sich die benötigten Komponenten automatisch lädt, wenn sie benötigt werden und es gibt die Möglichkeit sich einen Custom Download mit den Wunschkomponenten zusammenzustellen. Ich verwende die <a href="http://jquery-jkit.com/jquery.jkit.1.2.9.tar.gz" target="_blank">Vollversion</a>, da sie meiner Meinung nach mit 64kb als minified Datei alltagstauglich ist. Wers kleiner mag, kommt auf ca. 17kb mit einer gzipped Datei. Die Autoload Variante klingt auch sehr verlockend und ist mit 12kb als minified Datei sogar noch kleiner.</p>
<h3>Einbinden und Initialisieren</h3>
<p></p><pre class="crayon-plain-tag">&lt;link href="css/jkit.css" rel="stylesheet" type="text/css" /&gt;

&lt;script src="http://code.jquery.com/jquery-1.9.1.min.js"&gt;&lt;/script&gt;
&lt;script src="js/jquery.jkit.1.2.9.min.js"&gt;&lt;/script&gt;

&lt;script type="text/javascript"&gt;
$(document).ready(function(){
    $('body').jKit();
});
&lt;/script&gt;</pre><p>Und das wars auch schon mit Einbinden, denn die<strong> erste Besonderheit</strong> ist, dass die jkit Module <strong>inline </strong>initialisiert, dazu wird sich innerhalb eines html tags, des <strong>data-jkit</strong> Attributs bedient, welches das entsprechende Modul angibt und auch direkt alle Optionen des Moduls in sich aufnimmt. Zu jedem Modul gibt es eine Standard Konfiguration so dass es meist nur nötig ist das Modul selbst anzugeben: Zum Beispiel: <strong>data-jkit = [ lightbox ] </strong></p>
<p>Bevor ich mit den Beispielen beginne, ein Hinweis auf einen weiteren großen Unterschied zu anderen jQuery Toolkits und/oder Plugins. <strong>jKit reduziert sich auf die Funktion und kommt quasi ungestylt. </strong>Viele Module von jKit benötigen kein CSS, dort wo ein CSS Schnipsel notwendig ist, findet man ein Beispiel in der Dokumentation des entsprechenden Moduls. Das CSS Schnipsel ist dabei auf das Nötigste beschränkt, so dass man es im weiteren Verlauf voll und ganz an die eigenen Bedürfnisse anpassen kann. Für mich als Webdesigner ist das ein Riesenvorteil, da der Zeitaufwand der CSS Anpassung bei der Verwendung verschiedener Plugins, welche alle ihren eigenen Style haben deutlich größer ist. In der Download Version ist bereits eine CSS Datei vorhanden, ich verwende in meinen Projekten aber eine eigene &#8220;jkit.css&#8221;, die letztendlich nur die jKit CSS Schnipsel enthält, welche ich tatsächlich benötige .</p>
<p><a class="btn btn-primary" href="http://sevenx.de/demo/jkit/jkit-demo.html" target="_blank">Demo &#8211; jKit Beispiele</a> (Auszug)</p>
<h3>jKit &#8211; Ausreizen durch Kombinieren</h3>
<p>Durch die Kombination der jKit Module reizt man die Möglichkeiten des Toolkits erst richtig aus.  Die Verwendung ist dabei genauso einfach, man reiht einfach die Module innerhalb des HTML Tags aneinander. Beispiel: <strong>data-jkit = [ lightbox ] [ tooltip ] </strong>Folgendes Beispiel zeigt die Kombination von jKit Modulen zu einer Datatable.</p>
<p><a class="btn btn-primary" href="http://sevenx.de/demo/jkit/jkit-datatable.html" target="_blank">Demo &#8211; jKit Datatable</a></p>
<h3>Fazit</h3>
<p>Für mich gehört jKit zu den absoluten Aufsteigern auf dem Markt der jQuery Toolkits. Die Verwendung ist sehr einfach, auch wenn die inline Initialisierung nicht jedermanns Sache sein dürfte. Die Möglichkeit Module miteinander zu kombinieren, lässt viel Raum für Experimente und Spielereien. <a href="http://fredibach.ch/" target="_blank">Fredi Bach</a> hat in meinen Augen nicht zuviel versprochen, wenn er sagt, dass jKit 99% aller jQuery Feature abdeckt, die man als Webdesigner benötigt. Bleibt zu hoffen, dass <a href="http://fredibach.ch/" target="_blank">Fredi Bach</a> die Möglichkeit findet, das Projekt weiter zu forcieren und das sich um jKit herum eine starke Community bildet. Ich werde die Entwicklung auf jeden Fall weiter verfolgen und auch im Produktiveinsatz werde ich regelmäßig auf jKit zurückgreifen.</p>
<p><a class="btn btn-danger" href="http://jquery-jkit.com/" target="_blank">jKit Website</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/jkit-all-inclusive-jquery-toolkit-das-bessere-jquery-ui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Bootstrap &#8211; Thumbnail Hover Caption mit Tooltip</title>
		<link>http://sevenx.de/blog/tutorial-bootstrap-thumbnail-hover-caption-mit-tooltip/</link>
		<comments>http://sevenx.de/blog/tutorial-bootstrap-thumbnail-hover-caption-mit-tooltip/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 19:28:51 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[tooltip]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://sevenx.de/blog/?p=631</guid>
		<description><![CDATA[Mittlerweile sieht man den Effekt fast auf jeder Seite, überfährt mit der Maus ein Bild, gibt es einen Hovereffekt. Manchmal nur als Rückmeldung manchmal mit zusätzlichen Informationen. Das folgende Tutorial zeigt, wie man auf einfache Art und Weise diesen Effekt in ein Bootstrap Template einbaut. Dabei wird sich auf ein Minimum an zusätzlichen CSS Klassen [...]]]></description>
				<content:encoded><![CDATA[<p>Mittlerweile sieht man den Effekt fast auf jeder Seite, überfährt mit der Maus ein Bild, gibt es einen Hovereffekt. Manchmal nur als Rückmeldung manchmal mit zusätzlichen Informationen. Das folgende Tutorial zeigt, wie man auf einfache Art und Weise diesen Effekt in ein Bootstrap Template einbaut. Dabei wird sich auf ein Minimum an zusätzlichen CSS Klassen und Containern beschränkt, so dass man beim Styling auf die vorhandenen Bootstrap Klassen zurückgreifen kann. Hier vorab eine Vorschau: <a class="label label-warning" href="http://sevenx.de/demo/bootstrap/thumbnail-hover-caption.html" target="_blank">Demo</a></p>
<h3>HTML Markup &#8211; Thumbnail Grid</h3>
<p>Das erstellen eines fließenden Thumbnail Grids ist einfach in Bootstrap. Hier bediene ich mich eines Code Schnipsels von <a href="http://bootsnipp.com/snipps/thumbnails-like-bootsnipp" target="_blank">Bootsnipp</a> welches die Thumbnails in einer Liste ausgibt.</p><pre class="crayon-plain-tag">&lt;ul class="thumbnails" id="hover-cap-4col"&gt;
&lt;li class="span3"&gt;
  &lt;div class="thumbnail"&gt;
    &lt;div class="caption"&gt;
        &lt;h4&gt;Caption Title&lt;/h4&gt;
        &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.&lt;/p&gt;
        &lt;p&gt;&lt;a href="#" class="btn btn-inverse" rel="tooltip" title="Preview"&gt;&lt;i class="icon-eye-open"&gt;&lt;/i&gt;&lt;/a&gt; &lt;a href="#" rel="tooltip" title="Visit Website" class="btn btn-inverse"&gt;&lt;i class="icon-share"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;img src="http://placehold.it/600x400" alt="ALT NAME"&gt;
  &lt;/div&gt;
  &lt;h4&gt;Item Name&lt;/h4&gt;
&lt;/li&gt;
...
weitere Elemente
...
&lt;/ul&gt;</pre><p>Wie zu sehen ist, wird sich hier fast ausschließlich vorhandener Bootstrap Elemente bedient. Zwei Ausnahmen; ich gebe meiner Thumbnails Liste eine &#8220;<strong>id</strong>&#8220;, damit ich sie im weiteren Verlauf gezielt per jQuery ansprechen kann. Das zweite Nicht-Bootstrap Element sind die Container &#8220;<strong>caption</strong>&#8221; innerhalb jedes &#8220;<strong>thumbnail</strong>&#8221; Listenelements. Im &#8220;caption&#8221; Container sind die Infos enthalten, welche beim Mausover angezeigt werden sollen. Also eine Überschrift, ein kleiner Beschreibungstext sowie zwei Links. Die Links sind als Bootstrap Button gestaltet und enthalten &#8220;<strong>rel=&#8217;tooltip</strong>&#8216;&#8221; und ein &#8220;<strong>title</strong>&#8221; Attribut, was später für die Ausgabe der Tooltips notwendig ist.</p>
<h3>Ein bisschen CSS</h3>
<p></p><pre class="crayon-plain-tag">#hover-cap-4col .thumbnail {
	position:relative;
	overflow:hidden;	
}
.caption {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.4);
	width: 100%;
	height: 100%;
	color:#fff !important;
}</pre><p>Was tun wir hier? Wir weisen dem &#8220;thumbnail&#8221; Container <strong>position=&#8221;relative&#8221;</strong> zu, damit wir darin enthaltene Elemente absolute ausrichten können. Zusätzlich wird mit <strong>overflow=&#8221;hidden&#8221;</strong> verhindert, dass evtl. zu lange Inhalte des &#8220;caption&#8221; Containers abgeschnitten werden. Der &#8220;caption&#8221; Container wird standardmäßig über <strong>display=&#8221;none&#8221; </strong>ausgeblendet, er soll ja erst beim Mausover angezeigt werden, das erledigt später jQuery für uns. Ansonsten wird in der &#8220;caption&#8221; Klasse die Größe gesteuert, in diesem Fall 100% Höhe und Breite, damit das ganze Bild überlappt wird. Hintergrundfarbe und Schriftfarbe ist hier nach Wunsch möglich.</p>
<h3>Ein bisschen jQuery</h3>
<p>Mit jQuery erzeugen wir nun den Effekt, so dass sich der &#8220;caption&#8221;  Container beim Hover über das Thumbnail legt. Gleichzeitig initialisieren wir den Bootstrap Tooltip, damit beim Hover der beiden Buttons ein schicker Tooltip erscheint.</p><pre class="crayon-plain-tag">&lt;script src="http://code.jquery.com/jquery-1.9.1.min.js"&gt;&lt;/script&gt;
&lt;script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
$(document).ready(function(){

	$("[rel='tooltip']").tooltip();	

	$('#hover-cap-4col .thumbnail').hover(
		function(){
			$(this).find('.caption').slideDown(250); //.fadeIn(250)
		},
		function(){
			$(this).find('.caption').slideUp(250); //.fadeOut(205)
		}
	);	

});		
&lt;/script&gt;</pre><p>Wir beginnen natürlich mit dem Einbindung von jQuery und des Bootstrap Javascriptes. Im Beispielcode oben beides über CDN, hier könnt ihr natürlich auch eure lokale Version einbinden. Nachdem die Seite also geladen ist, wird als erstes der Tooltip initialisiert und zwar betrifft das alles Link mit dem Attribut &#8220;<strong>rel=&#8217;tooltip</strong>&#8216;. Angezeigt wird der Inhalte des &#8220;title&#8221; Attributes. Der Rest ist schnell erklärt. Ich generiere eine jQuery hover Funktion wenn ich mit der Maus über die Class &#8220;thumbnail&#8221; fahre, wenn diese sich innheralb meiner Liste mit der angegeben ID befindet, in meinem Fall id=&#8221;hover-cap-4col&#8221;. Erste Funktion regelt &#8220;mouseenter&#8221;, die zweite entsprechend &#8220;mouseleave&#8221;.</p>
<h3>Schlussbemerkung</h3>
<p>Die gezeigte Variante sollte mit allen Thumbnail Grid Varianten funktionieren, also egal ob ihr 6 Spalten Thumbnails oder nur 2 Spalten habt. Im Demo sind entsprechend ein paar Varianten eingebaut. Die Demoseite könnt ihr speichern, sie greift komplett auf CDN Quellen zurück, so dass ihr ohne zusätzliche Files direkt eine lauffähige Version habt. Auf responsive Design wurde das Script nicht optimiert, da ich es so einfach wie möglich halten wollte. Je nach Bildschirmauflösung sollte hier noch ein paar Anpassungen vorgenommen werden. Schriftgröße der Überschrift, evtl. Ausblenden des  Beschreibungstextes usw.</p>
<p><a href="http://sevenx.de/demo/bootstrap/thumbnail-hover-caption.html" target="_blank" class="btn btn-large btn-primary">DEMO</a></p>
<div class="alert alert-info"><strong class="font-blue-dark">Hinweis in eigener Sache!</strong><br />
Das Script ist meine persönliche Lösung, ich erhebe keinen Anspruch darauf, dass diese auch die Beste ist. Änderungen, Verbesserungen und Optimierungen am Script sind ausdrücklich erlaubt. Die Benutzung des Scriptes erfolgt auf eigene Gefahr. Für eventuelle Schäden, die durch den Einsatz bzw. die Nutzung des Scriptes entstehen, übernehme ich keine Haftung.</div>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/tutorial-bootstrap-thumbnail-hover-caption-mit-tooltip/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial: Bootstrap styled jQuery Auto Scroll to Top Link</title>
		<link>http://sevenx.de/blog/tutorial-bootstrap-styled-jquery-auto-scroll-to-top-link/</link>
		<comments>http://sevenx.de/blog/tutorial-bootstrap-styled-jquery-auto-scroll-to-top-link/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 23:07:01 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[scroll]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://sevenx.de/blog/?p=522</guid>
		<description><![CDATA[Dieser Beitrag zeigt eine einfache Möglichkeit einen mit Bootstrap stylebaren automatischen Scroll to Top Link zu generieren. Zusätzlich wird es die Möglichkeit geben im Content Bereich der Website Links zu platzieren die ebenfalls an den Seitenanfang scrollen. Das Tutorial basiert auf den jQuery Plugin UItoTop von Matt Varone. Ich habe es ein wenig aufgebohrt um [...]]]></description>
				<content:encoded><![CDATA[<p>Dieser Beitrag zeigt eine einfache Möglichkeit einen mit Bootstrap stylebaren automatischen Scroll to Top Link zu generieren. Zusätzlich wird es die Möglichkeit geben im Content Bereich der Website Links zu platzieren die ebenfalls an den Seitenanfang scrollen. Das Tutorial basiert auf den<a href="http://mattvarone.com/web-design/uitotop-jquery-plugin/" target="_blank"> jQuery Plugin UItoTop von Matt Varone</a>. Ich habe es ein wenig aufgebohrt um es flexibler zu machen. Es handelt sich um ein Standalone Plugin, ist also in keinster Weise auf Bootstrap angewiesen, alles hier gezeigte bezieht sich allerdings auf Bootstrap, sollte aber für jede andere Seite adaptierbar sein. Hier eine Vorschau: <a class="label label-warning" title="Scroll to Top Demo" href="http://sevenx.de/demo/bootstrap/top-scroll.html" target="_blank">Demo</a></p>
<h3>Schritt 1</h3>
<p>Ladet euch die Datei <a href="http://demo.sevenx.de/files/scroll-top.js" target="_blank">scroll-top.js</a> herunter. Sie beinhaltet bereits das <a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">Easing Plugin</a>, um das Scrollen etwas effektvoller gestalten zu können. Das Plugin selbst ist auf Easing nicht angewiesen funktioniert also auch ohne dieses Zusatzplugin. Jetzt noch jQuery und scroll-top.js verlinken und initialisieren.</p><pre class="crayon-plain-tag">&lt;script src="http://code.jquery.com/jquery-1.9.1.min.js"&gt;&lt;/script&gt;

&lt;script src="js/scroll-top.js"&gt;&lt;/script&gt;

&lt;!-- Initialisieren --&gt;
&lt;script type="text/javascript"&gt;

   $(document).ready(function(){

      $('.top').UItoTop();

   });

&lt;/script&gt;</pre><p></p>
<h3>Schritt 2</h3>
<p>Zur Positionierung des automatischen Scroll to Top Links ist ein wenig CSS notwendig. Das folgende Schnipsel beinhaltet 3 CSS IDs, wobei jede für eine bestimmte Position steht, wie der Name erkennen lässt. Dieses Schnipsel in eure vorhandene CSS Datei einbinden und schon ist Scroll to Top einsatzfähig.</p><pre class="crayon-plain-tag">/* TO TOP*/
#toTop-right {
	display:none;
	text-decoration:none;
	position:fixed;
	bottom:20px;
	right:20px;
	outline:none;
}
#toTop-left {
	display:none;
	text-decoration:none;
	position:fixed;
	bottom:20px;
	left:20px;
	outline:none;
}
#toTop-center {
	display:none;
	text-decoration:none;
	position:fixed;
	bottom:10px;
	left:50%;
	margin-left:-20px; /*Feintuning je nach Inhalt */
	outline:none;
}</pre><p></p>
<h3>Einstellungen Autolink</h3>
<p></p><pre class="crayon-plain-tag">var defaults = {			
   autoLinkPos: 'toTop-right', //toTop-left, toTop-center
   autoLinkClass: 'btn btn-large btn-danger', // example:'badge badge-warning' 'label label-info'
   autoLinkText: 'nach oben', //Linktext, optional wenn Icon vorhanden   
   autoLinkIcon: 'icon-chevron-up icon-white', //Bootstrap Icon, optional wenn Text vorhanden
   easingType: 'easeOutBounce',  //default without Easing: 'linear' or 'swing'		
   min: 400, //Anzahl gescrollter Pixel bis zum Einblenden
   inDelay:500,
   outDelay:500,
   scrollSpeed: 750, //Scrolldauer
   contentLinkClass: 'top' //class Name der manuellen Contentlinks
};</pre><p>Ab Zeile 5 der <a href="http://demo.sevenx.de/files/scroll-top.js" target="_blank">scroll-top.js</a> findet ihr die Einstellungen für den automatisch generierten Scroll to Top Link. Im Grunde sollten die Einstellungen selbst erklärend sein, entsprechende Kommentare sind hinzugefügt. Über <strong>autoLinkPos</strong> lässt sich die Position des eingeblendeten Links steuern, dafür haben wir vorhin die 3 CSS IDs eingefügt. Im weiteren wird über <strong>autoLinkClass</strong> das Aussehen des Links festgelegt, hier ist die komplette Bootstrap Palette möglich. Im Demo wird dafür ein großer Button verwendet. Wenn keine Klasse gesetzt ist, wird auf die Bootstrap Formatierung eines normalen Links zurückgegriffen. Wie der Code Kommentar zeigt, bieten sich hier auch Bootstrap Badges oder Bootstrap Labels an. Über <strong>autoLinkText</strong> und <strong>autoLinkIcon</strong> wird der Inhalt des Links gesteuert. Es kann entweder Text oder Icon oder beides gesetzt werden. Eine Übersicht aller Bootstrap Icons sowie deren Verwendung findet ihr unter <a href="http://twitter.github.com/bootstrap/base-css.html#icons" target="_blank">Bootstrap Glyphicons</a>. Der <strong>easingType</strong> legt den Scrolleffekt fest. Solltet Ihr kein Easing benutzen wollen, könnt ihr das Easing Plugin auch aus der scroll-top.js löschen. Dann müsst ihr allerdings bei <strong>easingType</strong> einen der Standartwerte <em>linear</em> oder <em>swing</em> setzen. Der Wert <strong>min</strong> legt fest nach wieviel vertikal gescrollten Pixel der automatische Scroll to Top Link erscheinen soll. Das waren die wichtigsten Einstellungen.</p>
<h3>Manueller Scroll to Top Link</h3>
<p>Das setzen manueller Links ist im Grunde an jeder geeigneten Stelle im Code möglich. Auch beim Aussehen kann auf die komplette Bootstrap Palette zurückgegriffen werden. Wichtig dabei ist dem Link neben den Bootstrap Klassen auch die <strong>class=&#8221;top&#8221;</strong> zu übergeben. Nachfolgend die Linkbeispiele aus dem <a class="label label-warning" title="Scroll to Top Demo" href="http://sevenx.de/demo/bootstrap/top-scroll.html" target="_blank">Demo</a>.</p><pre class="crayon-plain-tag">&lt;a href="#" class="top btn btn-warning"&gt;&lt;i class="icon-arrow-up icon-white"&gt;&lt;/i&gt; nach oben&lt;/a&gt;

&lt;a href="#" class="top label label-info pull-right"&gt;Seitenanfang&lt;/a&gt;

&lt;a href="#" class="top badge badge-success"&gt;&lt;i class="icon-circle-arrow-up icon-white"&gt;&lt;/i&gt; nach oben&lt;/a&gt;</pre><p></p>
<div class="alert alert-info"><strong class="font-blue-dark">Hinweis in eigener Sache!</strong><br />
Das Script ist meine persönliche Lösung, ich erhebe keinen Anspruch darauf, dass diese auch die Beste ist. Änderungen, Verbesserungen und Optimierungen am Script sind ausdrücklich erlaubt. Die Benutzung des Scriptes erfolgt auf eigene Gefahr. Für eventuelle Schäden, die durch den Einsatz bzw. die Nutzung des Scriptes entstehen, übernehme ich keine Haftung.</div>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/tutorial-bootstrap-styled-jquery-auto-scroll-to-top-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webprojekt: Sarad GmbH &#8211; mehrsprachig, individuelles CMS</title>
		<link>http://sevenx.de/blog/webprojekt-sarad-gmbh-mehrsprachig-individuelles-cms/</link>
		<comments>http://sevenx.de/blog/webprojekt-sarad-gmbh-mehrsprachig-individuelles-cms/#comments</comments>
		<pubDate>Fri, 22 Mar 2013 11:07:01 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[sevenXnews]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Fundstücke]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[mehrsprachig]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sevenx]]></category>

		<guid isPermaLink="false">http://sevenx.de/blog/?p=506</guid>
		<description><![CDATA[Das Website Redesign für die Sarad GmbH ist abgeschlossen. SevenX hat dabei Gestaltung und Programmierung übernommen. Die Website basiert auf einem Datenbank gestütztem System, welches sich über ein internes Content Management System (CMS) vom Kunden selbst pflegen und warten lässt. Das individuelle CMS beinhaltet die komplette Produkt- und Softwareverwaltung,  sowie einen Dateimanager für Bedienungsanleitungen und [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://sevenx.de/blog/wp-content/uploads/2013/03/sarad.jpg" class="lightbox" ><img class="alignleft size-thumbnail wp-image-507" alt="sarad" src="http://sevenx.de/blog/wp-content/uploads/2013/03/sarad-150x150.jpg" width="150" height="150" /></a>Das Website Redesign für die Sarad GmbH ist abgeschlossen. SevenX hat dabei Gestaltung und Programmierung übernommen. Die Website basiert auf einem Datenbank gestütztem System, welches sich über ein internes Content Management System (CMS) vom Kunden selbst pflegen und warten lässt.</p>
<p>Das individuelle CMS beinhaltet die komplette Produkt- und Softwareverwaltung,  sowie einen Dateimanager für Bedienungsanleitungen und Datenblätter.  Neben der Produktverwaltung wurde auch eine Newsverwaltung in das CMS integriert. Besondere Herausforderung bei der Programmierung der Website war, dass alle Inhalte in 6 Sprachen zur Verfügung gestellt werden. Dazu wurde im CMS eine Sprachverwaltung integriert, welche es ermöglicht alle relevanten Informationen in die entsprechende Sprache zu übersetzen. Die Sprachverwaltung enthält eine Fallback Lösung, sprich sollte eine Sprache (noch) nicht übersetzt sein, wird auf eine voreingestellt Standardsprache zurückgegriffen, so dass es nicht zu leeren Inhalten kommt. Die Sprachverwaltung ist modular aufgebaut und kann jederzeit um weitere Sprachen ergänzt werden. Die Umschaltung erfolgt bequem über ein Flaggenauswahl auf der Website.</p>
<p>Aufgrund dieser Anforderungen an Funktion und einfachste Bedienung wurde das System komplett individuell geplant und programmiert.</p>
<p><a href="http://sarad.de" target="_blank" class="btn btn-primary">Website besuchen</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/webprojekt-sarad-gmbh-mehrsprachig-individuelles-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xampp Problem &#8211; Apache startet nicht &#8211; Port belegt</title>
		<link>http://sevenx.de/blog/xampp-problem-apache-startet-nicht-port-belegt/</link>
		<comments>http://sevenx.de/blog/xampp-problem-apache-startet-nicht-port-belegt/#comments</comments>
		<pubDate>Wed, 12 Dec 2012 12:00:50 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Problem]]></category>
		<category><![CDATA[Start]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Xampp]]></category>

		<guid isPermaLink="false">http://www.sevenx.de/blog/?p=355</guid>
		<description><![CDATA[Nachfolgendes Tutorial beschreibt mögliche Lösungsansätze, wenn sich der Apache über das Control Panel von Xampp nicht starten lässt oder nach Start direkt wieder abschaltet. Dieses Problem hatte ich selbst, so dass die hier beschriebenen Ansätze ziemlich genau meine Vorgehensweise widerspiegeln. Die hier dargestellten Infos sind aus vielen verschiedenen Foren zusammengetragen. Bei keinem Forum habe ich [...]]]></description>
				<content:encoded><![CDATA[<p>Nachfolgendes Tutorial beschreibt mögliche Lösungsansätze, wenn sich der Apache über das Control Panel von Xampp nicht starten lässt oder nach Start direkt wieder abschaltet. Dieses Problem hatte ich selbst, so dass die hier beschriebenen Ansätze ziemlich genau meine Vorgehensweise widerspiegeln. Die hier dargestellten Infos sind aus vielen verschiedenen Foren zusammengetragen. Bei keinem Forum habe ich aber eine zusammenfassende Anleitung gefunden, dieser Beitrag soll das nachholen.</p>
<p><span id="more-355"></span></p>
<h3>Hintergrund</h3>
<p>Der Apache Webserver benutzt voreingestellt die Ports 80 und 443. Jeder Port (Netzwerkadresse, Anschluss) kann nur einmal verwendet werden. Da die Xampp Installation ne runde Sache ist und es dabei erfahrungsgemäß nicht zu Fehlern kommt, ist die Ursache meist darin zu suchen, dass andere Programme (Software) die Ports 80 und/oder 443 bereits verwenden, was den Start des Apache natürlich verhindert.</p>
<h3>Programme auf Portverwendung überprüfen</h3>
<p>Einige Programme sind bekannt dafür, die von Apache benötigten Ports zu benutzen und damit zu blockieren. Die folgende Liste zeigt Programme die erfahrungsgemäß eine Doppelbelegung der oben genannten Ports verursachen.</p>
<ul>
<li>Skype</li>
<li>Kaspersky AntiVirus</li>
<li>Zone Alarm Firewall</li>
<li>manche McAfee Versionen</li>
<li>Download Programme mit Webfrontend (Emule, Kazaa usw)</li>
<li>XP Antispy</li>
</ul>
<p>Dieser Auszug zeigt Programme die sicher auf vielen Rechnern verwendet werden, darüber hinaus lässt sich die Liste bestimmt noch um einige Einträge erweitern. Gehen wir ans Werk.</p>
<h4>Skype</h4>
<p><a href="http://sevenx.de/blog/wp-content/uploads/2010/12/skype-optionen.png" class="lightbox" ><img class="alignleft size-medium wp-image-357 post_thumb" title="Skype Einstellungen" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/12/skype-optionen-300x255.png" width="300" height="255" /></a>Skype reserviert standardmäßig nach der Installation die Ports 80 und 443 als Alternative für eingehende Verbindungen. Diese Einstellung lässt sich über Optionen aufheben.</p>
<p>Skype Einstellungen über AKTIONEN / OPTIONEN aufrufen und dann unter der Auswahl ERWEITERT / VERBINDUNG das Häkchen bei &#8220;Ports 80 und 443&#8230;&#8221; entfernen, als letztes Skype neustarten.</p>
<h4>Kaspersky AntiVirus</h4>
<p>Im Hintergrund startet Kaspersky das Programm &#8220;Guardian&#8221;, welches offensichtlich mit dem Port 443 interagiert. Laut Auskunft von Kaspersky sollte das nicht der Fall sein. Erfahrungen anderer Benutzer zeigen aber, dass eine Deaktivierung des &#8220;Guardian&#8221; oft hilfreich ist um den Apache zu starten.</p>
<h4>Zone Alarm</h4>
<p>ist ein Firewall Programm, was den Einbruch von außen verhindern soll. Aus diesem Grund macht Zone Alarm auch erstmal so gut wie alle Ports dicht. Das Programm bedarf daher einer sorgfältigen Konfiguration, da es sonst sicher auch über Xampp hinaus bei anderen Programmen (z.B. Dreamweaver) zu Problemen kommen kann. Ich selbst nutze ZoneAlarm nicht, daher kann ich nur aus einer früheren Erfahrung sprechen. Da war es so, dass ZoneAlarm beim Startversuch des Apache direkt mit einem Warnhinweis ansprang. Dort hatte ich die Auswahl dieses Programm auf Vertrauenswürdig zu stellen, was die entsprechenden Ports mit einschließt. Manuell kann man Ports meines Wissens nur bei Zone Alarm Pro freigeben, dort über:<br />
<em>ControlCenter &#8212; Firewall &#8212; Main &#8212; Custom</em></p>
<p><strong>Erfolg gehabt? </strong>Am besten nach den einzelnen Versuchen den Rechner neustarten, um sicher zu gehen, dass Änderungen auch übernommen wurden.</p>
<h3>Weitere Maßnahmen</h3>
<p>Sollten die typischen oben genannten Programme nicht für die Port Blockierung verantwortlich sein, muss der Sache etwas genauer auf den Grund gegangen werden. Schaue wir dazu etwas tiefer ins System.</p>
<p><a href="http://sevenx.de/blog/wp-content/uploads/2010/12/eingabeaufforderung.png" class="lightbox" ><img class="alignleft size-medium wp-image-369 post_thumb" title="Windows Eingabeaufforderung" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/12/eingabeaufforderung-300x151.png" width="300" height="151" /></a><a href="http://sevenx.de/blog/wp-content/uploads/2010/12/port-check.png" class="lightbox" ><img class="alignleft size-medium wp-image-375 post_thumb" title="Ports überprüfen" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/12/port-check-300x151.png" width="300" height="151" /></a><a href="http://sevenx.de/blog/wp-content/uploads/2010/12/programm-finden.png" class="lightbox" ><img class="alignleft size-medium wp-image-378 post_thumb" title="programm-finden" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/12/programm-finden-300x151.png" width="300" height="151" /></a><a href="http://sevenx.de/blog/wp-content/uploads/2010/12/taskmanager.png" class="lightbox" ><img class="alignleft size-medium wp-image-389 post_thumb" title="Taskmanager" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/12/taskmanager-300x170.png" width="300" height="170" /></a>Eingabeaufforderung<br />
<strong>Variante 1:</strong><br />
Windows Taste + R / &#8220;cmd&#8221; Befehl ausführen<br />
<strong>Variante 2:</strong><br />
Start/Programme/Zubehör/Eingabeaufforderung</p>
<h4>Ports überprüfen</h4>
<p>Im nächsten Schritt geht es darum die belegten Ports zu überprüfen. Dazu tippen wir in die Eingabeaufforderung folgenden Befehl ein und bestätigen mit ENTER:<br />
<strong><em>netstat -a -n -o</em></strong></p>
<p>In meinem Schaubild ist in Zeile 2 der Aktiven Verbindungen zu erkennen das der Port (lokale Adresse) 443 von einem Programm belegt ist. Das Programm selbst ist in der letzten Spalte mit einer ID hinterlegt. In meinem Fall ID 2692.</p>
<h4>Programm identifizieren</h4>
<p>Als nächstes muss das Programm welches meinen Port belegt identifiziert werden. Dazu benötigen wir die PID aus dem Schaubild vorher. Folgende Befehlszeile identifiziert das Programm:<br />
<em><strong>tasklist /fi &#8220;PID eq 2692&#8243;</strong></em><br />
Im dritten Schaubild wird das Ergebnis nach bestätigen mit ENTER angezeigt. Mein Port 443 wird also von einem Programm names PMB.exe (Pando Media Booster) blockiert.  Das kann bei euch natürlich auch ein ganz anderes Programm sein. Im nächsten Schritt geht es darum dieses Programm zu deaktivieren um für den Apache den entsprechenden Port freizugeben. Hier ist etwas Vorsicht geboten, da es sich um ein laufendes Programm handelt. Das Beenden über den folgend gezeigten Weg führt dazu, dass evtl. nicht gespeicherte Daten des Programms verloren gehen.</p>
<h4>Taskmanager</h4>
<p>Im Taskmanager bekommt man einen Überblick über die laufenden Programme und im Hintergrund laufende Prozesse. Aufruf des Taskmanagers erfolgt über die Tastenkombination <em><strong>STRG + ALT + ENTF</strong></em>. Wechselt in der folgenden Ansicht dann auf das Register <strong><em>Prozesse</em></strong>. Jetzt muss unter Prozesse nur noch das vorhin identifizierte Programm gesucht werden, bei mir ist die PMB.exe direkt ohne zu scrollen zu erkennen.</p>
<h4>Programm deaktivieren</h4>
<p>Mit der Maus das entsprechende Programm im Taskmanager markieren und dann unten rechts auf <em><strong>PROZESS BEENDEN</strong></em> klicken. Hier ist ein wenig Vorsicht geboten, da die Form der Prozessbeendigung zu Instabilität des Rechners führen kann. In der Regel belegen aber keine wichtigen Systemprogramme die Ports 80/443, so dass es nur in den seltensten Fällen zu Problemen mit Windows kommen wird.</p>
<p>Solltet ihr feststellen, dass sowohl Port 80 als auch Port 443 blockiert sind, müsst ihr die Schritte natürlich für beide Ports durchführen und die entsprechenden Programme beenden. Gleiches gilt für den Standard MySQL Port 3306, falls sich auch MySQL über das Xampp Panel nicht starten lassen will.</p>
<h3>Abschließende Maßnahmen</h3>
<p><a href="http://sevenx.de/blog/wp-content/uploads/2010/12/autostart.png" class="lightbox" ><img class="alignleft size-medium wp-image-390 post_thumb" title="Autostart Systemkonfiguration" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/12/autostart-300x195.png" width="300" height="195" /></a>Wenn das Programm eh unnütz ist, dann einfach deinstallieren, somit habt ihr die Ports dauerhaft frei. Wollt ihr das Programm behalten überprüft ob es sich beim Systemstart (Windows) automatisch aktiviert, was im Umkehrschluss bedeutet, dass es vor jedem Apache Start deaktiviert werden muss. Ihr könnt den automatischen Start des Programms auch deaktivieren. Dazu <em><strong>Windows Taste + R</strong></em> aufrufen, <em><strong>msconfig </strong></em>eingeben und mit <em><strong>Enter </strong></em>bestätigen, wählt dann das Register <strong><em>Systemstart </em></strong>und sucht nach dem entsprechenden Programm. Bei mir steht der Pando Media Booster tatsächlich im Systemstart drin. Falls ihr anhand des Programmnamens nichts passendes findet, könnt ihr die <strong><em>Befehl</em></strong> Spalte breiter ziehen, dort findet ihr den Namen der .exe Datei, wie sie auch in der Eingabeaufforderung angezeigt wurde. Aus dem Systemstart entfernt wird das Programm jetzt in dem ich einfach den Haken entferne und mit OK bestätige. Diese Änderung wird erst nach einem Neustart des Rechners gültig.</p>
<p>Ich hoffe ich konnte helfen, wenn ja nutzt ruhig die Kommentarfunktion.</p>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/xampp-problem-apache-startet-nicht-port-belegt/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Tutorial: Einfach mit PHP Ordner auslesen und Dateien und Bilder anzeigen.</title>
		<link>http://sevenx.de/blog/tutorial-einfach-mit-php-ordner-auslesen-und-dateien-und-bilder-anzeigen/</link>
		<comments>http://sevenx.de/blog/tutorial-einfach-mit-php-ordner-auslesen-und-dateien-und-bilder-anzeigen/#comments</comments>
		<pubDate>Tue, 23 Oct 2012 10:07:46 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[Fundstücke]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.sevenx.de/blog/?p=295</guid>
		<description><![CDATA[Mit PHP ist es auf einfache Art und Weise möglich einen Ordner auszulesen und dessen Inhalt auch entsprechend anzeigen zu lassen. Ich habe das Thema etwas aufgebohrt und möchte hier ein paar verschiedene Möglichkeiten darstellen. Mein Code bezieht sich auf die aktuelle 5er PHP Version, wer tatsächlich noch mit PHP 4 arbeitet, sollte schleunigst ein [...]]]></description>
				<content:encoded><![CDATA[<p>Mit PHP ist es auf einfache Art und Weise möglich einen Ordner auszulesen und dessen Inhalt auch entsprechend anzeigen zu lassen. Ich habe das Thema etwas aufgebohrt und möchte hier ein paar verschiedene Möglichkeiten darstellen. Mein Code bezieht sich auf die aktuelle 5er PHP Version, wer tatsächlich noch mit PHP 4 arbeitet, sollte schleunigst ein Update vornehmen. Das ist eine Frage der Sicherheit und Funktionalitäten werden mit Versionsupdates auch nicht weniger.<span id="more-295"></span></p>
<p><span style="line-height: 1.714285714; font-size: 1rem;">Zur Demonstration habe ich im Hauptordner 3 Unterordner angelegt.</span></p>
<ul>
<li>&#8220;files&#8221; = Dokumente und Zip-Datei</li>
<li>&#8220;images&#8221; = Bildateien (jpg)</li>
<li>&#8220;mixed&#8221; = Dokumente und Bilddateien gemischt</li>
</ul>
<p>Im weiteren werde ich jetzt auf diese Ordner zugreifen und eine einfache Ausgabe der darin enthaltenen Dateien erzeugen. Besonders beim &#8220;images&#8221; Ordner habe ich mit ein bisschen jQuery und CSS eine gute Möglichkeit das ganze auch noch schick zu präsentieren, aber dazu später mehr. Fangen wir an!</p>
<h3>Einleitung &#8211; einfache Ausgabe</h3>
<p>Mit Version 5 hielt die Funktion <strong>scandir()</strong> Einzug in die PHP Welt. Diese liest den angegebenen Ordner aus und bildet einen Array mit den Dateien im Ordner. Mit einer <strong>foreach</strong> Schleife kann ich diesen Array nun ausgeben lassen und so mit 3 Zeilen Code den Inhalt eines Ordners anzeigen lassen.</p><pre class="crayon-plain-tag">&lt;?php
$alledateien = scandir('files'); //Ordner "files" auslesen

foreach ($alledateien as $datei) { // Ausgabeschleife
   echo $datei."&lt;br /&gt;"; //Ausgabe Einzeldatei
};

?&gt;</pre><p>Standardmäßig wird der mit <strong>scandir()</strong> gebildete Array alphabetisch aufsteigend sortiert. Hier kann ich durch den zusätzlichen Parameter <strong>1</strong> die Sortierung auch umkehren. Und so sieht das Ganze bisher in Aktion aus: <a class="lightbox highlight" href="http://demo.sevenx.de/folder2view/simple_output.php?lightbox[iframe]=true&amp;lightbox[width]=680&amp;lightbox[height]=400">Beispielseite</a> Wie im Beispiel zu sehen, werden neben den &#8220;echten&#8221; Dateien auch &#8220;.&#8221;, &#8220;..&#8221; ausgelesen. Die stören natürlich etwas, aber soviel erstmal zur Einleitung.</p>
<h3>Dateien aus Ordner auslesen und ausgeben</h3>
<h4>Anzeige als Liste inkl. Dateigröße, Dateityp und Direktverlinkung</h4>
<p>Jetzt soll das Ganze zu einer sinnvollen Anzeige erweitert werden. Dazu sind folgende Ergänzungen im Code notwendig.</p>
<ul>
<li>Ordnername zur Wiederverwendung in Variable speichern</li>
<li>Dateiinformationen mit pathinfo() Funktion abfragen</li>
<li>Dateigröße mit filsize() Funktion ermitteln und umrechnen</li>
<li>&#8220;.&#8221; und &#8220;..&#8221; Ordner von Anzeige ausschließen</li>
<li>HTML ergänzen &#8211; Ausgabe als Liste mit Links zur Datei</li>
</ul>
<h4>Code</h4>
<p></p><pre class="crayon-plain-tag">&lt;ul&gt;
&lt;?php
// Ordnername 
$ordner = "files"; //auch komplette Pfade möglich ($ordner = "download/files";)

// Ordner auslesen und Array in Variable speichern
$alledateien = scandir($ordner); // Sortierung A-Z
// Sortierung Z-A mit scandir($ordner, 1)               				

// Schleife um Array "$alledateien" aus scandir Funktion auszugeben
// Einzeldateien werden dabei in der Variabel $datei abgelegt
foreach ($alledateien as $datei) {

	// Zusammentragen der Dateiinfo
	$dateiinfo = pathinfo($ordner."/".$datei); 
	//Folgende Variablen stehen nach pathinfo zur Verfügung
	// $dateiinfo['filename'] =Dateiname ohne Dateiendung  *erst mit PHP 5.2
	// $dateiinfo['dirname'] = Verzeichnisname
	// $dateiinfo['extension'] = Dateityp -/endung
	// $dateiinfo['basename'] = voller Dateiname mit Dateiendung

	// Größe ermitteln zur Ausgabe
	$size = ceil(filesize($ordner."/".$datei)/1024); 
	//1024 = kb | 1048576 = MB | 1073741824 = GB

	// scandir liest alle Dateien im Ordner aus, zusätzlich noch "." , ".." als Ordner
	// Nur echte Dateien anzeigen lassen und keine "Punkt" Ordner
	// _notes ist eine Ergänzung für Dreamweaver Nutzer, denn DW legt zur besseren Synchronisation diese Datei in den Orndern ab
	if ($datei != "." &amp;&amp; $datei != ".."  &amp;&amp; $datei != "_notes") { 
	?&gt;
    &lt;li&gt;&lt;a href="&lt;?php echo $dateiinfo['dirname']."/".$dateiinfo['basename'];?&gt;"&gt;&lt;?php echo $dateiinfo['filename']; ?&gt;&lt;/a&gt; (&lt;?php echo $dateiinfo['extension']; ?&gt; | &lt;?php echo $size ; ?&gt;kb)&lt;/li&gt;
&lt;?php
	};
 };
?&gt;     
&lt;/ul&gt;</pre><p>Übrigens bin ich kein Freund davon umfangreiche HTML Ausgaben in echo Befehle zu packen, deshalb trenne ich PHP von HTML soweit das möglich ist. Und so sieht es jetzt noch ohne CSS aus.<br />
<a class="lightbox button" href="http://demo.sevenx.de/folder2view/files.php?lightbox[iframe]=true&amp;lightbox[width]=400&amp;lightbox[height]=300">Demo</a></p>
<h3>Bilder aus Ordner auslesen und anzeigen</h3>
<h4>Anzeigen als Vorschau inkl. Dateiname, Dateigröße und Direktverlinkung</h4>
<p>Befinden sich ausschließlich Bilder im Ordner ist der Code von der Dateianzeige oben genauso für den Bilderordner verwendbar. Einzig die HTML Ausgabe innerhalb der foreach Schleife ändert sich ein wenig.</p>
<h4>Code</h4>
<p></p><pre class="crayon-plain-tag">&lt;ul id="galerie"&gt;
&lt;?php
// Ordnername 
$ordner = "images"; //auch komplette Pfade möglich ($ordner = "download/files";)

// Ordner auslesen und Array in Variable speichern
$allebilder = scandir($ordner); // Sortierung A-Z
// Sortierung Z-A mit scandir($ordner, 1)               				

// Schleife um Array "$alledateien" aus scandir Funktion auszugeben
// Einzeldateien werden dabei in der Variabel $datei abgelegt
foreach ($allebilder as $bild) {

	// Zusammentragen der Dateiinfo
	$bildinfo = pathinfo($ordner."/".$bild); 
	//Folgende Variablen stehen nach pathinfo zur Verfügung
	// $dateiinfo['filename'] =Dateiname ohne Dateiendung  *erst mit PHP 5.2
	// $dateiinfo['dirname'] = Verzeichnisname
	// $dateiinfo['extension'] = Dateityp -/endung
	// $dateiinfo['basename'] = voller Dateiname mit Dateiendung

	// Größe ermitteln für Ausgabe
	$size = ceil(filesize($ordner."/".$bild)/1024); 
	//1024 = kb | 1048576 = MB | 1073741824 = GB

	// scandir liest alle Dateien im Ordner aus, zusätzlich noch "." , ".." als Ordner
	// Nur echte Dateien anzeigen lassen und keine "Punkt" Ordner
	// _notes ist eine Ergänzung für Dreamweaver Nutzer, denn DW legt zur besseren Synchronisation diese Datei in den Orndern ab
	// Thumbs.db ist eine Ergänzung unsichtbare Dateiergänzung die von ACDSee kommt
	// um weitere ungewollte Dateien von der Anzeige auszuschließen kann man die if Funktion einfach entsprechend erweitern
	if ($bild != "." &amp;&amp; $bild != ".."  &amp;&amp; $bild != "_notes" &amp;&amp; $bildinfo['basename'] != "Thumbs.db") { 
	?&gt;
    &lt;li&gt;
        &lt;a href="&lt;?php echo $bildinfo['dirname']."/".$bildinfo['basename'];?&gt;"&gt;
        &lt;img src="&lt;?php echo $bildinfo['dirname']."/".$bildinfo['basename'];?&gt;" width="140" alt="Vorschau" /&gt;&lt;/a&gt; 
        &lt;span&gt;&lt;?php echo $bildinfo['filename']; ?&gt; (&lt;?php echo $size ; ?&gt;kb)&lt;/span&gt;
    &lt;/li&gt;
&lt;?php
	};
 };
?&gt;
&lt;/ul&gt;</pre><p>Mit ein bisschen CSS lässt sich die ausgegebene Liste ein bisschen schicker darstellen.</p>
<h4>CSS Code</h4>
<p></p><pre class="crayon-plain-tag">&lt;style type="text/css"&gt;
ul#galerie {
	padding:0;
	margin:0;
	list-style-type:none;
	font-family:Arial, Helvetica, sans-serif;
}
ul#galerie li{
	padding: 3px;
	background-color:#ebebeb;
	border:1px solid #CCC;
	float:left;
	margin:0 10px 10px 0;	
}
ul#galerie li:hover{
	border:1px solid #333;
}
ul#galerie li span{
	display:block;
	text-align:center;
	font-size:10px;
}
ul#galerie li a img{
		border:none;
}
&lt;/style&gt;</pre><p><a class="lightbox button" href="http://demo.sevenx.de/folder2view/images.php?lightbox[iframe]=true&amp;lightbox[width]=890&amp;lightbox[height]=600">Demo</a></p>
<h4>Weitere Beispiel</h4>
<p>Ergänzt man den Code um ein bisschen jQuery in dem man auf <a href="http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html" target="_blank">Slideviewer</a>, <a href="http://jquery.malsup.com/cycle/" target="_blank">Slideshow</a> oder <a href="http://leandrovieira.com/projects/jquery/lightbox/" target="_blank">Lightbox</a> Plugins zurückgreift wird die Anzeige eines Bilderordners eine runde Sache. Zusätzlich kann man die Vorschaubilder mit dem genialen <a href="http://www.binarymoon.co.uk/projects/timthumb/" target="_blank">timthumb</a> Script dynamisch generieren lassen und so auch das angezeigte Format vereinheitlichen, was sehr nützlich ist, wenn sich im Ordner Bilder verschiedener Dimensionen oder Ausrichtungen befinden.</p>
<p>Hier nun ein paar Anwendungsbeispiele die oben genannter Scripte bedienen.</p>
<ul>
<li><a class="lightbox highlight" href="http://demo.sevenx.de/folder2view/images_slideshow.php?lightbox[iframe]=true&amp;lightbox[width]=900&amp;lightbox[height]=640">Slideshow</a></li>
<li><a class="lightbox highlight" href="http://demo.sevenx.de/folder2view/images_slideviewer.php?lightbox[iframe]=true&amp;lightbox[width]=900&amp;lightbox[height]=640">Slideviewer</a></li>
<li><a class="lightbox highlight" href="http://demo.sevenx.de/folder2view/images_lightbox.php?lightbox[iframe]=true&amp;lightbox[width]=890&amp;lightbox[height]=600">Vorschau mit Lightbox Vergrößerung</a></li>
</ul>
<h3>Bilder und Dateien aus Ordner auslesen und anzeigen</h3>
<h4>Bilder mit Vorschau und Dateien als Liste</h4>
<p>Um die Ausgabe flexibler zu gestalten ist es natürlich zu empfehlen Bilder und anderen Dateien in verschiedenen Ordnern abzulegen. Wenn dies nicht geht, gibt es auch eine relativ einfache Form die Ausgabe von Bildern und Dateien zu trennen.</p>
<h4>Code</h4>
<p></p><pre class="crayon-plain-tag">&lt;?php
$ordner = "mixed";
$alledateien = scandir($ordner);          				

foreach ($alledateien as $datei) {
	$dateiinfo = pathinfo($ordner."/".$datei); 
	$size = ceil(filesize($ordner."/".$datei)/1024); 
	if ($datei != "." &amp;&amp; $datei != ".."  &amp;&amp; $datei != "_notes" &amp;&amp; $bildinfo['basename'] != "Thumbs.db") { 

			//Bildtypen sammeln
			$bildtypen= array("jpg", "jpeg", "gif", "png");
			//Dateien nach Typ prüfen, in dem Fall nach Endungen für Bilder filtern
			if(in_array($dateiinfo['extension'],$bildtypen))
  			{
	?&gt;
            &lt;div class="galerie"&gt;
                &lt;a href="&lt;?php echo $dateiinfo['dirname']."/".$dateiinfo['basename'];?&gt;"&gt;
                &lt;img src="&lt;?php echo $dateiinfo['dirname']."/".$dateiinfo['basename'];?&gt;" width="140" alt="Vorschau" /&gt;&lt;/a&gt; 
                &lt;span&gt;&lt;?php echo $dateiinfo['filename']; ?&gt; (&lt;?php echo $size ; ?&gt;kb)&lt;/span&gt;
            &lt;/div&gt;
    		&lt;?php 
			// wenn keine Bildeindung dann normale Liste für Dateien ausgeben
			} else { ?&gt;
            &lt;div class="file"&gt;
            	&lt;a href="&lt;?php echo $dateiinfo['dirname']."/".$dateiinfo['basename'];?&gt;"&gt;&amp;raquo &lt;?php echo $dateiinfo['filename']; ?&gt;&lt;/a&gt; (&lt;?php echo $dateiinfo['extension']; ?&gt; | &lt;?php echo $size ; ?&gt;kb)
            &lt;/div&gt;
            &lt;?php } ?&gt;
&lt;?php
	};
 };
?&gt;</pre><p>Die HTML Ausgabe erfolgt hier mit Hilfe von DIV Bereichen, das ist für die Variante flexibler, weil die Benutzung von Listen auf Grund der unterschiedlichen Styles nicht ohne Umstand möglich ist.</p>
<h4>CSS Code</h4>
<p></p><pre class="crayon-plain-tag">&lt;style type="text/css"&gt;
div.galerie{
	padding: 3px;
	background-color:#ebebeb;
	border:1px solid #CCC;
	float:left;
	margin:10px 10px 0  0;
	font-family:Arial, Helvetica, sans-serif;	
}
div.galerie:hover{
	border:1px solid #333;
}
div.galerie span{
	display:block;
	text-align:center;
	font-size:10px;
}
div.galerie a img{
		border:none;
}
div.file {
	padding:4px 4px 4px 30px;
}
div.file.even{
	background-color: #ebebeb;
}
div.file a {
	text-decoration:none;
}
div.file:hover {
	background-color:#CCC;
}
&lt;/style&gt;</pre><p>Noch ein wenig jQuery hinzugefügt um dynamisch alternierende Hintergrundfarben für die Dateien zu generieren.</p>
<h4>jQuery Code</h4>
<p></p><pre class="crayon-plain-tag">&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
$(document).ready(function() {
	$('.file:even').addClass('even');
});
&lt;/script&gt;</pre><p>Und so sieht es aus!<br />
<a class="lightbox button" href="http://demo.sevenx.de/folder2view/mixed.php?lightbox[iframe]=true&amp;lightbox[width]=680&amp;lightbox[height]=480">Demo</a></p>
<h3>Download</h3>
<p>Enthalten sind alle hier gezeigten Beispiele sowie alle dafür notwendigen Dateien. Der Code ist kommentiert und sollte keine Fragen offen lassen. Wenn doch gilt wie immer: Bei Fragen fragen!<br />
<a class="btn btn-large btn-primary" href="http://demo.sevenx.de/downloads/sevenXdemo_folder2view.zip">Download</a></p>
<div class="alert alert-info"><strong class="font-blue-dark">Hinweis in eigener Sache!</strong><br />
Das Script ist meine persönliche Lösung, ich erhebe keinen Anspruch darauf, dass diese auch die Beste ist. Änderungen, Verbesserungen und Optimierungen am Script sind ausdrücklich erlaubt. Die Benutzung des Scriptes erfolgt auf eigene Gefahr. Für eventuelle Schäden, die durch den Einsatz bzw. die Nutzung des Scriptes entstehen, übernehme ich keine Haftung.</div>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/tutorial-einfach-mit-php-ordner-auslesen-und-dateien-und-bilder-anzeigen/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>HDR Fotos leicht gemacht mit Photoshop und iPhone</title>
		<link>http://sevenx.de/blog/hdr-fotos-leicht-gemacht-mit-photoshop-und-iphone/</link>
		<comments>http://sevenx.de/blog/hdr-fotos-leicht-gemacht-mit-photoshop-und-iphone/#comments</comments>
		<pubDate>Sun, 21 Oct 2012 16:09:04 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Bilder]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[Fotos]]></category>
		<category><![CDATA[HDR]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://www.sevenx.de/blog/?p=236</guid>
		<description><![CDATA[HDR-Konvertierung mit Photoshop CS5 Das neue Photoshop CS5 bringt ein paar nützliche neue Werkzeuge mit. Mir gefällt vor allem die Funktion zur HDR Tonung, mit der man aus einfachen Fotos bezaubernde HDR Ergebnisse erzielen kann. Aufrufen lässt sich der Filter über BILD/Korrekturen/HDR-Tonung. In der folgenden Palette sind eine ganze Menge an Einzelfiltern vorhanden. Ganz oben [...]]]></description>
				<content:encoded><![CDATA[<h3>HDR-Konvertierung mit Photoshop CS5</h3>
<p><a title="Originalbild (Biarritz / Frankreich)" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Original.jpg" class="lightbox" ><img class="alignleft size-thumbnail wp-image-245 post_thumb" title="IMG_1157_Original" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Original-150x150.jpg" width="150" height="150" /></a>Das neue Photoshop CS5 bringt ein paar nützliche neue Werkzeuge mit. Mir gefällt vor allem die Funktion zur HDR Tonung, mit der man aus einfachen Fotos bezaubernde HDR Ergebnisse erzielen kann. Aufrufen lässt sich der Filter über <strong>BILD/Korrekturen/HDR-Tonung</strong>. In der folgenden Palette sind eine ganze Menge an Einzelfiltern vorhanden. Ganz oben unter <strong>VORGABEN</strong> sind bereits fertige Filtersets vorhanden.  Ein paar dieser Sets habe ich auf das Artikelbild angewendet. Ich habe bewusst ein relativ farb- und kontrastloses Bild gewählt, um die Möglichkeiten der HDR-Tonung zu veranschaulichen. Am meisten Spaß macht es allerdings die Regler selbst zu bedienen und seiner Kreativität freien Lauf zu lassen. Je nach Motiv kann man hier die unterschiedlichsten Ergebnisse erzielen. Weiter unten findet ihr dazu noch eine kleine Galerie mit weiteren Bildern die ich einer HDR Konvertierung unterzogen.<span id="more-236"></span></p>
<h4>HDR-Tonung Galerie</h4>
<div id="attachment_248" class="wp-caption alignleft" style="width: 160px"><a title="Surreal" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Surreal.jpg" class="lightbox" ><img class="size-thumbnail wp-image-248  post_thumb" title="IMG_1157_Surreal" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Surreal-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Surreal</p></div>
<div id="attachment_249" class="wp-caption alignleft" style="width: 160px"><a title="Surreal hoher Kontrast" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Surreal_High_Kontrast.jpg" class="lightbox" ><img class="size-thumbnail wp-image-249  post_thumb" title="IMG_1157_Surreal_High_Kontrast" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Surreal_High_Kontrast-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Surreal hoher Kontrast</p></div>
<div id="attachment_240" class="wp-caption alignleft" style="width: 160px"><a title="Foto hoher Kontrast" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Foto_High_Kontrast.jpg" class="lightbox" ><img class="size-thumbnail wp-image-240  post_thumb" title="IMG_1157_Foto_High_Kontrast" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Foto_High_Kontrast-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Foto hoher Kontrast</p></div>
<div id="attachment_241" class="wp-caption alignleft" style="width: 160px"><a title="Foto geringer Kontrast" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Foto_Low_Kontrast.jpg" class="lightbox" ><img class="size-thumbnail wp-image-241  post_thumb" title="IMG_1157_Foto_Low_Kontrast" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Foto_Low_Kontrast-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Foto geringer Kontrast</p></div>
<div id="attachment_250" class="wp-caption alignleft" style="width: 160px"><a title="Surreal geringer Kontrast" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Surreal_Low_Kontrast.jpg" class="lightbox" ><img class="size-thumbnail wp-image-250  post_thumb" title="IMG_1157_Surreal_Low_Kontrast" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Surreal_Low_Kontrast-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Surreal geringer Kontrast</p></div>
<div id="attachment_243" class="wp-caption alignleft" style="width: 160px"><a title="Monochrom Künstlerisch" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Mono_Art.jpg" class="lightbox" ><img class="size-thumbnail wp-image-243  post_thumb" title="IMG_1157_Mono_Art" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Mono_Art-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Monochrom Künstlerich</p></div>
<div id="attachment_244" class="wp-caption alignleft" style="width: 160px"><a title="Monochrom hoher Kontrast" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Mono_High_Kontrast.jpg" class="lightbox" ><img class="size-thumbnail wp-image-244  post_thumb" title="IMG_1157_Mono_High_Kontrast" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Mono_High_Kontrast-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Monochrom hoher Kontrast</p></div>
<div id="attachment_242" class="wp-caption alignleft" style="width: 160px"><a title="Gesättigt" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Gesaettigt.jpg" class="lightbox" ><img class="size-thumbnail wp-image-242  post_thumb" title="IMG_1157_Gesaettigt" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Gesaettigt-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Gesättigt</p></div>
<div id="attachment_247" class="wp-caption alignleft" style="width: 160px"><a title="stärker gesättigt" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Stark_Gesaettigt.jpg" class="lightbox" ><img class="size-thumbnail wp-image-247  post_thumb" title="IMG_1157_Stark_Gesaettigt" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Stark_Gesaettigt-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">stärker gesättigt</p></div>
<div id="attachment_239" class="wp-caption alignleft" style="width: 160px"><a title="custom made" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Custom.jpg" class="lightbox" ><img class="size-thumbnail wp-image-239  post_thumb" title="IMG_1157_Custom" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Custom-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">custom made</p></div>
<div id="attachment_238" class="wp-caption alignleft" style="width: 160px"><a title="custom made" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Custom2.jpg" class="lightbox" ><img class="size-thumbnail wp-image-238  post_thumb" title="IMG_1157_Custom2" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Custom2-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">custom made</p></div>
<div id="attachment_264" class="wp-caption alignleft" style="width: 160px"><a title="custom made" href="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Custom3.jpg" class="lightbox" ><img class="size-thumbnail wp-image-264  post_thumb" title="IMG_1157_Custom3" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/IMG_1157_Custom3-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">custom made</p></div>
<div class="clearfix"></div>
<h4>Mehr Bilder</h4>
<p><a class="lightbox button" href="http://demo.sevenx.de/demos/hdr-galerie.htm?lightbox[iframe]=true&amp;lightbox[width]=860&amp;lightbox[height]=660">Galerie</a></p>
<div class="clr"></div>
<h3>iPhone &#8211; HDR Fotos</h3>
<p><img class="alignleft size-thumbnail wp-image-274" title="hdr-pro_icon" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr-pro_icon-150x150.jpg" width="150" height="150" /> Im HDR Rausch von Photoshop wollte ich natürlich auch die mobilen Möglichkeiten wissen. Als iPhone Nutzer ist man vom vielfältigen Angebot im App-Store ja verwöhnt. Kurz nach HDR gesucht und tatsächlich gibt es schon einige Apps die diese Funktion auf dem iPhone ermöglichen soll. Ich hab mich für HDR Pro entschieden, die kostet 1,59 € und hat 4 Sterne Bewertung. Die <a href="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr-pro-bedienung.jpg" class="lightbox" >Bedienung </a>ist denkbar einfach, vor allem dann wenn man Auto HDR Modus wählt. iPhone ruhig halten, es werden zwei Bilder geschossen und im Anschluss kann man über zusätzliche Regler noch weitere Optimierungen zu Kontrast und Farbgebung vornehmen. Gesagt getan kann man das Bild dann speichern oder direkt per Email verschicken. Je nach Einstellung in den Optionen sogar mit bis zu 2044&#215;1525 Pixel. Nicht schlecht sind auch die Ergebnisse.</p>
<div class="clr"></div>
<div id="attachment_281" class="wp-caption alignleft" style="width: 160px"><a href="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr_foto_15.jpg" class="lightbox" ><img class="size-thumbnail wp-image-281 post_thumb" title="hdr_foto_15" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr_foto_15-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">iPhone HDR-Pro App</p></div>
<div id="attachment_280" class="wp-caption alignleft" style="width: 160px"><a href="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr_foto_17.jpg" class="lightbox" ><img class="size-thumbnail wp-image-280 post_thumb" title="hdr_foto_17" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr_foto_17-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">iPhone HDR-Pro App</p></div>
<div id="attachment_282" class="wp-caption alignleft" style="width: 160px"><a href="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr_foto_16.jpg" class="lightbox" ><img class="size-thumbnail wp-image-282 post_thumb" title="hdr_foto_16" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/10/hdr_foto_16-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">iPhone HDR-Pro App</p></div>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/hdr-fotos-leicht-gemacht-mit-photoshop-und-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Kontakt Formular mit UTF-8 als Email verschicken (jQuery powered)</title>
		<link>http://sevenx.de/blog/php-kontakt-formular-mit-utf-8-als-email-verschicken-jquery-powered/</link>
		<comments>http://sevenx.de/blog/php-kontakt-formular-mit-utf-8-als-email-verschicken-jquery-powered/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 19:28:44 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[Contact]]></category>
		<category><![CDATA[Form]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[Validation]]></category>

		<guid isPermaLink="false">http://www.sevenx.de/blog/?p=180</guid>
		<description><![CDATA[Hier geht es jetzt darum ein Formular per PHP als Email zu verschicken. Da sich im Web der UTF-8 Zeichensatz immer mehr als Standard durchsetzt, kommt es beim Benutzen der PHP mail() Funktion zu einigen unschönen Ausgabeproblemen der Umlaute und Sonderzeichen.  Im Internet stößt man auf die abenteuerlichsten Lösungen, die auch alle ihre Berechtigung haben. [...]]]></description>
				<content:encoded><![CDATA[<p><span style="line-height: 1.714285714; font-size: 1rem;">Hier geht es jetzt darum ein Formular per PHP als Email zu verschicken. Da sich im Web der UTF-8 Zeichensatz immer mehr als Standard durchsetzt, kommt es beim Benutzen der PHP mail() Funktion zu einigen unschönen Ausgabeproblemen der Umlaute und Sonderzeichen.  Im Internet stößt man auf die abenteuerlichsten Lösungen, die auch alle ihre Berechtigung haben. Die hier gezeigte Lösung soll zu einem schnellen Ergebnis führen und dabei auch für den weniger PHP begabten Nutzer nachvollziehbar sein. Also kurz ein Formular erstellt.</span><br />
<span id="more-180"></span></p>
<h3>HTML Code</h3>
<pre class="brush: xml; title: ; notranslate">

&lt;form id=&quot;form&quot; action=&quot;form2email.php&quot; method=&quot;post&quot;&gt;
&lt;label for=&quot;name&quot;&gt;Name&lt;/label&gt;
&lt;input id=&quot;name&quot; name=&quot;name&quot; size=&quot;25&quot; type=&quot;text&quot; /&gt;
&lt;label for=&quot;email&quot;&gt;Email&lt;/label&gt;
&lt;input id=&quot;email&quot; name=&quot;email&quot; size=&quot;25&quot; type=&quot;text&quot; /&gt;
&lt;label for=&quot;betreff&quot;&gt;Betreff&lt;/label&gt;
&lt;input id=&quot;betreff&quot; name=&quot;betreff&quot; size=&quot;25&quot; type=&quot;text&quot; /&gt;
&lt;label for=&quot;nachricht&quot;&gt;Nachricht&lt;/label&gt;
&lt;textarea id=&quot;nachricht&quot; cols=&quot;50&quot; rows=&quot;6&quot; name=&quot;nachricht&quot;&gt;&lt;/textarea&gt;
&lt;input id=&quot;submit&quot; name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Formular senden&quot; /&gt;
&lt;/form&gt;
</pre>
<h3>PHP Code</h3>
<pre class="brush: php; title: ; notranslate">
// Ausführen wenn Formular gesendet
if (isset($_POST[&quot;submit&quot;]))
{

// Sammeln der Formulardaten
$an = &quot;meine@email.de&quot;;
$name = $_POST['name'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];

// Mailheader UTF-8 fähig machen
$mail_header = 'From:' . $email . &quot;n&quot;;
$mail_header .= 'Content-type: text/plain; charset=UTF-8' . &quot;rn&quot;;

// Nachrichtenlayout erstellen
$message = &quot;
Name: 		$namen
Email: 		$emailn
Nachricht: 	$nachrichtn
&quot;;

// Verschicken der Mail
mail($an, $betreff, $message, $mail_header );
};
</pre>
<h3>Hinweis</h3>
<p>Der gezeigte Code löst das Umlautproblem durch Erweiterung des Mailheaders, mehr nicht. Ein schickes Webformular sollte natürlich mehr bieten. Als erstes gehört eine Validierung der Eingaben in das Formular. Dazu gibt es schicke auf jQuery basierende Javascript Lösungen. Hier ein Fundstück mit <a title="jQuery Formular Validierung Plugins" href="http://www.blogrammierer.de/jquery-die-10-besten-formular-validierungsplugins/" target="_blank">jQuery Formular-Validierungs-Plugins</a>. Um sich vor Spammern zu schützen sollte man auch noch ein Captcha nutzen. Mein Favorit ist eindeutig das <a title="s3Captcha jQuery" href="http://serie3.info/s3capcha/" target="_blank">jQuery &#8211; s3Captcha</a>.</p>
<p>Im Demo könnt ihr das Kontaktformular als Komplettpaket sehen, sprich mit Validierung und Captcha. Das Download Paket enthält neben der oben im Code gezeigten Variante auch dieses &#8220;ready to use&#8221; Komplettpaket. Wie immer gilt&#8230;bei Fragen fragen!</p>
<p><a class="lightbox button" href="http://demo.sevenx.de/form2email/full_form2email.php?lightbox[iframe]=true&amp;lightbox[width]=800&amp;lightbox[height]=600">Demo</a> </p>
<p><a class="btn btn-primary btn-large" href="http://demo.sevenx.de/downloads/sevenXdemo_form2email.zip">Download</a></p>
<div class="alert alert-info"><strong class="font-blue-dark">Hinweis in eigener Sache!</strong><br />
Das Script ist meine persönliche Lösung, ich erhebe keinen Anspruch darauf, dass diese auch die Beste ist. Änderungen, Verbesserungen und Optimierungen am Script sind ausdrücklich erlaubt. Die Benutzung des Scriptes erfolgt auf eigene Gefahr. Für eventuelle Schäden, die durch den Einsatz bzw. die Nutzung des Scriptes entstehen, übernehme ich keine Haftung.</div>
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/php-kontakt-formular-mit-utf-8-als-email-verschicken-jquery-powered/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Office Tipps: Postleitzahl mit 0 aus Excel in Word Serienbrief einfügen</title>
		<link>http://sevenx.de/blog/office-tipps-postleitzahl-mit-0-aus-excel-in-word-serienbrief-einfugen/</link>
		<comments>http://sevenx.de/blog/office-tipps-postleitzahl-mit-0-aus-excel-in-word-serienbrief-einfugen/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 09:01:49 +0000</pubDate>
		<dc:creator>sevenx</dc:creator>
				<category><![CDATA[Demos & Tutorials]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.sevenx.de/blog/?p=124</guid>
		<description><![CDATA[Heute war es wieder soweit. Beim Erstellen eines Serienbriefes mit einer EXCEL Datenquelle wurden alle Postleitzahlen mit führender 0 nicht korrekt importiert, sondern nur als 4 stellige Zahl ohne eben diese 0 dargestellt. So kommt der Brief natürlich beim Empfänger an. Wie üblich bemühte ich Google um mir bei dem Problem weiterzuhelfen. Nachdem mich die [...]]]></description>
				<content:encoded><![CDATA[<p>Heute war es wieder soweit. Beim Erstellen eines Serienbriefes mit einer EXCEL Datenquelle wurden alle Postleitzahlen mit führender 0 nicht korrekt importiert, sondern nur als 4 stellige Zahl ohne eben diese 0 dargestellt. So kommt der Brief natürlich beim Empfänger an. Wie üblich bemühte ich Google um mir bei dem Problem weiterzuhelfen. Nachdem mich die ersten Beiträge auf die richtige Spur gebracht hatten, erinnerte ich mich auch wieder an die Vorgehensweise bei diesem Problem. Vielleicht hat der ein oder andere auch mit damit zu kämpfen. Für diejenigen und wahrscheinlich beim nächsten Serienbrief für mich selbst folgende kleine Anleitung.<span id="more-124"></span></p>
<p><strong>Kurzanleitung zu Office Word 2007<br />
</strong></p>
<div id="attachment_120" class="wp-caption alignleft" style="width: 310px"><a class="lightbox" title="office_excel_plz_serie_1" href="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_1.jpg"><img class="size-medium wp-image-120 post_thumb " title="office_excel_plz_serie_1" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_1-300x193.jpg" width="300" height="193" /></a><p class="wp-caption-text">Office Button und dann Word-Optionen wählen</p></div>
<div id="attachment_121" class="wp-caption alignleft" style="width: 310px"><a class="lightbox" title="office_excel_plz_serie_2" href="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_2.jpg"><img class="size-medium wp-image-121 post_thumb " title="office_excel_plz_serie_2" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_2-300x202.jpg" width="300" height="202" /></a><p class="wp-caption-text">Im Register “Erweitert” unter der Überschrift “Allgemein” das Häkchen setzen bei “Dateikonvertierung beim Öffnen bestätigen”</p></div>
<div id="attachment_122" class="wp-caption alignleft" style="width: 310px"><a class="lightbox" title="office_excel_plz_serie_3" href="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_3.jpg"><img class="size-medium wp-image-122 post_thumb" title="office_excel_plz_serie_3" alt="Datenquelle auswählen" src="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_3-300x180.jpg" width="300" height="180" /></a><p class="wp-caption-text">Datenquelle anbinden &#8211; entsprechende Excel Tabelle auswählen</p></div>
<div id="attachment_123" class="wp-caption alignleft" style="width: 310px"><a class="lightbox" title="office_excel_plz_serie_4" href="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_4.jpg"><img class="size-medium wp-image-123 post_thumb" title="office_excel_plz_serie_4" alt="" src="http://sevenx.de/blog/wp-content/uploads/2010/02/office_excel_plz_serie_4-300x200.jpg" width="300" height="200" /></a><p class="wp-caption-text">Option: MS-EXCEL Arbeitsblätter über DDE auswählen</p></div>
<div class="clearfix"></div>
<p>Das wars auch schon, wenn jetzt der Adressblock in den Serienbrief eingefügt wird, erscheinen alle Postleitzahlen ordnungsgemäß mit führender 0.<br />
Wenn noch Fragen sind Kommentar posten.</p>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://sevenx.de/blog/office-tipps-postleitzahl-mit-0-aus-excel-in-word-serienbrief-einfugen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
