Changeset 1125

Show
Ignore:
Timestamp:
10/23/07 18:28:40 (1 year ago)
Author:
donncha
Message:

Merge with WordPress?, rev 6285 and untested

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-admin/admin-ajax.php

    r1069 r1125  
    55define('DOING_AJAX', true); 
    66 
    7 check_ajax_referer(); 
    87if ( !is_user_logged_in() ) 
    98        die('-1'); 
     
    1211add_action( 'shutdown', 'get_out_now', -1 ); 
    1312 
    14 function wp_ajax_meta_row( $pid, $mid, $key, $value ) { 
    15         $value = attribute_escape($value); 
    16         $key_js = addslashes(wp_specialchars($key, 'double')); 
    17         $key = attribute_escape($key); 
    18         $r .= "<tr id='meta-$mid'><td valign='top'>"; 
    19         $r .= "<input name='meta[$mid][key]' tabindex='6' onkeypress='return killSubmit(\"theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);\",event);' type='text' size='20' value='$key' />"; 
    20         $r .= "</td><td><textarea name='meta[$mid][value]' tabindex='6' rows='2' cols='30'>$value</textarea></td><td align='center'>"; 
    21         $r .= "<input name='updatemeta' type='button' class='updatemeta' tabindex='6' value='".attribute_escape(__('Update'))."' onclick='return theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);' /><br />"; 
    22         $r .= "<input name='deletemeta[$mid]' type='submit' onclick=\"return deleteSomething( 'meta', $mid, '"; 
    23         $r .= js_escape(sprintf(__("You are about to delete the '%s' custom field on this post.\n'OK' to delete, 'Cancel' to stop."), $key_js)); 
    24         $r .= "' );\" class='deletemeta' tabindex='6' value='".attribute_escape(__('Delete'))."' /></td></tr>"; 
    25         return $r; 
    26 } 
    27  
    2813$id = (int) $_POST['id']; 
    29 switch ( $_POST['action'] ) : 
     14switch ( $action = $_POST['action'] ) : 
     15case 'add-post' : 
     16        check_ajax_referer( 'add-post' ); 
     17        add_filter( 'post_limits', $limit_filter = create_function( '$a', '$b = split(" ",$a); if ( !isset($b[2]) ) return $a; $start = intval(trim($b[1])) / 20 * 15; if ( !is_int($start) ) return $a; $start += intval(trim($b[2])) - 1; return "LIMIT $start, 1";' ) ); 
     18        wp_edit_posts_query( '_POST' ); 
     19        $posts_columns = wp_manage_posts_columns(); 
     20        ob_start(); 
     21                include( 'edit-post-rows.php' ); 
     22                $data = ob_get_contents(); 
     23        ob_end_clean(); 
     24        if ( !preg_match('|<tbody.+?>(.+)</tbody>|s', $data, $matches) ) 
     25                my_dump($data); 
     26        $data = trim($matches[1]); 
     27        $x = new WP_Ajax_Response( array( 'what' => 'post', 'id' => $id, 'data' => $data ) ); 
     28        $x->send(); 
     29        break; 
    3030case 'delete-comment' : 
     31        check_ajax_referer( "delete-comment_$id" ); 
    3132        if ( !$comment = get_comment( $id ) ) 
    3233                die('0'); 
     
    3435                die('-1'); 
    3536 
    36         if ( wp_delete_comment( $comment->comment_ID ) ) 
     37        if ( isset($_POST['spam']) && 1 == $_POST['spam'] ) 
     38                $r = wp_set_comment_status( $comment->comment_ID, 'spam' ); 
     39        else 
     40                $r = wp_delete_comment( $comment->comment_ID ); 
     41 
     42        die( $r ? '1' : '0' ); 
     43        break; 
     44case 'delete-cat' : 
     45        check_ajax_referer( "delete-category_$id" ); 
     46        if ( !current_user_can( 'manage_categories' ) ) 
     47                die('-1'); 
     48 
     49        if ( wp_delete_category( $id ) ) 
    3750                die('1'); 
    3851        else    die('0'); 
    3952        break; 
    40 case 'delete-comment-as-spam' : 
    41         if ( !$comment = get_comment( $id ) ) 
    42                 die('0'); 
    43         if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) ) 
    44                 die('-1'); 
    45  
    46         if ( wp_set_comment_status( $comment->comment_ID, 'spam' ) ) 
     53case 'delete-link' : 
     54        check_ajax_referer( "delete-bookmark_$id" ); 
     55        if ( !current_user_can( 'manage_links' ) ) 
     56                die('-1'); 
     57 
     58        if ( wp_delete_link( $id ) ) 
    4759                die('1'); 
    4860        else    die('0'); 
    4961        break; 
    50 case 'delete-cat' : 
    51         if ( !current_user_can( 'manage_categories' ) ) 
    52                 die('-1'); 
    53  
    54         if ( wp_delete_category( $id ) ) 
    55                 die('1'); 
    56         else    die('0'); 
    57         break; 
    58 case 'delete-link' : 
    59         if ( !current_user_can( 'manage_links' ) ) 
    60                 die('-1'); 
    61  
    62         if ( wp_delete_link( $id ) ) 
    63                 die('1'); 
    64         else    die('0'); 
    65         break; 
    6662case 'delete-meta' : 
     63        check_ajax_referer( 'change_meta' ); 
    6764        if ( !$meta = get_post_meta_by_id( $id ) ) 
    6865                die('0'); 
     
    7471        break; 
    7572case 'delete-post' : 
     73        check_ajax_referer( "{$action}_$id" ); 
    7674        if ( !current_user_can( 'delete_post', $id ) ) 
    7775                die('-1'); 
     
    7977        if ( wp_delete_post( $id ) ) 
    8078                die('1'); 
    81         else    die('0'); 
     79        else 
     80                die('0'); 
    8281        break; 
    8382case 'delete-page' : 
     83        check_ajax_referer( "{$action}_$id" ); 
    8484        if ( !current_user_can( 'delete_page', $id ) ) 
    8585                die('-1'); 
     
    9898 
    9999        if ( 'unapproved' == wp_get_comment_status($comment->comment_ID) ) { 
     100                check_ajax_referer( "approve-comment_$id" ); 
    100101                if ( wp_set_comment_status( $comment->comment_ID, 'approve' ) ) 
    101102                        die('1'); 
    102103        } else { 
     104                check_ajax_referer( "unapprove-comment_$id" ); 
    103105                if ( wp_set_comment_status( $comment->comment_ID, 'hold' ) ) 
    104106                        die('1'); 
     
    107109        break; 
    108110case 'add-category' : // On the Fly 
     111        check_ajax_referer( $action ); 
    109112        if ( !current_user_can( 'manage_categories' ) ) 
    110113                die('-1'); 
     
    121124                        'what' => 'category', 
    122125                        'id' => $cat_id, 
    123                         'data' => "<li id='category-$cat_id'><label for='in-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='post_category[]' id='in-category-$cat_id'/> $cat_name</label></li>" 
     126                        'data' => "<li id='category-$cat_id'><label for='in-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='post_category[]' id='in-category-$cat_id'/> $cat_name</label></li>", 
     127                        'position' => -1 
    124128                ) ); 
    125129        } 
     
    127131        break; 
    128132case 'add-link-category' : // On the Fly 
     133        check_ajax_referer( $action ); 
    129134        if ( !current_user_can( 'manage_categories' ) ) 
    130135                die('-1'); 
     
    137142                if ( !$cat_id = is_term( $cat_name, 'link_category' ) ) { 
    138143                        $cat_id = wp_insert_term( $cat_name, 'link_category' ); 
    139                         $cat_id = $cat_id['term_id']; 
    140144                } 
     145                $cat_id = $cat_id['term_id']; 
    141146                $cat_name = wp_specialchars(stripslashes($cat_name)); 
    142147                $x->add( array( 
    143148                        'what' => 'link-category', 
    144149                        'id' => $cat_id, 
    145                         'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>" 
     150                        'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>", 
     151                        'position' => -1 
    146152                ) ); 
    147153        } 
     
    149155        break; 
    150156case 'add-cat' : // From Manage->Categories 
     157        check_ajax_referer( 'add-category' ); 
    151158        if ( !current_user_can( 'manage_categories' ) ) 
    152159                die('-1'); 
     
    156163                die('0'); 
    157164        $level = 0; 
    158         $cat_full_name = $cat->cat_name; 
     165        $cat_full_name = $cat->name; 
    159166        $_cat = $cat; 
    160         while ( $_cat->category_parent ) { 
    161                 $_cat = get_category( $_cat->category_parent ); 
    162                 $cat_full_name = $_cat->cat_name . ' &#8212; ' . $cat_full_name; 
     167        while ( $_cat->parent ) { 
     168                $_cat = get_category( $_cat->parent ); 
     169                $cat_full_name = $_cat->name . ' &#8212; ' . $cat_full_name; 
    163170                $level++; 
    164171        } 
     
    167174        $x = new WP_Ajax_Response( array( 
    168175                'what' => 'cat', 
    169                 'id' => $cat->cat_ID
     176                'id' => $cat->term_id
    170177                'data' => _cat_row( $cat, $level, $cat_full_name ), 
    171                 'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->cat_ID", $cat_full_name)) 
     178                'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->term_id", $cat_full_name)) 
    172179        ) ); 
    173180        $x->send(); 
    174181        break; 
    175182case 'add-comment' : 
     183        check_ajax_referer( $action ); 
    176184        if ( !current_user_can( 'edit_post', $id ) ) 
    177185                die('-1'); 
    178186        $search = isset($_POST['s']) ? $_POST['s'] : false; 
    179         $start = isset($_POST['page']) ? intval($_POST['page']) * 25 : 25
     187        $start = isset($_POST['page']) ? intval($_POST['page']) * 25 - 1: 24
    180188 
    181189        list($comments, $total) = _wp_get_comment_list( $search, $start, 1 ); 
     
    199207        break; 
    200208case 'add-meta' : 
    201         if ( !current_user_can( 'edit_post', $id ) ) 
    202                 die('-1'); 
    203         if ( $id < 0 ) { 
    204                 $now = current_time('timestamp', 1); 
    205                 if ( $pid = wp_insert_post( array( 
    206                         'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now)) 
    207                 ) ) ) { 
    208                         if ( is_wp_error( $pid ) ) 
    209                                 return $pid; 
    210                         $mid = add_meta( $pid ); 
     209        check_ajax_referer( 'change_meta' ); 
     210        $c = 0; 
     211        $pid = (int) $_POST['post_id']; 
     212        if ( isset($_POST['addmeta']) ) { 
     213                if ( !current_user_can( 'edit_post', $pid ) ) 
     214                        die('-1'); 
     215                if ( $pid < 0 ) { 
     216                        $now = current_time('timestamp', 1); 
     217                        if ( $pid = wp_insert_post( array( 
     218                                'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now)) 
     219                        ) ) ) { 
     220                                if ( is_wp_error( $pid ) ) { 
     221                                        $x = new WP_Ajax_Response( array( 
     222                                                'what' => 'meta', 
     223                                                'data' => $pid 
     224                                        ) ); 
     225                                        $x->send(); 
     226                                } 
     227                                $mid = add_meta( $pid ); 
     228                        } else { 
     229                                die('0'); 
     230                        } 
     231                } else if ( !$mid = add_meta( $pid ) ) { 
     232                        die('0'); 
    211233                } 
    212                 else 
    213                         die('0'); 
    214         } else if ( !$mid = add_meta( $id ) ) { 
    215                 die('0'); 
    216         } 
    217  
    218         $meta = get_post_meta_by_id( $mid ); 
    219         $key = $meta->meta_key; 
    220         $value = $meta->meta_value; 
    221         $pid = (int) $meta->post_id; 
    222  
    223         $x = new WP_Ajax_Response( array( 
    224                 'what' => 'meta', 
    225                 'id' => $mid, 
    226                 'data' => wp_ajax_meta_row( $pid, $mid, $key, $value ), 
    227                 'supplemental' => array('postid' => $pid) 
    228         ) ); 
    229         $x->send(); 
    230         break; 
    231 case 'update-meta' : 
    232         $mid = (int) array_pop(array_keys($_POST['meta'])); 
    233         $key = $_POST['meta'][$mid]['key']; 
    234         $value = $_POST['meta'][$mid]['value']; 
    235         if ( !$meta = get_post_meta_by_id( $mid ) ) 
    236                 die('0'); // if meta doesn't exist 
    237         if ( !current_user_can( 'edit_post', $meta->post_id ) ) 
    238                 die('-1'); 
    239         if ( $u = update_meta( $mid, $key, $value ) ) { 
     234 
     235                $meta = get_post_meta_by_id( $mid ); 
     236                $pid = (int) $meta->post_id; 
     237                $meta = get_object_vars( $meta ); 
     238                $x = new WP_Ajax_Response( array( 
     239                        'what' => 'meta', 
     240                        'id' => $mid, 
     241                        'data' => _list_meta_row( $meta, $c ), 
     242                        'position' => 1, 
     243                        'supplemental' => array('postid' => $pid) 
     244                ) ); 
     245        } else { 
     246                $mid = (int) array_pop(array_keys($_POST['meta'])); 
     247                $key = $_POST['meta'][$mid]['key']; 
     248                $value = $_POST['meta'][$mid]['value']; 
     249                if ( !$meta = get_post_meta_by_id( $mid ) ) 
     250                        die('0'); // if meta doesn't exist 
     251                if ( !current_user_can( 'edit_post', $meta->post_id ) ) 
     252                        die('-1'); 
     253                if ( !$u = update_meta( $mid, $key, $value ) ) 
     254                        die('1'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems). 
    240255                $key = stripslashes($key); 
    241256                $value = stripslashes($value); 
    242257                $x = new WP_Ajax_Response( array( 
    243258                        'what' => 'meta', 
    244                         'id' => $mid, 
    245                         'data' => wp_ajax_meta_row( $meta->post_id, $mid, $key, $value ), 
     259                        'id' => $mid, 'old_id' => $mid, 
     260                        'data' => _list_meta_row( array( 
     261                                'meta_key' => $key, 
     262                                'meta_value' => $value, 
     263                                'meta_id' => $mid 
     264                        ), $c ), 
     265                        'position' => 0, 
    246266                        'supplemental' => array('postid' => $meta->post_id) 
    247267                ) ); 
    248                 $x->send(); 
    249         } 
    250         die('1'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems). 
     268        } 
     269        $x->send(); 
    251270        break; 
    252271case 'add-user' : 
     272        check_ajax_referer( $action ); 
    253273        if ( !current_user_can('edit_users') ) 
    254274                die('-1'); 
     
    262282        } 
    263283        $user_object = new WP_User( $user_id ); 
     284 
    264285        $x = new WP_Ajax_Response( array( 
    265286                'what' => 'user', 
    266287                'id' => $user_id, 
    267288                'data' => user_row( $user_object ), 
    268                 'supplemental' => array('show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login)) 
     289                'supplemental' => array( 
     290                        'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login), 
     291                        'role' => $user_object->roles[0] 
     292                ) 
    269293        ) ); 
    270294        $x->send(); 
    271295        break; 
    272296case 'autosave' : // The name of this action is hardcoded in edit_post() 
     297        check_ajax_referer( $action ); 
    273298        $_POST['post_content'] = $_POST['content']; 
    274299        $_POST['post_excerpt'] = $_POST['excerpt']; 
     
    301326break; 
    302327case 'autosave-generate-nonces' : 
     328        check_ajax_referer( $action ); 
    303329        $ID = (int) $_POST['post_ID']; 
    304330        if($_POST['post_type'] == 'post') { 
  • trunk/wp-admin/categories.php

    r1069 r1125  
    103103        </tr> 
    104104        </thead> 
    105         <tbody id="the-list"
     105        <tbody id="the-list" class="list:cat"
    106106<?php 
    107107cat_rows(); 
  • trunk/wp-admin/edit-category-form.php

    r1069 r1125  
    1010        $heading = __('Add Category'); 
    1111        $submit_text = __('Add Category &raquo;'); 
    12         $form = '<form name="addcat" id="addcat" method="post" action="categories.php">'; 
     12        $form = '<form name="addcat" id="addcat" method="post" action="categories.php" class="add:the-list:">'; 
    1313        $action = 'addcat'; 
    1414        $nonce_action = 'add-category'; 
     
    4040                </tr> 
    4141        </table> 
    42 <p class="submit"><input type="submit" name="submit" value="<?php echo $submit_text ?>" /></p> 
     42<p class="submit"><input type="submit" class="add:the-list:cat:addcat" name="submit" value="<?php echo $submit_text ?>" /></p> 
    4343<?php do_action('edit_category_form', $category); ?> 
    4444</form> 
  • trunk/wp-admin/edit-comments.php

    r1069 r1125  
    103103                $start = " start='$offset'"; 
    104104 
    105                 echo "<ol id='the-comment-list' class='commentlist' $start>\n"; 
     105                echo "<ol id='the-comment-list' class='list:comment commentlist' $start>\n"; 
    106106                $i = 0; 
    107107                foreach ( $comments as $comment ) { 
    108                         get_comment( $comment ); // Cache it 
    109108                        _wp_comment_list_item( $comment->comment_ID, ++$i ); 
    110109                } 
     
    113112if ( $extra_comments ) : ?> 
    114113<div id="extra-comments" style="display:none"> 
    115 <ul id="the-extra-comment-list" class="commentlist"> 
     114<ol id="the-extra-comment-list" class="list:comment commentlist" style="color:red"> 
    116115<?php 
    117116        foreach ( $extra_comments as $comment ) { 
    118117                get_comment( $comment ); // Cache it 
    119                 _wp_comment_list_item( $comment->comment_ID, ++$i ); 
    120         } 
    121 ?> 
    122 </ul> 
     118                _wp_comment_list_item( $comment->comment_ID, 0 ); 
     119        } 
     120?> 
     121</ol> 
     122<form action="" method="get" id="get-extra-comments" class="add:the-extra-comment-list:"> 
     123<input type="hidden" name="page" value="<?php echo $page; ?>" /> 
     124<input type="hidden" name="s" value="<?php echo attribute_escape(@$_GET['s']); ?>" /> 
     125<?php wp_nonce_field( 'add-comment', '_ajax_nonce', false ); ?> 
    123126</div> 
    124127<?php endif; // $extra_comments ?> 
     
    150153        <th scope="col" colspan="3" style="text-align: center">' .  __('Actions') . '</th> 
    151154  </tr> 
    152 </thead>'; 
     155</thead> 
     156<tbody id="the-comment-list" class="list:comment">'; 
    153157                foreach ($comments as $comment) { 
    154158                $post = get_post($comment->comment_post_ID); 
     
    160164  <tr id="comment-<?php echo $comment->comment_ID; ?>" class='<?php echo $class; ?>'> 
    161165    <td style="text-align: center"><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) { ?><input type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" /><?php } ?></td> 
    162     <td><?php comment_author_link() ?></td> 
     166    <td class="comment-author"><?php comment_author_link() ?></td> 
    163167    <td><?php comment_author_email_link() ?></td> 
    164168    <td><a href="edit-comments.php?s=<?php comment_author_IP() ?>&amp;mode=edit"><?php comment_author_IP() ?></a></td> 
     
    174178        echo "<a href='comment.php?action=editcomment&amp;c=$comment->comment_ID' class='edit'>" .  __('Edit') . "</a>"; } ?></td> 
    175179    <td><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) { 
    176                 echo "<a href=\"comment.php?action=deletecomment&amp;p=".$comment->comment_post_ID."&amp;c=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . js_escape(sprintf(__("You are about to delete this comment by '%s'. \n  'Cancel' to stop, 'OK' to delete."), $comment->comment_author ))  . "', theCommentList );\" class='delete'>" . __('Delete') . "</a> "; 
     180                $url = clean_url( wp_nonce_url( "comment.php?action=deletecomment&p=$comment->comment_post_ID&c=$comment->comment_ID", "delete-comment_$comment->comment_ID" ) ); 
     181                echo "<a href='$url' class='delete:the-comment-list:comment-$comment->comment_ID delete'>" . __('Delete') . "</a> "; 
    177182                } ?></td> 
    178183  </tr> 
    179184                <?php 
    180185                } // end foreach 
    181         ?></table> 
     186        ?></tbody> 
     187</table> 
    182188<p class="submit"><input type="submit" name="delete_button" class="delete" value="<?php _e('Delete Checked Comments &raquo;') ?>" onclick="var numchecked = getNumChecked(document.getElementById('deletecomments')); if(numchecked < 1) { alert('<?php echo js_escape(__("Please select some comments to delete")); ?>'); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to delete %s comments permanently \n  'Cancel' to stop, 'OK' to delete.")), "' + numchecked + '"); ?>')" /> 
    183189                        <input type="submit" name="spam_button" value="<?php _e('Mark Checked Comments as Spam &raquo;') ?>" onclick="var numchecked = getNumChecked(document.getElementById('deletecomments')); if(numchecked < 1) { alert('<?php echo js_escape(__("Please select some comments to mark as spam")); ?>'); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to mark %s comments as spam \n  'Cancel' to stop, 'OK' to mark as spam.")), "' + numchecked + '"); ?>')" /></p> 
  • trunk/wp-admin/edit-form-advanced.php

    r1069 r1125  
    7575<h3 class="dbx-handle"><?php _e('Categories') ?></h3> 
    7676<div class="dbx-content"> 
    77 <p id="jaxcat"></p> 
    78 <ul id="categorychecklist"><?php dropdown_categories(); ?></ul></div> 
     77<p id="jaxcat"><?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?></p> 
     78<ul id="categorychecklist" class="list:category"><?php dropdown_categories(); ?></ul></div> 
    7979</fieldset> 
    8080 
  • trunk/wp-admin/edit-link-form.php

    r1069 r1125  
    4343<h3 class="dbx-handle"><?php _e('Categories') ?></h3> 
    4444<div class="dbx-content"> 
    45 <p id="jaxcat"></p> 
    46 <ul id="linkcategorychecklist"><?php dropdown_link_categories(get_option('default_link_category')); ?></ul> 
     45<p id="jaxcat"><?php wp_nonce_field( 'add-link-category', '_ajax_nonce', false ); ?></p> 
     46<ul id="categorychecklist" class="list:link-category"><?php dropdown_link_categories(get_option('default_link_category')); ?></ul> 
    4747</div> 
    4848</fieldset> 
  • trunk/wp-admin/edit-pages.php

    r1069 r1125  
    33$title = __('Pages'); 
    44$parent_file = 'edit.php'; 
    5 wp_enqueue_script( 'listman' ); 
     5wp_enqueue_script( 'wp-lists' ); 
    66require_once('admin-header.php'); 
    77 
     
    2121 
    2222?> 
    23  
     23<script> 
     24/* <![CDATA[ */ 
     25jQuery(function($){$('#the-list').wpList();}); 
     26/* ]]> */ 
     27</script> 
    2428<div class="wrap"> 
    25  
    2629<h2><?php 
    2730// Use $_GET instead of is_ since they can override each other 
     
    8285  </tr> 
    8386  </thead> 
    84   <tbody id="the-list"
     87  <tbody id="the-list" class="list:page"
    8588<?php page_rows(0, 0, $posts, $all); ?> 
    8689  </tbody> 
  • trunk/wp-admin/edit-post-rows.php

    r1069 r1125  
     1<?php if ( ! defined('ABSPATH') ) die(); ?> 
    12<table class="widefat"> 
    23        <thead> 
     
    910        </tr> 
    1011        </thead> 
    11         <tbody id="the-list"
     12        <tbody id="the-list" class="list:post"
    1213<?php 
     14$i_post = 0; 
    1315if ( have_posts() ) { 
    1416$bgcolor = ''; 
    1517add_filter('the_title','wp_specialchars'); 
    16 while (have_posts()) : the_post(); 
    17 $class = ('alternate' == $class) ? '' : 'alternate'; 
     18while (have_posts()) : the_post(); $i_post++; 
     19if ( 16 == $i_post ) 
     20        echo "\t</tbody>\n\t<tbody id='the-extra-list' class='list:post' style='display: none'>\n"; // Hack! 
     21$class = ( $i_post > 15 || 'alternate' == $class) ? '' : 'alternate'; 
    1822global $current_user; 
    1923$post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' ); 
     
    9195        case 'control_delete': 
    9296                ?> 
    93                 <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete' onclick=\"return deleteSomething( 'post', " . $id . ", '" . js_escape(sprintf(__("You are about to delete this post '%s'.\n'OK' to delete, 'Cancel' to stop."), get_the_title())) . "' );\">" . __('Delete') . "</a>"; } ?></td> 
     97                <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete:the-list:post-$post->ID delete'>" . __('Delete') . "</a>"; } ?></td> 
    9498                <?php 
    9599                break; 
  • trunk/wp-admin/edit.php

    r1069 r1125  
    44$title = __('Posts'); 
    55$parent_file = 'edit.php'; 
    6 wp_enqueue_script( 1 == $_GET['c'] ? 'admin-comments' : 'listman' ); 
     6wp_enqueue_script( 'admin-posts' ); 
     7if ( 1 == $_GET['c'] ) 
     8        wp_enqueue_script( 'admin-comments' ); 
    79require_once('admin-header.php'); 
    810 
    9 $_GET['m']   = (int) $_GET['m']; 
    10 $_GET['cat'] = (int) $_GET['cat']; 
    11 $post_stati  = array(   //      array( adj, noun ) 
    12                         'publish' => array(__('Published'), __('Published posts')), 
    13                         'future' => array(__('Scheduled'), __('Scheduled posts')), 
    14                         'pending' => array(__('Pending Review'), __('Pending posts')), 
    15                         'draft' => array(__('Draft'), _c('Drafts|manage posts header')), 
    16                         'private' => array(__('Private'), __('Private posts')) 
    17                 ); 
    18  
    19 $avail_post_stati = $wpdb->get_col("SELECT DISTINCT post_status FROM $wpdb->posts WHERE post_type = 'post'"); 
    20  
    21 $post_status_q = ''; 
    22 $post_status_label = __('Posts'); 
    23 if ( isset($_GET['post_status']) && in_array( $_GET['post_status'], array_keys($post_stati) ) ) { 
    24         $post_status_label = $post_stati[$_GET['post_status']][1]; 
    25         $post_status_q = '&post_status=' . $_GET['post_status']; 
    26 
     11add_filter( 'post_limits', $limit_filter = create_function( '$a', '$b = split(" ",$a); if ( !isset($b[2]) ) return $a; $start = intval(trim($b[1])) / 20 * 15; if ( !is_int($start) ) return $a; return "LIMIT $start, 20";' ) ); 
     12list($post_stati, $avail_post_stati) = wp_edit_posts_query(); 
     13$wp_query->max_num_pages = ceil( $wp_query->found_posts / 15 ); // We grab 20 but only show 15 ( 5 more for ajax extra ) 
    2714?> 
    2815 
     
    3118<?php 
    3219 
    33 if ( 'pending' === $_GET['post_status'] ) { 
    34         $order = 'ASC'; 
    35         $orderby = 'modified'; 
    36 } elseif ( 'draft' === $_GET['post_status'] ) { 
    37         $order = 'DESC'; 
    38         $orderby = 'modified'; 
    39 } else { 
    40         $order = 'DESC'; 
    41         $orderby = 'date'; 
    42 
    43  
    44 wp("what_to_show=posts$post_status_q&posts_per_page=15&order=$order&orderby=$orderby"); 
    45  
    46 // define the columns to display, the syntax is 'internal name' => 'display name' 
    47 $posts_columns = array(); 
    48 $posts_columns['id'] = '<div style="text-align: center">' . __('ID') . '</div>'; 
    49 if ( 'draft' === $_GET['post_status'] ) 
    50         $posts_columns['modified'] = __('Modified'); 
    51 elseif ( 'pending' === $_GET['post_status'] ) 
    52         $posts_columns['modified'] = __('Submitted'); 
    53 else 
    54         $posts_columns['date'] = __('When'); 
    55 $posts_columns['title'] = __('Title'); 
    56 $posts_columns['categories'] = __('Categories'); 
    57 if ( !in_array($_GET['post_status'], array('pending', 'draft', 'future')) ) 
    58         $posts_columns['comments'] = '<div style="text-align: center">' . __('Comments') . '</div>'; 
    59 $posts_columns['author'] = __('Author'); 
    60  
    61 $posts_columns = apply_filters('manage_posts_columns', $posts_columns); 
    62  
    63 // you can not edit these at the moment 
    64 $posts_columns['control_view']   = ''; 
    65 $posts_columns['control_edit']   = ''; 
    66 $posts_columns['control_delete'] = ''; 
     20$posts_columns = wp_manage_posts_columns(); 
    6721 
    6822?> 
     
    155109        </fieldset> 
    156110        <input type="submit" id="post-query-submit" value="<?php _e('Filter &#187;'); ?>" class="button" /> 
     111        <?php wp_nonce_field( 'add-post', '_ajax_nonce', false ); ?> 
     112        <input type="button" id="get-extra-button" class="add:the-extra-list:searchform" style="display:none" /> 
    157113</form> 
    158114 
     
    176132        $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $id AND comment_approved != 'spam' ORDER BY comment_date"); 
    177133        if ($comments) { 
     134                // Make sure comments, post, and post_author are cached 
    178135                update_comment_cache($comments); 
     136                $post = get_post($id); 
     137                $authordata = get_userdata($post->post_author); 
    179138        ?> 
    180139<h3 id="comments"><?php _e('Comments') ?></h3> 
    181 <ol id="the-comment-list" class="commentlist"> 
     140<ol id="the-comment-list" class="list:comment commentlist"> 
    182141<?php 
    183 $i = 0; 
    184 foreach ($comments as $comment) { 
    185  
    186                 ++$i; $class = ''; 
    187                 $post = get_post($comment->comment_post_ID); 
    188                 $authordata = get_userdata($post->post_author); 
    189                         $comment_status = wp_get_comment_status($comment->comment_ID); 
    190                         if ('unapproved' == $comment_status) 
    191                                 $class .= ' unapproved'; 
    192                         if ($i % 2) 
    193                                 $class .= ' alternate'; 
    194                         echo "<li id='comment-$comment->comment_ID' class='$class'>"; 
     142                $i = 0; 
     143                foreach ( $comments as $comment ) { 
     144                        _wp_comment_list_item( $comment->comment_ID, ++$i ); 
     145                } 
     146        echo '</ol>'; 
     147        } // end if comments 
    195148?> 
    196 <p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="edit-comments.php?s=<?php comment_author_IP() ?>&amp;mode=edit"><?php comment_author_IP() ?></a></p> 
    197  
    198 <?php comment_text() ?> 
    199  
    200 <p><?php comment_date(__('M j, g:i A')); ?> &#8212; [ 
    201 <?php 
    202 if ( current_user_can('edit_post', $comment->comment_post_ID) ) { 
    203         echo " <a href='comment.php?action=editcomment&amp;c=".$comment->comment_ID."'>" . __('Edit') . '</a>'; 
    204         echo ' | <a href="' . wp_nonce_url('comment.php?action=deletecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . '" onclick="return deleteSomething( \'comment\', ' . $comment->comment_ID . ', \'' . js_escape(sprintf(__("You are about to delete this comment by '%s'.\n'Cancel' to stop, 'OK' to delete."), $comment->comment_author)) . "', theCommentList );\">" . __('Delete') . '</a> '; 
    205         if ( ('none' != $comment_status) && ( current_user_can('moderate_comments') ) ) { 
    206                 echo '<span class="unapprove"> | <a href="' . wp_nonce_url('comment.php?action=unapprovecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'unapprove-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Unapprove') . '</a> </span>'; 
    207                 echo '<span class="approve"> | <a href="' . wp_nonce_url('comment.php?action=approvecomment&amp;p=' . $comment->comment_post_ID . '&amp;c=' . $comment->comment_ID, 'approve-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Approve') . '</a> </span>'; 
    208         } 
    209         echo " | <a href=\"" . wp_nonce_url("comment.php?action=deletecomment&amp;dt=spam&amp;p=" . $comment->comment_post_ID . "&amp;c=" . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . "\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . js_escape(sprintf(__("You are about to mark as spam this comment by '%s'.\n'Cancel' to stop, 'OK' to mark as spam."), $comment->comment_author)) . "', theCommentList );\">" . __('Spam') . "</a> "; 
    210 } 
    211 ?> ] 
    212 </p> 
    213                 </li> 
    214  
    215 <?php //end of the loop, don't delete 
    216                 } // end foreach 
    217         echo '</ol>'; 
    218         }//end if comments 
    219         ?> 
    220149<?php } ?> 
    221150</div> 
  • trunk/wp-admin/export.php

    r1069 r1125  
    183183<!--    contained in this file into your blog --> 
    184184 
    185 <!-- generator="wordpress/<?php bloginfo_rss('version') ?>" created="<?php echo date('Y-m-d H:i'); ?>"--
     185<?php the_generator('export');?
    186186<rss version="2.0" 
    187187