static function getControls($controlId = false)
{
$controlList = array(
self::ENTITY_USER_ID => array(
'ID' => self::ENTITY_USER_ID,
'EXECUTE_MODULE' => 'sale',
'MODULE_ID' => 'main',
'MODULE_ENTITY' => 'main',
'ENTITY' => 'USER',
'FIELD' => 'USER_ID',
'FIELD_TYPE' => 'int',
'MULTIPLE' => 'N',
'GROUP' => 'N',
'LABEL' => Loc::getMessage('SALE_USER_CONDITION_CONTROL_FIELD_USER_ID'),
'PREFIX' => Loc::getMessage('SALE_USER_CONDITION_CONTROL_FIELD_USER_PREFIX'),
'LOGIC' => static::getLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)),
'JS_VALUE' => array(
'type' => 'userPopup',
'popup_url' => self::getAdminSection().'user_search.php',
'popup_params' => array(
'lang' => LANGUAGE_ID,
),
'param_id' => 'n',
'show_value' => 'Y',
'user_load_url' => '/bitrix/admin/sale_discount_edit.php?lang=' . LANGUAGE_ID,
'coreUserInfo' => 'Y',
),
'PHP_VALUE' => array(
'VALIDATE' => 'user'
)
),
);
if (!MainModuleManager::isModuleInstalled('bitrix24'))
{
$labels = array(
BT_COND_LOGIC_EQ => Loc::getMessage('SALE_USER_CONDITION_CONTROL_FIELD_USER_GROUP_EQ'),
BT_COND_LOGIC_NOT_EQ => Loc::getMessage('SALE_USER_CONDITION_CONTROL_FIELD_USER_GROUP_NOT_EQ'),
);
$userGroups = array();
$iterator = MainGroupTable::getList(array(
'select' => array('ID', 'NAME', 'C_SORT'),
'order' => array('C_SORT' => 'ASC', 'NAME' => 'ASC')
));
while ($row = $iterator->fetch())
$userGroups[$row['ID']] = $row['NAME'];
unset($row, $iterator);
$controlList[self::ENTITY_USER_GROUP_ID] = array(
'ID' => self::ENTITY_USER_GROUP_ID,
'EXECUTE_MODULE' => 'all',
'MODULE_ID' => 'main',
'MODULE_ENTITY' => 'main',
'ENTITY' => 'USER_GROUPS',
'FIELD' => 'USER_GROUPS',
'FIELD_TYPE' => 'int',
'MULTIPLE' => 'Y',
'GROUP' => 'N',
'LABEL' => Loc::getMessage('SALE_USER_CONDITION_CONTROL_FIELD_USER_GROUP_ID'),
'PREFIX' => Loc::getMessage('SALE_USER_CONDITION_CONTROL_FIELD_USER_GROUP_PREFIX'),
'LOGIC' => static::getLogicEx(array_keys($labels), $labels),
'JS_VALUE' => array(
'type' => 'select',
'multiple' => 'Y',
'values' => $userGroups,
'show_value' => 'Y'
),
'PHP_VALUE' => array(
'VALIDATE' => 'list'
)
);
unset($userGroups, $labels);
}
return static::searchControl($controlList, $controlId);
}