sibusql.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. require_once('../application/application.inc.php');
  3. require_once('../application/itopwebpage.class.inc.php');
  4. require_once('../application/startup.inc.php');
  5. require_once('../application/loginwebpage.class.inc.php');
  6. login_web_page::DoLogin(); // Check user rights and prompt if needed
  7. $sOperation = utils::ReadParam('operation', 'menu');
  8. $oContext = new UserContext();
  9. $oAppContext = new ApplicationContext();
  10. $iActiveNodeId = utils::ReadParam('menu', -1);
  11. $currentOrganization = utils::ReadParam('org_id', '');
  12. $oP = new iTopWebPage("iTop - Expression Evaluation", $currentOrganization);
  13. // Main program
  14. $sExpression = utils::ReadParam('expression', '');
  15. $sEncoding = utils::ReadParam('encoding', 'oql');
  16. if ($sEncoding == 'crypted')
  17. {
  18. // Translate $sExpression into a oql expression
  19. $sClearText = base64_decode($sExpression);
  20. echo "<strong>FYI: '$sClearText'</strong><br/>\n";
  21. $oFilter = DBObjectSearch::unserialize($sExpression);
  22. $sExpression = $oFilter->ToOQL();
  23. exit;
  24. }
  25. else
  26. {
  27. // leave $sExpression as is
  28. }
  29. $oP->add('<form method="get">'."\n");
  30. $oP->add('Expression to evaluate:<br/>'."\n");
  31. $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");
  32. $oP->add('<input type="submit" value=" Evaluate ">'."\n");
  33. $oP->add('</form>'."\n");
  34. if (!empty($sExpression))
  35. {
  36. $oFilter = DBObjectSearch::FromOQL($sExpression);
  37. if ($oFilter)
  38. {
  39. $oP->p('Query expression: '.$oFilter->ToOQL());
  40. $oP->p('Serialized filter: '.$oFilter->serialize());
  41. $oSet = new CMDBObjectSet($oFilter);
  42. $oP->p('The query returned '.$oSet->count().' results(s)');
  43. cmdbAbstractObject::DisplaySet($oP, $oSet);
  44. }
  45. }
  46. $oP->output();
  47. ?>