PageRenderTime 47ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/branches/1.0/www/server/grids/apps_list.php

http://scalr.googlecode.com/
PHP | 97 lines | 77 code | 18 blank | 2 comment | 7 complexity | 9f95ec537157797c5645ec43d50755c9 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, GPL-3.0
  1. <?php
  2. $response = array();
  3. // AJAX_REQUEST;
  4. $context = 6;
  5. try
  6. {
  7. $enable_json = true;
  8. include("../../src/prepend.inc.php");
  9. if ($_SESSION["uid"] == 0)
  10. $sql = "select zone,id,ami_id,role_name,status,farmid FROM zones WHERE 1=1";
  11. else
  12. $sql = "select zone,id,ami_id,role_name,status,farmid FROM zones WHERE clientid='{$_SESSION['uid']}'";
  13. if ($req_farmid)
  14. {
  15. $id = (int)$req_farmid;
  16. $sql .= " AND farmid='{$id}'";
  17. }
  18. if ($req_clientid)
  19. {
  20. $id = (int)$req_clientid;
  21. $sql .= " AND clientid='{$id}'";
  22. }
  23. if ($req_ami_id)
  24. {
  25. $ami_id = $db->qstr($req_ami_id);
  26. $sql .= " AND ami_id={$ami_id}";
  27. }
  28. if ($req_query)
  29. {
  30. $filter = mysql_escape_string($req_query);
  31. foreach(array("zone", "id", "ami_id", "role_name") as $field)
  32. {
  33. $likes[] = "$field LIKE '%{$filter}%'";
  34. }
  35. $sql .= !stristr($sql, "WHERE") ? " WHERE " : " AND (";
  36. $sql .= join(" OR ", $likes);
  37. $sql .= ")";
  38. }
  39. $sort = $req_sort ? mysql_escape_string($req_sort) : "id";
  40. $dir = $req_dir ? mysql_escape_string($req_dir) : "ASC";
  41. $sql .= " ORDER BY $sort $dir";
  42. $response["total"] = $db->Execute($sql)->RecordCount();
  43. $start = $req_start ? (int) $req_start : 0;
  44. $limit = $req_limit ? (int) $req_limit : 20;
  45. $sql .= " LIMIT $start, $limit";
  46. $response["data"] = array();
  47. // Rows
  48. foreach ($db->GetAll($sql) as $row)
  49. {
  50. if ($row["ami_id"])
  51. $row["role"] = $db->GetRow("SELECT name,ami_id,alias FROM ami_roles WHERE ami_id=?", $row["ami_id"]);
  52. $farm = $db->GetRow("SELECT name,id,clientid FROM farms WHERE id=?", $row["farmid"]);
  53. $row["clientid"] = $farm['clientid'];
  54. $row["farm_name"] = $farm['name'];
  55. $row['role_alias'] = $row["role"]['alias'];
  56. switch($row["status"])
  57. {
  58. case ZONE_STATUS::ACTIVE:
  59. $row["string_status"] = "Active";
  60. break;
  61. case ZONE_STATUS::DELETED:
  62. $row["string_status"] = "Pending delete";
  63. break;
  64. case ZONE_STATUS::PENDING:
  65. $row["string_status"] = "Pending create";
  66. break;
  67. case ZONE_STATUS::INACTIVE:
  68. $row["string_status"] = "Inactive";
  69. break;
  70. }
  71. $response["data"][] = $row;
  72. }
  73. }
  74. catch(Exception $e)
  75. {
  76. $response = array("error" => $e->getMessage(), "data" => array());
  77. }
  78. print json_encode($response);
  79. ?>