PageRenderTime 26ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/branches/1.0RC0/www/farm_amis_xml.php

http://scalr.googlecode.com/
PHP | 94 lines | 72 code | 19 blank | 3 comment | 12 complexity | 7085a5aced63d58ebea44b695a6c1d07 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, GPL-3.0
  1. <?
  2. require("src/prepend.inc.php");
  3. header('Pragma: private');
  4. header('Cache-control: private, must-revalidate');
  5. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") )
  6. header("Content-type: application/xhtml+xml");
  7. else
  8. header("Content-type: text/xml");
  9. $tree = new DOMDocument('1.0', 'utf-8');
  10. $tree->loadXML('<tree id="0"></tree>');
  11. if ($req_farmid)
  12. {
  13. if ($_SESSION["uid"] != 0)
  14. $farminfo = $db->GetRow("SELECT id FROM farms WHERE id=? AND clientid=?", array($req_farmid, $_SESSION['uid']));
  15. else
  16. $farminfo = $db->GetRow("SELECT id FROM farms WHERE id=?", array($req_farmid));
  17. }
  18. //
  19. // Default AMIs
  20. //
  21. if ($_SESSION['uid'] != 0)
  22. $amis = $db->GetAll("SELECT * FROM ami_roles WHERE iscompleted='1' AND (roletype = 'SHARED' OR (roletype = 'CUSTOM' AND clientid='{$_SESSION['uid']}'))");
  23. else
  24. $amis = $db->GetAll("SELECT * FROM ami_roles WHERE iscompleted='1'");
  25. $sharedNode = $tree->createElement("item");
  26. $sharedNode->setAttribute("text", "Shared Roles");
  27. $sharedNode->setAttribute("id", "default");
  28. $sharedNode->setAttribute("im0", "folderClosed.gif");
  29. $sharedNode->setAttribute("im1", "folderOpen.gif");
  30. $sharedNode->setAttribute("im2", "folderClosed.gif");
  31. $sharedNode->setAttribute("hidecheck", "1");
  32. $userData = $tree->createElement("userdata", "1");
  33. $userData->setAttribute("name", "isFolder");
  34. $sharedNode->appendChild($userData);
  35. $sharedNode->setAttribute("child", "0");
  36. $customNode = $tree->createElement("item");
  37. $customNode->setAttribute("text", "Custom Roles");
  38. $customNode->setAttribute("id", "custom");
  39. $customNode->setAttribute("im0", "folderClosed.gif");
  40. $customNode->setAttribute("im1", "folderOpen.gif");
  41. $customNode->setAttribute("im2", "folderClosed.gif");
  42. $customNode->setAttribute("hidecheck", "1");
  43. $userData = $tree->createElement("userdata", "1");
  44. $userData->setAttribute("name", "isFolder");
  45. $customNode->appendChild($userData);
  46. $customNode->setAttribute("child", "0");
  47. foreach ((array)$amis as $ami)
  48. {
  49. $idomNode = $tree->createElement("item");
  50. $idomNode->setAttribute("text", $ami["name"]);
  51. $idomNode->setAttribute("id", $ami["ami_id"]);
  52. $idomNode->setAttribute("im0", "icon_hardware.gif");
  53. $idomNode->setAttribute("im1", "icon_hardware.gif");
  54. $idomNode->setAttribute("im2", "icon_hardware.gif");
  55. $userData = $tree->createElement("userdata", $ami["architecture"]);
  56. $userData->setAttribute("name", "Arch");
  57. $idomNode->appendChild($userData);
  58. $userData = $tree->createElement("userdata", $ami["alias"]);
  59. $userData->setAttribute("name", "alias");
  60. $idomNode->appendChild($userData);
  61. if ($farminfo)
  62. {
  63. if ($db->GetOne("SELECT id FROM farm_amis WHERE ami_id=? AND farmid=?", array($ami["ami_id"], $farminfo["id"])))
  64. $idomNode->setAttribute("checked", 1);
  65. }
  66. $idomNode->setAttribute("child", "0");
  67. if ($ami["roletype"] == "SHARED")
  68. $sharedNode->appendChild($idomNode);
  69. else
  70. $customNode->appendChild($idomNode);
  71. }
  72. $tree->documentElement->appendChild($sharedNode);
  73. $tree->documentElement->appendChild($customNode);
  74. print $tree->saveXML();
  75. ?>