summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/index.php5
-rw-r--r--apps/files/templates/index.php2
-rw-r--r--apps/files_sharing/public.php4
-rw-r--r--core/js/share.js7
-rwxr-xr-xsettings/admin.php3
-rw-r--r--settings/templates/admin.php10
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"