From 4a8725b8dcac3bd0e7afe463968d281e4cf8df6c Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 20 May 2014 19:20:02 +0200 Subject: JS Stuff for Taskmanager interaction More work on AD wizard --- inc/message.inc.php | 1 + inc/render.inc.php | 8 ++++++-- inc/taskmanager.inc.php | 29 ++++++++++++++++++++++++----- 3 files changed, 31 insertions(+), 7 deletions(-) (limited to 'inc') diff --git a/inc/message.inc.php b/inc/message.inc.php index 6c95764c..8a3b5d4e 100644 --- a/inc/message.inc.php +++ b/inc/message.inc.php @@ -30,6 +30,7 @@ $error_text = array( 'error-extract' => 'Konnte Archiv nicht nach {{0}} entpacken - {{1}}', 'module-added' => 'Modul erfolgreich hinzugefügt', 'taskmanager-error' => 'Verbindung zum Taskmanager fehlgeschlagen', + 'taskmanager-format' => 'Taskmanager hat ungültige Daten zurückgeliefert', 'task-error' => 'Ausführung fehlgeschlagen: {{0}}', ); diff --git a/inc/render.inc.php b/inc/render.inc.php index dff32798..cf0958c2 100644 --- a/inc/render.inc.php +++ b/inc/render.inc.php @@ -45,12 +45,16 @@ class Render + + ', self::$header , ' -
+
', self::$body , @@ -58,7 +62,7 @@ class Render - + ' ; if ($zip) { diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php index f2f337be..3353050f 100644 --- a/inc/taskmanager.inc.php +++ b/inc/taskmanager.inc.php @@ -12,21 +12,40 @@ class Taskmanager { if (self::$sock !== false) return; self::$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); - socket_set_option(self::$sock, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 0, 'usec' => 100000)); - socket_set_option(self::$sock, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 0, 'usec' => 100000)); + socket_set_option(self::$sock, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 0, 'usec' => 300000)); + socket_set_option(self::$sock, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 0, 'usec' => 200000)); socket_connect(self::$sock, '127.0.0.1', 9215); } - public static function submit($task, $data, $async) + public static function submit($task, $data, $async = false) { self::init(); $seq = (string)mt_rand(); - $data = json_encode($data); + if (empty($data)) { + $data = '{}'; + } else { + $data = json_encode($data); + } $message = "$seq, $task, $data"; $sent = socket_send(self::$sock, $message, strlen($message), 0); + if ($sent != strlen($message)) { + Message::addError('taskmanager-error'); + return false; + } if ($async) return true; $reply = self::readReply($seq); - if (!is_array($reply)) return false; + if ($reply === false) { + Message::addError('taskmanager-error'); + return false; + } + if (!is_array($reply)) { + Message::addError('taskmanager-format'); + return false; + } + if ($reply['statusCode'] === NO_SUCH_TASK) { + Message::addError('task-error', 'Ungültiger Task: ' . $task); + return false; + } return $reply; } -- cgit v1.2.3-55-g7522