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

subscribe::InstallFiles: метод Битрикс

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

//    subscribe::InstallFiles()
//    /bitrix/modules/subscribe/install/index.php:141

    function InstallFiles($arParams = array())
    {
        if($_ENV["COMPUTERNAME"]!='BX')
        {
            CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/subscribe/install/admin", $_SERVER["DOCUMENT_ROOT"]."/bitrix/admin");
            CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/subscribe/install/themes", $_SERVER["DOCUMENT_ROOT"]."/bitrix/themes", false, true);
            CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/subscribe/install/components", $_SERVER["DOCUMENT_ROOT"]."/bitrix/components", True, True);
        }

        if(array_key_exists("install_auto_templates", $arParams) && $arParams["install_auto_templates"] == "Y")
        {
            CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/subscribe/install/php_interface", $_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface", false, true);
        }

        $bReWriteAdditionalFiles = ($arParams["public_rewrite"] == "Y");

        if(
            array_key_exists("install_public", $arParams) && ($arParams["install_public"] == "Y")
            && array_key_exists("public_dir", $arParams) && strlen($arParams["public_dir"])
        )
        {
            $rsSite = CSite::GetList(($by="sort"),($order="asc"));
            while ($site = $rsSite->Fetch())
            {
                $source = $_SERVER['DOCUMENT_ROOT']."/bitrix/modules/subscribe/public/";
                $target = $site['ABS_DOC_ROOT'].$site["DIR"].$arParams["public_dir"]."/";
                if(file_exists($source))
                {
                    CheckDirPath($target);
                    $dh = opendir($source);
                    while($file = readdir($dh))
                    {
                        if($file == "." || $file == "..")
                            continue;
                        if($bReWriteAdditionalFiles || !file_exists($target.$file))
                        {
                            $fh = fopen($source.$file, "rb");
                            $php_source = fread($fh, filesize($source.$file));
                            fclose($fh);
                            if(preg_match_all('/GetMessage\("(.*?)"\)/', $php_source, $matches))
                            {
                                IncludeModuleLangFile($source.$file, $site["LANGUAGE_ID"]);
                                foreach($matches[0] as $i => $text)
                                {
                                    $php_source = str_replace(
                                        $text,
                                        '"'.GetMessage($matches[1][$i]).'"',
                                        $php_source
                                    );
                                }
                            }
                            $fh = fopen($target.$file, "wb");
                            fwrite($fh, $php_source);
                            fclose($fh);
                        }
                    }
                }
            }
        }

        return true;
    }

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

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

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

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

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

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

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

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