forked from deblan/side_menu
Merge branch 'feature/issue34' into develop
This commit is contained in:
commit
266ba1453e
|
@ -55,6 +55,8 @@ class JsController extends Controller
|
|||
$user = OC::$server[IUserSession::class]->getUser();
|
||||
$topMenuApps = (array) json_decode($this->config->getAppValue('side_menu', 'top-menu-apps', '[]'), true);
|
||||
$targetBlankApps = (array) json_decode($this->config->getAppValue('side_menu', 'target-blank-apps', '[]'), true);
|
||||
$useAvatar = (bool) $this->config->getAppValue('side_menu', 'use-avatar', '0');
|
||||
$avatar = null;
|
||||
|
||||
if ($user) {
|
||||
$userTopMenuApps = (array) json_decode($this->config->getUserValue($user->getUid(), 'side_menu', 'top-menu-apps', '[]'), true);
|
||||
|
@ -66,11 +68,22 @@ class JsController extends Controller
|
|||
$userTargetBlankMode = (int) $this->config->getUserValue($user->getUid(), 'side_menu', 'target-blank-mode', '1');
|
||||
$userTargetBlankApps = (array) json_decode($this->config->getUserValue($user->getUid(), 'side_menu', 'target-blank-apps', '[]'), true);
|
||||
|
||||
if ($userTargetBlankMode === 2) {
|
||||
if (2 === $userTargetBlankMode) {
|
||||
$targetBlankApps = $userTargetBlankApps;
|
||||
}
|
||||
}
|
||||
|
||||
$isAvatarSet = OC::$server->getAvatarManager()->getAvatar($user->getUid())->exists();
|
||||
|
||||
if ($useAvatar && $isAvatarSet) {
|
||||
$avatar = OC::$server->getURLGenerator()->linkToRoute(
|
||||
'core.avatar.getAvatar', [
|
||||
'userId' => $user->getUid(),
|
||||
'size' => 128,
|
||||
'v' => $this->config->getUserValue($user, 'avatar', 'version', 0),
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$parameters = [
|
||||
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
|
||||
|
@ -81,6 +94,7 @@ class JsController extends Controller
|
|||
'loader-enabled' => (bool) $this->config->getAppValue('side_menu', 'loader-enabled', '1'),
|
||||
'always-displayed' => (bool) $this->config->getAppValue('side_menu', 'always-displayed', '0'),
|
||||
'big-menu' => (bool) $this->config->getAppValue('side_menu', 'big-menu', '0'),
|
||||
'avatar' => $avatar,
|
||||
'top-menu-apps' => $topMenuApps,
|
||||
'target-blank-apps' => $targetBlankApps,
|
||||
];
|
||||
|
|
|
@ -77,6 +77,7 @@ class Admin implements ISettings
|
|||
'always-displayed' => $this->config->getAppValue('side_menu', 'always-displayed', '0'),
|
||||
'big-menu' => $this->config->getAppValue('side_menu', 'big-menu', '0'),
|
||||
'display-logo' => $this->config->getAppValue('side_menu', 'display-logo', '1'),
|
||||
'use-avatar' => $this->config->getAppValue('side_menu', 'use-avatar', '0'),
|
||||
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
|
||||
'opener-hover' => $this->config->getAppValue('side_menu', 'opener-hover', '0'),
|
||||
'opener-only' => $this->config->getAppValue('side_menu', 'opener-only', '0'),
|
||||
|
|
|
@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
<div class="side-menu-header">
|
||||
<button class="side-menu-opener"></button>
|
||||
|
||||
<div v-if="logo" class="side-menu-logo">
|
||||
<div v-if="logo" v-bind:class="{'side-menu-logo': true, 'avatardiv': isAvatar}">
|
||||
<img v-bind:src="logo">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -46,6 +46,7 @@ export default {
|
|||
logo: null,
|
||||
forceLightIcon: false,
|
||||
targetBlank: false,
|
||||
isAvatar: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -104,8 +105,12 @@ export default {
|
|||
},
|
||||
retrieveLogo() {
|
||||
const ncLogo = document.querySelector('#nextcloud .logo')
|
||||
const avatar = document.querySelector('#side-menu-container').getAttribute('data-avatar');
|
||||
|
||||
if (ncLogo) {
|
||||
if (avatar) {
|
||||
this.logo = avatar
|
||||
this.isAvatar = true
|
||||
} else if (ncLogo) {
|
||||
const url = window.getComputedStyle(ncLogo, null)
|
||||
.getPropertyValue('background-image')
|
||||
.replace('url("', '')
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
sideMenuContainer.attr('data-forcelighticon', '1')
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($_['avatar']): ?>
|
||||
sideMenuContainer.attr('data-avatar', '<?php p($avatar) ?>')
|
||||
<?php endif; ?>
|
||||
|
||||
sideMenuContainer.attr('data-targetblankapps', '<?php p(implode(',', $_['target-blank-apps'])) ?>')
|
||||
|
||||
var targetBlankApps = <?php echo json_encode($_['target-blank-apps']) ?>;
|
||||
|
|
|
@ -342,6 +342,18 @@ $choicesSizes = [
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<p><em><?php p($l->t('Use the avatar instead of the logo')); ?></em></p>
|
||||
|
||||
<div>
|
||||
<select id="side-menu-use-avatar" name="use-avatar" class="side-menu-setting">
|
||||
<?php foreach ($choicesYesNo as $label => $value): ?>
|
||||
<option value="<?php echo $value ?>" <?php if ($value === $_['use-avatar']): ?>selected<?php endif; ?>>
|
||||
<?php echo $l->t($label); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>
|
||||
<?php p($l->t('Icons and texts')); ?>
|
||||
|
|
Loading…
Reference in a new issue