Compare commits

...

2 Commits

Author SHA1 Message Date
Ro 0d189a4fc3
Seperated silence and block counts
Actions taken against and instance of have been separted into their
respective buckets so they can be display properly rather than simply
grouped together and mislabled.

This gives a better sense of the severity of response per instance.
12 months ago
Ro 8a513c3f2c
Separated silence and suspend counts
The count data is now separated by specific action rather than grouping everything together.

This gives a clearer picture of the severity of a response by current sources
12 months ago

@ -37,7 +37,7 @@ class FrontIndexController extends Controller
$raw = DB::select("SELECT * FROM searchlocations(?)", [$terms]);
$results = [];
foreach ($raw as $item) {
if ($item->block_count > 2) {
if (($item->block_count + $item->silence_count) > 2) {
array_push($results, $item);
}
}
@ -46,6 +46,7 @@ class FrontIndexController extends Controller
$count = count($locations);
$recent = Location::where("active", true)
->where('block_count', '>', 2)
->where('silence_count', '>', 2)
->limit(10)->orderByDesc('updated_at')->get();
return view('front.index', [
@ -68,15 +69,18 @@ class FrontIndexController extends Controller
public function location(string $uuid = "1")
{
$location = Location::where("uuid", $uuid)->first();
$sources = Source::where("active", true)->get();
$name = "NO LOCATION FOUND";
if ($location) {
$name = $location->name;
}
return view('front.location', [
'title' => str_replace(".", " ", $name),
'location' => $location,
'images' => json_decode($location->images),
'updated' => $location->updated_at->format('Y M d'),
'title' => str_replace(".", " ", $name),
'location' => $location,
'actions' => $location->block_count + $location->silence_count,
'sources_count' => count($sources),
'images' => json_decode($location->images),
'updated' => $location->updated_at->format('Y M d'),
]);
}

@ -72,14 +72,26 @@ class LocationController extends Controller
$index = array_search($item['domain'], array_column($unified, 'url'));
if ($index) {
//if there is a match, update the count
++$unified[$index]['count'];
if ($item['severity'] == "suspend" || $item['severity'] == "defederate") {
++$unified[$index]['block_count'];
} else {
++$unified[$index]['silence_count'];
}
} else {
$silence = 0;
$suspend = 0;
if ($item['severity'] == "suspend" || $item['severity'] == "defederate") {
++$silence;
} else {
++$suspend;
}
array_push($unified, [
'name' => $item['domain'],
'url' => $item['domain'],
'rating' => $item['severity'],
'comment' => $item['comment'],
'count' => 1,
'name' => $item['domain'],
'url' => $item['domain'],
'rating' => $item['severity'],
'comment' => $item['comment'],
'block_count' => $suspend,
'silence_count' => $silence,
]);
}
}
@ -91,14 +103,26 @@ class LocationController extends Controller
$index = array_search($item[0], array_column($unified, 'url'));
if ($index) {
//if there is a match, update the count
++$unified[$index]['count'];
if ($item[1] == "suspend" || $item['severity'] == "defederate") {
++$unified[$index]['block_count'];
} else {
++$unified[$index]['silence_count'];
}
} else {
$silence = 0;
$suspend = 0;
if ($item[1] == "suspend" || $item[1] == "defederate") {
++$silence;
} else {
++$suspend;
}
array_push($unified, [
'name' => $item[0],
'url' => $item[0],
'rating' => $item[1],
'comment' => $item[2],
'count' => 1,
'name' => $item[0],
'url' => $item[0],
'rating' => $item[1],
'comment' => $item[2],
'block_count' => $suspend,
'silence_count' => $silence,
]);
}
}
@ -137,7 +161,8 @@ class LocationController extends Controller
++$duplicates;
//update block count for existing item
$location->block_count = $item['count'];
$location->block_count = $item['block_count'];
$location->silence_count = $item['silence_count'];
//replace null with empty array
if ($location->images == null) {
@ -150,16 +175,17 @@ class LocationController extends Controller
$images = [];
$rating = ($item['rating'] == 'defederate') ? 'suspend' : $item['rating'];
$new = Location::create([
'uuid' => Uuid::uuid4(),
'name' => $item['url'],
'url' => $item['url'],
'description' => ($item['comment'] != null) ? $item['comment'] : "no description",
'active' => true,
'rating' => $rating,
'added_by' => 1,
'tags' => 'poor moderation, hate speech',
'images' => json_encode($images),
'block_count' => $item['count'],
'uuid' => Uuid::uuid4(),
'name' => $item['url'],
'url' => $item['url'],
'description' => ($item['comment'] != null) ? $item['comment'] : "no description",
'active' => true,
'rating' => $rating,
'added_by' => 1,
'tags' => 'poor moderation, hate speech',
'images' => json_encode($images),
'block_count' => $item['block_count'],
'silence_count' => $item['silence_count'],
]);
}
}

@ -4,10 +4,12 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Location extends Model
{
use HasFactory;
use SoftDeletes;
/**
* The table associated with the model.
@ -29,6 +31,7 @@ class Location extends Model
"added_by",
"tags",
"block_count",
"silence_count",
"created_at",
"updated_at"
];

@ -37,7 +37,7 @@ section[role="listings"] div[role="paginate"] span {
a.list-link {
display: grid;
grid-template-columns: 30px 50px 300px;
grid-template-columns: 30px 50px 30px 50px 300px;
width: 80%;
height: 45px;
}

@ -32,11 +32,9 @@
@foreach($recent as $location)
<a class="list-link" role="listitem" href="/location/{{$location->uuid}}">
<span>{{$location->block_count}}</span>
@if($location->rating == 'silence')
<img class="menu-icon" src="/assets/images/global/status-silence.svg" title="silenced" />
@else
<img class="menu-icon" src="/assets/images/global/status-suspend.svg" title="suspended" />
@endif
<img class="menu-icon" src="/assets/images/global/status-suspend.svg" title="suspended" />
<span>{{$location->silence_count}}</span>
<img class="menu-icon" src="/assets/images/global/status-silence.svg" title="silenced" />
<label>{{$location->name}}</label>
</a>
@endforeach

@ -17,16 +17,14 @@
@endforeach
@endif
<br />
@if($location->rating == 'silence')
<img class="rating-icon" src="/assets/images/global/status-silence.svg" title="silenced" />
<strong>Silenced Count: {{$location->block_count}}</strong>
@else
<img class="rating-icon" src="/assets/images/global/status-suspend.svg" title="suspended" />
<strong>Suspended Count: {{$location->block_count}}</strong>
<strong>Total Actions:</strong> {{$actions}}/{{$sources_count}}<br />
<img class="rating-icon" src="/assets/images/global/status-suspend.svg" title="suspended" />
<strong>Suspended: {{$location->block_count}}</strong>
@endif
<br />
This count reflects the number of times this instance has been suspended or silenced be two or more <a href="/about#how">Current Sources</a>
<img class="rating-icon" src="/assets/images/global/status-silence.svg" title="silenced" />
<strong>Silenced: {{$location->silence_count}}</strong>
<br /><br />
Total Actions represent the number of actions, silences or suspensions, that have been taken against an instance by <a href="/about#how">Current Sources</a>
<br />UPDATED : {{$updated}}
</article>

Loading…
Cancel
Save