You are here

public function ArchiveTar::addModify in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Archiver/ArchiveTar.php \Drupal\Core\Archiver\ArchiveTar::addModify()

This method add the files / directories listed in $p_filelist at the end of the existing archive. If the archive does not yet exists it is created. The $p_filelist parameter can be an array of string, each string representing a filename or a directory name with their path if needed. It can also be a single string with names separated by a single blank. The path indicated in $p_remove_dir will be removed from the memorized path of each file / directory listed when this path exists. By default nothing is removed (empty path '') The path indicated in $p_add_dir will be added at the beginning of the memorized path of each file / directory listed. However it can be set to empty ''. The adding of a path is done after the removing of path. The path add/remove ability enables the user to prepare an archive for extraction in a different path than the origin files are. If a file/dir is already in the archive it will only be added at the end of the archive. There is no update of the existing archived file/dir. However while extracting the archive, the last file will replace the first one. This results in a none optimization of the archive size. If a file/dir does not exist the file/dir is ignored. However an error text is send to PEAR error. If a file/dir is not readable the file/dir is ignored. However an error text is send to PEAR error.

Parameters

array $p_filelist An array of filenames and directory: names, or a single string with names separated by a single blank space.

string $p_add_dir A string which contains a path to be: added to the memorized path of each element in the list.

string $p_remove_dir A string which contains a path to be: removed from the memorized path of each element in the list, when relevant.

Return value

true on success, false on error.

1 call to ArchiveTar::addModify()
ArchiveTar::add in core/lib/Drupal/Core/Archiver/ArchiveTar.php
This method add the files / directories that are listed in $p_filelist in the archive. If the archive does not exist it is created. The method return false and a PEAR error text. The files and directories listed are only added at the end of the…

File

core/lib/Drupal/Core/Archiver/ArchiveTar.php, line 491

Class

ArchiveTar

Namespace

Drupal\Core\Archiver

Code

public function addModify($p_filelist, $p_add_dir, $p_remove_dir = '') {
  $v_result = true;
  if (!$this
    ->_isArchive()) {
    $v_result = $this
      ->createModify($p_filelist, $p_add_dir, $p_remove_dir);
  }
  else {
    if (is_array($p_filelist)) {
      $v_list = $p_filelist;
    }
    elseif (is_string($p_filelist)) {
      $v_list = explode($this->_separator, $p_filelist);
    }
    else {
      $this
        ->_error('Invalid file list');
      return false;
    }
    $v_result = $this
      ->_append($v_list, $p_add_dir, $p_remove_dir);
  }
  return $v_result;
}