'Speedtest', 'enabled' => true, 'image' => 'plugins/images/tabs/speedtest-icon.png', 'category' => 'Monitor', 'settingsArray' => __FUNCTION__ ]; if ($infoOnly) { return $homepageInformation; } $homepageSettings = [ 'debug' => true, 'settings' => [ 'Enable' => [ $this->settingsOption('html', null, ['override' => 6, 'label' => 'Info', 'html' => '
This homepage item requires Speedtest-Tracker to be running on your network.
']), $this->settingsOption('enable', 'homepageSpeedtestEnabled'), $this->settingsOption('auth', 'homepageSpeedtestAuth'), ], 'Connection' => [ $this->settingsOption('url', 'speedtestURL'), $this->settingsOption('disable-cert-check', 'speedtestDisableCertCheck'), $this->settingsOption('use-custom-certificate', 'speedtestUseCustomCertificate'), ], 'Options' => [ $this->settingsOption('title', 'speedtestHeader'), $this->settingsOption('toggle-title', 'speedtestHeaderToggle'), ], ] ]; return array_merge($homepageInformation, $homepageSettings); } public function speedTestHomepagePermissions($key = null) { $permissions = [ 'main' => [ 'enabled' => [ 'homepageSpeedtestEnabled' ], 'auth' => [ 'homepageSpeedtestAuth' ], 'not_empty' => [ 'speedtestURL' ] ] ]; return $this->homepageCheckKeyPermissions($key, $permissions); } public function homepageOrderSpeedtest() { if ($this->homepageItemPermissions($this->speedTestHomepagePermissions('main'))) { return '