function _eme_uninstall($force_drop = 0)
{
    $drop_data = get_option('eme_uninstall_drop_data');
    if ($drop_data || $force_drop) {
        eme_drop_table(EVENTS_TBNAME);
        eme_drop_table(RECURRENCE_TBNAME);
        eme_drop_table(LOCATIONS_TBNAME);
        eme_drop_table(BOOKINGS_TBNAME);
        eme_drop_table(PEOPLE_TBNAME);
        eme_drop_table(CATEGORIES_TBNAME);
        eme_drop_table(TEMPLATES_TBNAME);
        eme_drop_table(FORMFIELDS_TBNAME);
        eme_drop_table(FIELDTYPES_TBNAME);
        eme_drop_table(ANSWERS_TBNAME);
        eme_drop_table(PAYMENTS_TBNAME);
        eme_delete_events_page();
        eme_options_delete();
        eme_metabox_options_delete();
    }
    // SEO rewrite rules
    eme_flushRules();
}
Beispiel #2
0
function eme_handle_get() {
   global $plugin_page;
   if ( !is_admin() || !preg_match('/^eme-|events-manager/', $plugin_page) )
      return;

   // Disable Hello to new user if requested
   if (current_user_can( get_option('eme_cap_settings') ) && isset($_GET['disable_hello_to_user']) && $_GET['disable_hello_to_user'] == 'true')
      update_option('eme_hello_to_user', 0 );

   // Disable donation message if requested
   if (current_user_can( get_option('eme_cap_settings') ) && isset($_GET['disable_donate_message']) && $_GET['disable_donate_message'] == 'true')
      update_option('eme_donation_done', 1 );

   // Disable legacy warning
   if (current_user_can( get_option('eme_cap_settings') ) && isset($_GET['disable_legacy_warning']) && $_GET['disable_legacy_warning'] == 'true')
      update_option('eme_legacy_warning', 0 );

   // do the UTF-8 conversion if wanted
   if (current_user_can( get_option('eme_cap_settings') ) && isset($_GET['do_character_conversion']) && $_GET['do_character_conversion'] == 'true' && $wpdb->has_cap('collation')) {
      if ( ! empty($wpdb->charset)) {
         $charset = "CHARACTER SET $wpdb->charset";
         $collate="";
         if ( ! empty($wpdb->collate) )
            $collate = "COLLATE $wpdb->collate";
                        eme_convert_charset(EVENTS_TBNAME,$charset,$collate);
                        eme_convert_charset(RECURRENCE_TBNAME,$charset,$collate);
                        eme_convert_charset(LOCATIONS_TBNAME,$charset,$collate);
                        eme_convert_charset(BOOKINGS_TBNAME,$charset,$collate);
                        eme_convert_charset(PEOPLE_TBNAME,$charset,$collate);
                        eme_convert_charset(CATEGORIES_TBNAME,$charset,$collate);
      }
      update_option('eme_conversion_needed', 0 );
      print "<div id=\"message\" class=\"updated\">".__('Conversion done, please check your events and restore from backup if you see any sign of troubles.')."</div>";
   }

   // if settings have been changed, check if the SEO rules need to be flushed
   if ($plugin_page == 'eme-options' && isset($_GET['settings-updated']) && $_GET['settings-updated'] == 'true') {
      $old_events_page_id=get_option('eme_old_events_page');
      $events_page_id=eme_get_events_page_id();
      if ($events_page_id != $old_events_page_id) {
         eme_flushRules();
         update_option('eme_old_events_page',$events_page_id);
      }
   }
}