Created at 2026-03-30 13:39:34 , with PHPMetrics v3.0.0-rc8 (Jean-François Lépine).
Average weighted method count by class (CC)
5.46
Average cyclomatic complexity by class
4.26
Average relative System complexity
12.73
Average bugs by class(Halstead)
0.06
average defects by class (Kan)
0.38
Class WMC CC Max MC System comp. Data comp. Structural comp. Bugs Defects
App\Models\AssignmentEntry
Method Cyclomatic complexity
App\Models\AssignmentEntry::__construct 1
App\Models\AssignmentEntry::find_group 2
App\Models\AssignmentEntry::find_group_counts 4
App\Models\AssignmentEntry::type_to_group_table 1
App\Models\AssignmentEntry::valid_type 3
App\Models\AssignmentEntry::user_input_type 4
App\Models\AssignmentEntry::get_type 3
App\Models\AssignmentEntry::findAllUserInputs 1
App\Models\AssignmentEntry::find 3
App\Models\AssignmentEntry::findAll 1
App\Models\AssignmentEntry::first 3
26 16 4 4.03 1.76 2.27 0.19 1.49
App\Models\TrainingAssignmentResult 0 1 0 0 0 0 0 0.15
App\Models\AssignmentResult 0 1 0 0 0 0 0 0.15
App\Models\TrainingCaseEntryProperties 0 1 0 0 0 0 0 0.15
App\Models\TrainingAssignments
Method Cyclomatic complexity
App\Models\TrainingAssignments::setTrainingId 1
App\Models\TrainingAssignments::where 2
App\Models\TrainingAssignments::findAll 2
App\Models\TrainingAssignments::find 2
7 4 2 7.5 0.75 6.75 0.03 0.36
App\Models\UserMeta 0 1 0 0 0 0 0 0.15
App\Models\TrainingAssignmentEntryProperties 0 1 0 0 0 0 0 0.15
App\Models\TrainingAssignmentEntry 0 1 0 0 0 0 0 0.15
App\Models\CaseEntry
Method Cyclomatic complexity
App\Models\CaseEntry::__construct 1
App\Models\CaseEntry::find_group 2
App\Models\CaseEntry::find_group_counts 4
App\Models\CaseEntry::type_to_group_table 1
App\Models\CaseEntry::valid_type 3
App\Models\CaseEntry::user_input_type 4
App\Models\CaseEntry::get_type 3
App\Models\CaseEntry::findAllUserInputs 1
App\Models\CaseEntry::find 3
App\Models\CaseEntry::findAll 1
App\Models\CaseEntry::first 3
26 16 4 4.03 1.76 2.27 0.18 1.49
App\Models\CaseResult 0 1 0 0 0 0 0 0.15
App\Models\Meetings
Method Cyclomatic complexity
App\Models\Meetings::getDetailed 1
1 1 1 9.25 0.25 9 0 0.15
App\Models\Trainings
Method Cyclomatic complexity
App\Models\Trainings::getTrainingsWithMemberCount 1
1 1 1 16.2 0.2 16 0 0.15
App\Models\AssignmentEntryProperties
Method Cyclomatic complexity
App\Models\AssignmentEntryProperties::valid_property 6
6 6 6 6 2 4 0.02 0.66
App\Models\TrainingCaseEntry 0 1 0 0 0 0 0 0.15
App\Models\TrainingUsers
Method Cyclomatic complexity
App\Models\TrainingUsers::getMembers 2
App\Models\TrainingUsers::hasMembers 1
App\Models\TrainingUsers::countMembers 1
App\Models\TrainingUsers::findMemberTrainingId 2
6 3 2 12.65 0.65 12 0.04 0.45
App\Models\User
Method Cyclomatic complexity
App\Models\User::getFullUserData 2
App\Models\User::getUserInfo 3
App\Models\User::isLoggedIn 3
App\Models\User::isAdmin 3
11 8 3 33.06 0.56 32.5 0.04 0.57
App\Models\TrainingMeetings
Method Cyclomatic complexity
App\Models\TrainingMeetings::getDetailed 1
1 1 1 9.25 0.25 9 0.01 0.15
App\Models\TrainingSchedule
Method Cyclomatic complexity
App\Models\TrainingSchedule::getScheduleRaw 1
App\Models\TrainingSchedule::getMeetingSchedule 3
App\Models\TrainingSchedule::get_day_name 2
App\Models\TrainingSchedule::get_month_name 1
App\Models\TrainingSchedule::addUserScheduleItem 1
App\Models\TrainingSchedule::getUserSchedule 7
15 10 7 19.21 1.04 18.17 0.16 0.59
App\Models\Users
Method Cyclomatic complexity
App\Models\Users::getUser 1
App\Models\Users::getUsers 4
5 4 4 25.63 0.63 25 0.03 0.45
App\Models\Assignments
Method Cyclomatic complexity
App\Models\Assignments::getDetailed 1
1 1 1 25.33 0.33 25 0.01 0.15
App\Models\TrainingUserMeta 0 1 0 0 0 0 0 0.15
App\Models\TrainingCases 0 1 0 0 0 0 0 0.15
App\Models\Cases
Method Cyclomatic complexity
App\Models\Cases::getDetailed 1
1 1 1 25.33 0.33 25 0.01 0.15
App\Models\CaseEntryProperties
Method Cyclomatic complexity
App\Models\CaseEntryProperties::valid_property 5
5 5 5 6 2 4 0.02 0.59
App\Models\Uploads 0 1 0 0 0 0 0 0.15
App\Models\TrainingCaseResult 0 1 0 0 0 0 0 0.15
Config\Format 0 1 0 0 0 0 0 0.15
Config\Autoload 0 1 0 0 0 0 0 0.15
Config\ContentSecurityPolicy 0 1 0 0 0 0 0 0.15
Config\Honeypot 0 1 0 0 0 0 0 0.15
Config\Filters 0 1 0 0 0 0 0 0.15
Config\ForeignCharacters 0 1 0 0 0 0 0 0.15
Config\Generators 0 1 0 0 0 0 0 0.15
Config\AuthToken 0 1 0 0 0 0 0 0.15
Config\Paths 0 1 0 0 0 0 0 0.15
Config\Pager 0 1 0 0 0 0 0 0.15
Config\Toolbar 0 1 0 0 0 0 0 0.15
Config\Session 0 1 0 0 0 0 0 0.15
Config\Modules 0 1 0 0 0 0 0 0.15
Config\Optimize 0 1 0 0 0 0 0 0.15
Config\Services
Method Cyclomatic complexity
Config\Services::user_meta 2
Config\Services::text_editor 5
7 6 5 3 2 1 0.01 0.51
Config\Kint 0 1 0 0 0 0 0 0.15
Config\Encryption 0 1 0 0 0 0 0 0.15
Config\Cors 0 1 0 0 0 0 0 0.15
Config\Validation 0 1 0 0 0 0 0 0.15
Config\Database
Method Cyclomatic complexity
Config\Database::__construct 2
2 2 2 1 0 1 0.05 0.22
Config\Images 0 1 0 0 0 0 0 0.15
Config\DocTypes 0 1 0 0 0 0 0 0.15
Config\Cookie 0 1 0 0 0 0 0 0.15
Config\Security 0 1 0 0 0 0 0 0.15
Config\Auth
Method Cyclomatic complexity
Config\Auth::loginRedirect 2
Config\Auth::logoutRedirect 1
Config\Auth::registerRedirect 1
Config\Auth::forcePasswordResetRedirect 1
Config\Auth::permissionDeniedRedirect 1
Config\Auth::groupDeniedRedirect 1
Config\Auth::getUrl 4
11 5 4 1.98 0.69 1.29 0.13 0.37
Config\View 0 1 0 0 0 0 0 0.15
Config\Cache 0 1 0 0 0 0 0.01 0.15
Config\App 0 1 0 0 0 0 0 0.15
Config\Email 0 1 0 0 0 0 0 0.15
Config\Mimes
Method Cyclomatic complexity
Config\Mimes::guessTypeFromExtension 3
Config\Mimes::guessExtensionFromType 7
10 9 7 4 4 0 0.23 0.59
Config\Migrations 0 1 0 0 0 0 0 0.15
Config\AuthGroups 0 1 0 0 0 0 0 0.15
Config\Logger 0 1 0 0 0 0 0 0.15
Config\Feature 0 1 0 0 0 0 0 0.15
Config\Publisher 0 1 0 0 0 0 0 0.15
Config\CURLRequest 0 1 0 0 0 0 0 0.15
Config\UserAgents 0 1 0 0 0 0 0 0.15
Config\Exceptions
Method Cyclomatic complexity
Config\Exceptions::handler 1
1 1 1 3 3 0 0 0.15
Config\Routing 0 1 0 0 0 0 0 0.15
App\Controllers\Front\DashboardModules\DocumentsDashboardModule
Method Cyclomatic complexity
App\Controllers\Front\DashboardModules\DocumentsDashboardModule::index 4
4 4 4 4.67 0.67 4 0.02 0.22
App\Controllers\Front\DashboardModules\ExampleDashboardModule
Method Cyclomatic complexity
App\Controllers\Front\DashboardModules\ExampleDashboardModule::index 2
2 2 2 2.5 1.5 1 0.01 0.22
App\Controllers\Front\DashboardModules\AgendaDashboardModule
Method Cyclomatic complexity
App\Controllers\Front\DashboardModules\AgendaDashboardModule::index 3
3 3 3 2 1 1 0.02 0.22
App\Controllers\Front\DashboardModules\DashboardModule
Method Cyclomatic complexity
App\Controllers\Front\DashboardModules\DashboardModule::getSort (accessors are ignored) -
App\Controllers\Front\DashboardModules\DashboardModule::getCssClass (accessors are ignored) -
App\Controllers\Front\DashboardModules\DashboardModule::getVisibility (accessors are ignored) -
0 1 0 1 1 0 0 0.15
App\Controllers\Front\Home
Method Cyclomatic complexity
App\Controllers\Front\Home::index 1
App\Controllers\Front\Home::application 1
2 1 1 1.25 0.75 0.5 0.01 0.15
App\Controllers\Front\MeetingController
Method Cyclomatic complexity
App\Controllers\Front\MeetingController::index 2
2 2 2 25.33 0.33 25 0.02 0.15
App\Controllers\Front\SubAssignments\ExamplePostSaveController
Method Cyclomatic complexity
App\Controllers\Front\SubAssignments\ExamplePostSaveController::index 1
1 1 1 16.6 0.6 16 0.01 0.15
App\Controllers\Front\SubAssignments\OutroController
Method Cyclomatic complexity
App\Controllers\Front\SubAssignments\OutroController::index 2
2 2 2 64.33 0.33 64 0.03 0.15
App\Controllers\Front\SubAssignments\CardController
Method Cyclomatic complexity
App\Controllers\Front\SubAssignments\CardController::index 2
2 2 2 64.33 0.33 64 0.03 0.15
App\Controllers\Front\SubAssignments\PodcastController
Method Cyclomatic complexity
App\Controllers\Front\SubAssignments\PodcastController::index 2
2 2 2 64.33 0.33 64 0.03 0.15
App\Controllers\Front\AssignmentController
Method Cyclomatic complexity
App\Controllers\Front\AssignmentController::is_sub_assignment 4
App\Controllers\Front\AssignmentController::has_sub_assignment 3
App\Controllers\Front\AssignmentController::get_sub_assignment 3
App\Controllers\Front\AssignmentController::post_get_missing_required_entries 6
App\Controllers\Front\AssignmentController::save 14
App\Controllers\Front\AssignmentController::fetch_entry_properties 6
App\Controllers\Front\AssignmentController::fetch_entries 4
App\Controllers\Front\AssignmentController::index 7
47 40 14 65.86 1.24 64.63 0.62 2.82
App\Controllers\Front\BaseController
Method Cyclomatic complexity
App\Controllers\Front\BaseController::validTrainingForUser 7
App\Controllers\Front\BaseController::initSessionController 15
App\Controllers\Front\BaseController::initController 1
App\Controllers\Front\BaseController::user_in_training 1
App\Controllers\Front\BaseController::get_edit_route 2
App\Controllers\Front\BaseController::get_training 2
App\Controllers\Front\BaseController::get_meeting 2
App\Controllers\Front\BaseController::get_assignment 2
App\Controllers\Front\BaseController::get_case 3
App\Controllers\Front\BaseController::get_entry_properties_result 9
App\Controllers\Front\BaseController::get_assignment_results 1
App\Controllers\Front\BaseController::get_case_results 1
46 35 15 7.72 1.14 6.58 0.35 1.87
App\Controllers\Front\DownloadController
Method Cyclomatic complexity
App\Controllers\Front\DownloadController::index 13
13 13 13 81.3 0.3 81 0.08 0.71
App\Controllers\Front\CaseController
Method Cyclomatic complexity
App\Controllers\Front\CaseController::is_complete_action 4
App\Controllers\Front\CaseController::has_complete_action 3
App\Controllers\Front\CaseController::get_complete_action 3
App\Controllers\Front\CaseController::errorResponse 1
App\Controllers\Front\CaseController::save 10
App\Controllers\Front\CaseController::complete 3
App\Controllers\Front\CaseController::outro 2
App\Controllers\Front\CaseController::fetch_entry_properties 5
App\Controllers\Front\CaseController::fetch_entry 2
App\Controllers\Front\CaseController::entry 5
App\Controllers\Front\CaseController::index 3
41 31 10 92.28 1.18 91.09 1.05 1.78
App\Controllers\Front\CompleteCaseActions\ExamplePostSaveController
Method Cyclomatic complexity
App\Controllers\Front\CompleteCaseActions\ExamplePostSaveController::index 1
1 1 1 16.8 0.8 16 0.02 0.15
App\Controllers\Front\FilesController
Method Cyclomatic complexity
App\Controllers\Front\FilesController::__construct 1
App\Controllers\Front\FilesController::load_uploaded_files 1
App\Controllers\Front\FilesController::load_common_data 2
App\Controllers\Front\FilesController::index 1
App\Controllers\Front\FilesController::delete_file 5
App\Controllers\Front\FilesController::verify_upload_directory 5
App\Controllers\Front\FilesController::upload 5
20 14 5 94.82 0.53 94.29 0.22 1.01
App\Controllers\LoginController
Method Cyclomatic complexity
App\Controllers\LoginController::loginView 3
3 3 3 36.43 0.43 36 0.01 0.29
App\Controllers\BaseController
Method Cyclomatic complexity
App\Controllers\BaseController::initController 1
1 1 1 2.5 1.5 1 0 0.15
App\Controllers\Admin\Home
Method Cyclomatic complexity
App\Controllers\Admin\Home::dashboard 1
1 1 1 1 1 0 0 0.15
App\Controllers\Admin\TrainingController
Method Cyclomatic complexity
App\Controllers\Admin\TrainingController::__construct 1
App\Controllers\Admin\TrainingController::clearTraining 3
App\Controllers\Admin\TrainingController::cloneAssignmentsAndCases 8
App\Controllers\Admin\TrainingController::start 1
App\Controllers\Admin\TrainingController::stop 1
App\Controllers\Admin\TrainingController::force_reset 1
App\Controllers\Admin\TrainingController::save 3
App\Controllers\Admin\TrainingController::add_member 1
App\Controllers\Admin\TrainingController::delete_member 3
App\Controllers\Admin\TrainingController::getUsersForAutocomplete 1
App\Controllers\Admin\TrainingController::index 3
26 16 8 88.66 0.3 88.36 0.34 2.5
App\Controllers\Admin\MeetingController
Method Cyclomatic complexity
App\Controllers\Admin\MeetingController::__construct 1
App\Controllers\Admin\MeetingController::save 1
App\Controllers\Admin\MeetingController::index 2
4 2 2 8.63 0.3 8.33 0.04 0.15
App\Controllers\Admin\UsersController
Method Cyclomatic complexity
App\Controllers\Admin\UsersController::__construct 1
App\Controllers\Admin\UsersController::index 1
2 1 1 0.75 0.25 0.5 0.01 0.15
App\Controllers\Admin\MeetingsController
Method Cyclomatic complexity
App\Controllers\Admin\MeetingsController::__construct 1
App\Controllers\Admin\MeetingsController::index 1
2 1 1 0.75 0.25 0.5 0.01 0.15
App\Controllers\Admin\UserController
Method Cyclomatic complexity
App\Controllers\Admin\UserController::__construct 1
App\Controllers\Admin\UserController::new_user 1
App\Controllers\Admin\UserController::generateUniqueUsername 2
App\Controllers\Admin\UserController::new_user_create 4
App\Controllers\Admin\UserController::update 2
App\Controllers\Admin\UserController::delete 3
App\Controllers\Admin\UserController::change_password 2
App\Controllers\Admin\UserController::index 3
App\Controllers\Admin\UserController::getUserProvider 1
App\Controllers\Admin\UserController::getValidationRules 1
20 11 4 89.39 0.49 88.9 0.29 0.87
App\Controllers\Admin\AssignmentController
Method Cyclomatic complexity
App\Controllers\Admin\AssignmentController::__construct 1
App\Controllers\Admin\AssignmentController::extractYouTubeID 2
App\Controllers\Admin\AssignmentController::save 1
App\Controllers\Admin\AssignmentController::get_sub_assignments 2
App\Controllers\Admin\AssignmentController::index 7
App\Controllers\Admin\AssignmentController::add_entry 9
App\Controllers\Admin\AssignmentController::entries_save_order 2
App\Controllers\Admin\AssignmentController::update_entry_name 1
App\Controllers\Admin\AssignmentController::update_entry_optional 1
App\Controllers\Admin\AssignmentController::update_entry_type 2
App\Controllers\Admin\AssignmentController::delete_entry 3
App\Controllers\Admin\AssignmentController::get_properties 1
App\Controllers\Admin\AssignmentController::add_property 2
App\Controllers\Admin\AssignmentController::mark_as_placeholder 4
App\Controllers\Admin\AssignmentController::update_property 1
App\Controllers\Admin\AssignmentController::delete_property 1
App\Controllers\Admin\AssignmentController::clear_entry_properties 1
App\Controllers\Admin\AssignmentController::properties_save_order 2
43 26 9 43.07 0.57 42.5 0.82 1.84
App\Controllers\Admin\UserInsightController
Method Cyclomatic complexity
App\Controllers\Admin\UserInsightController::__construct 1
App\Controllers\Admin\UserInsightController::set_models 1
App\Controllers\Admin\UserInsightController::fetch_entry_properties 6
App\Controllers\Admin\UserInsightController::fetch_entries 4
App\Controllers\Admin\UserInsightController::get_assignment_result 1
App\Controllers\Admin\UserInsightController::get_uploads 2
App\Controllers\Admin\UserInsightController::get_case_result 1
App\Controllers\Admin\UserInsightController::get_result 8
App\Controllers\Admin\UserInsightController::index 7
31 23 8 33.98 0.87 33.11 0.38 2
App\Controllers\Admin\BaseController
Method Cyclomatic complexity
App\Controllers\Admin\BaseController::initController 1
App\Controllers\Admin\BaseController::get_live_route 1
2 1 1 4 2 2 0.01 0.15
App\Controllers\Admin\CaseController
Method Cyclomatic complexity
App\Controllers\Admin\CaseController::__construct 1
App\Controllers\Admin\CaseController::save 1
App\Controllers\Admin\CaseController::get_complete_actions 2
App\Controllers\Admin\CaseController::index 8
App\Controllers\Admin\CaseController::add_entry 6
App\Controllers\Admin\CaseController::entries_save_order 2
App\Controllers\Admin\CaseController::update_entry_name 1
App\Controllers\Admin\CaseController::update_entry_optional 1
App\Controllers\Admin\CaseController::update_entry_type 2
App\Controllers\Admin\CaseController::delete_entry 3
App\Controllers\Admin\CaseController::get_properties 1
App\Controllers\Admin\CaseController::add_property 2
App\Controllers\Admin\CaseController::update_property 1
App\Controllers\Admin\CaseController::delete_property 1
App\Controllers\Admin\CaseController::clear_entry_properties 1
App\Controllers\Admin\CaseController::properties_save_order 2
35 20 8 39.38 0.44 38.94 0.7 1.63
App\Controllers\Admin\TrainingsController
Method Cyclomatic complexity
App\Controllers\Admin\TrainingsController::__construct 1
App\Controllers\Admin\TrainingsController::delete_training 3
App\Controllers\Admin\TrainingsController::add_training 1
App\Controllers\Admin\TrainingsController::index 1
6 3 3 13.53 0.28 13.25 0.04 0.29
App\Controllers\Admin\CasesController
Method Cyclomatic complexity
App\Controllers\Admin\CasesController::__construct 1
App\Controllers\Admin\CasesController::save_order 2
App\Controllers\Admin\CasesController::add_case 2
App\Controllers\Admin\CasesController::delete_case 2
7 4 2 20.65 0.15 20.5 0.05 0.45
App\Controllers\Admin\AssignmentsController
Method Cyclomatic complexity
App\Controllers\Admin\AssignmentsController::__construct 1
App\Controllers\Admin\AssignmentsController::save_order 2
App\Controllers\Admin\AssignmentsController::add_assignment 2
App\Controllers\Admin\AssignmentsController::delete_assignment 2
7 4 2 20.65 0.15 20.5 0.05 0.45
App\Controllers\Admin\FilesController
Method Cyclomatic complexity
App\Controllers\Admin\FilesController::__construct 1
App\Controllers\Admin\FilesController::load_uploaded_files 1
App\Controllers\Admin\FilesController::load_common_data 1
App\Controllers\Admin\FilesController::index 1
App\Controllers\Admin\FilesController::delete_file 5
App\Controllers\Admin\FilesController::verify_upload_directory 5
App\Controllers\Admin\FilesController::upload 4
18 12 5 75.58 0.44 75.14 0.13 0.94
App\Filters\AuthFilterSession
Method Cyclomatic complexity
App\Filters\AuthFilterSession::before 5
App\Filters\AuthFilterSession::after 1
6 5 5 14.92 2.42 12.5 0.02 0.29
App\Filters\AuthFilterUser
Method Cyclomatic complexity
App\Filters\AuthFilterUser::before 3
App\Filters\AuthFilterUser::after 1
4 3 3 10.5 2.5 8 0.01 0.29
App\Filters\AuthFilterAdmin
Method Cyclomatic complexity
App\Filters\AuthFilterAdmin::before 3
App\Filters\AuthFilterAdmin::after 1
4 3 3 10.5 2.5 8 0.01 0.29
App\Filters\AuthFilterGuest
Method Cyclomatic complexity
App\Filters\AuthFilterGuest::before 2
App\Filters\AuthFilterGuest::after 1
3 2 2 4.67 2.67 2 0.01 0.22
App\Services\UserMetaService
Method Cyclomatic complexity
App\Services\UserMetaService::__construct 4
App\Services\UserMetaService::save 2
App\Services\UserMetaService::find 2
8 6 4 3.83 0.83 3 0.04 0.36
App\ThirdPArty\TextEditorCKEditorCDN
Method Cyclomatic complexity
App\ThirdPArty\TextEditorCKEditorCDN::load_style 1
App\ThirdPArty\TextEditorCKEditorCDN::load_script 1
App\ThirdPArty\TextEditorCKEditorCDN::init_script 1
App\ThirdPArty\TextEditorCKEditorCDN::assign_editor 1
App\ThirdPArty\TextEditorCKEditorCDN::get 1
5 1 1 1.4 1.4 0 0 0.15
App\ThirdPArty\TextEditorCKEditorGPL
Method Cyclomatic complexity
App\ThirdPArty\TextEditorCKEditorGPL::load_style 1
App\ThirdPArty\TextEditorCKEditorGPL::load_script 1
App\ThirdPArty\TextEditorCKEditorGPL::init_script 1
App\ThirdPArty\TextEditorCKEditorGPL::assign_editor 1
App\ThirdPArty\TextEditorCKEditorGPL::get 1
5 1 1 1.4 1.4 0 0.01 0.15
App\ThirdParty\TextEditor 0 1 0 0 0 0 0 0.15
App\ThirdPArty\TextEditorSummernote
Method Cyclomatic complexity
App\ThirdPArty\TextEditorSummernote::load_style 1
App\ThirdPArty\TextEditorSummernote::load_script 1
App\ThirdPArty\TextEditorSummernote::init_script 1
App\ThirdPArty\TextEditorSummernote::assign_editor 1
App\ThirdPArty\TextEditorSummernote::get 1
5 1 1 1.4 1.4 0 0 0.15