| Server IP : 39.106.62.82 / Your IP : 216.73.216.26 Web Server : nginx/1.14.1 System : Linux iz2ze1m0zmp2dk5c3j5ap5z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /webdata/gohomesh.com/wp-content/plugins/adminimize/inc-setup/ |
Upload File : |
<?php
/**
* Export settings as json file.
*
* @package Adminimize
* @subpackage export
* @author Frank Bültge
* @version 2017-04-13
*/
if ( ! function_exists( 'add_action' ) ) {
echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
exit;
}
add_action( 'admin_init', '_mw_adminimize_export_json' );
add_action( 'admin_init', '_mw_adminimize_export_role_json' );
/**
* Process a settings export that generates a .json file of the shop settings.
*/
function _mw_adminimize_export_json() {
if ( ! is_admin() ) {
return;
}
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
// If is AJAX Call.
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
return;
}
if ( empty( $_POST[ '_mw_adminimize_export' ] ) || 'true' !== $_POST[ '_mw_adminimize_export' ] ) {
return;
}
require_once ABSPATH . 'wp-includes/pluggable.php';
if ( ! wp_verify_nonce( $_POST[ 'mw_adminimize_export_nonce' ], 'mw_adminimize_export_nonce' ) ) {
return;
}
$settings = _mw_adminimize_get_option_value();
$filepath = 'mw_adminimize-settings-export-' . date( 'm-d-Y' ) . '.json';
ignore_user_abort( TRUE );
nocache_headers();
header( 'Cache-Control: public' );
header( 'Content-Type: application/json; charset=utf-8' );
header( 'Content-Transfer-Encoding: binary' );
header( 'Content-Disposition: attachment; filename=' . $filepath );
//header( 'Content-Length: ' . filesize( $filepath ) );
header( 'Expires: 0' );
echo wp_json_encode( $settings );
exit();
}
/**
* Process a settings export for one or many roles that generates a .json file of the shop settings.
*
* @return array
*/
function _mw_adminimize_export_role_json() {
if ( ! is_admin() ) {
return;
}
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
// If is AJAX Call.
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
return;
}
if ( empty( $_POST[ '_mw_adminimize_export_role' ] )
|| 'true' !== $_POST[ '_mw_adminimize_export_role' ]
|| empty( $_POST['select_adminimize_roles']) ) {
return;
}
require_once ABSPATH . 'wp-includes/pluggable.php';
if ( ! wp_verify_nonce( $_POST[ 'mw_adminimize_export_role_nonce' ], 'mw_adminimize_export_role_nonce' ) ) {
return;
}
$keys = [];
$adminimize_roles = $_POST['select_adminimize_roles'];
$adminimize_option = _mw_adminimize_get_option_value();
foreach( $adminimize_roles as $adminimize_role ){
$adminimize_role_keys = array_filter(
$adminimize_option, function( $option_key ) use ( $adminimize_role ){
return stripos( $option_key, '_' . $adminimize_role ) !== false;
}, ARRAY_FILTER_USE_KEY
);
if ( empty( $keys ) ){
$keys = $adminimize_role_keys;
} else {
$keys = array_merge( $keys, $adminimize_role_keys );
}
}
$filepath = 'mw_adminimize-settings-role-export-' . date( 'm-d-Y' ) . '.json';
ignore_user_abort( TRUE );
nocache_headers();
header( 'Cache-Control: public' );
header( 'Content-Type: application/json; charset=utf-8' );
header( 'Content-Transfer-Encoding: binary' );
header( 'Content-Disposition: attachment; filename=' . $filepath );
header( 'Expires: 0' );
echo wp_json_encode( $keys );
exit();
}