|
|
|
|
@@ -1124,7 +1124,7 @@ JS
|
|
|
|
|
$oSingleGroupByValueFilter->SetShowObsoleteData($this->m_bShowObsoleteData);
|
|
|
|
|
}
|
|
|
|
|
$sHyperlink = utils::GetAbsoluteUrlAppRoot()
|
|
|
|
|
.'pages/UI.php?operation=search&'.$oAppContext->GetForLink()
|
|
|
|
|
.'pages/UI.php?operation=search'.$oAppContext->GetForLink(true)
|
|
|
|
|
.'&filter='.rawurlencode($oSingleGroupByValueFilter->serialize());
|
|
|
|
|
$aCounts[$sStateValue] = ['link' => $sHyperlink, 'label' => $aCounts[$sStateValue]];
|
|
|
|
|
}
|
|
|
|
|
@@ -1232,7 +1232,7 @@ JS
|
|
|
|
|
$iCount = $this->m_oSet->Count();
|
|
|
|
|
$sClassLabel = MetaModel::GetName($sClass);
|
|
|
|
|
$sClassIconUrl = MetaModel::GetClassIcon($sClass, false);
|
|
|
|
|
$sHyperlink = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search&'.$oAppContext->GetForLink().'&filter='.rawurlencode($this->m_oFilter->serialize());
|
|
|
|
|
$sHyperlink = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search'.$oAppContext->GetForLink(true).'&filter='.rawurlencode($this->m_oFilter->serialize());
|
|
|
|
|
|
|
|
|
|
$aExtraParams['query_params'] = $this->m_oFilter->GetInternalParams();
|
|
|
|
|
$aRefreshParams = [
|
|
|
|
|
@@ -1241,7 +1241,7 @@ JS
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
if (UserRights::IsActionAllowed($sClass, UR_ACTION_MODIFY)) {
|
|
|
|
|
$sCreateActionUrl = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=new&class='.$sClass.'&'.$oAppContext->GetForLink();
|
|
|
|
|
$sCreateActionUrl = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=new&class='.$sClass.$oAppContext->GetForLink(true);
|
|
|
|
|
$sCreateActionLabel = Dict::Format('UI:Button:Create');
|
|
|
|
|
$oBlock = DashletFactory::MakeForDashletBadge($sClassIconUrl, $sHyperlink, $iCount, $sClassLabel, $sCreateActionUrl,
|
|
|
|
|
$sCreateActionLabel, $aRefreshParams);
|
|
|
|
|
@@ -1289,7 +1289,7 @@ JS
|
|
|
|
|
|
|
|
|
|
$aData = array();
|
|
|
|
|
$oAppContext = new ApplicationContext();
|
|
|
|
|
$sParams = $oAppContext->GetForLink();
|
|
|
|
|
$sParams = $oAppContext->GetForLink(true);
|
|
|
|
|
foreach ($aGroupBy as $iRow => $iCount) {
|
|
|
|
|
// Build the search for this subset
|
|
|
|
|
$oSubsetSearch = $this->m_oFilter->DeepClone();
|
|
|
|
|
@@ -1304,7 +1304,7 @@ JS
|
|
|
|
|
|
|
|
|
|
$aData[] = array(
|
|
|
|
|
'group' => $aLabels[$iRow],
|
|
|
|
|
'value' => "<a href=\"".utils::GetAbsoluteUrlAppRoot()."pages/UI.php?operation=search&dosearch=1&$sParams&filter=$sFilter\">$iCount</a>"
|
|
|
|
|
'value' => "<a href=\"".utils::GetAbsoluteUrlAppRoot()."pages/UI.php?operation=search&dosearch=1$sParams&filter=$sFilter\">$iCount</a>"
|
|
|
|
|
); // TO DO: add the context information
|
|
|
|
|
}
|
|
|
|
|
$aAttribs = array(
|
|
|
|
|
@@ -1636,7 +1636,7 @@ JS
|
|
|
|
|
$sGroupByExpr = isset($aExtraParams['group_by_expr']) ? '¶ms[group_by_expr]='.$aExtraParams['group_by_expr'] : '';
|
|
|
|
|
$sFilter = $this->m_oFilter->serialize(false, $aQueryParams);
|
|
|
|
|
$oContext = new ApplicationContext();
|
|
|
|
|
$sContextParam = $oContext->GetForLink();
|
|
|
|
|
$sContextParam = $oContext->GetForLink(true);
|
|
|
|
|
$sAggregationFunction = isset($aExtraParams['aggregation_function']) ? $aExtraParams['aggregation_function'] : '';
|
|
|
|
|
$sAggregationAttr = isset($aExtraParams['aggregation_attribute']) ? $aExtraParams['aggregation_attribute'] : '';
|
|
|
|
|
$sLimit = isset($aExtraParams['limit']) ? $aExtraParams['limit'] : '';
|
|
|
|
|
@@ -1644,7 +1644,7 @@ JS
|
|
|
|
|
$sOrderDirection = isset($aExtraParams['order_direction']) ? $aExtraParams['order_direction'] : '';
|
|
|
|
|
|
|
|
|
|
if (isset($aExtraParams['group_by_label'])) {
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$sGroupBy{$sGroupByExpr}¶ms[group_by_label]={$aExtraParams['group_by_label']}¶ms[chart_type]=$sChartType¶ms[currentId]=$sChartId{$iChartCounter}¶ms[order_direction]=$sOrderDirection¶ms[order_by]=$sOrderBy¶ms[limit]=$sLimit¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sChartId{$iChartCounter}&filter=".rawurlencode($sFilter).'&'.$sContextParam;
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$sGroupBy{$sGroupByExpr}¶ms[group_by_label]={$aExtraParams['group_by_label']}¶ms[chart_type]=$sChartType¶ms[currentId]=$sChartId{$iChartCounter}¶ms[order_direction]=$sOrderDirection¶ms[order_by]=$sOrderBy¶ms[limit]=$sLimit¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sChartId{$iChartCounter}&filter=".rawurlencode($sFilter).$sContextParam;
|
|
|
|
|
} else {
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$sGroupBy{$sGroupByExpr}¶ms[chart_type]=$sChartType¶ms[currentId]=$sChartId{$iChartCounter}¶ms[order_direction]=$sOrderDirection¶ms[order_by]=$sOrderBy¶ms[limit]=$sLimit¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sChartId{$iChartCounter}&filter=".rawurlencode($sFilter).'&'.$sContextParam;
|
|
|
|
|
}
|
|
|
|
|
@@ -1681,11 +1681,14 @@ JS
|
|
|
|
|
$oBlock = null;
|
|
|
|
|
$sJSURLs = '';
|
|
|
|
|
|
|
|
|
|
$oContext = new ApplicationContext();
|
|
|
|
|
$sContextParam = $oContext->GetForLink(true);
|
|
|
|
|
|
|
|
|
|
if (isset($aExtraParams['group_by'])) {
|
|
|
|
|
$this->MakeGroupByQuery($aExtraParams, $oGroupByExp, $sGroupByLabel, $aGroupBy, $sAggregationFunction, $sFctVar, $sAggregationAttr, $sSql);
|
|
|
|
|
$aRes = CMDBSource::QueryToArray($sSql);
|
|
|
|
|
$oContext = new ApplicationContext();
|
|
|
|
|
$sContextParam = $oContext->GetForLink();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$iTotalCount = 0;
|
|
|
|
|
$aURLs = array();
|
|
|
|
|
@@ -1705,14 +1708,14 @@ JS
|
|
|
|
|
$oSubsetSearch = $this->m_oFilter->DeepClone();
|
|
|
|
|
$oCondition = new BinaryExpression($oGroupByExp, '=', new ScalarExpression($sValue));
|
|
|
|
|
$oSubsetSearch->AddConditionExpression($oCondition);
|
|
|
|
|
$aURLs[] = utils::GetAbsoluteUrlAppRoot()."pages/UI.php?operation=search&format=html&filter=".rawurlencode($oSubsetSearch->serialize()).'&'.$sContextParam;
|
|
|
|
|
$aURLs[] = utils::GetAbsoluteUrlAppRoot()."pages/UI.php?operation=search&format=html&filter=".rawurlencode($oSubsetSearch->serialize()).$sContextParam;
|
|
|
|
|
}
|
|
|
|
|
$sJSURLs = json_encode($aURLs);
|
|
|
|
|
}
|
|
|
|
|
if (isset($aExtraParams['group_by_label'])) {
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$aExtraParams[group_by]¶ms[group_by_label]={$aExtraParams['group_by_label']}¶ms[chart_type]=$sChartType¶ms[currentId]=$aExtraParams[currentId]¶ms[order_direction]=$aExtraParams[order_direction]¶ms[order_by]=$aExtraParams[order_by]¶ms[limit]=$aExtraParams[limit]¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sId&filter=".rawurlencode($this->m_oFilter->ToOQL()).'&'.$sContextParam;
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$aExtraParams[group_by]¶ms[group_by_label]={$aExtraParams['group_by_label']}¶ms[chart_type]=$sChartType¶ms[currentId]=$aExtraParams[currentId]¶ms[order_direction]=$aExtraParams[order_direction]¶ms[order_by]=$aExtraParams[order_by]¶ms[limit]=$aExtraParams[limit]¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sId&filter=".rawurlencode($this->m_oFilter->ToOQL()).$sContextParam;
|
|
|
|
|
} else {
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$aExtraParams[group_by]¶ms[chart_type]=$sChartType¶ms[currentId]=$aExtraParams[currentId]¶ms[order_direction]=$aExtraParams[order_direction]¶ms[order_by]=$aExtraParams[order_by]¶ms[limit]=$aExtraParams[limit]¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sId&filter=".rawurlencode($this->m_oFilter->ToOQL()).'&'.$sContextParam;
|
|
|
|
|
$sUrl = utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php?operation=chart¶ms[group_by]=$aExtraParams[group_by]¶ms[chart_type]=$sChartType¶ms[currentId]=$aExtraParams[currentId]¶ms[order_direction]=$aExtraParams[order_direction]¶ms[order_by]=$aExtraParams[order_by]¶ms[limit]=$aExtraParams[limit]¶ms[aggregation_function]=$sAggregationFunction¶ms[aggregation_attribute]=$sAggregationAttr&id=$sId&filter=".rawurlencode($this->m_oFilter->ToOQL()).$sContextParam;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch ($sChartType) {
|
|
|
|
|
@@ -1785,7 +1788,7 @@ JS
|
|
|
|
|
|
|
|
|
|
$oBlock->sCsvFile = strtolower($this->m_oFilter->GetClass()).'.csv';
|
|
|
|
|
$oBlock->sDownloadLink = utils::GetAbsoluteUrlAppRoot().'webservices/export.php?expression='.urlencode($this->m_oFilter->ToOQL(true)).'&format=csv&filename='.urlencode($oBlock->sCsvFile);
|
|
|
|
|
$oBlock->sLinkToToggle = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search&'.$oAppContext->GetForLink().'&filter='.rawurlencode($this->m_oFilter->serialize()).'&format=csv';
|
|
|
|
|
$oBlock->sLinkToToggle = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search'.$oAppContext->GetForLink(true).'&filter='.rawurlencode($this->m_oFilter->serialize()).'&format=csv';
|
|
|
|
|
// Pass the parameters via POST, since expression may be very long
|
|
|
|
|
$aParamsToPost = array(
|
|
|
|
|
'expression' => $this->m_oFilter->ToOQL(true),
|
|
|
|
|
@@ -1885,10 +1888,7 @@ class MenuBlock extends DisplayBlock
|
|
|
|
|
&& (!isset($aExtraParams['menu']) || $aExtraParams['menu'] === "1" || $aExtraParams['menu'] === true)
|
|
|
|
|
) {
|
|
|
|
|
$oAppContext = new ApplicationContext();
|
|
|
|
|
$sContext = $oAppContext->GetForLink();
|
|
|
|
|
if (utils::IsNotNullOrEmptyString($sContext)) {
|
|
|
|
|
$sContext = '&'.$sContext;
|
|
|
|
|
}
|
|
|
|
|
$sContext = $oAppContext->GetForLink(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sFilter = $this->GetFilter()->serialize();
|
|
|
|
|
@@ -2578,11 +2578,8 @@ class MenuBlock extends DisplayBlock
|
|
|
|
|
$sUrl = "{$sRootUrl}pages/{$sUIPage}?{$sUrlParams}";
|
|
|
|
|
|
|
|
|
|
$oAppContext = new ApplicationContext();
|
|
|
|
|
$sContext = $oAppContext->GetForLink();
|
|
|
|
|
if (utils::IsNotNullOrEmptyString($sContext)) {
|
|
|
|
|
$sUrl .= '&'.$sContext;
|
|
|
|
|
}
|
|
|
|
|
$sContext = $oAppContext->GetForLink(true);
|
|
|
|
|
|
|
|
|
|
return $sUrl;
|
|
|
|
|
return $sUrl . $sContext;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|