You are here

function PclZip::privAddFileList in Loft Data Grids 6.2

Same name and namespace in other branches
  1. 7.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php \PclZip::privAddFileList()
2 calls to PclZip::privAddFileList()
PclZip::privAdd in vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php
PclZip::privAddList in vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php, line 2463

Class

PclZip

Code

function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options) {
  $v_result = 1;
  $v_header = array();

  // ----- Recuperate the current number of elt in list
  $v_nb = sizeof($p_result_list);

  // ----- Loop on the files
  for ($j = 0; $j < sizeof($p_filedescr_list) && $v_result == 1; $j++) {

    // ----- Format the filename
    $p_filedescr_list[$j]['filename'] = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false);

    // ----- Skip empty file names
    // TBC : Can this be possible ? not checked in DescrParseAtt ?
    if ($p_filedescr_list[$j]['filename'] == "") {
      continue;
    }

    // ----- Check the filename
    if ($p_filedescr_list[$j]['type'] != 'virtual_file' && !file_exists($p_filedescr_list[$j]['filename'])) {
      PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '" . $p_filedescr_list[$j]['filename'] . "' does not exist");
      return PclZip::errorCode();
    }

    // ----- Look if it is a file or a dir with no all path remove option
    // or a dir with all its path removed
    //      if (   (is_file($p_filedescr_list[$j]['filename']))
    //          || (   is_dir($p_filedescr_list[$j]['filename'])
    if ($p_filedescr_list[$j]['type'] == 'file' || $p_filedescr_list[$j]['type'] == 'virtual_file' || $p_filedescr_list[$j]['type'] == 'folder' && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]) || !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {

      // ----- Add the file
      $v_result = $this
        ->privAddFile($p_filedescr_list[$j], $v_header, $p_options);
      if ($v_result != 1) {
        return $v_result;
      }

      // ----- Store the file infos
      $p_result_list[$v_nb++] = $v_header;
    }
  }

  // ----- Return
  return $v_result;
}