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

WorkgroupIndex::execute: метод Битрикс

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

//    Bitrix\Socialnetwork\Update\WorkgroupIndex::execute()
//    /bitrix/modules/socialnetwork/lib/update/workgroupindex.php:17

    public function execute(array &$result)
    {
        if (!(
            Loader::includeModule("socialnetwork")
            && Option::get('socialnetwork', 'needWorkgroupIndex', 'Y') == 'Y'
        ))
        {
            return false;
        }

        $return = false;

        $params = Option::get("socialnetwork", "workgroupindex", "");
        $params = ($params !== "" ? @unserialize($params) : array());
        $params = (is_array($params) ? $params : array());
        if (empty($params))
        {
            $params = array(
                "lastId" => 0,
                "number" => 0,
                "count" => WorkgroupTable::getCount()
            );
        }

        if ($params["count"] > 0)
        {
            $result["title"] = Loc::getMessage("FUPD_WORKGROUP_INDEX_TITLE");
            $result["progress"] = 1;
            $result["steps"] = "";
            $result["count"] = $params["count"];

            $res = WorkgroupTable::getList(array(
                'order' => array('ID' => 'ASC'),
                'filter' => array(
                    '>ID' => $params["lastId"]
                ),
                'select' => array_merge(array('ID'), Workgroup::getContentFieldsList()),
                'offset' => 0,
                'limit' => 100
            ));

            $found = false;
            while ($record = $res->fetch())
            {
                Workgroup::setIndex(array(
                    'fields' => $record
                ));

                $params["lastId"] = $record['ID'];
                $params["number"]++;
                $found = true;
            }

            if ($found)
            {
                Option::set("socialnetwork", "workgroupindex", serialize($params));
                $return = true;
            }

            $result["progress"] = intval($params["number"] * 100/ $params["count"]);
            $result["steps"] = $params["number"];

            if ($found === false)
            {
                Option::delete("socialnetwork", array("name" => "workgroupindex"));
                Option::set('socialnetwork', 'needWorkgroupIndex', 'N');
            }
        }
        return $return;
    }

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

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

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

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

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

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

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

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