summaryrefslogtreecommitdiffstats
path: root/modules-available/vmstore/page.inc.php
diff options
context:
space:
mode:
authorroot2019-02-19 18:53:50 +0100
committerroot2019-02-19 18:53:50 +0100
commit0ad4c0f8196b61699754762aacbaab0223478ab9 (patch)
treede434c4aea8d07ecd01cd3badd48d057d62c2d1b /modules-available/vmstore/page.inc.php
parent[usb-lock-off] Edit rule cleanup and fix of the dropdown boxes. (diff)
parent[statistics] Fix RAM change warning to handle increase too (diff)
downloadslx-admin-usb-lock-off.tar.gz
slx-admin-usb-lock-off.tar.xz
slx-admin-usb-lock-off.zip
Merge branch 'master' into usb-lock-offusb-lock-off
Diffstat (limited to 'modules-available/vmstore/page.inc.php')
-rw-r--r--modules-available/vmstore/page.inc.php22
1 files changed, 7 insertions, 15 deletions
diff --git a/modules-available/vmstore/page.inc.php b/modules-available/vmstore/page.inc.php
index c3d5da77..1e0cc619 100644
--- a/modules-available/vmstore/page.inc.php
+++ b/modules-available/vmstore/page.inc.php
@@ -8,10 +8,7 @@ class Page_VmStore extends Page
{
User::load();
- if (!User::isLoggedIn()) {
- Message::addError('main.no-permission');
- Util::redirect('?do=Main');
- }
+ User::assertPermission('edit');
$action = Request::post('action');
@@ -33,30 +30,25 @@ class Page_VmStore extends Page
if (isset($vmstore['storetype'])) {
$vmstore['pre-' . $vmstore['storetype']] = 'checked';
}
- $vmstore['internalAllowed'] = User::hasPermission("choose.internal");
- $vmstore['nfsAllowed'] = User::hasPermission("choose.nfs");
- $vmstore['cifsAllowed'] = User::hasPermission("choose.cifs");
- $vmstore['saveAllowed'] = $vmstore['internalAllowed'] || $vmstore['nfsAllowed'] || $vmstore['cifsAllowed'];
Render::addTemplate('page-vmstore', $vmstore);
}
private function setStore()
{
$vmstore = array();
- foreach (array('storetype', 'nfsaddr', 'cifsaddr', 'cifsuser', 'cifspasswd', 'cifsuserro', 'cifspasswdro') as $key) {
+ foreach (array('storetype', 'nfsaddr', 'nfsopts', 'cifsaddr', 'cifsuser', 'cifspasswd', 'cifsuserro', 'cifspasswdro', 'cifsopts') as $key) {
$vmstore[$key] = trim(Request::post($key, '', 'string'));
+ // Remove rw setting
+ if ($key === 'cifsopts' || $key === 'nfsopts') {
+ $vmstore[$key] = preg_replace('/\s+,\s+/', ',', $vmstore[$key]);
+ $vmstore[$key] = preg_replace('/^rw,|,rw$/', '', str_replace(',rw,', ',', $vmstore[$key]));
+ }
}
$storetype = $vmstore['storetype'];
if (!in_array($storetype, array('internal', 'nfs', 'cifs'))) {
Message::addError('main.value-invalid', 'type', $storetype);
Util::redirect('?do=VmStore');
}
- if (($storetype === 'internal' && !User::hasPermission("choose.internal")) ||
- ($storetype === 'nfs' && !User::hasPermission("choose.nfs")) ||
- ($storetype === 'cifs' && !User::hasPermission("choose.cifs"))) {
- Message::addError('main.no-permission');
- Util::redirect('?do=VmStore');
- }
// Validate syntax of nfs/cifs
if ($storetype === 'nfs' && !preg_match('#^\S+:\S+$#is', $vmstore['nfsaddr'])) {
Message::addError('main.value-invalid', 'nfsaddr', $vmstore['nfsaddr']);