Make WordPress Core

Ticket #4099: bulk-edit-blogroll-cats.diff

File bulk-edit-blogroll-cats.diff, 4.5 KB (added by technosailor, 19 years ago)

Creates option on links-manager.php to mass update link categories.

  • Users/aaron/Sites/trunk/wp-admin/admin-functions.php

     
    619619
    620620        if ( !empty( $link_id ) ) {
    621621                $_POST['link_id'] = $link_id;
    622                 return wp_update_link( $_POST);
    623         } else {
    624                 return wp_insert_link( $_POST);
     622        return wp_insert_link( $_POST);
    625623        }
    626624}
    627625
  • Users/aaron/Sites/trunk/wp-admin/link-manager.php

     
    195195
    196196<div id="ajax-response"></div>
    197197
    198 <p class="submit"><input type="submit" class="button" name="deletebookmarks" id="deletebookmarks" value="<?php _e('Delete Checked Links') ?> &raquo;" onclick="return confirm('<?php echo js_escape(__("You are about to delete these links permanently.\n'Cancel' to stop, 'OK' to delete.")); ?>')" /></p>
     198<h3><?php _e('Update Selected'); ?></h3>
     199        <ul style="list-style:none;">
     200                <li><input type="radio" name="rbulkeditblogroll" id="dbookmarks" value="deletebookmarks" onclick="change_submit_button();" /> <label for="dbookmarks"><?php _e('Delete checked Bookmarks.'); ?></label></li>
     201                <li>
     202                        <input type="radio" name="rbulkeditblogroll" id="ebookmarks" value="editbookmarks" onclick="change_submit_button();" checked="checked" /> <label for="ebookmarks"><?php _e('Set the new category for checked Blogroll items:'); ?></label>
     203                       
     204                        <select name="bookmarks_newcat" onfocus="getElementById('ebookmarks').checked = 'true';getElementById('submiteditbookmarks').value = 'Update Checked Links';">
     205                        <?php
     206                        $linkcats = get_categories("hide_empty=0");
     207                        foreach($linkcats as $bulklinkcat)
     208                                echo'<option value="' . $bulklinkcat->cat_ID . '">' . $bulklinkcat->cat_name .'</option>';
     209                        ?>
     210                        </select>
     211                        <script type="text/javascript" charset="utf-8">
     212                        function change_submit_button ()
     213                        {
     214                                if( document.getElementById('ebookmarks').checked == true)
     215                                {
     216                                        document.getElementById('submiteditbookmarks').value = 'Update Checked Links';
     217                                }
     218                                else
     219                                {
     220                                        document.getElementById('submiteditbookmarks').value = 'Delete Checked Links';
     221                                        document.getElementById('submiteditbookmarks').onclick = confirmDeleteLinks;
     222                                }
     223                        }
     224
     225                        function confirmDeleteLinks()
     226                        {
     227                                return confirm("You are about to delete these links permanently.\n'Cancel' to stop, 'OK' to delete.");
     228                        }
     229                </script>
     230                </li>
     231        </ul>
     232        <p class="submit" style="width: 420px">
     233                <?php echo $referer; ?>
     234                <input type="submit" name="submiteditbookmarks" id="submiteditbookmarks" value="<?php _e('Update Checked Links'); ?>" />
     235        </p>
     236<p class="submit">
    199237</form>
    200238
    201239<?php } ?>
    202 
    203240</div>
    204 
    205241<?php include('admin-footer.php'); ?>
  • Users/aaron/Sites/trunk/wp-admin/link.php

     
    33
    44wp_reset_vars(array('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]'));
    55
    6 if ('' != $_POST['deletebookmarks'])
     6if ('Delete Checked Links' == $_POST['submiteditbookmarks'])
    77        $action = 'deletebookmarks';
    8 if ('' != $_POST['move'])
     8if ('Update Checked Links' == $_POST['submiteditbookmarks'])
    99        $action = 'move';
    1010if ('' != $_POST['linkcheck'])
    11         $linkcheck = $_POST[linkcheck];
     11        $linkcheck = $_POST['linkcheck'];
    1212
    1313$this_file = 'link-manager.php';
    1414
     
    5050                        wp_redirect($this_file);
    5151                        exit;
    5252                }
    53                 $all_links = join(',', $linkcheck);
    54                 // should now have an array of links we can change
    55                 //$q = $wpdb->query("update $wpdb->links SET link_category='$category' WHERE link_id IN ($all_links)");
    56 
     53                //$link_count = count($linkcheck);
     54                foreach($linkcheck as $link_id)
     55                {
     56                        $link = get_link_to_edit( $link_id );
     57                       
     58                        $newlink['link_id'] = $link_id;
     59                        $newlink['link_url'] = clean_url($link->link_url);
     60                        $newlink['link_name'] = wp_specialchars( $link->link_name );
     61                        $newlink['link_image'] = wp_specialchars( $link->link_image );
     62                        $newlink['link_rss'] = clean_url($link->link_rss);
     63                        $newlink['link_category'] = array($_POST['bookmarks_newcat']);
     64                        wp_insert_link($newlink);
     65                }
    5766                wp_redirect($this_file);
    5867                exit;
    5968                break;