Index: plugins/antispam/inc/lib.dc.antispam.php
===================================================================
--- plugins/antispam/inc/lib.dc.antispam.php	(revision 3036)
+++ plugins/antispam/inc/lib.dc.antispam.php	(revision 3231)
@@ -143,5 +143,5 @@
 
 		$user_id = trim(@pack('a32',substr($code,0,32)));
-		$pwd = @unpack('H40hex',substr($code,32,40));
+		$pwd = @unpack('H*hex',substr($code,32));
 
 		if ($user_id === false || $pwd === false) {
Index: plugins/pages/default-templates/dotty/page.html
===================================================================
--- plugins/pages/default-templates/dotty/page.html	(revision 3247)
+++ plugins/pages/default-templates/dotty/page.html	(revision 3247)
@@ -0,0 +1,14 @@
+{{tpl:extends parent="post.html"}}
+
+<tpl:Block name="head-linkrel">
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  <tpl:EntryIf pings_active="1"><link rel="pingback" href="{{tpl:BlogXMLRPCURL}}" /></tpl:EntryIf>
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
+</tpl:Block>
+
+<tpl:Block name="body-tag"><body class="dc-page"></tpl:Block>
+
+<tpl:Block name="main-content">
+  {{tpl:include src="_simple-entry.html"}}
+</tpl:Block>
Index: plugins/tags/default-templates/currywurst/tag.html
===================================================================
--- plugins/tags/default-templates/currywurst/tag.html	(revision 2782)
+++ plugins/tags/default-templates/currywurst/tag.html	(revision 3247)
@@ -54,5 +54,5 @@
 	</div>
 
-	<div class"content-inner">
+	<div class="content-inner">
 		<tpl:Entries>
 			{{tpl:include src="_entry-short.html"}}
Index: plugins/tags/default-templates/dotty/tag.html
===================================================================
--- plugins/tags/default-templates/dotty/tag.html	(revision 3247)
+++ plugins/tags/default-templates/dotty/tag.html	(revision 3247)
@@ -0,0 +1,74 @@
+{{tpl:extends parent="__layout.html"}}
+
+<tpl:Block name="head-title">
+	<title>{{tpl:lang Tag}} - {{tpl:TagID}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
+</tpl:Block>
+
+<tpl:Block name="meta-entry">
+	<meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+	<meta name="date" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+</tpl:Block>
+
+<tpl:Block name="dc-entry">
+	<meta property="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Tag}} - {{tpl:TagID}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+	<meta property="dc.language" content="{{tpl:BlogLanguage}}" />
+	<meta property="dc.date" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+</tpl:Block>
+
+<tpl:Block name="og-entry">
+	<meta property="og:title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Tag}} - {{tpl:TagID}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+</tpl:Block>	<!-- #og-entry -->
+
+<tpl:Block name="schema-entry">
+	<meta itemprop="name" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Tag}} - {{tpl:TagID}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+</tpl:Block>	<!-- #schema-entry -->
+
+<tpl:Block name="head-linkrel">
+	<link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+	<link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+
+	<tpl:Entries no_content="1">
+		<tpl:EntriesHeader>
+			<tpl:Pagination>
+				<tpl:PaginationIf end="0">
+					<link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
+				</tpl:PaginationIf>
+
+				<tpl:PaginationIf start="0">
+					<link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
+				</tpl:PaginationIf>
+			</tpl:Pagination>
+		</tpl:EntriesHeader>
+
+		<link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
+	</tpl:Entries>
+
+	<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:TagFeedURL type="atom"}}" />
+	<link rel="meta" type="application/xbel+xml" title="Blogroll" href="{{tpl:BlogrollXbelLink}}" />
+</tpl:Block>
+
+<tpl:Block name="body-tag"><body class="dc-tag"></tpl:Block>
+
+<tpl:Block name="main-content">
+	<header id="content-info">
+		<h2>{{tpl:lang Tag}} - {{tpl:TagID}}</h2>
+		<p><a type="application/atom+xml" href="{{tpl:TagFeedURL type="atom"}}"
+			title="{{tpl:lang This tag's entries Atom feed}}" class="feed">{{tpl:lang Entries feed}}</a>
+			<tpl:SysIf operator="or" comments_active="1" pings_active="1">
+				 - <a type="application/atom+xml" href="{{tpl:TagFeedURL type="atom"}}/comments"
+				title="{{tpl:lang This tag's comments Atom feed}}" class="feed">{{tpl:lang Comments feed}}</a>
+			</tpl:SysIf>
+		</p>
+	</header>
+
+	<div class="content-inner">
+		<tpl:Entries>
+			{{tpl:include src="_entry-short.html"}}
+
+			<tpl:EntriesFooter>
+				{{tpl:include src="_pagination.html"}}
+			</tpl:EntriesFooter>
+
+		</tpl:Entries>
+	</div> <!-- End #content-inner -->
+</tpl:Block>
Index: plugins/tags/default-templates/dotty/tags.html
===================================================================
--- plugins/tags/default-templates/dotty/tags.html	(revision 3247)
+++ plugins/tags/default-templates/dotty/tags.html	(revision 3247)
@@ -0,0 +1,45 @@
+{{tpl:extends parent="__layout.html"}}
+
+<tpl:Block name="head-title">
+	<title>{{tpl:lang Tags}} - {{tpl:BlogName encode_html="1"}}</title>
+</tpl:Block>
+
+<tpl:Block name="meta-robots">
+	<meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX"}}" />
+</tpl:Block>
+
+<tpl:Block name="dc-entry">
+	<meta property="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Tags}} - {{tpl:BlogName encode_html="1"}}" />
+	<meta property="dc.language" content="{{tpl:BlogLanguage}}" />
+	<meta property="dc.date" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+</tpl:Block>
+
+<tpl:Block name="og-entry">
+	<meta property="og:title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Tags}} - {{tpl:BlogName encode_html="1"}}" />
+</tpl:Block>	<!-- #og-entry -->
+
+<tpl:Block name="schema-entry">
+	<meta itemprop="name" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Tags}} - {{tpl:BlogName encode_html="1"}}" />
+</tpl:Block>	<!-- #schema-entry -->
+
+<tpl:Block name="head-linkrel">
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  <link rel="meta" type="application/xbel+xml" title="Blogroll" href="{{tpl:BlogrollXbelLink}}" />
+</tpl:Block>
+
+<tpl:Block name="body-tag"><body class="dc-tags"></tpl:Block>
+
+<tpl:Block name="main-content">
+  <header id="content-info">
+	<h2>{{tpl:lang Tags}}</h2>
+  </header>
+
+  <article class="content-inner">
+	<ul class="tags">
+	  <tpl:Tags>
+		<li><a href="{{tpl:TagURL}}" class="tag{{tpl:TagRoundPercent}}">{{tpl:TagID}}</a></li>
+	  </tpl:Tags>
+	</ul>
+  </article>
+</tpl:Block>
Index: plugins/widgets/_default_widgets.php
===================================================================
--- plugins/widgets/_default_widgets.php	(revision 2778)
+++ plugins/widgets/_default_widgets.php	(revision 3240)
@@ -20,4 +20,5 @@
 $__widgets->create('search',__('Search engine'),array('defaultWidgets','search'),null,'Search engine form');
 $__widgets->search->setting('title',__('Title (optional)').' :',__('Search'));
+$__widgets->search->setting('placeholder',__('Placeholder (HTML5 only, optional):'),'');
 $__widgets->search->setting('homeonly',__('Display on:'),0,'combo',
 	array(__('All pages') => 0, __('Home page only') => 1, __('Except on home page') => 2));
Index: plugins/widgets/_widgets_functions.php
===================================================================
--- plugins/widgets/_widgets_functions.php	(revision 3030)
+++ plugins/widgets/_widgets_functions.php	(revision 3240)
@@ -36,5 +36,6 @@
 			'<form action="'.$core->blog->url.'" method="get" role="search">'.
 			'<fieldset>'.
-			'<p><input type="text" size="10" maxlength="255" id="q" name="q" value="'.$value.'" /> '.
+			'<p><input type="text" size="10" maxlength="255" id="q" name="q" value="'.$value.'" '.
+			($w->placeholder ? 'placeholder="'.html::escapeHTML($w->placeholder).'"' : '').'/> '.
 			'<input type="submit" class="submit" value="ok" /></p>'.
 			'</fieldset>'.
Index: plugins/widgets/class.widgets.php
===================================================================
--- plugins/widgets/class.widgets.php	(revision 3058)
+++ plugins/widgets/class.widgets.php	(revision 3223)
@@ -320,5 +320,5 @@
 				$res .=
 				'<p><label for="'.$wfid.'">'.$s['title'].'</label> '.
-				form::textarea(array($iname,$wfid),30,5,html::escapeHTML($s['value']),'maximal').
+				form::textarea(array($iname,$wfid),30,8,html::escapeHTML($s['value']),'maximal').
 				'</p>';
 				break;
Index: plugins/widgets/index.php
===================================================================
--- plugins/widgets/index.php	(revision 3021)
+++ plugins/widgets/index.php	(revision 3223)
@@ -234,5 +234,8 @@
   //]]>
   </script>
-  <?php echo $core->callBehavior('adminPostEditor');?>
+  <?php
+  		$widget_editor = $core->auth->getOption('editor');
+  		echo $core->callBehavior('adminPostEditor',$widget_editor['xhtml'],'widget',array('#sidebarsWidgets textarea'),'xhtml');
+  ?>
   <?php echo(dcPage::jsConfirmClose('sidebarsWidgets')); ?>
 </head>
Index: plugins/widgets/widgets.js
===================================================================
--- plugins/widgets/widgets.js	(revision 2563)
+++ plugins/widgets/widgets.js	(revision 3223)
@@ -126,3 +126,12 @@
 		reorder($this.parents('ul.connected'));
 	});
+
+	// HTML text editor
+	if ($.isFunction(jsToolBar)) {
+		$('#sidebarsWidgets textarea').each(function() {
+			var tbWidgetText = new jsToolBar(this);
+			tbWidgetText.draw('xhtml');
+		});
+	}
+
 });
