mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #28837 from nextcloud/show-warning-if-sharing-app-disabled
Show warning on the share settings when the File Shares app is disabled
This commit is contained in:
commit
d253d52007
3 changed files with 173 additions and 151 deletions
|
|
@ -12,6 +12,7 @@
|
|||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
* @author Sascha Wiswedel <sascha.wiswedel@nextcloud.com>
|
||||
* @author Vincent Petry <vincent@nextcloud.com>
|
||||
* @author Thomas Citharel <nextcloud@tcit.fr>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
@ -31,7 +32,7 @@
|
|||
*/
|
||||
namespace OCA\Settings\Settings\Admin;
|
||||
|
||||
use OC\Share\Share;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\Constants;
|
||||
use OCP\IConfig;
|
||||
|
|
@ -50,13 +51,14 @@ class Sharing implements ISettings {
|
|||
/** @var IManager */
|
||||
private $shareManager;
|
||||
|
||||
/**
|
||||
* @param IConfig $config
|
||||
*/
|
||||
public function __construct(IConfig $config, IL10N $l, IManager $shareManager) {
|
||||
/** @var IAppManager */
|
||||
private $appManager;
|
||||
|
||||
public function __construct(IConfig $config, IL10N $l, IManager $shareManager, IAppManager $appManager) {
|
||||
$this->config = $config;
|
||||
$this->l = $l;
|
||||
$this->shareManager = $shareManager;
|
||||
$this->appManager = $appManager;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -72,6 +74,7 @@ class Sharing implements ISettings {
|
|||
|
||||
$parameters = [
|
||||
// Built-In Sharing
|
||||
'sharingAppEnabled' => $this->appManager->isEnabledForUser('files_sharing'),
|
||||
'allowGroupSharing' => $this->config->getAppValue('core', 'shareapi_allow_group_sharing', 'yes'),
|
||||
'allowLinks' => $this->config->getAppValue('core', 'shareapi_allow_links', 'yes'),
|
||||
'allowLinksExcludeGroups' => $linksExcludeGroupsList,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
* @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||
*
|
||||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||
* @author Thomas Citharel <nextcloud@tcit.fr>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
@ -28,234 +29,240 @@
|
|||
|
||||
<div class="section" id="shareAPI">
|
||||
<h2><?php p($l->t('Sharing'));?></h2>
|
||||
<a target="_blank" rel="noreferrer noopener" class="icon-info"
|
||||
title="<?php p($l->t('Open documentation'));?>"
|
||||
href="<?php p(link_to_docs('admin-sharing')); ?>"></a>
|
||||
<p class="settings-hint"><?php p($l->t('As admin you can fine-tune the sharing behavior. Please see the documentation for more information.'));?></p>
|
||||
<p id="enable">
|
||||
<input type="checkbox" name="shareapi_enabled" id="shareAPIEnabled" class="checkbox"
|
||||
value="1" <?php if ($_['shareAPIEnabled'] === 'yes') {
|
||||
<?php if ($_['sharingAppEnabled'] === false) { ?>
|
||||
<p class="warning"><?php p($l->t('You need to enable the File sharing App.')); ?></p>
|
||||
<?php } else { ?>
|
||||
<div>
|
||||
<a target="_blank" rel="noreferrer noopener" class="icon-info"
|
||||
title="<?php p($l->t('Open documentation'));?>"
|
||||
href="<?php p(link_to_docs('admin-sharing')); ?>"></a>
|
||||
<p class="settings-hint"><?php p($l->t('As admin you can fine-tune the sharing behavior. Please see the documentation for more information.'));?></p>
|
||||
<p id="enable">
|
||||
<input type="checkbox" name="shareapi_enabled" id="shareAPIEnabled" class="checkbox"
|
||||
value="1" <?php if ($_['shareAPIEnabled'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareAPIEnabled"><?php p($l->t('Allow apps to use the Share API'));?></label><br/>
|
||||
</p>
|
||||
<label for="shareAPIEnabled"><?php p($l->t('Allow apps to use the Share API'));?></label><br/>
|
||||
</p>
|
||||
|
||||
<p id="internalShareSettings" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<p id="internalShareSettings" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
} ?>">
|
||||
<input type="checkbox" name="shareapi_default_internal_expire_date" id="shareapiDefaultInternalExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareDefaultInternalExpireDateSet'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_default_internal_expire_date" id="shareapiDefaultInternalExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareDefaultInternalExpireDateSet'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiDefaultInternalExpireDate"><?php p($l->t('Set default expiration date for shares'));?></label><br/>
|
||||
</p>
|
||||
<p id="setDefaultInternalExpireDate" class="double-indent <?php if ($_['shareDefaultInternalExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
|
||||
<label for="shareapiDefaultInternalExpireDate"><?php p($l->t('Set default expiration date for shares'));?></label><br/>
|
||||
</p>
|
||||
<p id="setDefaultInternalExpireDate" class="double-indent <?php if ($_['shareDefaultInternalExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<?php p($l->t('Expire after') . ' '); ?>
|
||||
<input type="text" name='shareapi_internal_expire_after_n_days' id="shareapiInternalExpireAfterNDays" placeholder="<?php p('7')?>"
|
||||
value='<?php p($_['shareInternalExpireAfterNDays']) ?>' />
|
||||
<?php p($l->t('day(s)')); ?>
|
||||
<input type="checkbox" name="shareapi_enforce_internal_expire_date" id="shareapiInternalEnforceExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareInternalEnforceExpireDate'] === 'yes') {
|
||||
<?php p($l->t('Expire after') . ' '); ?>
|
||||
<input type="text" name='shareapi_internal_expire_after_n_days' id="shareapiInternalExpireAfterNDays" placeholder="<?php p('7')?>"
|
||||
value='<?php p($_['shareInternalExpireAfterNDays']) ?>' />
|
||||
<?php p($l->t('day(s)')); ?>
|
||||
<input type="checkbox" name="shareapi_enforce_internal_expire_date" id="shareapiInternalEnforceExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareInternalEnforceExpireDate'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiInternalEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/>
|
||||
</p>
|
||||
<label for="shareapiInternalEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/>
|
||||
</p>
|
||||
|
||||
<p id="remoteShareSettings" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<p id="remoteShareSettings" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
} ?>">
|
||||
<input type="checkbox" name="shareapi_default_remote_expire_date" id="shareapiDefaultRemoteExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareDefaultRemoteExpireDateSet'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_default_remote_expire_date" id="shareapiDefaultRemoteExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareDefaultRemoteExpireDateSet'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiDefaultRemoteExpireDate"><?php p($l->t('Set default expiration date for shares to other servers'));?></label><br/>
|
||||
</p>
|
||||
<p id="setDefaultRemoteExpireDate" class="double-indent <?php if ($_['shareDefaultRemoteExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
|
||||
<label for="shareapiDefaultRemoteExpireDate"><?php p($l->t('Set default expiration date for shares to other servers'));?></label><br/>
|
||||
</p>
|
||||
<p id="setDefaultRemoteExpireDate" class="double-indent <?php if ($_['shareDefaultRemoteExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<?php p($l->t('Expire after'). ' '); ?>
|
||||
<input type="text" name='shareapi_remote_expire_after_n_days' id="shareapiRemoteExpireAfterNDays" placeholder="<?php p('7')?>"
|
||||
value='<?php p($_['shareRemoteExpireAfterNDays']) ?>' />
|
||||
<?php p($l->t('day(s)')); ?>
|
||||
<input type="checkbox" name="shareapi_enforce_remote_expire_date" id="shareapiRemoteEnforceExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareRemoteEnforceExpireDate'] === 'yes') {
|
||||
<?php p($l->t('Expire after'). ' '); ?>
|
||||
<input type="text" name='shareapi_remote_expire_after_n_days' id="shareapiRemoteExpireAfterNDays" placeholder="<?php p('7')?>"
|
||||
value='<?php p($_['shareRemoteExpireAfterNDays']) ?>' />
|
||||
<?php p($l->t('day(s)')); ?>
|
||||
<input type="checkbox" name="shareapi_enforce_remote_expire_date" id="shareapiRemoteEnforceExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareRemoteEnforceExpireDate'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiRemoteEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/>
|
||||
</p>
|
||||
<label for="shareapiRemoteEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/>
|
||||
</p>
|
||||
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_allow_links" id="allowLinks" class="checkbox"
|
||||
value="1" <?php if ($_['allowLinks'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_allow_links" id="allowLinks" class="checkbox"
|
||||
value="1" <?php if ($_['allowLinks'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="allowLinks"><?php p($l->t('Allow users to share via link and emails'));?></label><br/>
|
||||
</p>
|
||||
<label for="allowLinks"><?php p($l->t('Allow users to share via link and emails'));?></label><br/>
|
||||
</p>
|
||||
|
||||
<p id="publicLinkSettings" class="indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareAPIEnabled'] === 'no') {
|
||||
<p id="publicLinkSettings" class="indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
} ?>">
|
||||
<input type="checkbox" name="shareapi_allow_public_upload" id="allowPublicUpload" class="checkbox"
|
||||
value="1" <?php if ($_['allowPublicUpload'] == 'yes') {
|
||||
<input type="checkbox" name="shareapi_allow_public_upload" id="allowPublicUpload" class="checkbox"
|
||||
value="1" <?php if ($_['allowPublicUpload'] == 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/>
|
||||
<input type="checkbox" name="shareapi_enable_link_password_by_default" id="enableLinkPasswordByDefault" class="checkbox"
|
||||
value="1" <?php if ($_['enableLinkPasswordByDefault'] === 'yes') {
|
||||
<label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/>
|
||||
<input type="checkbox" name="shareapi_enable_link_password_by_default" id="enableLinkPasswordByDefault" class="checkbox"
|
||||
value="1" <?php if ($_['enableLinkPasswordByDefault'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="enableLinkPasswordByDefault"><?php p($l->t('Always ask for a password'));?></label><br/>
|
||||
<input type="checkbox" name="shareapi_enforce_links_password" id="enforceLinkPassword" class="checkbox"
|
||||
value="1" <?php if ($_['enforceLinkPassword']) {
|
||||
<label for="enableLinkPasswordByDefault"><?php p($l->t('Always ask for a password'));?></label><br/>
|
||||
<input type="checkbox" name="shareapi_enforce_links_password" id="enforceLinkPassword" class="checkbox"
|
||||
value="1" <?php if ($_['enforceLinkPassword']) {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="enforceLinkPassword"><?php p($l->t('Enforce password protection'));?></label><br/>
|
||||
<label for="enforceLinkPassword"><?php p($l->t('Enforce password protection'));?></label><br/>
|
||||
|
||||
<input type="checkbox" name="shareapi_default_expire_date" id="shareapiDefaultExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareDefaultExpireDateSet'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_default_expire_date" id="shareapiDefaultExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareDefaultExpireDateSet'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiDefaultExpireDate"><?php p($l->t('Set default expiration date'));?></label><br/>
|
||||
<label for="shareapiDefaultExpireDate"><?php p($l->t('Set default expiration date'));?></label><br/>
|
||||
|
||||
</p>
|
||||
<p id="setDefaultExpireDate" class="double-indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareDefaultExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
|
||||
</p>
|
||||
<p id="setDefaultExpireDate" class="double-indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareDefaultExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<?php p($l->t('Expire after'). ' '); ?>
|
||||
<input type="text" name='shareapi_expire_after_n_days' id="shareapiExpireAfterNDays" placeholder="<?php p('7')?>"
|
||||
value='<?php p($_['shareExpireAfterNDays']) ?>' />
|
||||
<?php p($l->t('day(s)')); ?>
|
||||
<input type="checkbox" name="shareapi_enforce_expire_date" id="shareapiEnforceExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareEnforceExpireDate'] === 'yes') {
|
||||
<?php p($l->t('Expire after'). ' '); ?>
|
||||
<input type="text" name='shareapi_expire_after_n_days' id="shareapiExpireAfterNDays" placeholder="<?php p('7')?>"
|
||||
value='<?php p($_['shareExpireAfterNDays']) ?>' />
|
||||
<?php p($l->t('day(s)')); ?>
|
||||
<input type="checkbox" name="shareapi_enforce_expire_date" id="shareapiEnforceExpireDate" class="checkbox"
|
||||
value="1" <?php if ($_['shareEnforceExpireDate'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/>
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<label for="shareapiEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/>
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<p class="indent">
|
||||
<?php p($l->t('Exclude groups from creating link shares:'));?>
|
||||
</p>
|
||||
<p id="selectLinksExcludedGroups" class="indent <?php if ($_['allowLinks'] === 'no') {
|
||||
<p class="indent">
|
||||
<?php p($l->t('Exclude groups from creating link shares:'));?>
|
||||
</p>
|
||||
<p id="selectLinksExcludedGroups" class="indent <?php if ($_['allowLinks'] === 'no') {
|
||||
p('hidden');
|
||||
} ?>">
|
||||
<input name="shareapi_allow_links_exclude_groups" type="hidden" id="linksExcludedGroups" value="<?php p($_['allowLinksExcludeGroups']) ?>" style="width: 400px" class="noJSAutoUpdate"/>
|
||||
</p>
|
||||
<input type="checkbox" name="shareapi_allow_resharing" id="allowResharing" class="checkbox"
|
||||
value="1" <?php if ($_['allowResharing'] === 'yes') {
|
||||
<input name="shareapi_allow_links_exclude_groups" type="hidden" id="linksExcludedGroups" value="<?php p($_['allowLinksExcludeGroups']) ?>" style="width: 400px" class="noJSAutoUpdate"/>
|
||||
</p>
|
||||
<input type="checkbox" name="shareapi_allow_resharing" id="allowResharing" class="checkbox"
|
||||
value="1" <?php if ($_['allowResharing'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="allowResharing"><?php p($l->t('Allow resharing'));?></label><br/>
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<label for="allowResharing"><?php p($l->t('Allow resharing'));?></label><br/>
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_allow_group_sharing" id="allowGroupSharing" class="checkbox"
|
||||
value="1" <?php if ($_['allowGroupSharing'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_allow_group_sharing" id="allowGroupSharing" class="checkbox"
|
||||
value="1" <?php if ($_['allowGroupSharing'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="allowGroupSharing"><?php p($l->t('Allow sharing with groups'));?></label><br />
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<label for="allowGroupSharing"><?php p($l->t('Allow sharing with groups'));?></label><br />
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_only_share_with_group_members" id="onlyShareWithGroupMembers" class="checkbox"
|
||||
value="1" <?php if ($_['onlyShareWithGroupMembers']) {
|
||||
<input type="checkbox" name="shareapi_only_share_with_group_members" id="onlyShareWithGroupMembers" class="checkbox"
|
||||
value="1" <?php if ($_['onlyShareWithGroupMembers']) {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="onlyShareWithGroupMembers"><?php p($l->t('Restrict users to only share with users in their groups'));?></label><br/>
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<label for="onlyShareWithGroupMembers"><?php p($l->t('Restrict users to only share with users in their groups'));?></label><br/>
|
||||
</p>
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups" class="checkbox"
|
||||
value="1" <?php if ($_['shareExcludeGroups']) {
|
||||
<input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups" class="checkbox"
|
||||
value="1" <?php if ($_['shareExcludeGroups']) {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapiExcludeGroups"><?php p($l->t('Exclude groups from sharing'));?></label><br/>
|
||||
</p>
|
||||
<p id="selectExcludedGroups" class="indent <?php if (!$_['shareExcludeGroups'] || $_['shareAPIEnabled'] === 'no') {
|
||||
<label for="shareapiExcludeGroups"><?php p($l->t('Exclude groups from sharing'));?></label><br/>
|
||||
</p>
|
||||
<p id="selectExcludedGroups" class="indent <?php if (!$_['shareExcludeGroups'] || $_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
} ?>">
|
||||
<input name="shareapi_exclude_groups_list" type="hidden" id="excludedGroups" value="<?php p($_['shareExcludedGroupsList']) ?>" style="width: 400px" class="noJSAutoUpdate"/>
|
||||
<br />
|
||||
<em><?php p($l->t('These groups will still be able to receive shares, but not to initiate them.')); ?></em>
|
||||
</p>
|
||||
<input name="shareapi_exclude_groups_list" type="hidden" id="excludedGroups" value="<?php p($_['shareExcludedGroupsList']) ?>" style="width: 400px" class="noJSAutoUpdate"/>
|
||||
<br />
|
||||
<em><?php p($l->t('These groups will still be able to receive shares, but not to initiate them.')); ?></em>
|
||||
</p>
|
||||
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_allow_share_dialog_user_enumeration" value="1" id="shareapi_allow_share_dialog_user_enumeration" class="checkbox"
|
||||
<?php if ($_['allowShareDialogUserEnumeration'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_allow_share_dialog_user_enumeration" value="1" id="shareapi_allow_share_dialog_user_enumeration" class="checkbox"
|
||||
<?php if ($_['allowShareDialogUserEnumeration'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapi_allow_share_dialog_user_enumeration"><?php p($l->t('Allow username autocompletion in share dialog'));?></label><br />
|
||||
</p>
|
||||
<label for="shareapi_allow_share_dialog_user_enumeration"><?php p($l->t('Allow username autocompletion in share dialog'));?></label><br />
|
||||
</p>
|
||||
|
||||
<p id="shareapi_restrict_user_enumeration_to_group_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['allowShareDialogUserEnumeration'] === 'no') {
|
||||
<p id="shareapi_restrict_user_enumeration_to_group_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['allowShareDialogUserEnumeration'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_restrict_user_enumeration_to_group" value="1" id="shareapi_restrict_user_enumeration_to_group" class="checkbox"
|
||||
<?php if ($_['restrictUserEnumerationToGroup'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_restrict_user_enumeration_to_group" value="1" id="shareapi_restrict_user_enumeration_to_group" class="checkbox"
|
||||
<?php if ($_['restrictUserEnumerationToGroup'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapi_restrict_user_enumeration_to_group"><?php p($l->t('Allow username autocompletion to users within the same groups'));?></label><br />
|
||||
</p>
|
||||
<label for="shareapi_restrict_user_enumeration_to_group"><?php p($l->t('Allow username autocompletion to users within the same groups'));?></label><br />
|
||||
</p>
|
||||
|
||||
<p id="shareapi_restrict_user_enumeration_to_phone_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['allowShareDialogUserEnumeration'] === 'no') {
|
||||
<p id="shareapi_restrict_user_enumeration_to_phone_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['allowShareDialogUserEnumeration'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_restrict_user_enumeration_to_phone" value="1" id="shareapi_restrict_user_enumeration_to_phone" class="checkbox"
|
||||
<?php if ($_['restrictUserEnumerationToPhone'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_restrict_user_enumeration_to_phone" value="1" id="shareapi_restrict_user_enumeration_to_phone" class="checkbox"
|
||||
<?php if ($_['restrictUserEnumerationToPhone'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapi_restrict_user_enumeration_to_phone"><?php p($l->t('Allow username autocompletion to users based on phone number integration'));?></label><br />
|
||||
</p>
|
||||
<p id="shareapi_restrict_user_enumeration_combinewarning_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['allowShareDialogUserEnumeration'] === 'no') {
|
||||
<label for="shareapi_restrict_user_enumeration_to_phone"><?php p($l->t('Allow username autocompletion to users based on phone number integration'));?></label><br />
|
||||
</p>
|
||||
<p id="shareapi_restrict_user_enumeration_combinewarning_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no' || $_['allowShareDialogUserEnumeration'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<em><?php p($l->t('If autocompletion "same group" and "phone number integration" are enabled a match in either is enough to show the user.'));?></em><br />
|
||||
</p>
|
||||
<p id="shareapi_restrict_user_enumeration_full_match_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<em><?php p($l->t('If autocompletion "same group" and "phone number integration" are enabled a match in either is enough to show the user.'));?></em><br />
|
||||
</p>
|
||||
<p id="shareapi_restrict_user_enumeration_full_match_setting" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
}?>">
|
||||
<input type="checkbox" name="shareapi_restrict_user_enumeration_full_match" value="1" id="shareapi_restrict_user_enumeration_full_match" class="checkbox"
|
||||
<?php if ($_['restrictUserEnumerationFullMatch'] === 'yes') {
|
||||
<input type="checkbox" name="shareapi_restrict_user_enumeration_full_match" value="1" id="shareapi_restrict_user_enumeration_full_match" class="checkbox"
|
||||
<?php if ($_['restrictUserEnumerationFullMatch'] === 'yes') {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapi_restrict_user_enumeration_full_match"><?php p($l->t('Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)'));?></label><br />
|
||||
</p>
|
||||
<label for="shareapi_restrict_user_enumeration_full_match"><?php p($l->t('Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)'));?></label><br />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<input type="checkbox" id="publicShareDisclaimer" class="checkbox noJSAutoUpdate"
|
||||
<?php if ($_['publicShareDisclaimerText'] !== null) {
|
||||
<p>
|
||||
<input type="checkbox" id="publicShareDisclaimer" class="checkbox noJSAutoUpdate"
|
||||
<?php if ($_['publicShareDisclaimerText'] !== null) {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="publicShareDisclaimer"><?php p($l->t('Show disclaimer text on the public link upload page (only shown when the file list is hidden)'));?></label>
|
||||
<span id="publicShareDisclaimerStatus" class="msg" style="display:none"></span>
|
||||
<br/>
|
||||
<textarea placeholder="<?php p($l->t('This text will be shown on the public link upload page when the file list is hidden.')) ?>" id="publicShareDisclaimerText" <?php if ($_['publicShareDisclaimerText'] === null) {
|
||||
<label for="publicShareDisclaimer"><?php p($l->t('Show disclaimer text on the public link upload page (only shown when the file list is hidden)'));?></label>
|
||||
<span id="publicShareDisclaimerStatus" class="msg" style="display:none"></span>
|
||||
<br/>
|
||||
<textarea placeholder="<?php p($l->t('This text will be shown on the public link upload page when the file list is hidden.')) ?>" id="publicShareDisclaimerText" <?php if ($_['publicShareDisclaimerText'] === null) {
|
||||
print_unescaped('class="hidden"');
|
||||
} ?>><?php p($_['publicShareDisclaimerText']) ?></textarea>
|
||||
</p>
|
||||
</p>
|
||||
|
||||
<h3><?php p($l->t('Default share permissions'));?></h3>
|
||||
<input type="hidden" name="shareapi_default_permissions" id="shareApiDefaultPermissions" class="checkbox"
|
||||
value="<?php p($_['shareApiDefaultPermissions']) ?>" />
|
||||
<p id="shareApiDefaultPermissionsSection" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
<h3><?php p($l->t('Default share permissions'));?></h3>
|
||||
<input type="hidden" name="shareapi_default_permissions" id="shareApiDefaultPermissions" class="checkbox"
|
||||
value="<?php p($_['shareApiDefaultPermissions']) ?>" />
|
||||
<p id="shareApiDefaultPermissionsSection" class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
|
||||
p('hidden');
|
||||
} ?>">
|
||||
<?php foreach ($_['shareApiDefaultPermissionsCheckboxes'] as $perm): ?>
|
||||
<input type="checkbox" name="shareapi_default_permission_<?php p($perm['id']) ?>" id="shareapi_default_permission_<?php p($perm['id']) ?>"
|
||||
class="noautosave checkbox" value="<?php p($perm['value']) ?>" <?php if (($_['shareApiDefaultPermissions'] & $perm['value']) !== 0) {
|
||||
<?php foreach ($_['shareApiDefaultPermissionsCheckboxes'] as $perm): ?>
|
||||
<input type="checkbox" name="shareapi_default_permission_<?php p($perm['id']) ?>" id="shareapi_default_permission_<?php p($perm['id']) ?>"
|
||||
class="noautosave checkbox" value="<?php p($perm['value']) ?>" <?php if (($_['shareApiDefaultPermissions'] & $perm['value']) !== 0) {
|
||||
print_unescaped('checked="checked"');
|
||||
} ?> />
|
||||
<label for="shareapi_default_permission_<?php p($perm['id']) ?>"><?php p($perm['label']);?></label>
|
||||
<?php endforeach ?>
|
||||
</p>
|
||||
<label for="shareapi_default_permission_<?php p($perm['id']) ?>"><?php p($perm['label']);?></label>
|
||||
<?php endforeach ?>
|
||||
</p>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -32,11 +32,13 @@
|
|||
namespace OCA\Settings\Tests\Settings\Admin;
|
||||
|
||||
use OCA\Settings\Settings\Admin\Sharing;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\Constants;
|
||||
use OCP\IConfig;
|
||||
use OCP\IL10N;
|
||||
use OCP\Share\IManager;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Test\TestCase;
|
||||
|
||||
class SharingTest extends TestCase {
|
||||
|
|
@ -44,10 +46,12 @@ class SharingTest extends TestCase {
|
|||
private $admin;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */
|
||||
/** @var IL10N|MockObject */
|
||||
private $l10n;
|
||||
/** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
|
||||
/** @var IManager|MockObject */
|
||||
private $shareManager;
|
||||
/** @var IAppManager|MockObject */
|
||||
private $appManager;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
|
@ -55,15 +59,17 @@ class SharingTest extends TestCase {
|
|||
$this->l10n = $this->getMockBuilder(IL10N::class)->getMock();
|
||||
|
||||
$this->shareManager = $this->getMockBuilder(IManager::class)->getMock();
|
||||
$this->appManager = $this->getMockBuilder(IAppManager::class)->getMock();
|
||||
|
||||
$this->admin = new Sharing(
|
||||
$this->config,
|
||||
$this->l10n,
|
||||
$this->shareManager
|
||||
$this->shareManager,
|
||||
$this->appManager
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFormWithoutExcludedGroups() {
|
||||
public function testGetFormWithoutExcludedGroups(): void {
|
||||
$this->config
|
||||
->method('getAppValue')
|
||||
->willReturnMap([
|
||||
|
|
@ -94,10 +100,13 @@ class SharingTest extends TestCase {
|
|||
$this->shareManager->method('shareWithGroupMembersOnly')
|
||||
->willReturn(false);
|
||||
|
||||
$this->appManager->method('isEnabledForUser')->with('files_sharing')->willReturn(false);
|
||||
|
||||
$expected = new TemplateResponse(
|
||||
'settings',
|
||||
'settings/admin/sharing',
|
||||
[
|
||||
'sharingAppEnabled' => false,
|
||||
'allowGroupSharing' => 'yes',
|
||||
'allowLinks' => 'yes',
|
||||
'allowPublicUpload' => 'yes',
|
||||
|
|
@ -117,7 +126,7 @@ class SharingTest extends TestCase {
|
|||
'publicShareDisclaimerText' => 'Lorem ipsum',
|
||||
'enableLinkPasswordByDefault' => 'yes',
|
||||
'shareApiDefaultPermissions' => Constants::PERMISSION_ALL,
|
||||
'shareApiDefaultPermissionsCheckboxes' => $this->invokePrivate($this->admin, 'getSharePermissionList', []),
|
||||
'shareApiDefaultPermissionsCheckboxes' => self::invokePrivate($this->admin, 'getSharePermissionList', []),
|
||||
'shareDefaultInternalExpireDateSet' => 'no',
|
||||
'shareInternalExpireAfterNDays' => '7',
|
||||
'shareInternalEnforceExpireDate' => 'no',
|
||||
|
|
@ -132,7 +141,7 @@ class SharingTest extends TestCase {
|
|||
$this->assertEquals($expected, $this->admin->getForm());
|
||||
}
|
||||
|
||||
public function testGetFormWithExcludedGroups() {
|
||||
public function testGetFormWithExcludedGroups(): void {
|
||||
$this->config
|
||||
->method('getAppValue')
|
||||
->willReturnMap([
|
||||
|
|
@ -163,10 +172,13 @@ class SharingTest extends TestCase {
|
|||
$this->shareManager->method('shareWithGroupMembersOnly')
|
||||
->willReturn(false);
|
||||
|
||||
$this->appManager->method('isEnabledForUser')->with('files_sharing')->willReturn(true);
|
||||
|
||||
$expected = new TemplateResponse(
|
||||
'settings',
|
||||
'settings/admin/sharing',
|
||||
[
|
||||
'sharingAppEnabled' => true,
|
||||
'allowGroupSharing' => 'yes',
|
||||
'allowLinks' => 'yes',
|
||||
'allowPublicUpload' => 'yes',
|
||||
|
|
@ -186,7 +198,7 @@ class SharingTest extends TestCase {
|
|||
'publicShareDisclaimerText' => 'Lorem ipsum',
|
||||
'enableLinkPasswordByDefault' => 'yes',
|
||||
'shareApiDefaultPermissions' => Constants::PERMISSION_ALL,
|
||||
'shareApiDefaultPermissionsCheckboxes' => $this->invokePrivate($this->admin, 'getSharePermissionList', []),
|
||||
'shareApiDefaultPermissionsCheckboxes' => self::invokePrivate($this->admin, 'getSharePermissionList', []),
|
||||
'shareDefaultInternalExpireDateSet' => 'no',
|
||||
'shareInternalExpireAfterNDays' => '7',
|
||||
'shareInternalEnforceExpireDate' => 'no',
|
||||
|
|
@ -201,11 +213,11 @@ class SharingTest extends TestCase {
|
|||
$this->assertEquals($expected, $this->admin->getForm());
|
||||
}
|
||||
|
||||
public function testGetSection() {
|
||||
public function testGetSection(): void {
|
||||
$this->assertSame('sharing', $this->admin->getSection());
|
||||
}
|
||||
|
||||
public function testGetPriority() {
|
||||
public function testGetPriority(): void {
|
||||
$this->assertSame(0, $this->admin->getPriority());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue