WordPress.org

Make WordPress Core

Changeset 5251


Ignore:
Timestamp:
04/12/07 05:46:36 (8 years ago)
Author:
rob1n
Message:

Add ability to convert all categories to tags. fixes #4135

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/import/wp-cat2tag.php

    r5229 r5251  
    1717        global $wpdb; 
    1818         
    19         $this->all_categories = $wpdb->get_results("SELECT * FROM $wpdb->categories WHERE (type & ~ " . TAXONOMY_TAG . ") != 0 ORDER BY cat_name ASC"); 
     19        $this->all_categories = $wpdb->get_results("SELECT * FROM $wpdb->categories WHERE (type & ~ " . TAXONOMY_TAG . ") != 0 AND category_count > 0 ORDER BY cat_name ASC"); 
    2020    } 
    2121     
    2222    function welcome() { 
     23        $this->populate_all_categories(); 
     24         
    2325        print '<div class="narrow">'; 
    24         print '<p>' . __('Howdy! This converter allows you to selectively convert existing categories to tags. To get started, check the checkboxes of the categories you wish to be converted, then click the Convert button.') . '</p>'; 
    25         print '<p>' . __('Keep in mind that if you convert a category with child categories, those child categories get their parent setting removed, so they\'re in the root.') . '</p>'; 
    26          
    27         $this->categories_form(); 
     26         
     27        if (count($this->all_categories) > 0) { 
     28            print '<p>' . __('Howdy! This converter allows you to selectively convert existing categories to tags. To get started, check the checkboxes of the categories you wish to be converted, then click the Convert button.') . '</p>'; 
     29            print '<p>' . __('Keep in mind that if you convert a category with child categories, those child categories get their parent setting removed, so they\'re in the root.') . '</p>'; 
     30         
     31            $this->categories_form(); 
     32        } else { 
     33            print '<p>You have no categories to convert!</p>'; 
     34        } 
    2835         
    2936        print '</div>'; 
     
    3138     
    3239    function categories_form() { 
    33         $this->populate_all_categories(); 
    34          
    3540        print '<form action="admin.php?import=wp-cat2tag&amp;step=2" method="post">'; 
    3641        print '<ul style="list-style:none">'; 
     
    5156         
    5257        print '</ul>'; 
    53         print '<p class="submit"><input type="submit" name="submit" value="' . __('Convert &raquo;') . '" /></p>'; 
     58         
     59        print '<p class="submit"><input type="submit" name="maybe_convert_all_cats" value="' . __('Convert All Categories') . '" /> <input type="submit" name="submit" value="' . __('Convert &raquo;') . '" /></p>'; 
    5460        print '</form>'; 
    5561    } 
     
    139145    } 
    140146     
     147    function convert_all_confirm() { 
     148        print '<div class="narrow">'; 
     149         
     150        print '<h3>' . __('Confirm') . '</h3>'; 
     151         
     152        print '<p>' . __('You are about to convert all categories to tags. Are you sure you want to continue?') . '</p>'; 
     153         
     154        print '<form action="admin.php?import=wp-cat2tag" method="post">'; 
     155        print '<p style="text-align:center" class="submit"><input type="submit" value="' . __('Yes') . '" name="yes_convert_all_cats" />&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="' . __('No') . '" name="no_dont_do_it" /></p>'; 
     156        print '</form>'; 
     157         
     158        print '</div>'; 
     159    } 
     160     
     161    function convert_all() { 
     162        global $wpdb; 
     163         
     164        $cats = $wpdb->get_results("SELECT * FROM $wpdb->categories WHERE (type & ~ " . TAXONOMY_TAG . ") != 0 AND category_count > 0"); 
     165         
     166        $_POST['cats_to_convert'] = array(); 
     167         
     168        foreach ($cats as $cat) { 
     169            $_POST['cats_to_convert'][] = $cat->cat_ID; 
     170        } 
     171         
     172        $this->convert_them(); 
     173    } 
     174     
    141175    function init() { 
    142         if (!isset($_GET['step'])) { 
    143             $step = 1; 
    144         } else { 
    145             $step = (int) $_GET['step']; 
     176        echo '<!--'; print_r($_POST); print_r($_GET); echo '-->'; 
     177         
     178        if (isset($_POST['maybe_convert_all_cats'])) { 
     179            $step = 3; 
     180        } elseif (isset($_POST['yes_convert_all_cats'])) { 
     181            $step = 4; 
     182        } elseif (isset($_POST['no_dont_do_it'])) { 
     183            die('no_dont_do_it'); 
     184        } else { 
     185            $step = (isset($_GET['step'])) ? (int) $_GET['step'] : 1; 
    146186        } 
    147187         
     
    161201                    $this->convert_them(); 
    162202                break; 
     203                 
     204                case 3 : 
     205                    $this->convert_all_confirm(); 
     206                break; 
     207                 
     208                case 4 : 
     209                    $this->convert_all(); 
     210                break; 
    163211            } 
    164212        } 
Note: See TracChangeset for help on using the changeset viewer.