ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilBackgroundTaskJson.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
11 {
18  public static function getFailedJson($a_message)
19  {
20  global $DIC;
21  $lng = $DIC['lng'];
22 
23  $json = new stdClass();
24 
25  $json->status = "fail";
26  $json->title = self::jsonSafeString($lng->txt("bgtask_failure"));
27  $json->message = self::jsonSafeString($a_message);
28  $json->button = self::jsonSafeString($lng->txt("ok"));
29 
30  return $json;
31  }
32 
39  public static function getBlockedJson($a_task_id)
40  {
41  global $DIC;
42  $lng = $DIC['lng'];
43 
44  $json = new stdClass();
45 
46  $json->status = "block";
47  $json->task_id = $a_task_id;
48  $json->title = self::jsonSafeString($lng->txt("bgtask_blocked"));
49  $json->message = self::jsonSafeString($lng->txt("bgtask_blocked_info"));
50  $json->button_old = self::jsonSafeString($lng->txt("bgtask_blocked_cancel_old"));
51  $json->button_new = self::jsonSafeString($lng->txt("bgtask_blocked_cancel_new"));
52 
53  return $json;
54  }
55 
64  public static function getProcessingJson($a_task_id, $a_message, $a_steps)
65  {
66  global $DIC;
67  $lng = $DIC['lng'];
68 
69  $json = new stdClass();
70 
71  $json->status = "bg";
72  $json->task_id = $a_task_id;
73  $json->title = self::jsonSafeString($lng->txt("bgtask_processing"));
74  $json->message = self::jsonSafeString($a_message);
75  $json->button = self::jsonSafeString($lng->txt("cancel"));
76  $json->steps = (int) $a_steps;
77 
78  return $json;
79  }
80 
89  public static function getProgressJson(ilBackgroundTask $a_task, $a_finished_cmd = null, $a_finished_result = null)
90  {
91  $json = new stdClass();
92 
93  $json->status = $a_task->getStatus();
94  $json->steps = $a_task->getSteps();
95  $json->current = $a_task->getCurrentStep();
96 
97  // if task has been finished, get result action
98  if ($a_finished_cmd) {
99  $json->result_cmd = $a_finished_cmd;
100  $json->result = $a_finished_result;
101  }
102 
103  return $json;
104  }
105 
114  public static function getFinishedJson($a_task_id, $a_cmd, $a_result)
115  {
116  $json = new stdClass();
117 
118  $json->status = "finished";
119  $json->task_id = $a_task_id;
120  $json->result_cmd = $a_cmd;
121  $json->result = $a_result;
122 
123  return $json;
124  }
125 
132  protected static function jsonSafeString($a_text)
133  {
134  if (!is_string($a_text)) {
135  return $a_text;
136  }
137 
138  $a_text = htmlentities($a_text, ENT_COMPAT | ENT_HTML401, "UTF-8");
139  $a_text = str_replace("'", "&#039;", $a_text);
140 
141  return $a_text;
142  }
143 }
static getFinishedJson($a_task_id, $a_cmd, $a_result)
Get json for finished task.
getSteps()
Gets the steps.
global $DIC
Definition: saml.php:7
static getProcessingJson($a_task_id, $a_message, $a_steps)
Get json for processing task.
static jsonSafeString($a_text)
Makes the specified string safe for JSON.
static getFailedJson($a_message)
Get json for failed task.
getCurrentStep()
Gets the current step.
Background task JSON helper.
static getProgressJson(ilBackgroundTask $a_task, $a_finished_cmd=null, $a_finished_result=null)
Get json for task progress.
static getBlockedJson($a_task_id)
Get json for blocked task.
global $lng
Definition: privfeed.php:17
getStatus()
Gets the status.