summaryrefslogtreecommitdiffstats
path: root/inc
diff options
context:
space:
mode:
authorSimon Rettberg2014-05-20 19:20:02 +0200
committerSimon Rettberg2014-05-20 19:20:02 +0200
commit4a8725b8dcac3bd0e7afe463968d281e4cf8df6c (patch)
tree8d1374edd2a1e74ed3a99813210ca84e999fb82c /inc
parentOO style modules (diff)
downloadslx-admin-4a8725b8dcac3bd0e7afe463968d281e4cf8df6c.tar.gz
slx-admin-4a8725b8dcac3bd0e7afe463968d281e4cf8df6c.tar.xz
slx-admin-4a8725b8dcac3bd0e7afe463968d281e4cf8df6c.zip
JS Stuff for Taskmanager interaction
More work on AD wizard
Diffstat (limited to 'inc')
-rw-r--r--inc/message.inc.php1
-rw-r--r--inc/render.inc.php8
-rw-r--r--inc/taskmanager.inc.php29
3 files changed, 31 insertions, 7 deletions
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
<link href="style/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="style/bootstrap-tagsinput.css" rel="stylesheet" media="screen">
<link href="style/default.css" rel="stylesheet" media="screen">
+ <script type="text/javascript">
+ var TOKEN = "' . Session::get('token') . '";
+ </script>
+ </body>
',
self::$header
,
' </head>
<body>
- <div class="container">
+ <div class="container" id="mainpage">
',
self::$body
,
@@ -58,7 +62,7 @@ class Render
<script src="script/jquery.js"></script>
<script src="script/bootstrap.min.js"></script>
<script src="script/bootstrap-tagsinput.min.js"></script>
- <script src="script/custom.js"></script></body>
+ <script src="script/taskmanager.js"></script>
</html>'
;
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;
}