Add all the settings stuff
This commit is contained in:
parent
e63f309c89
commit
66d1df4bc5
@ -5,20 +5,22 @@
|
|||||||
<name>External Password</name>
|
<name>External Password</name>
|
||||||
<summary>An app for Nextcloud to allow an administrator to direct a user to an external site for changing their password.</summary>
|
<summary>An app for Nextcloud to allow an administrator to direct a user to an external site for changing their password.</summary>
|
||||||
<description><![CDATA[An app for Nextcloud to allow an administrator to direct a user to an external site for changing their password. This is useful in conjunction with an app like external_users.]]></description>
|
<description><![CDATA[An app for Nextcloud to allow an administrator to direct a user to an external site for changing their password. This is useful in conjunction with an app like external_users.]]></description>
|
||||||
<version>0.0.1</version>
|
<version>0.1.0</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author mail="raoul@snyman.info" >Raoul Snyman</author>
|
<author mail="raoul@snyman.info" >Raoul Snyman</author>
|
||||||
<namespace>ExternalPassword</namespace>
|
<namespace>ExternalPassword</namespace>
|
||||||
<category>customization</category>
|
<category>customization</category>
|
||||||
<category>security</category>
|
<category>security</category>
|
||||||
|
<website>https://git.snyman.info/raoul/externalpassword</website>
|
||||||
|
<repository>https://git.snyman.info/raoul/externalpassword</repository>
|
||||||
<bugs>https://git.snyman.info/raoul/externalpassword/issues</bugs>
|
<bugs>https://git.snyman.info/raoul/externalpassword/issues</bugs>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<nextcloud min-version="15" max-version="15"/>
|
<nextcloud min-version="22"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<navigations>
|
<settings>
|
||||||
<navigation>
|
<admin>OCA\ExternalPassword\Settings\Admin</admin>
|
||||||
<name>External Password</name>
|
<admin-section>OCA\ExternalPassword\Settings\AdminSection</admin-section>
|
||||||
<route>externalpassword.page.index</route>
|
<personal>OCA\ExternalPassword\Settings\Personal</personal>
|
||||||
</navigation>
|
<personal-section>OCA\ExternalPassword\Settings\PersonalSection</personal-section>
|
||||||
</navigations>
|
</settings>
|
||||||
</info>
|
</info>
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
return [
|
return [
|
||||||
'routes' => [
|
'routes' => [
|
||||||
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
|
['name' => 'Settings#save', 'url' => '/settings/admin/security/externalpassword', 'verb' => 'POST'],
|
||||||
['name' => 'page#do_echo', 'url' => '/echo', 'verb' => 'POST'],
|
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace OCA\ExternalPassword\Controller;
|
|
||||||
|
|
||||||
use OCP\IRequest;
|
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
|
||||||
use OCP\AppFramework\Controller;
|
|
||||||
|
|
||||||
class PageController extends Controller {
|
|
||||||
private $userId;
|
|
||||||
|
|
||||||
public function __construct($AppName, IRequest $request, $UserId){
|
|
||||||
parent::__construct($AppName, $request);
|
|
||||||
$this->userId = $UserId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CAUTION: the @Stuff turns off security checks; for this page no admin is
|
|
||||||
* required and no CSRF check. If you don't know what CSRF is, read
|
|
||||||
* it up in the docs or you might create a security hole. This is
|
|
||||||
* basically the only required method to add this exemption, don't
|
|
||||||
* add it to any other method if you don't exactly know what it does
|
|
||||||
*
|
|
||||||
* @NoAdminRequired
|
|
||||||
* @NoCSRFRequired
|
|
||||||
*/
|
|
||||||
public function index() {
|
|
||||||
return new TemplateResponse('externalpassword', 'index'); // templates/index.php
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
34
lib/Controller/SettingsController.php
Normal file
34
lib/Controller/SettingsController.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
namespace OCA\ExternalPassword\Controller;
|
||||||
|
|
||||||
|
use OCP\IRequest;
|
||||||
|
use OCP\IConfig;
|
||||||
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
|
class SettingsController extends Controller {
|
||||||
|
|
||||||
|
/** @var IConfig */
|
||||||
|
private $config;
|
||||||
|
|
||||||
|
public function __construct($AppName, IRequest $request, IConfig $config) {
|
||||||
|
parent::__construct($AppName, $request);
|
||||||
|
$this->config = $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public function save(string $changePasswordUrl, string $descriptionText, string $buttonText): JSONResponse {
|
||||||
|
$this->config->setAppValue('externalpassword', 'changePasswordUrl', $changePasswordUrl);
|
||||||
|
$this->config->setAppValue('externalpassword', 'descriptionText', $descriptionText);
|
||||||
|
$this->config->setAppValue('externalpassword', 'buttonText', $buttonText);
|
||||||
|
$parameters = [
|
||||||
|
'changePasswordUrl' => $changePasswordUrl,
|
||||||
|
'descriptionText' => $descriptionText,
|
||||||
|
'buttonText' => $buttonText
|
||||||
|
];
|
||||||
|
return new JSONResponse($parameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user