. */ namespace OCA\SideMenu\Settings; use OCA\SideMenu\AppInfo\Application; use OCA\SideMenu\Service\ConfigProxy; use OCP\IL10N; use OCP\IURLGenerator; use OCP\Settings\IIconSection; class PersonalSection implements IIconSection { /** * @var IL10N */ private $l; /** * @var IURLGenerator */ private $url; /** * @var ConfigProxy */ private $configProxy; public function __construct(IURLGenerator $url, IL10N $l, ConfigProxy $configProxy) { $this->url = $url; $this->l = $l; $this->configProxy = $configProxy; } /** * returns the ID of the section. It is supposed to be a lower case string, * e.g. 'ldap'. * * @returns string */ public function getID() { if ($this->configProxy->getAppValueBool('force', '0')) { return ''; } return Application::APP_ID; } /** * returns the translated name as it should be displayed, e.g. 'LDAP / AD * integration'. Use the L10N service to translate it. * * @return string */ public function getName() { if ($this->configProxy->getAppValueBool('force', '0')) { return ''; } return $this->l->t(Application::APP_NAME); } /** * @return int whether the form should be rather on the top or bottom of * the settings navigation. The sections are arranged in ascending order of * the priority values. It is required to return a value between 0 and 99. * * E.g.: 70 */ public function getPriority() { if ($this->configProxy->getAppValueBool('force', '0')) { return null; } return 70; } /** * {@inheritdoc} */ public function getIcon() { return $this->url->imagePath(Application::APP_ID, 'icon.svg'); } }