<?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>Computer und wie sie unser Leben 'vereinfachen'</title>
	<atom:link href="http://blog.kay-strobach.de/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kay-strobach.de</link>
	<description>http://www.kay-strobach.de</description>
	<lastBuildDate>Tue, 13 Dec 2011 08:53:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>HTTPS mit SSL Proxy für WordPress</title>
		<link>http://blog.kay-strobach.de/index.php/2011/08/21/https-mit-ssl-proxy-fur-wordpress/</link>
		<comments>http://blog.kay-strobach.de/index.php/2011/08/21/https-mit-ssl-proxy-fur-wordpress/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 09:35:26 +0000</pubDate>
		<dc:creator>Kay Strobach</dc:creator>
				<category><![CDATA[Computer]]></category>

		<guid isPermaLink="false">https://ssl.webpack.de/blog.kay-strobach.de/?p=307</guid>
		<description><![CDATA[So kann man WordPress mit SSL nutzen: öffnen der Datei wp-config.php einfügen des folgenden Codes vor dem Kommentar Stop editing Die Variable Domain gibt die Hauptdomain des Blogs an. und schon ist es erledigt &#8230;]]></description>
			<content:encoded><![CDATA[<p>So kann man WordPress mit SSL nutzen:</p>
<ol>
<li>öffnen der Datei wp-config.php</li>
<li>einfügen des folgenden Codes vor dem Kommentar Stop editing<br />
Die Variable Domain gibt die Hauptdomain des Blogs an.</p>
<pre class="brush: php; title: ; notranslate">
//ssl patch begin
	$domain = 'blog.kay-strobach.de';
	if($_SERVER['HTTP_X_FORWARDED_HOST']==&quot;ssl.webpack.de&quot;) {
				// mit SSL-oxy
			define('WP_SITEURL', 'https://ssl.webpack.de/' . $domain);
			define('WP_HOME', 'https://ssl.webpack.de/' . $domain);
			$_SERVER['HTTPS'] = 'on';
			$_SERVER['REQUEST_URI'] = '/' . $domain . $_SERVER['REQUEST_URI'];
	} else {
				// Ohne SSLroxy
			define('WP_SITEURL', 'http://' . $domain);
			define('WP_HOME', 'http://' . $domain);
	}
//ssl patch end
</pre>
<p>und schon ist es erledigt &#8230;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.kay-strobach.de/index.php/2011/08/21/https-mit-ssl-proxy-fur-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aloha editor im TYPO3 Backend</title>
		<link>http://blog.kay-strobach.de/index.php/2011/07/04/aloha-editor-im-typo3-backend/</link>
		<comments>http://blog.kay-strobach.de/index.php/2011/07/04/aloha-editor-im-typo3-backend/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 16:59:53 +0000</pubDate>
		<dc:creator>Kay Strobach</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://blog.kay-strobach.de/?p=275</guid>
		<description><![CDATA[Based on the discussion on the TYPO3v4 List: http://lists.typo3.org/pipermail/typo3-project-v4/2011-July/002519.html I started to implement an early prototype of aloha editor in the TYPO3 Backend: You may download the extension below. All other rte&#8217;s must be deactivated. T3X_aloha-0_1_0-z-201107041851 Please note, this software &#8230; <a href="http://blog.kay-strobach.de/index.php/2011/07/04/aloha-editor-im-typo3-backend/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Based on the discussion on the TYPO3v4 List:</p>
<p><a href="http://lists.typo3.org/pipermail/typo3-project-v4/2011-July/002519.html">http://lists.typo3.org/pipermail/typo3-project-v4/2011-July/002519.html</a></p>
<p>I started to implement an early prototype of aloha editor in the TYPO3 Backend:</p>
<p><a href="http://blog.kay-strobach.de/wp-content/uploads/2011/07/04-07-2011-18-34-55.png"><img class="aligncenter size-thumbnail wp-image-276" title="04-07-2011 18-34-55" src="http://blog.kay-strobach.de/wp-content/uploads/2011/07/04-07-2011-18-34-55-150x150.png" alt="" width="150" height="150" /></a></p>
<p><a href="http://blog.kay-strobach.de/wp-content/uploads/2011/07/04-07-2011-18-36-141.png"><img class="aligncenter size-thumbnail wp-image-278" title="04-07-2011 18-36-14" src="http://blog.kay-strobach.de/wp-content/uploads/2011/07/04-07-2011-18-36-141-150x150.png" alt="" width="150" height="150" /></a></p>
<p><a href="http://blog.kay-strobach.de/wp-content/uploads/2011/07/04-07-2011-18-36-141.png"></a>You may download the extension below. All other rte&#8217;s must be deactivated.</p>
<p><a href="http://blog.kay-strobach.de/wp-content/uploads/2011/07/T3X_aloha-0_1_0-z-201107041851.zip">T3X_aloha-0_1_0-z-201107041851</a></p>
<p>Please note, this software is an early alpha &#8211; Please do not use it in an production environment. I do not guarentee, that is works completly.</p>
<p>Current features:</p>
<ul>
<li>Basic Aloha editor in Backend</li>
<li>Saving works</li>
</ul>
<p>Must have features (currently missing):</p>
<ul>
<li>Optimizing code to be smaller (currently based on tinemce_rte)</li>
<li>Link Wizard</li>
<li>Table Wizard</li>
<li>CSS Class Wizard</li>
<li>other</li>
</ul>
<p>Regards</p>
<p>Kay</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kay-strobach.de/index.php/2011/07/04/aloha-editor-im-typo3-backend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wysiwyg in Mantis einbinden</title>
		<link>http://blog.kay-strobach.de/index.php/2011/02/04/wysiwyg-in-mantis-einbinden/</link>
		<comments>http://blog.kay-strobach.de/index.php/2011/02/04/wysiwyg-in-mantis-einbinden/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 13:18:52 +0000</pubDate>
		<dc:creator>Kay Strobach</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[SSO]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://blog.kay-strobach.de/?p=253</guid>
		<description><![CDATA[Download und unzip tinymce im Verzeichnis custom in der Mantisinstallation. http://tinymce.moxiecode.com/index.php Ändere die config.inc.php Füge zur custom/meta_inc.php folgende Zeilen hinzu (eventuell muss die Datei angelegt werden).]]></description>
			<content:encoded><![CDATA[<p>Download und unzip tinymce im Verzeichnis custom in der Mantisinstallation.</p>
<p>http://tinymce.moxiecode.com/index.php</p>
<p>Ändere die config.inc.php</p>
<pre class="brush: php; title: ; notranslate">
$g_meta_include_file			= '%absolute_path%custom/meta_inc.php';
</pre>
<p>Füge zur custom/meta_inc.php folgende Zeilen hinzu (eventuell muss die Datei angelegt werden).</p>
<pre class="brush: php; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;custom/tinymce/jscripts/tiny_mce/tiny_mce.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
tinyMCE.init({
        // General options
        mode : &quot;textareas&quot;,
        theme : &quot;advanced&quot;,
        plugins : &quot;spellchecker,searchreplace,print,contextmenu,paste,fullscreen,inlinepopups&quot;,

        // Theme options
        theme_advanced_buttons1 : &quot;bold,italic,underline,strikethrough,|,bullist,numlist,|,cut,copy,paste,pastetext,pasteword,|,search,replace,|,code&quot;,
        theme_advanced_buttons2 : &quot;&quot;,
        theme_advanced_buttons3 : &quot;&quot;,
        theme_advanced_buttons4 : &quot;&quot;,
		theme_advanced_toolbar_location : &quot;top&quot;,
        theme_advanced_toolbar_align : &quot;left&quot;,
        theme_advanced_statusbar_location : &quot;bottom&quot;,
        theme_advanced_resizing : true,
		valid_elements : &quot;a[href|target=_blank],b/strong,i/italic,u/underline,s/strikethrough,ul,ol,li,br&quot;,
		force_br_newlines : true,
        force_p_newlines : false,
		remove_linebreaks : true,
		apply_source_formatting:false,

        // Example content CSS (should be your site CSS)
        content_css : &quot;css/default.css&quot;,

});
&lt;/script&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.kay-strobach.de/index.php/2011/02/04/wysiwyg-in-mantis-einbinden/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>index_sso.php für SingleSignOn für Mediawiki 1.16.1</title>
		<link>http://blog.kay-strobach.de/index.php/2011/01/29/index_sso-php-fur-singlesignon-fur-mediawiki-1-16-1/</link>
		<comments>http://blog.kay-strobach.de/index.php/2011/01/29/index_sso-php-fur-singlesignon-fur-mediawiki-1-16-1/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 18:52:45 +0000</pubDate>
		<dc:creator>Kay Strobach</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[SSO]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://blog.kay-strobach.de/?p=240</guid>
		<description><![CDATA[In den nächsten Tagen folgen noch die Adapter für tine20.org und Roundcube. Code, damit das aktuelle Mediawiki mit dem SingleSignOn für TYPO3 funktioniert.]]></description>
			<content:encoded><![CDATA[<p>In den nächsten Tagen folgen noch die Adapter für tine20.org und Roundcube.<br />
Code, damit das aktuelle Mediawiki mit dem SingleSignOn für TYPO3 funktioniert.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/*
* Signature-Based Single Sign-On Framework
* TPA Adapter for
* Mediawiki ( http://wikipedia.sourceforge.net )
*
*  Version            : 0.4
*  Last update        : 29.12.2009
*  License            : GPL
*
*  (c) Kay Strobach, Bannewitz, Germany
*  http://www.kay-strobach.de
*/

	//tell mediawiki, that it's startet properly
		define( 'MEDIAWIKI', true );
	//disable transactions -&gt; there where problems with them ...
		define('DBO_TRX'   , false);
	//include libs
		$IP = dirname(__FILE__);
		include_once(dirname(__FILE__).'/includes/WebStart.php');
	//load db
		$wgDatabase = Database::newFromParams( $wgDBserver, $wgDBuser , $wgDBpassword, $wgDBname, 1 );

/**
 *  function which is called after including this file in the SSO-Agent.
 *
 *  @param
 *    User_Name    string    Username the Session will be created for
 *    remote_addr  string    Remoteaddress of the users system
 *    agent        string    Browser
 *    sso_url      string    Url where the user will be redirected after establishing a session for him
 *
 *  @return        string    return the session data
 *
 *  Leave stubs if you dont need all four params.
 */
	function sso($User_Name,$remote_addr,$agent,$sso_url,$sso_version=&quot;&quot;,$sso_action=&quot;&quot;,$sso_userdata=&quot;&quot;) {
		//do basic check
			if ($sso_version == &quot;&quot;) return array(&quot;Error&quot;=&gt;&quot;sso version out of date&quot;);
		//unpack userdata
			$sso_userdata   = process_userdata($sso_userdata);
		//init global vars
			global $wgDefaultUserOptionsEn;
			global $wgNamespacesToBeSearchedDefault;
			global $wgDeferredUpdateList;
			global $wgAuth;
			global $wgUser;
			global $wgLang;
			global $wgTitle;
			global $wgMemc;
			global $wgDBserver,$wgDBname,$wgDBuser,$wgDBpassword;
			global $wgCookieExpiration, $wgCookiePath, $wgCookieDomain;
			global $trans;
			global $wgInputEncoding;
			global $wgCapitalLinks;
			global $wgUseLatin1, $IP;
			global $wgDefaultUserOptions;
			global $wgLoadBalancer;
			global $wgContLang;
			global $wgVersion;
			global $wgRequest;
			global $wgDatabase;
			global $wgCommandLineMode;
			global $wgPostCommitUpdateList;

		// load configuration
			#include_once(dirname(__FILE__).'/index.php');
		// Memcached support; for the session setup, use the fake one
			//Language::loadLocalisation('en',true);
		//init auth plugin
			$wgAuth = new AuthPlugin();
		// Initialize MediaWiki base class
			$wgRequest = new WebRequest();
			$action = $wgRequest-&gt;getVal( 'action', 'view' );
			$title  = $wgRequest-&gt;getVal( 'title' );
		//react on action
			$User_Name = USER::getCanonicalName($User_Name,false);

			switch($sso_action){
				case 'create_modify':
					$wgUser = User::newFromName( $User_Name );
					if( is_null( $wgUser ) ) {
						return;
					}
					if($wgUser-&gt;idForName()==0) {
						$wgUser-&gt;addToDatabase();
					}
					//setup user credentials
					$wgUser-&gt;setName($User_Name);
					$wgUser-&gt;setEmail($sso_userdata['email']);
					$wgUser-&gt;setRealName($sso_userdata['name']);
					$wgUser-&gt;setPassword( md5(microtime(true)) );
					//trust the tpa email
					$wgUser-&gt;confirmEmail();
					//check wether user isAdmin -&gt; if yes add to group admin

					//save user data
					$wgUser-&gt;saveSettings();
				break;
				// perform logon for given $User_Name
				case 'logon':
					//getUserId
						$wgUser = User::newFromName( $User_Name );
						if( is_null( $wgUser ) ) {
							return array(&quot;Error&quot;=&gt;&quot;no account for this user - object not initiated&quot;);
						}
						$id = $wgUser-&gt;idForName();
					// check if user exists in db
						if ($id==&quot;0&quot;) {
							// no user found, return error
							$error=array(&quot;Error&quot; =&gt; &quot;no account for this user - id==0&quot;);
							return $error;
						}
						else {
							$wgUser-&gt;setId( $id );
							$wgUser-&gt;loadFromDatabase();
							wfSetupSession();
							$wgUser-&gt;saveSettings();
							// valid username, start the session
							$wgUser-&gt;setOption( &quot;rememberpassword&quot;, &quot;0&quot; );
							$wgUser-&gt;setCookies();

							// prepare sessiondata return-values
						    	// Sessiondata is stored in this Format :
						    	// Array(
						    	//	[redirecturl] =&gt; $redirecturl
						    	//	[0] =&gt; Array(
						    	//		&quot;CookieName&quot; =&gt; $cookiename
						    	//		&quot;CookieValue&quot; =&gt; $cookievalue
						    	//		&quot;CookieExpires&quot; =&gt; $expires
						    	//		)
						    	//	[1] =&gt; Array(
						    	//		&quot;Cookiename&quot; =&gt; $cookiename
						    	//		... and so on
						    	//		)
						    	// [1] if you need to pass more than one cookie
						    	//
								$return_val[0] = array();
						    	$return_val += array( &quot;redirecturl&quot; =&gt; $sso_url.'?'.session_name().'='.session_id());
						        #print_r($return_val);
								// pass session data to the SSO-Agent
						        #die('&lt;a href=&quot;'.$return_val['redirecturl'].'&quot;&gt;link&lt;/a&gt;');
					        	return $return_val;
						}
				break;
			}
	}
/*
 * return the protocol version
 */
	function get_version(){
		return &quot;2.0&quot;;
	}

/*
 * process the userdata string and return an associative array
 *
 * @param string $sso_userdata: the data from fe_users (pipe-separated)
 * @return array	$data: the userdata
 */
	function process_userdata($sso_userdata){
		$sso_userdata = split(&quot;\|&quot;,$sso_userdata);
		for ($i=0;$i&lt;count($sso_userdata);$i++) {
			$sso_userdata[$i]=split(&quot;=&quot;,$sso_userdata[$i]);
			$data[$sso_userdata[$i][0]]=$sso_userdata[$i][1];
		}
		unset ($sso_userdata);
		return $data;
	}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.kay-strobach.de/index.php/2011/01/29/index_sso-php-fur-singlesignon-fur-mediawiki-1-16-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SingleSign on mit TYPO3</title>
		<link>http://blog.kay-strobach.de/index.php/2011/01/25/singlesign-on-mit-typo3/</link>
		<comments>http://blog.kay-strobach.de/index.php/2011/01/25/singlesign-on-mit-typo3/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 17:21:12 +0000</pubDate>
		<dc:creator>Kay Strobach</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[SSO]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://blog.kay-strobach.de/?p=218</guid>
		<description><![CDATA[Wer schon mal mehrere Webapplikationen samt Nutzern verwalten musste kennt das leidige Thema, dass man ständig die Nutzer zwischen den Datenbanken synchronisieren muss. Aus Sicht des Nutzers gibt es noch ein viel schlimmeres Problem. Der Nutzer muss sich mehrfach anmelden. &#8230; <a href="http://blog.kay-strobach.de/index.php/2011/01/25/singlesign-on-mit-typo3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wer schon mal mehrere Webapplikationen samt Nutzern verwalten musste kennt das leidige Thema, dass man ständig die Nutzer zwischen den Datenbanken synchronisieren muss.</p>
<p>Aus Sicht des Nutzers gibt es noch ein viel schlimmeres Problem. Der Nutzer muss sich mehrfach anmelden.</p>
<p><a href="http://www.single-signon.com/">http://www.single-signon.com/</a> stellt eine einfache Lösung für TYPO3 zur Verfügung um SSO umzusetzen. Da die Dokumentation ziemlich gut ist, verzichte ich hier auf die Beschreibung der Installation des SSO Adapters für TYPO3 und konzentriere mich auf einige interessante Lösungen.</p>
<p><strong>Bauen wir uns erstmal eine Seitens</strong><strong>truktur für unser Intranet</strong></p>
<ul>
<li>TYPO3 Template
<ul>
<li>Anwendungen (Übersicht mit Links zu SSO Adaptern
<ul>
<li>Tine20 SSO Adapter (wird später vorgestellt)</li>
<li>TYPO3 Backend SSO Adapter</li>
<li>Mantis SSO Adapter</li>
<li>Mediawiki SSO Adapter</li>
<li>PHPList SSO Adapter (wird später vorgestellt)</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Die SSO Adapter sind jeweils als Weiterleitung auf die entsprechende Anwendung konfiguriert.</p>
<p><strong>Umleitung auf verlinkten Bugreport mit SSO Authentifizierung im Mantis</strong></p>
<p>Vorbereitungen in der config_inc.php vom Mantis:</p>
<pre class="brush: php; title: ; notranslate">
$g_meta_include_file = '%absolute_path%/custom/meta_inc.php';
$g_logout_redirect_page			= 'custom_logout.php'; // enthält redirect auf {sso server}
</pre>
<p>Fügt man den folgenden Code nun in die custom/meta_inc.php ein (&lt;?php ?&gt; nicht vergessen), so werden anonyme Nutzer automatisch auf den SSO Adapter weitergeleitet und am Mantis authentifiziert. Natürlich landen Sie danach wieder auf der Seite mit dem zugehörigen Bugreport.</p>
<pre class="brush: php; title: ; notranslate">
	if ( !auth_is_user_authenticated() ) {
		if($_GET['return']) {
			setcookie('SSOredir',$_GET['return'],time()+60);
		}
		header('Location: http://{sso server url}/anwendungen/mantis/');
	} else {
		if($_COOKIE['SSOredir']) {
			header('Location: http://{mantis server url}/'.$_COOKIE['SSOredir']);
			setcookie('SSOredir','',time() - 3600);
		}
	}
</pre>
<p><strong>Umleitung auf verlinkten Bugreport mit SSO Authentifizierung im Mediawiki</strong></p>
<p>Auch bei Mediawiki läßt sich das obige Verhalten erreichen. dazu benötigen wir eine Mediawiki Extension diese wird in der Localsettings.php eingetragen</p>
<pre class="brush: php; title: ; notranslate">
require_once($IP.'/extensions/RedirectToSSO/index.php');
</pre>
<p>In der Datei extensions/RedirectToSSO/index.php wird nun der Code zur Detection einer Anmeldung hinterlegt:</p>
<pre class="brush: php; title: ; notranslate">
	$wgExtensionCredits['RedirectToSSO'][]= array(
		'name'         =&gt; 'Redirect SSO',
		'version'      =&gt; '1.0.0',
		'author'       =&gt; 'Kay Strobach',
		'url'          =&gt; 'http://www.kay-strobach.de/',
		'description'  =&gt; 'redirect to sso adapter.'
	);
	$wgHooks['UserLoadFromSession'][] = 'RedirectToSSO';
	$wgCacheVaryCookies[] = 'SSOredir';

	function RedirectToSSO($user, &amp;$result ) {
		global $wgOut, $wgPageToRedirectAfterLogout;
		if($_SESSION['wsUserID']==0) {
			$_SESSION['SSOredir'] = $_SERVER['REQUEST_URI'];
        	$wgOut-&gt;redirect('http://{sso server url}/anwendungen/mediawiki/');
		} else {
			if($_SESSION['SSOredir']) {
				header('Location: http://{mediawiki server url}'.$_SESSION['SSOredir']);
				$_SESSION['SSOredir'] = '';
				#setcookie('SSOredir','',time() - 3600);
				die();
			}
		}
		return true;
	}
</pre>
<p>Dummerweise werden Nutzer nach dem Klicken auf Logout noch nicht wieder auf die Seite mit der Anwendungsübersicht weitergeleitet. Das Lässt sich in Mediawiki mit der Extension redirectAfterLogout erreichen.</p>
<pre class="brush: php; title: ; notranslate">
$wgPageToRedirectAfterLogout = '{sso server url}/anwendungen/';
require_once($IP.'/extensions/redirectAfterLogout/redirectAfterLogout.php');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.kay-strobach.de/index.php/2011/01/25/singlesign-on-mit-typo3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3 tt_news conditional [more] link</title>
		<link>http://blog.kay-strobach.de/index.php/2011/01/06/typo3-tt_news-conditional-more-link/</link>
		<comments>http://blog.kay-strobach.de/index.php/2011/01/06/typo3-tt_news-conditional-more-link/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 19:19:50 +0000</pubDate>
		<dc:creator>Kay Strobach</dc:creator>
				<category><![CDATA[Computer]]></category>

		<guid isPermaLink="false">http://blog.kay-strobach.de/?p=186</guid>
		<description><![CDATA[In a current project i was asked to modify the latest view of tt_news so that the more link is only displayed if needed (that means no bodytext, but can be other condition as well). After a question on the &#8230; <a href="http://blog.kay-strobach.de/index.php/2011/01/06/typo3-tt_news-conditional-more-link/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In a current project i was asked to modify the latest view of tt_news so that the more link is only displayed if needed (that means no bodytext, but can be other condition as well).<br />
After a question on the english newsgroup i got a small hint:</p>
<blockquote><p><a href="http://typo3.org/documentation/document-library/extension-manuals/tt_news/3.0.1/view/1/4/#id2513502">http://typo3.org/documentation/document-library/extension-manuals/tt_news/3.0.1/view/1/4/#id2513502</a><br />
Look for &#8220;Conditional more link&#8221;</p></blockquote>
<pre class="brush: cpp; title: ; notranslate">
plugin.tt_news.displayList.subheader_stdWrap {
    append = TEXT
    append.data = register:newsMoreLink
    append.wrap = &lt;span&gt;|&lt;/span&gt;
    append.if.isTrue.field = bodytext
}
</pre>
<p>After some research i found out that it&#8217;s also possible to ensure that the tt_news title is not linked. Therefore I used a not documented register.</p>
<pre class="brush: cpp; title: ; notranslate">
plugin.tt_news.displayLatest.subheader_stdWrap {
    append = TEXT
    append.data = register:newsMoreLink
    append.wrap = &lt;span&gt;&amp;nbsp;|&lt;/span&gt;
    append.if.isTrue.field = bodytext
    parseFunc &lt; lib.parseFunc_RTE
    stripHtml = 0
    removeBadHTML = 1
}
plugin.tt_news.displayLatest.title_stdWrap {
    typolink.parameter.data = register:newsMoreLink_url
    typolink.parameter.if.isTrue.field = bodytext
}
</pre>
<p>It&#8217;s pretty cool to have a twitter like view if there is not so much information in a newsarticle. To see a live example take a look on http://dil.inf.tu-dresden.de</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kay-strobach.de/index.php/2011/01/06/typo3-tt_news-conditional-more-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

