diff options
-rw-r--r-- | apps/files/index.php | 5 | ||||
-rw-r--r-- | apps/files/templates/index.php | 2 | ||||
-rw-r--r-- | apps/files_sharing/public.php | 4 | ||||
-rw-r--r-- | core/js/share.js | 7 | ||||
-rwxr-xr-x | settings/admin.php | 3 | ||||
-rw-r--r-- | settings/templates/admin.php | 10 |
6 files changed, 28 insertions, 3 deletions
diff --git a/apps/files/index.php b/apps/files/index.php index 2338cf439e4..2f005391509 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -121,6 +121,10 @@ if ($needUpgrade) { // information about storage capacities $storageInfo=OC_Helper::getStorageInfo(); $maxUploadFilesize=OCP\Util::maxUploadFilesize($dir); + $publicUploadEnabled = \OC_Appconfig::getValue('core', 'shareapi_allow_public_upload', 'yes'); + if (OC_App::isEnabled('files_encryption')) { + $publicUploadEnabled = 'no'; + } OCP\Util::addscript('files', 'fileactions'); OCP\Util::addscript('files', 'files'); @@ -138,5 +142,6 @@ if ($needUpgrade) { $tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); $tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']); $tmpl->assign('isPublic', false); + $tmpl->assign('publicUploadEnabled', $publicUploadEnabled); $tmpl->printPage(); } diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php index fa4cda6f6b2..e0731609368 100644 --- a/apps/files/templates/index.php +++ b/apps/files/templates/index.php @@ -61,7 +61,7 @@ <div id="emptyfolder"><?php p($l->t('Nothing in here. Upload something!'))?></div> <?php endif; ?> -<table id="filestable"> +<table id="filestable" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>"> <thead> <tr> <th id='headerName'> diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php index 9462844a82b..3f8e29345a7 100644 --- a/apps/files_sharing/public.php +++ b/apps/files_sharing/public.php @@ -137,6 +137,9 @@ if (isset($path)) { if (\OCP\App::isEnabled('files_encryption')) { $allowPublicUploadEnabled = false; } + if (OC_Appconfig::getValue('core', 'shareapi_allow_public_upload', 'yes') === 'no') { + $allowPublicUploadEnabled = false; + } if ($linkItem['item_type'] !== 'folder') { $allowPublicUploadEnabled = false; } @@ -202,6 +205,7 @@ if (isset($path)) { $folder->assign('isCreatable', false); $folder->assign('permissions', OCP\PERMISSION_READ); $folder->assign('isPublic',true); + $folder->assign('publicUploadEnabled', 'no'); $folder->assign('files', $files); $folder->assign('uploadMaxFilesize', $maxUploadFilesize); $folder->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize)); diff --git a/core/js/share.js b/core/js/share.js index 21e352ee1c6..4c8fd874107 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -161,7 +161,12 @@ OC.Share={ // respective checkbox should be checked or // not. + var publicUploadEnabled = $('#filestable').data('allow-public-upload'); + if (typeof publicUploadEnabled == 'undefined') { + publicUploadEnabled = 'no'; + } var allowPublicUploadStatus = false; + $.each(data.shares, function(key, value) { if (allowPublicUploadStatus) { return true; @@ -181,7 +186,7 @@ OC.Share={ html += '<div id="linkPass">'; html += '<input id="linkPassText" type="password" placeholder="'+t('core', 'Password')+'" />'; html += '</div>'; - if (itemType === 'folder' && (possiblePermissions & OC.PERMISSION_CREATE)) { + if (itemType === 'folder' && (possiblePermissions & OC.PERMISSION_CREATE) && publicUploadEnabled === 'yes') { html += '<div id="allowPublicUploadWrapper" style="display:none;">'; html += '<input type="checkbox" value="1" name="allowPublicUpload" id="sharingDialogAllowPublicUpload"' + ((allowPublicUploadStatus) ? 'checked="checked"' : '') + ' />'; html += '<label for="sharingDialogAllowPublicUpload">' + t('core', 'Allow Public Upload') + '</label>'; diff --git a/settings/admin.php b/settings/admin.php index f945e56b8c2..10e239204f2 100755 --- a/settings/admin.php +++ b/settings/admin.php @@ -38,9 +38,10 @@ if (OC_Request::serverProtocol() === 'https') { $connectedHTTPS = false; } $tmpl->assign('isConnectedViaHTTPS', $connectedHTTPS); -$tmpl->assign('enforceHTTPSEnabled', OC_Config::getValue( "forcessl", false)); +$tmpl->assign('enforceHTTPSEnabled', OC_Config::getValue( "forcessl", false)); $tmpl->assign('allowLinks', OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes')); +$tmpl->assign('allowPublicUpload', OC_Appconfig::getValue('core', 'shareapi_allow_public_upload', 'yes')); $tmpl->assign('allowResharing', OC_Appconfig::getValue('core', 'shareapi_allow_resharing', 'yes')); $tmpl->assign('sharePolicy', OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global')); $tmpl->assign('forms', array()); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index d638a26c3fa..057d527db73 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -145,6 +145,16 @@ if (!$_['internetconnectionworking']) { <em><?php p($l->t('Allow users to share items to the public with links')); ?></em> </td> </tr> + <?php if (!\OCP\App::isEnabled('files_encryption')) { ?> + <tr> + <td <?php if ($_['shareAPIEnabled'] == 'no') print_unescaped('style="display:none"');?>> + <input type="checkbox" name="shareapi_allow_public_upload" id="allowPublicUpload" + value="1" <?php if ($_['allowPublicUpload'] == 'yes') print_unescaped('checked="checked"'); ?> /> + <label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/> + <em><?php p($l->t('Allow users to enable others to upload into their publicly shared folders')); ?></em> + </td> + </tr> + <?php } ?> <tr> <td <?php if ($_['shareAPIEnabled'] === 'no') print_unescaped('style="display:none"');?>> <input type="checkbox" name="shareapi_allow_resharing" id="allowResharing" |