<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>wp-includes/js/thickbox/macFFBgHack.png</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -8,7 +8,7 @@
 &lt;body&gt;
 &lt;h1 id=&quot;logo&quot; style=&quot;text-align: center&quot;&gt;
 	&lt;img alt=&quot;WordPress&quot; src=&quot;wp-admin/images/wordpress-logo.png&quot; /&gt;
-	&lt;br /&gt; Version 2.6
+	&lt;br /&gt; Version 2.6.1
 &lt;/h1&gt;
 &lt;p style=&quot;text-align: center&quot;&gt;Semantic Personal Publishing Platform&lt;/p&gt;
 
@@ -29,7 +29,7 @@
 
 &lt;h1&gt;Upgrading&lt;/h1&gt;
 &lt;p&gt;Before you upgrade anything, make sure you have backup copies of any files you may have modified such as &lt;code&gt;index.php&lt;/code&gt;.&lt;/p&gt;
-&lt;h2&gt;Upgrading from any previous WordPress to 2.6:&lt;/h2&gt;
+&lt;h2&gt;Upgrading from any previous WordPress to 2.6.1:&lt;/h2&gt;
 &lt;ol&gt;
 	&lt;li&gt;Delete your old WP files, saving ones you've modified.&lt;/li&gt;
 	&lt;li&gt;Upload the new files.&lt;/li&gt;</diff>
      <filename>readme.html</filename>
    </modified>
    <modified>
      <diff>@@ -392,13 +392,16 @@ case 'add-comment' :
 
 	list($comments, $total) = _wp_get_comment_list( $status, $search, $start, 1 );
 
+	if ( get_option('show_avatars') )
+		add_filter( 'comment_author', 'floated_admin_avatar' );
+
 	if ( !$comments )
 		die('1');
 	$x = new WP_Ajax_Response();
 	foreach ( (array) $comments as $comment ) {
 		get_comment( $comment );
 		ob_start();
-			_wp_comment_row( $comment-&gt;comment_ID, $mode, false );
+			_wp_comment_row( $comment-&gt;comment_ID, $mode, $status );
 			$comment_list_item = ob_get_contents();
 		ob_end_clean();
 		$x-&gt;add( array(</diff>
      <filename>wp-admin/admin-ajax.php</filename>
    </modified>
    <modified>
      <diff>@@ -74,10 +74,7 @@ unset($hook_suffixes, $hook_suffix);
 &lt;/div&gt;
 
 &lt;?php
-$gears_compat = false;
-
-if ( ($is_gecko || $is_winIE) &amp;&amp; strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'webkit') === false ) { 
-	$gears_compat = true;
+if ( ! $is_opera ) { 
 ?&gt;
 	&lt;div id=&quot;gears-info-box&quot; class=&quot;info-box&quot; style=&quot;display:none;&quot;&gt;
 	&lt;img src=&quot;images/gear.png&quot; title=&quot;Gear&quot; alt=&quot;&quot; class=&quot;gears-img&quot; /&gt;
@@ -93,7 +90,14 @@ if ( ($is_gecko || $is_winIE) &amp;&amp; strpos(strtolower($_SERVER['HTTP_USER_AGENT']),
 	&lt;div id=&quot;gears-msg2&quot; style=&quot;display:none;&quot;&gt;
 	&lt;h3 class=&quot;info-box-title&quot;&gt;&lt;?php _e('Gears Status'); ?&gt;&lt;/h3&gt;
 	&lt;p&gt;&lt;?php _e('Gears is installed on this computer but is not enabled for use with WordPress.'); ?&gt;&lt;/p&gt; 
-	&lt;p&gt;&lt;?php _e('To enable it, make sure this web site is not on the denied list in Gears Settings under your browser\'s Tools menu, then click the button below.'); ?&gt;&lt;/p&gt;
+	&lt;p&gt;&lt;?php 
+	
+	if ( $is_safari )
+		_e('To enable it, make sure this web site is not on the denied list in Gears Settings under the Safari menu, then click the button below.');
+	else
+		_e('To enable it, make sure this web site is not on the denied list in Gears Settings under your browser Tools menu, then click the button below.'); 
+	
+	?&gt;&lt;/p&gt;
 	&lt;p&gt;&lt;strong&gt;&lt;?php _e('However if this is a public or shared computer, Gears should not be enabled.'); ?&gt;&lt;/strong&gt;&lt;/p&gt;
 	&lt;div class=&quot;submit&quot;&gt;&lt;button class=&quot;button&quot; onclick=&quot;wpGears.getPermission();&quot;&gt;&lt;?php _e('Enable Gears'); ?&gt;&lt;/button&gt;
 	&lt;button class=&quot;button&quot; style=&quot;margin-left:10px;&quot; onclick=&quot;document.getElementById('gears-info-box').style.display='none';&quot;&gt;&lt;?php _e('Cancel'); ?&gt;&lt;/button&gt;&lt;/div&gt;
@@ -101,16 +105,22 @@ if ( ($is_gecko || $is_winIE) &amp;&amp; strpos(strtolower($_SERVER['HTTP_USER_AGENT']),
 
 	&lt;div id=&quot;gears-msg3&quot; style=&quot;display:none;&quot;&gt;
 	&lt;h3 class=&quot;info-box-title&quot;&gt;&lt;?php _e('Gears Status'); ?&gt;&lt;/h3&gt;
-	&lt;p&gt;&lt;?php _e('Gears is installed and enabled on this computer. You can disable it from your browser Tools menu.'); ?&gt;&lt;/p&gt;
+	&lt;p&gt;&lt;?php
+	
+	if ( $is_safari )
+		_e('Gears is installed and enabled on this computer. You can disable it from the Safari menu.');
+	else
+		_e('Gears is installed and enabled on this computer. You can disable it from your browser Tools menu.'); 
+	
+	?&gt;&lt;/p&gt;
 	&lt;p&gt;&lt;?php _e('If there are any errors, try disabling Gears, then reload the page and enable it again.'); ?&gt;&lt;/p&gt;
 	&lt;p&gt;&lt;?php _e('Local storage status:'); ?&gt; &lt;span id=&quot;gears-wait&quot;&gt;&lt;span style=&quot;color:#f00;&quot;&gt;&lt;?php _e('Please wait! Updating files:'); ?&gt;&lt;/span&gt; &lt;span id=&quot;gears-upd-number&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
 	&lt;div class=&quot;submit&quot;&gt;&lt;button class=&quot;button&quot; onclick=&quot;document.getElementById('gears-info-box').style.display='none';&quot;&gt;&lt;?php _e('Close'); ?&gt;&lt;/button&gt;&lt;/div&gt;
 	&lt;/div&gt;
 	&lt;/div&gt;
-
 &lt;?php } ?&gt;
 
-&lt;div id=&quot;user_info&quot;&gt;&lt;p&gt;&lt;?php printf(__('Howdy, &lt;a href=&quot;%1$s&quot;&gt;%2$s&lt;/a&gt;!'), 'profile.php', $user_identity) ?&gt; | &lt;a href=&quot;&lt;?php echo site_url('wp-login.php?action=logout', 'login') ?&gt;&quot; title=&quot;&lt;?php _e('Log Out') ?&gt;&quot;&gt;&lt;?php _e('Log Out'); ?&gt;&lt;/a&gt; | &lt;?php _e('&lt;a href=&quot;http://codex.wordpress.org/&quot;&gt;Help&lt;/a&gt;') ?&gt; | &lt;?php _e('&lt;a href=&quot;http://wordpress.org/support/&quot;&gt;Forums&lt;/a&gt;'); if ( $gears_compat ) { ?&gt; | &lt;span id=&quot;gears-menu&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;wpGears.message(1);return false;&quot;&gt;&lt;?php _e('Turbo') ?&gt;&lt;/a&gt;&lt;/span&gt;&lt;?php } ?&gt;&lt;/p&gt;&lt;/div&gt;
+&lt;div id=&quot;user_info&quot;&gt;&lt;p&gt;&lt;?php printf(__('Howdy, &lt;a href=&quot;%1$s&quot;&gt;%2$s&lt;/a&gt;!'), 'profile.php', $user_identity) ?&gt; | &lt;a href=&quot;&lt;?php echo site_url('wp-login.php?action=logout', 'login') ?&gt;&quot; title=&quot;&lt;?php _e('Log Out') ?&gt;&quot;&gt;&lt;?php _e('Log Out'); ?&gt;&lt;/a&gt; | &lt;?php _e('&lt;a href=&quot;http://codex.wordpress.org/&quot;&gt;Help&lt;/a&gt;') ?&gt; | &lt;?php _e('&lt;a href=&quot;http://wordpress.org/support/&quot;&gt;Forums&lt;/a&gt;'); if ( ! $is_opera ) { ?&gt; | &lt;span id=&quot;gears-menu&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;wpGears.message(1);return false;&quot;&gt;&lt;?php _e('Turbo') ?&gt;&lt;/a&gt;&lt;/span&gt;&lt;?php } ?&gt;&lt;/p&gt;&lt;/div&gt;
 
 &lt;?php
 require(ABSPATH . 'wp-admin/menu-header.php');</diff>
      <filename>wp-admin/admin-header.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,24 @@
+.post-com-count {
+}
+#adminmenu li a #awaiting-mod, #sidemenu li a #update-plugins {
+	background-image: url(../images/comment-stalk-rtl.gif);
+	background-position:right bottom;
+}
+#footer {
+	background-position:99% 10px;
+}
 #poststuff .closed .togbox, #poststuff .togbox {
-background-image: url(../images/toggle-arrow-rtl.gif) !important;
-}
\ No newline at end of file
+	background-image: url(../images/toggle-arrow-rtl.gif) !important;
+}
+.bar {
+	border-right-color: transparent;
+	border-left-color: #99d;
+}
+.plugins .togl {
+	border-right-color: transparent;
+	border-left-color: #ccc;
+}
+#upload-menu li.current {
+	border-right-color: transparent;
+	border-left-color: #448abd;
+}</diff>
      <filename>wp-admin/css/colors-classic-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,24 @@
+.bar {
+	border-right-color: transparent;
+	border-left-color: #99d;
+}
+.post-com-count {
+}
+#adminmenu li a #awaiting-mod, #sidemenu li a #update-plugins {
+	background-image: url(../images/comment-stalk-rtl.gif);
+	background-position:right bottom;
+}
+#footer {
+	background-position:99% 10px;
+}
+.plugins .togl {
+	border-right-color: transparent;
+	border-left-color: #ccc;
+}
 #poststuff .closed .togbox, #poststuff .togbox {
-background-image: url(../images/toggle-arrow-rtl.gif) !important;
-}
\ No newline at end of file
+	background-image: url(../images/toggle-arrow-rtl.gif);
+}
+#upload-menu li.current {
+	border-right-color:transparent;
+	border-left-color: #448abd;
+}</diff>
      <filename>wp-admin/css/colors-fresh-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,79 +1,62 @@
+/* Right Now */
 #rightnow {
-	margin-left: 15px;
+	margin-right:0;
+	margin-left: 7px;
 }
-
 #rightnow .reallynow span {
 	text-align: right;
 	float: right;
 }
-
 #rightnow .reallynow a {
 	text-align: left;
 	float: left;
 	margin: 1px 0 0 6px;
 }
-
+/* Widgets */
+div#dashboard-widgets-wrap {
+	margin-right:0;
+	margin-left:-13px;
+}
 div.dashboard-widget-holder {
-	float: right;
+	float:right;
+}
+div.dashboard-widget {
+	margin-right:0;
+	margin-left: 20px;
 }
-
 h3.dashboard-widget-title span {
 	text-align: right;
 	float: right;
 }
-
-div.dashboard-widget-submit input {
-	font-family: sans-serif !important;
-}
-	
-#dashboard-widgets .widget_rss ul li a {
-	float:right;
-	font-weight:bold;
-	margin:0pt 0pt 0.2em 0.5em;
-}
-
-#dashboard-widgets .widget_rss ul li span.rss-date {
-	float: right;
-}
-
 h3.dashboard-widget-title small {
 	text-align: left;
-	float: left;
+	float:left;
 }
-div.dashboard-widget-content ul,
-div.dashboard-widget-content ol,
-div.dashboard-widget-content dl {
+div.dashboard-widget-submit input  {
+	font-family: Tahoma;
+}
+div.dashboard-widget-content ul, div.dashboard-widget-content ol, div.dashboard-widget-content dl {
 	padding-left:0;
 	padding-right:15px;
 }
-div#dashboard-widgets-wrap
-{
-	margin-right:0;
-	margin-left:-10px;
-}
-
-div.dashboard-widget {
-	margin-right:0;
-	margin-left:20px;
-}
-
-#dashboard-widgets .widget_rss ul li span.rss-date {
-	float:right;
-}
-#dashboard-widgets .widget_rss ul li a {
-	float:right;
-	margin:0 0 0.2em 0.5em;
-}
 #dashboard_secondary div.dashboard-widget-content ul li {
-	float: right;
+	float:right;
 }
 #dashboard_secondary div.dashboard-widget-content ul li .post {
-	font-family: sans-serif !important;
+	font-family:arial;
 }
 #dashboard_secondary div.dashboard-widget-content ul li a {
 	border-right:0 none;
-	border-left:1px solid #DADADA;
+	border-left: 1px solid #dadada;
+	height:110px;
 }
 #dashboard_secondary div.dashboard-widget-content ul li a cite {
-	font-family: sans-serif;
+	font-family: Tahoma;
+}
+#dashboard-widgets .widget_rss ul li span.rss-date {
+	float:right;
+}
+#dashboard-widgets .widget_rss ul li a {
+	float: right;
+	margin: 0 0 .2em .5em;
 }</diff>
      <filename>wp-admin/css/dashboard-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,34 +1,31 @@
-//* styles for use by people extending the WordPress interface */
-body, td { font-family: sans-serif; }
-
-textarea, input, select { font-family: sans-serif; }
-
-.alignleft { float: right; }
-.alignright { float: left; }
-
-.textleft { text-align: right; }
-.textright { text-align: left; }
-	
-.wrap h2 { font-family: sans-serif; }
-
+body, td {
+	font-family: Tahoma;
+}
+textarea, input, select {
+	font-family: Tahoma;
+}
+h1, h2, h3 {
+	font-family:arial;
+}
 .widefat td {
 	padding: 7px 10px 9px 15px;
 }
-
 .widefat th {
 	padding: 9px 10px 6px 15px;
 	text-align: right;
 }
-
 .widefat th input {
 	margin: 0 8px 0 0;
 }
-
 .widefat .check-column {
 	text-align: left;
 }
-
 .wrap h2 {
+	font-family:arial;
 	margin: 5px -4px 0 0;
-	padding: 0 0 7px 280px;
+	padding-right:0;
+	padding-left: 280px;
+}
+.wrap h2.long-header {
+	padding-left: 0;
 }</diff>
      <filename>wp-admin/css/global-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,53 +1,73 @@
-/* footer */
-body, td {
-	font-family: Tahoma,Verdana,sans-serif;
+#poststuff .postbox h3 {
+	padding-left:0;
+	padding-right: 23px;
 }
-
-.wrap {
-	text-align: right;
+* html #poststuff .postarea, * html #poststuff #titlediv {
+	margin-left:0;
+	margin-right: 3%;
 }
-
-.wrap h2 {
-	margin: 5px 0 0 4px;
-}
-
-#footer {
-	padding-left:50px;
+* html #poststuff h2 {
+	margin-right: 0;
 }
-#footer p {
-	background:none;
-	height:auto;
-	padding: 5px 5px 0;
-}
-
 #bh {
+	padding-right:0;
 	padding-left: 15px;
-	padding-right: 0px;
 }
-/* write post */
+div#dashboard-widgets {
+	padding-right:0;
+	padding-left: 1px;
+}
+#tagchecklist span a {
+	margin: 4px -9px 0 0;
+}
 #poststuff .togbox {
-	margin-right:-16px;
+	margin-left:0;
+	margin-right: -19px;
 }
-#poststuff h3 {
-	padding-right:20px;
+.widefat th input {
+	margin: 0 5px 0 0;
 }
-
-p#widget-search, p#post-search {
-	padding-left: 15px;
+/* ---------- add by navid */
+#dashmenu { /* fix top right bottom in admin */
+	direction:ltr;
+}
+#sidemenu a { /* fix left admin buttom ex. plugins, options */
+	float:left;
 }
-
-.widefat th {
-	padding-bottom: 8px;
+.wrap h2 {
+	margin:5px 4px 0 0;
+}
+#editor-toolbar {/* fix hover in media uploader icon */
+	direction:ltr;
+}
+#TB_window { /* fix theme preview */
+	left:2%;
+}
+/* fix widget page */
+form#widgets-filter {
+	position:static;
 }
-
-/* template editor */
-#template textarea {
+#widget-search {
+	display:none;
+}
+/* fix manage comment page */
+ul.view-switch li {
 	float:left;
 }
-
-/* Editor */
-
-.mceToolbar {
-	direction: ltr;
-	text-align: left;
-}
\ No newline at end of file
+form#posts-filter {
+	position:static;
+}
+#post-search {
+	display:none;
+}
+#submenu {
+	margin-right: 20px;
+}
+/* Fixes for media-upload window */
+/* Center media-upload panel on screen */
+#TB_window { 
+	width: 670px; 
+	position: absolute; 
+	top: 50%; 
+	left: 50%; 
+	margin-right: 335px !important; }</diff>
      <filename>wp-admin/css/ie-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,27 @@
 body {
-	font-size: 11px;
-	font-family: sans-serif !important;
+	font-family: Tahoma;
+}
+/* Half the page disapears on IE6 */
+* html body {
+	width: 700px; 
+	position: absolute; 
+	left: 50%; 
+	margin-right: 350px;
 }
 ul, ol {
 	padding: 5px 22px 5px 5px;
 }
-.form-table th {
-	text-align: right;
-}
-input {
-	padding: 1px
+.step, th {
+	text-align:right;
 }
-#logo {
-	text-align: left;
+.submit input, .button, .button-secondary  {
+	font-family: Tahoma;
+	margin-right:0;
 }
-#admin_email {
-	direction: ltr;
-	text-align: left;
-}
-.submit input, .button, .button-secondary {
-	font-family: sans-serif !important;
+.form-table th {
+	text-align:right;
 }
 h1 {
-	font-family: sans-serif;
-}
\ No newline at end of file
+	font-family:arial;
+	margin: 5px -4px 0 0;
+}</diff>
      <filename>wp-admin/css/install-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,35 +1,37 @@
 body {
-	font-family: sans-serif;
-	direction: rtl;
-}
-#login form .submit input {
-	font-family: sans-serif !important;
+	font-family: Tahoma;
 }
 form {
 	margin-left:0;
-	margin-right:8px;
+	margin-right: 8px;
 }
 form .forgetmenot {
 	float:right;
 }
+#login form .submit input  {
+	font-family: Tahoma;
+}
 form .submit {
 	float:left;
 }
+#backtoblog a {
+	left:auto;
+	right:15px;
+}
 #login_error, .message {
-	margin:0 8px 16px 0;
+	margin: 0 8px 16px 0;
 }
 #nav {
-	margin: 0 8px 0 0;
+	margin:0 8px 0 0;
 }
 #user_pass, #user_login, #user_email {
 	margin-right:0;
 	margin-left: 6px;
-	direction:ltr;
 }
 h1 a {
 	text-decoration:none;
 }
-#backtoblog a {
-	left: auto;
-	right: 15px;
-}
\ No newline at end of file
+/* ltr input */
+#user_login, #user_pass {
+	direction:ltr;
+}</diff>
      <filename>wp-admin/css/login-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,66 @@
-ul#sidemenu {
-	left: auto;
-	right: 0;
+body#media-upload ul#sidemenu {
+	left:auto;
+	right:0;
+	width: 620px;
+}
+#search-filter {
+	text-align:left;
 }
 .align .field label {
-	display: block;
+	padding: 0 28px 0 0;
+	margin: 0 0 0 1em;
+}
+.image-align-none-label, .image-align-left-label, .image-align-center-label, .image-align-right-label {
+	background-position:center right;
+}
+tr.image-size label {
+	margin: 0 0 0 1em;
+}
+.filename.original {
 	float: right;
-	padding: 0 25px 0 0;
-	margin: 5px 3px 5px 5px; 
 }
-.align .field input {
-	display: block;
+.crunching {
+	text-align: left;
+	margin-right:0;
+	margin-left: 5px;
+}
+button.dismiss {
+	right:auto;
+	left:5px;
+}
+.file-error {
+	margin: 0 50px 5px 0;
+}
+.progress {
+	left:auto;
+	right:0;
+}
+.bar {
+	border-right-width:0;
+	border-left-width: 3px;
+	border-left-style: solid;
+}
+.media-item .pinkynail {
+	float:right;
+}
+.describe-toggle-on, .describe-toggle-off {
+	float: left;
+	margin-right:0;
+	margin-left: 20px;
+}
+/* Specific to Uploader */
+
+#media-upload .media-upload-form p {
+	margin: 0 0 1em 1em;
+}
+.filename {
 	float: right;
-	margin: 5px 15px 5px 0;
-}
-.image-align-none-label,
-.image-align-left-label,
-.image-align-center-label,
-.image-align-right-label {
-	background-position: center right;
-}
\ No newline at end of file
+	margin-left:0;
+	margin-right: 10px;
+}
+#media-upload .describe th.label {
+	text-align:right;
+}
+.menu_order {
+	float:left;
+}</diff>
      <filename>wp-admin/css/media-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,3 @@
-#menu { margin-right: 8px !important; }
-
-p.submit input { text-align: right !important; }
-
-li.ui-tabs-selected a { height: 25px; }
-
-#photo_directions span { right: 200px; left: auto; height: 8px; }
\ No newline at end of file
+.ui-tabs-nav {
+ 	margin-right: 0;
+}</diff>
      <filename>wp-admin/css/press-this-ie-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,59 +1,98 @@
 body {
-	font-family: sans-serif;
+	font-family: Tahoma;
 }
-
-#viewsite { 
-	right:auto; left: 8px; 
+.ui-tabs-nav {
+	padding-left:0;
+	padding-right:8px;
 }
-
-ul#menu { 
-	padding-right: 8px; 
+.ui-tabs-nav li {
+	float: right;
 }
-
-.ui-tabs-nav li { 
-	float: right; 
+.button {
+	font-family: Tahoma;
+	margin-left:0;
+	margin-right: 5px;
 }
-
-div#posting { 
-	padding-right:16px; padding-left: 0; 
+#wphead #viewsite {
+	margin-left:0;
+	margin-right: 10px;
 }
-
-div#categories { 
-	right: auto; left: 16px; 
+#viewsite {
+	right:auto;
+	left: 8px;
 }
-
-div#categories h2 { 
-	margin:0.5em 1em 0.5em 0; 
+#wphead #viewsite a {
+	font-family: Tahoma;
 }
-
-#jaxtag { 
-	padding-right :1em; padding-left: 0; 
+h1 {
+	right:auto;
+	left:0;
 }
-
-input#newtag { 
-	margin-left: 4px; width: 100px; 
+div#posting {
+	padding-left:0;
+	padding-right: 16px;
 }
-
-#photo_directions span { 
-	right: auto; left: 3px 
+#photo_directions span {
+	right:auto;
+	left:3px;
 }
-
-#TB_ajaxContent #options { 
-	right: auto; left: 25px; 
+#img_container a {
+	float:right;
 }
-
-#TB_ajaxContent {
-	text-align: right;
+#img_container a, #img_container a:link, #img_container a:visited {
+	margin:0 0 4px 4px;
 }
-
-#TB_ajaxContent #this_photo {
-	direction: ltr;
+div#categories {
+	right:auto;
+	left:16px;
 }
-
-.video_split #extra_fields { 
-	float: right; 
+div#categories h2 {
+	margin: .5em 1em .5em 0;
+}
+#tagsdiv #newtag {
+	margin-right:0;	
+	margin-left: 5px;	
+}
+#jaxtag {
+	padding-left:0;
+	padding-right: 1em;
+}
+#tagchecklist {
+	padding-left:0;
+	padding-right: 1em;
+}
+#tagchecklist span {
+	margin-right: 10px;
+	margin-left: .5em;
+	float: right;
+}
+#tagchecklist span a {
+	margin: 6px -9px 0pt 0;
+	float: right;
+}
+.submitbox {
+	float: left;
+}
+.submitbox .submit input {
+	text-align:right;
+}
+.video_split #extra_fields {
+	float:right;
+}
+.video_split .editor_area {
+	float: left;
+}
+.ac_results li {
+	text-align:right;
+}
+#TB_ajaxContent #options {
+	right:auto;
+	left:25px;
+}
+#post_status {
+	margin-left:0;
+	margin-right: 10px;
+}
+#footer {
+	padding: 10px 60px 0 0;
 }
-
-.video_split .editor_area { 
-	float: left; 
-}
\ No newline at end of file</diff>
      <filename>wp-admin/css/press-this-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,8 @@ body {
 	margin: 0px;
 	padding: 0px;
 }
+
+img { border: 0; }
 /* Tabs */
 @media projection , screen {
 	.ui-tabs-hide {</diff>
      <filename>wp-admin/css/press-this.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,15 @@
 #template textarea {
-	font-family: monospace !important;
+	font-family:monospace;
 }
 #templateside {
 	float:left;
 }
 #themeselector {
 	padding-right:0;
-	padding-left:5px;
+	padding-left: 5px;
+	float: left;
 }
 div.tablenav {
-	margin-left:210px;
 	margin-right:0;
-}
\ No newline at end of file
+	margin-left: 210px;
+}</diff>
      <filename>wp-admin/css/theme-editor-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,45 @@
+/* 2 column liquid layout */
 div.widget-liquid-left-holder {
-	clear:right;
-	float:right;
+	float: right;
+	clear: right;
 	margin-right:0;
-	margin-left:-310px;
+	margin-left: -310px;
 }
 div.widget-liquid-left {
 	margin-right:0;
-	margin-left:310px;
+	margin-left: 320px;
 }
 div.widget-liquid-right {
-	clear:left;
-	float:left;
+	float: left;
+	clear: left;
 }
 p#widget-search {
+	right:auto;
 	left:0;
-	right:auto
+}
+h4.widget-title span {
+	float: right;
+}
+h4.widget-title a {
+	float: left;
+	margin-left:0;
+	margin-right: 1em;
 }
 ul#widget-list li.widget-list-item h4.widget-title {
 	float:right;
-	text-align:right;
 }
 ul#widget-list li.widget-list-item div.widget-description {
-	margin:0 200px 0 0;
-	padding:0 4em 0 0;
+	margin: 0 200px 0 0;
+	padding: 0 4em 0 0;
 }
 .widget-control-save, .widget-control-remove {
-	float:right;
 	margin-right:0;
-	margin-left:8px;
-}
-h4.widget-title span {
+	margin-left: 8px;
 	float: right;
 }
-h4.widget-title a {
-	float: left;
-	margin: 0 1em 0 0;
-}
-li.widget-list-control-item h4.widget-title a, #dragHelper li.widget-list-control-item h4.widget-title a, #draghelper li.widget-list-control-item h4.widget-title a:visited {
+li.widget-list-control-item h4.widget-title a,
+#dragHelper li.widget-list-control-item h4.widget-title a,
+#draghelper li.widget-list-control-item h4.widget-title a:visited {
 	right:auto;
-	left:1em;
-}
-
-ul.widget-control-list div.widget-control-actions {
-	margin-right:0;
-	margin-left:-10px;
+	left: 1em;
 }
-ul.widget-control-list h4.widget-title,
-#dragHelper h4.widget-title {
-	text-align: right;
-}
\ No newline at end of file</diff>
      <filename>wp-admin/css/widgets-rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -30,6 +30,8 @@ if ( !empty( $_REQUEST['delete_comments'] ) ) {
 		}
 	endforeach;
 	$redirect_to = basename( __FILE__ ) . '?deleted=' . $comments_deleted . '&amp;approved=' . $comments_approved . '&amp;spam=' . $comments_spammed . '&amp;unapproved=' . $comments_unapproved;
+	if ( isset($_REQUEST['apage']) )
+		$redirect_to = add_query_arg( 'apage', absint($_REQUEST['apage']), $redirect_to );
 	if ( !empty($_REQUEST['mode']) )
 		$redirect_to = add_query_arg('mode', $_REQUEST['mode'], $redirect_to);
 	if ( !empty($_REQUEST['comment_status']) )
@@ -175,6 +177,9 @@ if ( $page_links )
 &lt;input type=&quot;submit&quot; value=&quot;&lt;?php _e('Delete'); ?&gt;&quot; name=&quot;deleteit&quot; class=&quot;button-secondary delete&quot; /&gt;
 &lt;?php do_action('manage_comments_nav', $comment_status); ?&gt;
 &lt;?php wp_nonce_field('bulk-comments'); ?&gt;
+&lt;?php if ( isset($_GET['apage']) ) { ?&gt;
+	&lt;input type=&quot;hidden&quot; name=&quot;apage&quot; value=&quot;&lt;?php echo absint( $_GET['apage'] ); ?&gt;&quot; /&gt;
+&lt;?php } ?&gt;
 &lt;/div&gt;
 
 &lt;br class=&quot;clear&quot; /&gt;</diff>
      <filename>wp-admin/edit-comments.php</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,9 @@ $messages[1] = sprintf( __( 'Post updated. Continue editing below or &lt;a href=&quot;%s
 $messages[2] = __('Custom field updated.');
 $messages[3] = __('Custom field deleted.');
 $messages[4] = __('Post updated.');
-$messages[5] = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( $_GET['revision'], false ) );
+
+if ( isset($_GET['revision']) )
+	$messages[5] = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
 
 $notice = false;
 $notices[1] = __( 'There is an autosave of this post that is more recent than the version below.  &lt;a href=&quot;%s&quot;&gt;View the autosave&lt;/a&gt;.' );
@@ -71,14 +73,7 @@ $saveasdraft = '&lt;input name=&quot;save&quot; type=&quot;submit&quot; id=&quot;save&quot; class=&quot;button&quot; tabind
 &lt;input type=&quot;hidden&quot; id=&quot;post_author&quot; name=&quot;post_author&quot; value=&quot;&lt;?php echo attribute_escape( $post-&gt;post_author ); ?&gt;&quot; /&gt;
 &lt;input type=&quot;hidden&quot; id=&quot;post_type&quot; name=&quot;post_type&quot; value=&quot;&lt;?php echo $post-&gt;post_type ?&gt;&quot; /&gt;
 &lt;input type=&quot;hidden&quot; id=&quot;original_post_status&quot; name=&quot;original_post_status&quot; value=&quot;&lt;?php echo $post-&gt;post_status ?&gt;&quot; /&gt;
-&lt;input name=&quot;referredby&quot; type=&quot;hidden&quot; id=&quot;referredby&quot; value=&quot;&lt;?php
-if ( !empty($_REQUEST['popupurl']) )
-	echo clean_url(stripslashes($_REQUEST['popupurl']));
-else if ( strpos( wp_get_referer(), '/wp-admin/' ) === false &amp;&amp; $post_ID &amp;&amp; url_to_postid(wp_get_referer()) === $post_ID  )
-	echo 'redo';
-else
-	echo clean_url(stripslashes(wp_get_referer()));
-?&gt;&quot; /&gt;
+&lt;input name=&quot;referredby&quot; type=&quot;hidden&quot; id=&quot;referredby&quot; value=&quot;&lt;?php echo clean_url(stripslashes(wp_get_referer())); ?&gt;&quot; /&gt;
 &lt;?php if ( 'draft' != $post-&gt;post_status ) wp_original_referer_field(true, 'previous'); ?&gt;
 
 &lt;?php echo $form_extra ?&gt;
@@ -115,7 +110,7 @@ if ( current_user_can('publish_posts') OR ( $post-&gt;post_status == 'publish' AND
 &lt;/p&gt;
 
 &lt;?php if ( current_user_can( 'publish_posts' ) ) : ?&gt;
-&lt;p&gt;&lt;label for=&quot;post_status_private&quot; class=&quot;selectit&quot;&gt;&lt;input id=&quot;post_status_private&quot; name=&quot;post_status&quot; type=&quot;checkbox&quot; value=&quot;private&quot; &lt;?php checked($post-&gt;post_status, 'private'); ?&gt; tabindex=&quot;4&quot; /&gt; &lt;?php _e('Keep this post private') ?&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;p id=&quot;private-checkbox&quot;&gt;&lt;label for=&quot;post_status_private&quot; class=&quot;selectit&quot;&gt;&lt;input id=&quot;post_status_private&quot; name=&quot;post_status&quot; type=&quot;checkbox&quot; value=&quot;private&quot; &lt;?php checked($post-&gt;post_status, 'private'); ?&gt; tabindex=&quot;4&quot; /&gt; &lt;?php _e('Keep this post private') ?&gt;&lt;/label&gt;&lt;/p&gt;
 &lt;?php endif; ?&gt;
 &lt;?php
 if ($post_ID) {</diff>
      <filename>wp-admin/edit-form-advanced.php</filename>
    </modified>
    <modified>
      <diff>@@ -10,12 +10,13 @@ if ( isset($_GET['deleteit']) &amp;&amp; isset($_GET['delete']) ) {
 
 	foreach( (array) $_GET['delete'] as $cat_ID ) {
 		$cat_name = get_term_field('name', $cat_ID, 'link_category');
-
+		$default_cat_id = get_option('default_link_category');
+		
 		// Don't delete the default cats.
-		if ( $cat_ID == get_option('default_link_category') )
+		if ( $cat_ID == $default_cat_id )
 			wp_die(sprintf(__(&quot;Can&amp;#8217;t delete the &lt;strong&gt;%s&lt;/strong&gt; category: this is the default one&quot;), $cat_name));
 
-		wp_delete_term($cat_ID, 'link_category');
+		wp_delete_term($cat_ID, 'link_category', array('default' =&gt; $default_cat_id));
 	}
 
 	$location = 'edit-link-categories.php';</diff>
      <filename>wp-admin/edit-link-categories.php</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,9 @@ $messages[2] = __('Custom field updated.');
 $messages[3] = __('Custom field deleted.');
 $messages[4] = __('Page updated.');
 
+if ( isset($_GET['revision']) )
+	$messages[5] = sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
+
 $notice = false;
 $notices[1] = __( 'There is an autosave of this page that is more recent than the version below.  &lt;a href=&quot;%s&quot;&gt;View the autosave&lt;/a&gt;.' );
 
@@ -27,10 +30,6 @@ if (!isset($post_ID) || 0 == $post_ID) {
 $temp_ID = (int) $temp_ID;
 $user_ID = (int) $user_ID;
 
-$sendto = clean_url(stripslashes(wp_get_referer()));
-
-if ( 0 != $post_ID &amp;&amp; $sendto == get_permalink($post_ID) )
-	$sendto = 'redo';
 ?&gt;
 
 &lt;?php if ( $notice ) : ?&gt;
@@ -57,12 +56,7 @@ if (isset($mode) &amp;&amp; 'bookmarklet' == $mode)
 &lt;?php echo $form_extra ?&gt;
 &lt;input type=&quot;hidden&quot; id=&quot;post_type&quot; name=&quot;post_type&quot; value=&quot;&lt;?php echo $post-&gt;post_type ?&gt;&quot; /&gt;
 &lt;input type=&quot;hidden&quot; id=&quot;original_post_status&quot; name=&quot;original_post_status&quot; value=&quot;&lt;?php echo $post-&gt;post_status ?&gt;&quot; /&gt;
-&lt;input name=&quot;referredby&quot; type=&quot;hidden&quot; id=&quot;referredby&quot; value=&quot;&lt;?php
-if ( strpos( wp_get_referer(), '/wp-admin/' ) === false &amp;&amp; $post_ID &amp;&amp; url_to_postid(wp_get_referer()) === $post_ID )
-	echo 'redo';
-else
-	echo clean_url(stripslashes(wp_get_referer()));
-?&gt;&quot; /&gt;
+&lt;input name=&quot;referredby&quot; type=&quot;hidden&quot; id=&quot;referredby&quot; value=&quot;&lt;?php echo clean_url(stripslashes(wp_get_referer())); ?&gt;&quot; /&gt;
 &lt;?php if ( 'draft' != $post-&gt;post_status ) wp_original_referer_field(true, 'previous'); ?&gt;
 
 &lt;div id=&quot;poststuff&quot;&gt;
@@ -95,7 +89,7 @@ if ( current_user_can('publish_pages') OR ( $post-&gt;post_status == 'publish' AND
 &lt;/select&gt;
 &lt;/p&gt;
 &lt;?php if ( current_user_can( 'publish_posts' ) ) : ?&gt; 
-&lt;p&gt;&lt;label for=&quot;post_status_private&quot; class=&quot;selectit&quot;&gt;&lt;input id=&quot;post_status_private&quot; name=&quot;post_status&quot; type=&quot;checkbox&quot; value=&quot;private&quot; &lt;?php checked($post-&gt;post_status, 'private'); ?&gt; tabindex='4' /&gt; &lt;?php _e('Keep this page private') ?&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;p id=&quot;private-checkbox&quot;&gt;&lt;label for=&quot;post_status_private&quot; class=&quot;selectit&quot;&gt;&lt;input id=&quot;post_status_private&quot; name=&quot;post_status&quot; type=&quot;checkbox&quot; value=&quot;private&quot; &lt;?php checked($post-&gt;post_status, 'private'); ?&gt; tabindex='4' /&gt; &lt;?php _e('Keep this page private') ?&gt;&lt;/label&gt;&lt;/p&gt;
 &lt;?php endif; ?&gt;
 
 &lt;?php</diff>
      <filename>wp-admin/edit-page-form.php</filename>
    </modified>
    <modified>
      <diff>@@ -122,7 +122,7 @@ endif;
 $pagenum = absint( $_GET['pagenum'] );
 if ( empty($pagenum) )
 	$pagenum = 1;
-if( !$per_page || $pre_page &lt; 0 )
+if( !$per_page || $per_page &lt; 0 )
 	$per_page = 20;
 
 $num_pages = ceil(count($posts) / $per_page);</diff>
      <filename>wp-admin/edit-pages.php</filename>
    </modified>
    <modified>
      <diff>@@ -64,7 +64,7 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
 ?&gt;
 {
 &quot;betaManifestVersion&quot; : 1,
-&quot;version&quot; : &quot;&lt;?php echo $man_version; ?&gt;_20080710a&quot;,
+&quot;version&quot; : &quot;&lt;?php echo $man_version; ?&gt;_20080810&quot;,
 &quot;entries&quot; : [
 &lt;?php echo $defaults; ?&gt;
 
@@ -103,20 +103,7 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
 { &quot;url&quot; : &quot;images/no.png&quot; },
 { &quot;url&quot; : &quot;images/yes.png&quot; },
 
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/archive.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/audio.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/code.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/default.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/document.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/interactive.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/text.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/video.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/crystal/spreadsheet.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/images/rss.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/thickbox/loadingAnimation.gif&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/thickbox/tb-close.png&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/swfupload/swfupload_f9.swf&quot; },
-
+&lt;?php if ( is_file(ABSPATH.'/wp-includes/js/tinymce/tiny_mce.js') ) { ?&gt;
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/tiny_mce_popup.js?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/utils/mctabs.js?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/utils/validate.js?ver=311&quot; },
@@ -131,7 +118,7 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/themes/advanced/js/link.js?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/themes/advanced/js/source_editor.js?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/themes/advanced/js/anchor.js?ver=311&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js?ver=311d&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js?ver=311g&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/tiny_mce.js?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/themes/advanced/editor_template.js?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js?ver=311&quot; },
@@ -148,7 +135,7 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/paste/pastetext.htm?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/inlinepopups/template.htm?ver=311&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/editimage.html?ver=311d&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/editimage.html?ver=311g&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/wp-mce-help.php?ver=311&quot; },
 
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css?ver=311&quot; },
@@ -161,7 +148,7 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/media/css/media.css?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/paste/css/pasteword.css?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/paste/css/blank.css?ver=311&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css?ver=311d&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css?ver=311g&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css?ver=311&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/wordpress.css?ver=311&quot; },
 
@@ -203,5 +190,20 @@ header( 'Content-Type: application/x-javascript; charset=UTF-8' );
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wordpress/img/image.gif&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wordpress/img/media.gif&quot; },
 { &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wordpress/img/video.gif&quot; },
-{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wordpress/img/audio.gif&quot; }
+{ &quot;url&quot; : &quot;../wp-includes/js/tinymce/plugins/wordpress/img/audio.gif&quot; },
+&lt;?php } ?&gt;
+
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/archive.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/audio.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/code.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/default.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/document.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/interactive.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/text.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/video.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/crystal/spreadsheet.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/images/rss.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/js/thickbox/loadingAnimation.gif&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/js/thickbox/tb-close.png&quot; },
+{ &quot;url&quot; : &quot;../wp-includes/js/swfupload/swfupload_f9.swf&quot; }
 ]}</diff>
      <filename>wp-admin/gears-manifest.php</filename>
    </modified>
    <modified>
      <diff>@@ -67,8 +67,7 @@ function get_image_send_to_editor($id, $alt, $title, $align, $url='', $rel = fal
 
 function image_add_caption( $html, $id, $alt, $title, $align, $url, $size ) {
 
-	// CAPTIONS_OFF is temporary. Do not use it.
-	if ( empty($alt) || ( defined('CAPTIONS_OFF') &amp;&amp; true == CAPTIONS_OFF ) ) return $html;
+	if ( empty($alt) || apply_filters( 'disable_captions', '' ) ) return $html;
 	$id = ( 0 &lt; (int) $id ) ? 'attachment_' . $id : '';
 
 	preg_match( '/width=&quot;([0-9]+)/', $html, $matches );
@@ -103,7 +102,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array()) {
 	$file = wp_handle_upload($_FILES[$file_id], $overrides);
 
 	if ( isset($file['error']) )
-		return new wp_error( 'upload_error', $file['error'] );
+		return new WP_Error( 'upload_error', $file['error'] );
 
 	$url = $file['url'];
 	$type = $file['type'];
@@ -143,7 +142,7 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data =
 	$file = wp_handle_sideload($file_array, $overrides);
 
 	if ( isset($file['error']) )
-		return new wp_error( 'upload_error', $file['error'] );
+		return new WP_Error( 'upload_error', $file['error'] );
 
 	$url = $file['url'];
 	$type = $file['type'];
@@ -281,7 +280,7 @@ function media_upload_form_handler() {
 	if ( isset($_POST['send']) ) {
 		$keys = array_keys($_POST['send']);
 		$send_id = (int) array_shift($keys);
-		$attachment = $_POST['attachments'][$send_id];
+		$attachment = stripslashes_deep( $_POST['attachments'][$send_id] );
 		$html = $attachment['post_title'];
 		if ( !empty($attachment['url']) ) {
 			if ( strpos($attachment['url'], 'attachment_id') || false !== strpos($attachment['url'], get_permalink($_POST['post_id'])) )
@@ -510,14 +509,8 @@ function image_attachment_fields_to_edit($form_fields, $post) {
 	if ( substr($post-&gt;post_mime_type, 0, 5) == 'image' ) {
 		$form_fields['post_title']['required'] = true;
 
-		// CAPTIONS_OFF is temporary. Do not use it.
-		if ( defined('CAPTIONS_OFF') &amp;&amp; true == CAPTIONS_OFF ) {
-			$form_fields['post_excerpt']['label'] = __('Alternate Text');
-			$form_fields['post_excerpt']['helps'][] = __('Alt text for the image, e.g. &quot;The Mona Lisa&quot;');
-		} else {
-			$form_fields['post_excerpt']['label'] = __('Caption');
-			$form_fields['post_excerpt']['helps'][] = __('Also used as alternate text for the image');
-		}
+		$form_fields['post_excerpt']['label'] = __('Caption');
+		$form_fields['post_excerpt']['helps'][] = __('Also used as alternate text for the image');
 
 		$form_fields['post_content']['label'] = __('Description');
 
@@ -606,19 +599,13 @@ function get_attachment_fields_to_edit($post, $errors = null) {
 	$file = wp_get_attachment_url($post-&gt;ID);
 	$link = get_attachment_link($post-&gt;ID);
 
-	// CAPTIONS_OFF is temporary. Do not use it.
-	if ( defined('CAPTIONS_OFF') &amp;&amp; true == CAPTIONS_OFF )
-		$alt = __('Alternate Text');
-	else
-		$alt = __('Caption');
-
 	$form_fields = array(
 		'post_title'   =&gt; array(
 			'label'      =&gt; __('Title'),
 			'value'      =&gt; $edit_post-&gt;post_title,
 		),
 		'post_excerpt' =&gt; array(
-			'label'      =&gt; $alt,
+			'label'      =&gt; __('Caption'),
 			'value'      =&gt; $edit_post-&gt;post_excerpt,
 		),
 		'post_content' =&gt; array(
@@ -884,7 +871,6 @@ function media_upload_form( $errors = null ) {
 	$post_id = intval($_REQUEST['post_id']);
 
 ?&gt;
-&lt;input type='hidden' name='post_id' value='&lt;?php echo (int) $post_id; ?&gt;' /&gt;
 &lt;div id=&quot;media-upload-notice&quot;&gt;
 &lt;?php if (isset($errors['upload_notice']) ) { ?&gt;
 	&lt;?php echo $errors['upload_notice']; ?&gt;
@@ -947,9 +933,8 @@ jQuery(function($){
 &lt;div id=&quot;html-upload-ui&quot;&gt;
 &lt;?php do_action('pre-html-upload-ui'); ?&gt;
 	&lt;p&gt;
-	&lt;input type=&quot;file&quot; name=&quot;async-upload&quot; id=&quot;async-upload&quot; /&gt; &lt;input type=&quot;submit&quot; class=&quot;button&quot; name=&quot;html-upload&quot; value=&quot;&lt;?php echo attribute_escape(__('Upload')); ?&gt;&quot; /&gt; &lt;a href=&quot;#&quot; onClick=&quot;return top.tb_remove();&quot;&gt;&lt;?php _e('Cancel'); ?&gt;&lt;/a&gt;
+	&lt;input type=&quot;file&quot; name=&quot;async-upload&quot; id=&quot;async-upload&quot; /&gt; &lt;input type=&quot;submit&quot; class=&quot;button&quot; name=&quot;html-upload&quot; value=&quot;&lt;?php echo attribute_escape(__('Upload')); ?&gt;&quot; /&gt; &lt;a href=&quot;#&quot; onclick=&quot;return top.tb_remove();&quot;&gt;&lt;?php _e('Cancel'); ?&gt;&lt;/a&gt;
 	&lt;/p&gt;
-	&lt;input type=&quot;hidden&quot; name=&quot;post_id&quot; id=&quot;post_id&quot; value=&quot;&lt;?php echo (int) $post_id; ?&gt;&quot; /&gt;
 	&lt;br class=&quot;clear&quot; /&gt;
 	&lt;?php if ( is_lighttpd_before_150() ): ?&gt;
 	&lt;p&gt;&lt;?php _e('If you want to use all capabilities of the uploader, like uploading multiple files at once, please upgrade to lighttpd 1.5.'); ?&gt;&lt;/p&gt;
@@ -1021,7 +1006,7 @@ var addExtImage = {
 
 		if ( f.alt.value ) {
 			alt = f.alt.value.replace(/['&quot;&lt;&gt;]+/g, '');
-&lt;?php if ( ! defined('CAPTIONS_OFF') || true != CAPTIONS_OFF ) { // CAPTIONS_OFF is temporary. Do not use it. ?&gt;
+&lt;?php if ( ! apply_filters( 'disable_captions', '' ) ) { ?&gt;
 			caption = f.alt.value.replace(/'/g, '&amp;#39;').replace(/&quot;/g, '&amp;quot;').replace(/&lt;/g, '&amp;lt;').replace(/&gt;/g, '&amp;gt;');
 &lt;?php } ?&gt;
 		}
@@ -1082,6 +1067,7 @@ var addExtImage = {
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;input type=&quot;submit&quot; class=&quot;button savebutton&quot; name=&quot;save&quot; value=&quot;&lt;?php echo attribute_escape( __( 'Save all changes' ) ); ?&gt;&quot; /&gt;
+&lt;/form&gt;
 &lt;?php
 	endif;
 }
@@ -1278,14 +1264,23 @@ jQuery(function($){
 }
 
 function type_form_image() {
-	$form = '
+
+	if ( apply_filters( 'disable_captions', '' ) ) {
+		$alt = __('Alternate Text');
+		$alt_help = __('Alt text for the image, e.g. &quot;The Mona Lisa&quot;');
+	} else {
+		$alt = __('Image Caption');
+		$alt_help = __('Also used as alternate text for the image');
+	}
+
+	return '
 	&lt;table class=&quot;describe&quot;&gt;&lt;tbody&gt;
 		&lt;tr&gt;
 			&lt;th valign=&quot;top&quot; scope=&quot;row&quot; class=&quot;label&quot; style=&quot;width:120px;&quot;&gt;
 				&lt;span class=&quot;alignleft&quot;&gt;&lt;label for=&quot;src&quot;&gt;' . __('Source') . '&lt;/label&gt;&lt;/span&gt;
 				&lt;span class=&quot;alignright&quot;&gt;&lt;img id=&quot;status_img&quot; src=&quot;images/required.gif&quot; title=&quot;required&quot; alt=&quot;required&quot; /&gt;&lt;/span&gt;
 			&lt;/th&gt;
-			&lt;td class=&quot;field&quot;&gt;&lt;input id=&quot;src&quot; name=&quot;src&quot; value=&quot;&quot; type=&quot;text&quot; aria-required=&quot;true&quot; onblur=&quot;addExtImage.getImageData()&quot;&gt;&lt;/td&gt;
+			&lt;td class=&quot;field&quot;&gt;&lt;input id=&quot;src&quot; name=&quot;src&quot; value=&quot;&quot; type=&quot;text&quot; aria-required=&quot;true&quot; onblur=&quot;addExtImage.getImageData()&quot; /&gt;&lt;/td&gt;
 		&lt;/tr&gt;
 
 		&lt;tr&gt;
@@ -1295,31 +1290,15 @@ function type_form_image() {
 			&lt;/th&gt;
 			&lt;td class=&quot;field&quot;&gt;&lt;p&gt;&lt;input id=&quot;title&quot; name=&quot;title&quot; value=&quot;&quot; type=&quot;text&quot; aria-required=&quot;true&quot; /&gt;&lt;/p&gt;&lt;/td&gt;
 		&lt;/tr&gt;
-';
-	// CAPTIONS_OFF is temporary. Do not use it.
-	if ( defined('CAPTIONS_OFF') &amp;&amp; true == CAPTIONS_OFF ) {
-		$form .= '
-		&lt;tr&gt;
-			&lt;th valign=&quot;top&quot; scope=&quot;row&quot; class=&quot;label&quot;&gt;
-				&lt;span class=&quot;alignleft&quot;&gt;&lt;label for=&quot;alt&quot;&gt;' . __('Alternate Text') . '&lt;/label&gt;&lt;/span&gt;
-			&lt;/th&gt;
-			&lt;td class=&quot;field&quot;&gt;&lt;input id=&quot;alt&quot; name=&quot;alt&quot; value=&quot;&quot; type=&quot;text&quot; aria-required=&quot;true&quot; /&gt;
-			&lt;p class=&quot;help&quot;&gt;' . __('Alt text for the image, e.g. &quot;The Mona Lisa&quot;') . '&lt;/p&gt;&lt;/td&gt;
-		&lt;/tr&gt;
-';
 
-	} else {
-		$form .= '
 		&lt;tr&gt;
 			&lt;th valign=&quot;top&quot; scope=&quot;row&quot; class=&quot;label&quot;&gt;
-				&lt;span class=&quot;alignleft&quot;&gt;&lt;label for=&quot;alt&quot;&gt;' . __('Image Caption') . '&lt;/label&gt;&lt;/span&gt;
+				&lt;span class=&quot;alignleft&quot;&gt;&lt;label for=&quot;alt&quot;&gt;' . $alt . '&lt;/label&gt;&lt;/span&gt;
 			&lt;/th&gt;
 			&lt;td class=&quot;field&quot;&gt;&lt;input id=&quot;alt&quot; name=&quot;alt&quot; value=&quot;&quot; type=&quot;text&quot; aria-required=&quot;true&quot; /&gt;
-			&lt;p class=&quot;help&quot;&gt;' . __('Also used as alternate text for the image') . '&lt;/p&gt;&lt;/td&gt;
+			&lt;p class=&quot;help&quot;&gt;' . $alt_help . '&lt;/p&gt;&lt;/td&gt;
 		&lt;/tr&gt;
-';
-	}
-		$form .= '
+
 		&lt;tr class=&quot;align&quot;&gt;
 			&lt;th valign=&quot;top&quot; scope=&quot;row&quot; class=&quot;label&quot;&gt;&lt;p&gt;&lt;label for=&quot;align&quot;&gt;' . __('Alignment') . '&lt;/label&gt;&lt;/p&gt;&lt;/th&gt;
 			&lt;td class=&quot;field&quot;&gt;
@@ -1354,7 +1333,6 @@ function type_form_image() {
 	&lt;/tbody&gt;&lt;/table&gt;
 ';
 
-	return $form;
 }
 
 function type_form_audio() {</diff>
      <filename>wp-admin/includes/media.php</filename>
    </modified>
    <modified>
      <diff>@@ -34,7 +34,7 @@ function get_plugin_data( $plugin_file ) {
 function get_plugins($plugin_folder = '') {
 	
 	if ( ! $cache_plugins = wp_cache_get('plugins', 'plugins') )
-		$cached_plugins = array();
+		$cache_plugins = array();
 	
 	if ( isset($cache_plugins[ $plugin_folder ]) )
 		return $cache_plugins[ $plugin_folder ];
@@ -239,14 +239,19 @@ function validate_active_plugins() {
 		return;
 	}
 
+	//Invalid is any plugin that is deactivated due to error.
+	$invalid = array(); 
+
 	// If a plugin file does not exist, remove it from the list of active
 	// plugins.
 	foreach ( $check_plugins as $check_plugin ) {
 		$result = validate_plugin($check_plugin);
 		if ( is_wp_error( $result ) ) {
+			$invalid[$check_plugin] = $result;
 			deactivate_plugins( $check_plugin, true);
 		}
 	}
+	return $invalid;
 }
 
 function validate_plugin($plugin) {</diff>
      <filename>wp-admin/includes/plugin.php</filename>
    </modified>
    <modified>
      <diff>@@ -603,7 +603,6 @@ function get_sample_permalink($id, $title=null, $name = null) {
 	$post-&gt;post_status = $original_status;
 	$post-&gt;post_date = $original_date;
 	$post-&gt;post_name = $original_name;
-	$post-&gt;post_title = $original_title;
 	return $permalink;
 }
 </diff>
      <filename>wp-admin/includes/post.php</filename>
    </modified>
    <modified>
      <diff>@@ -15,11 +15,12 @@ if ( $wpdb-&gt;supports_collation() ) {
 
 $wp_queries=&quot;CREATE TABLE $wpdb-&gt;terms (
  term_id bigint(20) NOT NULL auto_increment,
- name varchar(55) NOT NULL default '',
+ name varchar(200) NOT NULL default '',
  slug varchar(200) NOT NULL default '',
  term_group bigint(10) NOT NULL default 0,
  PRIMARY KEY  (term_id),
- UNIQUE KEY slug (slug)
+ UNIQUE KEY slug (slug),
+ KEY name (name)
 ) $charset_collate;
 CREATE TABLE $wpdb-&gt;term_taxonomy (
  term_taxonomy_id bigint(20) NOT NULL auto_increment,</diff>
      <filename>wp-admin/includes/schema.php</filename>
    </modified>
    <modified>
      <diff>@@ -133,7 +133,7 @@ function get_tags_to_edit( $post_id ) {
 
 	foreach ( $tags as $tag )
 		$tag_names[] = $tag-&gt;name;
-	$tags_to_edit = join( ', ', $tag_names );
+	$tags_to_edit = join( ',', $tag_names );
 	$tags_to_edit = attribute_escape( $tags_to_edit );
 	$tags_to_edit = apply_filters( 'tags_to_edit', $tags_to_edit );
 	return $tags_to_edit;</diff>
      <filename>wp-admin/includes/taxonomy.php</filename>
    </modified>
    <modified>
      <diff>@@ -670,7 +670,7 @@ function user_row( $user_object, $style = '', $role = '' ) {
 	} else {
 		$edit = $user_object-&gt;user_login;
 	}
-	$role_name = translate_with_context($wp_roles-&gt;role_names[$role]);
+	$role_name = $wp_roles-&gt;role_names[$role] ? translate_with_context($wp_roles-&gt;role_names[$role]) : __('None');
 	$r = &quot;&lt;tr id='user-$user_object-&gt;ID'$style&gt;
 		&lt;th scope='row' class='check-column'&gt;&lt;input type='checkbox' name='users[]' id='user_{$user_object-&gt;ID}' class='$role' value='{$user_object-&gt;ID}' /&gt;&lt;/th&gt;
 		&lt;td&gt;&lt;strong&gt;$edit&lt;/strong&gt;&lt;/td&gt;</diff>
      <filename>wp-admin/includes/template.php</filename>
    </modified>
    <modified>
      <diff>@@ -543,6 +543,10 @@ function upgrade_230() {
 	$categories = $wpdb-&gt;get_results(&quot;SELECT * FROM $wpdb-&gt;categories ORDER BY cat_ID&quot;);
 	foreach ($categories as $category) {
 		$term_id = (int) $category-&gt;cat_ID;
+		$name = $category-&gt;cat_name;
+		$description = $category-&gt;category_description;
+		$slug = $category-&gt;category_nicename;
+		$parent = $category-&gt;category_parent;
 		$term_group = 0;
 
 		// Associate terms with the same slug in a term group and make slugs unique.</diff>
      <filename>wp-admin/includes/upgrade.php</filename>
    </modified>
    <modified>
      <diff>@@ -259,7 +259,7 @@ function wp_delete_user($id, $reassign = 'novalue') {
 	} else {
 		$reassign = (int) $reassign;
 		$wpdb-&gt;query( $wpdb-&gt;prepare(&quot;UPDATE $wpdb-&gt;posts SET post_author = %d WHERE post_author = %d&quot;, $reassign, $id) );
-		$wpdb-&gt;query( $wpdb-&gt;prepare(&quot;UPDATE $wpdb-&gt;links SET link_owner = %d WHERE link_owner = %d}&quot;, $reassign, $id) );
+		$wpdb-&gt;query( $wpdb-&gt;prepare(&quot;UPDATE $wpdb-&gt;links SET link_owner = %d WHERE link_owner = %d&quot;, $reassign, $id) );
 	}
 
 	// FINALLY, delete user
@@ -392,4 +392,4 @@ class WP_User_Search {
 }
 endif;
 
-?&gt;
\ No newline at end of file
+?&gt;</diff>
      <filename>wp-admin/includes/user.php</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,7 @@ $debug = 0;
  ** Returns:  true if already exists or on successful completion
  **           false on error
  */
+if ( ! function_exists('maybe_create_table') ) :
 function maybe_create_table($table_name, $create_ddl) {
 	global $wpdb;
 	foreach ($wpdb-&gt;get_col(&quot;SHOW TABLES&quot;,0) as $table ) {
@@ -26,6 +27,7 @@ function maybe_create_table($table_name, $create_ddl) {
 	}
 	return false;
 }
+endif;
 
 /**
  ** maybe_add_column()
@@ -33,6 +35,7 @@ function maybe_create_table($table_name, $create_ddl) {
  ** Returns:  true if already exists or on successful completion
  **           false on error
  */
+if ( ! function_exists('maybe_add_column') ) :
 function maybe_add_column($table_name, $column_name, $create_ddl) {
 	global $wpdb, $debug;
 	foreach ($wpdb-&gt;get_col(&quot;DESC $table_name&quot;,0) as $column ) {
@@ -51,7 +54,7 @@ function maybe_add_column($table_name, $column_name, $create_ddl) {
 	}
 	return false;
 }
-
+endif;
 
 /**
  ** maybe_drop_column()</diff>
      <filename>wp-admin/install-helper.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 function checkAll(jQ) { // use attr( checked, fn )
-	jQuery(jQ).find( 'tbody :checkbox' ).attr( 'checked', function() {
+	jQuery(jQ).find( 'tbody:visible :checkbox' ).attr( 'checked', function() {
 		return jQuery(this).attr( 'checked' ) ? '' : 'checked';
 	} );
 }</diff>
      <filename>wp-admin/js/forms.js</filename>
    </modified>
    <modified>
      <diff>@@ -25,15 +25,15 @@ wpGears = {
 	},
 
 	storeName : function() {
-      var name = window.location.protocol + window.location.host;
+		var name = window.location.protocol + window.location.host;
 
-      name = name.replace(/[\/\\:*&quot;?&lt;&gt;|;,]+/g, '_'); // gears beta doesn't allow certain chars in the store name
-	  name = 'wp_' + name.substring(0, 60); // max length of name is 64 chars
+		name = name.replace(/[\/\\:*&quot;?&lt;&gt;|;,]+/g, '_'); // gears beta doesn't allow certain chars in the store name
+		name = 'wp_' + name.substring(0, 60); // max length of name is 64 chars
 
-      return name;
-    },
+		return name;
+	},
 
-    message : function(show) {
+	message : function(show) {
 		var t = this, msg1 = t.I('gears-msg1'), msg2 = t.I('gears-msg2'), msg3 = t.I('gears-msg3'), num = t.I('gears-upd-number'), wait = t.I('gears-wait');
 
 		if ( ! msg1 ) return;
@@ -61,23 +61,32 @@ wpGears = {
 	I : function(id) {
 		return document.getElementById(id);
 	}
-}
+};
 
-function gearsInit() {
+(function() {
 	if ( 'undefined' != typeof google &amp;&amp; google.gears ) return;
 
 	var gf = false;
-	if ( 'undefined' != typeof GearsFactory ) { // Firefox
+	if ( 'undefined' != typeof GearsFactory ) {
 		gf = new GearsFactory();
-	} else { // IE
+	} else {
 		try {
 			gf = new ActiveXObject('Gears.Factory');
-		} catch (e) {}
+			if ( factory.getBuildInfo().indexOf('ie_mobile') != -1 )
+				gf.privateSetGlobalObject(this);
+		} catch (e) {
+			if ( ( 'undefined' != typeof navigator.mimeTypes ) &amp;&amp; navigator.mimeTypes['application/x-googlegears'] ) {
+				gf = document.createElement(&quot;object&quot;);
+				gf.style.display = &quot;none&quot;;
+				gf.width = 0;
+				gf.height = 0;
+				gf.type = &quot;application/x-googlegears&quot;;
+				document.documentElement.appendChild(gf);
+			}
+		}
 	}
 
 	if ( ! gf ) return;
 	if ( 'undefined' == typeof google ) google = {};
 	if ( ! google.gears ) google.gears = { factory : gf };
-}
-
-gearsInit();
+})();</diff>
      <filename>wp-admin/js/wp-gears.js</filename>
    </modified>
    <modified>
      <diff>@@ -28,12 +28,13 @@ case 'delete':
 		wp_die(__('Cheatin&amp;#8217; uh?'));
 
 	$cat_name = get_term_field('name', $cat_ID, 'link_category');
+	$default_cat_id = get_option('default_link_category');
 
 	// Don't delete the default cats.
-    if ( $cat_ID == get_option('default_link_category') )
+    if ( $cat_ID == $default_cat_id )
 		wp_die(sprintf(__(&quot;Can&amp;#8217;t delete the &lt;strong&gt;%s&lt;/strong&gt; category: this is the default one&quot;), $cat_name));
 
-	wp_delete_term($cat_ID, 'link_category');
+	wp_delete_term($cat_ID, 'link_category', array('default' =&gt; $default_cat_id));
 
 	$location = 'edit-link-categories.php';
 	if ( $referer = wp_get_original_referer() ) {
@@ -73,7 +74,9 @@ case 'editedcat':
 			$location = $referer;
 	}
 
-	if ( wp_update_term($cat_ID, 'link_category', $_POST) )
+	$update =  wp_update_term($cat_ID, 'link_category', $_POST);
+
+	if ( $update &amp;&amp; !is_wp_error($update) )
 		$location = add_query_arg('message', 3, $location);
 	else
 		$location = add_query_arg('message', 5, $location);</diff>
      <filename>wp-admin/link-category.php</filename>
    </modified>
    <modified>
      <diff>@@ -163,9 +163,9 @@ $structures = array(
 
 &lt;h3&gt;&lt;?php _e('Optional'); ?&gt;&lt;/h3&gt;
 &lt;?php if ($is_apache) : ?&gt;
-	&lt;p&gt;&lt;?php _e('If you like, you may enter custom structures for your category and tag &lt;abbr title=&quot;Universal Resource Locator&quot;&gt;URL&lt;/abbr&gt;s here. For example, using &lt;code&gt;/topics/&lt;/code&gt; as your category base would make your category links like &lt;code&gt;http://example.org/topics/uncategorized/&lt;/code&gt;. If you leave these blank the defaults will be used.') ?&gt;&lt;/p&gt;
+	&lt;p&gt;&lt;?php _e('If you like, you may enter custom structures for your category and tag &lt;abbr title=&quot;Universal Resource Locator&quot;&gt;URL&lt;/abbr&gt;s here. For example, using &lt;code&gt;topics&lt;/code&gt; as your category base would make your category links like &lt;code&gt;http://example.org/topics/uncategorized/&lt;/code&gt;. If you leave these blank the defaults will be used.') ?&gt;&lt;/p&gt;
 &lt;?php else : ?&gt;
-	&lt;p&gt;&lt;?php _e('If you like, you may enter custom structures for your category and tag &lt;abbr title=&quot;Universal Resource Locator&quot;&gt;URL&lt;/abbr&gt;s here. For example, using &lt;code&gt;/topics/&lt;/code&gt; as your category base would make your category links like &lt;code&gt;http://example.org/index.php/topics/uncategorized/&lt;/code&gt;. If you leave these blank the defaults will be used.') ?&gt;&lt;/p&gt;
+	&lt;p&gt;&lt;?php _e('If you like, you may enter custom structures for your category and tag &lt;abbr title=&quot;Universal Resource Locator&quot;&gt;URL&lt;/abbr&gt;s here. For example, using &lt;code&gt;topics&lt;/code&gt; as your category base would make your category links like &lt;code&gt;http://example.org/index.php/topics/uncategorized/&lt;/code&gt;. If you leave these blank the defaults will be used.') ?&gt;&lt;/p&gt;
 &lt;?php endif; ?&gt;
 
 &lt;table class=&quot;form-table&quot;&gt;</diff>
      <filename>wp-admin/options-permalink.php</filename>
    </modified>
    <modified>
      <diff>@@ -34,9 +34,7 @@ function redirect_page($page_ID) {
 	} elseif (!empty($referredby) &amp;&amp; $referredby != $referer) {
 		$location = $_POST['referredby'];
 		$location = remove_query_arg('_wp_original_http_referer', $location);
-		if ( $_POST['referredby'] == 'redo' )
-			$location = get_permalink( $page_ID );
-		elseif ( false !== strpos($location, 'edit-pages.php') )
+		if ( false !== strpos($location, 'edit-pages.php') )
 			$location = add_query_arg('posted', $page_ID, $location);
 		elseif ( false !== strpos($location, 'wp-admin') )
 			$location = &quot;page-new.php?posted=$page_ID&quot;;</diff>
      <filename>wp-admin/page.php</filename>
    </modified>
    <modified>
      <diff>@@ -165,8 +165,10 @@ wp_enqueue_script('admin-forms');
 $title = __('Manage Plugins');
 require_once('admin-header.php');
 
-validate_active_plugins();
-
+$invalid = validate_active_plugins();
+if( !empty($invalid) )
+	foreach($invalid as $plugin_file =&gt; $error)
+		echo '&lt;div id=&quot;message&quot; class=&quot;error&quot;&gt;&lt;p&gt;' . sprintf(__('The plugin &lt;code&gt;%s&lt;/code&gt; has been &lt;strong&gt;deactivated&lt;/strong&gt; due to an error: %s'), wp_specialchars($plugin_file), $error-&gt;get_error_message()) . '&lt;/p&gt;&lt;/div&gt;';
 ?&gt;
 
 &lt;?php if ( isset($_GET['error']) ) : ?&gt;</diff>
      <filename>wp-admin/plugins.php</filename>
    </modified>
    <modified>
      <diff>@@ -36,9 +36,7 @@ function redirect_post($post_ID = '') {
 	} elseif (!empty($referredby) &amp;&amp; $referredby != $referer) {
 		$location = $_POST['referredby'];
 		$location = remove_query_arg('_wp_original_http_referer', $location);
-		if ( $_POST['referredby'] == 'redo' )
-			$location = get_permalink( $post_ID );
-		elseif ( false !== strpos($location, 'edit.php') )
+		if ( false !== strpos($location, 'edit.php') )
 			$location = add_query_arg('posted', $post_ID, $location);		
 		elseif ( false !== strpos($location, 'wp-admin') )
 			$location = &quot;post-new.php?posted=$post_ID&quot;;</diff>
      <filename>wp-admin/post.php</filename>
    </modified>
    <modified>
      <diff>@@ -34,13 +34,14 @@ function press_it() {
 			$content = $_REQUEST['content'];
 
 			foreach( (array) $_REQUEST['photo_src'] as $key =&gt; $image) {
-				// escape quote for matching
-				$quoted = preg_quote2($image);
-
+				
 				// see if files exist in content - we don't want to upload non-used selected files.
-				if( strpos($_REQUEST['content'], $quoted) !== false ) {
+				if( strpos($_REQUEST['content'], $image) !== false ) {
 					$upload = media_sideload_image($image, $post_ID, $_REQUEST['photo_description'][$key]);
+					 
 					// Replace the POSTED content &lt;img&gt; with correct uploaded ones.
+					// escape quote for matching
+					$quoted = preg_quote2($image);
 					if( !is_wp_error($upload) ) $content = preg_replace('/&lt;img ([^&gt;]*)src=(\&quot;|\')'.$quoted.'(\2)([^&gt;\/]*)\/*&gt;/is', $upload, $content);
 				}
 			}
@@ -183,19 +184,21 @@ if($_REQUEST['ajax'] == 'photo_images') {
 
 		$host = parse_url($uri);
 
-		$pattern = '/&lt;img ([^&gt;]*)src=(\&quot;|\')([^&lt;&gt;]+?\.(png|jpeg|jpg|jpe|gif)[^&lt;&gt;\'\&quot;]*)(\2)([^&gt;\/]*)\/*&gt;/is';
+		$pattern = '/&lt;img ([^&gt;]*)src=(\&quot;|\')([^&lt;&gt;]+?\.(png|jpeg|jpg|jpe|gif))[^&lt;&gt;\'\&quot;]*(\2)([^&gt;\/]*)\/*&gt;/is';
 		preg_match_all($pattern, $content, $matches);
-
+		
 		if ( empty($matches[1]) ) return '';
 
 		$sources = array();
 		foreach ($matches[3] as $src) {
+			// if no http in url
 			if(strpos($src, 'http') === false)
-				if(strpos($src, '../') === false &amp;&amp; strpos($src, './') === false)
+				// if it doesn't have a relative uri
+				if( strpos($src, '../') === false &amp;&amp; strpos($src, './') === false &amp;&amp; strpos($src, '/') === true)
 					$src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
 				else
-					$src = 'http://'.str_replace('//','/', $host['host'].'/'.$host['path'].'/'.$src);
-
+					$src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src);
+			
 			$sources[] = clean_url($src);
 		}
 		return &quot;'&quot; . implode(&quot;','&quot;, $sources) . &quot;'&quot;;
@@ -246,12 +249,12 @@ if($_REQUEST['ajax'] == 'photo_js') { ?&gt;
 	}
 
 	function pick(img, desc) {
-		if (img) { 
-			length = jQuery('.photolist input').length;
+		if (img) {
+			if('object' == typeof jQuery('.photolist input') &amp;&amp; jQuery('.photolist input').length != 0) length = jQuery('.photolist input').length;
 			if(length == 0) length = 1;
 			jQuery('.photolist').append('&lt;input name=&quot;photo_src[' + length + ']&quot; value=&quot;' + img +'&quot; type=&quot;hidden&quot;/&gt;');
 			jQuery('.photolist').append('&lt;input name=&quot;photo_description[' + length + ']&quot; value=&quot;' + desc +'&quot; type=&quot;hidden&quot;/&gt;');
-			append_editor(&quot;\n\n&quot; + '&lt;p&gt;&lt;img src=&quot;' + img +'&quot; alt=&quot;' + desc + '&quot; /&gt;&lt;/p&gt;');
+			append_editor(&quot;\n\n&quot; + '&lt;p&gt;&lt;img src=&quot;' + img +'&quot; alt=&quot;' + desc + '&quot; class=&quot;aligncenter&quot;/&gt;&lt;/p&gt;');
 		}
 		tinyMCE.activeEditor.resizeToContent();
 		return false;
@@ -266,6 +269,7 @@ if($_REQUEST['ajax'] == 'photo_js') { ?&gt;
 	}
 
 	jQuery(document).ready(function() {
+		jQuery('#extra_fields').html('&lt;div class=&quot;photolist&quot;&gt;&lt;/div&gt;&lt;small id=&quot;photo_directions&quot;&gt;&lt;?php _e(&quot;Click images to select:&quot;) ?&gt; &lt;span&gt;&lt;a href=&quot;#&quot; id=&quot;photo_add_url&quot; class=&quot;thickbox&quot;&gt;&lt;?php _e(&quot;Add from URL&quot;) ?&gt; +&lt;/a&gt;&lt;/span&gt;&lt;/small&gt;&lt;div class=&quot;titlewrap&quot;&gt;&lt;div id=&quot;img_container&quot;&gt;&lt;/div&gt;&lt;/div&gt;');
 		jQuery('#img_container').html(strtoappend);
 		jQuery('#photo_add_url').attr('href', '?ajax=thickbox_url&amp;height=200&amp;width=500');
 		tb_init('a.thickbox, area.thickbox, input.thickbox');
@@ -275,13 +279,7 @@ if($_REQUEST['ajax'] == 'photo_js') { ?&gt;
 }
 
 if($_REQUEST['ajax'] == 'photo') { ?&gt;
-		&lt;div class=&quot;photolist&quot;&gt;&lt;/div&gt;
 
-		&lt;small id=&quot;photo_directions&quot;&gt;&lt;?php _e('Click images to select:') ?&gt; &lt;span&gt;&lt;a href=&quot;#&quot; id=&quot;photo_add_url&quot; class=&quot;thickbox&quot;&gt;&lt;?php _e('Add from URL') ?&gt; +&lt;/a&gt;&lt;/span&gt;&lt;/small&gt;
-
-		&lt;div class=&quot;titlewrap&quot;&gt;
-			&lt;div id=&quot;img_container&quot;&gt;&lt;/div&gt;
-		&lt;/div&gt;
 &lt;?php die;
 }
 ?&gt;
@@ -322,6 +320,7 @@ if($_REQUEST['ajax'] == 'photo') { ?&gt;
 				editor_selector: &quot;mceEditor&quot;,
 				language : &quot;&lt;?php echo $language; ?&gt;&quot;,
 				width: &quot;100%&quot;,
+				height: &quot;300&quot;,
 				theme : &quot;advanced&quot;,
 				theme_advanced_buttons1 : &quot;bold,italic,underline,blockquote,separator,strikethrough,bullist,numlist,undo,redo,link,unlink&quot;,
 				theme_advanced_buttons2 : &quot;&quot;,
@@ -445,7 +444,6 @@ if($_REQUEST['ajax'] == 'photo') { ?&gt;
 				&lt;?php } ?&gt;
 				jQuery('#extra_fields').show();
 				jQuery('#extra_fields').before('&lt;h2 id=&quot;waiting&quot;&gt;&lt;img src=&quot;images/loading.gif&quot; alt=&quot;&quot; /&gt;&lt;?php echo js_escape( __( 'Loading...' ) ); ?&gt;&lt;/h2&gt;');
-				jQuery('#extra_fields').load('&lt;?php echo clean_url($_SERVER['PHP_SELF']).'/?ajax=photo&amp;u='.attribute_escape($url); ?&gt;');
 				jQuery.ajax({
 					type: &quot;GET&quot;,
 					cache : false,
@@ -472,7 +470,7 @@ if($_REQUEST['ajax'] == 'photo') { ?&gt;
 			show('video');
 		&lt;?php } elseif ( preg_match(&quot;/vimeo\.com\/[0-9]+/i&quot;, $url) ) { ?&gt;
 			show('video');
-			&lt;?php  } elseif ( preg_match(&quot;/flickr\.com/i&quot;, $url) ) { ?&gt;
+		&lt;?php  } elseif ( preg_match(&quot;/flickr\.com/i&quot;, $url) ) { ?&gt;
 			show('photo');
 		&lt;?php } ?&gt;
 	});
@@ -505,7 +503,7 @@ if($_REQUEST['ajax'] == 'photo') { ?&gt;
 		&lt;div class=&quot;editor_area&quot;&gt;
 			&lt;h2 id=&quot;content_type&quot;&gt;&lt;label for=&quot;content&quot;&gt;&lt;?php _e('Post') ?&gt;&lt;/label&gt;&lt;/h2&gt;
 			&lt;div class=&quot;editor-container&quot;&gt;
-				&lt;textarea name=&quot;content&quot; id=&quot;content&quot; style=&quot;width:100%;&quot; class=&quot;mceEditor&quot;&gt;&lt;?php if ($selection) { echo wp_richedit_pre($selection); } ?&gt;&lt;a href=&quot;&lt;?php echo $url ?&gt;&quot;&gt;&lt;?php echo $title; ?&gt;&lt;/a&gt;.&lt;/textarea&gt;
+				&lt;textarea name=&quot;content&quot; id=&quot;content&quot; style=&quot;width:100%;&quot; class=&quot;mceEditor&quot; rows=&quot;15&quot;&gt;&lt;?php if ($selection) { echo wp_richedit_pre($selection); } ?&gt;&lt;a href=&quot;&lt;?php echo $url ?&gt;&quot;&gt;&lt;?php echo $title; ?&gt;&lt;/a&gt;.&lt;/textarea&gt;
 			&lt;/div&gt;
 		&lt;/div&gt;
 	&lt;/div&gt;</diff>
      <filename>wp-admin/press-this.php</filename>
    </modified>
    <modified>
      <diff>@@ -134,9 +134,6 @@ if ( 'page' == $post-&gt;post_type ) {
 	$title = __( 'Post Revisions' );
 }
 
-// Converts post_author ID# into name
-add_filter( '_wp_post_revision_field_post_author', 'get_author_name' );
-
 require_once( 'admin-header.php' );
 
 ?&gt;</diff>
      <filename>wp-admin/revision.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,324 +1,363 @@
-html,#edit-slug-box,#trackback,#category_nicename,#slug,#dbuser,#dbpass,#dbname,#dbhost,#dbprefix,#dccharset,input[name=gmpath],input[name=archivespath],input[name=lastentry],input[name=email],input[name=url],input[name=aim],input[name=yim],input[name=jabber],#newcontent,#email,#newcomment_author_url,#pass1,#pass2,#siteurl,#home,#admin_email,#date_format,#time_format,#mailserver_url,#mailserver_login,#mailserver_pass,#ping_sites,#blog_charset,#moderation_keys,#blacklist_keys,#permalink_structure,#category_base,#tag_base,#upload_path,#upload_url_path,#insertonly[src],#insertonly[href],#mailserver_port,#thumbnail_size_w,#thumbnail_size_h,#medium_size_w,#medium_size_h,#posts_per_page,#posts_per_rss,#comment_max_links,#insertonly[src],#link_url,#link_image,#rss_uri,#user_login,#key
-{
-	direction:ltr;
-	text-align:left
+a:link, a:visited {
+	text-decoration:none;
 }
-
-body, td, .submit input, .button, .button-secondary, .button-highlighted, #your-profile legend, .quicktags, .search, #wpcontent select, #wphead #viewsite a, #wphead h1 {
-	font-family: sans-serif !important;
+a:hover {
+	text-decoration:underline;
 }
-
-.code, #quicktags #ed_code {
-	font-family: monospace !important;
+.plugins .togl {
+	border-right-width: 0;
+	border-left-width: 1px;
+	border-left-style: solid;
 }
-
-#wpwrap,#footer,#TB_title,.media-upload-form,#media-upload-header
-{
-	direction:rtl!important;
-	text-align:right!important
+form#upload th {
+	text-align:left;
 }
-
-#user_info
-{
-	left:15px;
-	right:auto
+td.available-theme {
+	text-align:right;
+}
+#current-theme img {
+	float: right;
+	margin-right:0;
+	margin-left: 1em;
+}
+.quicktags, .search {
+	font-family: Tahoma;
+}
+/* 201 - 403
+=================================== */
+.side-info ul {
+	padding-left:0;
+	padding-right:18px;
+}
+.submit input, .button, .button-secondary, .button-highlighted {
+	font-family: Tahoma;
+}
+#wpcontent select  {
+	font-family: Tahoma;
 }
-
-#wphead h1
-{
-	margin:0 0 0 15%;
-	padding:11px 15px 16px 170px
+/* #postdiv, #titlediv, #guiddiv, #poststuff .stuffbox {
+	margin:0 0 0 8px;
+} */
+#quicktags #ed_code {
+	font-family: Tahoma;
+}
+#searchform fieldset {
+	float:right;
+	margin: 0 0 1em 1.5ex;
 }
-
-#wphead #viewsite
-{
+#searchform fieldset legend {
+	padding: 0 1px .2em 0;
+}
+#searchform #post-query-submit {
+	float:right;
+}
+/* 404 - 804
+=================================== */
+#template div {
+	margin-right:0;
+	margin-left: 190px;
+}
+* html #template div {
+	margin-left: 0;
+}
+#your-profile legend {
+	font-family:arial;
+}
+#ajax-response.alignleft {
 	margin-left:0;
-	margin-right:10px
+	margin-right: 2em;
+}
+.page-numbers {
+	margin-right:0;
+	margin-left:3px;
+}
+.comment-column {
+	margin-left:0;
+	margin-right: 5px;
+}
+.tablenav a.button-secondary {
+	margin: 1px 0 0 8px;
 }
-
-#sidemenu
-{
+#update-nag, .plugin-update {
+	clear:both;
+}
+/* .tablenav .tablenav-pages {
 	float:left;
-	margin:-30px 315px 0 15px;
-	padding-left:0;
-	padding-right:10px
+} */
+#user_info {
+	right:auto;
+	left:15px;
 }
-
-#dashmenu
-{
-	font-size:11px;
+#wphead #viewsite {
+	margin-left:0;
+	margin-right:10px;
+}
+#wphead #viewsite a {
+	font-family: Tahoma;
+}
+#wphead h1 {
+	font-family:arial;
+	margin-right:0;
+	margin-left:15%;
+	padding: 11px 12px 16px 170px;
+}
+#dashmenu {
+	right:0;
 	left:auto;
 	padding-left:0;
-	padding-right:9px;
-	right:0
+	padding-right: 9px;
 }
-
-#dashmenu a
-{
+#dashmenu a {
+	margin-right:0;
 	margin-left:8px;
-	margin-right:8px;
 }
-
-#adminmenu
-{
-	height:32px;
-	padding:5px 8px 0 0
+#adminmenu {
+	padding-left:0;
+	padding-right:11px;
 }
-
-#adminmenu li a
-{
-	display:block;
-	float:right;
-	font:700 16px/100% sans-serif;
-	margin:0 0 0 10px;
-	padding:5px 7px 9px
-}
-
-#adminmenu li a.current
-{
-	font-weight:700
-}
-
-#adminmenu li a #awaiting-mod
-{
-	background:url(images/comment-stalk-rtl.gif) -309px bottom !important;
-	font-family: sans-serif !important;
-	margin-left:-45px;
-	margin-right:.2em;
-	margin-top:-5px
-}
-
-#adminmenu li a:hover #awaiting-mod
-{
-	background-position: -229px bottom !important;
-}
-
-#adminmenu li a #awaiting-mod span
-{
-	left:0;
-	right:auto
+#adminmenu a {
+	font-family:arial;
+	font-weight:bold;
+	padding:6px 7px;
+}
+#adminmenu a.current, #sidemenu a.current {
+	font-weight:bold;
+}
+#sidemenu {
+	margin: -30px 0 0 15px;
+	float: left;
+	padding-left:0;
+	padding-right: 10px;
+	height: 1%; /* Peek-a-boo in IE6 */
 }
-
-#submenu li a
-{
-	display:block;
+#sidemenu a {
 	float:right;
-	margin:0 10px 10px 0;
-	padding:2px 4px
 }
-
-p#post-search
-{
+#submenu li {
+	padding: 0 17px 8px 0;
+	font-size:13px;
+}
+#adminmenu li a #awaiting-mod span, #sidemenu li a #update-plugins span {
+	right:auto;
 	left:0;
-	right:auto
-}
-
-.tablenav div
-{
-	float:right!important
-}
-
-.tablenav .delete 
-{
-	margin-left: 40px;
-	margin-right: 0;
-}
-
-ul.view-switch
-{
-	float:left;
-	margin:-28px 0 -2px 5px
 }
-
-#currenttheme img
-{
-	float:right;
-	margin-left:1em;
-	margin-right:0
+#adminmenu li a:hover #awaiting-mod, #sidemenu li a:hover #update-plugins {
+	background-position: -160px top;
 }
-
-form#themeselector
-{
-	float:left
+/* 804 - 1004
+=================================== */
+#footer {
+	padding: 10px 60px 0 0;
 }
-
-.form-table input.tog
-{
-	float:right;
+.form-table th {
+	text-align:right;
+}
+.form-table input.tog {
 	margin-right:0;
-	margin-left:2px;
+	margin-left: 2px;
+	float: right;
 }
-
-.curtime
-{
-	background-position:right 2px;
-	padding-left:0;
-	padding-right:18px;
+.form-table table.color-palette {
+	float:right;
 }
-
-#poststuff #edButtonPreview,#poststuff #edButtonHTML
-{
-	float:left;
-	margin-left:8px;
-	margin-right:0
+#pass-strength-result {
+	float:right;
+	margin-right:0;
+	margin-left: 5px;
 }
-
-#poststuff #media-buttons
-{
-	direction: rtl;
-	float:left;
-	margin-left:20px;
-	margin-right:0
+#profile-page .form-table #rich_editing {
+	margin-right:0;
+	margin-left: 5px;
 }
-
-#poststuff #media-buttons a
-{
-	margin-left:8px;
+#tagsdiv #newtag {
 	margin-right:0;
-	padding: 0 5px 2px 2px;
+	margin-left: 5px;
 }
-
-#poststuff .togbox
-{
+#tagchecklist {
 	margin-left:0;
-	margin-right:-19px
+	margin-right: 10px;
 }
-
-#categorydiv ul#category-tabs,#linkcategorydiv ul#category-tabs
-{
-	float:right;
-	margin:0 0 0 -120px;
-	text-align:left
+#tagchecklist strong {
+	margin-left:0;
+	margin-right: -8px;
+}
+#tagchecklist span {
+	margin-right:0;
+	margin-left: 25px;
+	float: right;
 }
-
-ul#category-tabs li.ui-tabs-selected,#poststuff .togbox
-{
+#tagchecklist span a {
+	margin: 6px -9px 0 0;
+	float: right;
+}
+/* 1005 - 1304
+=================================== */
+.ac_results li {
+	text-align:right;
+}
+#poststuff h2 {
+	clear:right;
+}
+#poststuff .postbox, #poststuff .stuffbox, #titlediv, #poststuff .postarea {
+	margin-left: 8px;
+	margin-right: 20px;
+}
+#edit-slug-buttons a.save {
+	margin-right:0;
+	margin-left:4px;
+}
+#poststuff #edButtonPreview, #poststuff #edButtonHTML {
+	margin: 5px 0 0 8px;
+	float: left;
+}
+#poststuff #media-buttons {
+	float: left;
+	margin-right:0;
+	margin-left: 20px;
+}
+#poststuff #media-buttons a {
+	padding: 0 2px 2px 5px;
+}
+#poststuff .togbox {
+	margin-left:0;
+	margin-right: -21px;
+	-moz-border-radius-topleft:0;
+	-khtml-border-top-left-radius:0;
+	-webkit-border-top-left-radius:0;
+	border-top-left-radius:0;
+	-moz-border-radius-topright: 3px;
+	-khtml-border-top-right-radius: 3px;
+	-webkit-border-top-right-radius: 3px;
+	border-top-right-radius: 3px;
+	-moz-border-radius-bottomleft: 0;
 	-khtml-border-bottom-left-radius:0;
-	-khtml-border-bottom-right-radius:3px;
+	-webkit-border-bottom-left-radius:0;
+	border-bottom-left-radius:0;
+	-moz-border-radius-bottomright: 3px;
+	-khtml-border-bottom-right-radius: 3px;
+	-webkit-border-bottom-right-radius: 3px;
+	border-bottom-right-radius: 3px;
+}
+.submitbox .submitdelete {
+	margin-left:0;
+	margin-right:8px;
+}
+.submitbox .submit {
+	text-align:right;
+}
+.submitbox .submit input {
+	margin-right:0;
+	margin-left:3px;
+}
+#categorydiv #category-adder {
+	margin-left:0;
+	margin-right: 120px;
+}
+#categorydiv ul#category-tabs {
+	float: right;
+	text-align: left;
+	margin: 0 0 0 -120px;
+}
+ul#category-tabs li.ui-tabs-selected {
+	-moz-border-radius-topleft:0;
 	-khtml-border-top-left-radius:0;
-	-khtml-border-top-right-radius:3px;
+	-webkit-border-top-left-radius:0;
+	border-top-left-radius:0;
 	-moz-border-radius-bottomleft:0;
-	-moz-border-radius-bottomright:3px;
-	-moz-border-radius-topleft:0;
-	-moz-border-radius-topright:3px;
+	-khtml-border-bottom-left-radius:0;
 	-webkit-border-bottom-left-radius:0;
-	-webkit-border-bottom-right-radius:3px;
-	-webkit-border-top-left-radius:0;
-	-webkit-border-top-right-radius:3px;
 	border-bottom-left-radius:0;
-	border-bottom-right-radius:3px;
-	border-top-left-radius:0;
-	border-top-right-radius:3px
+	-moz-border-radius-topright: 3px;
+	-khtml-border-top-right-radius: 3px;
+	-webkit-border-top-right-radius: 3px;
+	border-top-right-radius: 3px;
+	-moz-border-radius-bottomright: 3px;
+	-khtml-border-bottom-right-radius: 3px;
+	-webkit-border-bottom-right-radius: 3px;
+	border-bottom-right-radius: 3px;
+}
+div.ui-tabs-panel {
+	margin: 0 120px 0 5px;
+}
+/* 1305 - elakh! :-)
+=================================== */
+#categorydiv ul.categorychecklist ul {
+	margin-left:0;
+	margin-right: 18px;
 }
-
-div.ui-tabs-panel
-{
-	margin:0 120px 0 0
+#linkcategorydiv #category-adder {
+	margin-left:0;
+	margin-right: 120px;
 }
-
-#tagchecklist span
-{
-	float:right;
-	margin-left:25px;
-	margin-right:0
+#linkcategorydiv ul#category-tabs {
+	float: right;
+	text-align: left;
+	margin: 0 0 0 -120px;
 }
-
-#tagchecklist span a {
-	margin: 6px -9px 0 0;
+#linkcategorydiv ul.categorychecklist ul {
+	margin-left:0;
+	margin-right: 18px;
+}
+p#tag-search, p#post-search {
+	right:auto;
+	left:0;
+}
+#posts-filter fieldset {
 	float: right;
+	margin: 0 0 1em 1.5ex;
 }
-
-
-.tablenav .tablenav-pages
-{
-	float:left !important;
-	width:200px
-}
-
-.tablenav-pages .page-numbers
-{
-	display:block;
-	float:right
-}
-
-.side-info ul
-{
-	padding-left:0;
-	padding-right:18px
+#posts-filter fieldset legend {
+	padding: 0 1px .2em 0;
 }
-
-.form-table table.color-palette {
-	float:right;
+ul.view-switch {
+	float: left;
+	margin: -23px 0 -2px 5px;
 }
-
-#pass-strength-result
-{
-	float:right;
-	margin-right:0;
-	margin-left:5px;
-}
-
-td.comment p.comment-author img.avatar
-{
-	float:right !important;
-	margin-right:0 !important;
-	margin-left:8px !important;
-}
-
-#footer
-{
-	padding:10px 0 0
-}
-
-#footer p
-{
-	height:35px;
-	margin-right:20px;
-	padding:12px 40px 0 0;
-}
-
-#submenu,#wpbody
-{
-	clear:both;
+ul.view-switch li {
+	float: right;
 }
-
-#submenu li,ul.subsubsub li a
-{
-	padding:0;
+#the-comment-list td.comment p.comment-author {
+	margin-right: 0 ;
 }
-
-table.widefat th,.form-table th
-{
-	text-align:right
+#the-comment-list p.comment-author img {
+	float: right;
+	margin-right:0;
+	margin-left: 8px;
 }
-
-.widefat th input {
-	margin: 0 8px 0 0;
-	padding: 0;
+#the-comment-list td.comment p {
+	margin-left:0;
+	margin-right: 8px;
 }
-
-.available-theme,#tagchecklist span a
-{
-	float:right
+.curtime {
+	background-position: right 2px;
+	padding-left:0;
+	padding-right: 18px;
 }
-#template div {
+.tablenav .delete {
 	margin-right:0;
-	margin-left:190px;
+	margin-left: 20px;
 }
-.submitbox .submit {
-	text-align:right;
+#tTips {
+}
+td.action-links, th.action-links {
+	text-align:left;
 }
-
-#editorcontainer {
-	border:1px solid;
+.info-box {
+	left:auto;
+	right: 50%;
+	margin-left: 0;
+	margin-right: -225px;
+}
+.info-box .gears-img {
+	float: left;
+}
+/* LTR
+=================================== */
+#edit-slug-box, #trackback, #metakeyinput, #post_password, #link_url, #link_image, #rss_uri, #category_nicename, #slug, #dbuser, #dbpass, #dbname, #dbprefix, #dccharset, #gmpath, #archivespath, #lastentry, #dbhost, #pages-exclude, #newcontent, #email, #newcomment_author_url, #siteurl, #home, #admin_email, #date_format, #time_format, #gmt_offset, #mailserver_url, #mailserver_port, #mailserver_login, #mailserver_pass, #ping_sites, #posts_per_page, #posts_per_rss, #blog_charset, #moderation_keys, #blacklist_keys, #comment_max_links, #permalink_structure, #category_base, #tag_base, #upload_path, #upload_url_path, #thumbnail_size_w, #thumbnail_size_h, #medium_size_w, #medium_size_h, #user_login, #url, #pass1, #pass2, #aim, #yim, #jabber, #key, #src, #hostname, #username, #password, #rules {
+	direction:ltr;
 }
-
-.wrap h2 {
-	margin: 5px -4px 0 0;
-	padding-right: 0px;
-	padding-left: 280px;
+/* TinyMCE
+=================================== */
+.clearlooks2 .mceTop .mceLeft {
+	width:100% !important;
 }
-
-div#message {
-	clear: both;
-}
\ No newline at end of file</diff>
      <filename>wp-admin/rtl.css</filename>
    </modified>
    <modified>
      <diff>@@ -206,9 +206,7 @@ class AtomServer {
 
 				// authenticate regardless of the operation and set the current
 				// user. each handler will decide if auth is required or not.
-				$this-&gt;authenticate();
-				$u = wp_get_current_user();
-				if(!isset($u) || $u-&gt;ID == 0) {
+				if(!$this-&gt;authenticate()) {
 					if ($always_authenticate) {
 						$this-&gt;auth_required('Credentials required.');
 					}
@@ -394,6 +392,7 @@ EOD;
 			$this-&gt;auth_required(__('Sorry, you do not have the right to edit this post.'));
 
 		$publish = (isset($parsed-&gt;draft) &amp;&amp; trim($parsed-&gt;draft) == 'yes') ? false : true;
+		$post_status = ($publish) ? 'publish' : 'draft';
 
 		extract($entry);
 
@@ -407,13 +406,6 @@ EOD;
 		$post_modified = $pubtimes[0];
 		$post_modified_gmt = $pubtimes[1];
 
-		// let's not go backwards and make something draft again.
-		if(!$publish &amp;&amp; $post_status == 'draft') {
-			$post_status = ($publish) ? 'publish' : 'draft';
-		} elseif($publish) {
-			$post_status = 'publish';
-		}
-
 		$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt');
 		$this-&gt;escape($postdata);
 
@@ -1070,9 +1062,6 @@ EOD;
 	 * Access credential through various methods and perform login
 	 */
 	function authenticate() {
-		$login_data = array();
-		$already_md5 = false;
-
 		log_app(&quot;authenticate()&quot;,print_r($_ENV, true));
 
 		// if using mod_rewrite/ENV hack
@@ -1084,22 +1073,16 @@ EOD;
 
 		// If Basic Auth is working...
 		if(isset($_SERVER['PHP_AUTH_USER']) &amp;&amp; isset($_SERVER['PHP_AUTH_PW'])) {
-			$login_data = array('login' =&gt; $_SERVER['PHP_AUTH_USER'],	'password' =&gt; $_SERVER['PHP_AUTH_PW']);
-			log_app(&quot;Basic Auth&quot;,$login_data['login']);
-		} else {
-			// else, do cookie-based authentication
-			if (function_exists('wp_get_cookie_login')) {
-				$login_data = wp_get_cookie_login();
-				$already_md5 = true;
+			log_app(&quot;Basic Auth&quot;,$_SERVER['PHP_AUTH_USER']);
+			$user = wp_authenticate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
+			if ( $user &amp;&amp; !is_wp_error($user) ) {
+				wp_set_current_user($user-&gt;ID);
+				log_app(&quot;authenticate()&quot;, $_SERVER['PHP_AUTH_USER']);
+				return true;
 			}
 		}
 
-		// call wp_login and set current user
-		if (!empty($login_data) &amp;&amp; wp_login($login_data['login'], $login_data['password'], $already_md5)) {
-			 $current_user = new WP_User(0, $login_data['login']);
-			 wp_set_current_user($current_user-&gt;ID);
-			log_app(&quot;authenticate()&quot;,$login_data['login']);
-		}
+		return false;
 	}
 
 	function get_accepted_content_type($types = NULL) {</diff>
      <filename>wp-app.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,77 +1,77 @@
-&lt;?php
+&lt;?php
 
-$img = 'kubrickheader.jpg';
+$img = 'kubrickheader.jpg';
 
-// If we don't have image processing support, redirect.
-if ( ! function_exists('imagecreatefromjpeg') )
-	die(header(&quot;Location: kubrickheader.jpg&quot;));
+// If we don't have image processing support, redirect.
+if ( ! function_exists('imagecreatefromjpeg') )
+	die(header(&quot;Location: kubrickheader.jpg&quot;));
 
-// Assign and validate the color values
-$default = false;
-$vars = array('upper'=&gt;array('r1', 'g1', 'b1'), 'lower'=&gt;array('r2', 'g2', 'b2'));
-foreach ( $vars as $var =&gt; $subvars ) {
-	if ( isset($_GET[$var]) ) {
-		foreach ( $subvars as $index =&gt; $subvar ) {
-			$length = strlen($_GET[$var]) / 3;
-			$v = substr($_GET[$var], $index * $length, $length);
-			if ( $length == 1 ) $v = '' . $v . $v;
-			$$subvar = hexdec( $v );
-			if ( $$subvar &lt; 0 || $$subvar &gt; 255 )
-				$default = true;
-		}
-	} else {
-		$default = true;
-	}
-}
+// Assign and validate the color values
+$default = false;
+$vars = array('upper'=&gt;array('r1', 'g1', 'b1'), 'lower'=&gt;array('r2', 'g2', 'b2'));
+foreach ( $vars as $var =&gt; $subvars ) {
+	if ( isset($_GET[$var]) ) {
+		foreach ( $subvars as $index =&gt; $subvar ) {
+			$length = strlen($_GET[$var]) / 3;
+			$v = substr($_GET[$var], $index * $length, $length);
+			if ( $length == 1 ) $v = '' . $v . $v;
+			$$subvar = hexdec( $v );
+			if ( $$subvar &lt; 0 || $$subvar &gt; 255 )
+				$default = true;
+		}
+	} else {
+		$default = true;
+	}
+}
 
-if ( $default )
-	list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 );
+if ( $default )
+	list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 );
 
-// Create the image
-$im = imagecreatefromjpeg($img);
+// Create the image
+$im = imagecreatefromjpeg($img);
 
-// Get the background color, define the rectangle height
-$white = imagecolorat( $im, 15, 15 );
-$h = 182;
+// Get the background color, define the rectangle height
+$white = imagecolorat( $im, 15, 15 );
+$h = 182;
 
-// Define the boundaries of the rounded edges ( y =&gt; array ( x1, x2 ) )
-$corners = array(
-	0 =&gt; array ( 25, 734 ),
-	1 =&gt; array ( 23, 736 ),
-	2 =&gt; array ( 22, 737 ),
-	3 =&gt; array ( 21, 738 ),
-	4 =&gt; array ( 21, 738 ),
-	177 =&gt; array ( 21, 738 ),
-	178 =&gt; array ( 21, 738 ),
-	179 =&gt; array ( 22, 737 ),
-	180 =&gt; array ( 23, 736 ),
-	181 =&gt; array ( 25, 734 ),
-	);
+// Define the boundaries of the rounded edges ( y =&gt; array ( x1, x2 ) )
+$corners = array(
+	0 =&gt; array ( 25, 734 ),
+	1 =&gt; array ( 23, 736 ),
+	2 =&gt; array ( 22, 737 ),
+	3 =&gt; array ( 21, 738 ),
+	4 =&gt; array ( 21, 738 ),
+	177 =&gt; array ( 21, 738 ),
+	178 =&gt; array ( 21, 738 ),
+	179 =&gt; array ( 22, 737 ),
+	180 =&gt; array ( 23, 736 ),
+	181 =&gt; array ( 25, 734 ),
+	);
 
-// Blank out the blue thing
-for ( $i = 0; $i &lt; $h; $i++ ) {
-	$x1 = 19;
-	$x2 = 740;
-	imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
-}
+// Blank out the blue thing
+for ( $i = 0; $i &lt; $h; $i++ ) {
+	$x1 = 19;
+	$x2 = 740;
+	imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
+}
 
-// Draw a new color thing
-for ( $i = 0; $i &lt; $h; $i++ ) {
-	$x1 = 20;
-	$x2 = 739;
-	$r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1;
-	$g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1;
-	$b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1;
-	$color = imagecolorallocate( $im, $r, $g, $b );
-	if ( array_key_exists($i, $corners) ) {
-		imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
-		list ( $x1, $x2 ) = $corners[$i];
-	}
-	imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color );
-}
+// Draw a new color thing
+for ( $i = 0; $i &lt; $h; $i++ ) {
+	$x1 = 20;
+	$x2 = 739;
+	$r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1;
+	$g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1;
+	$b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1;
+	$color = imagecolorallocate( $im, $r, $g, $b );
+	if ( array_key_exists($i, $corners) ) {
+		imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
+		list ( $x1, $x2 ) = $corners[$i];
+	}
+	imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color );
+}
 
-//die;
-header(&quot;Content-Type: image/jpeg&quot;);
-imagejpeg($im, '', 92);
-imagedestroy($im);
-?&gt;
+//die;
+header(&quot;Content-Type: image/jpeg&quot;);
+imagejpeg($im, '', 92);
+imagedestroy($im);
+?&gt;</diff>
      <filename>wp-content/themes/default/images/header-img.php</filename>
    </modified>
    <modified>
      <diff>@@ -49,7 +49,8 @@ class Text_Diff {
             $engine = basename($engine);
         }
 
-        require_once 'Text/Diff/Engine/' . $engine . '.php';
+        // WP #7391
+        require_once dirname(__FILE__).'/Diff/Engine/' . $engine . '.php';
         $class = 'Text_Diff_Engine_' . $engine;
         $diff_engine = new $class();
 </diff>
      <filename>wp-includes/Text/Diff.php</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,9 @@
  */
 
 /** Text_Diff_Renderer */
-require_once 'Text/Diff/Renderer.php';
+
+// WP #7391
+require_once dirname(dirname(__FILE__)) . '/Renderer.php';
 
 /**
  * &quot;Inline&quot; diff renderer.</diff>
      <filename>wp-includes/Text/Diff/Renderer/inline.php</filename>
    </modified>
    <modified>
      <diff>@@ -76,7 +76,7 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
 
 		if ( $show_updated )
 			if ( '00' != substr($bookmark-&gt;link_updated_f, 0, 2) ) {
-				$title .= ' ';
+				$title .= ' (';
 				$title .= sprintf(__('Last updated: %s'), date(get_option('links_updated_date_format'), $bookmark-&gt;link_updated_f + (get_option('gmt_offset') * 3600)));
 				$title .= ')';
 			}</diff>
      <filename>wp-includes/bookmark-template.php</filename>
    </modified>
    <modified>
      <diff>@@ -165,11 +165,12 @@ function redirect_canonical($requested_url=null, $do_redirect=true) {
 		} else {
 			foreach ( array('single', 'category', 'page', 'day', 'month', 'year') as $type ) {
 				$func = 'is_' . $type;
-				if ( call_user_func($func) )
+				if ( call_user_func($func) ) {
 					$user_ts_type = $type;
 					break;
 				}
 			}
+		}
 		$redirect['path'] = user_trailingslashit($redirect['path'], $user_ts_type);
 	} elseif ( is_home() ) {
 		$redirect['path'] = trailingslashit($redirect['path']);</diff>
      <filename>wp-includes/canonical.php</filename>
    </modified>
    <modified>
      <diff>@@ -110,7 +110,7 @@ class WP {
 					$query = preg_replace(&quot;!^.+\?!&quot;, '', $query);
 
 					// Substitute the substring matches into the query.
-					eval(&quot;\$query = \&quot;$query\&quot;;&quot;);
+					eval(&quot;\$query = \&quot;&quot; . addslashes($query) . &quot;\&quot;;&quot;);
 					$this-&gt;matched_query = $query;
 
 					// Parse the query.</diff>
      <filename>wp-includes/classes.php</filename>
    </modified>
    <modified>
      <diff>@@ -133,6 +133,7 @@ function wp_cron() {
 function wp_get_schedules() {
 	$schedules = array(
 		'hourly' =&gt; array( 'interval' =&gt; 3600, 'display' =&gt; __('Once Hourly') ),
+		'twicedaily' =&gt; array( 'interval' =&gt; 43200, 'display' =&gt; __('Twice Daily') ),
 		'daily' =&gt; array( 'interval' =&gt; 86400, 'display' =&gt; __('Once Daily') ),
 	);
 	return array_merge( apply_filters( 'cron_schedules', array() ), $schedules );</diff>
      <filename>wp-includes/cron.php</filename>
    </modified>
    <modified>
      <diff>@@ -341,7 +341,7 @@ function get_option( $setting ) {
 
 		if ( false === $value ) {
 			if ( defined( 'WP_INSTALLING' ) )
-				$supress = $wpdb-&gt;suppress_errors();
+				$suppress = $wpdb-&gt;suppress_errors();
 			// expected_slashed ($setting)
 			$row = $wpdb-&gt;get_row( &quot;SELECT option_value FROM $wpdb-&gt;options WHERE option_name = '$setting' LIMIT 1&quot; );
 			if ( defined( 'WP_INSTALLING' ) )
@@ -630,12 +630,12 @@ function delete_option( $name ) {
  * @return mixed A scalar data
  */
 function maybe_serialize( $data ) {
-	if ( is_string( $data ) )
-		return $data;
-	elseif ( is_array( $data ) || is_object( $data ) )
+	if ( is_array( $data ) || is_object( $data ) )
 		return serialize( $data );
+
 	if ( is_serialized( $data ) )
 		return serialize( $data );
+
 	return $data;
 }
 
@@ -1481,15 +1481,21 @@ function path_join( $base, $path ) {
 function wp_upload_dir( $time = NULL ) {
 	$siteurl = get_option( 'siteurl' );
 	$upload_path = get_option( 'upload_path' );
-	if ( trim($upload_path) === '' )
-		$upload_path = WP_CONTENT_DIR . '/uploads';
-	$dir = $upload_path;
+	$upload_path = trim($upload_path);
+	if ( empty($upload_path) )
+		$dir = WP_CONTENT_DIR . '/uploads';
+	else 
+		$dir = $upload_path;
 
 	// $dir is absolute, $path is (maybe) relative to ABSPATH
-	$dir = path_join( ABSPATH, $upload_path );
-
-	if ( !$url = get_option( 'upload_url_path' ) )
-		$url = WP_CONTENT_URL . '/uploads';
+	$dir = path_join( ABSPATH, $dir );
+	
+	if ( !$url = get_option( 'upload_url_path' ) ) {
+		if ( empty($upload_path) or ( $upload_path == $dir ) )
+			$url = WP_CONTENT_URL . '/uploads';
+		else
+			$url = trailingslashit( $siteurl ) . $upload_path;
+	}
 
 	if ( defined('UPLOADS') ) {
 		$dir = ABSPATH . UPLOADS;
@@ -1517,8 +1523,9 @@ function wp_upload_dir( $time = NULL ) {
 		$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), $dir );
 		return array( 'error' =&gt; $message );
 	}
-
+	
 	$uploads = array( 'path' =&gt; $dir, 'url' =&gt; $url, 'subdir' =&gt; $subdir, 'basedir' =&gt; $bdir, 'baseurl' =&gt; $burl, 'error' =&gt; false );
+
 	return apply_filters( 'upload_dir', $uploads );
 }
 </diff>
      <filename>wp-includes/functions.php</filename>
    </modified>
    <modified>
      <diff>@@ -4,11 +4,11 @@
 &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
 &lt;title&gt;&lt;/title&gt;
 
-&lt;script type=&quot;text/javascript&quot; src=&quot;js/editimage.js?ver=311d&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;js/editimage.js?ver=311g&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/javascript&quot; src=&quot;../../utils/form_utils.js?ver=311&quot;&gt;&lt;/script&gt;
 
-&lt;link rel=&quot;stylesheet&quot; href=&quot;css/editimage.css?ver=311d&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
-&lt;link rel=&quot;stylesheet&quot; href=&quot;../../../../../wp-admin/css/media.css?ver=2.6-beta3&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
+&lt;link rel=&quot;stylesheet&quot; href=&quot;css/editimage.css?ver=311g&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
+&lt;link rel=&quot;stylesheet&quot; href=&quot;../../../../../wp-admin/css/media.css?ver=2.6.1&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;
 if ( 'rtl' == tinyMCEPopup.editor.getParam('directionality','') )
 	document.write('&lt;link rel=&quot;stylesheet&quot; href=&quot;css/editimage-rtl.css?ver=311&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;');</diff>
      <filename>wp-includes/js/tinymce/plugins/wpeditimage/editimage.html</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@
 				if ( ed.dom.getAttrib(el, 'class').indexOf('mceItem') != -1 || el.nodeName != 'IMG' )
 					return;
 
-				tb_show('', url + '/editimage.html?ver=311c&amp;TB_iframe=true');
+				tb_show('', url + '/editimage.html?ver=311g&amp;TB_iframe=true');
 				tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
 			});
 </diff>
      <filename>wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js</filename>
    </modified>
    <modified>
      <diff>@@ -79,7 +79,7 @@ var wpImage = {
 
 		for ( i = 0; i &lt; styles.length; i++ ) {
 			var url = styles.item(i).href;
-			if ( url &amp;&amp; url.indexOf('colors-') != -1 )
+			if ( url &amp;&amp; url.indexOf('colors') != -1 )
 				document.write( '&lt;link rel=&quot;stylesheet&quot; href=&quot;'+url+'&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;' );
 		}
 	},
@@ -245,10 +245,10 @@ var wpImage = {
 	},
 
 	setup : function() {
-		var t = this, h, c, el, id, link, fname, f = document.forms[0], ed = tinyMCEPopup.editor, d = t.I('img_demo'), dom = tinyMCEPopup.dom, DL, caption = null;
+		var t = this, h, c, el, id, link, fname, f = document.forms[0], ed = tinyMCEPopup.editor, d = t.I('img_demo'), dom = tinyMCEPopup.dom, DL, caption = '';
 		document.dir = tinyMCEPopup.editor.getParam('directionality','');
 
-		if ( ! tinyMCEPopup.editor.getParam('wpeditimage_do_captions', true) )
+		if ( tinyMCEPopup.editor.getParam('wpeditimage_disable_captions', false) )
 			t.I('cap_field').style.display = 'none';
 
 		tinyMCEPopup.restoreSelection();</diff>
      <filename>wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js</filename>
    </modified>
    <modified>
      <diff>@@ -8,8 +8,8 @@ h4 {font-size: 1em}
 h5 {font-size: .83em}
 h6 {font-size: .75em}
 .mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
-a.mceItemAnchor {width:12px; line-height:6px; overflow:hidden; padding-left:12px; background:url(img/items.gif) no-repeat bottom left;}
-img.mceItemAnchor {width:12px; height:12px; background:url(img/items.gif) no-repeat;}
+a.mceItemAnchor {width:12px; line-height:6px; overflow:hidden; padding-left:12px; background:url(../default/img/items.gif) no-repeat bottom left;}
+img.mceItemAnchor {width:12px; height:12px; background:url(../default/img/items.gif) no-repeat;}
 img {border:0;}
 table {cursor:default}
 table td, table th {cursor:text}</diff>
      <filename>wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css</filename>
    </modified>
    <modified>
      <diff>@@ -130,7 +130,7 @@ $mce_buttons_3 = implode($mce_buttons_3, ',');
 $mce_buttons_4 = apply_filters('mce_buttons_4', array());
 $mce_buttons_4 = implode($mce_buttons_4, ',');
 
-$do_captions = ( defined('CAPTIONS_OFF') &amp;&amp; true == CAPTIONS_OFF ) ? false : true;
+$no_captions = ( apply_filters( 'disable_captions', '' ) ) ? true : false;
 
 // TinyMCE init settings
 $initArray = array (
@@ -165,7 +165,7 @@ $initArray = array (
 	'tab_focus' =&gt; ':next',
 	'content_css' =&gt; &quot;$mce_css&quot;,
 	'save_callback' =&gt; 'switchEditors.saveCallback',
-	'wpeditimage_do_captions' =&gt; $do_captions,
+	'wpeditimage_disable_captions' =&gt; $no_captions,
 	'plugins' =&gt; &quot;$plugins&quot;,
 	// pass-through the settings for compression and caching, so they can be changed with &quot;tiny_mce_before_init&quot;
 	'disk_cache' =&gt; true,
@@ -225,7 +225,7 @@ if ( $compress &amp;&amp; isset($_SERVER['HTTP_ACCEPT_ENCODING']) ) {
 // Setup cache info
 if ( $disk_cache ) {
 
-	$cacheKey = apply_filters('tiny_mce_version', '20080710');
+	$cacheKey = apply_filters('tiny_mce_version', '20080810');
 
 	foreach ( $initArray as $v )
 		$cacheKey .= $v;</diff>
      <filename>wp-includes/js/tinymce/tiny_mce_config.php</filename>
    </modified>
    <modified>
      <diff>@@ -76,20 +76,6 @@ pre {
 	font: 12px/18px &quot;Courier New&quot;, monospace;
 }
 
-img.mceItemAnchor {
-	width: 12px;
-	height: 12px;
-	background: url(img/items.gif) no-repeat;
-}
-
-a.mceItemAnchor {
-	width: 12px;
-	line-height: 6px;
-	overflow: hidden;
-	padding-left: 12px;
-	background: url(img/items.gif) no-repeat bottom left;
-}
-
 .mceIEcenter {
 	text-align: center;
 }</diff>
      <filename>wp-includes/js/tinymce/wordpress.css</filename>
    </modified>
    <modified>
      <diff>@@ -88,6 +88,8 @@ var wpList = {
 			var res = wpAjax.parseAjaxResponse(r, s.response, s.element);
 			if ( !res || res.errors ) { return false; }
 
+			if ( true === res ) { return true; }
+
 			jQuery.each( res.responses, function() {
 				wpList.add.call( list, this.data, $.extend( {}, s, { // this.firstChild.nodevalue
 					pos: this.position || 0,</diff>
      <filename>wp-includes/js/wp-lists.js</filename>
    </modified>
    <modified>
      <diff>@@ -431,6 +431,10 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
 			$string = $newstring;
 		if ( $string == '' )
 			return '';
+		// prevent multiple dashes in comments
+		$string = preg_replace('/--+/', '-', $string);
+		// prevent three dashes closing a comment
+		$string = preg_replace('/-$/', '', $string);
 		return &quot;&lt;!--{$string}--&gt;&quot;;
 	}
 	# Allow HTML comments
@@ -533,7 +537,8 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
  * input. It will add quotes around attribute values that don't have any quotes
  * or apostrophes around them, to make it easier to produce HTML code that will
  * conform to W3C's HTML specification. It will also remove bad URL protocols
- * from attribute values.
+ * from attribute values.  It also reduces duplicate attributes by using the
+ * attribute defined first (foo='bar' foo='baz' will result in foo='bar').
  *
  * @since 1.0.0
  *
@@ -576,7 +581,9 @@ function wp_kses_hair($attr, $allowed_protocols) {
 					{
 					$working = 1;
 					$mode = 0;
-					$attrarr[] = array ('name' =&gt; $attrname, 'value' =&gt; '', 'whole' =&gt; $attrname, 'vless' =&gt; 'y');
+					if(FALSE === array_key_exists($attrname, $attrarr)) {
+						$attrarr[$attrname] = array ('name' =&gt; $attrname, 'value' =&gt; '', 'whole' =&gt; $attrname, 'vless' =&gt; 'y');
+					}
 					$attr = preg_replace('/^\s+/', '', $attr);
 				}
 
@@ -589,7 +596,9 @@ function wp_kses_hair($attr, $allowed_protocols) {
 					{
 					$thisval = wp_kses_bad_protocol($match[1], $allowed_protocols);
 
-					$attrarr[] = array ('name' =&gt; $attrname, 'value' =&gt; $thisval, 'whole' =&gt; &quot;$attrname=\&quot;$thisval\&quot;&quot;, 'vless' =&gt; 'n');
+					if(FALSE === array_key_exists($attrname, $attrarr)) {
+						$attrarr[$attrname] = array ('name' =&gt; $attrname, 'value' =&gt; $thisval, 'whole' =&gt; &quot;$attrname=\&quot;$thisval\&quot;&quot;, 'vless' =&gt; 'n');
+					}
 					$working = 1;
 					$mode = 0;
 					$attr = preg_replace('/^&quot;[^&quot;]*&quot;(\s+|$)/', '', $attr);
@@ -601,7 +610,9 @@ function wp_kses_hair($attr, $allowed_protocols) {
 					{
 					$thisval = wp_kses_bad_protocol($match[1], $allowed_protocols);
 
-					$attrarr[] = array ('name' =&gt; $attrname, 'value' =&gt; $thisval, 'whole' =&gt; &quot;$attrname='$thisval'&quot;, 'vless' =&gt; 'n');
+					if(FALSE === array_key_exists($attrname, $attrarr)) {
+						$attrarr[$attrname] = array ('name' =&gt; $attrname, 'value' =&gt; $thisval, 'whole' =&gt; &quot;$attrname='$thisval'&quot;, 'vless' =&gt; 'n');
+					}
 					$working = 1;
 					$mode = 0;
 					$attr = preg_replace(&quot;/^'[^']*'(\s+|$)/&quot;, '', $attr);
@@ -613,7 +624,9 @@ function wp_kses_hair($attr, $allowed_protocols) {
 					{
 					$thisval = wp_kses_bad_protocol($match[1], $allowed_protocols);
 
-					$attrarr[] = array ('name' =&gt; $attrname, 'value' =&gt; $thisval, 'whole' =&gt; &quot;$attrname=\&quot;$thisval\&quot;&quot;, 'vless' =&gt; 'n');
+					if(FALSE === array_key_exists($attrname, $attrarr)) {
+						$attrarr[$attrname] = array ('name' =&gt; $attrname, 'value' =&gt; $thisval, 'whole' =&gt; &quot;$attrname=\&quot;$thisval\&quot;&quot;, 'vless' =&gt; 'n');
+					}
 					# We add quotes to conform to W3C's HTML spec.
 					$working = 1;
 					$mode = 0;
@@ -630,10 +643,10 @@ function wp_kses_hair($attr, $allowed_protocols) {
 		}
 	} # while
 
-	if ($mode == 1)
+	if ($mode == 1 &amp;&amp; FALSE === array_key_exists($attrname, $attrarr))
 		# special case, for when the attribute list ends with a valueless
 		# attribute like &quot;selected&quot;
-		$attrarr[] = array ('name' =&gt; $attrname, 'value' =&gt; '', 'whole' =&gt; $attrname, 'vless' =&gt; 'y');
+		$attrarr[$attrname] = array ('name' =&gt; $attrname, 'value' =&gt; '', 'whole' =&gt; $attrname, 'vless' =&gt; 'y');
 
 	return $attrarr;
 }
@@ -1052,4 +1065,4 @@ function kses_init() {
 
 add_action('init', 'kses_init');
 add_action('set_current_user', 'kses_init');
-?&gt;
\ No newline at end of file
+?&gt;</diff>
      <filename>wp-includes/kses.php</filename>
    </modified>
    <modified>
      <diff>@@ -242,21 +242,27 @@ function __ngettext_noop($single, $plural, $number=1, $domain = 'default') {
 function load_textdomain($domain, $mofile) {
 	global $l10n;
 
-	if (isset($l10n[$domain]))
-		return;
-
 	if ( is_readable($mofile))
 		$input = new CachedFileReader($mofile);
 	else
 		return;
 
-	$l10n[$domain] = new gettext_reader($input);
+	$gettext = new gettext_reader($input);
+
+	if (isset($l10n[$domain])) {
+		$l10n[$domain]-&gt;load_tables();
+		$gettext-&gt;load_tables();
+		$l10n[$domain]-&gt;cache_translations = array_merge($gettext-&gt;cache_translations, $l10n[$domain]-&gt;cache_translations);
+	} else
+		$l10n[$domain] = $gettext;
+
+	unset($input, $gettext);
 }
 
 /**
  * load_default_textdomain() - Loads default translated strings based on locale
  *
- * Loads the .mo file in LANGDIR constant path from WordPress root.
+ * Loads the .mo file in WP_LANG_DIR constant path from WordPress root.
  * The translated (.mo) file is named based off of the locale.
  *
  * @since 1.5.0
@@ -264,7 +270,7 @@ function load_textdomain($domain, $mofile) {
 function load_default_textdomain() {
 	$locale = get_locale();
 
-	$mofile = ABSPATH . LANGDIR . &quot;/$locale.mo&quot;;
+	$mofile = WP_LANG_DIR . &quot;/$locale.mo&quot;;
 
 	load_textdomain('default', $mofile);
 }</diff>
      <filename>wp-includes/l10n.php</filename>
    </modified>
    <modified>
      <diff>@@ -479,7 +479,7 @@ function get_edit_post_link( $id = 0, $context = 'display' ) {
 		break;
 	endswitch;
 	
-	return apply_filters( 'get_edit_post_link', get_bloginfo( 'wpurl' ) . &quot;/wp-admin/$file.php?{$action}$var=$post-&gt;ID&quot;, $post-&gt;ID );
+	return apply_filters( 'get_edit_post_link', admin_url(&quot;$file.php?{$action}$var=$post-&gt;ID&quot;), $post-&gt;ID, $context );
 }
 
 function edit_post_link( $link = 'Edit This', $before = '', $after = '' ) {
@@ -509,7 +509,7 @@ function get_edit_comment_link( $comment_id = 0 ) {
 			return;
 	}
 
-	$location = get_bloginfo( 'wpurl' ) . '/wp-admin/comment.php?action=editcomment&amp;amp;c=' . $comment-&gt;comment_ID;
+	$location = admin_url('comment.php?action=editcomment&amp;amp;c=') . $comment-&gt;comment_ID;
 	return apply_filters( 'get_edit_comment_link', $location );
 }
 </diff>
      <filename>wp-includes/link-template.php</filename>
    </modified>
    <modified>
      <diff>@@ -355,9 +355,6 @@ add_shortcode('caption', 'img_caption_shortcode');
 
 function img_caption_shortcode($attr, $content = null) {
 
-	if ( defined('CAPTIONS_OFF') &amp;&amp; true == CAPTIONS_OFF )
-		return $content;
-
 	// Allow plugins/themes to override the default caption template.
 	$output = apply_filters('img_caption_shortcode', '', $attr, $content);
 	if ( $output != '' )</diff>
      <filename>wp-includes/media.php</filename>
    </modified>
    <modified>
      <diff>@@ -1512,10 +1512,6 @@ function wp_text_diff( $left_string, $right_string, $args = null ) {
 	$defaults = array( 'title' =&gt; '', 'title_left' =&gt; '', 'title_right' =&gt; '' );
 	$args = wp_parse_args( $args, $defaults );
 
-	// PEAR Text_Diff is lame; it includes things from include_path rather than it's own path.
-	// Not sure of the ramifications of disttributing modified code.
-	ini_set('include_path', '.' . PATH_SEPARATOR . ABSPATH . WPINC );
-
 	if ( !class_exists( 'WP_Text_Diff_Renderer_Table' ) )
 		require( ABSPATH . WPINC . '/wp-diff.php' );
 
@@ -1534,8 +1530,6 @@ function wp_text_diff( $left_string, $right_string, $args = null ) {
 	$renderer  = new WP_Text_Diff_Renderer_Table();
 	$diff = $renderer-&gt;render($text_diff);
 
-	ini_restore('include_path');
-
 	if ( !$diff )
 		return '';
 </diff>
      <filename>wp-includes/pluggable.php</filename>
    </modified>
    <modified>
      <diff>@@ -511,6 +511,10 @@ function get_posts($args = null) {
 function add_post_meta($post_id, $meta_key, $meta_value, $unique = false) {
 	global $wpdb;
 
+	// make sure meta is added to the post, not a revision
+	if ( $the_post = wp_is_post_revision($post_id) )
+		$post_id = $the_post;
+
 	// expected_slashed ($meta_key)
 	$meta_key = stripslashes($meta_key);
 
@@ -1272,14 +1276,14 @@ function wp_insert_post($postarr = array(), $wp_error = false) {
 	}
 
 	// If the post date is empty (due to having been new or a draft) and status is not 'draft', set date to now
-	if (empty($post_date)) {
+	if ( empty($post_date) || '0000-00-00 00:00:00' == $post_date ) {
 		if ( !in_array($post_status, array('draft', 'pending')) )
 			$post_date = current_time('mysql');
 		else
 			$post_date = '0000-00-00 00:00:00';
 	}
 
-	if (empty($post_date_gmt)) {
+	if ( empty($post_date_gmt) || '0000-00-00 00:00:00' == $post_date_gmt ) {
 		if ( !in_array($post_status, array('draft', 'pending')) )
 			$post_date_gmt = get_gmt_from_date($post_date);
 		else
@@ -3113,7 +3117,6 @@ function _wp_post_revision_fields( $post = null, $autosave = false ) {
 		// Allow these to be versioned
 		$fields = array(
 			'post_title' =&gt; __( 'Title' ),
-			'post_author' =&gt; __( 'Author' ),
 			'post_content' =&gt; __( 'Content' ),
 			'post_excerpt' =&gt; __( 'Excerpt' ),
 		);
@@ -3122,7 +3125,7 @@ function _wp_post_revision_fields( $post = null, $autosave = false ) {
 		$fields = apply_filters( '_wp_post_revision_fields', $fields );
 
 		// WP uses these internally either in versioning or elsewhere - they cannot be versioned
-		foreach ( array( 'ID', 'post_name', 'post_parent', 'post_date', 'post_date_gmt', 'post_status', 'post_type', 'comment_count' ) as $protect )
+		foreach ( array( 'ID', 'post_name', 'post_parent', 'post_date', 'post_date_gmt', 'post_status', 'post_type', 'comment_count', 'post_author' ) as $protect )
 			unset( $fields[$protect] );
 	}
 </diff>
      <filename>wp-includes/post.php</filename>
    </modified>
    <modified>
      <diff>@@ -773,7 +773,7 @@ class WP_Query {
 			$qv['post_type'] = sanitize_user($qv['post_type'], true);
 
 		if ( !empty($qv['post_status']) )
-			$qv['post_status'] = sanitize_user($qv['post_status'], true);
+			$qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']);
 
 		if ( $this-&gt;is_posts_page &amp;&amp; !$qv['withcomments'] )
 			$this-&gt;is_comment_feed = false;
@@ -1123,9 +1123,9 @@ class WP_Query {
 			$whichcat .= &quot; AND $wpdb-&gt;term_taxonomy.taxonomy = 'post_tag' &quot;;
 			$include_tags = &quot;'&quot; . implode(&quot;', '&quot;, $q['tag_slug__in']) . &quot;'&quot;;
 			$whichcat .= &quot; AND $wpdb-&gt;terms.slug IN ($include_tags) &quot;;
-			$reqtag = is_term( $q['tag_slug__in'][0], 'post_tag' );
+			$reqtag = get_term_by( 'slug', $q['tag_slug__in'][0], 'post_tag' );
 			if ( !empty($reqtag) )
-				$q['tag_id'] = $reqtag['term_id'];
+				$q['tag_id'] = $reqtag-&gt;term_id;
 		}
 
 		if ( !empty($q['tag__not_in']) ) {</diff>
      <filename>wp-includes/query.php</filename>
    </modified>
    <modified>
      <diff>@@ -67,8 +67,10 @@ function add_rewrite_endpoint($name, $places) {
   * @author Mark Jaquith 
   */
 function _wp_filter_taxonomy_base( $base ) {
-	if ( !empty( $base ) )
-		$base = preg_replace( '|^/index\.php/|', '/', $base );
+	if ( !empty( $base ) ) {
+		$base = preg_replace( '|^/index\.php/|', '', $base );
+		$base = trim( $base, '/' );
+	}
 	return $base;
 }
 
@@ -150,7 +152,7 @@ function url_to_postid($url) {
 			$query = preg_replace(&quot;!^.+\?!&quot;, '', $query);
 
 			// Substitute the substring matches into the query.
-			eval(&quot;\$query = \&quot;$query\&quot;;&quot;);
+			eval(&quot;\$query = \&quot;&quot; . addslashes($query) . &quot;\&quot;;&quot;);
 			// Filter out non-public query vars
 			global $wp;
 			parse_str($query, $query_vars);
@@ -445,9 +447,9 @@ class WP_Rewrite {
 		}
 
 		if (empty($this-&gt;category_base))
-			$this-&gt;category_structure = $this-&gt;front . 'category/';
+			$this-&gt;category_structure = trailingslashit( $this-&gt;front . 'category' );
 		else
-			$this-&gt;category_structure = $this-&gt;category_base . '/';
+			$this-&gt;category_structure = trailingslashit( '/' . $this-&gt;root . $this-&gt;category_base );
 
 		$this-&gt;category_structure .= '%category%';
 
@@ -465,9 +467,9 @@ class WP_Rewrite {
 		}
 
 		if (empty($this-&gt;tag_base))
-			$this-&gt;tag_structure = $this-&gt;front . 'tag/';
+			$this-&gt;tag_structure = trailingslashit( $this-&gt;front . 'tag' );
 		else
-			$this-&gt;tag_structure = $this-&gt;tag_base . '/';
+			$this-&gt;tag_structure = trailingslashit( '/' . $this-&gt;root . $this-&gt;tag_base );
 
 		$this-&gt;tag_structure .= '%tag%';
 
@@ -993,8 +995,8 @@ class WP_Rewrite {
 		if ($this-&gt;using_index_permalinks()) {
 			$this-&gt;root = $this-&gt;index . '/';
 		}
-		$this-&gt;category_base = ( ( $this-&gt;using_index_permalinks() ) ? '/' . $this-&gt;index : '' ) . get_option( 'category_base' );
-		$this-&gt;tag_base = ( ( $this-&gt;using_index_permalinks() ) ? '/' . $this-&gt;index : '' ) . get_option( 'tag_base' );
+		$this-&gt;category_base = get_option( 'category_base' );
+		$this-&gt;tag_base = get_option( 'tag_base' );
 		unset($this-&gt;category_structure);
 		unset($this-&gt;author_structure);
 		unset($this-&gt;date_structure);</diff>
      <filename>wp-includes/rewrite.php</filename>
    </modified>
    <modified>
      <diff>@@ -37,7 +37,7 @@ function wp_default_scripts( &amp;$scripts ) {
 	$scripts-&gt;add( 'editor_functions', '/wp-admin/js/editor.js', false, '20080710' );
 
 	// Modify this version when tinyMCE plugins are changed.
-	$mce_version = apply_filters('tiny_mce_version', '20080710');
+	$mce_version = apply_filters('tiny_mce_version', '20080810');
 	$scripts-&gt;add( 'tiny_mce', '/wp-includes/js/tinymce/tiny_mce_config.php', array('editor_functions'), $mce_version );
 
 	$scripts-&gt;add( 'prototype', '/wp-includes/js/prototype.js', false, '1.6');
@@ -50,7 +50,7 @@ function wp_default_scripts( &amp;$scripts ) {
 
 	$scripts-&gt;add( 'autosave', '/wp-includes/js/autosave.js', array('schedule', 'wp-ajax-response'), '20080622' );
 
-	$scripts-&gt;add( 'wp-lists', '/wp-includes/js/wp-lists.js', array('wp-ajax-response'), '20080411' );
+	$scripts-&gt;add( 'wp-lists', '/wp-includes/js/wp-lists.js', array('wp-ajax-response'), '20080729' );
 	$scripts-&gt;localize( 'wp-lists', 'wpListL10n', array(
 		'url' =&gt; admin_url('admin-ajax.php')
 	) );
@@ -125,7 +125,7 @@ function wp_default_scripts( &amp;$scripts ) {
 			'pending' =&gt; __('%i% pending') // must look like: &quot;# blah blah&quot;
 		) );
 		$scripts-&gt;add( 'admin-users', '/wp-admin/js/users.js', array('wp-lists'), '20070823' );
-		$scripts-&gt;add( 'admin-forms', '/wp-admin/js/forms.js', false, '20080401');
+		$scripts-&gt;add( 'admin-forms', '/wp-admin/js/forms.js', array('jquery'), '20080729');
 		$scripts-&gt;add( 'xfn', '/wp-admin/js/xfn.js', false, '3517' );
 		$scripts-&gt;add( 'upload', '/wp-admin/js/upload.js', array('jquery'), '20070518' );
 		$scripts-&gt;add( 'postbox', '/wp-admin/js/postbox.js', array('jquery'), '20080128' );
@@ -194,7 +194,7 @@ function wp_default_scripts( &amp;$scripts ) {
 			'count' =&gt; __('Word count: %d')
 		));
 		
-		$scripts-&gt;add( 'wp-gears', '/wp-admin/js/wp-gears.js', false, '20080511' );
+		$scripts-&gt;add( 'wp-gears', '/wp-admin/js/wp-gears.js', false, '20080721' );
 		$scripts-&gt;localize( 'wp-gears', 'wpGearsL10n', array(
 			'updateCompleted' =&gt; __('Update completed.'),
 			'error' =&gt; __('Error:')</diff>
      <filename>wp-includes/script-loader.php</filename>
    </modified>
    <modified>
      <diff>@@ -58,21 +58,39 @@ class StringReader {
   function StringReader($str='') {
     $this-&gt;_str = $str;
     $this-&gt;_pos = 0;
+    // If string functions are overloaded, we need to use the mb versions
+    $this-&gt;is_overloaded = ((ini_get(&quot;mbstring.func_overload&quot;) &amp; 2) != 0) &amp;&amp; function_exists('mb_substr');
+  }
+
+  function _substr($string, $start, $length) {
+	if ($this-&gt;is_overloaded) {
+		return mb_substr($string,$start,$length,'ascii');
+	} else {
+		return substr($string,$start,$length);
+	}
+  }
+
+  function _strlen($string) {
+	if ($this-&gt;is_overloaded) {
+		return mb_strlen($string,'ascii');
+	} else {
+		return strlen($string);
+	}
   }
 
   function read($bytes) {
-    $data = substr($this-&gt;_str, $this-&gt;_pos, $bytes);
+	  $data = $this-&gt;_substr($this-&gt;_str, $this-&gt;_pos, $bytes);
     $this-&gt;_pos += $bytes;
-    if (strlen($this-&gt;_str)&lt;$this-&gt;_pos)
-      $this-&gt;_pos = strlen($this-&gt;_str);
+    if ($this-&gt;_strlen($this-&gt;_str)&lt;$this-&gt;_pos)
+      $this-&gt;_pos = $this-&gt;_strlen($this-&gt;_str);
 
     return $data;
   }
 
   function seekto($pos) {
     $this-&gt;_pos = $pos;
-    if (strlen($this-&gt;_str)&lt;$this-&gt;_pos)
-      $this-&gt;_pos = strlen($this-&gt;_str);
+    if ($this-&gt;_strlen($this-&gt;_str)&lt;$this-&gt;_pos)
+      $this-&gt;_pos = $this-&gt;_strlen($this-&gt;_str);
     return $this-&gt;_pos;
   }
 
@@ -81,9 +99,8 @@ class StringReader {
   }
 
   function length() {
-    return strlen($this-&gt;_str);
+    return $this-&gt;_strlen($this-&gt;_str);
   }
-
 }
 
 
@@ -149,17 +166,18 @@ class FileReader {
 // over it (it assumes knowledge of StringReader internals)
 class CachedFileReader extends StringReader {
   function CachedFileReader($filename) {
+    parent::StringReader();
+
     if (file_exists($filename)) {
 
       $length=filesize($filename);
       $fd = fopen($filename,'rb');
 
       if (!$fd) {
-	$this-&gt;error = 3; // Cannot read file, probably permissions
-	return false;
+        $this-&gt;error = 3; // Cannot read file, probably permissions
+        return false;
       }
       $this-&gt;_str = fread($fd, $length);
-	  $this-&gt;_pos = 0;
 	  fclose($fd);
 
     } else {</diff>
      <filename>wp-includes/streams.php</filename>
    </modified>
    <modified>
      <diff>@@ -761,20 +761,36 @@ function &amp;get_terms($taxonomies, $args = '') {
 function is_term($term, $taxonomy = '') {
 	global $wpdb;
 
+	$select = &quot;SELECT term_id FROM $wpdb-&gt;terms as t WHERE &quot;;
+	$tax_select = &quot;SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb-&gt;terms AS t INNER JOIN $wpdb-&gt;term_taxonomy as tt ON tt.term_id = t.term_id WHERE &quot;;
+
 	if ( is_int($term) ) {
 		if ( 0 == $term )
 			return 0;
-		$where = $wpdb-&gt;prepare( &quot;t.term_id = %d&quot;, $term );
-	} else {
-		if ( '' === $term = sanitize_title($term) )
-			return 0;
-		$where = $wpdb-&gt;prepare( &quot;t.slug = %s&quot;, $term );
+		$where = 't.term_id = %d';
+		if ( !empty($taxonomy) )
+			return $wpdb-&gt;get_row( $wpdb-&gt;prepare( $tax_select . $where . &quot; AND tt.taxonomy = %s&quot;, $term, $taxonomy ), ARRAY_A );
+		else
+			return $wpdb-&gt;get_var( $wpdb-&gt;prepare( $select . $where, $term ) );
+	}
+
+	if ( '' === $slug = sanitize_title($term) )
+		return 0;
+
+	$where = 't.slug = %s';
+	$else_where = 't.name = %s';
+
+	if ( !empty($taxonomy) ) {
+		if ( $result = $wpdb-&gt;get_row( $wpdb-&gt;prepare(&quot;SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb-&gt;terms AS t INNER JOIN $wpdb-&gt;term_taxonomy as tt ON tt.term_id = t.term_id WHERE $where AND tt.taxonomy = %s&quot;, $slug, $taxonomy), ARRAY_A) )
+			return $result;
+			
+		return $wpdb-&gt;get_row( $wpdb-&gt;prepare(&quot;SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb-&gt;terms AS t INNER JOIN $wpdb-&gt;term_taxonomy as tt ON tt.term_id = t.term_id WHERE $else_where AND tt.taxonomy = %s&quot;, $term, $taxonomy), ARRAY_A);
 	}
 
-	if ( !empty($taxonomy) )
-		return $wpdb-&gt;get_row( $wpdb-&gt;prepare(&quot;SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb-&gt;terms AS t INNER JOIN $wpdb-&gt;term_taxonomy as tt ON tt.term_id = t.term_id WHERE $where AND tt.taxonomy = %s&quot;, $taxonomy), ARRAY_A);
+	if ( $result = $wpdb-&gt;get_var( $wpdb-&gt;prepare(&quot;SELECT term_id FROM $wpdb-&gt;terms as t WHERE $where&quot;, $slug) ) )
+		return $result;
 
-	return $wpdb-&gt;get_var(&quot;SELECT term_id FROM $wpdb-&gt;terms as t WHERE $where&quot;);
+	return $wpdb-&gt;get_var( $wpdb-&gt;prepare(&quot;SELECT term_id FROM $wpdb-&gt;terms as t WHERE $else_where&quot;, $term) );
 }
 
 /**
@@ -1199,6 +1215,9 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 	if ( is_int($term) &amp;&amp; 0 == $term )
 		return new WP_Error('invalid_term_id', __('Invalid term ID'));
 
+	if ( '' == trim($term) )
+		return new WP_Error('empty_term_name', __('A name is required for this term'));
+
 	$defaults = array( 'alias_of' =&gt; '', 'description' =&gt; '', 'parent' =&gt; 0, 'slug' =&gt; '');
 	$args = wp_parse_args($args, $defaults);
 	$args['name'] = $term;
@@ -1469,6 +1488,9 @@ function wp_update_term( $term, $taxonomy, $args = array() ) {
 	$name = stripslashes($name);
 	$description = stripslashes($description);
 
+	if ( '' == trim($name) )
+		return new WP_Error('empty_term_name', __('A name is required for this term'));
+
 	$empty_slug = false;
 	if ( empty($slug) ) {
 		$empty_slug = true;</diff>
      <filename>wp-includes/taxonomy.php</filename>
    </modified>
    <modified>
      <diff>@@ -486,12 +486,17 @@ function preview_theme() {
 	if ( !current_user_can( 'switch_themes' ) )
 		return;
 
-	$_GET[template] = preg_replace('|[^a-z0-9_-]|i', '', $_GET[template]);
+	$_GET[template] = preg_replace('|[^a-z0-9_.-]|i', '', $_GET[template]);
+
+	if ( validate_file($_GET[template]) )
+		return;
 
 	add_filter('template', create_function('', &quot;return '$_GET[template]';&quot;) );
 
 	if ( isset($_GET['stylesheet']) ) {
-		$_GET[stylesheet] = preg_replace('|[^a-z0-9_-]|i', '', $_GET[stylesheet]);
+		$_GET[stylesheet] = preg_replace('|[^a-z0-9_.-]|i', '', $_GET[stylesheet]);
+		if ( validate_file($_GET[stylesheet]) )
+			return;
 		add_filter('stylesheet', create_function('', &quot;return '$_GET[stylesheet]';&quot;) );
 	}
 </diff>
      <filename>wp-includes/theme.php</filename>
    </modified>
    <modified>
      <diff>@@ -90,22 +90,17 @@ function wp_update_plugins() {
 	if ( !function_exists('fsockopen') || defined('WP_INSTALLING') )
 		return false;
 
-	$current = get_option( 'update_plugins' );
-
-	$time_not_changed = isset( $current-&gt;last_checked ) &amp;&amp; 43200 &gt; ( time() - $current-&gt;last_checked );
-
 	// If running blog-side, bail unless we've not checked in the last 12 hours
-	if ( !function_exists( 'get_plugins' ) ) {
-		if ( $time_not_changed )
-			return false;
+	if ( !function_exists( 'get_plugins' ) )
 		require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
-	}
 
 	$plugins = get_plugins();
 	$active  = get_option( 'active_plugins' );
+	$current = get_option( 'update_plugins' );
 
 	$new_option = '';
 	$new_option-&gt;last_checked = time();
+	$time_not_changed = isset( $current-&gt;last_checked ) &amp;&amp; 43200 &gt; ( time() - $current-&gt;last_checked );
 
 	$plugin_changed = false;
 	foreach ( $plugins as $file =&gt; $p ) {
@@ -120,6 +115,12 @@ function wp_update_plugins() {
 			$plugin_changed = true;
 	}
 
+	foreach ( (array) $current-&gt;response as $plugin_file =&gt; $update_details ) {
+		if ( ! isset($plugins[ $plugin_file ]) ) {
+			$plugin_changed = true;
+		}
+	}
+
 	// Bail if we've checked in the last 12 hours and if nothing has changed
 	if ( $time_not_changed &amp;&amp; !$plugin_changed )
 		return false;
@@ -154,9 +155,19 @@ function wp_update_plugins() {
 
 	update_option( 'update_plugins', $new_option );
 }
-if ( defined( 'WP_ADMIN' ) &amp;&amp; WP_ADMIN )
-	add_action( 'admin_init', 'wp_update_plugins' );
-else
-	add_action( 'init', 'wp_update_plugins' );
 
-?&gt;
\ No newline at end of file
+function _maybe_update_plugins() {
+	$current = get_option( 'update_plugins' );
+	if ( isset( $current-&gt;last_checked ) &amp;&amp; 43200 &gt; ( time() - $current-&gt;last_checked ) )
+		return;
+	wp_update_plugins();
+}
+
+add_action( 'load-plugins.php', 'wp_update_plugins' );
+add_action( 'admin_init', '_maybe_update_plugins' );
+add_action( 'wp_update_plugins', 'wp_update_plugins' );
+
+if ( !wp_next_scheduled('wp_update_plugins') )
+	wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins');
+
+?&gt;</diff>
      <filename>wp-includes/update.php</filename>
    </modified>
    <modified>
      <diff>@@ -34,10 +34,12 @@ if ( is_admin() ) {
 }
 
 // Simple browser detection
-$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = false;
+$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = false;
 
 if (strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false) {
 	$is_lynx = true;
+} elseif ( strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'webkit') !== false ) {
+	$is_safari = true;
 } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false) {
 	$is_gecko = true;
 } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false &amp;&amp; strpos($_SERVER['HTTP_USER_AGENT'], 'Win') !== false) {
@@ -66,4 +68,4 @@ $is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) || (strp
  */
 $is_IIS = (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false) ? true : false;
 
-?&gt;
\ No newline at end of file
+?&gt;</diff>
      <filename>wp-includes/vars.php</filename>
    </modified>
    <modified>
      <diff>@@ -8,13 +8,13 @@
  *
  * @global string $wp_version
  */
-$wp_version = '2.6';
+$wp_version = '2.6.1';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 8201;
+$wp_db_version = 8204;
 
 ?&gt;</diff>
      <filename>wp-includes/version.php</filename>
    </modified>
    <modified>
      <diff>@@ -57,7 +57,7 @@ function register_sidebar($args = array()) {
 		'after_title' =&gt; &quot;&lt;/h2&gt;\n&quot;,
 	);
 
-	$sidebar = array_merge($defaults, $args);
+	$sidebar = array_merge($defaults, (array) $args);
 
 	$wp_registered_sidebars[$sidebar['id']] = $sidebar;
 
@@ -1043,7 +1043,7 @@ function wp_widget_recent_comments_register() {
 function wp_widget_rss($args, $widget_args = 1) {
 	extract($args, EXTR_SKIP);
 	if ( is_numeric($widget_args) )
-		$widget_args = array( 'number' =&gt; $widegt_args );
+		$widget_args = array( 'number' =&gt; $widget_args );
 	$widget_args = wp_parse_args( $widget_args, array( 'number' =&gt; -1 ) );
 	extract($widget_args, EXTR_SKIP);
 
@@ -1125,18 +1125,11 @@ function wp_widget_rss_output( $rss, $args = array() ) {
 			if ( empty($title) )
 				$title = __('Untitled');
 			$desc = '';
-				if ( isset( $item['description'] ) &amp;&amp; is_string( $item['description'] ) )
-					$desc = str_replace(array(&quot;\n&quot;, &quot;\r&quot;), ' ', attribute_escape(strip_tags(html_entity_decode($item['description'], ENT_QUOTES))));
-				elseif ( isset( $item['summary'] ) &amp;&amp; is_string( $item['summary'] ) )
-					$desc = str_replace(array(&quot;\n&quot;, &quot;\r&quot;), ' ', attribute_escape(strip_tags(html_entity_decode($item['summary'], ENT_QUOTES))));
-
 			$summary = '';
 			if ( isset( $item['description'] ) &amp;&amp; is_string( $item['description'] ) )
-				$summary = $item['description'];
+				$desc = $summary = str_replace(array(&quot;\n&quot;, &quot;\r&quot;), ' ', attribute_escape(strip_tags(html_entity_decode($item['description'], ENT_QUOTES))));
 			elseif ( isset( $item['summary'] ) &amp;&amp; is_string( $item['summary'] ) )
-				$summary = $item['summary'];
-
-			$desc = str_replace(array(&quot;\n&quot;, &quot;\r&quot;), ' ', attribute_escape(strip_tags(html_entity_decode($summary, ENT_QUOTES))));
+				$desc = $summary = str_replace(array(&quot;\n&quot;, &quot;\r&quot;), ' ', attribute_escape(strip_tags(html_entity_decode($item['summary'], ENT_QUOTES))));
 
 			if ( $show_summary ) {
 				$desc = '';</diff>
      <filename>wp-includes/widgets.php</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,9 @@
 &lt;?php
 
 if ( !class_exists( 'Text_Diff' ) ) {
-	require( 'Text/Diff.php' );
-	require( 'Text/Diff/Renderer.php' );
-	require( 'Text/Diff/Renderer/inline.php' );
+	require( dirname(__FILE__).'/Text/Diff.php' );
+	require( dirname(__FILE__).'/Text/Diff/Renderer.php' );
+	require( dirname(__FILE__).'/Text/Diff/Renderer/inline.php' );
 }
 
 </diff>
      <filename>wp-includes/wp-diff.php</filename>
    </modified>
    <modified>
      <diff>@@ -129,6 +129,13 @@ function retrieve_password() {
 	do_action('retreive_password', $user_login);  // Misspelled and deprecated
 	do_action('retrieve_password', $user_login);
 
+	$allow = apply_filters('allow_password_reset', true, $user_data-&gt;ID);
+
+	if ( ! $allow )
+		return new WP_Error('no_password_reset', __('Password reset is not allowed for this user'));
+	else if ( is_wp_error($allow) )
+		return $allow;
+		
 	$key = $wpdb-&gt;get_var($wpdb-&gt;prepare(&quot;SELECT user_activation_key FROM $wpdb-&gt;users WHERE user_login = %s&quot;, $user_login));
 	if ( empty($key) ) {
 		// Generate something random for a key...</diff>
      <filename>wp-login.php</filename>
    </modified>
    <modified>
      <diff>@@ -68,6 +68,10 @@ if ( empty( $_SERVER['REQUEST_URI'] ) ) {
 	}
 	else
 	{
+		// Use ORIG_PATH_INFO if there is no PATH_INFO
+		if ( !isset($_SERVER['PATH_INFO']) &amp;&amp; isset($_SERVER['ORIG_PATH_INFO']) )
+			$_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
+
 		// Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
 		if ( isset($_SERVER['PATH_INFO']) ) {
 			if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
@@ -417,7 +421,7 @@ if ( get_option('active_plugins') ) {
 	$current_plugins = get_option('active_plugins');
 	if ( is_array($current_plugins) ) {
 		foreach ($current_plugins as $plugin) {
-			if ('' != $plugin &amp;&amp; file_exists(WP_PLUGIN_DIR . '/' . $plugin))
+			if ( '' != $plugin &amp;&amp; 0 == validate_file($plugin) &amp;&amp; file_exists(WP_PLUGIN_DIR . '/' . $plugin) )
 				include_once(WP_PLUGIN_DIR . '/' . $plugin);
 		}
 	}</diff>
      <filename>wp-settings.php</filename>
    </modified>
    <modified>
      <diff>@@ -39,11 +39,11 @@ header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
     &lt;engineLink&gt;http://wordpress.org/&lt;/engineLink&gt;
     &lt;homePageLink&gt;&lt;?php bloginfo_rss('url') ?&gt;&lt;/homePageLink&gt;
     &lt;apis&gt;
-      &lt;api name=&quot;WordPress&quot; blogID=&quot;1&quot; preferred=&quot;true&quot; apiLink=&quot;&lt;?php bloginfo_rss('wpurl') ?&gt;/xmlrpc.php&quot; /&gt;
-      &lt;api name=&quot;Movable Type&quot; blogID=&quot;1&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php bloginfo_rss('wpurl') ?&gt;/xmlrpc.php&quot; /&gt;
-      &lt;api name=&quot;MetaWeblog&quot; blogID=&quot;1&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php bloginfo_rss('wpurl') ?&gt;/xmlrpc.php&quot; /&gt;
-      &lt;api name=&quot;Blogger&quot; blogID=&quot;1&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php bloginfo_rss('wpurl') ?&gt;/xmlrpc.php&quot; /&gt;
-      &lt;api name=&quot;Atom&quot; blogID=&quot;&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php echo apply_filters('atom_service_url', (get_bloginfo('url').&quot;/wp-app.php/service&quot;))?&gt;&quot; /&gt;
+      &lt;api name=&quot;WordPress&quot; blogID=&quot;1&quot; preferred=&quot;true&quot; apiLink=&quot;&lt;?php echo site_url('xmlrpc.php') ?&gt;&quot; /&gt;
+      &lt;api name=&quot;Movable Type&quot; blogID=&quot;1&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php echo site_url('xmlrpc.php') ?&gt;&quot; /&gt;
+      &lt;api name=&quot;MetaWeblog&quot; blogID=&quot;1&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php echo site_url('xmlrpc.php') ?&gt;&quot; /&gt;
+      &lt;api name=&quot;Blogger&quot; blogID=&quot;1&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php echo site_url('xmlrpc.php') ?&gt;&quot; /&gt;
+      &lt;api name=&quot;Atom&quot; blogID=&quot;&quot; preferred=&quot;false&quot; apiLink=&quot;&lt;?php echo apply_filters('atom_service_url', site_url('wp-app.php/service') ) ?&gt;&quot; /&gt;
     &lt;/apis&gt;
   &lt;/service&gt;
 &lt;/rsd&gt;</diff>
      <filename>xmlrpc.php</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3fc946d302a683265a1c0b10d944e5721cc7dcbc</id>
    </parent>
  </parents>
  <author>
    <name>Alexandre Girard</name>
    <email>alx.girard@gmail.com</email>
  </author>
  <url>http://github.com/alx/alexgirard.com-blog/commit/1d098f07c1ec3a89a63f9bfa387b9a3ec4cd6fd3</url>
  <id>1d098f07c1ec3a89a63f9bfa387b9a3ec4cd6fd3</id>
  <committed-date>2008-08-15T05:39:32-07:00</committed-date>
  <authored-date>2008-08-15T05:39:32-07:00</authored-date>
  <message>update to wordpress 2.6.1</message>
  <tree>37d212f31c8e74038700c7a2ade4cd1e2e267e5f</tree>
  <committer>
    <name>Alexandre Girard</name>
    <email>alx.girard@gmail.com</email>
  </committer>
</commit>
