<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre, #msg p { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[12020] trunk/wp-admin: Open View/
 Preview post in a new window from the link in the Saved/Updated message,
  cleanup messages code, add Draft updated for Pages.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/12020">12020</a></dd>
<dt>Author</dt> <dd>azaozz</dd>
<dt>Date</dt> <dd>2009-10-11 00:37:26 +0000 (Sun, 11 Oct 2009)</dd>
</dl>

<h3>Log Message</h3>
<pre>Open View/Preview post in a new window from the link in the Saved/Updated message, cleanup messages code, add Draft updated for Pages.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadmineditformadvancedphp">trunk/wp-admin/edit-form-advanced.php</a></li>
<li><a href="#trunkwpadmineditpageformphp">trunk/wp-admin/edit-page-form.php</a></li>
<li><a href="#trunkwpadminpagephp">trunk/wp-admin/page.php</a></li>
<li><a href="#trunkwpadminpostphp">trunk/wp-admin/post.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadmineditformadvancedphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/edit-form-advanced.php (12019 => 12020)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/edit-form-advanced.php        2009-10-10 08:31:21 UTC (rev 12019)
+++ trunk/wp-admin/edit-form-advanced.php        2009-10-11 00:37:26 UTC (rev 12020)
</span><span class="lines">@@ -18,25 +18,48 @@
</span><span class="cx"> $post_ID = isset($post_ID) ? (int) $post_ID : 0;
</span><span class="cx"> 
</span><span class="cx"> $action = isset($action) ? $action : '';
</span><del>-if ( isset($_GET['message']) )
</del><ins>+
+$message = false;
+if ( isset($_GET['message']) ) {
</ins><span class="cx">         $_GET['message'] = absint( $_GET['message'] );
</span><del>-$messages[1] = sprintf(__('Post updated. &lt;a href=&quot;%s&quot;&gt;View post&lt;/a&gt;'), get_permalink($post_ID));
-$messages[2] = __('Custom field updated.');
-$messages[3] = __('Custom field deleted.');
-$messages[4] = __('Post updated.');
-$messages[6] = sprintf(__('Post published. &lt;a href=&quot;%s&quot;&gt;View post&lt;/a&gt;'), get_permalink($post_ID));
-$messages[7] = __('Post saved.');
-$messages[8] = sprintf(__('Post submitted. &lt;a href=&quot;%s&quot;&gt;Preview post&lt;/a&gt;'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
-// translators: Publish box date formt, see http://php.net/date - Same as in meta-boxes.php
-$messages[9] = sprintf(__('Post scheduled for: &lt;b&gt;%1$s&lt;/b&gt;. &lt;a href=&quot;%2$s&quot;&gt;Preview post&lt;/a&gt;'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post-&gt;post_date ) ), get_permalink($post_ID));
-$messages[10] = sprintf(__('Draft updated. &lt;a href=&quot;%s&quot;&gt;Preview&lt;/a&gt;'), get_permalink($post_ID));
</del><span class="cx"> 
</span><del>-if ( isset($_GET['revision']) )
-        $messages[5] = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
</del><ins>+        switch ( $_GET['message'] ) {
+                case 1:
+                        $message = sprintf( __('Post updated. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;View post&lt;/a&gt;'), get_permalink($post_ID) );
+                        break;
+                case 2:
+                        $message = __('Custom field updated.');
+                        break;
+                case 3:
+                        $message = __('Custom field deleted.');
+                        break;
+                case 4:
+                        $message = __('Post updated.');
+                        break;
+                case 5:
+                        if ( isset($_GET['revision']) )
+                                $message = sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
+                        break;
+                case 6:
+                        $message = sprintf( __('Post published. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;View post&lt;/a&gt;'), get_permalink($post_ID) );
+                        break;
+                case 7:
+                        $message = __('Post saved.');
+                        break;
+                case 8:
+                        $message = sprintf( __('Post submitted. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;Preview post&lt;/a&gt;'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
+                        break;
+                case 9:
+                        // translators: Publish box date formt, see http://php.net/date - Same as in meta-boxes.php
+                        $message = sprintf( __('Post scheduled for: &lt;b&gt;%1$s&lt;/b&gt;. &lt;a target=&quot;_blank&quot; href=&quot;%2$s&quot;&gt;Preview post&lt;/a&gt;'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post-&gt;post_date ) ), get_permalink($post_ID) );
+                        break;
+                case 10:
+                        $message = sprintf( __('Post draft updated. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;Preview post&lt;/a&gt;'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
+                        break;
+        }
+}
</ins><span class="cx"> 
</span><span class="cx"> $notice = false;
</span><del>-$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;.' );
-
</del><span class="cx"> if ( 0 == $post_ID ) {
</span><span class="cx">         $form_action = 'post';
</span><span class="cx">         $temp_ID = -1 * time(); // don't change this formula without looking at wp_write_post()
</span><span class="lines">@@ -51,7 +74,7 @@
</span><span class="cx">         if ( $autosave &amp;&amp; mysql2date( 'U', $autosave-&gt;post_modified_gmt, false ) &gt; mysql2date( 'U', $post-&gt;post_modified_gmt, false ) ) {
</span><span class="cx">                 foreach ( _wp_post_revision_fields() as $autosave_field =&gt; $_autosave_field ) {
</span><span class="cx">                         if ( normalize_whitespace( $autosave-&gt;$autosave_field ) != normalize_whitespace( $post-&gt;$autosave_field ) ) {
</span><del>-                                $notice = sprintf( $notices[1], get_edit_post_link( $autosave-&gt;ID ) );
</del><ins>+                                $notice = sprintf( __( '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;.' ), get_edit_post_link( $autosave-&gt;ID ) );
</ins><span class="cx">                                 break;
</span><span class="cx">                         }
</span><span class="cx">                 }
</span><span class="lines">@@ -116,8 +139,8 @@
</span><span class="cx"> &lt;?php if ( $notice ) : ?&gt;
</span><span class="cx"> &lt;div id=&quot;notice&quot; class=&quot;error&quot;&gt;&lt;p&gt;&lt;?php echo $notice ?&gt;&lt;/p&gt;&lt;/div&gt;
</span><span class="cx"> &lt;?php endif; ?&gt;
</span><del>-&lt;?php if (isset($_GET['message'])) : ?&gt;
-&lt;div id=&quot;message&quot; class=&quot;updated fade&quot;&gt;&lt;p&gt;&lt;?php echo $messages[$_GET['message']]; ?&gt;&lt;/p&gt;&lt;/div&gt;
</del><ins>+&lt;?php if ( $message ) : ?&gt;
+&lt;div id=&quot;message&quot; class=&quot;updated fade&quot;&gt;&lt;p&gt;&lt;?php echo $message; ?&gt;&lt;/p&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;?php endif; ?&gt;
</span><span class="cx"> &lt;form name=&quot;post&quot; action=&quot;post.php&quot; method=&quot;post&quot; id=&quot;post&quot;&gt;
</span><span class="cx"> &lt;?php
</span></span></pre></div>
<a id="trunkwpadmineditpageformphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/edit-page-form.php (12019 => 12020)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/edit-page-form.php        2009-10-10 08:31:21 UTC (rev 12019)
+++ trunk/wp-admin/edit-page-form.php        2009-10-11 00:37:26 UTC (rev 12020)
</span><span class="lines">@@ -20,22 +20,41 @@
</span><span class="cx"> if ( ! isset( $temp_ID ) )
</span><span class="cx">         $temp_ID = 0;
</span><span class="cx"> 
</span><del>-if ( isset($_GET['message']) )
</del><ins>+$message = false;
+if ( isset($_GET['message']) ) {
</ins><span class="cx">         $_GET['message'] = absint( $_GET['message'] );
</span><del>-$messages[1] = sprintf(__('Page updated. &lt;a href=&quot;%s&quot;&gt;View page&lt;/a&gt;'), get_permalink($post_ID));
-$messages[2] = __('Custom field updated.');
-$messages[3] = __('Custom field deleted.');
-$messages[5] = sprintf(__('Page published. &lt;a href=&quot;%s&quot;&gt;View page&lt;/a&gt;'), get_permalink($post_ID));
-$messages[6] = sprintf(__('Page submitted. &lt;a href=&quot;%s&quot;&gt;Preview page&lt;/a&gt;'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
-// translators: Publish box date formt, see http://php.net/date - Same as in meta-boxes.php
-$messages[7] = sprintf(__('Page scheduled for: &lt;b&gt;%1$s&lt;/b&gt;. &lt;a href=&quot;%2$s&quot;&gt;Preview post&lt;/a&gt;'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post-&gt;post_date ) ), get_permalink($post_ID));
</del><span class="cx"> 
</span><del>-if ( isset($_GET['revision']) )
-        $messages[5] = sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
</del><ins>+        switch ( $_GET['message'] ) {
+                case 1:
+                        $message = sprintf( __('Page updated. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;View page&lt;/a&gt;'), get_permalink($post_ID) );
+                        break;
+                case 2:
+                        $message = __('Custom field updated.');
+                        break;
+                case 3:
+                        $message = __('Custom field deleted.');
+                        break;
+                case 4:
+                        $message = sprintf( __('Page published. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;View page&lt;/a&gt;'), get_permalink($post_ID) );
+                        break;
+                case 5:
+                        if ( isset($_GET['revision']) )
+                                $message = sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) );
+                        break;
+                case 6:
+                        $message = sprintf( __('Page submitted. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;Preview page&lt;/a&gt;'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
+                        break;
+                case 7:
+                        // translators: Publish box date formt, see http://php.net/date - Same as in meta-boxes.php
+                        $message = sprintf( __('Page scheduled for: &lt;b&gt;%1$s&lt;/b&gt;. &lt;a target=&quot;_blank&quot; href=&quot;%2$s&quot;&gt;Preview page&lt;/a&gt;'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post-&gt;post_date ) ), get_permalink($post_ID) );
+                        break;
+                case 8:
+                        $message = sprintf( __('Page draft updated. &lt;a target=&quot;_blank&quot; href=&quot;%s&quot;&gt;Preview page&lt;/a&gt;'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
+                        break;
+        }
+}
</ins><span class="cx"> 
</span><span class="cx"> $notice = false;
</span><del>-$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;.' );
-
</del><span class="cx"> if ( 0 == $post_ID) {
</span><span class="cx">         $form_action = 'post';
</span><span class="cx">         $nonce_action = 'add-page';
</span><span class="lines">@@ -48,7 +67,7 @@
</span><span class="cx">         $form_extra = &quot;&lt;input type='hidden' id='post_ID' name='post_ID' value='$post_ID' /&gt;&quot;;
</span><span class="cx">         $autosave = wp_get_post_autosave( $post_ID );
</span><span class="cx">         if ( $autosave &amp;&amp; mysql2date( 'U', $autosave-&gt;post_modified_gmt, false ) &gt; mysql2date( 'U', $post-&gt;post_modified_gmt, false ) )
</span><del>-                $notice = sprintf( $notices[1], get_edit_post_link( $autosave-&gt;ID ) );
</del><ins>+                $notice = sprintf( __( '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;.' ), get_edit_post_link( $autosave-&gt;ID ) );
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> $temp_ID = (int) $temp_ID;
</span><span class="lines">@@ -87,8 +106,8 @@
</span><span class="cx"> &lt;?php if ( $notice ) : ?&gt;
</span><span class="cx"> &lt;div id=&quot;notice&quot; class=&quot;error&quot;&gt;&lt;p&gt;&lt;?php echo $notice ?&gt;&lt;/p&gt;&lt;/div&gt;
</span><span class="cx"> &lt;?php endif; ?&gt;
</span><del>-&lt;?php if (isset($_GET['message'])) : ?&gt;
-&lt;div id=&quot;message&quot; class=&quot;updated fade&quot;&gt;&lt;p&gt;&lt;?php echo $messages[$_GET['message']]; ?&gt;&lt;/p&gt;&lt;/div&gt;
</del><ins>+&lt;?php if ( $message ) : ?&gt;
+&lt;div id=&quot;message&quot; class=&quot;updated fade&quot;&gt;&lt;p&gt;&lt;?php echo $message; ?&gt;&lt;/p&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;?php endif; ?&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;?php
</span></span></pre></div>
<a id="trunkwpadminpagephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/page.php (12019 => 12020)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/page.php        2009-10-10 08:31:21 UTC (rev 12019)
+++ trunk/wp-admin/page.php        2009-10-11 00:37:26 UTC (rev 12020)
</span><span class="lines">@@ -35,21 +35,25 @@
</span><span class="cx">                 $location = $_POST['referredby'];
</span><span class="cx">         } elseif ( 'post' == $_POST['originalaction'] &amp;&amp; !empty($_POST['mode']) &amp;&amp; 'sidebar' == $_POST['mode'] ) {
</span><span class="cx">                 $location = 'sidebar.php?a=b';
</span><del>-        } elseif ( ( isset($_POST['save']) || isset($_POST['publish']) ) ) {
</del><ins>+        } elseif ( isset($_POST['save']) || isset($_POST['publish']) ) {
+                $status = get_post_status( $page_ID );
+
</ins><span class="cx">                 if ( isset( $_POST['publish'] ) ) {
</span><del>-                        switch ( get_post_status( $page_ID ) ) {
</del><ins>+                        switch ( $status ) {
</ins><span class="cx">                                 case 'pending':
</span><del>-                                        $location = add_query_arg( 'message', 6, get_edit_post_link( $page_ID, 'url' ) );
</del><ins>+                                        $message = 6;
</ins><span class="cx">                                         break;
</span><span class="cx">                                 case 'future':
</span><del>-                                        $location = add_query_arg( 'message', 7, get_edit_post_link( $page_ID, 'url' ) );
</del><ins>+                                        $message = 7;
</ins><span class="cx">                                         break;
</span><span class="cx">                                 default:
</span><del>-                                        $location = add_query_arg( 'message', 5, get_edit_post_link( $page_ID, 'url' ) );
</del><ins>+                                        $message = 4;
</ins><span class="cx">                         }
</span><span class="cx">                 } else {
</span><del>-                        $location = add_query_arg( 'message', 1, get_edit_post_link( $page_ID, 'url' ) );
</del><ins>+                                $message = 'draft' == $status ? 8 : 1;
</ins><span class="cx">                 }
</span><ins>+
+                $location = add_query_arg( 'message', $message, get_edit_post_link( $page_ID, 'url' ) );
</ins><span class="cx">         } elseif ( isset($_POST['addmeta']) ) {
</span><span class="cx">                 $location = add_query_arg( 'message', 2, wp_get_referer() );
</span><span class="cx">                 $location = explode('#', $location);
</span></span></pre></div>
<a id="trunkwpadminpostphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/post.php (12019 => 12020)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/post.php        2009-10-10 08:31:21 UTC (rev 12019)
+++ trunk/wp-admin/post.php        2009-10-11 00:37:26 UTC (rev 12020)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">                         $location = 'sidebar.php?a=b';
</span><span class="cx">         } elseif ( isset($_POST['save']) || isset($_POST['publish']) ) {
</span><span class="cx">                 $status = get_post_status( $post_ID );
</span><del>-                $link = get_edit_post_link( $post_ID, 'url' );
</del><span class="cx"> 
</span><span class="cx">                 if ( isset( $_POST['publish'] ) ) {
</span><span class="cx">                         switch ( $status ) {
</span><span class="lines">@@ -57,7 +56,7 @@
</span><span class="cx">                                 $message = 'draft' == $status ? 10 : 1;
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                $location = add_query_arg( 'message', $message, $link );
</del><ins>+                $location = add_query_arg( 'message', $message, get_edit_post_link( $post_ID, 'url' ) );
</ins><span class="cx">         } elseif ( isset($_POST['addmeta']) &amp;&amp; $_POST['addmeta'] ) {
</span><span class="cx">                 $location = add_query_arg( 'message', 2, wp_get_referer() );
</span><span class="cx">                 $location = explode('#', $location);
</span></span></pre>
</div>
</div>

</body>
</html>