Sid Gifari File Manager
🏠 Root
/
home1
/
immorth6
/
www
/
immortaltech
/
wp-content
/
plugins
/
seo-ultimate
/
modules
/
Editing: class.su-importmodule.php
<?php /** * Import Module * * @abstract * @since 1.5 */ if (class_exists('SU_Module')) { class SU_ImportModule extends SU_Module { var $error = false; function get_menu_parent() { return 'su-import-modules'; } function get_op_title() { return $this->get_module_title(); } function get_op_abbr() { return $this->get_module_title(); } function get_import_desc() { return ''; } function get_default_settings() { return array( 'import_postmeta' => true , 'postmeta_bothexist_action' => 'skip' , 'after_post_import' => 'nothing' ); } function admin_page() { $this->admin_page_start('tools'); if ($this->is_action('update')) { ob_start(); $this->admin_page_contents(); ob_end_clean(); $this->import_page_contents(); } else $this->admin_page_contents(); $this->admin_page_end(); } function admin_page_postmeta() { $name = $this->get_op_title(); $abbr = $this->get_op_abbr(); $this->textblock('<strong>'.__('Import Post Fields', 'seo-ultimate').'</strong> — '. sprintf(__('Post fields store the SEO data for your posts/pages (i.e. your custom title tags, meta descriptions, and meta keywords). If you provided custom titles/descriptions/keywords to %s, this importer can move that data over to SEO Ultimate.', 'seo-ultimate'), $name) ); $this->admin_form_indent_start(); $this->admin_form_group_start(__('Conflict Resolution Mode', 'seo-ultimate')); $this->textblock(sprintf(__('What should the import tool do if it tries to move over a post’s %s data, but different data already exists in the corresponding SEO Ultimate fields?', 'seo-ultimate'), $abbr)); $this->radiobuttons('postmeta_bothexist_action', array( 'skip' => __('Skip that post and leave all data as-is (default).', 'seo-ultimate') , 'delete_su' => sprintf(__('Delete the SEO Ultimate data and replace it with the %s data.', 'seo-ultimate'), $abbr) , 'delete_op' => sprintf(__('Keep the SEO Ultimate data and delete the %s data.', 'seo-ultimate'), $abbr) )); $this->admin_form_group_end(); $this->admin_form_group_start(__('Deletion Preference', 'seo-ultimate')); $this->textblock(sprintf(__('When the migration tool successfully copies a post’s %1$s data over to SEO Ultimate, what should it do with the old %1$s data?', 'seo-ultimate'), $abbr)); $this->radiobuttons('after_post_import', array( 'delete_op' => sprintf(__('Delete the %s data.', 'seo-ultimate'), $abbr) , 'nothing' => sprintf(__('Leave behind the duplicate %s data (default).', 'seo-ultimate'), $abbr) )); $this->admin_form_group_end(); $this->admin_form_indent_end(); } function admin_form_end($button = null, $table = true) { if ($button === null) $button = __('Import Now', 'seo-ultimate'); parent::admin_form_end($button, $table); $this->print_message('warning', sprintf(__('The import cannot be undone. It is your responsibility to <a href="%s" target="_blank">backup your database</a> before proceeding!', 'seo-ultimate'), suwp::get_backup_url())); } function import_page_contents() { echo "<div id='import-status'>\n"; $this->do_import(); if (!$this->error) $this->import_status('success', __('Import complete.', 'seo-ultimate')); echo "</div>\n"; if ($this->error) { echo '<p><a href="admin.php?page=su-import-aiosp" class="button-secondary">'; _e('Return to import page', 'seo-ultimate'); } elseif ($this->plugin->module_exists('settings')) { echo '<p><a href="options-general.php?page=seo-ultimate#su-import" class="button-secondary">'; _e('Return to settings page', 'seo-ultimate'); } else { echo '<p><a href="admin.php?page=seo" class="button-secondary">'; _e('Return to SEO page', 'seo-ultimate'); } echo "</a></p>\n"; } function import_status($type, $message) { if (strcmp($type, 'error') == 0) $this->error = true; $this->print_mini_message($type, $message); } function import_option($module, $key, $option) { if (!isset($this->settings[$module][$key]) || $this->get_setting('overwrite_su')) { $this->settings[$module][$key] = get_option($option); if ($this->get_setting('delete_import')) delete_option($option); } } function do_import_deactivate($path) { if (is_plugin_active($path)) { deactivate_plugins($path); $this->import_status('success', sprintf(__('Deactivated %s.', 'seo-ultimate'), $this->get_op_title())); } } function do_import_postmeta($postmeta_fields, $disabled_field=false) { $name = $this->get_op_title(); $abbr = $this->get_op_abbr(); global $wpdb; $posts = $wpdb->get_results("SELECT `ID` FROM {$wpdb->posts}"); $numposts = 0; $numfields = 0; $numsudels = 0; $numopdels = 0; foreach ($posts as $p) { //Skip posts with "disabled" data if ($disabled_field && get_post_meta($p->ID, $disabled_field, true) === 'on') $numskipped++; else { foreach ($postmeta_fields as $op_field => $su_field) { if (strlen($op_value = get_post_meta($p->ID, $op_field, true))) { $delete_op = false; if (strlen(get_post_meta($p->ID, $su_field, true))) { //Conflict: SEO Ultimate field already exists switch ($this->get_setting('postmeta_bothexist_action')) { case 'skip': continue 2; break; case 'delete_su': $numsudels++; break; case 'delete_op': $delete_op = true; break; } } //Import the other plugin's data if we're not supposed to delete it. if (!$delete_op) update_post_meta($p->ID, $su_field, $op_value); //Delete the other plugin's data if the user has instructed us to do so if ($delete_op || $this->get_setting('after_post_import') == 'delete_op') { delete_post_meta($p->ID, $op_field, $op_value); $numopdels++; } $numfields++; } } } $numposts++; } $this->import_status('success', sprintf(_n( 'Imported a total of %d fields for one post/page/revision.', 'Imported a total of %1$d fields for %2$d posts/pages/revisions.', $numposts, 'seo-ultimate'), $numfields, $numposts)); if ($numskipped > 0) $this->import_status('info', sprintf(_n( 'Skipped one post with disabled %2$s data.', 'Skipped %1$d posts with disabled %2$s data.', $numskipped, 'seo-ultimate'), $numskipped, $abbr)); if ($numsudels > 0) $this->import_status('info', sprintf(_n( 'Overwrote one SEO Ultimate field with %2$s data, as instructed by the settings you chose.', 'Overwrote %1$d SEO Ultimate fields with %2$s data, as instructed by the settings you chose.', $numsudels, 'seo-ultimate'), $numsudels, $abbr)); if ($numopdels > 0) $this->import_status('info', sprintf(_n( 'Deleted one %2$s field, as instructed by the settings you chose.', 'Deleted %1$d %2$s fields, as instructed by the settings you chose.', $numopdels, 'seo-ultimate'), $numopdels, $abbr)); } } } ?>
Save
Cancel