Das folgende Beispiel enthält ein auf der cURL-Bibliothek basierendes PHP-Skript, das eine Anfrage durchführt, und eine Seite mit einigen Beispielen für API-Aufrufe, die auf diesem Skript basieren; einschließlich Autorisierung, Abrufen einer Liste von Plattformen, Abrufen einer Geräteliste nach Plattform, Erstellen eines Zeitplans und einer Benachrichtigungsgruppe.
Dieses Skript enthält eine Hauptanforderungsfunktion, die auf einer PHP cURL-Bibliothek basiert, die API-Methoden aufruft und als Ergebnis ein JSON-Objekt anzeigt.
CODE:
<br />
[php]<br />
<encoded_tag_open />?php<br />
// constant Dotcom-Monitor API v.1 address<br />
$API_URL = ‚https://api.dotcom-monitor.com/config_api_v1/‘;<br />
// $action – dynamic url part<br />
// $method – HTTP method<br />
// $data – POST data, ’null‘ for GET request<br />
function Request($action, $method, $data) {<br />
// accessing global variable<br />
global $API_URL;<br />
// setting request url (merging „constant“ and „dynamic“ part)<br />
$ch = curl_init($API_URL . $action);<br />
// setting HTTP method<br />
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);<br />
// return string<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />
// igroring SSL certificate<br />
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);<br />
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);<br />
// Cookie management<br />
curl_setopt($ch, CURLOPT_COOKIEFILE, ‚D:\PhpExample\cookie.txt‘);<br />
curl_setopt($ch, CURLOPT_COOKIEJAR, ‚D:\PhpExample\cookie.txt‘);<br />
// creating request header array<br />
$headers = array(‚Content-Type: application/json‘);<br />
// checking if ‚POST‘ method<br />
if($method === ‚POST‘ && $data != null)<br />
{<br />
// encode input data to json<br />
$data_string = json_encode($data);<br />
// setting POST data<br />
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);<br />
// setting content length header<br />
array_push($headers, ‚Content-Length: ‚ . strlen($data_string));<br />
}<br />
// setting headers<br />
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);<br />
// making request<br />
$result = curl_exec($ch);<br />
// closing connection<br />
curl_close($ch);<br />
// displaying response<br />
echo $result;<br />
// returning deserialized json data as object<br />
return json_decode($result);<br />
}<br />
?<encoded_tag_closed /><br />
[/php]<br />
[php]<br />
<encoded_tag_open />?php<br />
// constant Dotcom-Monitor API v.1 address<br />
$API_URL = ‚https://api.dotcom-monitor.com/config_api_v1/‘;<br />
// $action – dynamic url part<br />
// $method – HTTP method<br />
// $data – POST data, ’null‘ for GET request<br />
function Request($action, $method, $data) {<br />
// accessing global variable<br />
global $API_URL;<br />
// setting request url (merging „constant“ and „dynamic“ part)<br />
$ch = curl_init($API_URL . $action);<br />
// setting HTTP method<br />
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);<br />
// return string<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />
// igroring SSL certificate<br />
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);<br />
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);<br />
// Cookie management<br />
curl_setopt($ch, CURLOPT_COOKIEFILE, ‚D:\PhpExample\cookie.txt‘);<br />
curl_setopt($ch, CURLOPT_COOKIEJAR, ‚D:\PhpExample\cookie.txt‘);<br />
// creating request header array<br />
$headers = array(‚Content-Type: application/json‘);<br />
// checking if ‚POST‘ method<br />
if($method === ‚POST‘ && $data != null)<br />
{<br />
// encode input data to json<br />
$data_string = json_encode($data);<br />
// setting POST data<br />
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);<br />
// setting content length header<br />
array_push($headers, ‚Content-Length: ‚ . strlen($data_string));<br />
}<br />
// setting headers<br />
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);<br />
// making request<br />
$result = curl_exec($ch);<br />
// closing connection<br />
curl_close($ch);<br />
// displaying response<br />
echo $result;<br />
// returning deserialized json data as object<br />
return json_decode($result);<br />
}<br />
?<encoded_tag_closed /><br />
[/php]<br />
Seite enthält Beispiele für die Autorisierung, die Auflistung von Ressourcen, die Erstellung von Geräten und die einfache Verwaltung von Benachrichtigungsgruppen und Vorlagen.
CODE:
<br />
[php]<br />
<encoded_tag_open />!– including request function –<encoded_tag_closed /><br />
<encoded_tag_open />?php include ‚request.php‘; ?<encoded_tag_closed /><br />
<encoded_tag_open />!DOCTYPE html<encoded_tag_closed /><br />
<encoded_tag_open />!– css styles to make page readable –<encoded_tag_closed /><br />
<encoded_tag_open />head<encoded_tag_closed /><br />
<encoded_tag_open />style type=“text/css“<encoded_tag_closed /><br />
.request<br />
{<br />
background-color: #D3DEE2;<br />
font-weight: bold;<br />
padding: 8px;<br />
}<br />
.response<br />
{<br />
background-color: #EFEFEF;<br />
border: 1px solid #1D4982;<br />
margin-bottom: 25px;<br />
overflow: auto;<br />
padding: 5px;<br />
}<br />
.monitor<br />
{<br />
float: left;<br />
width: 215px;<br />
overflow: hidden;<br />
text-overflow: ellipsis;<br />
height: 22px;<br />
}<br />
.radio_block<br />
{<br />
float: left;<br />
width: 100px;<br />
overflow: hidden;<br />
}<br />
.form_param<br />
{<br />
border-bottom: 1px solid #C0C0C0;<br />
padding-top: 10px;<br />
clear: both;<br />
font-weight: bold;<br />
overflow: hidden;<br />
margin-bottom: 5px;<br />
}<br />
fieldset { background-color: #F4F8FF; }<br />
fieldset legend {<br />
font-weight: bold;<br />
font-size: 1.2em;<br />
}<br />
<encoded_tag_open />/style<encoded_tag_closed /><br />
<encoded_tag_open />/head<encoded_tag_closed /><br />
<encoded_tag_open />body<encoded_tag_closed /><br />
<encoded_tag_open />h1<encoded_tag_closed /><encoded_tag_open />?php echo $API_URL; ?<encoded_tag_closed /><encoded_tag_open />/h1<encoded_tag_closed /><br />
<encoded_tag_open />!– Performing Log on and displaying result –<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Log on<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
$credentials = array(„UserName“ =<encoded_tag_closed /> „your_username“, „Password“ =<encoded_tag_closed /> „your_password“);<br />
Request(‚login‘, „POST“, $credentials); // making login request with credentials (authorization)<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />!– Requesting platforms information and displaying result –<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get platforms<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
// get all platforms<br />
$result = Request(‚platforms‘, „GET“, null);<br />
// adding received data into a variable for further usage<br />
$platforms = $result;<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />!– Requesting device list by each available platform and displaying result –<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Devices by platform<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
// variable for any first ServerView device, if available<br />
$device_id = 0;<br />
// iterating through all platforms<br />
foreach ($platforms as &$platform) {<br />
echo ‚<encoded_tag_open />strong<encoded_tag_closed />‘ . $platform -<encoded_tag_closed /> Name . ‚<encoded_tag_open />/strong<encoded_tag_closed />:<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
//requesting devices for platfotm<br />
$result = Request(„devices/“ . $platform -<encoded_tag_closed /> Name, „GET“, null);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
// checking for ServerView platform<br />
if ($platform -<encoded_tag_closed /> Id == 1)<br />
{<br />
$max = sizeof($result);<br />
for($i = 0; $i <encoded_tag_open /> $max; $i++)<br />
// get first id and break loop<br />
{<br />
$device_id = $result[$i];<br />
break;<br />
}<br />
}<br />
}<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
if ($device_id <encoded_tag_closed /> 0)<br />
{<br />
echo ‚<encoded_tag_open />div class=“request“<encoded_tag_closed />Edit device with id: ‚ . $device_id . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />Load:<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
// loading device by id<br />
$device = Request(„device/“ . $device_id, „GET“, null);<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />Save:<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
// changing device name from „device_name“ to „device_name (edited)“<br />
$device -<encoded_tag_closed /> Name = $device -<encoded_tag_closed /> Name . “ (edited)“;<br />
// save edited device<br />
Request(„device/“ . $device_id, „POST“, $device);<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed />
<encoded_tag_open />!– before we can create device, we have to receive required device properties –<encoded_tag_closed /><br />
<encoded_tag_open />h2<encoded_tag_closed />Create device<encoded_tag_open />/h2<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Locations for ServerView<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $locations = Request(‚locations/serverview‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Frequencies for ServerView<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $frequencies = Request(‚frequencies/serverview‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get schedulers<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $schedulers = Request(’schedulers‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get Notification Groups<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $groups = Request(‚groups‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get Filters<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $filters = Request(‚filters‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed />
<encoded_tag_open />br /<encoded_tag_closed /><br />
<encoded_tag_open />!– listing previously requested data –<encoded_tag_closed /><br />
<encoded_tag_open />fieldset<encoded_tag_closed /><br />
<encoded_tag_open />legend<encoded_tag_closed />Create device<encoded_tag_open />/legend<encoded_tag_closed /><br />
<encoded_tag_open />form action=“example.php?create_device=true“ method=“post“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Locations<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($locations as $location) {<br />
echo ‚<encoded_tag_open />div class=“monitor“<encoded_tag_closed /><encoded_tag_open />input type=“checkbox“ name=“locations[]“ value=“‚ . $location -<encoded_tag_closed /> Id . ‚“ /<encoded_tag_closed />‘ . $location -<encoded_tag_closed /> Name . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Frequency<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($frequencies as $frequency) {<br />
echo ‚<encoded_tag_open />div class=“radio_block“<encoded_tag_closed /><encoded_tag_open />input type=“radio“ name=“frequency“ value=“‚ . $frequency . ‚“ /<encoded_tag_closed />‘ . $frequency . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Filter<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($filters as $filter) {<br />
echo ‚<encoded_tag_open />div class=“radio_block“<encoded_tag_closed /><encoded_tag_open />input type=“radio“ name=“filter“ value=“‚ . $filter . ‚“ /<encoded_tag_closed />‘ . $filter . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Scheduler<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($schedulers as $scheduler) {<br />
echo ‚<encoded_tag_open />div class=“radio_block“<encoded_tag_closed /><encoded_tag_open />input type=“radio“ name=“scheduler“ value=“‚ . $scheduler . ‚“ /<encoded_tag_closed />‘ . $scheduler . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Notifications<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($groups as $group) {<br />
echo ‚<encoded_tag_open />input type=“checkbox“ name=“notifications[]“ value=“‚ . $group . ‚“ /<encoded_tag_closed />‘ . $group . ‚ – Time Shift: ‚;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“notification‘ . $group . ‚“ value=“10″ /<encoded_tag_closed /> min <encoded_tag_open />br /<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Device name<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“device_name“ value=““ /<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Notification email<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“email“ value=““ /<encoded_tag_closed />‘;<br />
// POST handler for device creation<br />
if ($_POST && !empty($_GET[‚create_device‘])) {<br />
$notificationGroups = array();<br />
$locationsArray = array();<br />
if(!empty($_POST[’notifications‘])) {<br />
foreach($_POST[’notifications‘] as $check) {<br />
array_push( $notificationGroups, array(„Id“ =<encoded_tag_closed /> intval($check), „Time_Shift_Min“ =<encoded_tag_closed /> $_POST[’notification‘ . $check]));<br />
}<br />
}<br />
if(!empty($_POST[‚locations‘])) {<br />
foreach($_POST[‚locations‘] as $check) {<br />
array_push( $locationsArray, intval($check));<br />
}<br />
}<br />
// creating device object to be created<br />
$data = array(<br />
„Avoid_Simultaneous_Checks“ =<encoded_tag_closed /> true,<br />
„False_Positive_Check“ =<encoded_tag_closed /> false,<br />
„Send_Uptime_Alert“ =<encoded_tag_closed /> false,<br />
„Platform_Id“ =<encoded_tag_closed /> 1,<br />
„Locations“ =<encoded_tag_closed /> $locationsArray,<br />
„Frequency“ =<encoded_tag_closed /> intval($_POST[‚frequency‘]),<br />
„Filter_Id“ =<encoded_tag_closed /> intval($_POST[‚filter‘]),<br />
„Scheduler_Id“ =<encoded_tag_closed /> intval($_POST[’scheduler‘]),<br />
„Name“ =<encoded_tag_closed /> $_POST[‚device_name‘],<br />
„Notifications“ =<encoded_tag_closed /> array(<br />
„E_Mail_Flag“ =<encoded_tag_closed /> true,<br />
„E_Mail_Address“ =<encoded_tag_closed /> $_POST[‚email‘],<br />
„Notification_Groups“ =<encoded_tag_closed /> $notificationGroups<br />
)<br />
);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />div class=“request“<encoded_tag_closed />Result<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />‘;<br />
Request(„devices?verb=PUT“, „POST“, $data); //creating device<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />p<encoded_tag_closed /><br />
<encoded_tag_open />input type=“submit“ value=“Create device“ /<encoded_tag_closed /><br />
<encoded_tag_open />/p<encoded_tag_closed /><br />
<encoded_tag_open />/form<encoded_tag_closed /><br />
<encoded_tag_open />/fieldset<encoded_tag_closed /><br />
<encoded_tag_open />h2<encoded_tag_closed />Create scheduler<encoded_tag_open />/h2<encoded_tag_closed /><br />
<encoded_tag_open />fieldset<encoded_tag_closed /><br />
<encoded_tag_open />legend<encoded_tag_closed />Create scheduler<encoded_tag_open />/legend<encoded_tag_closed /><br />
<encoded_tag_open />form action=“example.php?create_scheduler=true“ method=“post“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Name<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“name“ value=““ /<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Description<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“description“ value=““ /<encoded_tag_closed />‘;<br />
if ($_POST && !empty($_GET[‚create_scheduler‘])) {<br />
// creating scheduler object<br />
$data = array(<br />
„Name“ =<encoded_tag_closed /> $_POST[’name‘],<br />
„Description“ =<encoded_tag_closed /> $_POST[‚description‘],<br />
„Weekly_Intervals“ =<encoded_tag_closed /> array(<br />
array(<br />
„Days“ =<encoded_tag_closed /> array(„Su“, „Mo“, „Tu“, „We“, „Th“, „Fr“, „Sa“),<br />
„From_Min“ =<encoded_tag_closed /> 0,<br />
„To_Min“ =<encoded_tag_closed /> 1025,<br />
„Included“ =<encoded_tag_closed /> true<br />
), array(<br />
„Days“ =<encoded_tag_closed /> array(„Su“, „Sa“),<br />
„From_Min“ =<encoded_tag_closed /> 0,<br />
„To_Min“ =<encoded_tag_closed /> 1139,<br />
„Included“ =<encoded_tag_closed /> false<br />
), array(<br />
„Days“ =<encoded_tag_closed /> array(„Su“, „Mo“, „Fr“, „Sa“),<br />
„From_Min“ =<encoded_tag_closed /> 120,<br />
„To_Min“ =<encoded_tag_closed /> 240,<br />
„Included“ =<encoded_tag_closed /> false<br />
)<br />
),<br />
„Date_Time_Intervals“ =<encoded_tag_closed /> array(<br />
„From“ =<encoded_tag_closed /> 1358712000000,<br />
„To“ =<encoded_tag_closed /> 1358798400000<br />
)<br />
);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />div class=“request“<encoded_tag_closed />Result<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />‘;<br />
Request(„schedulers?verb=PUT“, „POST“, $data); //making create request<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />p<encoded_tag_closed /><br />
<encoded_tag_open />input type=“submit“ value=“Create scheduler“ /<encoded_tag_closed /><br />
<encoded_tag_open />/p<encoded_tag_closed /><br />
<encoded_tag_open />/form<encoded_tag_closed /><br />
<encoded_tag_open />/fieldset<encoded_tag_closed />
<encoded_tag_open />h2<encoded_tag_closed />Create notification group<encoded_tag_open />/h2<encoded_tag_closed /><br />
<encoded_tag_open />fieldset<encoded_tag_closed /><br />
<encoded_tag_open />legend<encoded_tag_closed />Create notification group<encoded_tag_open />/legend<encoded_tag_closed /><br />
<encoded_tag_open />form action=“example.php?create_group=true“ method=“post“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Name<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“name“ value=““ /<encoded_tag_closed />‘;<br />
if ($_POST && !empty($_GET[‚create_group‘])) {<br />
// creating notification group with requered fields<br />
$data = array(<br />
„Name“ =<encoded_tag_closed /> $_POST[’name‘],<br />
„Scheduler_Id“ =<encoded_tag_closed /> 0<br />
);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />div class=“request“<encoded_tag_closed />Result<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />‘;<br />
Request(„groups?verb=PUT“, „POST“, $data); //making request<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />p<encoded_tag_closed /><br />
<encoded_tag_open />input type=“submit“ value=“Create notification group“ /<encoded_tag_closed /><br />
<encoded_tag_open />/p<encoded_tag_closed /><br />
<encoded_tag_open />/form<encoded_tag_closed /><br />
<encoded_tag_open />/fieldset<encoded_tag_closed /><br />
<encoded_tag_open />/body<encoded_tag_closed /><br />
<encoded_tag_open />/html<encoded_tag_closed /><br />
[/php]<br />
[php]<br />
<encoded_tag_open />!– including request function –<encoded_tag_closed /><br />
<encoded_tag_open />?php include ‚request.php‘; ?<encoded_tag_closed /><br />
<encoded_tag_open />!DOCTYPE html<encoded_tag_closed /><br />
<encoded_tag_open />!– css styles to make page readable –<encoded_tag_closed /><br />
<encoded_tag_open />head<encoded_tag_closed /><br />
<encoded_tag_open />style type=“text/css“<encoded_tag_closed /><br />
.request<br />
{<br />
background-color: #D3DEE2;<br />
font-weight: bold;<br />
padding: 8px;<br />
}<br />
.response<br />
{<br />
background-color: #EFEFEF;<br />
border: 1px solid #1D4982;<br />
margin-bottom: 25px;<br />
overflow: auto;<br />
padding: 5px;<br />
}<br />
.monitor<br />
{<br />
float: left;<br />
width: 215px;<br />
overflow: hidden;<br />
text-overflow: ellipsis;<br />
height: 22px;<br />
}<br />
.radio_block<br />
{<br />
float: left;<br />
width: 100px;<br />
overflow: hidden;<br />
}<br />
.form_param<br />
{<br />
border-bottom: 1px solid #C0C0C0;<br />
padding-top: 10px;<br />
clear: both;<br />
font-weight: bold;<br />
overflow: hidden;<br />
margin-bottom: 5px;<br />
}<br />
fieldset { background-color: #F4F8FF; }<br />
fieldset legend {<br />
font-weight: bold;<br />
font-size: 1.2em;<br />
}<br />
<encoded_tag_open />/style<encoded_tag_closed /><br />
<encoded_tag_open />/head<encoded_tag_closed /><br />
<encoded_tag_open />body<encoded_tag_closed /><br />
<encoded_tag_open />h1<encoded_tag_closed /><encoded_tag_open />?php echo $API_URL; ?<encoded_tag_closed /><encoded_tag_open />/h1<encoded_tag_closed /><br />
<encoded_tag_open />!– Performing Log on and displaying result –<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Log on<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
$credentials = array(„UserName“ =<encoded_tag_closed /> „your_username“, „Password“ =<encoded_tag_closed /> „your_password“);<br />
Request(‚login‘, „POST“, $credentials); // making login request with credentials (authorization)<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />!– Requesting platforms information and displaying result –<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get platforms<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
// get all platforms<br />
$result = Request(‚platforms‘, „GET“, null);<br />
// adding received data into a variable for further usage<br />
$platforms = $result;<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />!– Requesting device list by each available platform and displaying result –<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Devices by platform<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
// variable for any first ServerView device, if available<br />
$device_id = 0;<br />
// iterating through all platforms<br />
foreach ($platforms as &$platform) {<br />
echo ‚<encoded_tag_open />strong<encoded_tag_closed />‘ . $platform -<encoded_tag_closed /> Name . ‚<encoded_tag_open />/strong<encoded_tag_closed />:<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
//requesting devices for platfotm<br />
$result = Request(„devices/“ . $platform -<encoded_tag_closed /> Name, „GET“, null);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
// checking for ServerView platform<br />
if ($platform -<encoded_tag_closed /> Id == 1)<br />
{<br />
$max = sizeof($result);<br />
for($i = 0; $i <encoded_tag_open /> $max; $i++)<br />
// get first id and break loop<br />
{<br />
$device_id = $result[$i];<br />
break;<br />
}<br />
}<br />
}<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
if ($device_id <encoded_tag_closed /> 0)<br />
{<br />
echo ‚<encoded_tag_open />div class=“request“<encoded_tag_closed />Edit device with id: ‚ . $device_id . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />Load:<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
// loading device by id<br />
$device = Request(„device/“ . $device_id, „GET“, null);<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />Save:<encoded_tag_open />br /<encoded_tag_closed />‘;<br />
// changing device name from „device_name“ to „device_name (edited)“<br />
$device -<encoded_tag_closed /> Name = $device -<encoded_tag_closed /> Name . “ (edited)“;<br />
// save edited device<br />
Request(„device/“ . $device_id, „POST“, $device);<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed />
<encoded_tag_open />!– before we can create device, we have to receive required device properties –<encoded_tag_closed /><br />
<encoded_tag_open />h2<encoded_tag_closed />Create device<encoded_tag_open />/h2<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Locations for ServerView<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $locations = Request(‚locations/serverview‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Frequencies for ServerView<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $frequencies = Request(‚frequencies/serverview‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get schedulers<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $schedulers = Request(’schedulers‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get Notification Groups<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $groups = Request(‚groups‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“request“<encoded_tag_closed />Get Filters<encoded_tag_open />/div<encoded_tag_closed /><br />
<encoded_tag_open />div class=“response“<encoded_tag_closed /><encoded_tag_open />?php $filters = Request(‚filters‘, „GET“, null); ?<encoded_tag_closed /><encoded_tag_open />/div<encoded_tag_closed />
<encoded_tag_open />br /<encoded_tag_closed /><br />
<encoded_tag_open />!– listing previously requested data –<encoded_tag_closed /><br />
<encoded_tag_open />fieldset<encoded_tag_closed /><br />
<encoded_tag_open />legend<encoded_tag_closed />Create device<encoded_tag_open />/legend<encoded_tag_closed /><br />
<encoded_tag_open />form action=“example.php?create_device=true“ method=“post“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Locations<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($locations as $location) {<br />
echo ‚<encoded_tag_open />div class=“monitor“<encoded_tag_closed /><encoded_tag_open />input type=“checkbox“ name=“locations[]“ value=“‚ . $location -<encoded_tag_closed /> Id . ‚“ /<encoded_tag_closed />‘ . $location -<encoded_tag_closed /> Name . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Frequency<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($frequencies as $frequency) {<br />
echo ‚<encoded_tag_open />div class=“radio_block“<encoded_tag_closed /><encoded_tag_open />input type=“radio“ name=“frequency“ value=“‚ . $frequency . ‚“ /<encoded_tag_closed />‘ . $frequency . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Filter<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($filters as $filter) {<br />
echo ‚<encoded_tag_open />div class=“radio_block“<encoded_tag_closed /><encoded_tag_open />input type=“radio“ name=“filter“ value=“‚ . $filter . ‚“ /<encoded_tag_closed />‘ . $filter . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Scheduler<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($schedulers as $scheduler) {<br />
echo ‚<encoded_tag_open />div class=“radio_block“<encoded_tag_closed /><encoded_tag_open />input type=“radio“ name=“scheduler“ value=“‚ . $scheduler . ‚“ /<encoded_tag_closed />‘ . $scheduler . ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Notifications<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
foreach($groups as $group) {<br />
echo ‚<encoded_tag_open />input type=“checkbox“ name=“notifications[]“ value=“‚ . $group . ‚“ /<encoded_tag_closed />‘ . $group . ‚ – Time Shift: ‚;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“notification‘ . $group . ‚“ value=“10″ /<encoded_tag_closed /> min <encoded_tag_open />br /<encoded_tag_closed />‘;<br />
}<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Device name<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“device_name“ value=““ /<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Notification email<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“email“ value=““ /<encoded_tag_closed />‘;<br />
// POST handler for device creation<br />
if ($_POST && !empty($_GET[‚create_device‘])) {<br />
$notificationGroups = array();<br />
$locationsArray = array();<br />
if(!empty($_POST[’notifications‘])) {<br />
foreach($_POST[’notifications‘] as $check) {<br />
array_push( $notificationGroups, array(„Id“ =<encoded_tag_closed /> intval($check), „Time_Shift_Min“ =<encoded_tag_closed /> $_POST[’notification‘ . $check]));<br />
}<br />
}<br />
if(!empty($_POST[‚locations‘])) {<br />
foreach($_POST[‚locations‘] as $check) {<br />
array_push( $locationsArray, intval($check));<br />
}<br />
}<br />
// creating device object to be created<br />
$data = array(<br />
„Avoid_Simultaneous_Checks“ =<encoded_tag_closed /> true,<br />
„False_Positive_Check“ =<encoded_tag_closed /> false,<br />
„Send_Uptime_Alert“ =<encoded_tag_closed /> false,<br />
„Platform_Id“ =<encoded_tag_closed /> 1,<br />
„Locations“ =<encoded_tag_closed /> $locationsArray,<br />
„Frequency“ =<encoded_tag_closed /> intval($_POST[‚frequency‘]),<br />
„Filter_Id“ =<encoded_tag_closed /> intval($_POST[‚filter‘]),<br />
„Scheduler_Id“ =<encoded_tag_closed /> intval($_POST[’scheduler‘]),<br />
„Name“ =<encoded_tag_closed /> $_POST[‚device_name‘],<br />
„Notifications“ =<encoded_tag_closed /> array(<br />
„E_Mail_Flag“ =<encoded_tag_closed /> true,<br />
„E_Mail_Address“ =<encoded_tag_closed /> $_POST[‚email‘],<br />
„Notification_Groups“ =<encoded_tag_closed /> $notificationGroups<br />
)<br />
);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />div class=“request“<encoded_tag_closed />Result<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />‘;<br />
Request(„devices?verb=PUT“, „POST“, $data); //creating device<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />p<encoded_tag_closed /><br />
<encoded_tag_open />input type=“submit“ value=“Create device“ /<encoded_tag_closed /><br />
<encoded_tag_open />/p<encoded_tag_closed /><br />
<encoded_tag_open />/form<encoded_tag_closed /><br />
<encoded_tag_open />/fieldset<encoded_tag_closed /><br />
<encoded_tag_open />h2<encoded_tag_closed />Create scheduler<encoded_tag_open />/h2<encoded_tag_closed /><br />
<encoded_tag_open />fieldset<encoded_tag_closed /><br />
<encoded_tag_open />legend<encoded_tag_closed />Create scheduler<encoded_tag_open />/legend<encoded_tag_closed /><br />
<encoded_tag_open />form action=“example.php?create_scheduler=true“ method=“post“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Name<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“name“ value=““ /<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Description<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“description“ value=““ /<encoded_tag_closed />‘;<br />
if ($_POST && !empty($_GET[‚create_scheduler‘])) {<br />
// creating scheduler object<br />
$data = array(<br />
„Name“ =<encoded_tag_closed /> $_POST[’name‘],<br />
„Description“ =<encoded_tag_closed /> $_POST[‚description‘],<br />
„Weekly_Intervals“ =<encoded_tag_closed /> array(<br />
array(<br />
„Days“ =<encoded_tag_closed /> array(„Su“, „Mo“, „Tu“, „We“, „Th“, „Fr“, „Sa“),<br />
„From_Min“ =<encoded_tag_closed /> 0,<br />
„To_Min“ =<encoded_tag_closed /> 1025,<br />
„Included“ =<encoded_tag_closed /> true<br />
), array(<br />
„Days“ =<encoded_tag_closed /> array(„Su“, „Sa“),<br />
„From_Min“ =<encoded_tag_closed /> 0,<br />
„To_Min“ =<encoded_tag_closed /> 1139,<br />
„Included“ =<encoded_tag_closed /> false<br />
), array(<br />
„Days“ =<encoded_tag_closed /> array(„Su“, „Mo“, „Fr“, „Sa“),<br />
„From_Min“ =<encoded_tag_closed /> 120,<br />
„To_Min“ =<encoded_tag_closed /> 240,<br />
„Included“ =<encoded_tag_closed /> false<br />
)<br />
),<br />
„Date_Time_Intervals“ =<encoded_tag_closed /> array(<br />
„From“ =<encoded_tag_closed /> 1358712000000,<br />
„To“ =<encoded_tag_closed /> 1358798400000<br />
)<br />
);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />div class=“request“<encoded_tag_closed />Result<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />‘;<br />
Request(„schedulers?verb=PUT“, „POST“, $data); //making create request<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />p<encoded_tag_closed /><br />
<encoded_tag_open />input type=“submit“ value=“Create scheduler“ /<encoded_tag_closed /><br />
<encoded_tag_open />/p<encoded_tag_closed /><br />
<encoded_tag_open />/form<encoded_tag_closed /><br />
<encoded_tag_open />/fieldset<encoded_tag_closed />
<encoded_tag_open />h2<encoded_tag_closed />Create notification group<encoded_tag_open />/h2<encoded_tag_closed /><br />
<encoded_tag_open />fieldset<encoded_tag_closed /><br />
<encoded_tag_open />legend<encoded_tag_closed />Create notification group<encoded_tag_open />/legend<encoded_tag_closed /><br />
<encoded_tag_open />form action=“example.php?create_group=true“ method=“post“<encoded_tag_closed /><br />
<encoded_tag_open />?php<br />
echo ‚<encoded_tag_open />div class=“form_param“<encoded_tag_closed />Name<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />input type=“text“ name=“name“ value=““ /<encoded_tag_closed />‘;<br />
if ($_POST && !empty($_GET[‚create_group‘])) {<br />
// creating notification group with requered fields<br />
$data = array(<br />
„Name“ =<encoded_tag_closed /> $_POST[’name‘],<br />
„Scheduler_Id“ =<encoded_tag_closed /> 0<br />
);<br />
echo ‚<encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />br /<encoded_tag_closed /><encoded_tag_open />div class=“request“<encoded_tag_closed />Result<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
echo ‚<encoded_tag_open />div class=“response“<encoded_tag_closed />‘;<br />
Request(„groups?verb=PUT“, „POST“, $data); //making request<br />
echo ‚<encoded_tag_open />/div<encoded_tag_closed />‘;<br />
}<br />
?<encoded_tag_closed /><br />
<encoded_tag_open />p<encoded_tag_closed /><br />
<encoded_tag_open />input type=“submit“ value=“Create notification group“ /<encoded_tag_closed /><br />
<encoded_tag_open />/p<encoded_tag_closed /><br />
<encoded_tag_open />/form<encoded_tag_closed /><br />
<encoded_tag_open />/fieldset<encoded_tag_closed /><br />
<encoded_tag_open />/body<encoded_tag_closed /><br />
<encoded_tag_open />/html<encoded_tag_closed /><br />
[/php]<br />