2016-10-25 21:49:48 +03:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @copyright Copyright (c) 2016, Roeland Jago Douma <roeland@famdouma.nl>
|
|
|
|
*
|
2019-12-03 21:57:53 +03:00
|
|
|
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
2017-11-06 17:56:42 +03:00
|
|
|
* @author Joas Schilling <coding@schilljs.com>
|
2020-04-29 12:57:22 +03:00
|
|
|
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
2017-11-06 17:56:42 +03:00
|
|
|
* @author Lukas Reschke <lukas@statuscode.ch>
|
|
|
|
* @author Morris Jobke <hey@morrisjobke.de>
|
2016-10-25 21:49:48 +03:00
|
|
|
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
|
|
|
*
|
|
|
|
* @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
|
2019-12-03 21:57:53 +03:00
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2016-10-25 21:49:48 +03:00
|
|
|
*
|
|
|
|
*/
|
2019-11-22 22:52:10 +03:00
|
|
|
|
2016-10-25 21:49:48 +03:00
|
|
|
namespace OC\Core\Controller;
|
|
|
|
|
|
|
|
use bantu\IniGetWrapper\IniGetWrapper;
|
2017-12-01 12:36:13 +03:00
|
|
|
use OC\CapabilitiesManager;
|
2016-10-25 21:49:48 +03:00
|
|
|
use OC\Template\JSConfigHelper;
|
|
|
|
use OCP\App\IAppManager;
|
|
|
|
use OCP\AppFramework\Controller;
|
|
|
|
use OCP\AppFramework\Http;
|
|
|
|
use OCP\AppFramework\Http\DataDisplayResponse;
|
2017-04-07 23:42:43 +03:00
|
|
|
use OCP\Defaults;
|
2016-10-25 21:49:48 +03:00
|
|
|
use OCP\IConfig;
|
|
|
|
use OCP\IGroupManager;
|
2020-04-27 09:40:54 +03:00
|
|
|
use OCP\IInitialStateService;
|
2016-10-25 21:49:48 +03:00
|
|
|
use OCP\IRequest;
|
2016-09-19 16:33:30 +03:00
|
|
|
use OCP\ISession;
|
2016-10-25 21:49:48 +03:00
|
|
|
use OCP\IURLGenerator;
|
|
|
|
use OCP\IUserSession;
|
2018-01-05 15:58:28 +03:00
|
|
|
use OCP\L10N\IFactory;
|
2016-10-25 21:49:48 +03:00
|
|
|
|
|
|
|
class OCJSController extends Controller {
|
|
|
|
|
|
|
|
/** @var JSConfigHelper */
|
|
|
|
private $helper;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* OCJSController constructor.
|
|
|
|
*
|
|
|
|
* @param string $appName
|
|
|
|
* @param IRequest $request
|
2018-01-05 15:58:28 +03:00
|
|
|
* @param IFactory $l10nFactory
|
2017-04-07 23:42:43 +03:00
|
|
|
* @param Defaults $defaults
|
2016-10-25 21:49:48 +03:00
|
|
|
* @param IAppManager $appManager
|
2016-09-19 16:33:30 +03:00
|
|
|
* @param ISession $session
|
|
|
|
* @param IUserSession $userSession
|
2016-10-25 21:49:48 +03:00
|
|
|
* @param IConfig $config
|
|
|
|
* @param IGroupManager $groupManager
|
|
|
|
* @param IniGetWrapper $iniWrapper
|
|
|
|
* @param IURLGenerator $urlGenerator
|
2017-12-01 12:36:13 +03:00
|
|
|
* @param CapabilitiesManager $capabilitiesManager
|
2020-04-27 09:40:54 +03:00
|
|
|
* @param IInitialStateService $initialStateService
|
2016-10-25 21:49:48 +03:00
|
|
|
*/
|
|
|
|
public function __construct($appName,
|
|
|
|
IRequest $request,
|
2018-01-05 15:58:28 +03:00
|
|
|
IFactory $l10nFactory,
|
2017-04-07 23:42:43 +03:00
|
|
|
Defaults $defaults,
|
2016-10-25 21:49:48 +03:00
|
|
|
IAppManager $appManager,
|
2016-09-19 16:33:30 +03:00
|
|
|
ISession $session,
|
|
|
|
IUserSession $userSession,
|
2016-10-25 21:49:48 +03:00
|
|
|
IConfig $config,
|
|
|
|
IGroupManager $groupManager,
|
|
|
|
IniGetWrapper $iniWrapper,
|
2017-12-01 12:36:13 +03:00
|
|
|
IURLGenerator $urlGenerator,
|
2020-04-27 09:40:54 +03:00
|
|
|
CapabilitiesManager $capabilitiesManager,
|
|
|
|
IInitialStateService $initialStateService) {
|
2016-10-25 21:49:48 +03:00
|
|
|
parent::__construct($appName, $request);
|
|
|
|
|
|
|
|
$this->helper = new JSConfigHelper(
|
2018-01-05 15:58:28 +03:00
|
|
|
$l10nFactory->get('lib'),
|
2016-10-25 21:49:48 +03:00
|
|
|
$defaults,
|
|
|
|
$appManager,
|
2016-09-19 16:33:30 +03:00
|
|
|
$session,
|
|
|
|
$userSession->getUser(),
|
2016-10-25 21:49:48 +03:00
|
|
|
$config,
|
|
|
|
$groupManager,
|
|
|
|
$iniWrapper,
|
2017-12-01 12:36:13 +03:00
|
|
|
$urlGenerator,
|
2020-04-27 09:40:54 +03:00
|
|
|
$capabilitiesManager,
|
|
|
|
$initialStateService,
|
2016-10-25 21:49:48 +03:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @NoCSRFRequired
|
|
|
|
* @PublicPage
|
2016-10-25 23:13:09 +03:00
|
|
|
*
|
|
|
|
* @return DataDisplayResponse
|
2016-10-25 21:49:48 +03:00
|
|
|
*/
|
|
|
|
public function getConfig() {
|
|
|
|
$data = $this->helper->getConfig();
|
|
|
|
|
|
|
|
return new DataDisplayResponse($data, Http::STATUS_OK, ['Content-type' => 'text/javascript']);
|
|
|
|
}
|
|
|
|
}
|