53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|  | <?php | ||
|  | 
 | ||
|  | dieifnotloggedin(); | ||
|  | addMultiLangStrings(["en_us" => [ | ||
|  |         "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 = '<div class="list-group">'; | ||
|  |             foreach ($resp['messages'] as $msg) { | ||
|  |                 $content .= '<div class="list-group-item">'; | ||
|  |                 $content .= $msg['text']; | ||
|  |                 $fromuser = $msg['from']['username']; | ||
|  |                 $fromname = $msg['from']['name']; | ||
|  |                 $touser = $msg['to']['username']; | ||
|  |                 $toname = $msg['to']['name']; | ||
|  |                 $content .= <<<END | ||
|  | <br /> | ||
|  | <span class="small"> | ||
|  |     <span data-toggle="tooltip" title="$fromuser">$fromname</span> | ||
|  |     <i class="fa fa-caret-right"></i> | ||
|  |     <span data-toggle="tooltip" title="$touser">$toname</span> | ||
|  | </span> | ||
|  | END; | ||
|  |                 $content .= '</div>'; | ||
|  |             } | ||
|  |             $content .= "</div>"; | ||
|  |         } else { | ||
|  |             $content = "<div class=\"alert alert-info\">" . lang("no messages", false) . "</div>"; | ||
|  |         } | ||
|  |     } | ||
|  | } catch (Exception $e) { | ||
|  |     $content = "<div class=\"alert alert-danger\">" . lang("error loading widget", false) . "  " . $e->getMessage() . "</div>"; | ||
|  | } | ||
|  | $content .= '<a href="' . TASKFLOOR_HOME . '" class="btn btn-primary btn-block">' . lang("open app", false) . '  <i class="fa fa-external-link-square"></i></a>'; | ||
|  | $APPS["taskfloor_messages"]["content"] = $content; | ||
|  | ?>
 |