settings/templates/panels/admin/filesharing.php
<?php
/** @var \OCP\IL10N $l */
/** @var array $_ */
?>
<div id="shareAPI" class="section">
<h2 class="app-name has-documentation"><?php p($l->t('Sharing'));?></h2>
<a target="_blank" rel="noreferrer" class="icon-info"
title="<?php p($l->t('Open documentation'));?>"
href="<?php p(link_to_docs(\OCP\Constants::DOCS_ADMIN_SHARING)); ?>"></a>
<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>
<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') {
print_unescaped('checked="checked"');
} ?> />
<label for="allowLinks"><?php p($l->t('Allow users to share via link'));?></label><br/>
</p>
<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') {
print_unescaped('checked="checked"');
} ?> />
<label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/>
<input type="checkbox" name="shareapi_enforce_links_password_read_only" id="enforceLinkPasswordReadOnly" class="checkbox"
value="1" <?php if ($_['enforceLinkPasswordReadOnly'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="enforceLinkPasswordReadOnly"><?php p($l->t('Enforce password protection for read-only links'));?></label><br/>
<input type="checkbox" name="shareapi_enforce_links_password_read_write" id="enforceLinkPasswordReadWrite" class="checkbox"
value="1" <?php if ($_['enforceLinkPasswordReadWrite'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="enforceLinkPasswordReadWrite"><?php p($l->t('Enforce password protection for read + write links'));?></label><br/>
<input type="checkbox" name="shareapi_enforce_links_password_read_write_delete" id="enforceLinkPasswordReadWriteDelete" class="checkbox"
value="1" <?php if ($_['enforceLinkPasswordReadWriteDelete'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="enforceLinkPasswordReadWriteDelete"><?php p($l->t('Enforce password protection for read + write + delete links'));?></label><br/>
<input type="checkbox" name="shareapi_enforce_links_password_write_only" id="enforceLinkPasswordWriteOnly" class="checkbox"
value="1" <?php if ($_['enforceLinkPasswordWriteOnly'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="enforceLinkPasswordWriteOnly"><?php p($l->t('Enforce password protection for upload-only (File Drop) links'));?></label><br/>
<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/>
<span id="setDefaultExpireDate" class="indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareDefaultExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<?php p($l->t('Expire after ')); ?>
<input type="number" name='shareapi_expire_after_n_days' id="shareapiExpireAfterNDays" min="0" placeholder="<?php p('7')?>"
value='<?php p($_['shareExpireAfterNDays']) ?>' />
<?php p($l->t('days')); ?><br/>
<?php if ($_['shareEnforceExpireDate'] === 'yes'): ?>
<input type="checkbox" name="shareapi_enforce_expire_date" id="shareapiEnforceExpireDate" class="checkbox" value="1" checked="checked" />
<?php else: ?>
<input type="checkbox" name="shareapi_enforce_expire_date" id="shareapiEnforceExpireDate" class="checkbox" value="1" />
<?php endif; ?>
<label class="indent" for="shareapiEnforceExpireDate"><?php p($l->t('Enforce as maximum expiration date'));?></label><br/>
</span>
<input type="checkbox" name="shareapi_allow_public_notification" id="allowPublicMailNotification" class="checkbox"
value="1" <?php if ($_['allowPublicMailNotification'] == 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="allowPublicMailNotification"><?php p($l->t('Allow users to send mail notification for shared files'));?></label><br/>
<span id="publicMailNotificationLang" class="indent <?php if ($_['allowPublicMailNotification'] == 'no'): ?>hidden<?php endif; ?>">
<label><?php p($l->t('Language used for public mail notifications for shared files'));?></label>
<?php print_unescaped($_['publicMailNotificationLang']); ?>
<br>
</span>
<input type="checkbox" name="shareapi_allow_social_share" id="allowSocialShare" class="checkbox"
value="1" <?php if ($_['allowSocialShare'] == 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="allowSocialShare"><?php p($l->t('Allow users to share file via social media'));?></label><br/>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_default_expire_date_user_share" id="shareapiDefaultExpireDateUserShare" class="checkbox"
value="1" <?php if ($_['shareDefaultExpireDateSetUserShare'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="shareapiDefaultExpireDateUserShare"><?php p($l->t('Set default expiration date for user shares'));?></label><br/>
<span id="setDefaultExpireDateUserShare" class="indent <?php if ($_['shareDefaultExpireDateSetUserShare'] === 'no' || $_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<?php p($l->t('Expire after ')); ?>
<input type="number" name='shareapi_expire_after_n_days_user_share' id="shareapiExpireAfterNDaysUserShare" min="0" placeholder="<?php p('7')?>"
value='<?php p($_['shareExpireAfterNDaysUserShare']) ?>' />
<?php p($l->t('days')); ?><br/>
<?php if ($_['shareEnforceExpireDateUserShare'] === 'yes'): ?>
<input type="checkbox" name="shareapi_enforce_expire_date_user_share" id="shareapiEnforceExpireDateUserShare" class="checkbox" value="1" checked="checked" />
<?php else: ?>
<input type="checkbox" name="shareapi_enforce_expire_date_user_share" id="shareapiEnforceExpireDateUserShare" class="checkbox" value="1" />
<?php endif; ?>
<label class="indent" for="shareapiEnforceExpireDateUserShare"><?php p($l->t('Enforce as maximum expiration date'));?></label><br/>
</span>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_default_expire_date_group_share" id="shareapiDefaultExpireDateGroupShare" class="checkbox"
value="1" <?php if ($_['shareDefaultExpireDateSetGroupShare'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="shareapiDefaultExpireDateGroupShare"><?php p($l->t('Set default expiration date for group shares'));?></label><br/>
<span id="setDefaultExpireDateGroupShare" class="indent <?php if ($_['shareDefaultExpireDateSetGroupShare'] === 'no' || $_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<?php p($l->t('Expire after ')); ?>
<input type="number" name='shareapi_expire_after_n_days_group_share' id="shareapiExpireAfterNDaysGroupShare" min="0" placeholder="<?php p('7')?>"
value='<?php p($_['shareExpireAfterNDaysGroupShare']) ?>' />
<?php p($l->t('days')); ?><br/>
<?php if ($_['shareEnforceExpireDateGroupShare'] === 'yes'): ?>
<input type="checkbox" name="shareapi_enforce_expire_date_group_share" id="shareapiEnforceExpireDateGroupShare" class="checkbox" value="1" checked="checked" />
<?php else: ?>
<input type="checkbox" name="shareapi_enforce_expire_date_group_share" id="shareapiEnforceExpireDateGroupShare" class="checkbox" value="1" />
<?php endif; ?>
<label class="indent" for="shareapiEnforceExpireDateGroupShare"><?php p($l->t('Enforce as maximum expiration date'));?></label><br/>
</span>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_default_expire_date_remote_share" id="shareapiDefaultExpireDateFederatedShare" class="checkbox"
value="1" <?php if ($_['shareDefaultExpireDateSetFederatedShare'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="shareapiDefaultExpireDateFederatedShare"><?php p($l->t('Set default expiration date for federated shares'));?></label><br/>
<span id="setDefaultExpireDateFederatedShare" class="indent <?php if ($_['shareDefaultExpireDateSetFederatedShare'] === 'no' || $_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<?php p($l->t('Expire after ')); ?>
<input type="number" name='shareapi_expire_after_n_days_remote_share' id="shareapiExpireAfterNDaysFederatedShare" min="0" placeholder="<?php p('7')?>"
value='<?php p($_['shareExpireAfterNDaysFederatedShare']) ?>' />
<?php p($l->t('days')); ?><br/>
<?php if ($_['shareEnforceExpireDateFederatedShare'] === 'yes'): ?>
<input type="checkbox" name="shareapi_enforce_expire_date_remote_share" id="shareapiEnforceExpireDateFederatedShare" class="checkbox" value="1" checked="checked" />
<?php else: ?>
<input type="checkbox" name="shareapi_enforce_expire_date_remote_share" id="shareapiEnforceExpireDateFederatedShare" class="checkbox" value="1" />
<?php endif; ?>
<label class="indent" for="shareapiEnforceExpireDateFederatedShare"><?php p($l->t('Enforce as maximum expiration date'));?></label><br/>
</span>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_auto_accept_share" id="autoAcceptShare" class="checkbox"
value="1" <?php if ($_['autoAcceptShare'] === 'yes') {
print_unescaped('checked="checked"');
}?> />
<label for="autoAcceptShare"><?php p($l->t('Automatically accept new incoming local user shares'));?></label><br/>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<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') {
p('hidden');
}?>">
<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') {
p('hidden');
}?>">
<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') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_only_share_with_membership_groups" id="onlyShareWithMembershipGroups" class="checkbox"
value="1" <?php if ($_['onlyShareWithMembershipGroups']) {
print_unescaped('checked="checked"');
} ?> />
<label for="onlyShareWithMembershipGroups"><?php p($l->t('Restrict users to only share with groups they are member of'));?></label><br/>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_allow_mail_notification" id="allowMailNotification" class="checkbox"
value="1" <?php if ($_['allowMailNotification'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="allowMailNotification"><?php p($l->t('Allow users to send mail notification for shared files to other users'));?></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']) {
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') {
p('hidden');
} ?>">
<input name="shareapi_exclude_groups_list" class="noautosave" type="hidden" id="excludedGroups" value="<?php p($_['shareExcludedGroupsList']) ?>" style="width: 400px"/>
<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('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') {
print_unescaped('checked="checked"');
} ?> />
<label for="shareapi_allow_share_dialog_user_enumeration"><?php p($l->t('Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered.'));?></label><br />
</p>
<p class="indent <?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="checkbox" name="shareapi_share_dialog_user_enumeration_group_members" value="1" id="shareapi_share_dialog_user_enumeration_group_members" class="checkbox"
<?php if ($_['shareDialogUserEnumerationGroupMembers'] === 'yes') {
print_unescaped('checked="checked"');
} ?> />
<label for="shareapi_share_dialog_user_enumeration_group_members"><?php p($l->t('Restrict enumeration to group members'));?></label><br />
</p>
<p class="nocheckbox <?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<input type="hidden" name="shareapi_default_permissions" id="shareApiDefaultPermissions" class="checkbox"
value="<?php p($_['shareApiDefaultPermissions']) ?>" />
<?php p($l->t('Default user and group share permissions'));?>
</p>
<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) {
print_unescaped('checked="checked"');
} ?> />
<label for="shareapi_default_permission_<?php p($perm['id']) ?>"><?php p($perm['label']);?></label>
<?php endforeach ?>
</p>
<p class="<?php if ($_['shareAPIEnabled'] === 'no') {
p('hidden');
}?>">
<label for="coreUserAdditionalInfo"><?php p($l->t('Extra field to display in autocomplete results'));?></label><br/>
<select name="user_additional_info_field" id="coreUserAdditionalInfo" data-value="<?php p($_['coreUserAdditionalInfo']) ?>">
<option value=''><?php p($l->t('None')) ?></option>
<option value='id'><?php p($l->t('User ID')) ?></option>
<option value='email'><?php p($l->t('Email address')) ?></option>
</select>
</p>
</div>