Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
home
/
ophq1335
/
www
/
wp-content
/
plugins
/
wp-seopress
/
inc
/
functions
/
//home/ophq1335/www/wp-content/plugins/wp-seopress/inc/functions/options-import-export.php
<?php /** * Options import export * * @package Functions */ defined( 'ABSPATH' ) || exit( 'Please don’t call the plugin directly. Thanks :)' ); /** * Export SEOPress Settings to JSON * * @return void */ function seopress_export_settings() { if ( empty( $_POST['seopress_action'] ) || 'export_settings' !== $_POST['seopress_action'] ) { return; } if ( ! isset( $_POST['seopress_export_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['seopress_export_nonce'] ) ), 'seopress_export_nonce' ) ) { return; } if ( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) { return; } $settings = seopress_get_service( 'ExportSettings' )->handle(); ignore_user_abort( true ); nocache_headers(); header( 'Content-Type: application/json; charset=utf-8' ); header( 'Content-Disposition: attachment; filename=seopress-settings-export-' . gmdate( 'm-d-Y' ) . '.json' ); header( 'Expires: 0' ); echo wp_json_encode( $settings ); exit; } add_action( 'admin_init', 'seopress_export_settings' ); /** * Import SEOPress Settings from JSON * * @return void */ function seopress_import_settings() { if ( empty( $_POST['seopress_action'] ) || 'import_settings' !== $_POST['seopress_action'] ) { return; } if ( ! isset( $_POST['seopress_import_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['seopress_import_nonce'] ) ), 'seopress_import_nonce' ) ) { return; } if ( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) { return; } $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION ); if ( 'json' !== $extension ) { wp_die( esc_html__( 'Please upload a valid .json file', 'wp-seopress' ) ); } $import_file = $_FILES['import_file']['tmp_name']; if ( empty( $import_file ) ) { wp_die( esc_html__( 'Please upload a file to import', 'wp-seopress' ) ); } $file_contents = file_get_contents( $import_file ); if ( false === $file_contents ) { wp_die( esc_html__( 'Unable to read the import file', 'wp-seopress' ) ); } $settings = (array) json_decode( seopress_remove_utf8_bom( $file_contents ), true ); seopress_get_service( 'ImportSettings' )->handle( $settings ); wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export&success=true' ) ); exit; } add_action( 'admin_init', 'seopress_import_settings' ); /** * Delete all content scans * * @return void */ function seopress_clean_content_scans() { if ( empty( $_POST['seopress_action'] ) || 'clean_content_scans' !== $_POST['seopress_action'] ) { return; } if ( ! isset( $_POST['seopress_clean_content_scans_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['seopress_clean_content_scans_nonce'] ) ), 'seopress_clean_content_scans_nonce' ) ) { return; } if ( ! current_user_can( seopress_capability( 'manage_options', 'cleaning' ) ) ) { return; } // Delete cache option. delete_option( 'seopress_content_analysis_api_in_progress' ); global $wpdb; // Clean our post metas. $sql = 'DELETE FROM `' . $wpdb->prefix . 'postmeta` WHERE `meta_key` IN ( \'_seopress_analysis_data\', \'_seopress_content_analysis_api\', \'_seopress_analysis_data_oxygen\', \'_seopress_content_analysis_api_in_progress\')'; $sql = $wpdb->prepare( $sql ); $wpdb->query( $sql ); // Clean custom table if it exists. if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}seopress_content_analysis'" ) === $wpdb->prefix . 'seopress_content_analysis' ) { $sql = 'DELETE FROM `' . $wpdb->prefix . 'seopress_content_analysis`'; $sql = $wpdb->prepare( $sql ); $wpdb->query( $sql ); } wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit; } add_action( 'admin_init', 'seopress_clean_content_scans' ); /** * Reset SEOPress Notices Settings * * @return void */ function seopress_reset_notices_settings() { if ( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' !== $_POST['seopress_action'] ) { return; } if ( ! isset( $_POST['seopress_reset_notices_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['seopress_reset_notices_nonce'] ) ), 'seopress_reset_notices_nonce' ) ) { return; } if ( ! current_user_can( seopress_capability( 'manage_options', 'reset_settings' ) ) ) { return; } global $wpdb; $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_notices' " ); wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit; } add_action( 'admin_init', 'seopress_reset_notices_settings' ); /** * Reset SEOPress Settings * * @return void */ function seopress_reset_settings() { if ( empty( $_POST['seopress_action'] ) || 'reset_settings' !== $_POST['seopress_action'] ) { return; } if ( ! isset( $_POST['seopress_reset_nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['seopress_reset_nonce'] ) ), 'seopress_reset_nonce' ) ) { return; } if ( ! current_user_can( seopress_capability( 'manage_options', 'reset_settings' ) ) ) { return; } global $wpdb; $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_%' " ); wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit; } add_action( 'admin_init', 'seopress_reset_settings' );