/**
  * Returns true if the specific import-source is present and can be used
  * for import.
  *
  * @since  1.0.0
  * @return bool
  */
 public static function present()
 {
     if (null === self::$is_present) {
         self::$is_present = false;
         // Check for one core table of the plugin.
         global $wpdb;
         $rule_table = $wpdb->prefix . 'm_membership_rules';
         $sql = 'SHOW TABLES LIKE %s;';
         $sql = $wpdb->prepare($sql, $rule_table);
         self::$is_present = $wpdb->get_var($sql) == $rule_table;
     }
     return self::$is_present;
 }
    public function to_html()
    {
        $export_action = MS_Controller_Import::ACTION_EXPORT;
        $import_action = MS_Controller_Import::ACTION_PREVIEW;
        $messages = $this->data['message'];
        $preview = false;
        if (isset($messages['preview'])) {
            $preview = $messages['preview'];
        }
        $export_fields = array('export' => array('id' => 'btn_export', 'type' => MS_Helper_Html::INPUT_TYPE_SUBMIT, 'value' => __('Generate Export', 'membership2'), 'desc' => __('Generate an export file with the current membership settings. ' . '<em>Note that this is not a full backup of the plugin settings.</em>', 'membership2')), 'action' => array('id' => 'action', 'type' => MS_Helper_Html::INPUT_TYPE_HIDDEN, 'value' => $export_action), 'nonce' => array('id' => '_wpnonce', 'type' => MS_Helper_Html::INPUT_TYPE_HIDDEN, 'value' => wp_create_nonce($export_action)));
        $file_field = array('id' => 'upload', 'type' => MS_Helper_Html::INPUT_TYPE_FILE, 'title' => __('From export file', 'membership2'));
        $import_options = array('file' => array('text' => MS_Helper_Html::html_element($file_field, true), 'disabled' => !MS_Model_Import_File::present()), 'membership' => array('text' => __('Membership (WPMU DEV)', 'membership2'), 'disabled' => !MS_Model_Import_Membership::present()));
        $sel_source = 'file';
        if (isset($_POST['import_source']) && isset($import_options[$_POST['import_source']])) {
            $sel_source = $_POST['import_source'];
        }
        $import_fields = array('source' => array('id' => 'import_source', 'type' => MS_Helper_Html::INPUT_TYPE_RADIO, 'title' => __('Choose an import source', 'membership2'), 'field_options' => $import_options, 'value' => $sel_source), 'import' => array('id' => 'btn_import', 'type' => MS_Helper_Html::INPUT_TYPE_SUBMIT, 'value' => __('Preview Import', 'membership2'), 'desc' => __('Import data into this installation.', 'membership2')), 'action' => array('id' => 'action', 'type' => MS_Helper_Html::INPUT_TYPE_HIDDEN, 'value' => $import_action), 'nonce' => array('id' => '_wpnonce', 'type' => MS_Helper_Html::INPUT_TYPE_HIDDEN, 'value' => wp_create_nonce($import_action)));
        ob_start();
        MS_Helper_Html::settings_tab_header(array('title' => __('Import Tool', 'membership2')));
        ?>

		<div>
			<?php 
        if ($preview) {
            ?>
				<form action="" method="post">
					<?php 
            echo '' . $preview;
            ?>
				</form>
			<?php 
        } else {
            ?>
				<form action="" method="post" enctype="multipart/form-data">
					<?php 
            MS_Helper_Html::settings_box($import_fields, __('Import data', 'membership2'));
            ?>
				</form>
				<form action="" method="post">
					<?php 
            MS_Helper_Html::settings_box($export_fields, __('Export data', 'membership2'));
            ?>
				</form>
			<?php 
        }
        ?>
		</div>
		<?php 
        return ob_get_clean();
    }
Exemplo n.º 3
0
 /**
  * Add rewrite rules.
  *
  * @since  1.0.0
  */
 public function add_rewrite_rules()
 {
     $settings = MS_Factory::load('MS_Model_Settings');
     // Gateway return - IPN.
     add_rewrite_rule('ms-payment-return/(.+)/?', 'index.php?paymentgateway=$matches[1]', 'top');
     // Alternative payment return URL: Membership
     if (MS_Model_Import_Membership::did_import()) {
         add_rewrite_rule('paymentreturn/(.+)/?', 'index.php?paymentgateway=$matches[1]', 'top');
     }
     // Media / download
     $mmask = $settings->downloads['masked_url'];
     $mtype = $settings->downloads['protection_type'];
     if (MS_Model_Addon::is_enabled(MS_Model_Addon::ADDON_MEDIA) && $mmask) {
         if (MS_Rule_Media_Model::PROTECTION_TYPE_HYBRID == $mtype) {
             add_rewrite_rule(sprintf('^%1$s/?$', $mmask), 'index.php?protectedfile=0', 'top');
         } else {
             add_rewrite_rule(sprintf('^%1$s/([^/]+)', $mmask), 'index.php?protectedfile=$matches[1]', 'top');
         }
     }
     // End: Media / download
     do_action('ms_plugin_add_rewrite_rules', $this);
 }