/** * Gmw Function - Covert object to array * * @since 2.5 * @param object * @return Array/multidimensional array */ function gmw_object_to_array($data) { if (is_array($data) || is_object($data)) { $result = array(); foreach ($data as $key => $value) { $result[$key] = gmw_object_to_array($value); } return $result; } return $data; }
/** * Import data from a json file * * @since 2.5 * @return void */ function gmw_import_data() { //make sure at least one checkbox is checked if (empty($_POST['import_item'])) { wp_die(__("You must check at least on checkbox of an item that you'd like to import", 'GMW')); } //look for nonce if (empty($_POST['gmw_import_nonce'])) { return; } //varify nonce if (!wp_verify_nonce($_POST['gmw_import_nonce'], 'gmw_import_nonce')) { return; } //get file $import_file = $_FILES['import_file']['tmp_name']; //abort if not file uploaded if (empty($import_file)) { wp_die(__('Please upload a file to import', 'GMW')); } // Retrieve the data from the file and convert the json object to an array $import_data = gmw_object_to_array(json_decode(file_get_contents($import_file))); //import add-ons if (isset($import_data['addons'])) { update_option('gmw_addons', $import_data['addons']); } //import settings if (in_array('settings', $_POST['import_item']) && isset($import_data['options'])) { update_option('gmw_options', $import_data['options']); } //import forms if (in_array('forms', $_POST['import_item']) && isset($import_data['forms'])) { update_option('gmw_forms', $import_data['forms']); } //import licenses if (in_array('licenses', $_POST['import_item'])) { if (isset($import_data['license_keys'])) { update_option('gmw_license_keys', $import_data['license_keys']); } if (isset($import_data['statuses'])) { update_option('gmw_premium_plugin_status', $import_data['statuses']); } } wp_safe_redirect(admin_url('admin.php?page=gmw-tools&tab=import_export&gmw_notice=data_imported&gmw_notice_status=updated')); exit; }