2025-08-03 20:59:09 +02:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< title > Dashboard for /var/www/html/backend/app/Models< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< link href = "../_css/bootstrap.min.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../_css/nv.d3.min.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../_css/style.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../_css/custom.css" rel = "stylesheet" type = "text/css" >
< / head >
< body >
< header >
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-md-12" >
< nav aria-label = "breadcrumb" >
< ol class = "breadcrumb" >
< li class = "breadcrumb-item" > < a href = "../index.html" > /var/www/html/backend/app< / a > < / li >
< li class = "breadcrumb-item" > < a href = "index.html" > Models< / a > < / li >
< li class = "breadcrumb-item active" > (Dashboard)< / li >
< / ol >
< / nav >
< / div >
< / div >
< / div >
< / header >
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-md-12" >
< h2 > Classes< / h2 >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Coverage Distribution< / h3 >
< div id = "classCoverageDistribution" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Complexity< / h3 >
< div id = "classComplexity" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Insufficient Coverage< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Class< / th >
< th class = "text-right" > Coverage< / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Keyword.php.html#20" > App\Models\Keyword< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#32" > App\Models\PlatformAccount< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#22" > App\Models\PlatformChannel< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannelPost.php.html#12" > App\Models\PlatformChannelPost< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformInstance.php.html#21" > App\Models\PlatformInstance< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Feed.php.html#30" > App\Models\Feed< / a > < / td > < td class = "text-right" > 8%< / td > < / tr >
< tr > < td > < a href = "Route.php.html#21" > App\Models\Route< / a > < / td > < td class = "text-right" > 50%< / td > < / tr >
< tr > < td > < a href = "Language.php.html#11" > App\Models\Language< / a > < / td > < td class = "text-right" > 60%< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Project Risks< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Class< / th >
< th class = "text-right" > < abbr title = "Change Risk Anti-Patterns (CRAP) Index" > CRAP< / abbr > < / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Feed.php.html#30" > App\Models\Feed< / a > < / td > < td class = "text-right" > 143< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#32" > App\Models\PlatformAccount< / a > < / td > < td class = "text-right" > 110< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-12" >
< h2 > Methods< / h2 >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Coverage Distribution< / h3 >
< div id = "methodCoverageDistribution" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Complexity< / h3 >
< div id = "methodComplexity" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Insufficient Coverage< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Method< / th >
< th class = "text-right" > Coverage< / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Feed.php.html#54" > < abbr title = "App\Models\Feed::getTypeDisplayAttribute" > getTypeDisplayAttribute< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Feed.php.html#63" > < abbr title = "App\Models\Feed::getStatusAttribute" > getStatusAttribute< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Feed.php.html#87" > < abbr title = "App\Models\Feed::channels" > channels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Feed.php.html#98" > < abbr title = "App\Models\Feed::activeChannels" > activeChannels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Keyword.php.html#36" > < abbr title = "App\Models\Keyword::feed" > feed< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Keyword.php.html#44" > < abbr title = "App\Models\Keyword::platformChannel" > platformChannel< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Language.php.html#40" > < abbr title = "App\Models\Language::platformChannels" > platformChannels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Language.php.html#48" > < abbr title = "App\Models\Language::feeds" > feeds< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#60" > < abbr title = "App\Models\PlatformAccount::password" > password< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#72" > < abbr title = "App\Models\PlatformAccount::apiToken" > apiToken< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#84" > < abbr title = "App\Models\PlatformAccount::getActive" > getActive< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#92" > < abbr title = "App\Models\PlatformAccount::setAsActive" > setAsActive< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#106" > < abbr title = "App\Models\PlatformAccount::channels" > channels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#116" > < abbr title = "App\Models\PlatformAccount::activeChannels" > activeChannels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#46" > < abbr title = "App\Models\PlatformChannel::platformInstance" > platformInstance< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#54" > < abbr title = "App\Models\PlatformChannel::platformAccounts" > platformAccounts< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#64" > < abbr title = "App\Models\PlatformChannel::activePlatformAccounts" > activePlatformAccounts< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#69" > < abbr title = "App\Models\PlatformChannel::getFullNameAttribute" > getFullNameAttribute< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#78" > < abbr title = "App\Models\PlatformChannel::feeds" > feeds< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#89" > < abbr title = "App\Models\PlatformChannel::activeFeeds" > activeFeeds< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannel.php.html#99" > < abbr title = "App\Models\PlatformChannel::language" > language< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannelPost.php.html#27" > < abbr title = "App\Models\PlatformChannelPost::casts" > casts< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannelPost.php.html#35" > < abbr title = "App\Models\PlatformChannelPost::urlExists" > urlExists< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformChannelPost.php.html#43" > < abbr title = "App\Models\PlatformChannelPost::storePost" > storePost< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformInstance.php.html#42" > < abbr title = "App\Models\PlatformInstance::channels" > channels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformInstance.php.html#50" > < abbr title = "App\Models\PlatformInstance::languages" > languages< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "PlatformInstance.php.html#57" > < abbr title = "App\Models\PlatformInstance::findByUrl" > findByUrl< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Route.php.html#62" > < abbr title = "App\Models\Route::keywords" > keywords< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Project Risks< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Method< / th >
< th class = "text-right" > < abbr title = "Change Risk Anti-Patterns (CRAP) Index" > CRAP< / abbr > < / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Feed.php.html#63" > < abbr title = "App\Models\Feed::getStatusAttribute" > getStatusAttribute< / abbr > < / a > < / td > < td class = "text-right" > 30< / td > < / tr >
< tr > < td > < a href = "Feed.php.html#54" > < abbr title = "App\Models\Feed::getTypeDisplayAttribute" > getTypeDisplayAttribute< / abbr > < / a > < / td > < td class = "text-right" > 20< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#60" > < abbr title = "App\Models\PlatformAccount::password" > password< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "PlatformAccount.php.html#72" > < abbr title = "App\Models\PlatformAccount::apiToken" > apiToken< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< / div >
< footer >
< hr / >
< p >
2025-08-03 21:16:59 +02:00
< small > Generated by < a href = "https://github.com/sebastianbergmann/php-code-coverage" target = "_top" > php-code-coverage 11.0.10< / a > using < a href = "https://www.php.net/" target = "_top" > PHP 8.4.10< / a > and < a href = "https://phpunit.de/" > PHPUnit 11.5.28< / a > at Sun Aug 3 19:15:34 UTC 2025.< / small >
2025-08-03 20:59:09 +02:00
< / p >
< / footer >
< / div >
< script src = "../_js/jquery.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script src = "../_js/d3.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script src = "../_js/nv.d3.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script type = "text/javascript" >
$(document).ready(function() {
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.tooltips(false)
.showControls(false)
.showLegend(false)
.reduceXTicks(false)
.staggerLabels(true)
.yAxis.tickFormat(d3.format('d'));
d3.select('#classCoverageDistribution svg')
2025-08-03 21:16:59 +02:00
.datum(getCoverageDistributionData([5,1,0,0,0,0,1,1,0,0,0,5], "Class Coverage"))
2025-08-03 20:59:09 +02:00
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.tooltips(false)
.showControls(false)
.showLegend(false)
.reduceXTicks(false)
.staggerLabels(true)
.yAxis.tickFormat(d3.format('d'));
d3.select('#methodCoverageDistribution svg')
2025-08-03 21:16:59 +02:00
.datum(getCoverageDistributionData([28,0,0,0,0,0,0,0,0,0,0,26], "Method Coverage"))
2025-08-03 20:59:09 +02:00
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function getCoverageDistributionData(data, label) {
var labels = [
'0%',
'0-10%',
'10-20%',
'20-30%',
'30-40%',
'40-50%',
'50-60%',
'60-70%',
'70-80%',
'80-90%',
'90-100%',
'100%'
];
var values = [];
$.each(labels, function(key) {
values.push({x: labels[key], y: data[key]});
});
return [
{
key: label,
values: values,
color: "#4572A7"
}
];
}
nv.addGraph(function() {
var chart = nv.models.scatterChart()
.showDistX(true)
.showDistY(true)
.showLegend(false)
.forceX([0, 100]);
chart.tooltipContent(function(graph) {
return '< p > ' + graph.point.class + '< / p > ';
});
chart.xAxis.axisLabel('Code Coverage (in percent)');
chart.yAxis.axisLabel('Cyclomatic Complexity');
d3.select('#classComplexity svg')
2025-08-03 21:16:59 +02:00
.datum(getComplexityData([[100,15,"< a href = \"Article.php.html#28\" > App\\Models\\Article< \/a>"],[100,1,"< a href = \"ArticlePublication.php.html#17\" > App\\Models\\ArticlePublication< \/a>"],[8.333333333333332,13,"< a href = \"Feed.php.html#30\" > App\\Models\\Feed< \/a>"],[0,2,"< a href = \"Keyword.php.html#20\" > App\\Models\\Keyword< \/a>"],[60,3,"< a href = \"Language.php.html#11\" > App\\Models\\Language< \/a>"],[100,0,"< a href = \"Log.php.html#18\" > App\\Models\\Log< \/a>"],[0,10,"< a href = \"PlatformAccount.php.html#32\" > App\\Models\\PlatformAccount< \/a>"],[0,7,"< a href = \"PlatformChannel.php.html#22\" > App\\Models\\PlatformChannel< \/a>"],[0,3,"< a href = \"PlatformChannelPost.php.html#12\" > App\\Models\\PlatformChannelPost< \/a>"],[0,3,"< a href = \"PlatformInstance.php.html#21\" > App\\Models\\PlatformInstance< \/a>"],[50,3,"< a href = \"Route.php.html#21\" > App\\Models\\Route< \/a>"],[100,10,"< a href = \"Setting.php.html#7\" > App\\Models\\Setting< \/a>"],[100,1,"< a href = \"User.php.html#11\" > App\\Models\\User< \/a>"]], 'Class Complexity'))
2025-08-03 20:59:09 +02:00
.transition()
.duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
nv.addGraph(function() {
var chart = nv.models.scatterChart()
.showDistX(true)
.showDistY(true)
.showLegend(false)
.forceX([0, 100]);
chart.tooltipContent(function(graph) {
return '< p > ' + graph.point.class + '< / p > ';
});
chart.xAxis.axisLabel('Code Coverage (in percent)');
chart.yAxis.axisLabel('Method Complexity');
d3.select('#methodComplexity svg')
2025-08-03 21:16:59 +02:00
.datum(getComplexityData([[100,1,"< a href = \"Article.php.html#50\" > App\\Models\\Article::casts< \/a>"],[100,3,"< a href = \"Article.php.html#64\" > App\\Models\\Article::isValid< \/a>"],[100,1,"< a href = \"Article.php.html#77\" > App\\Models\\Article::isApproved< \/a>"],[100,1,"< a href = \"Article.php.html#82\" > App\\Models\\Article::isPending< \/a>"],[100,1,"< a href = \"Article.php.html#87\" > App\\Models\\Article::isRejected< \/a>"],[100,1,"< a href = \"Article.php.html#92\" > App\\Models\\Article::approve< \/a>"],[100,1,"< a href = \"Article.php.html#104\" > App\\Models\\Article::reject< \/a>"],[100,3,"< a href = \"Article.php.html#113\" > App\\Models\\Article::canBePublished< \/a>"],[100,1,"< a href = \"Article.php.html#131\" > App\\Models\\Article::articlePublication< \/a>"],[100,1,"< a href = \"Article.php.html#139\" > App\\Models\\Article::feed< \/a>"],[100,1,"< a href = \"Article.php.html#144\" > App\\Models\\Article::booted< \/a>"],[100,1,"< a href = \"ArticlePublication.php.html#40\" > App\\Models\\ArticlePublication::article< \/a>"],[0,4,"< a href = \"Feed.php.html#54\" > App\\Models\\Feed::getTypeDisplayAttribute< \/a>"],[0,5,"< a href = \"Feed.php.html#63\" > App\\Models\\Feed::getStatusAttribute< \/a>"],[0,1,"< a href = \"Feed.php.html#87\" > App\\Models\\Feed::channels< \/a>"],[0,1,"< a href = \"Feed.php.html#98\" > App\\Models\\Feed::activeChannels< \/a>"],[100,1,"< a href = \"Feed.php.html#108\" > App\\Models\\Feed::articles< \/a>"],[100,1,"< a href = \"Feed.php.html#116\" > App\\Models\\Feed::language< \/a>"],[0,1,"< a href = \"Keyword.php.html#36\" > App\\Models\\Keyword::feed< \/a>"],[0,1,"< a href = \"Keyword.php.html#44\" > App\\Models\\Keyword::platformChannel< \/a>"],[100,1,"< a href = \"Language.php.html#30\" > App\\Models\\Language::platformInstances< \/a>"],[0,1,"< a href = \"Language.php.html#40\" > App\\Models\\Language::platformChannels< \/a>"],[0,1,"< a href = \"Language.php.html#48\" > App\\Models\\Language::feeds< \/a>"],[0,3,"< a href = \"PlatformAccount.php.html#60\" > App\\Models\\PlatformAccount::password< \/a>"],[0,3,"< a href = \"PlatformAccount.php.html#72\" > App\\Models\\PlatformAccount::apiToken< \/a>"],[0,1,"< a href = \"PlatformAccount.php.html#84\" > App\\Models\\PlatformAccount::getActive< \/a>"],[0,1,"< a href = \"PlatformAccount.php.html#92\" > App\\Models\\PlatformAccount::setAsActive< \/a>"],[0,1,"< a href = \"PlatformAccount.php.html#106\" > App\\Models\\PlatformAccount::channels< \/a>"],[0,1,"< a href = \"PlatformAccount.php.html#116\" > App\\Models\\PlatformAccount::activeChannels< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#46\" > App\\Models\\PlatformChannel::platformInstance< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#54\" > App\\Models\\PlatformChannel::platformAccounts< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#64\" > App\\Models\\PlatformChannel::activePlatformAccounts< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#69\" > App\\Models\\PlatformChannel::getFullNameAttribute< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#78\" > App\\Models\\PlatformChannel::feeds< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#89\" > App\\Models\\PlatformChannel::activeFeeds< \/a>"],[0,1,"< a href = \"PlatformChannel.php.html#99\" > App\\Models\\PlatformChannel::language< \/a>"],[0,1,"< a href = \"PlatformChannelPost.php.html#27\" > App\\Models\\PlatformChannelPost::casts< \/a>"],[0,1,"< a href = \"PlatformChannelPost.php.html#35\" > App\\Models\\PlatformChannelPost::urlExists< \/a>"],[0,1,"< a href = \"PlatformChannelPost.php.html#43\" > App\\Models\\PlatformChannelPost::storePost< \/a>"],[0,1,"< a href = \"PlatformInstance.php.html#42\" > App\\Models\\PlatformInstance::channels< \/a>"],[0,1,"< a href = \"PlatformInstance.php.html#50\" > App\\Models\\PlatformInstance::languages< \/a>"],[0,1,"< a href = \"PlatformInstance.php.html#57\" > App\\Models\\PlatformInstance::findByUrl< \/a>"],[100,1,"< a href = \"Route.php.html#46\" > App\\Models\\Route::feed< \/a>"],[100,1,"< a href = \"Route.php.html#54\" > App\\Models\\Route::platformChannel< \/a>"],[0,1,"< a href = \"Route.php.html#62\" > App\\Models\\Route::keywords< \/a>"],[100,2,"< a href = \"Setting.php.html#11\" > App\\Models\\Setting::get< \/a>"],[100,1,"< a href = \"Setting.php.html#18\" > App\\Models\\Setting::set< \/a>"],[100,1,"< a href = \"Setting.php
2025-08-03 20:59:09 +02:00
.transition()
.duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function getComplexityData(data, label) {
var values = [];
$.each(data, function(key) {
var value = Math.round(data[key][0]*100) / 100;
values.push({
x: value,
y: data[key][1],
class: data[key][2],
size: 0.05,
shape: 'diamond'
});
});
return [
{
key: label,
values: values,
color: "#4572A7"
}
];
}
});
< / script >
< / body >
< / html >