/** * * @param unknown $data */ public function import($data) { if (PostmanPreRequisitesCheck::checkZlibEncode()) { $logger = new PostmanLogger(get_class($this)); $logger->debug('Importing Settings'); $base64 = $data; $logger->trace($base64); $gz = base64_decode($base64); $logger->trace($gz); $json = @gzuncompress($gz); $logger->trace($json); if (!empty($json)) { $data = json_decode($json, true); $logger->trace($data); // overwrite the current version with the version from the imported options // this way database upgrading can occur $postmanState = get_option('postman_state'); $postmanState['version'] = $data['version']; $logger->trace(sprintf('Setting Postman version to %s', $postmanState['version'])); assert($postmanState['version'] == $data['version']); update_option('postman_state', $postmanState); $this->options = $data; $logger->info('Imported data'); $this->save(); return true; } else { $logger->error('Could not import data - data error'); return false; } } }