[
        "messages" => "Messages",
        "no messages" => "No messages found."
    ]
]);
$APPS["taskfloor_messages"]["i18n"] = TRUE;
$APPS["taskfloor_messages"]["title"] = "messages";
$APPS["taskfloor_messages"]["icon"] = "comments";
$APPS["taskfloor_messages"]["type"] = "deep-purple";
$content = "";
use GuzzleHttp\Exception\ClientException;
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 .= "
" . lang("no messages", false) . "
";
        }
    }
    $content .= '' . lang("open app", false) . '  ';
    $APPS["taskfloor_messages"]["content"] = $content;
} catch (ClientException $e) {
    if ($e->getResponse()->getStatusCode() == 403) {
        unset($APPS['taskfloor_messages']);
    }
} catch (Exception $e) {
    $content = "" . lang("error loading widget", false) . "  " . $e->getMessage() . "
";
    $content .= '' . lang("open app", false) . '  ';
    $APPS["taskfloor_messages"]["content"] = $content;
}
?>