function wpuxss_eml_print_settings()
    {
        if (!current_user_can('manage_options')) {
            wp_die(__('You do not have sufficient permissions to access this page.', 'enhanced-media-library'));
        }
        ?>

        <div id="wpuxss-eml-global-options-wrap" class="wrap">

            <h2><?php 
        _e('Enhanced Media Library Settings', 'enhanced-media-library');
        ?>
</h2>

            <div id="poststuff">

                <div id="post-body" class="metabox-holder columns-2">

                    <div id="postbox-container-2" class="postbox-container">

                        <div class="postbox">

                            <h3 class="hndle"><?php 
        _e('Export', 'enhanced-media-library');
        ?>
</h3>

                            <div class="inside">

                                <p><?php 
        _e('Plugin settings tabs <strong>Media Library</strong>, <strong>Media Taxonomies</strong>, and <strong>MIME Types</strong> will be exported to a configuration file. It allows you to easily import the configuration into another website.', 'enhanced-media-library');
        ?>
</p>

                                <form method="post">

                                    <?php 
        wp_nonce_field('eml_settings_export_nonce', 'eml-settings-export-nonce');
        ?>
                                    <?php 
        submit_button(__('Export Plugin Settings', 'enhanced-media-library'), 'primary', 'eml-settings-export');
        ?>
                                </form>

                            </div>

                        </div>


                        <div class="postbox">

                            <h3 class="hndle"><?php 
        _e('Import', 'enhanced-media-library');
        ?>
</h3>

                            <div class="inside">

                                <p><?php 
        _e('Plugin settings tabs <strong>Media Library</strong>, <strong>Media Taxonomies</strong>, and <strong>MIME Types</strong> will be imported from a configuration file which can be obtained by exporting the settings on another website using the export button above.', 'enhanced-media-library');
        ?>
</p>
                                <p><?php 
        _e('All plugin settings will be overridden by the import. You will have a chance to restore current data from an automatic backup in case you are not satisfied with the result of the import.', 'enhanced-media-library');
        ?>
</p>

                                <form method="post" enctype="multipart/form-data">

                                    <p><input type="file" name="import_file"/></p>

                                    <?php 
        wp_nonce_field('eml_settings_import_nonce', 'eml-settings-import-nonce');
        ?>
                                    <?php 
        submit_button(__('Import Plugin Settings', 'enhanced-media-library'), 'primary', 'eml-settings-import');
        ?>
                                </form>

                            </div>

                        </div>


                        <?php 
        $wpuxss_eml_backup = get_option('wpuxss_eml_backup');
        ?>

                        <div class="postbox">

                            <h3 class="hndle"><?php 
        _e('Restore', 'enhanced-media-library');
        ?>
</h3>

                            <div class="inside">

                                <?php 
        if (empty($wpuxss_eml_backup)) {
            ?>

                                    <p><?php 
            _e('No backup available at the moment.', 'enhanced-media-library');
            ?>
</p>

                                    <p><?php 
            _e('Backup will be created automatically before any import operation.', 'enhanced-media-library');
            ?>
</p>

                                <?php 
        } else {
            ?>

                                    <p><?php 
            _e('The backup has been automatically created before the latest import operation.', 'enhanced-media-library');
            ?>
</p>
                                    <form method="post">

                                        <?php 
            wp_nonce_field('eml_settings_restore_nonce', 'eml-settings-restore-nonce');
            ?>
                                        <?php 
            submit_button(__('Restore Settings from the Backup', 'enhanced-media-library'), 'primary', 'eml-settings-restore');
            ?>
                                    </form>

                                <?php 
        }
        ?>


                            </div>

                        </div>


                        <div class="postbox">

                            <h3 class="hndle"><?php 
        _e('Complete Cleanup', 'enhanced-media-library');
        ?>
</h3>

                            <div class="inside">

                                <?php 
        $wpuxss_eml_taxonomies = wpuxss_eml_get_eml_taxonomies();
        ?>

                                <ul>
                                    <li><strong><?php 
        _e('What will be deleted:', 'enhanced-media-library');
        ?>
</strong></li>
                                    <?php 
        foreach ((array) $wpuxss_eml_taxonomies as $taxonomy => $params) {
            ?>
                                        <li><?php 
            _e('All', 'enhanced-media-library');
            echo ' ' . $params['labels']['name'];
            ?>
</li>
                                    <?php 
        }
        ?>
                                    <li><?php 
        _e('All plugin options', 'enhanced-media-library');
        ?>
</li>
                                    <li><?php 
        _e('All plugin backups stored in database', 'enhanced-media-library');
        ?>
</li>
                                </ul>

                                <ul>
                                    <li><strong><?php 
        _e('What will remain intact:', 'enhanced-media-library');
        ?>
</strong></li>
                                    <li><?php 
        _e('All media items', 'enhanced-media-library');
        ?>
</li>
                                    <li><?php 
        _e('All taxonomies not listed above', 'enhanced-media-library');
        ?>
</li>
                                </ul>

                                <p><?php 
        _e('The plugin cannot delete itself because of security reason. Please delete it manually from plugin list after cleanup.', 'enhanced-media-library');
        ?>
</p>

                                <p><strong style="color:red;"><?php 
        _e('If you are not sure about this operation please create a backup of your database prior to cleanup!', 'enhanced-media-library');
        ?>
</strong></p>

                                <form id="eml-form-cleanup" method="post">

                                    <input type='hidden' name='eml-settings-cleanup' />
                                    <?php 
        wp_nonce_field('eml_settings_cleanup_nonce', 'eml-settings-cleanup-nonce');
        ?>
                                    <?php 
        submit_button(__('Delete All Data & Deactivate', 'enhanced-media-library'), 'primary', 'eml-settings-cleanup');
        ?>
                                </form>

                            </div>

                        </div>


                        <?php 
        do_action('wpuxss_eml_extend_settings_page');
        ?>

                    </div>

                    <div id="postbox-container-1" class="postbox-container">

                        <?php 
        wpuxss_eml_print_credits();
        ?>

                    </div>

                </div>

            </div>

        </div>

        <?php 
    }
Ejemplo n.º 2
0
 function wpuxss_eml_settings_cleanup()
 {
     global $wpdb;
     if (!isset($_POST['eml-settings-cleanup'])) {
         return;
     }
     if (!wp_verify_nonce($_POST['eml-settings-cleanup-nonce'], 'eml_settings_cleanup_nonce')) {
         return;
     }
     if (!current_user_can('manage_options')) {
         return;
     }
     $wpuxss_eml_taxonomies = wpuxss_eml_get_eml_taxonomies();
     foreach ((array) $wpuxss_eml_taxonomies as $taxonomy => $params) {
         $terms = get_terms($taxonomy, array('fields' => 'ids', 'hide_empty' => false));
         foreach ($terms as $id) {
             wp_delete_term($id, $taxonomy);
         }
         $wpdb->delete($wpdb->term_taxonomy, array('taxonomy' => $taxonomy), array('%s'));
         delete_option($taxonomy . '_children');
     }
     $options = array('wpuxss_eml_version', 'wpuxss_eml_taxonomies', 'wpuxss_eml_lib_options', 'wpuxss_eml_tax_options', 'wpuxss_eml_mimes_backup', 'wpuxss_eml_mimes', 'wpuxss_eml_backup', 'wpuxss_eml_pro_bulkedit_savebutton_off', 'wpuxss_eml_pro_license_key');
     foreach ($options as $option) {
         delete_option($option);
     }
     deactivate_plugins(wpuxss_get_eml_basename());
     wp_safe_redirect(admin_url('plugins.php'));
     exit;
 }