if ($sFilter != '') { $oFullSetFilter = DBObjectSearch::unserialize($sFilter); } else { $oLinksetDef = MetaModel::GetAttributeDef($sClass, $sAttCode); $valuesDef = $oLinksetDef->GetValuesDef(); if ($valuesDef === null) { $oFullSetFilter = new DBObjectSearch($oLinksetDef->GetLinkedClass()); } else { if (!$valuesDef instanceof ValueSetObjects) { throw new Exception('Error: only ValueSetObjects are supported for "allowed_values" in AttributeLinkedSet (' . $this->sClass . '/' . $this->sAttCode . ').'); } $oFullSetFilter = DBObjectSearch::FromOQL($valuesDef->GetFilterExpression()); } } $oWidget = new UILinksWidgetDirect($sClass, $sAttCode, $iInputId); $oWidget->DoAddObjects($oPage, $oFullSetFilter); break; //////////////////////////////////////////////////////////// // ui.extkeywidget //////////////////////////////////////////////////////////// // ui.extkeywidget case 'searchObjectsToSelect': $oPage->SetContentType('text/html'); $sTargetClass = utils::ReadParam('sTargetClass', '', false, 'class'); $iInputId = utils::ReadParam('iInputId', ''); $sRemoteClass = utils::ReadParam('sRemoteClass', '', false, 'class'); $sFilter = utils::ReadParam('sFilter', '', false, 'raw_data'); $sJson = utils::ReadParam('json', '', false, 'raw_data'); $sAttCode = utils::ReadParam('sAttCode', ''); $bSearchMode = utils::ReadParam('bSearchMode', 'false') == 'true'; if (!empty($sJson)) {