function privDirCheck($p_dir, $p_is_dir=false) { $v_result = 1; PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDirCheck", "entry='$p_dir', is_dir='".($p_is_dir?"true":"false")."'"); // ----- Remove the final '/' if (($p_is_dir) && (substr($p_dir, -1)=='/')) { $p_dir = substr($p_dir, 0, strlen($p_dir)-1); } PclTraceFctMessage(__FILE__, __LINE__, 3, "Looking for entry '$p_dir'"); // ----- Check the directory availability if ((is_dir($p_dir)) || ($p_dir == "")) { PclTraceFctEnd(__FILE__, __LINE__, "'$p_dir' is a directory"); return 1; } // ----- Extract parent directory $p_parent_dir = dirname($p_dir); PclTraceFctMessage(__FILE__, __LINE__, 3, "Parent directory is '$p_parent_dir'"); // ----- Just a check if ($p_parent_dir != $p_dir) { // ----- Look for parent directory if ($p_parent_dir != "") { if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) { PclTraceFctEnd(__FILE__, __LINE__, $v_result); return $v_result; } } } // ----- Create the directory PclTraceFctMessage(__FILE__, __LINE__, 3, "Create directory '$p_dir'"); if (!@mkdir($p_dir, 0777)) { // ----- Error log PclErrorLog(-8, "Unable to create directory '$p_dir'"); // ----- Return PclTraceFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); return PclErrorCode(); } // ----- Return PclTraceFctEnd(__FILE__, __LINE__, $v_result, "Directory '$p_dir' created"); return $v_result; }
function PclTarHandleExtension($p_tarname) { TrFctStart(__FILE__, __LINE__, "PclTarHandleExtension", "tar={$p_tarname}"); // ----- Look for file extension if (substr($p_tarname, -7) == ".tar.gz" || substr($p_tarname, -4) == ".tgz") { TrFctMessage(__FILE__, __LINE__, 2, "Archive is a gzip tar"); $v_tar_mode = "tgz"; } else { if (substr($p_tarname, -4) == ".tar") { TrFctMessage(__FILE__, __LINE__, 2, "Archive is a tar"); $v_tar_mode = "tar"; } else { // ----- Error log PclErrorLog(-9, "Invalid archive extension"); TrFctMessage(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); $v_tar_mode = ""; } } // ----- Return TrFctEnd(__FILE__, __LINE__, $v_tar_mode); return $v_tar_mode; }
function PclTarHandleExtension($p_tarname) { TrFctStart(__FILE__, __LINE__, "PclTarHandleExtension", "tar={$p_tarname}"); // ----- Look for file extension // NET2FTP // This is because net2ftp adds a .txt extension to all uploaded files while they reside on the *web* server $p_tarname = substr($p_tarname, 0, strlen($p_tarname) - 4); if (substr($p_tarname, -7) == ".tar.gz" || substr($p_tarname, -4) == ".tgz") { TrFctMessage(__FILE__, __LINE__, 2, "Archive is a gzip tar"); $v_tar_mode = "tgz"; } else { if (substr($p_tarname, -4) == ".tar") { TrFctMessage(__FILE__, __LINE__, 2, "Archive is a tar"); $v_tar_mode = "tar"; } else { // ----- Error log PclErrorLog(-9, "Invalid archive extension"); TrFctMessage(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); $v_tar_mode = ""; } } // ----- Return TrFctEnd(__FILE__, __LINE__, $v_tar_mode); return $v_tar_mode; }