convert-forms-reset.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit;
  2. class NF_Convert_Forms_Reset
  3. {
  4. public function __construct()
  5. {
  6. add_action('admin_menu', array( $this, 'register_submenu'), 9001);
  7. add_filter( 'nf_general_settings_advanced', array( $this, 'register_advanced_settings' ) );
  8. }
  9. public function register_submenu()
  10. {
  11. add_submenu_page(
  12. NULL, // Parent Slug
  13. 'Ninja Forms Conversion Reset', // Page Title
  14. 'Ninja Forms Conversion Reset', // Menu Title
  15. 'manage_options', // Capability
  16. 'ninja-forms-conversion-reset', // Menu Slug
  17. array( $this, 'display') // Function
  18. );
  19. }
  20. public function display() {
  21. echo "<h1>" . __( 'Reset Forms Conversion', 'ninja-forms' ) . "</h1>";
  22. $this->process();
  23. echo '<script>window.location.replace("' . site_url('wp-admin/index.php?page=nf-processing&action=convert_forms&title=Updating+Form+Database') . '");</script>';
  24. }
  25. public function process()
  26. {
  27. // Remove our "converted" flags from the options table
  28. delete_option( 'nf_convert_forms_complete' );
  29. delete_option( 'nf_converted_forms' );
  30. // Add flag for conversion being reset
  31. update_option( 'nf_converted_form_reset', true );
  32. }
  33. public function register_advanced_settings( $advanced_settings ) {
  34. $new_advanced_setting = array(
  35. 'name' => 'reset-conversion',
  36. 'type' => '',
  37. 'label' => __( 'Reset Form Conversion', 'ninja-forms' ),
  38. 'display_function' => array( $this, 'display_advanced_settings' )
  39. );
  40. $advanced_settings[] = $new_advanced_setting;
  41. return $advanced_settings;
  42. }
  43. public function display_advanced_settings() {
  44. //TODO move this to a view
  45. ?>
  46. <a href="#" class="button-primary nf-reset-form-conversion"><?php _e( 'Reset Form Conversion', 'ninja-forms' ); ?></a>
  47. <p class="description">
  48. <?php _e( 'If your forms are "missing" after updating to 2.9, this button will attempt to reconvert your old forms to show them in 2.9. All current forms will remain in the "All Forms" table.', 'ninja-forms' ); ?>
  49. </p>
  50. <div id="nf-conversion-reset">
  51. <p>
  52. <?php _e( 'All current forms will remain in the "All Forms" table. In some cases some forms may be duplicated during this process.', 'ninja-forms' ); ?>
  53. </p>
  54. </div>
  55. <div id="nf-conversion-reset-buttons">
  56. <div id="nf-admin-modal-cancel">
  57. <a class="submitdelete deletion modal-close" href="#"><?php _e( 'Cancel', 'ninja-forms' ); ?></a>
  58. </div>
  59. <div id="nf-admin-modal-update">
  60. <a class="button-primary" href="<?php echo site_url('wp-admin/index.php?page=ninja-forms-conversion-reset'); ?>"><?php _e( 'Continue', 'ninja-forms' ); ?></a>
  61. </div>
  62. </div>
  63. <?php
  64. }
  65. } // End Ninja_Forms_View_Admin Class
  66. // Self-Instantiate
  67. new NF_Convert_Forms_Reset();