<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2germanfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    
    <title>blattertech informatik Blog</title>
    <link href="http://www.blattertech.ch/template/images/bt_web_icon.ico" rel="shortcut icon" type="image/x-icon" /> 
    <link>http://www.blattertech.ch</link>    <description>Informationen und Snipplets zu CMS Made Simple, Typo3, PHP, MySQL, IT Support und weiteres</description> <lastBuildDate>Wed, 22 Feb 2012 19:18:09 +0100</lastBuildDate>
    <copyright>BlatterTech Informatik</copyright>    <generator>CGFeedMaker 1.0.14 on CMS Made Simple</generator>                  <image>
	<description>Informationen und Snipplets zu CMS Made Simple, Typo3, PHP, MySQL, IT Support und weiteres</description>        <link>http://www.blattertech.ch</link>        <title>blattertech informatik Blog</title>
        <url>http://www.blattertech.ch/uploads/CGFeedMaker/blattertech.png</url>
      </image>
    


               
 
        
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BlattertechInformatikBlog" /><feedburner:info uri="blattertechinformatikblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBlattertechInformatikBlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/BlattertechInformatikBlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBlattertechInformatikBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><item>
      <title>CSS3: Breadcrumbs</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/DAyg85QnoCI/CSS3-Breadcrumbs.htm</link>
      <comments>http://www.blattertech.ch/blog/62/CSS3-Breadcrumbs.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Eine Breadcrumbs Navigation ist nützlich um dem Benutzer zu zeigen wo er in der hierarchischen Struktur einer Webseite befindet. Er kann über die Breadcrumbs Navigation zurück auf ein höheres Level wechseln.</p>
<p>Mit der CSS3 Breadcrumbs Navigation kann dies in ähnlichem Stil wie die Breadcrumbs Navigation von Apple ohne zusätzliche Grafikelemente umgesetzt werden.</p>
<p><a target="_blank" href="uploads/images/Blog/2012_02/css3-breadcrumbs.png"><img src="uploads/images/Blog/2012_02/thumb_465_151_css3-breadcrumbs.png" alt="CSS3 Breadcrumbs" width="465" height="151" /></a></p>
<p>Eine <a href="http://www.red-team-design.com/css3-breadcrumbs" target="_blank">Demo sowie die Scripts dazu finden sich hier</a></p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/DAyg85QnoCI" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 10 Feb 2012 06:26:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/62/CSS3-Breadcrumbs.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/62/CSS3-Breadcrumbs.htm</feedburner:origLink></item>
        
    <item>
      <title>CSS3: Silbentrennung “hyphens”</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/2I_LGxfkG_A/CSS3-Silbentrennung-hyphens.htm</link>
      <comments>http://www.blattertech.ch/blog/61/CSS3-Silbentrennung-hyphens.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Bis anhin war die Silbentrennung mit HTML nicht möglich oder nur durch den Umweg eines JavaScripts. Mit der CSS Eigenschaft "hyphens" kann die Silbentrennung nun aktiviert werden.</p>
<pre><code>body {<br /> -webkit-hyphens: auto;<br /> -moz-hyphens: auto;<br /> -ms-hyphens: auto;<br /> hyphens: auto;<br />}</code></pre>
<p>Im Moment unterstützt noch kein Browser die Eigenschaft korrekt. Deshalb gibt es Vendor-Prefixes für Webkit, Microsoft und Mozilla.</p>
<p>Es spricht jedoch aus meiner Sicht nichts dagegen diese Eigenschaft bereits in allen Projekten einzusetzen. Derzeit unterstützt als einziger Opera diese Eigenschaft noch nicht. In Anbetracht seiner Marktverbreitung kann dies aus meiner Sicht vernachlässigt werden. Es ist zudem anzunehmen, dass auch Opera diese Eigenschaft über kurz oder lang unterstützen wird</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/2I_LGxfkG_A" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 07 Feb 2012 20:38:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/61/CSS3-Silbentrennung-hyphens.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/61/CSS3-Silbentrennung-hyphens.htm</feedburner:origLink></item>
        
    <item>
      <title>Excel 2007/2010 - Feldnamen bearbeiten oder löschen</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/8xtcM6hlJa4/Excel-2007-2010---Feldnamen-bearbeiten-oder-loeschen.htm</link>
      <comments>http://www.blattertech.ch/blog/60/Excel-2007-2010---Feldnamen-bearbeiten-oder-loeschen.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>In Excel können auf sehr einfache weise Feldnamen vergeben werden. Wenn jedoch ein Feldname versehentlich vergeben wurde oder nicht mehr gebraucht wird, weiss man nicht wie löschen.</p>
<p>Hier die Anleitung dazu:</p>
<p><a target="_blank" href="uploads/images/Blog/2012_02/Excel2007_Feldnamen.png"><img src="uploads/images/Blog/2012_02/thumb_463_387_Excel2007_Feldnamen.png" alt="Excel Feldnamen" width="463" height="387" /></a></p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/8xtcM6hlJa4" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 07 Feb 2012 17:34:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/60/Excel-2007-2010---Feldnamen-bearbeiten-oder-loeschen.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/60/Excel-2007-2010---Feldnamen-bearbeiten-oder-loeschen.htm</feedburner:origLink></item>
        
    <item>
      <title>Canon PhotoPrintEx und CD Labelprint unter Win7</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/n4J1leEumm0/Canon-PhotoPrintEx-und-CD-Labelprint-unter-Win7.htm</link>
      <comments>http://www.blattertech.ch/blog/59/Canon-PhotoPrintEx-und-CD-Labelprint-unter-Win7.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Dieses Wochenende habe ich unseren Canon IP4500 wieder mal in Betrieb genommen. Mittlerweile gibt es bei uns ausschliesslich Win7 PCs. Nach dem Installieren von Canon PhotoPrint Ex kam die Meldung, dass kein passender Drucker installiert sei.</p>
<p>Dieses Problem kann wie folgt gelöst werden:</p>
<ol>
<li>Drucker automatisch durch Windows installieren lassen</li>
<li>Die Datei <a href="http://software.canon-europe.com/files/soft25531/software/b7100MUx.exe" target="_blank">b7100MUx.exe</a> von Canon-Server herunterladen und installieren</li>
<li>Die Datei <a href="http://files.canon-europe.com/files/soft35869/software/aomwin200ea24.exe" target="_blank">aomwin200ea24.exe</a> vom Canon-Server herunterladen und installieren.</li>
<li>Danach PhotoPrintEx und / oder CD Labelprinter installieren</li>
</ol>
<p>Bei mir funktionierte dies auch bei bereits installiertem PhotoPrint Ex.</p>
<p>(<a href="http://www.windows7-forum.org/win-7-canon-pc-labelprint-funktioniert-mit-windows-7-nicht-mehr-findet-den-drucker-nicht" target="_blank">Quelle</a>)</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/n4J1leEumm0" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 06 Feb 2012 16:47:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/59/Canon-PhotoPrintEx-und-CD-Labelprint-unter-Win7.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/59/Canon-PhotoPrintEx-und-CD-Labelprint-unter-Win7.htm</feedburner:origLink></item>
        
    <item>
      <title>QNAP: proftpd re-launch</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/EXKEM-znYTU/QNAP-proftpd-re-launch.htm</link>
      <comments>http://www.blattertech.ch/blog/58/QNAP-proftpd-re-launch.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Diesen Sonntag hat mich ein minütliches Klingeln des Handys aus der trauten Ruhe geschreckt:</p>
<p style="padding-left: 30px;"> Server Name: qnap1<br /> IP Address: 10.0.4.8<br /> Date/Time: 2012/02/05 20:49:06<br /> Level:  Warning<br /> Re-launch process [proftpd]</p>
<p>Diese Meldung kam im Minutenschritt reingedudelt. Ein Deaktivieren und Aktivieren des FTP Dienstes brachte keine abhilfe. Ein Hinweis im QNAP Forum brachte mich auf den richtigen Weg:</p>
<p>Es kann passieren, dass sich das SSL Zertifikat verhaspelt. In diesem Fall musste ich das SSL Zertifikat zurücksetzen. Danach funktionierte der FTP Dienst wieder zuverlässig. Für weiteres Debuggen kann man sich übrigens per SSH auf das QNAP NAS verbinden.</p>
<p>User: admin<br />Passwort: das welches man definiert hat</p>
<p class="MsoPlainText">Danach kann man mit /usr/local/sbin/proftpd den ProFTPd selber starten und schauen mit welcher Fehlermeldung er abbricht.  <span><br /></span></p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/EXKEM-znYTU" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 06 Feb 2012 06:44:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/58/QNAP-proftpd-re-launch.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/58/QNAP-proftpd-re-launch.htm</feedburner:origLink></item>
        
    <item>
      <title>Copyright Link im Footer mit Jahreszahl</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/zUY-u0BXIGQ/Copyright-Link-im-Footer-mit-Jahreszahl.htm</link>
      <comments>http://www.blattertech.ch/blog/57/Copyright-Link-im-Footer-mit-Jahreszahl.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Die meisten Webseiten enthalten einen Footer mit einem Copyright. Ist in diesem eine Jahreszahl enthalten, so sollte diese auch aktuell gehalten werden. Hier eine Lösung wie dies mit Smarty sehr einfach gelöst werden kann:</p>
<pre><code>&lt;p&gt;&amp;copy; copyright 2010 - {'Y'|date}, &lt;a href="http://www.blattertech.ch"&gt;blattertech informatik&lt;/a&gt;, alle Rechte vorbehalten.&lt;/p&gt;</code></pre><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/zUY-u0BXIGQ" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 10 Jan 2012 22:37:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/57/Copyright-Link-im-Footer-mit-Jahreszahl.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/57/Copyright-Link-im-Footer-mit-Jahreszahl.htm</feedburner:origLink></item>
        
    <item>
      <title>Dinge auf die wir nicht achten</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/_0S6_BERE08/Dinge-auf-die-wir-nicht-achten.htm</link>
      <comments>http://www.blattertech.ch/blog/56/Dinge-auf-die-wir-nicht-achten.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Auf was wir nicht achten, existiert nicht:</p>
<iframe src="http://www.youtube.com/embed/ubNF9QNEQLA" frameborder="0" width="450" height="259"></iframe>
<p>Ein ganz erstaunliches Video</p>
<p><a href="http://pharmama.ch/2012/01/08/whodonnit/" target="_blank" rel="nofollow">via pharmama</a></p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/_0S6_BERE08" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 08 Jan 2012 21:29:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/56/Dinge-auf-die-wir-nicht-achten.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/56/Dinge-auf-die-wir-nicht-achten.htm</feedburner:origLink></item>
        
    <item>
      <title>CMSMS: Automatisch Seiten-Urls generieren</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/_XguVDTF53M/CMSMS-Automatisch-Seiten-Urls-generieren.htm</link>
      <comments>http://www.blattertech.ch/blog/55/CMSMS-Automatisch-Seiten-Urls-generieren.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>In CMS Made Simple gibt es die Möglichkeit einer Seite eine individuelle Seiten-URL zuzuweisen. Dies ist praktisch, da ein Alias eindeutig sein muss und somit eine Seite nur eine kontakt.htm aufweisen kann. Mittels der Seiten-URLs können so mehrere kontakt.html erstellt werden.</p>
<p>Hier ein Beispiel einer solchen Konfiguration:</p>
<p>Firma 1<br />- Über uns<br />- Referenzen<br />- Kontakt</p>
<p>Firma 2<br />- Über uns<br />- Referenzen<br />- Kontakt</p>
<p>Firma 3<br />- Über uns<br />- Referenzen<br />- Kontakt</p>
<p>Dies ergibt mit den Seiten-Alias normalerweise folgende Struktur:</p>
<p>domain.ch/firma1/kontakt.htm<br />domain.ch/firma2/kontakt-1.htm<br />domain.ch/firma3/kontakt-2.htm</p>
<p>Mittels eines UDT kann die URL Erstellung automatisiert werden. Man erstelle dazu den UDT (Benutzerdefinierter Tag) "ContentEditPost":</p>
<pre class="vscroll"><code>$gCms = cmsms();<br />$db        = cmsms()-&gt;GetDb();<br /><br />$id        = $params['content']-&gt;Id();<br />$parentId  = $params['content']-&gt;ParentId();<br />$url       = $params['content']-&gt;URL();<br />$menutext  = $params['content']-&gt;MenuText();<br /><br />// root Alias ermitteln<br />$contentops = $gCms-&gt;GetContentOperations();<br />$pageId = $id;<br />$rootAlias = '';<br /><br />while( $pageId &gt; 0 ) {<br />    $content = $contentops-&gt;LoadContentFromId($pageId);<br />    if( !is_object( $content ) ) {<br />         $rootAlias = '';<br />         break;<br />    }<br />    $rootAlias = $content-&gt;Alias();<br />    $pageId = $content-&gt;ParentId();<br />}<br /><br /># get url from parent page<br />$query = "SELECT page_url FROM ". cms_db_prefix() . "content WHERE content_id = ? ";<br />$page_url = $db-&gt;GetOne($query, array($parentId));<br /><br />if (!$url or strpos($url,$page_url) == false) {<br />    $urlalias = $menutext;<br />    $urlalias = mb_strtolower($urlalias, 'UTF-8');<br /><br />    // Alle deutschen Umlaute und Sonderfälle austauschen<br />    $urlalias = str_replace(<br />        array('ä',    'ö',    'ü',    'ß',    ' - ',    ' + ',    '_',    ' / ',    '/',    'é',    'è',    'à',    'ç'),<br />        array('ae',    'oe',    'ue',    'ss',    '-',        '-',        '-',    '-',        '-',    'e',    'e',    'à',    'c'),<br />        $urlalias);<br /><br />    // Alle restlichen Leerzeichen zu Bindestrichen<br />    $urlalias=preg_replace('/\s/s', '-', $urlalias);<br /><br />    // Alles löschen, was nicht alphanumerisch ist<br />    $urlalias = preg_replace('/[^a-z0-9_-]/isU', '', $urlalias);<br /><br />    $urlalias = trim($urlalias);<br /><br />    $url = $page_url . "/". $urlalias;<br /><br />    $query = "Update ". cms_db_prefix() . "content set page_url = '".$url."' WHERE content_id = ? ";<br />    $db-&gt;Execute($query,array($id));<br />}</code></pre>
<p> </p>
<div class="captionborderright"><a href="uploads/images/Blog/2012_01/ereignisverwaltung1.png" target="_blank"><img src="uploads/images/Blog/2012_01/thumb_181_80_ereignisverwaltung1.png" alt="Ereignisverwaltung" width="181" height="80" /></a>
<p class="captiontext">Ereignisverwaltung</p>
</div>
<p>Nun muss der UDT noch in die Ereignisverwaltung eingefügt werden:</p>
<p> </p>
<p> </p>
<p>Nun muss das Ereignis "ContentEditPost" gesucht werden. Mit klick auf den Namen kann man das Ereignis bearbeiten. Nun den UDT "ContentEditPost" hinzufügen.</p>
<table class="captionborder">
<tbody>
<tr>
<td><a href="uploads/images/Blog/2012_01/ereignisverwaltung2.png" target="_blank"><img src="uploads/images/Blog/2012_01/thumb_298_200_ereignisverwaltung2.png" alt="UDT dem Ereignis zuweisen" width="298" height="200" /></a>
<p class="captiontext">UDT dem Ereignis zuweisen</p>
</td>
</tr>
</tbody>
</table>
<p><br /><br /></p>
<p> </p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/_XguVDTF53M" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 04 Jan 2012 12:15:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/55/CMSMS-Automatisch-Seiten-Urls-generieren.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/55/CMSMS-Automatisch-Seiten-Urls-generieren.htm</feedburner:origLink></item>
        
    <item>
      <title>CMSMS: TinyMCE - Filepicker - Ordner öffnen sich nicht</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/I_Y0IyUEmXo/CMSMS-TinyMCE---Filepicker---Ordner-oeffnen-sich-nicht.htm</link>
      <comments>http://www.blattertech.ch/blog/54/CMSMS-TinyMCE---Filepicker---Ordner-oeffnen-sich-nicht.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Mit der Version 10.x und TinyMCE 2.9.4 hat sich ein kleiner Fehler eingeschlichen. Folgendes sind die folgen:</p>
<ul>
<li>Ist TinyMCE mit dynamischer Konfigurationsdatei versehen, lassen sich im Filepicker keine Ordner mehr öffnen</li>
<li>Dateien können ohne Fehlermeldung nicht mehr hochgeladen werden</li>
</ul>
<p>Stellt man nun die Konfiguration auf statische Konfiguration um, ergeben sich folgende Probleme:</p>
<ul>
<li>TinyMCE wird teilweise nicht angezeigt. Man muss die Seite neu laden, damit der TinyMCE angezeigt wird</li>
<li>Beim Filepicker erscheinen unregelmässig Login-Screens statt der erwünschten Dateiliste</li>
</ul>
<p>Folgender BugReport hat dazu eine Lösung:<br /><a href="http://dev.cmsmadesimple.org/bug/view/7145" target="_blank">http://dev.cmsmadesimple.org/bug/view/7145</a></p>
<p>Die URL zwischen statischer und dynamischer Konfiguration sind in einem kleinen Detail verschieden. Um das Problem der dynamischen Konfiguration zu lösen, muss folgende Datei bearbeitet werden:<br />./TinyMCE/template/tinyconfig.tpl Zeile 137:</p>
<pre><code>var cmsURL = "{$filepickerurl|replace:',,':',m1_,'}&amp;type="+type+"&amp;showtemplate=false";</code></pre>
<p>In der URL fehlt ein m1_ welches durch den Replace der $filepickerurl gesetzt wird.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/I_Y0IyUEmXo" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sat, 17 Dec 2011 08:03:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/54/CMSMS-TinyMCE---Filepicker---Ordner-oeffnen-sich-nicht.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/54/CMSMS-TinyMCE---Filepicker---Ordner-oeffnen-sich-nicht.htm</feedburner:origLink></item>
        
    <item>
      <title>Array Keys mit implode zu einem String umwandeln</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/ASGfUDRdMuU/Array-Keys-mit-implode-zu-einem-String-umwandeln.htm</link>
      <comments>http://www.blattertech.ch/blog/53/Array-Keys-mit-implode-zu-einem-String-umwandeln.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Gerade eben wieder mal Array Keys mit implode in einen String umwandlen müssen. Bevor ich die sehr einfache Lösung wieder vergesse und sie das nächste Mal suchen muss:</p>
<pre><code>implode("|",array_keys($array));</code></pre>
<p>Damit werden alle Keys des Arrays mit einem | Pipe getrennt in einen String geschrieben.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/ASGfUDRdMuU" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 29 Nov 2011 06:03:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/53/Array-Keys-mit-implode-zu-einem-String-umwandeln.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/53/Array-Keys-mit-implode-zu-einem-String-umwandeln.htm</feedburner:origLink></item>
        
    <item>
      <title>Facebook, Google+ und Flattr Buttons mit AdBlock Plus blockieren</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/0CIgTBmRLwU/Facebook-Google-und-Flattr-Buttons-mit-AdBlock-Plus-blockieren.htm</link>
      <comments>http://www.blattertech.ch/blog/32/Facebook-Google-und-Flattr-Buttons-mit-AdBlock-Plus-blockieren.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Facebook wie auch Google sammeln mit ihren Like Boxen Informationen von Internet Benutzern. So werden von jeder Seite auf der solche Buttons eingebaut sind, Daten an diese beiden Firmen geschickt. Mit AdBlock Plus im Firefox kann dies einfach unterbunden werden:</p>
<h3>Facebook</h3>
<pre><code>facebook.com^$third-party<br />facebook.net^$domain=~facebook.com<br />fbcdn.com^$domain=~facebook.com<br />fbcdn.net^$domain=~facebook.com</code></pre>
<h3>Google+</h3>
<pre><code>https://apis.google.com/js/plusone.js</code></pre>
<h3>Flattr</h3>
<pre><code>api.flattr.com<br /></code></pre>
<h3>Regel in AdBlock Plus definieren</h3>
<div class="captionborderright"><img title="AdBlock Plus Einstellungen" src="uploads/images/Blog/2011_09/adblock1.png" alt="AdBlock Plus Einstellungen" width="105" height="97" />
<p class="captiontext">AdBlock Plus <br />Einstellungen</p>
</div>
<p>Voraussetzung ist natürlich die Installation von <a href="https://addons.mozilla.org/de/firefox/addon/adblock-plus/20plus&amp;source=web&amp;cd=1&amp;ved=0CCUQFjAA&amp;url=https%3A%2F%2Faddons.mozilla.org%2Fde%2Ffirefox%2Faddon%2Fadblock-plus%2F&amp;ei=AhdfToL3F8WM-wbV0qyBAg&amp;usg=AFQjCNF4RvhiUK8bXOOqupkGrv3FnEtAJg&amp;cad=rja" target="_blank">AdBlock Plus</a> in Firefox. Um eigene Filterregeln hinzuzufügen müssen die Einstellungen von AdBlock Plus geöffnet werden. Dazu auf den AdBlock Plus Button klicken und dann auf Einstellungen klicken.</p>
<p>Danach auf "Filter hinzufügen" klicken und die Regel einfügen:</p>
<table class="captionborder">
<tbody>
<tr>
<td><a target="_blank" title="AdBlock Plus Filter hinzufügen" href="uploads/images/Blog/2011_09/adblock2.png"><img title="AdBlock Plus Filter hinzufügen" src="uploads/images/Blog/2011_09/thumb_451_438_adblock2.png" alt="AdBlock Plus Filter hinzufügen" width="451" height="438" /></a>
<p class="captiontext">AdBlock Plus Filter hinzufügen</p>
</td>
</tr>
</tbody>
</table>
<p>Nachtrag vom 23.11.2011 - <a href="http://t3n.de/news/blockierst-facebook-tracking-345091/" target="_blank">T3N hat eine Anleitung veröffentlicht</a> mit welcher man ein Filter-Abo für AdBlock Plus einrichten kann.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/0CIgTBmRLwU" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 23 Nov 2011 22:09:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/32/Facebook-Google-und-Flattr-Buttons-mit-AdBlock-Plus-blockieren.htm</guid>
      <slash:comments>2</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/32/Facebook-Google-und-Flattr-Buttons-mit-AdBlock-Plus-blockieren.htm</feedburner:origLink></item>
        
    <item>
      <title>btAdminer 1.2.1</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/dI0AXEHSkFg/btAdminer-1-2-1.htm</link>
      <comments>http://www.blattertech.ch/blog/52/btAdminer-1-2-1.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Gestern Abend habe ich das Modul <a href="http://dev.cmsmadesimple.org/projects/btadminer" target="_blank">btAdminer</a> welches <a href="http://www.adminer.org/" target="_blank">Adminer</a> für CMS Made Simple bereit stellt, auf die Version 1.2.1 aktualisiert.</p>
<p>Changelog:</p>
<ul>
<li>Kompatibilität mit CMSMS 1.10.x  aktualisiert</li>
</ul>
<p>Der btAdminer kann im <a href="http://dev.cmsmadesimple.org/projects/btadminer" target="_blank">Forge heruntergeladen</a> werden.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/dI0AXEHSkFg" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 17 Nov 2011 06:03:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/52/btAdminer-1-2-1.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/52/btAdminer-1-2-1.htm</feedburner:origLink></item>
        
    <item>
      <title>Schadsoftware im Umlauf welche zu Zahlung auffordert</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/hDMEB6YFa_0/Schadsoftware-im-Umlauf-welche-zu-Zahlung-auffordert.htm</link>
      <comments>http://www.blattertech.ch/blog/51/Schadsoftware-im-Umlauf-welche-zu-Zahlung-auffordert.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p><a title="Schadsoftware (Bildquelle: Melani)" href="uploads/images/Blog/2011_11/schadsoftware.jpg" target="_blank"><img class="caption" style="display: block; margin-left: auto; margin-right: auto;" title="Schadsoftware (Bildquelle: Melani)" src="uploads/images/Blog/2011_11/thumb_382_303_schadsoftware.jpg" alt="Schadsoftware (Bildquelle: Melani)" width="382" height="303" /></a><br /><br />Derzeit ist eine Schadsoftware aktiv,welche mit einem Fenster erscheint, welches scheinbar vom Eigenössischen Justiz- und Polizeidepartement stammt. Der Computerbenutzer wird aufgefordert eine Busse von 150.- Franken zu bezahlen, da sich auf dem Computer kinderpornografisches illeales Material befinde.</p>
<p>Grundsätzlich: Der Bund wird NIE auf diese Art mit Ihnen Kontakt aufnehmen und eine Staftat durch eine einmalige Zahlung via PayPal oder ähnlichem Bezahlungsdienst diese aus der Welt schaffen. <br />Wie bei allen Schadsoftwaren in diesem Bereich ist der gesunde Menschenverstand einzusetzen, ob denn sowas überhaupt sein kann.</p>
<p>Melani hat dazu einen Bericht auf <a href="http://www.melani.admin.ch/dienstleistungen/archiv/01130/index.html?lang=de" target="_blank">der Webseite</a> veröffentlicht, sowie eine <a href="http://www.melani.admin.ch/dienstleistungen/archiv/01130/index.html?lang=de&amp;download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdIF9hGym162epYbg2c_JjKbNoKSn6A--" target="_blank">Anleitung zum entfernen dieser Schadsoftware</a> veröffentlicht.</p>
<p>Wichtig: Ein mit Schadsoftware befallener Computer sollte in jedem Fall neu installiert werden.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/hDMEB6YFa_0" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 11 Nov 2011 06:31:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/51/Schadsoftware-im-Umlauf-welche-zu-Zahlung-auffordert.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/51/Schadsoftware-im-Umlauf-welche-zu-Zahlung-auffordert.htm</feedburner:origLink></item>
        
    <item>
      <title>Smarty: Verschiedene Werte mit Assign kombinieren</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/MfFUyyxcTLQ/Smarty-Verschiedene-Werte-mit-Assign-kombinieren.htm</link>
      <comments>http://www.blattertech.ch/blog/50/Smarty-Verschiedene-Werte-mit-Assign-kombinieren.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Bevor ich's wieder vergesse, da ich es zu wenig brauche. Man kann in Smarty mit Assign Problemlos Variablen und weitere Werte kombinieren. Dazu ist das ` Zeichen notwendig:</p>
<pre><code>{assign var="domain" value="http://`$smarty.server.SERVER_NAME`"}</code></pre>
<p>Die Ausgabe von $domain ist somit: <em>http://www.blattertech.ch</em></p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/MfFUyyxcTLQ" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 06 Nov 2011 21:24:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/50/Smarty-Verschiedene-Werte-mit-Assign-kombinieren.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/50/Smarty-Verschiedene-Werte-mit-Assign-kombinieren.htm</feedburner:origLink></item>
        
    <item>
      <title>Smarty: Ein String mit explode in ein Array umwandeln</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/G8PPtuq3pxc/Smarty-Ein-String-mit-explode-in-ein-Array-umwandeln.htm</link>
      <comments>http://www.blattertech.ch/blog/49/Smarty-Ein-String-mit-explode-in-ein-Array-umwandeln.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Mit der PHP Funktion explode kann ein String mittels eines Trennzeichens in ein Array umgewandelt werden. Ein Beispiel:</p>
<pre><code>$string = "Apfel,Birne,Feige,Pflaume";</code></pre>
<p>In diesem String ist das Trennzeichen das Komma. Somit wird mit explode ein Array mit 4 Einträgen erstellt. In Smarty umgesetzt sieht dies so aus:</p>
<pre><code>{assign var="string" value="Apfel,Birne,Feige,Plaume"}<br />{assign var="myArray" value=","|explode:$string}</code></pre>
<p>Ungewohnt an dieser Methode ist, dass das Trennzeichen als erstes geschrieben wird, während der eigentliche String erst am Ende kommt. Diese Tatsache ist dem Aufbau der PHP Funktion geschuldet. Will man nun z.B. einen Seiteninhalt in zwei Teile teilen welche mit einem [weiter] getrennt sind:</p>
<pre><code>{assign var="moreContent" value="[weiter]"|explode:$content}<br />{$weiter[0]}<br /></code></pre>
<p>Mit {$weiter[0]} kann nun der erste Teil des Seiteninhalts angesprochen werden.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/G8PPtuq3pxc" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 04 Nov 2011 17:16:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/49/Smarty-Ein-String-mit-explode-in-ein-Array-umwandeln.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/49/Smarty-Ein-String-mit-explode-in-ein-Array-umwandeln.htm</feedburner:origLink></item>
        
    <item>
      <title>Reguläre Ausdrücke</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/Gjw67EXxwW4/Regulaere-Ausdruecke.htm</link>
      <comments>http://www.blattertech.ch/blog/48/Regulaere-Ausdruecke.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Vor kurzem war ich wieder mal auf der Suche nach einem regulären Ausdruck. Dabei habe ich das Tutorial von Daniel Fett gefunden welches ich hier verlinke:</p>
<p><a href="http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke" target="_blank">Tutorial Reguläre Ausdrücke</a></p>
<p>Das Tutorial ist eines der besten deutschsprachigen Tutorials welches ich zu diesem Thema gefunden habe. Alle Zeichenkombinationen nach denen gesucht werden können sind hier aufgeführt und erklärt. So kann auch ein Regex-Laie relativ einfach zum Erfolg kommen. Zum Testen der Regulären Ausdrücke kann z.B. der <a href="http://gskinner.com/RegExr/" target="_blank">RegExr</a> (Online) oder auch das von Daniel Fett empfohlene Programm <a href="http://www.weitz.de/regex-coach/" target="_blank">Regex-Coach</a>.</p>
<p>Viel Spass beim Regexen.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/Gjw67EXxwW4" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 04 Nov 2011 13:24:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/48/Regulaere-Ausdruecke.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/48/Regulaere-Ausdruecke.htm</feedburner:origLink></item>
        
    <item>
      <title>Win7: Schnellstartleiste (Quickstart) anzeigen</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/azhqVqL4Euc/Win7-Schnellstartleiste-Quickstart-anzeigen.htm</link>
      <comments>http://www.blattertech.ch/blog/47/Win7-Schnellstartleiste-Quickstart-anzeigen.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p><a title="Neue Symbolleiste" href="uploads/images/Blog/2011_10/Quicklaunch1.png" target="_blank"><img class="leftcaption" title="Neue Symbolleiste" src="uploads/images/Blog/2011_10/thumb_183_78_Quicklaunch1.png" alt="Neue Symbolleiste" width="183" height="78" /></a>Unter Windows Vista und Win7 wurde die aus WinXP bekannte Schnellstartleiste entfernt. Über einige wenige klicks lässt sich die Schnellstartleiste wieder aktivieren. Dazu mit dem Mauszeiger einen Rechtsklick auf die Taskleiste machen und im Pop-Up Menü auf "Symbolleisten" und dort "Neue Symbolleiste" wählen.</p>
<p>Im folgenden Dialog ist unter "Ordner" folgendes einzugeben:<br /><strong>%AppData%\Microsoft\Internet Explorer\Quick Launch</strong></p>
<p><a title="Quicklaunch Pfad angeben" href="uploads/images/Blog/2011_10/Quicklaunch2.png" target="_blank"><img class="caption" title="Quicklaunch Pfad angeben" src="uploads/images/Blog/2011_10/thumb_425_288_Quicklaunch2.png" alt="Quicklaunch Pfad angeben" width="425" height="288" /></a></p>
<p>Nun erscheint rechts die Schnellstartleiste. Um die Schnellstartleiste wie gewohnt rechts anzuordnen, muss wie folgt vorgegangen werden:<br />Mit dem Mauszeiger auf die Taskleiste fahren (irgendwo zwischen den offenen Programmen) und mit der rechten Maustaste klicken. Im Pop-Up Menü den Eintrag "Taskleiste fixieren" entfernen. Nun kann die Schnellstartleiste verschoben werden.</p>
<p><img style="float: right; margin-left: 10px; margin-bottom: 10px;" src="uploads/images/Blog/2011_10/Quicklaunch4.png" alt="" /></p>
<p>Dazu mit dem Mauszeiger zwischen die gerippte Fläche und dem Desktopicon klicken. Sobald ein 4-Weg Pfeil angezeigt wird, kann die Schellstartleiste nach links verschoben werden.</p>
<p><a href="uploads/images/Blog/2011_10/Quicklaunch3.png" target="_blank"><img style="float: right; margin-left: 10px; margin-bottom: 10px;" src="uploads/images/Blog/2011_10/thumb_189_235_Quicklaunch3.png" alt="" width="189" height="235" /></a></p>
<p>Nun muss mit nochmals mit der rechten Maustaste in die Schellstartleiste geklickt werden um den Text und Titel zu deaktivieren. Danach ist die Schellstartleiste wie unter WinXP gewohnt zu nutzen. Programme die hier abgelegt werden sollen, einfach hineinziehen.</p>
<p> </p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/azhqVqL4Euc" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sun, 30 Oct 2011 13:46:00 +0100</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/47/Win7-Schnellstartleiste-Quickstart-anzeigen.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/47/Win7-Schnellstartleiste-Quickstart-anzeigen.htm</feedburner:origLink></item>
        
    <item>
      <title>iPhone: Safari Passwörter speichern</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/3oKgQybDk_w/iPhone-Safari-Passwoerter-speichern.htm</link>
      <comments>http://www.blattertech.ch/blog/46/iPhone-Safari-Passwoerter-speichern.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Nach dem es mich zum x-ten mal gestört hat, die Logindaten für eine Webseite im iPhone nicht speichern zu können, habe ich mir die Einstellungen des Safari ein wenig genauer angeschaut. Siehe da: Mit der Option "Automatisch Ausfüllen" können sehr wohl Kennwörter gespeichert werden.</p>
<p>Unter <strong>Einstellungen -&gt; Safari -&gt; Autom. ausfüllen -&gt; Namen &amp; Kennwörter</strong> findet sich die gewünschte Option.</p>
<p><a title="iPhone: Safari Passwörter speichern" href="uploads/images/Blog/2011_10/iPhone_Safari_Passwoerter_speichern.png" target="_blank"><img style="float: right; margin-left: 10px; margin-bottom: 10px;" title="iPhone: Safari Passwörter speichern" src="uploads/images/Blog/2011_10/thumb_188_282_iPhone_Safari_Passwoerter_speichern.png" alt="iPhone: Safari Passwörter speichern" width="188" height="282" /></a>Hier können auch die gespeicherten Passwörter zurückgesetzt werden für den Fall das etwas nicht mehr funktioniert oder ein oder mehrere Passwörter nicht mehr automatisch ausgefüllt werden sollten.</p>
<p>Sobald man sich nun auf einer Webseite einloggt, wird man von Safari gefragt, ob die Daten gemerkt werden sollen oder ob auf dieser Webseite die Zugangsdaten nie gespeichert werden sollen. Beim nächsten Besuch der Webseite sind die Zugangsdaten bereits ausgefüllt und man muss nur noch auf Login klicken.</p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/3oKgQybDk_w" height="1" width="1"/>]]></content:encoded>
      <pubDate>Sat, 29 Oct 2011 22:24:00 +0200</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/46/iPhone-Safari-Passwoerter-speichern.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/46/iPhone-Safari-Passwoerter-speichern.htm</feedburner:origLink></item>
        
    <item>
      <title>Grosse Dateien per E-Mail verschicken</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/1aE9bNLa-dk/Grosse-Dateien-per-E-Mail-verschicken.htm</link>
      <comments>http://www.blattertech.ch/blog/45/Grosse-Dateien-per-E-Mail-verschicken.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Vor kurzem hatte ein Kunde von mir das Problem, dass er dringend eine 150MB grosse Datei eines Grafikers aus Deutschland haben sollte. Der Kunde hatte Windows, der Grafiker einen Mac. FTP viel ins Wasser, da der Grafiker davon überhaupt keine Ahnung hatte. Eine PHP Upload oder eine E-Mail Lösung scheitert an der Datenmenge.</p>
<p>Ist Dropbox oder ein ähnlicher Dienst nicht auf dem PC / Mac vorhanden, bietet sich ein Onlinedienst an, bei welchem man grosse Dateien heraufladen und einen Link dazu versenden kann. Die Datei kann jeweils ein paar Tage von diesem Server heruntergeladen werden und wird danach wieder gelöscht. Hier stelle ich fünf Dienste vor, welche dafür in Frage kommen:</p>
<h3>1. Filemail</h3>
<p>Bei <a href="http://www.filemail.com" target="_blank">Filemail</a> kann man ohne Anmeldung bis zu 2 GB verschicken, mehrere Dateien auf einmal (die dann einzeln oder automatisch gezippt heruntergeladen werden können). Man kann das E-Mail selber schreiben. Die Seite ist SSL geschützt.</p>
<p><a title="Filemail" href="uploads/images/Blog/2011_10/filemail.png" target="_blank"><img class="caption" title="Filemail" src="uploads/images/Blog/2011_10/thumb_350_238_filemail.png" alt="Filemail" width="350" height="238" /></a></p>
<h3>2. Streamfile</h3>
<p><a href="http://www.streamfile.com/" target="_blank">Streamfile.com</a> ist ein sehr einfacher und spartanischer Dienst: Man gibt nur die Empfängeradresse(n) ein, lädt das File hoch und das war’s. Die Datei darf bis zu 150 MB groß sein und ist für 24 Stunden unter dem Link verfügbar. Angemeldet können bis 30 GB grosse Dateien verschickt werden. <br />Es ist jedoch nicht möglich eine Absenderadresse anzugeben oder eine Nachricht mit zu senden. Somit muss der Empfänger vorgewarnt sein, damit er das Mail nicht als Spam löscht.</p>
<p><a title="Streamfile" href="uploads/images/Blog/2011_10/streamfile.png" target="_blank"><img class="caption" title="Streamfile" src="uploads/images/Blog/2011_10/thumb_350_269_streamfile.png" alt="Streamfile" width="350" height="269" /></a></p>
<h3>3. Dropsend</h3>
<p>Bei  <a href="http://www.dropsend.com/" target="_blank">Dropsend</a> kann man bis 2 GB grosse Dateien versenden. Beschränkt ist dies auf maximal 5 pro Monat. Es kann eine Absenderadresse angegeben werden, jedoch der Text zum versenden des Mails kann nicht definiert werden. Die Dateien bleiben 30 Tage gespeichert. Sobald eine Datei abgerufen wurde, wird sie nach 14 Tagen gelöscht.</p>
<p><a title="Dropsend" href="uploads/images/Blog/2011_10/dropsend.png" target="_blank"><img class="caption" title="Dropsend" src="uploads/images/Blog/2011_10/thumb_350_333_dropsend.png" alt="Dropsend" width="350" height="333" /></a></p>
<h3>4.Senduit</h3>
<p><a href="http://senduit.com/" target="_blank">Senduit</a> hat auch ein sehr spartanisches Design. Die Zeitdauer wie lange das File gespeichert bleiben soll, kann von 30 Minuten bis 1 Woche definiert werden. Die Datei kann maximal 100 MB gross sein.</p>
<p><a title="Senduit" href="uploads/images/Blog/2011_10/senduit.png" target="_blank"><img class="caption" title="Senduit" src="uploads/images/Blog/2011_10/thumb_350_364_senduit.png" alt="Senduit" width="350" height="364" /></a></p>
<h3>5. Yousendit</h3>
<p><a href="http://www.yousendit.com/" target="_blank">Yousendit</a> ist etwas unübersichtlich. Die Dateigrösse ist auf 100MB beschränkt. Zusätzlich kann Betreff und Nachricht des Mails definiert werden.</p>
<p><a title="Yousendit" href="uploads/images/Blog/2011_10/yousendit.png" target="_blank"><img class="caption" title="Yousendit" src="uploads/images/Blog/2011_10/thumb_350_285_yousendit.png" alt="Yousendit" width="350" height="285" /></a></p>
<p> </p><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/1aE9bNLa-dk" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 21 Oct 2011 06:43:00 +0200</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/45/Grosse-Dateien-per-E-Mail-verschicken.htm</guid>
      <slash:comments>0</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/45/Grosse-Dateien-per-E-Mail-verschicken.htm</feedburner:origLink></item>
        
    <item>
      <title>CMSMS: Gallery Ordner auslesen und mit einem Dropdown zur Auswahl geben</title>
      <link>http://feedproxy.google.com/~r/BlattertechInformatikBlog/~3/nR8VnlgxR38/CMSMS-Gallery-Ordner-auslesen-und-mit-einem-Dropdown-zur-Auswahl-geben.htm</link>
      <comments>http://www.blattertech.ch/blog/44/CMSMS-Gallery-Ordner-auslesen-und-mit-einem-Dropdown-zur-Auswahl-geben.htm#comments</comments>
      
 
      <description />
      <content:encoded><![CDATA[<p>Vor ein paar Monaten erstellte ich eine Webseite welche vorallem aus einer Gallery besteht. Die einzelnen Galerien wurden auf einzelnen Seiten eingebunden. Damit dies möglichst einfach möglich ist, habe ich ein Plugin für AdvancedContent geschrieben, welches die Gallery-Ordner ausliest und als Dropdown zur Verfügung stellt.</p>
<p>Als erstes in den Ordner ./plugins folgende Datei laden:</p>
<p>function.getGalleryTree.php:</p>
<pre class="vscroll"><code>&lt;?php<br /><br />/**<br /> * ------------------------------------------------------------------------<br /> * Liest alle Gallery Ordner aus und übergibt sie als Liste AdvancedContent<br /> * ------------------------------------------------------------------------<br /> * blattertech informatik, Lukas Blatter, lb@blattertech.ch<br /> * Twitter: @lukasblatter<br /> * Web: www.blattertech.ch<br /> * ------------------------------------------------------------------------<br /> * History:<br /> * 2011.08.20 - Lukas Blatter - Inital Release<br /> * 2011.12.02 - Lukas Blatter - Unterstützt nun auch die Auswahl von Unterordnern<br /> *                              mit subdir="/pfad/zum/ordner"<br /> *                              $config Aufruf an 1.10.x angepasst.<br /> * ------------------------------------------------------------------------<br /> * This program is distributed under the GNU General Public License, Version 2,<br /> * June 1991. Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin<br /> * St, Fifth Floor, Boston, MA 02110, USA<br /> *<br /> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND<br /> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED<br /> * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE<br /> * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR<br /> * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES<br /> * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;<br /> * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON<br /> * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT<br /> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS<br /> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br /> *<br /> * */<br /><br />function smarty_cms_function_getGalleryTree($params, &amp;$smarty)<br />{<br /><br />    $config = cmsms()-&gt;GetConfig();<br />    $delimiter = "|";<br /><br />    if (!function_exists("getGalleryTreeAsArray"))<br />    {<br />        function getGalleryTreeAsArray($path = '.', $ignore = array()) {<br />            $dirTree = array ();<br />            $dirTreeTemp = array ();<br />            $ignore[] = '.';<br />            $ignore[] = '..';<br />            $ignore[] = '.htaccess';<br />            $ignore[] = 'error_log';<br />            $ignore[] = 'cgi-bin';<br />            $ignore[] = '.DS_Store';<br />            $ignore[] = 'thumb';<br /><br />            $config = cmsms()-&gt;GetConfig();<br /><br />            if (strpos($path,$config['uploads_path']) === FALSE)<br />                $path = $config['uploads_path']."/".trim($path,"/");<br /><br />            $dh = @opendir($path);<br /><br />            while (false !== ($file = readdir($dh))) {<br /><br />                if (!in_array($file, $ignore)) {<br />                    if (!is_dir("$path/$file")) {<br />                        $fileinfo=pathinfo($path."/".$file);<br />                                        if((strtolower($fileinfo['extension']) == "jpg"<br />                                         or  strtolower($fileinfo['extension']) == "jpeg"<br />                                         or strtolower($fileinfo['extension']) == "gif"<br />                                         or strtolower($fileinfo['extension']) == "png") and strpos($file,"thumb") === FALSE)<br />                        $dirTree["$path"][] = $file;<br /><br />                    } else {<br /><br />                        $dirTreeTemp = getGalleryTreeAsArray("$path/$file", $ignore);<br />                        if (is_array($dirTreeTemp))$dirTree = array_merge($dirTree, $dirTreeTemp);<br />                    }<br />                }<br />            }<br />            closedir($dh);<br /><br />            return $dirTree;<br />        }<br />    }<br /> <br />     $subdir = "";<br />         if (isset($params['subdir'])) {<br />         $subdir = "/".trim($params['subdir'],"/");<br />     }<br /><br /><br /><br />    $dirTree = getGalleryTreeAsArray('/images/Gallery'.$subdir);<br />    $gallerys = array();<br /><br />    foreach ($dirTree as $k =&gt; $v) {<br />        $pfad = str_replace($config['uploads_path']."/images/Gallery/","",$k);<br />        $gallerys[$pfad] = $pfad." (".count($v)." Fotos)";<br />    }<br /><br />    ksort($gallerys);<br /><br />    $smarty-&gt;assign("galleryTreeArray",$gallerys);<br />    $smarty-&gt;assign("galleryTreeTitel",implode($delimiter, $gallerys));<br />    $smarty-&gt;assign("galleryTreePath",implode($delimiter, array_keys($gallerys)));<br /><br />    if ($params['action'] == "url")<br />        return implode($delimiter, array_keys($gallerys));<br />    else<br />        return implode($delimiter, $gallerys);<br /><br />}</code></pre>
<p>Eingebaut wird das wie folgt:</p>
<pre><code>{* Dropdownfeld mit AdvancedContent erstellen *}<br />{AdvancedContent block="Gallery" label="Gallery"  block_type="dropdown" allow_none=true items="Keine Gallery|:::getGalleryTree :::" values="|:::getGalleryTree action='url':::" smarty=true assign="gallerypath"}<br /><br />{* Gallery anzeigen wenn eine Gallery ausgewählt wurde *}<br /> {if $gallerypath != ""}{Gallery dir=$gallerypath}{/if}</code></pre>
<p>Im Dropdown werden nur Ordner angezeigt welche auch Bilder enthalten:</p>
<p><a title="getGalleryTree Dropdown" href="uploads/images/Blog/2011_10/getGalleryTree.png" target="_blank"><img class="caption" title="getGalleryTree Dropdown" src="uploads/images/Blog/2011_10/thumb_431_208_getGalleryTree.png" alt="getGalleryTree Dropdown" width="431" height="208" /></a></p>
<p>Soll nur ein bestimmter Teil der Gallery angezeigt werden, kann über den Parameter "subdir" der Pfad zum entsprechenden Unterordner angegeben werden:</p>
<pre><code>{* Dropdownfeld mit AdvancedContent erstellen *}<br />{AdvancedContent block="Gallery" label="Gallery"  block_type="dropdown" allow_none=true items="Keine Gallery|:::getGalleryTree subdir='pfad/zum/unterordner':::" values="|:::getGalleryTree action='url' subdir='pfad/zum/unterordner':::" smarty=true assign="gallerypath"}</code></pre><img src="http://feeds.feedburner.com/~r/BlattertechInformatikBlog/~4/nR8VnlgxR38" height="1" width="1"/>]]></content:encoded>
      <pubDate>Fri, 21 Oct 2011 06:25:00 +0200</pubDate>
            <guid isPermaLink="false">http://www.blattertech.ch/blog/44/CMSMS-Gallery-Ordner-auslesen-und-mit-einem-Dropdown-zur-Auswahl-geben.htm</guid>
      <slash:comments>9</slash:comments>
    <feedburner:origLink>http://www.blattertech.ch/blog/44/CMSMS-Gallery-Ordner-auslesen-und-mit-einem-Dropdown-zur-Auswahl-geben.htm</feedburner:origLink></item>
      </channel>
</rss>

