Example #1
0
function main()
{
    $tar = new tar();
    $tar->addFile('./test.pdf');
    $tar->toTar('./test_create.tar', false);
    $tar1 = new tar();
    $opened = $tar1->openTAR('./test_create.tar');
    if ($opened) {
        $soubor = $tar1->getFile('./test.pdf');
        echo $soubor["file"];
    } else {
        echo "FAILED TO OPEN ARCHIVE";
    }
}
 /**
  * import layout
  * @param int $layout_srl
  * @param string $source_file path of imported file
  * @return void
  */
 function importLayout($layout_srl, $source_file)
 {
     $oLayoutModel = getModel('layout');
     $user_layout_path = FileHandler::getRealPath($oLayoutModel->getUserLayoutPath($layout_srl));
     $file_list = $oLayoutModel->getUserLayoutFileList($layout_srl);
     foreach ($file_list as $key => $file) {
         FileHandler::removeFile($user_layout_path . $file);
     }
     require_once _XE_PATH_ . 'libs/tar.class.php';
     $image_path = $oLayoutModel->getUserLayoutImagePath($layout_srl);
     FileHandler::makeDir($image_path);
     $tar = new tar();
     $tar->openTAR($source_file);
     // If layout.ini file does not exist
     if (!$tar->getFile('layout.ini')) {
         return;
     }
     $replace_path = getNumberingPath($layout_srl, 3);
     foreach ($tar->files as $key => $info) {
         FileHandler::writeFile($user_layout_path . $info['name'], str_replace('__LAYOUT_PATH__', $replace_path, $info['file']));
     }
     // Remove uploaded file
     FileHandler::removeFile($source_file);
 }
        public function procShopToolUserSkinImport(){
            if(!$this->module_srl) exit();

            // check upload
            if(!Context::isUploaded()) exit();
            $file = Context::get('file');
            if(!is_uploaded_file($file['tmp_name'])) exit();
            if(!preg_match('/\.(tar)$/i', $file['name'])) exit();

            $oShopModel = $this->model;
            $skin_path = FileHandler::getRealPath($oShopModel->getShopPath($this->module_srl));

            $tar_file = $skin_path . 'shop_skin.tar';

            FileHandler::removeDir($skin_path);
            FileHandler::makeDir($skin_path);

            if(!move_uploaded_file($file['tmp_name'], $tar_file)) exit();

            require_once(_XE_PATH_.'libs/tar.class.php');

            $tar = new tar();
            $tar->openTAR($tar_file);

            if(!$tar->getFile('shop.html')) return;

            $replace_path = getNumberingPath($this->module_srl,3);
            foreach($tar->files as $key => $info) {
                FileHandler::writeFile($skin_path . $info['name'],str_replace('__SHOP_SKIN_PATH__',$replace_path,$info['file']));
            }

            FileHandler::removeFile($tar_file);
        }
Example #4
0
        $output .= rcms_parse_text('[quote=' . $logfile . ']' . $contents . '[/quote]', true, false, true);
    }
    rcms_showAdminMessage($output);
} elseif (!empty($_POST['showlogs_from_archive']) && !empty($_POST['archive']) && !empty($_POST['viewlog']) && is_array($_POST['viewlog'])) {
    $frm = new InputForm('', 'post', '<<< ' . __('Back'));
    $frm->hidden('browse_archive', '1');
    $frm->hidden('browse', $_POST['archive']);
    $frm->show();
    $_POST['archive'] = basename($_POST['archive']);
    if (@is_readable($system->logging . $_POST['archive'])) {
        $output = '';
        $archive = new tar();
        $archive->openTAR($system->logging . $_POST['archive']);
        foreach ($_POST['viewlog'] as $logfile) {
            $logfile = basename($logfile);
            if ($gz_contents = $archive->getFile($logfile)) {
                $gz_contents = $gz_contents['file'];
                if (substr($logfile, -3) == '.gz') {
                    file_write_contents($system->logging . $logfile, $gz_contents);
                    $contents = gzfile_get_contents($system->logging . $logfile);
                    rcms_delete_files($system->logging . $logfile);
                } else {
                    $contents =& $gz_contents;
                }
                $output .= rcms_parse_text('[quote=' . $logfile . ']' . $contents . '[/quote]', true, false, true);
            }
        }
        unset($archive);
    }
    rcms_showAdminMessage($output);
} elseif (!empty($_POST['browse_archive']) && !empty($_POST['browse'])) {
Example #5
0
$tar->toTar("combined.tgz", TRUE);
unset($tar);
// Removing 2 files from the new.tar file created above
$tar = new tar();
$tar->openTar("new.tar", FALSE);
$tar->removeFile("example.php");
$tar->removeFile("example2.php");
$tar->saveTar();
// Saves to currently open TAR file (In this case, new.tar)
unset($tar);
// Check if a TAR file contains a specific file
$tar = new tar();
$tar->openTar("new.tar", FALSE);
if ($tar->containsFile("tar.class.php")) {
    echo "This tar file contains a file named 'tar.class.php'!<br>\n";
} else {
    echo "This tar file does NOT contain a file named 'tar.class.php'!<br>\n";
}
// There is no need to save our tar file since we did not edit it, so delete our tar class
unset($tar);
// Get information about a file in a TAR file
$tar = new tar();
$tar->openTar("new.tar");
// If second argument is not present, default is FALSE
$information = $tar->getFile("tar.class.php");
echo "<br>\n<b>Information about tar.class.php!</b><br>\n";
foreach ($information as $key => $value) {
    echo "&nbsp;&nbsp;&nbsp;&nbsp;{$key} = " . text2html($value) . "<br>\n";
}
echo "<br>\n";
echo "</font>";
 function procTextyleToolUserSkinImport()
 {
     if (!$this->module_srl) {
         exit;
     }
     // check upload
     if (!Context::isUploaded()) {
         exit;
     }
     $file = Context::get('file');
     if (!is_uploaded_file($file['tmp_name'])) {
         exit;
     }
     if (!preg_match('/\\.(tar)$/i', $file['name'])) {
         exit;
     }
     $oTextyleModel =& getModel('textyle');
     $skin_path = FileHandler::getRealPath($oTextyleModel->getTextylePath($this->module_srl));
     $tar_file = $skin_path . 'textyle_skin.tar';
     FileHandler::removeDir($skin_path);
     FileHandler::makeDir($skin_path);
     if (!move_uploaded_file($file['tmp_name'], $tar_file)) {
         exit;
     }
     require_once _XE_PATH_ . 'libs/tar.class.php';
     $tar = new tar();
     $tar->openTAR($tar_file);
     if (!$tar->getFile('textyle.html')) {
         return;
     }
     $replace_path = getNumberingPath($this->module_srl, 3);
     foreach ($tar->files as $key => $info) {
         FileHandler::writeFile($skin_path . $info['name'], str_replace('__TEXTYLE_SKIN_PATH__', $replace_path, $info['file']));
     }
     FileHandler::removeFile($tar_file);
 }