diff --git a/.gitignore b/.gitignore index aefdb9c..bb3ffc6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ /vendor /database.mwb.bak /nbproject/private -*.sync-conflict* \ No newline at end of file +*.sync-conflict* +test* \ No newline at end of file diff --git a/apps/taskfloor_messages.php b/apps/taskfloor_messages.php new file mode 100644 index 0000000..dff73f1 --- /dev/null +++ b/apps/taskfloor_messages.php @@ -0,0 +1,53 @@ + [ + "messages" => "Messages", + "no messages" => "No messages found." + ] +]); +$APPS["taskfloor_messages"]["i18n"] = TRUE; +$APPS["taskfloor_messages"]["title"] = "messages"; +$APPS["taskfloor_messages"]["icon"] = "comments"; +try { + $client = new GuzzleHttp\Client(); + + $response = $client->request('POST', TASKFLOOR_API, ['form_params' => [ + 'action' => "getmsgs", + 'username' => $_SESSION['username'], + 'password' => $_SESSION['password'], + 'max' => 5 + ]]); + + $resp = json_decode($response->getBody(), TRUE); + if ($resp['status'] == "OK") { + if (count($resp['messages']) > 0) { + $content = '
'; + foreach ($resp['messages'] as $msg) { + $content .= '
'; + $content .= $msg['text']; + $fromuser = $msg['from']['username']; + $fromname = $msg['from']['name']; + $touser = $msg['to']['username']; + $toname = $msg['to']['name']; + $content .= << + + $fromname + + $toname + +END; + $content .= '
'; + } + $content .= "
"; + } else { + $content = "
" . lang("no messages", false) . "
"; + } + } +} catch (Exception $e) { + $content = "
" . lang("error loading widget", false) . " " . $e->getMessage() . "
"; +} +$content .= '' . lang("open app", false) . '  '; +$APPS["taskfloor_messages"]["content"] = $content; +?> \ No newline at end of file diff --git a/pages.php b/pages.php index fba7053..83d911a 100644 --- a/pages.php +++ b/pages.php @@ -17,6 +17,7 @@ define("PAGES", [ define("APPS", [ "home" => [ "taskfloor_tasks", + "taskfloor_messages", "sample_app" ], "security" => [