- enhancement: trap exceptions to keep a nice display in case of error

SVN:trunk[84]
This commit is contained in:
Denis Flaven
2009-07-19 09:32:44 +00:00
parent 665d90175f
commit bce801021a

View File

@@ -19,28 +19,30 @@ $oP = new iTopWebPage("iTop - Expression Evaluation", $currentOrganization);
$sExpression = utils::ReadParam('expression', ''); $sExpression = utils::ReadParam('expression', '');
$sEncoding = utils::ReadParam('encoding', 'oql'); $sEncoding = utils::ReadParam('encoding', 'oql');
if ($sEncoding == 'crypted') try
{ {
if ($sEncoding == 'crypted')
{
// Translate $sExpression into a oql expression // Translate $sExpression into a oql expression
$sClearText = base64_decode($sExpression); $sClearText = base64_decode($sExpression);
echo "<strong>FYI: '$sClearText'</strong><br/>\n"; echo "<strong>FYI: '$sClearText'</strong><br/>\n";
$oFilter = DBObjectSearch::unserialize($sExpression); $oFilter = DBObjectSearch::unserialize($sExpression);
$sExpression = $oFilter->ToOQL(); $sExpression = $oFilter->ToOQL();
exit; exit;
} }
else else
{ {
// leave $sExpression as is // leave $sExpression as is
} }
$oP->add('<form method="get">'."\n"); $oP->add('<form method="get">'."\n");
$oP->add('Expression to evaluate:<br/>'."\n"); $oP->add('Expression to evaluate:<br/>'."\n");
$oP->add('<textarea cols="50" rows="20" name="expression">'.$sExpression.'</textarea>'."<p> Example:<br/>SELECT bizPerson AS B WHERE B.name LIKE '%A%'</p>\n"); $oP->add('<textarea cols="50" rows="20" name="expression">'.$sExpression.'</textarea>'."<p> Example:<br/>SELECT bizPerson AS B WHERE B.name LIKE '%A%'</p>\n");
$oP->add('<input type="submit" value=" Evaluate ">'."\n"); $oP->add('<input type="submit" value=" Evaluate ">'."\n");
$oP->add('</form>'."\n"); $oP->add('</form>'."\n");
if (!empty($sExpression)) if (!empty($sExpression))
{ {
$oFilter = DBObjectSearch::FromOQL($sExpression); $oFilter = DBObjectSearch::FromOQL($sExpression);
if ($oFilter) if ($oFilter)
{ {
@@ -51,6 +53,17 @@ if (!empty($sExpression))
$oP->p('The query returned '.$oSet->count().' results(s)'); $oP->p('The query returned '.$oSet->count().' results(s)');
cmdbAbstractObject::DisplaySet($oP, $oSet); cmdbAbstractObject::DisplaySet($oP, $oSet);
} }
}
}
catch(CoreException $e)
{
$oP->p('<b>An error occured while running the query:</b>');
$oP->p($e->getHtmlDesc());
}
catch(Exception $e)
{
$oP->p('<b>An error occured while running the query:</b>');
$oP->p($e->getMessage());
} }
$oP->output(); $oP->output();