diff --git a/lib/l10n.php b/lib/l10n.php
index 4e65af66c4f7cd406c84e8df9e6eb151e89621bf..5271bd4e58937b3be4c814c8587d0ca0aaaea587 100644
--- a/lib/l10n.php
+++ b/lib/l10n.php
@@ -146,16 +146,11 @@ class OC_L10N{
 			// If you add something don't forget to add it to $localizations
 			// at the top of the page
 			case 'date':
-				if( is_string( $data )) $data = strtotime( $data );
-				return date( $this->localizations['date'], $data );
-				break;
 			case 'datetime':
-				if( is_string( $data )) $data = strtotime( $data );
-				return date( $this->localizations['datetime'], $data );
-				break;
 			case 'time':
-				if( is_string( $data )) $data = strtotime( $data );
-				return date( $this->localizations['time'], $data );
+				if( $data instanceof DateTime ) return $data->format($this->localizations[$type]);
+				elseif( is_string( $data )) $data = strtotime( $data );
+				return date( $this->localizations[$type], $data );
 				break;
 			default:
 				return false;
diff --git a/lib/template.php b/lib/template.php
index 124343bd85ba55eb836778ae17e8f39a7409f736..37da1919556ad548e4c3cba5e12f75f7fa2a1418 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -202,15 +202,12 @@ class OC_Template{
 	 *
 	 * This function proceeds the template and prints its output.
 	 */
-	public function printPage()
-	{
+	public function printPage(){
 		$data = $this->fetchPage();
-		if( $data === false )
-		{
+		if( $data === false ){
 			return false;
 		}
-		else
-		{
+		else{
 			print $data;
 			return true;
 		}
@@ -223,18 +220,15 @@ class OC_Template{
 	 * This function proceeds the template. If $this->renderas is set, it will
 	 * will produce a full page.
 	 */
-	public function fetchPage()
-	{
+	public function fetchPage(){
 		// global Data we need
 		global $WEBROOT;
 		global $SERVERROOT;
 		$data = $this->_fetch();
 
-		if( $this->renderas )
-		{
+		if( $this->renderas ){
 			// Decide which page we show
-			if( $this->renderas == "user" )
-			{
+			if( $this->renderas == "user" ){
 				$page = new OC_Template( "core", "layout.user" );
 				$search=new OC_Template( 'core', 'part.searchbox');
 				$search->assign('searchurl',OC_Helper::linkTo( 'search', 'index.php' ));
@@ -243,8 +237,7 @@ class OC_Template{
 				// Add navigation entry
 				$page->assign( "navigation", OC_App::getNavigation());
 			}
-			elseif( $this->renderas == "admin" )
-			{
+			elseif( $this->renderas == "admin" ){
 				$page = new OC_Template( "core", "layout.admin" );
 				$search=new OC_Template( 'core', 'part.searchbox');
 				$search->assign('searchurl',OC_Helper::linkTo( 'search', 'index.php' ));
@@ -256,8 +249,7 @@ class OC_Template{
 				}
 				$page->assign( "settingsnavigation", OC_App::getSettingsNavigation());
 			}
-			else
-			{
+			else{
 				$page = new OC_Template( "core", "layout.guest" );
 			}
 
@@ -295,8 +287,7 @@ class OC_Template{
 			$page->assign( "content", $data );
 			return $page->fetchPage();
 		}
-		else
-		{
+		else{
 			return $data;
 		}
 	}
@@ -329,9 +320,14 @@ class OC_Template{
 	 * Includes another template. use <?php echo $this->inc('template'); ?> to
 	 * do this.
 	 */
-	public function inc( $file ){
+	public function inc( $file, $additionalparams = null ){
 		// $_ erstellen
 		$_ = $this->vars;
+		$l = $this->l10n;
+
+		if( !is_null($additionalparams)){
+			$_ = array_merge( $additionalparams, $this->vars );
+		}
 
 		// Einbinden
 		ob_start();