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

CExtranetWizardServices::ReplaceMacrosRecursive: метод Битрикс

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

//    CExtranetWizardServices::ReplaceMacrosRecursive()
//    /bitrix/modules/extranet/classes/general/wizard_utils.php:363

    function ReplaceMacrosRecursive($filePath, $arReplace)
    {

        clearstatcache();

        if ((!is_dir($filePath) && !is_file($filePath)) || !is_array($arReplace))
            return;

        if ($handle = @opendir($filePath))
        {
            while (($file = readdir($handle)) !== false)
            {
                if ($file == "." || $file == "..") continue;

                if (is_dir($filePath."/".$file))
                {
                    CExtranetWizardServices::ReplaceMacrosRecursive($filePath.$file."/", $arReplace);
                }
                elseif (is_file($filePath."/".$file))
                {
                    if (!is_writable($filePath."/".$file) || !is_array($arReplace))
                        return;

                    @chmod($filePath."/".$file, BX_FILE_PERMISSIONS);

                    if (!$handleFile = @fopen($filePath."/".$file, "rb"))
                        return;

                    $content = @fread($handleFile, filesize($filePath."/".$file));
                    @fclose($handleFile);

                    $handleFile = false;
                    if (!$handleFile = @fopen($filePath."/".$file, "wb"))
                        return;

                    if (flock($handleFile, LOCK_EX))
                    {
                        $arSearch = Array();
                        $arValue = Array();

                        foreach ($arReplace as $search => $replace)
                        {
                            if ($skipSharp)
                                $arSearch[] = $search;
                            else
                                $arSearch[] = "#".$search."#";

                            $arValue[] = $replace;
                        }

                        $content = str_replace($arSearch, $arValue, $content);
                        @fwrite($handleFile, $content);
                        @flock($handleFile, LOCK_UN);
                    }
                    @fclose($handleFile);
                
                }
            }
            @closedir($handle);

        }
    }

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

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

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

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

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

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

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

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