Browse Source

- Bug fix: use serialize instead of ToOQL to pass a search to the ajax page, since the OQL string does not contain the query parameters. This caused the chart to fail to load.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@822 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 14 năm trước cách đây
mục cha
commit
a3afbd9bb6
2 tập tin đã thay đổi với 3 bổ sung10 xóa
  1. 2 2
      application/displayblock.class.inc.php
  2. 1 8
      pages/ajax.render.php

+ 2 - 2
application/displayblock.class.inc.php

@@ -702,11 +702,11 @@ EOF
 			$sChartType = isset($aExtraParams['chart_type']) ? $aExtraParams['chart_type'] : 'pie';
 			$sTitle = isset($aExtraParams['chart_title']) ? $aExtraParams['chart_title'] : '';
 			$sGroupBy = isset($aExtraParams['group_by']) ? $aExtraParams['group_by'] : '';
-			$sFilter = $this->m_oFilter->ToOQL();
+			$sFilter = $this->m_oFilter->serialize();
 			$sHtml .= "<div id=\"my_chart_{$iChartCounter}\">If the chart does not display, <a href=\"http://get.adobe.com/flash/\" target=\"_blank\">install Flash</a></div>\n";
 			$oPage->add_script("function ofc_resize(left, width, top, height) { /* do nothing special */ }");
 			$oPage->add_ready_script("swfobject.embedSWF(\"../images/open-flash-chart.swf\", \"my_chart_{$iChartCounter}\", \"100%\", \"300\",\"9.0.0\", \"expressInstall.swf\",
-			{\"data-file\":\"".urlencode("../pages/ajax.render.php?operation=open_flash_chart&params[group_by]=$sGroupBy&params[chart_type]=$sChartType&params[chart_title]=$sTitle&encoding=oql&filter=".urlencode($sFilter))."\"}, {wmode: 'transparent'} );\n");
+			{\"data-file\":\"".urlencode("../pages/ajax.render.php?operation=open_flash_chart&params[group_by]=$sGroupBy&params[chart_type]=$sChartType&params[chart_title]=$sTitle&filter=".$sFilter)."\"}, {wmode: 'transparent'} );\n");
 			$iChartCounter++;
 			break;
 			

+ 1 - 8
pages/ajax.render.php

@@ -184,14 +184,7 @@ switch($operation)
 	$aParams = utils::ReadParam('params', array());
 	if ($sFilter != '')
 	{
-		if ($sEncoding == 'oql')
-		{
-			$oFilter = CMDBSearchFilter::FromOQL($sFilter);
-		}
-		else
-		{
-			$oFilter = CMDBSearchFilter::unserialize($sFilter);
-		}
+		$oFilter = CMDBSearchFilter::unserialize($sFilter);
 		$oDisplayBlock = new DisplayBlock($oFilter, 'open_flash_chart_ajax', false);
 		$oDisplayBlock->RenderContent($oPage, $aParams);
 	}