TaskManager.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. Lib::loadClass('RouteBase');
  3. Lib::loadClass('ProcesHelper');
  4. Lib::loadClass('Config');
  5. Lib::loadClass('UI');
  6. Lib::loadClass('Request');
  7. Lib::loadClass('ProcesHelper');
  8. Lib::loadClass('Response');
  9. Lib::loadClass('DBG');
  10. class Route_UrlAction_TaskManager extends RouteBase {// TODO: UrlActionBase @see Route_UrlAction
  11. public function getStatsAjaxAction() {
  12. try {
  13. $id = V::get('ID', 0, $_GET, 'int');
  14. if ($id <= 0) throw new Exception("ID is not set.");
  15. $sqlId = DB::getPDO()->quote($id, PDO::PARAM_INT);
  16. $type = V::get('TYPE', 0, $_GET, 'string');
  17. $rows = null;
  18. if ($type == "PROBLEM") {
  19. $rows = DB::getPDO()->fetchAll("
  20. SELECT * FROM _SYNC_TASK_PERCENT WHERE ID_TASK = {$sqlId} AND ID_PROJECT = 0
  21. ");
  22. }
  23. if ($type == "PROJECT") {
  24. $rows = DB::getPDO()->fetchAll("
  25. SELECT * FROM _SYNC_TASK_PERCENT WHERE ID_PROJECT = {$sqlId} AND ID_TASK = 0
  26. ");
  27. }
  28. Response::sendJsonExit($rows);
  29. } catch (Exception $e) {
  30. UI::alert('danger', "Error: " . $e->getMessage());
  31. }
  32. }
  33. public function handleAuth() {
  34. if (!User::logged()) {
  35. User::authByRequest();
  36. }
  37. }
  38. public function reinstallAction() {
  39. $createTableSql = file_get_contents(__FILE__ . '.create__SYNC_TASK_PERCENT.sql');
  40. DBG::nicePrint($createTableSql, '$createTableSql');
  41. $dropProcedureSql = "DROP PROCEDURE `PROBLEMS__SYNC_PERCENT`";
  42. DBG::nicePrint($dropProcedureSql, '$dropProcedureSql');
  43. $createProcedureSql = file_get_contents(__FILE__ . '.problems_sync_percent.sql');
  44. DBG::nicePrint($createProcedureSql, '$createProcedureSql');
  45. }
  46. public function defaultAction() {
  47. UI::gora();
  48. UI::menu();
  49. try {
  50. // DB::getPDO()->query("CALL `PROBLEMS__SYNC_PERCENT`();");// TODO: BUG zamula
  51. $id = 0;
  52. $type = "";
  53. if (!empty(V::get('ID_PROBLEM', 0, $_REQUEST, 'int'))) {
  54. $id = V::get('ID_PROBLEM', 0, $_REQUEST, 'int');
  55. $type = "PROBLEM";
  56. }
  57. if (!empty(V::get('ID_PROJECT', 0, $_REQUEST, 'int'))) {
  58. $id = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
  59. $type = "PROJECT";
  60. }
  61. if ($id <= 0) throw new Exception("Wrong ID");
  62. $this->showManager($id, $type);
  63. } catch (Exception $e) {
  64. UI::alert('danger', "Error: " . $e->getMessage());
  65. }
  66. UI::dol();
  67. }
  68. public function showManager($id, $type) {
  69. echo "<div class=container-fluid>";
  70. echo "<div class=row>";
  71. echo "<div class='col-lg-6 col-lg-push-6' id=right>";
  72. echo "</div>";
  73. echo "<div class='col-lg-6 col-lg-pull-6' id=left>";
  74. echo "</div>";
  75. echo "</div>";
  76. echo "</div>";
  77. echo '<link rel="stylesheet" type="text/css" href="static/sweetalert2.min.css">';
  78. // echo '<link rel="stylesheet" href="static/task.css?'.time().'" type="text/css" />';
  79. UI::startTag('style', ['type' => "text/css"]);
  80. include dirname(__FILE__) . '.task.css';
  81. UI::endTag('style');
  82. echo '<script src="static/sweetalert2.min.js"></script>';
  83. echo '<script src="static/jquery.ui.autocomplete.js"></script>';
  84. echo '<script src="static/jquery.ui.menu.js"></script>';
  85. // echo "<script>var BASE_URL = '".Request::getPathUri()."';var TASK = ".$id.";var USER = '".User::getLogin()."';var TYPE='".$type."'; var ProblemsTableId=".ProcesHelper::getZasobTableID('PROBLEMS').";var ProjectsTableId=".ProcesHelper::getZasobTableID('IN7_MK_BAZA_DYSTRYBUCJI')."</script>";
  86. // echo '<script src="static/task.js?'.time().'"></script>';
  87. UI::inlineJS(__FILE__ . '.task.js', [
  88. 'BASE_URL' => Request::getPathUri(),
  89. 'TASK' => "'{$id}'",
  90. 'USER' => "'" . User::getLogin() . "'",
  91. 'TYPE' => "'{$type}'",
  92. 'ProblemsTableId' => "'" . ProcesHelper::getZasobTableID('PROBLEMS') . "'",
  93. 'ProjectsTableId' => "'" . ProcesHelper::getZasobTableID('IN7_MK_BAZA_DYSTRYBUCJI') . "'",
  94. ]);
  95. }
  96. }