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 }
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; }