コード例 #1
0
ファイル: PostmanOptions.php プロジェクト: DanMaiman/Awfulkid
 /**
  *
  * @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;
         }
     }
 }