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

CSecurityAntiVirus::getstatchars: метод Битрикс

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

//    CSecurityAntiVirus::getstatchars()
//    /bitrix/modules/security/classes/general/antivirus.php:1639

    function getstatchars(&$str)
    {
        static $arCharClasses = false;
        if(!$arCharClasses)
        {
            $arCharClasses = array(
                'D' => array(),
                'H' => array(),
                'B' => array(),
                'NW' => array(),
            );

            for($i = ord('0'), $end = ord('9'); $i <= $end; $i++)
                $arCharClasses['D'][] = $i;

            for($i = ord('a'), $end = ord('f'); $i <= $end; $i++)
                $arCharClasses['H'][] = $i;

            for($i = ord('A'), $end = ord('F'); $i <= $end; $i++)
                $arCharClasses['H'][] = $i;

            for($i = 0;$i < 32; $i++)
                $arCharClasses['B'][] = $i;

            $strPunct = "`~!@#$%^&*[]{}();:'\",.\/?\|";
            $len = strlen($strPunct);
            for($i = 0; $i < $len; $i++)
                $arCharClasses['NW'][] = ord(substr($strPunct, $i ,1));
        }

        $chars = count_chars($str, 1);
        $len = array_sum($chars);

        unset($chars[9]);
        unset($chars[10]);
        unset($chars[13]);
        unset($chars[32]);
        unset($chars[208]);
        unset($chars[209]);

        $out = array(
            'MAXCHAR' => $len && count($chars)? max($chars): 0,
            "D" => 0,
            "H" => 0,
            "B" => 0,
            "NW" => 0,
            "LEN" => $len,
        );

        if(count($chars))
        {
            foreach($arCharClasses as $class => $arChars)
                foreach($arChars as $ch)
                    if(isset($chars[$ch]))
                        $out[$class] += $chars[$ch];
            $out["H"] += $out["D"];
        }

        return $out;
    }
';

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

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

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

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

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

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

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

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