original_string: private function archive_stored($ziparch, $archivepath, $file, file_progress $progress = null) {
          $result = $file->archive_file($ziparch, $archivepath);
          if (!$result) {
              return false;
          }
  
          if (!$file->is_directory()) {
              return true;
          }
  
          $baselength = strlen($file->get_filepath());
          $fs = get_file_storage();
          $files = $fs->get_directory_files($file->get_contextid(), $file->get_component(), $file->get_filearea(), $file->get_itemid(),
                                            $file->get_filepath(), true, true);
          foreach ($files as $file) {
              // Record progress for each file.
              if ($progress) {
                  $progress->progress();
              }
  
              $path = $file->get_filepath();
              $path = substr($path, $baselength);
              $path = $archivepath.'/'.$path;
              if (!$file->is_directory()) {
                  $path = $path.$file->get_filename();
              }
              // Ignore result here, partial zipping is ok for now.
              $file->archive_file($ziparch, $path);
          }
  
          return true;
      }
code: private function archive_stored($ziparch, $archivepath, $file, file_progress $progress = null) {
          $result = $file->archive_file($ziparch, $archivepath);
          if (!$result) {
              return false;
          }
  
          if (!$file->is_directory()) {
              return true;
          }
  
          $baselength = strlen($file->get_filepath());
          $fs = get_file_storage();
          $files = $fs->get_directory_files($file->get_contextid(), $file->get_component(), $file->get_filearea(), $file->get_itemid(),
                                            $file->get_filepath(), true, true);
          foreach ($files as $file) {
              // Record progress for each file.
              if ($progress) {
                  $progress->progress();
              }
  
              $path = $file->get_filepath();
              $path = substr($path, $baselength);
              $path = $archivepath.'/'.$path;
              if (!$file->is_directory()) {
                  $path = $path.$file->get_filename();
              }
              // Ignore result here, partial zipping is ok for now.
              $file->archive_file($ziparch, $path);
          }
  
          return true;
      }
code_tokens: private function archive_stored ( $ ziparch , $ archivepath , $ file , file_progress $ progress = null ) { $ result = $ file -> archive_file ( $ ziparch , $ archivepath ) ; if ( ! $ result ) { return false ; } if ( ! $ file -> is_directory ( ) ) { return true ; } $ baselength = strlen ( $ file -> get_filepath ( ) ) ; $ fs = get_file_storage ( ) ; $ files = $ fs -> get_directory_files ( $ file -> get_contextid ( ) , $ file -> get_component ( ) , $ file -> get_filearea ( ) , $ file -> get_itemid ( ) , $ file -> get_filepath ( ) , true , true ) ; foreach ( $ files as $ file ) { // Record progress for each file. if ( $ progress ) { $ progress -> progress ( ) ; } $ path = $ file -> get_filepath ( ) ; $ path = substr ( $ path , $ baselength ) ; $ path = $ archivepath . '/' . $ path ; if ( ! $ file -> is_directory ( ) ) { $ path = $ path . $ file -> get_filename ( ) ; } // Ignore result here, partial zipping is ok for now. $ file -> archive_file ( $ ziparch , $ path ) ; } return true ; }
docstring: Perform archiving file from stored file.
  
  @param zip_archive $ziparch zip archive instance
  @param string $archivepath file path to archive
  @param stored_file $file stored_file object
  @param file_progress $progress Progress indicator callback or null if not required
  @return bool success
docstring_tokens: Perform archiving file from stored file .