Skip to content
Snippets Groups Projects
Commit 8fcda058 authored by Tibo's avatar Tibo
Browse files

bump mark-php-client version, evidence is now an object => show human readable timestamp

parent 4aa1c977
No related branches found
No related tags found
No related merge requests found
......@@ -88,9 +88,19 @@ class MarkController extends Controller
{
$points = [];
foreach ($evidences as $evidence) {
$points[] = new \App\TimePoint(
$evidence["time"],
$evidence[$field]);
// used by status history
// this is dirty :-(
// status history should return an array of objects
if (is_array($evidence)) {
$points[] = new \App\TimePoint(
$evidence["time"],
$evidence[$field]);
} else {
$points[] = new \App\TimePoint(
$evidence->time,
$evidence->$field);
}
}
return $points;
}
......@@ -100,14 +110,14 @@ class MarkController extends Controller
$time_window = 3600; // in seconds
$ev = $this->server->findEvidenceById($id);
$since = $ev["time"] - $time_window * 1000;
$since = $ev->time - $time_window * 1000;
$references = [];
foreach ($ev["references"] as $id) {
foreach ($ev->references as $id) {
$references[] = $this->server->findEvidenceById($id);
}
$history = $this->server->findEvidenceSince($ev["label"], $ev["subject"], $since);
$history = $this->server->findEvidenceSince($ev->label, $ev->subject, $since);
return view(
'app.evidence',[
......
......@@ -9,7 +9,7 @@
"license": "MIT",
"require": {
"php": "^7.2.5",
"cylab/mark-php-client": "^1.0",
"cylab/mark-php-client": "^1.4.0",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^6.3",
......
......@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "6a81f85178e48999d31862b352111122",
"content-hash": "c7e38b8f986c30cb6281ffdb450e873f",
"packages": [
{
"name": "asm89/stack-cors",
......@@ -106,14 +106,15 @@
},
{
"name": "cylab/mark-php-client",
"version": "1.0.0",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://gitlab.cylab.be/cylab/mark-php-client.git",
"reference": "5b98595aae2dede9a8c1b5883b08b9fbfd42859d"
"reference": "07c272a48dc44c86f4b12abfe354f30644df0f4c"
},
"require": {
"fguillot/json-rpc": "^1.2"
"fguillot/json-rpc": "^1.2",
"nesbot/carbon": "^2.41.3"
},
"require-dev": {
"phpstan/phpstan": "^0.12.48",
......@@ -138,7 +139,7 @@
}
],
"description": "A PHP client for the MARK framework",
"time": "2020-10-04T11:36:26+00:00"
"time": "2020-10-15T06:47:14+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
......@@ -314,23 +315,23 @@
},
{
"name": "dragonmantank/cron-expression",
"version": "v2.3.0",
"version": "v2.3.1",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
"reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27"
"reference": "65b2d8ee1f10915efb3b55597da3404f096acba2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27",
"reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27",
"url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2",
"reference": "65b2d8ee1f10915efb3b55597da3404f096acba2",
"shasum": ""
},
"require": {
"php": "^7.0"
"php": "^7.0|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^6.4|^7.0"
"phpunit/phpunit": "^6.4|^7.0|^8.0|^9.0"
},
"type": "library",
"extra": {
......@@ -364,7 +365,7 @@
"cron",
"schedule"
],
"time": "2019-03-31T00:38:28+00:00"
"time": "2020-10-13T00:52:37+00:00"
},
{
"name": "egulias/email-validator",
......@@ -775,16 +776,16 @@
},
{
"name": "laravel/framework",
"version": "v7.28.3",
"version": "v7.28.4",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "b0942c391975972b1a54b2dc983e33a239f169a9"
"reference": "de187e9200948bab6975167e480950abcd5efdac"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/b0942c391975972b1a54b2dc983e33a239f169a9",
"reference": "b0942c391975972b1a54b2dc983e33a239f169a9",
"url": "https://api.github.com/repos/laravel/framework/zipball/de187e9200948bab6975167e480950abcd5efdac",
"reference": "de187e9200948bab6975167e480950abcd5efdac",
"shasum": ""
},
"require": {
......@@ -929,7 +930,7 @@
"framework",
"laravel"
],
"time": "2020-09-17T14:23:26+00:00"
"time": "2020-10-06T14:22:09+00:00"
},
{
"name": "laravel/tinker",
......@@ -1328,16 +1329,16 @@
},
{
"name": "nesbot/carbon",
"version": "2.40.1",
"version": "2.41.3",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "d9a76d8b7eb0f97cf3a82529393245212f40ba3b"
"reference": "e148788eeae9b9b7b87996520358b86faad37b52"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d9a76d8b7eb0f97cf3a82529393245212f40ba3b",
"reference": "d9a76d8b7eb0f97cf3a82529393245212f40ba3b",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e148788eeae9b9b7b87996520358b86faad37b52",
"reference": "e148788eeae9b9b7b87996520358b86faad37b52",
"shasum": ""
},
"require": {
......@@ -1403,7 +1404,7 @@
"datetime",
"time"
],
"time": "2020-09-23T08:17:37+00:00"
"time": "2020-10-12T20:36:09+00:00"
},
{
"name": "nikic/php-parser",
......@@ -1459,29 +1460,29 @@
},
{
"name": "opis/closure",
"version": "3.5.7",
"version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/opis/closure.git",
"reference": "4531e53afe2fc660403e76fb7644e95998bff7bf"
"reference": "c547f8262a5fa9ff507bd06cc394067b83a75085"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opis/closure/zipball/4531e53afe2fc660403e76fb7644e95998bff7bf",
"reference": "4531e53afe2fc660403e76fb7644e95998bff7bf",
"url": "https://api.github.com/repos/opis/closure/zipball/c547f8262a5fa9ff507bd06cc394067b83a75085",
"reference": "c547f8262a5fa9ff507bd06cc394067b83a75085",
"shasum": ""
},
"require": {
"php": "^5.4 || ^7.0"
"php": "^5.4 || ^7.0 || ^8.0"
},
"require-dev": {
"jeremeamia/superclosure": "^2.0",
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.5.x-dev"
"dev-master": "3.6.x-dev"
}
},
"autoload": {
......@@ -1516,7 +1517,7 @@
"serialization",
"serialize"
],
"time": "2020-09-06T17:02:15+00:00"
"time": "2020-10-11T21:42:15+00:00"
},
{
"name": "paragonie/random_compat",
......@@ -2182,12 +2183,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "04c3a31fe8ea94b42c9e2d1acc93d19782133b00"
"reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/04c3a31fe8ea94b42c9e2d1acc93d19782133b00",
"reference": "04c3a31fe8ea94b42c9e2d1acc93d19782133b00",
"url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
"reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
"shasum": ""
},
"require": {
......@@ -2601,16 +2602,16 @@
},
{
"name": "symfony/http-client-contracts",
"version": "v2.2.0",
"version": "v2.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
"reference": "3a5d0fe7908daaa23e3dbf4cee3ba4bfbb19fdd3"
"reference": "41db680a15018f9c1d4b23516059633ce280ca33"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/3a5d0fe7908daaa23e3dbf4cee3ba4bfbb19fdd3",
"reference": "3a5d0fe7908daaa23e3dbf4cee3ba4bfbb19fdd3",
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33",
"reference": "41db680a15018f9c1d4b23516059633ce280ca33",
"shasum": ""
},
"require": {
......@@ -2621,8 +2622,9 @@
},
"type": "library",
"extra": {
"branch-version": "2.3",
"branch-alias": {
"dev-master": "2.2-dev"
"dev-main": "2.3-dev"
},
"thanks": {
"name": "symfony/contracts",
......@@ -2658,7 +2660,7 @@
"interoperability",
"standards"
],
"time": "2020-09-07T11:33:47+00:00"
"time": "2020-10-14T17:08:19+00:00"
},
{
"name": "symfony/http-foundation",
......@@ -3865,16 +3867,16 @@
},
{
"name": "symfony/translation-contracts",
"version": "v2.2.0",
"version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "77ce1c3627c9f39643acd9af086631f842c50c4d"
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/77ce1c3627c9f39643acd9af086631f842c50c4d",
"reference": "77ce1c3627c9f39643acd9af086631f842c50c4d",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"shasum": ""
},
"require": {
......@@ -3886,7 +3888,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
"dev-master": "2.3-dev"
},
"thanks": {
"name": "symfony/contracts",
......@@ -3922,7 +3924,7 @@
"interoperability",
"standards"
],
"time": "2020-09-07T11:33:47+00:00"
"time": "2020-09-28T13:05:58+00:00"
},
{
"name": "symfony/var-dumper",
......@@ -4415,16 +4417,16 @@
},
{
"name": "composer/composer",
"version": "1.10.13",
"version": "1.10.15",
"source": {
"type": "git",
"url": "https://github.com/composer/composer.git",
"reference": "47c841ba3b2d3fc0b4b13282cf029ea18b66d78b"
"reference": "547c9ee73fe26c77af09a0ea16419176b1cdbd12"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/composer/zipball/47c841ba3b2d3fc0b4b13282cf029ea18b66d78b",
"reference": "47c841ba3b2d3fc0b4b13282cf029ea18b66d78b",
"url": "https://api.github.com/repos/composer/composer/zipball/547c9ee73fe26c77af09a0ea16419176b1cdbd12",
"reference": "547c9ee73fe26c77af09a0ea16419176b1cdbd12",
"shasum": ""
},
"require": {
......@@ -4491,7 +4493,7 @@
"dependency",
"package"
],
"time": "2020-09-09T09:46:34+00:00"
"time": "2020-10-13T13:59:09+00:00"
},
{
"name": "composer/semver",
......@@ -5024,16 +5026,16 @@
},
{
"name": "facade/ignition",
"version": "2.3.8",
"version": "2.4.1",
"source": {
"type": "git",
"url": "https://github.com/facade/ignition.git",
"reference": "e8fed9c382cd1d02b5606688576a35619afdf82c"
"reference": "9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/facade/ignition/zipball/e8fed9c382cd1d02b5606688576a35619afdf82c",
"reference": "e8fed9c382cd1d02b5606688576a35619afdf82c",
"url": "https://api.github.com/repos/facade/ignition/zipball/9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa",
"reference": "9fc6c3d3de5271a1b94cff19dce2c9295abf0ffa",
"shasum": ""
},
"require": {
......@@ -5092,7 +5094,7 @@
"laravel",
"page"
],
"time": "2020-10-01T23:01:14+00:00"
"time": "2020-10-14T08:59:59+00:00"
},
{
"name": "facade/ignition-contracts",
......
......@@ -2,26 +2,26 @@
@section('content')
<div class="container-fluid">
<h1>{{ implode("", $evidence["subject"]) }}</h1>
<h1>{{ $evidence->subject() }}</h1>
<p>Report id: <b>{{ $evidence["id"] }}</b></p>
<p>Subject: <b>{{ implode("", $evidence["subject"]) }}</b></p>
<p>Score: <b>{{ $evidence["score"] }}</b></p>
<p>Timestamp: {{ $evidence["time"] }}</p>
<p>Report id: <b>{{ $evidence->id }}</b></p>
<p>Subject: <b>{{ $evidence->subject() }}</b></p>
<p>Score: <b>{{ $evidence->score }}</b></p>
<p>Timestamp: {{ $evidence->timeForHumans() }}</p>
<div class="card my-4">
<div class="card-body">
{!! $evidence["report"] !!}
{!! $evidence->report !!}
</div>
</div>
<h3>Detector : {{ $evidence["profile"]["label"] }}</h3>
<p>Algorithm: {{ $evidence["profile"]["className"] }}</p>
<p>Trigger label: {{ $evidence["profile"]["triggerLabel"] }}</p>
<h3>Detector : {{ $evidence->profile["label"] }}</h3>
<p>Algorithm: {{ $evidence->profile["className"] }}</p>
<p>Trigger label: {{ $evidence->profile["triggerLabel"] }}</p>
<p>Parameters:</p>
<ul>
@foreach ($evidence["profile"]["parameters"] as $key => $value)
@foreach ($evidence->profile["parameters"] as $key => $value)
<li>{{ $key }} : {{ $value }}</li>
@endforeach
</ul>
......@@ -31,11 +31,11 @@
<p>This detector has queried following data:</p>
<table class="table table-striped">
@foreach ($evidence["requests"] as $r)
@foreach ($evidence->requests as $r)
<tr>
<td>{{ $r }}</td>
<td class="text-right">
<a href="/report/{{ $evidence["id"] }}/data/{{ 0 }} " class="btn btn-primary btn-sm">
<a href="/report/{{ $evidence->id }}/data/{{ 0 }} " class="btn btn-primary btn-sm">
<i class="fas fa-search"></i> Inspect
</a>
</td>
......@@ -47,7 +47,7 @@
<p>
This detector produced <b>{{ count($history) }}</b> reports for
<b>{{ implode("", $evidence["subject"]) }}</b> over the last hour.
<b>{{ $evidence->subject() }}</b> over the last hour.
</p>
<canvas id="chart-report-history"></canvas>
......@@ -61,10 +61,10 @@
<table class="table table-striped" style="display: none" id="history-table">
@foreach ($history as $r)
<tr>
<td>{{ $r["score"] }}</td>
<td>{{ $r["time"] }}</td>
<td>{{ $r->score }}</td>
<td>{{ $r->time }}</td>
<td class="text-right">
<a href="/app/evidence/{{ $r["id"] }}" class="btn btn-sm btn-primary">
<a href="/app/evidence/{{ $r->id }}" class="btn btn-sm btn-primary">
<i class="fas fa-search"></i> Inspect
</a>
</td>
......@@ -79,11 +79,13 @@
<table class="table table-striped">
@foreach ($references as $r)
<tr>
<td>{{ $r["label"] }}</td>
<td>{{ $r["score"] }}</td>
<td>{{ $r["time"] }}</td>
<td>{{ $r->label }}</td>
<td>{{ $r->score }}</td>
<td>{{ $r->time }}</td>
<td class="text-right">
<a href="/app/evidence/{{ $r["id"] }}" class="btn btn-sm btn-primary"><i class="fas fa-search"></i> Inspect</a>
<a href="/app/evidence/{{ $r->id }}" class="btn btn-sm btn-primary">
<i class="fas fa-search"></i> Inspect
</a>
</td>
</tr>
@endforeach
......
......@@ -27,12 +27,12 @@
@foreach ($evidences as $evidence)
<tr>
<td>
{{ implode(' ', $evidence["subject"]) }}
{{ $evidence->subject() }}
</td>
<td>{{ $evidence["score"] }}</td>
<td>{{ $evidence["time"] }}</td>
<td>{{ $evidence->score }}</td>
<td>{{ $evidence->timeForHumans() }}</td>
<td class="text-right">
<a href="/app/evidence/{{ $evidence["id"] }}"
<a href="/app/evidence/{{ $evidence->id }}"
class="btn btn-primary btn-sm">
<i class="fas fa-search"></i> Inspect
</a>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment