<div id="sidebar"> <div class="avatar-wrapper"> <a href="<?php echo \Chibi\UrlHelper::route('user', 'view', ['name' => $this->context->transport->user->name]) ?>"> <img src="<?php echo htmlspecialchars($this->context->transport->user->getAvatarUrl(140)) ?>" alt="<?php echo $this->context->transport->user->name ?>"> </a> <h1><?php echo $this->context->transport->user->name ?></h1> </div> <div class="unit details"> <h1>details</h1> <div class="key-value join-date"> <span class="key">Joined:</span> <span class="value" title="<?php echo $val = date('Y-m-d', $this->context->transport->user->joinDate) ?>"><?php echo $val ?></span> </div> <div class="key-value access-rank"> <span class="key">Access rank:</span> <span class="value" title="<?php echo $val = TextHelper::camelCaseToHumanCase(AccessRank::toString($this->context->transport->user->accessRank)) ?>"><?php echo $val ?></span> </div> <?php if (PrivilegesHelper::confirm(Privilege::ViewUserEmail, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->user))): ?> <div class="key-value email"> <span class="key">E-mail:</span> <span class="value" title="<?php echo $val = ($this->context->transport->user->emailUnconfirmed ? '(unconfirmed) ' . $this->context->transport->user->emailUnconfirmed : $this->context->transport->user->emailConfirmed ?: 'none specified') ?>"><?php echo $val ?></span> <br>(only you and staff can see this) </div> <?php endif ?> </div> <?php $userModificationPrivileges = [ Privilege::ChangeUserName, Privilege::ChangeUserEmail, Privilege::ChangeUserPassword, Privilege::ChangeUserAccessRank, ]; $userModificationPrivileges = array_fill_keys($userModificationPrivileges, false); foreach (array_keys($userModificationPrivileges) as $privilege) { if (PrivilegesHelper::confirm($privilege, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->user))) $userModificationPrivileges[$privilege] = true; } $canModifyAnything = count(array_filter($userModificationPrivileges)) > 0; $options = []; if ($canModifyAnything) { $options []= [ 'class' => 'edit', 'text' => 'Edit account settings', 'link' => \Chibi\UrlHelper::route('user', 'edit', ['name' => $this->context->transport->user->name, 'tab' => 'edit']), ]; } if (PrivilegesHelper::confirm(Privilege::DeleteUser, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->user))) { $options []= [ 'class' => 'delete', 'text' => 'Delete account', 'link' => \Chibi\UrlHelper::route('user', 'delete', ['name' => $this->context->transport->user->name, 'tab' => 'delete']), ]; } if (PrivilegesHelper::confirm(Privilege::FlagUser)) { if ($this->context->flagged) { $options []= [ 'class' => 'flag', 'text' => 'Flagged', 'inactive' => true, ]; } else { $options []= [ 'class' => 'flag', 'text' => 'Flag for moderator attention', 'simple-action' => \Chibi\UrlHelper::route('user', 'flag', ['name' => $this->context->transport->user->name]), 'data-confirm-text' => 'Are you sure you want to flag this user?', ]; } } if (PrivilegesHelper::confirm(Privilege::BanUser, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->user))) { if (!$this->context->transport->user->banned) { $options []= [ 'class' => 'ban', 'text' => 'Ban user', 'simple-action' => \Chibi\UrlHelper::route('user', 'ban', ['name' => $this->context->transport->user->name]), 'data-confirm-text' => 'Are you sure?', ]; } else { $options []= [ 'class' => 'unban', 'text' => 'Unban user', 'simple-action' => \Chibi\UrlHelper::route('user', 'unban', ['name' => $this->context->transport->user->name]), 'data-confirm-text' => 'Are you sure?', ]; } } if (PrivilegesHelper::confirm(Privilege::AcceptUserRegistration) and !$this->context->transport->user->staffConfirmed and $this->config->registration->staffActivation) { $options []= [ 'class' => 'accept-registration', 'text' => 'Accept registration', 'simple-action' => \Chibi\UrlHelper::route('user', 'accept-registration', ['name' => $this->context->transport->user->name]), ]; } $this->context->options = $options; $this->renderFile('sidebar-options'); ?> </div> <div id="inner-content"> <nav class="tabs"> <ul> <?php if ($this->context->transport->tab == 'favs'): ?> <li class="selected favs"> <?php else: ?> <li class="favs"> <?php endif ?> <a href="<?php echo \Chibi\UrlHelper::route('user', 'view', ['name' => $this->context->transport->user->name, 'tab' => 'favs', 'page' => 1]) ?>"> Favs </a> </li> <?php if ($this->context->transport->tab == 'uploads'): ?> <li class="selected uploads"> <?php else: ?> <li class="uploads"> <?php endif ?> <a href="<?php echo \Chibi\UrlHelper::route('user', 'view', ['name' => $this->context->transport->user->name, 'tab' => 'uploads', 'page' => 1]) ?>"> Uploads </a> </li> <?php if (PrivilegesHelper::confirm(Privilege::ChangeUserSettings, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->user))): ?> <?php if ($this->context->transport->tab == 'settings'): ?> <li class="selected settings"> <?php else: ?> <li class="settings"> <?php endif ?> <a href="<?php echo \Chibi\UrlHelper::route('user', 'settings', ['name' => $this->context->transport->user->name]) ?>"> Browsing settings </a> </li> <?php endif ?> <?php if ($canModifyAnything): ?> <?php if ($this->context->transport->tab == 'edit'): ?> <li class="selected edit"> <?php else: ?> <li class="edit"> <?php endif ?> <a href="<?php echo \Chibi\UrlHelper::route('user', 'edit', ['name' => $this->context->transport->user->name]) ?>"> Account settings </a> </li> <?php endif ?> <?php if (PrivilegesHelper::confirm(Privilege::DeleteUser, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->user))): ?> <?php if ($this->context->transport->tab == 'delete'): ?> <li class="selected delete"> <?php else: ?> <li class="delete"> <?php endif ?> <a href="<?php echo \Chibi\UrlHelper::route('user', 'delete', ['name' => $this->context->transport->user->name]) ?>"> Delete account </a> </li> <?php endif ?> </ul> </nav> <?php if (isset($this->context->transport->posts)): ?> <?php $this->renderFile('post-list') ?> <?php endif ?> <?php if ($this->context->transport->tab == 'settings'): ?> <?php $this->renderFile('user-settings') ?> <?php elseif ($this->context->transport->tab == 'edit'): ?> <?php $this->renderFile('user-edit') ?> <?php elseif ($this->context->transport->tab == 'delete'): ?> <?php $this->renderFile('user-delete') ?> <?php endif ?> </div>