<!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 { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { 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>[15691] trunk/wp-includes/post.php: wp_quickpress_form, first pass.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/15691">15691</a></dd>
<dt>Author</dt> <dd>nacin</dd>
<dt>Date</dt> <dd>2010-10-03 07:41:48 +0000 (Sun, 03 Oct 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>wp_quickpress_form, first pass. props jorbin. see <a href="http://trac.wordpress.org/ticket/14966">#14966</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpincludespostphp">trunk/wp-includes/post.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpincludespostphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/post.php (15690 => 15691)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/post.php        2010-10-03 07:29:44 UTC (rev 15690)
+++ trunk/wp-includes/post.php        2010-10-03 07:41:48 UTC (rev 15691)
</span><span class="lines">@@ -4771,3 +4771,147 @@
</span><span class="cx"> 
</span><span class="cx">         return $post;
</span><span class="cx"> }
</span><ins>+
+/**
+ * Returns or echos a form containing a post box.
+ *
+ * Used for the QuickPress dashboard module.
+ *
+ * @since 3.1.0
+ *
+ * @param array $args Arguments.
+ * @param string $post_type Post type.
+ */
+function wp_quickpress_form( $args = array(), $post_type = 'post'){
+        global $post_ID;
+
+        $fields = array(
+                'title' =&gt; array(
+                        'capability' =&gt; '', // Capability to check before outputing field
+                        'output' =&gt; '&lt;h4 id=&quot;%s-title&quot;&gt;&lt;label for=&quot;title&quot;&gt;'. __('Title') .'&lt;/label&gt;&lt;/h4&gt;
+                &lt;div class=&quot;input-text-wrap&quot;&gt;
+                        &lt;input type=&quot;text&quot; name=&quot;post_title&quot; id=&quot;%s-title&quot; tabindex=&quot;%d&quot; autocomplete=&quot;off&quot; value=&quot;'. esc_attr( $post-&gt;post_title ).'&quot; /&gt;
+                &lt;/div&gt;'
+                ),
+                'media_buttons' =&gt; array(
+                        'capability' =&gt; 'upload_files',
+                        'output' =&gt; '&lt;div id=&quot;%s-media-buttons&quot; class=&quot;hide-if-no-js&quot;&gt;'. get_media_buttons() .'&lt;/div&gt;',
+                ),
+                'content' =&gt; array(
+                        'capability' =&gt; '',
+                        'output' =&gt; '&lt;h4 id=&quot;%s-content-label&quot;&gt;&lt;label for=&quot;content&quot;&gt;'. __('Content') .'&lt;/label&gt;&lt;/h4&gt;
+                &lt;div class=&quot;textarea-wrap&quot;&gt;
+                        &lt;textarea name=&quot;content&quot; id=&quot;%s-content&quot; class=&quot;mceEditor&quot; rows=&quot;3&quot; cols=&quot;15&quot; tabindex=&quot;%d&quot;&gt;'. $post-&gt;post_content.'&lt;/textarea&gt;
+                &lt;/div&gt;
+                        '.&quot;     &lt;script type='text/javascript'&gt;edCanvas = document.getElementById('content');edInsertContent = null;&lt;/script&gt;
+                &quot;
+
+                ),
+                'tags' =&gt; array(
+                        'capability' =&gt;'',
+                        'output' =&gt; '
+                        &lt;h4&gt;&lt;label for=&quot;%s-tags-input&quot;&gt;'. __('Tags') .'&lt;/label&gt;&lt;/h4&gt;
+                        &lt;div class=&quot;input-text-wrap&quot;&gt;
+                                &lt;input type=&quot;text&quot; name=&quot;%s-tags_input&quot; id=&quot;tags-input&quot; tabindex=&quot;%d&quot; value=&quot;'. get_tags_to_edit( $post-&gt;ID ) .'&quot; /&gt;
+                        &lt;/div&gt;
+'
+                ),
+
+        );
+
+        $hidden_fields = array(
+                'action' =&gt; '&lt;input type=&quot;hidden&quot; name=&quot;action&quot; id=&quot;quickpost-action&quot; value=&quot;'.$post_type.'-quickpress-save&quot; /&gt;',
+                'post_id' =&gt; '&lt;input type=&quot;hidden&quot; name=&quot;quickpress_post_ID&quot; value=&quot;'. $post_ID .'&quot; /&gt;',
+                'post_type' =&gt; '&lt;input type=&quot;hidden&quot; name=&quot;post_type&quot; value=&quot;'.$post_type.'&quot; /&gt;',
+        );
+
+        $submit_fields = array(
+                'save' =&gt; '&lt;input type=&quot;submit&quot; name=&quot;save&quot; id=&quot;save-post&quot; class=&quot;button&quot; tabindex=&quot;%s&quot; value=&quot;'.  esc_attr('Save Draft') .'&quot; /&gt;',
+                'reset' =&gt; '&lt;input type=&quot;reset&quot; tabindex=&quot;%s&quot; value=&quot;'. esc_attr( 'Reset' ).'&quot; class=&quot;button&quot; /&gt;',
+        );
+
+        $publishing_action = current_user_can('publish_posts') ? esc_attr('Publish') : esc_attr('Submit for Review');
+
+        $publishing_fields = array(
+        'submit' =&gt; '&lt;input type=&quot;submit&quot; name=&quot;publish&quot; id=&quot;publish&quot; accesskey=&quot;p&quot; tabindex=&quot;%s&quot; class=&quot;button-primary&quot; value=&quot;' . $publishing_action . '&quot; /&gt;',
+        /*'test' =&gt; '&lt;input type=&quot;submit&quot; name=&quot;publish&quot; id=&quot;publish&quot; accesskey=&quot;p&quot; tabindex=&quot;%n&quot; class=&quot;button-primary&quot; value=&quot;'. esc_attr('Publish') .'&quot; /&gt;', */
+
+        );
+
+        $defaults = array(
+                'action' =&gt; admin_url( 'post.php' ),
+                'fields' =&gt; $fields,
+                'form_id' =&gt; '',
+                'default_cap' =&gt; 'edit_posts',
+                'tabindex_start' =&gt; '1',
+                'ajax' =&gt; true,
+                'hidden_fields' =&gt; $hidden_fields,
+                'submit_fields' =&gt; $submit_fields,
+                'publishing_fields' =&gt; $publishing_fields,
+                'submit_class' =&gt; 'submit',
+                'publish_action_container' =&gt; 'span',
+                'publish_action_id' =&gt; 'publishing-action',
+                'hidden_and_submit_fields_container' =&gt; 'p',
+                'hidden_and_submit_fields_container_class' =&gt; 'submit',
+        );
+
+        $args = wp_parse_args($args, $defaults);
+
+        $tabindex =  apply_filters( 'quickpress_tabindex_start', $args['tabindex_start'], $args['form_id']  );
+
+        if ( current_user_can( $args['default_cap'] ) ): ?&gt;
+                &lt;?php do_action('quickpress_form_before_form', $args['form_id'] ); ?&gt;
+                &lt;form name=&quot;post&quot; action=&quot;&lt;?php echo $args['action'] ?&gt;&quot; method=&quot;post&quot; id=&quot;&lt;?php echo $args['form_id']; ?&gt;&quot;&gt;
+                        &lt;?php do_action('quickpress_form_before_fields', $args['form_id']);
+
+                        $fields = apply_filters( 'quickpress_fields',  $args['fields'], $args['form_id'] );
+                        foreach ($fields as $title =&gt; $field){
+                                if ( empty( $field['capability'] ) || current_user_can( $field['capability'] ) ){
+                                        printf( $field['output'], $args['form_id'], $args['form_id'], $tabindex );
+                                        $tabindex++;
+                                }
+                        }
+                        //Hidden Fields
+                        do_action('quickpress_form_after_fields', $args['form_id'] );
+
+                        echo &quot;&lt;{$args['hidden_and_submit_fields_container']} class='{$args['hidden_and_submit_fields_container_class']}'&gt;&quot;;
+
+                        $hidden_fields = apply_filters( 'quickpress_hidden_fields', $args['hidden_fields'] , $args['form_id'] );
+
+                        foreach( $hidden_fields as $hidden_field )
+                                echo $hidden_field;
+
+                        // nonce
+                        wp_nonce_field('add-post');
+
+                        // submit
+                        foreach( $args['submit_fields'] as $submit_field )
+                                printf( $submit_field, $tabindex++ );
+
+                        // publish
+                        echo &quot;&lt;{$args['publish_action_container']} id='{$args['publish_action_id']}'&gt;&quot;;
+
+                        $publishing_fields = apply_filters( 'quickpress_publishing_fields', $args['publishing_fields'] , $args['form_id'] );
+
+                        foreach( $publishing_fields as $publishing_field) {
+                                printf( $publishing_field, $tabindex );
+                                        $tabindex++;
+                        }
+
+                        if ($args['ajax'] == true)
+                                echo '&lt;img class=&quot;waiting&quot; src=&quot;'. esc_url( admin_url( 'images/wpspin_light.gif' ) ) .'&quot; /&gt;';
+
+                        echo &quot;&lt;/{$args['publish_action_container']}&gt;&quot;;
+                        echo &quot;&lt;br class='clear' /&gt;&quot;;
+                        do_action( 'quickpress_form_after_submit_fields', $args['form_id']);
+
+                        echo &quot;&lt;/{$args['hidden_and_submit_fields_container']}&quot;;
+                do_action( 'quickpress_form_after_form_content', $args['form_id']);
+                echo '&lt;/form&gt;';
+                do_action('quickpress_form_after_form', $args['form_id'] );
+        else:
+                do_action( 'quickpress_form_no_form', $args['form_id'] );
+        endif;
+}
+
+?&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre>
</div>
</div>

</body>
</html>