Поддержка серверов

CArchiver::Pack: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=164537

//    CArchiver::Pack()
//    /bitrix/modules/main/classes/general/tar_gz.php:84

    public function Pack($arFileList, $startFile = "")
    {

        $this->_arErrors = array();
        $this->startFile = $this->io->GetPhysicalName($startFile);

        $bNewArchive = True;
        if (file_exists($this->io->GetPhysicalName($this->_strArchiveName))
            && is_file($this->io->GetPhysicalName($this->_strArchiveName)) && ($startFile != ""))
        {
            $bNewArchive = False;
        }

        if ($bNewArchive)
        {
            if (!$this->_openWrite())
                return false;
        }
        else
        {
            if (!$this->_openAppendFast())
                return false;
        }

        $res = false;
        $arFileList = &$this->_parseFileParams($arFileList);

        $arConvertedFileList = array();
        foreach ($arFileList as $fullpath)
            $arConvertedFileList[] = $this->io->GetPhysicalName($fullpath);

        unset($this->tempres);

        if (is_array($arFileList) && count($arFileList)>0)
            $res = $this->_processFiles($arConvertedFileList, $this->add_path, $this->remove_path, $this->startFile);

        if ($res !== false && $res !== "continue")
        {
            $this->_writeFooter();
        }

        $this->_close();

        if ($bNewArchive && ($res === false))
        {
            $this->_cleanFile();
        }

        //if packing is not completed, remember last file
        if ($res === 'continue')
        {
        // if (array_pop($arFileList) != $this->lastFile)
            $this->startFile = $this->io->GetLogicalName(array_pop($this->lastFile));
        }

        if ($res === false)
        {
            return IBXArchive::StatusError;

        }
        elseif ($res == true && $this->startFile == "")
        {
            return IBXArchive::StatusSuccess;

        }
        elseif ($res == true && $this->startFile != "")
        {
            return IBXArchive::StatusContinue;
            //call Pack() with $this->getStartFile() next time to continue
        }
        return null;
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение