diff --git a/pages/UI.php b/pages/UI.php index 497177ea8..30fd3f4d4 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -537,23 +537,26 @@ try case 'search_oql': // OQL query $sOQLClass = utils::ReadParam('oql_class', ''); + $sBaseClass = utils::ReadParam('base_class', $sOQLClass); $sOQLClause = utils::ReadParam('oql_clause', ''); $sFormat = utils::ReadParam('format', ''); $bSearchForm = utils::ReadParam('search_form', true); + $sTitle = utils::ReadParam('title', 'UI:SearchResultsPageTitle'); if (empty($sOQLClass)) { throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'oql_class')); } - $oP->set_title(Dict::S('UI:SearchResultsPageTitle')); + $oP->set_title(Dict::S($sTitle)); + $oP->add('

'.Dict::S($sTitle).'

'); $sOQL = "SELECT $sOQLClass $sOQLClause"; try { - $oFilter = DBObjectSearch::FromOQL($sOQL); - DisplaySearchSet($oP, $oFilter, $bSearchForm, $sBaseClass, $sFormat); + $oFilter = DBObjectSearch::FromOQL($sOQL); + DisplaySearchSet($oP, $oFilter, $bSearchForm, $sBaseClass, $sFormat); } catch(CoreException $e) { - $oFilter = new DBObjectSearch($sOQLClass); + $oFilter = new DBObjectSearch($sOQLClass); $oSet = new DBObjectSet($oFilter); if ($bSearchForm) { @@ -1366,7 +1369,7 @@ EOF } $oFilter = DBObjectSearch::unserialize($sFilter); $sClass = $oFilter->GetClass(); - $aSelectObj = utils::ReadMultipleSelection($oFilter); + $aSelectObject = utils::ReadMultipleSelection($oFilter); if (count($aSelectObject) == 0) { // Nothing to do, no object was selected ! @@ -1830,118 +1833,7 @@ EOF break; /////////////////////////////////////////////////////////////////////////////////////////// - - case 'modify_links': // ?? still used ?? - $sClass = utils::ReadParam('class', ''); - $sLinkAttr = utils::ReadParam('link_attr', ''); - $sTargetClass = utils::ReadParam('target_class', ''); - $id = utils::ReadParam('id', ''); - $bAddObjects = utils::ReadParam('addObjects', false); - if ( empty($sClass) || empty($id) || empty($sLinkAttr) || empty($sTargetClass)) // TO DO: check that the class name is valid ! - { - throw new ApplicationException(Dict::Format('UI:Error:4ParametersMissing', 'class', 'id', 'target_class', 'link_attr')); - } - require_once(APPROOT.'/application/uilinkswizard.class.inc.php'); - $oWizard = new UILinksWizard($sClass, $sLinkAttr, $id, $sTargetClass); - $oWizard->Display($oP, array('StartWithAdd' => $bAddObjects)); - break; - - /////////////////////////////////////////////////////////////////////////////////////////// - - case 'do_modify_links': // ?? still used ?? - $aLinks = utils::ReadPostedParam('linkId', array()); - $sLinksToRemove = trim(utils::ReadPostedParam('linksToRemove', '')); - $aLinksToRemove = array(); - if (!empty($sLinksToRemove)) - { - $aLinksToRemove = explode(' ', trim($sLinksToRemove)); - } - $sClass = utils::ReadPostedParam('class', ''); - $sLinkageAtt = utils::ReadPostedParam('linkage', ''); - $iObjectId = utils::ReadPostedParam('object_id', ''); - $sLinkingAttCode = utils::ReadPostedParam('linking_attcode', ''); - $oMyChange = MetaModel::NewObject("CMDBChange"); - $oMyChange->Set("date", time()); - $sUserString = CMDBChange::GetCurrentUserName(); - $oMyChange->Set("userinfo", $sUserString); - $iChangeId = $oMyChange->DBInsert(); - - // Delete links that are to be deleted - foreach($aLinksToRemove as $iLinkId) - { - if ($iLinkId > 0) // Negative IDs are objects that were not even created - { - $oLink = MetaModel::GetObject($sClass, $iLinkId); - $oLink->DBDeleteTracked($oMyChange); - } - } - - $aEditableFields = array(); - $aData = array(); - foreach(MetaModel::GetAttributesList($sClass) as $sAttCode) - { - $oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode); - if ( (!$oAttDef->IsExternalKey()) && (!$oAttDef->IsExternalField())) - { - $aEditableFields[] = $sAttCode; - $aData[$sAttCode] = utils::ReadParam('attr_'.$sAttCode, array(), 'post'); - } - } - - // Update existing links or create new links - foreach($aLinks as $iLinkId) - { - if ($iLinkId > 0) - { - // This is an existing link to be modified - $oLink = MetaModel::GetObject($sClass, $iLinkId); - - // Update all the attributes of the link - foreach($aEditableFields as $sAttCode) - { - $value = $aData[$sAttCode][$iLinkId]; - $oLink->Set($sAttCode, $value); - } - if ($oLink->IsModified()) - { - $oLink->DBUpdateTracked($oMyChange); - } - //echo "Updated link:
\n"; - //var_dump($oLink); - } - else - { - // A new link must be created - $oLink = MetaModel::NewObject($sClass); - $oLinkedObjectId = -$iLinkId; - // Set all the attributes of the link - foreach($aEditableFields as $sAttCode) - { - $value = $aData[$sAttCode][$iLinkId]; - $oLink->Set($sAttCode, $value); - } - // And the two external keys - $oLink->Set($sLinkageAtt, $iObjectId); - $oLink->Set($sLinkingAttCode, $oLinkedObjectId); - // then save it - //echo "Created link:
\n"; - //var_dump($oLink); - $oLink->DBInsertTracked($oMyChange); - } - } - // Display again the details of the linked object - $oAttDef = MetaModel::GetAttributeDef($sClass, $sLinkageAtt); - $sTargetClass = $oAttDef->GetTargetClass(); - $oObj = MetaModel::GetObject($sTargetClass, $iObjectId); - - $oSearch = new DBObjectSearch(get_class($oObj)); - $oBlock = new DisplayBlock($oSearch, 'search', false); - $oBlock->Display($oP, 0); - $oObj->DisplayDetails($oP); - break; - /////////////////////////////////////////////////////////////////////////////////////////// - case 'swf_navigator': // Graphical display of the relations "impact" / "depends on" $sClass = utils::ReadParam('class', ''); $id = utils::ReadParam('id', 0); diff --git a/pages/ajax.render.php b/pages/ajax.render.php index 9536624ae..9afea1c5f 100644 --- a/pages/ajax.render.php +++ b/pages/ajax.render.php @@ -158,16 +158,6 @@ try } break; - case 'addObjects': - require_once(APPROOT.'/application/uilinkswizard.class.inc.php'); - $sClass = utils::ReadParam('class', '', 'get'); - $sLinkedClass = utils::ReadParam('linkedClass', ''); - $sLinkageAttr = utils::ReadParam('linkageAttr', ''); - $iObjectId = utils::ReadParam('objectId', ''); - $oLinksWizard = new UILinksWizard($sClass, $sLinkageAttr, $iObjectId, $sLinkedClass); - $oLinksWizard->DisplayAddForm($oPage); - break; - // ui.linkswidget case 'searchObjectsToAdd': $sRemoteClass = utils::ReadParam('sRemoteClass', ''); @@ -268,10 +258,18 @@ try $sAttCode = utils::ReadParam('sAttCode', ''); $iInputId = utils::ReadParam('iInputId', ''); $sSuffix = utils::ReadParam('sSuffix', ''); - $sRemoteClass = utils::ReadParam('sRemoteClass', ''); + $sRemoteClass = utils::ReadParam('sRemoteClass', $sClass); $bDuplicates = (utils::ReadParam('bDuplicates', 'false') == 'false') ? false : true; $oWidget = new UILinksWidget($sClass, $sAttCode, $iInputId, $sSuffix, $bDuplicates); - $oWidget->DoAddObjects($oPage, $sRemoteClass); + if ($sFilter != '') + { + $oFullSetFilter = DBObjectSearch::unserialize($sFilter); + } + else + { + $oFullSetFilter = new DBObjectSearch($sRemoteClass); + } + $oWidget->DoAddObjects($oPage, $oFullSetFilter); break; case 'wizard_helper_preview': @@ -357,14 +355,6 @@ try $oDisplayBlock->RenderContent($oPage); break; - case 'preview': - $key = utils::ReadParam('id', 0); - $oFilter = new DBObjectSearch($sClass); - $oFilter->AddCondition('id', $key, '='); - $oDisplayBlock = new DisplayBlock($oFilter, 'preview', false); - $oDisplayBlock->RenderContent($oPage); - break; - case 'pie_chart': $sGroupBy = utils::ReadParam('group_by', ''); if ($sFilter != '')