original_string: protected function export_tour($id) {
          $tour = tour::instance($id);
  
          // Grab the full data record.
          $export = $tour->to_record();
  
          // Remove the id.
          unset($export->id);
  
          // Set the version.
          $export->version = get_config('tool_usertours', 'version');
  
          // Step export.
          $export->steps = [];
          foreach ($tour->get_steps() as $step) {
              $record = $step->to_record();
              unset($record->id);
              unset($record->tourid);
  
              $export->steps[] = $record;
          }
  
          $exportstring = json_encode($export);
  
          $filename = 'tour_export_' . $tour->get_id() . '_' . time() . '.json';
  
          // Force download.
          header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
          header('Cache-Control: private, must-revalidate, pre-check=0, post-check=0, max-age=0');
          header('Expires: ' . gmdate('D, d M Y H:i:s', 0) . 'GMT');
          header('Pragma: no-cache');
          header('Accept-Ranges: none');
          header('Content-disposition: attachment; filename=' . $filename);
          header('Content-length: ' . strlen($exportstring));
          header('Content-type: text/calendar; charset=utf-8');
  
          echo $exportstring;
          die;
      }
code: protected function export_tour($id) {
          $tour = tour::instance($id);
  
          // Grab the full data record.
          $export = $tour->to_record();
  
          // Remove the id.
          unset($export->id);
  
          // Set the version.
          $export->version = get_config('tool_usertours', 'version');
  
          // Step export.
          $export->steps = [];
          foreach ($tour->get_steps() as $step) {
              $record = $step->to_record();
              unset($record->id);
              unset($record->tourid);
  
              $export->steps[] = $record;
          }
  
          $exportstring = json_encode($export);
  
          $filename = 'tour_export_' . $tour->get_id() . '_' . time() . '.json';
  
          // Force download.
          header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
          header('Cache-Control: private, must-revalidate, pre-check=0, post-check=0, max-age=0');
          header('Expires: ' . gmdate('D, d M Y H:i:s', 0) . 'GMT');
          header('Pragma: no-cache');
          header('Accept-Ranges: none');
          header('Content-disposition: attachment; filename=' . $filename);
          header('Content-length: ' . strlen($exportstring));
          header('Content-type: text/calendar; charset=utf-8');
  
          echo $exportstring;
          die;
      }
code_tokens: protected function export_tour ( $ id ) { $ tour = tour :: instance ( $ id ) ; // Grab the full data record. $ export = $ tour -> to_record ( ) ; // Remove the id. unset ( $ export -> id ) ; // Set the version. $ export -> version = get_config ( 'tool_usertours' , 'version' ) ; // Step export. $ export -> steps = [ ] ; foreach ( $ tour -> get_steps ( ) as $ step ) { $ record = $ step -> to_record ( ) ; unset ( $ record -> id ) ; unset ( $ record -> tourid ) ; $ export -> steps [ ] = $ record ; } $ exportstring = json_encode ( $ export ) ; $ filename = 'tour_export_' . $ tour -> get_id ( ) . '_' . time ( ) . '.json' ; // Force download. header ( 'Last-Modified: ' . gmdate ( 'D, d M Y H:i:s' , time ( ) ) . ' GMT' ) ; header ( 'Cache-Control: private, must-revalidate, pre-check=0, post-check=0, max-age=0' ) ; header ( 'Expires: ' . gmdate ( 'D, d M Y H:i:s' , 0 ) . 'GMT' ) ; header ( 'Pragma: no-cache' ) ; header ( 'Accept-Ranges: none' ) ; header ( 'Content-disposition: attachment; filename=' . $ filename ) ; header ( 'Content-length: ' . strlen ( $ exportstring ) ) ; header ( 'Content-type: text/calendar; charset=utf-8' ) ; echo $ exportstring ; die ; }
docstring: Print the export tour page.
  
  @param   int         $id     The ID of the tour
docstring_tokens: Print the export tour page .