Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>tags/v11.0RC2
@@ -0,0 +1,24 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
$settings = new \OCA\ShareByMail\Settings(); | |||
\OCP\Util::connectHook('\OCP\Config', 'js', $settings, 'announceShareProvider'); |
@@ -0,0 +1,38 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OCA\ShareByMail; | |||
class Settings { | |||
/** | |||
* announce that the share-by-mail share provider is enabled | |||
* | |||
* @param array $settings | |||
*/ | |||
public function announceShareProvider(array $settings) { | |||
$array = json_decode($settings['array']['oc_appconfig'], true); | |||
$array['shareByMailEnabled'] = true; | |||
$settings['array']['oc_appconfig'] = json_encode($array); | |||
} | |||
} |
@@ -0,0 +1,64 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OCA\ShareByMail\Tests; | |||
use OCA\ShareByMail\Settings; | |||
use Test\TestCase; | |||
class SettingsTest extends TestCase { | |||
/** @var Settings */ | |||
private $instance; | |||
public function setUp() { | |||
parent::setUp(); | |||
$this->instance = new Settings(); | |||
} | |||
public function testAnnounceShareProvider() { | |||
$before = [ | |||
'oc_appconfig' => | |||
json_encode([ | |||
'key1' => 'value1', | |||
'key2' => 'value2' | |||
]), | |||
'oc_foo' => 'oc_bar' | |||
]; | |||
$after = [ | |||
'oc_appconfig' => | |||
json_encode([ | |||
'key1' => 'value1', | |||
'key2' => 'value2', | |||
'shareByMailEnabled' => true | |||
]), | |||
'oc_foo' => 'oc_bar' | |||
]; | |||
$this->instance->announceShareProvider(['array' => &$before]); | |||
$this->assertSame($after, $before); | |||
} | |||
} |
@@ -25,6 +25,7 @@ | |||
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true, | |||
isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true, | |||
isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed, | |||
isMailShareAllowed: oc_appconfig.shareByMailEnabled !== undefined, | |||
defaultExpireDate: oc_appconfig.core.defaultExpireDate, | |||
isResharingAllowed: oc_appconfig.core.resharingAllowed, | |||
allowGroupSharing: oc_appconfig.core.allowGroupSharing |
@@ -416,19 +416,33 @@ | |||
}, | |||
_renderSharePlaceholderPart: function () { | |||
var sharePlaceholder = t('core', 'Share with users, or by mail...'); | |||
var allowGroupSharing = this.configModel.get('allowGroupSharing'); | |||
var allowRemoteSharing = this.configModel.get('isRemoteShareAllowed'); | |||
var allowMailSharing = this.configModel.get('isMailShareAllowed'); | |||
if (this.configModel.get('allowGroupSharing')) { | |||
if (this.configModel.get('isRemoteShareAllowed')) { | |||
sharePlaceholder = t('core', 'Share with users, groups, remote users, or by mail…'); | |||
} else { | |||
sharePlaceholder = t('core', 'Share with users, groups or by mail...'); | |||
} | |||
} else if (this.configModel.get('isRemoteShareAllowed')) { | |||
sharePlaceholder = t('core', 'Share with users, remote users or by mail...'); | |||
if (!allowGroupSharing && !allowRemoteSharing && allowMailSharing) { | |||
return t('core', 'Share with users or by mail...'); | |||
} | |||
if (!allowGroupSharing && allowRemoteSharing && !allowMailSharing) { | |||
return t('core', 'Share with users or remote users...'); | |||
} | |||
if (!allowGroupSharing && allowRemoteSharing && allowMailSharing) { | |||
return t('core', 'Share with users, remote users or by mail...'); | |||
} | |||
if (allowGroupSharing && !allowRemoteSharing && !allowMailSharing) { | |||
return t('core', 'Share with users or groups...'); | |||
} | |||
if (allowGroupSharing && !allowRemoteSharing && allowMailSharing) { | |||
return t('core', 'Share with users, groups or by mail...'); | |||
} | |||
if (allowGroupSharing && allowRemoteSharing && !allowMailSharing) { | |||
return t('core', 'Share with users, groups or remote users...'); | |||
} | |||
if (allowGroupSharing && allowRemoteSharing && allowMailSharing) { | |||
return t('core', 'Share with users, groups, remote users or by mail...'); | |||
} | |||
return sharePlaceholder; | |||
return t('core', 'Share with users...'); | |||
}, | |||
/** |