コード例 #1
0
 /**
  * Constructor.
  *
  * @param array $params
  *
  * @throws SkipHandlerException
  */
 public function __construct($params)
 {
     $this->event = $params[0];
     $eventParams = $this->event->getParameters();
     $this->id = $eventParams['id']['ID'];
     $this->fields = HighloadBlockTable::getById($this->id)->fetch();
 }
コード例 #2
0
 function __construct($hlblockid)
 {
     $this->hlBlockID = $hlblockid;
     $hlblock = HL\HighloadBlockTable::getById($hlblockid)->fetch();
     $entity = HL\HighloadBlockTable::compileEntity($hlblock);
     $this->hlHandler = $entity->getDataClass();
 }
コード例 #3
0
ファイル: block_funcs.php プロジェクト: spas-viktor/books
function connectToBlock($blockId)
{
    $hlblock_requests = HL\HighloadBlockTable::getById($blockId)->fetch();
    //requests
    $entity_requests = HL\HighloadBlockTable::compileEntity($hlblock_requests);
    $entity_requests_data_class = $entity_requests->getDataClass();
    return $entity_requests_data_class;
}
コード例 #4
0
ファイル: app.php プロジェクト: dayAlone/MyQube
/**
 * Check last user type in logs
 * @param $userID
 *
 * @return string
 */
function getUserType($userID)
{
    global $USER;
    $hbKPI = HL\HighloadBlockTable::getById(HLBLOCK_KPIAMPLIFIER)->fetch();
    $entityKPI = HL\HighloadBlockTable::compileEntity($hbKPI);
    $entity_data_class = $entityKPI->getDataClass();
    $arUserType2R = array("38" => "1", "39" => "2", "40" => "3", "41" => "4", "42" => "5", "44" => "5");
    $rsDataHLAll = $entity_data_class::getList(array("select" => array("*"), "order" => array("ID" => "DESC"), "filter" => array("UF_AMPLIFIER" => $USER->GetID(), "UF_USER" => IntVal($userID))));
    if ($ar_fieldsGoodAll = $rsDataHLAll->Fetch()) {
        return $arUserType2R[$ar_fieldsGoodAll['UF_TYPE_2']];
    } else {
        return '2';
    }
}
コード例 #5
0
 /**
  * @inheritdoc
  */
 public function create(ParameterDictionary $parameters)
 {
     $highLoadBlockId = (int) $parameters->get('ID');
     $highLoadBlock = HL\HighloadBlockTable::getById($highLoadBlockId)->fetch();
     if (empty($highLoadBlock)) {
         throw new BuilderException(sprintf('Not found highloadblock with id = %d', $highLoadBlockId));
     }
     $highLoadBlockFields = $this->getUserFieldManager()->GetUserFields(sprintf('HLBLOCK_%d', $highLoadBlockId), 0, LANGUAGE_ID);
     $this->setHighLoadBlockFields($highLoadBlockFields);
     $this->setElementValue();
     $this->setSectionValue();
     $this->setEnumValue();
     return array('DATA' => $highLoadBlock, 'FIELDS' => $this->getHighLoadBlockFields());
 }
コード例 #6
0
ファイル: HblockObject.php プロジェクト: ASDAFF/Bitrix
 /**
  * @param $hblockId
  * @return \Bitrix\Main\Entity\Base
  * @throws \Exception
  */
 protected static function getEntity($hblockId)
 {
     $hblockId = intval($hblockId);
     if (self::$hblockEntities[$hblockId]) {
         return self::$hblockEntities[$hblockId];
     }
     $hlData = HighloadBlockTable::getById($hblockId)->fetch();
     if (!$hlData) {
         throw new \Exception("Hblock {$hblockId} not found");
     }
     // описание полей hl блока
     $obUserField = new \CUserTypeManager();
     self::$hblockEntityFields[$hblockId] = $obUserField->GetUserFields('HLBLOCK_' . $hlData['ID'], 0, LANGUAGE_ID);
     return self::$hblockEntities[$hblockId] = HighloadBlockTable::compileEntity($hlData);
 }
コード例 #7
0
ファイル: helpers.php プロジェクト: dayAlone/MyQube
function changeUserStatus($ID, $PARENT, $CURRENT, $NEW, $text)
{
    CModule::IncludeModule("iblock");
    CModule::IncludeModule("highloadblock");
    global $APPLICATION;
    $fields = getValuesList('UF_STATUS', 'USER', 'ID');
    $flipFields = array_flip($fields);
    $types = array(getValuesList('UF_TYPE', 'HLBLOCK_2', 'ID'), getValuesList('UF_TYPE_2', 'HLBLOCK_2', 'ID'));
    $raw = new CUser();
    $raw->Update($ID, array('UF_INVITE_STATUS' => 1, 'UF_STATUS' => $fields[$NEW]));
    $hbKPI = HL\HighloadBlockTable::getById(2)->fetch();
    $entityKPI = HL\HighloadBlockTable::compileEntity($hbKPI);
    $logKPI = $entityKPI->getDataClass();
    $logKPI::add(array('UF_USER' => intval($ID), 'UF_AMPLIFIER' => intval($PARENT), 'UF_EVENT' => 0, 'UF_DATE_TIME' => date("Y-m-d H:i:s"), 'UF_ACTION_CODE' => 103, 'UF_ACTION_TEXT' => "change_status", 'UF_TYPE' => $CURRENT ? $types[0][$flipFields[$CURRENT]] : 1, 'UF_TYPE_2' => $types[1][$NEW]));
    $hbLOG = HL\HighloadBlockTable::getById(4)->fetch();
    $entityLOG = HL\HighloadBlockTable::compileEntity($hbLOG);
    $logLOG = $entityLOG->getDataClass();
    $res = $logLOG::add(array('UF_USER' => intval($ID), 'UF_AMPLIFIER' => intval($PARENT), 'UF_EVENT' => 0, 'UF_DATE_TIME' => date("d.m.Y H:i:s", time()), "UF_ACTION_CODE" => 104, "UF_ACTION_TEXT" => $text, "UF_TYPE" => $CURRENT ? $flipFields[$CURRENT] : 1, "UF_TYPE_2" => $NEW));
}
コード例 #8
0
// admin initialization
define("ADMIN_MODULE_NAME", "highloadblock");
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
IncludeModuleLangFile(__FILE__);
IncludeModuleLangFile(__DIR__ . '/highloadblock_rows_list.php');
if (!$USER->IsAdmin()) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
if (!CModule::IncludeModule(ADMIN_MODULE_NAME)) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
use Bitrix\Highloadblock as HL;
$hlblock = null;
// get entity info
if (isset($_REQUEST['ENTITY_ID'])) {
    $hlblock = HL\HighloadBlockTable::getById($_REQUEST['ENTITY_ID'])->fetch();
}
if (empty($hlblock)) {
    // 404
    if ($_REQUEST["mode"] == "list") {
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_js.php";
    } else {
        require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
    }
    echo GetMessage('HLBLOCK_ADMIN_ROW_EDIT_NOT_FOUND');
    if ($_REQUEST["mode"] == "list") {
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin_js.php";
    } else {
        require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
    }
    die;
コード例 #9
0
 public static function getHlRows($userfield)
 {
     global $USER_FIELD_MANAGER;
     $rows = array();
     $hlblock_id = $userfield['SETTINGS']['HLBLOCK_ID'];
     $hlfield_id = $userfield['SETTINGS']['HLFIELD_ID'];
     if (!empty($hlblock_id)) {
         $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById($hlblock_id)->fetch();
     }
     if (!empty($hlblock)) {
         $userfield = null;
         if ($hlfield_id == 0) {
             $userfield = array('FIELD_NAME' => 'ID');
         } else {
             $userfields = $USER_FIELD_MANAGER->GetUserFields('HLBLOCK_' . $hlblock['ID'], 0, LANGUAGE_ID);
             foreach ($userfields as $_userfield) {
                 if ($_userfield['ID'] == $hlfield_id) {
                     $userfield = $_userfield;
                     break;
                 }
             }
         }
         if ($userfield) {
             // validated successfully. get data
             $hlDataClass = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock)->getDataClass();
             $rows = $hlDataClass::getList(array('select' => array('ID', $userfield['FIELD_NAME']), 'order' => 'ID'))->fetchAll();
             foreach ($rows as &$row) {
                 if ($userfield['FIELD_NAME'] == 'ID') {
                     $row['VALUE'] = $row['ID'];
                 } else {
                     $row['VALUE'] = $USER_FIELD_MANAGER->getListView($userfield, $row[$userfield['FIELD_NAME']]);
                     $row['VALUE'] .= ' [' . $row['ID'] . ']';
                 }
             }
         }
     }
     return $rows;
 }
コード例 #10
0
ファイル: result_modifier.php プロジェクト: Satariall/izurit
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (is_array($arResult['VALUE']) && count($arResult['VALUE']) > 0) {
    if (!CModule::IncludeModule("highloadblock")) {
        return;
    }
    global $USER_FIELD_MANAGER;
    $userfields = $USER_FIELD_MANAGER->GetUserFields('HLBLOCK_' . $arParams['arUserField']['SETTINGS']['HLBLOCK_ID'], 0, LANGUAGE_ID);
    foreach ($userfields as $_userfield) {
        if ($_userfield['ID'] == $arParams['arUserField']['SETTINGS']['HLFIELD_ID']) {
            $userfield = $_userfield;
            break;
        }
    }
    if ($userfield) {
        $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById($arParams['arUserField']['SETTINGS']['HLBLOCK_ID'])->fetch();
        $hlDataClass = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock)->getDataClass();
        $rows = $hlDataClass::getList(array('select' => array('ID', $userfield['FIELD_NAME']), 'filter' => array('=ID' => $arResult['VALUE'])))->fetchAll();
        $newValue = array();
        foreach ($rows as &$row) {
            if ($userfield['FIELD_NAME'] == 'ID') {
                $row['VALUE'] = $row['ID'];
            } else {
                $newValue[] = $USER_FIELD_MANAGER->getListView($userfield, $row[$userfield['FIELD_NAME']]);
            }
        }
        $arResult['VALUE'] = $newValue;
    }
}
コード例 #11
0
ファイル: component.php プロジェクト: rasuldev/torino
foreach ($requiredModules as $requiredModule) {
    if (!CModule::IncludeModule($requiredModule)) {
        ShowError(GetMessage("F_NO_MODULE"));
        return 0;
    }
}
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
global $USER_FIELD_MANAGER;
// hlblock info
$hlblock_id = $arParams['BLOCK_ID'];
if (empty($hlblock_id)) {
    ShowError(GetMessage('HLBLOCK_VIEW_NO_ID'));
    return 0;
}
$hlblock = HL\HighloadBlockTable::getById($hlblock_id)->fetch();
if (empty($hlblock)) {
    ShowError('404');
    return 0;
}
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
// row data
$main_query = new Entity\Query($entity);
$main_query->setSelect(array('*'));
$main_query->setFilter(array('=ID' => $arParams['ROW_ID']));
$result = $main_query->exec();
$result = new CDBResult($result);
$row = $result->Fetch();
$fields = $USER_FIELD_MANAGER->getUserFieldsWithReadyData('HLBLOCK_' . $hlblock['ID'], $row, LANGUAGE_ID);
if (empty($row)) {
    ShowError(sprintf(GetMessage('HLBLOCK_VIEW_NO_ROW'), $arParams['ROW_ID']));
コード例 #12
0
 /**
  * Determine if fields have been changed.
  *
  * @return bool
  */
 protected function fieldsHaveBeenChanged()
 {
     $old = HighloadBlockTable::getById($this->id)->fetch();
     $new = $this->fields + ['ID' => (string) $this->id];
     return $new != $old;
 }
コード例 #13
0
ファイル: BXHelper.php プロジェクト: firestorm23/bxhelper
 public static function getListByTableNameHighload($table_name, $arSelect)
 {
     global $DB;
     $hl_result = $DB->Query("SELECT * FROM b_hlblock_entity WHERE TABLE_NAME='{$table_name}'")->getNext();
     if (intval($hl_result['ID'])) {
         $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById($hl_result['ID'])->fetch();
         $entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
         $entity_data_class = $entity->getDataClass();
         return $entity_data_class::getList(array('select' => $arSelect));
     }
     return false;
 }
コード例 #14
0
ファイル: Hlblock.php プロジェクト: cjp2600/bim-core
 /**
  * Абстрактный метод проверки передаваемых параметров
  *
  * checkParams
  * @param array $params
  * @return mixed|void
  * @throws \Exception
  */
 public function checkParams($params)
 {
     if (!isset($params['hlblockId']) || empty($params['hlblockId'])) {
         throw new BimException('В параметрах не найден hlblockId');
     }
     foreach ($params['hlblockId'] as $hlblockId) {
         $hlBlock = HL\HighloadBlockTable::getById($hlblockId)->fetch();
         if (!$hlBlock) {
             throw new BimException('В системе не найден highload инфоблок с id = ' . $hlblockId);
         }
         $this->ownerItemDbData[] = $hlBlock;
     }
 }
コード例 #15
0
ファイル: getList.php プロジェクト: dayAlone/MyQube
function getLikesList($element, $user = false, $photos = false)
{
    global $USER;
    $cacheTime = 3600;
    $cacheId = 'likes_' . $element;
    $cachePath = '/likes';
    $obCache = new CPHPCache();
    if ($obCache->InitCache($cacheTime, $cacheId, $cachePath)) {
        $vars = $obCache->GetVars();
        return $vars['data'];
    } else {
        global $CACHE_MANAGER;
        $CACHE_MANAGER->StartTagCache($cachePath);
        $CACHE_MANAGER->RegisterTag($cacheId);
        $requiredModules = array('highloadblock');
        foreach ($requiredModules as $requiredModule) {
            if (!CModule::IncludeModule($requiredModule)) {
                ShowError(GetMessage("F_NO_MODULE"));
                return 0;
            }
        }
        if ($photos) {
            foreach ($photos as $key => &$value) {
                $value = 'photo_' . $value;
            }
        }
        // hlblock info
        $hlblock_id = IB_LIKE;
        if (empty($hlblock_id)) {
            ShowError(GetMessage('HLBLOCK_LIST_NO_ID'));
            return 0;
        }
        $hlblock = HL\HighloadBlockTable::getById($hlblock_id)->fetch();
        if (empty($hlblock)) {
            ShowError('404');
            return 0;
        }
        $entity = HL\HighloadBlockTable::compileEntity($hlblock);
        // uf info
        $fields = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields('HLBLOCK_' . $hlblock['ID'], 0, LANGUAGE_ID);
        // pagination
        $limit = array('nPageSize' => $arParams['ROWS_PER_PAGE'], 'iNumPage' => is_set($_GET['PAGEN_1']) ? $_GET['PAGEN_1'] : 1, 'bShowAll' => true);
        // sort
        $sort_id = 'ID';
        $sort_type = 'DESC';
        // execute query
        $main_query = new Entity\Query($entity);
        $main_query->setSelect(array('*'));
        if ($user) {
            $main_query->setFilter(array('UF_ELEMENT_ID' => $element, 'UF_USER_ID' => $user));
        } else {
            if ($photos) {
                $main_query->setFilter(array('UF_ELEMENT_ID' => $photos));
            } else {
                $main_query->setFilter(array('UF_ELEMENT_ID' => $element));
            }
        }
        $main_query->setOrder(array($sort_id => $sort_type));
        //$main_query->setSelect($select)
        //	->setFilter($filter)
        //	->setGroup($group)
        //	->setOrder($order)
        //	->setOptions($options);
        //$main_query->setLimit($limit['nPageSize']);
        //$main_query->setOffset(($limit['iNumPage']-1) * $limit['nPageSize']);
        $result = $main_query->exec();
        $result = new CDBResult($result);
        // build results
        $rows = array();
        $tableColumns = array();
        $liked = false;
        $userLike = false;
        while ($row = $result->Fetch()) {
            foreach ($row as $k => $v) {
                if ($k === 'UF_USER_ID' && $USER->IsAuthorized() && $v == $USER->GetID()) {
                    $liked = true;
                    $userLike = $row;
                }
                if ($k == 'ID') {
                    $tableColumns['ID'] = true;
                    continue;
                }
                $arUserField = $fields[$k];
                if ($arUserField["SHOW_IN_LIST"] != "Y") {
                    continue;
                }
                $html = call_user_func_array(array($arUserField["USER_TYPE"]["CLASS_NAME"], "getadminlistviewhtml"), array($arUserField, array("NAME" => "FIELDS[" . $row['ID'] . "][" . $arUserField["FIELD_NAME"] . "]", "VALUE" => htmlspecialcharsbx($v))));
                if ($html == '') {
                    $html = ' ';
                }
                $tableColumns[$k] = true;
                $row[$k] = $html;
            }
            $rows[] = $row;
        }
        $data = array('rows' => $rows, 'fields' => $fields, 'colums' => $tableColumns, 'liked' => $liked, 'userLike' => $userLike);
        $CACHE_MANAGER->EndTagCache();
        if ($obCache->StartDataCache()) {
            $obCache->EndDataCache(array("data" => $data));
        }
        return $data;
    }
}
コード例 #16
0
ファイル: change.php プロジェクト: dayAlone/MyQube
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
require $_SERVER['DOCUMENT_ROOT'] . '/local/components/radia/likes/getList.php';
global $USER;
global $CACHE_MANAGER;
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
CModule::IncludeModule("highloadblock");
if ($_GET['id']) {
    $data = getLikesList($_GET['id'], $USER->GetID());
    $hbLike = HL\HighloadBlockTable::getById(1)->fetch();
    $entityLike = HL\HighloadBlockTable::compileEntity($hbLike);
    $logLike = $entityLike->getDataClass();
    $CACHE_MANAGER->ClearByTag('likes_' . $_GET['id']);
    if ($data['liked']) {
        $logLike::Delete($data['userLike']['ID']);
    } else {
        $logLike::add(array('UF_USER_ID' => $USER->GetID(), 'UF_TIME' => ConvertTimeStamp(time(), 'FULL'), 'UF_ELEMENT_ID' => $_GET['id']));
    }
}
コード例 #17
0
ファイル: HlblockField.php プロジェクト: cjp2600/bim-core
 /**
  * Абстрактный метод проверки передаваемых параметров
  *
  * checkParams
  * @param array $params
  * @return mixed|void
  * @throws \Exception
  */
 public function checkParams($params)
 {
     if (!isset($params['hlblockId']) || empty($params['hlblockId'])) {
         throw new BimException('В параметрах не найден hlblockId');
     }
     if (!isset($params['hlFieldId']) || empty($params['hlFieldId'])) {
         throw new BimException('В параметрах не найден hlFieldId');
     }
     $hlBlock = HL\HighloadBlockTable::getById($params['hlblockId'])->fetch();
     if (!$hlBlock) {
         throw new BimException('В системе не найден highload инфоблок с id = ' . $params['hlblockId']);
     }
     $this->ownerItemDbData['hlblockData'] = $hlBlock;
     if ($params['hlFieldId']) {
         $userFieldData = $this->userType->GetByID($params['hlFieldId']);
         if ($userFieldData === false || empty($userFieldData)) {
             throw new BimException('Не найдено пользовательское поле с id = ' . $params['hlFieldId']);
         }
         $this->ownerItemDbData['hlFieldData'] = $userFieldData;
     }
 }
コード例 #18
0
ファイル: GenCommand.php プロジェクト: cjp2600/bim-core
 /**
  * genHlblockFieldDelete
  * @param array $args
  * @param array $options
  */
 public function genHlblockFieldDelete(array $args, array $options = array())
 {
     $dialog = new \ConsoleKit\Widgets\Dialog($this->console);
     $hlId = isset($options['hlblockid']) ? $options['hlblockid'] : false;
     if (!$hlId) {
         $do = true;
         while ($do) {
             $desk = "Put id Highloadblock - no default/required";
             $hlId = $dialog->ask($desk . PHP_EOL . $this->color('[HLBLOCK_ID]:', \ConsoleKit\Colors::YELLOW), '', false);
             $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById($hlId)->fetch();
             if ($hlblock) {
                 $do = false;
             } else {
                 $this->error('Highloadblock with id = "' . $hlId . '" not exist.');
             }
         }
     }
     $hlFieldId = isset($options['hlFieldId']) ? $options['hlFieldId'] : false;
     if (!$hlFieldId) {
         $do = true;
         while ($do) {
             $desk = "Put id HighloadblockField (UserField) - no default/required";
             $hlFieldId = $dialog->ask($desk . PHP_EOL . $this->color('[USER_FIELD_ID]:', \ConsoleKit\Colors::YELLOW), '', false);
             $userFieldData = \CUserTypeEntity::GetByID($hlFieldId);
             if ($userFieldData === false || empty($userFieldData)) {
                 $this->error('UserField with id = "' . $hlFieldId . '" not exist.');
             } else {
                 $do = false;
             }
         }
     }
     # get description options
     $desc = isset($options['d']) ? $options['d'] : "";
     # set
     $autoTag = "delete";
     $this->_save($this->generateObject->generateDeleteCode(array("hlblockId" => $hlId, "hlFieldId" => $hlFieldId)), $this->generateObject->generateAddCode(array("hlblockId" => $hlId, "hlFieldId" => $hlFieldId)), $desc, $autoTag);
 }
コード例 #19
0
global $APPLICATION, $USER, $USER_FIELD_MANAGER;
IncludeModuleLangFile(__FILE__);
if (!$USER->IsAdmin()) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
if (!CModule::IncludeModule(ADMIN_MODULE_NAME)) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
// get entity settings
$hlblock = null;
$ENTITY_ID = 0;
if (isset($_REQUEST['ENTITY_ID'])) {
    $ENTITY_ID = (int) $_REQUEST['ENTITY_ID'];
}
if ($ENTITY_ID > 0) {
    $hlblock = HL\HighloadBlockTable::getById($ENTITY_ID)->fetch();
}
if (empty($hlblock)) {
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
    echo GetMessage('HLBLOCK_ADMIN_ROWS_LIST_NOT_FOUND');
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
    die;
}
$APPLICATION->SetTitle(GetMessage('HLBLOCK_ADMIN_ROWS_LIST_PAGE_TITLE', array('#NAME#' => $hlblock['NAME'])));
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
/** @var HL\DataManager $entity_data_class */
$entity_data_class = $entity->getDataClass();
$entity_table_name = $hlblock['TABLE_NAME'];
$sTableID = 'tbl_' . $entity_table_name;
$oSort = new CAdminSorting($sTableID, "ID", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
コード例 #20
0
ファイル: basket_items.php プロジェクト: bquadro/Projects
    die;
}
use Bitrix\Sale\DiscountCouponsManager;
if (!empty($arResult["ERROR_MESSAGE"])) {
    ShowError($arResult["ERROR_MESSAGE"]);
}
$bDelayColumn = false;
$bDeleteColumn = false;
$bWeightColumn = false;
$bPropsColumn = false;
$bPriceType = false;
//Материалы
$HLB_MATERIAL = 2;
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
$hlblock = HL\HighloadBlockTable::getById($HLB_MATERIAL)->fetch();
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
$main_query = new Entity\Query($entity);
$main_query->setSelect(array('*'));
$result = $main_query->exec();
$result = new CDBResult($result);
$materials = array();
while ($row = $result->Fetch()) {
    $row["ICO"] = CFile::GetByID($row["UF_FILE"]);
    $materials[$row["UF_XML_ID"]] = $row;
}
if ($normalCount > 0) {
    ?>
		<div id="basket_items_list">
				<?php 
    $ik = 0;
コード例 #21
0
ファイル: references.php プロジェクト: ASDAFF/entask.ru
	)
);
if ($dbHblock->Fetch())
	return;

$data = array(
	'NAME' => 'ColorReference',
	'TABLE_NAME' => 'eshop_color_reference',
);

$result = HL\HighloadBlockTable::add($data);
$ID = $result->getId();

$_SESSION["ESHOP_HBLOCK_ID"] = $ID;

$hldata = HL\HighloadBlockTable::getById($ID)->fetch();
$hlentity = HL\HighloadBlockTable::compileEntity($hldata);

//adding user fields
$arUserFields = array (
	array (
		'ENTITY_ID' => 'HLBLOCK_'.$ID,
		'FIELD_NAME' => 'UF_NAME',
		'USER_TYPE_ID' => 'string',
		'XML_ID' => 'UF_COLOR_NAME',
		'SORT' => '100',
		'MULTIPLE' => 'N',
		'MANDATORY' => 'N',
		'SHOW_FILTER' => 'N',
		'SHOW_IN_LIST' => 'Y',
		'EDIT_IN_LIST' => 'Y',
コード例 #22
0
ファイル: highloadblock.php プロジェクト: spas-viktor/books
 public static function OnBeforeUserTypeDelete($field)
 {
     if (preg_match('/^HLBLOCK_(\\d+)$/', $field['ENTITY_ID'], $matches)) {
         // get entity info
         $hlblock_id = $matches[1];
         $hlentity = HighloadBlockTable::getById($hlblock_id)->fetch();
         if (empty($hlentity)) {
             $GLOBALS['APPLICATION']->throwException(sprintf('Entity "HLBLOCK_%s" wasn\'t found.', $hlblock_id));
             return false;
         }
         // drop db column
         $connection = Application::getConnection();
         $connection->dropColumn($hlentity['TABLE_NAME'], $field['FIELD_NAME']);
     }
     return true;
 }
コード例 #23
0
<?php

require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
define('ITUA_WISH_LIST', 4);
global $USER;
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
use Bitrix\Main\Loader;
use Bitrix\Main\Application;
use Bitrix\Main\SystemException;
Loader::includeModule('highloadblock');
$request = Application::getInstance()->getContext()->getRequest();
$idProduct = (int) $request->getPost('idProduct');
$idUser = (int) $request->getPost('idUser');
if ($idProduct && $idUser) {
    $hlblock = HL\HighloadBlockTable::getById(ITUA_WISH_LIST)->fetch();
    $entity = HL\HighloadBlockTable::compileEntity($hlblock);
    $entity_data_class = $entity->getDataClass();
    $rsData = $entity_data_class::getList(array("select" => array("*"), "order" => array("ID" => "ASC"), "filter" => array('UF_USER' => $idUser, 'UF_PRODUCT' => $idProduct)));
    while ($arData = $rsData->Fetch()) {
        $entity_data_class::Delete($arData['ID']);
    }
} else {
    throw new SystemException("Error with parameters - idProduct and idUser");
}
コード例 #24
0
ファイル: highloadblock.php プロジェクト: DarneoStudio/bitrix
 public static function OnBeforeUserTypeDelete($field)
 {
     global $APPLICATION, $USER_FIELD_MANAGER;
     if (preg_match('/^HLBLOCK_(\\d+)$/', $field['ENTITY_ID'], $matches)) {
         // get entity info
         $hlblock_id = $matches[1];
         $hlblock = HighloadBlockTable::getById($hlblock_id)->fetch();
         if (empty($hlblock)) {
             $APPLICATION->throwException(sprintf('Entity "HLBLOCK_%s" wasn\'t found.', $hlblock_id));
             return false;
         }
         $fieldType = $USER_FIELD_MANAGER->getUserType($field["USER_TYPE_ID"]);
         if ($fieldType['BASE_TYPE'] == 'file') {
             // if it was file field, then delete all files
             $entity = static::compileEntity($hlblock);
             /** @var DataManager $dataClass */
             $dataClass = $entity->getDataClass();
             $rows = $dataClass::getList(array('select' => array($field['FIELD_NAME'])));
             while ($oldData = $rows->fetch()) {
                 if (empty($oldData[$field['FIELD_NAME']])) {
                     continue;
                 }
                 if (is_array($oldData[$field['FIELD_NAME']])) {
                     foreach ($oldData[$field['FIELD_NAME']] as $value) {
                         \CFile::delete($value);
                     }
                 } else {
                     \CFile::delete($oldData[$field['FIELD_NAME']]);
                 }
             }
         }
         // drop db column
         $connection = Application::getConnection();
         $connection->dropColumn($hlblock['TABLE_NAME'], $field['FIELD_NAME']);
         // if multiple - drop utm table
         if ($field['MULTIPLE'] == 'Y') {
             $utmTableName = static::getMultipleValueTableName($hlblock, $field);
             $connection->dropTable($utmTableName);
         }
         return array('PROVIDE_STORAGE' => false);
     }
     return true;
 }