parent
e8ea67139b
commit
36c1b7eb31
@ -0,0 +1,99 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> |
||||
* |
||||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de> |
||||
* |
||||
* @license GNU AGPL version 3 or any later version |
||||
* |
||||
* This program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License as |
||||
* published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
namespace OCA\Theming\Settings; |
||||
|
||||
use OCA\Theming\Template; |
||||
use OCP\AppFramework\Http\TemplateResponse; |
||||
use OCP\IConfig; |
||||
use OCP\IL10N; |
||||
use OCP\IURLGenerator; |
||||
use OCP\Settings\ISettings; |
||||
|
||||
class Admin implements ISettings { |
||||
|
||||
/** @var IConfig */ |
||||
private $config; |
||||
|
||||
/** @var IL10N */ |
||||
private $l; |
||||
|
||||
/** @var Template */ |
||||
private $themingDefaults; |
||||
|
||||
/** @var IURLGenerator */ |
||||
private $urlGenerator; |
||||
|
||||
public function __construct(IConfig $config, IL10N $l, Template $themingDefaults, IURLGenerator $urlGenerator) { |
||||
$this->config = $config; |
||||
$this->l = $l; |
||||
$this->themingDefaults = $themingDefaults; |
||||
$this->urlGenerator = $urlGenerator; |
||||
} |
||||
|
||||
/** |
||||
* @return TemplateResponse |
||||
*/ |
||||
public function getForm() { |
||||
$path = $this->urlGenerator->linkToRoute('theming.Theming.updateLogo'); |
||||
|
||||
$themable = true; |
||||
$errorMessage = ''; |
||||
$theme = $this->config->getSystemValue('theme', ''); |
||||
if ($theme !== '') { |
||||
$themable = false; |
||||
$errorMessage = $this->l->t('You already use a custom theme'); |
||||
} |
||||
|
||||
$parameters = [ |
||||
'themable' => $themable, |
||||
'errorMessage' => $errorMessage, |
||||
'name' => $this->themingDefaults->getEntity(), |
||||
'url' => $this->themingDefaults->getBaseUrl(), |
||||
'slogan' => $this->themingDefaults->getSlogan(), |
||||
'color' => $this->themingDefaults->getMailHeaderColor(), |
||||
'uploadLogoRoute' => $path, |
||||
]; |
||||
|
||||
return new TemplateResponse('theming', 'settings-admin', $parameters, ''); |
||||
} |
||||
|
||||
/** |
||||
* @return string the section ID, e.g. 'sharing' |
||||
*/ |
||||
public function getSection() { |
||||
return 'theming'; |
||||
} |
||||
|
||||
/** |
||||
* @return int whether the form should be rather on the top or bottom of |
||||
* the admin section. The forms are arranged in ascending order of the |
||||
* priority values. It is required to return a value between 0 and 100. |
||||
* |
||||
* E.g.: 70 |
||||
*/ |
||||
public function getPriority() { |
||||
return 5; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,67 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> |
||||
* |
||||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de> |
||||
* |
||||
* @license GNU AGPL version 3 or any later version |
||||
* |
||||
* This program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License as |
||||
* published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
namespace OCA\Theming\Settings; |
||||
|
||||
use OCP\IL10N; |
||||
use OCP\Settings\ISection; |
||||
|
||||
class Section implements ISection { |
||||
/** @var IL10N */ |
||||
private $l; |
||||
|
||||
public function __construct(IL10N $l) { |
||||
$this->l = $l; |
||||
} |
||||
|
||||
/** |
||||
* returns the ID of the section. It is supposed to be a lower case string, |
||||
* e.g. 'ldap' |
||||
* |
||||
* @returns string |
||||
*/ |
||||
public function getID() { |
||||
return 'theming'; |
||||
} |
||||
|
||||
/** |
||||
* 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() { |
||||
return $this->l->t('Theming'); |
||||
} |
||||
|
||||
/** |
||||
* @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() { |
||||
return 30; |
||||
} |
||||
} |
@ -1,52 +0,0 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> |
||||
* @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch> |
||||
* |
||||
* @author Bjoern Schiessle <bjoern@schiessle.org> |
||||
* @author Lukas Reschke <lukas@statuscode.ch> |
||||
* |
||||
* @license GNU AGPL version 3 or any later version |
||||
* |
||||
* This program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License as |
||||
* published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
$config = \OC::$server->getConfig(); |
||||
$l = \OC::$server->getL10N('theming'); |
||||
$urlGenerator = \OC::$server->getURLGenerator(); |
||||
|
||||
$theming = \OC::$server->getThemingDefaults(); |
||||
|
||||
$themable = true; |
||||
$errorMessage = ''; |
||||
$theme = $config->getSystemValue('theme', ''); |
||||
|
||||
if ($theme !== '') { |
||||
$themable = false; |
||||
$errorMessage = $l->t('You already use a custom theme'); |
||||
} |
||||
|
||||
$template = new \OCP\Template('theming', 'settings-admin'); |
||||
|
||||
$template->assign('themable', $themable); |
||||
$template->assign('errorMessage', $errorMessage); |
||||
$template->assign('name', $theming->getEntity()); |
||||
$template->assign('url', $theming->getBaseUrl()); |
||||
$template->assign('slogan', $theming->getSlogan()); |
||||
$template->assign('color', $theming->getMailHeaderColor()); |
||||
$path = $urlGenerator->linkToRoute('theming.Theming.updateLogo'); |
||||
$template->assign('uploadLogoRoute', $path); |
||||
|
||||
return $template->fetchPage(); |
Loading…
Reference in new issue