2013-10-14 10:22:53 +02:00
< div id = "sidebar" >
< div class = "avatar-wrapper" >
< a href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'view' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " >
2013-10-15 00:41:04 +02:00
< img src = " <?php echo htmlspecialchars ( $this -> context -> transport -> user -> getAvatarUrl ( 140 )) ?> " alt = " <?php echo $this -> context -> transport -> user -> name ?> " >
2013-10-14 10:22:53 +02:00
< / a >
< h1 > <?php echo $this -> context -> transport -> user -> name ?> </ h1 >
< / div >
< div class = "sidebar-unit details" >
2013-10-15 00:41:04 +02:00
< h1 > details< / h1 >
2013-10-15 13:14:48 +02:00
< div class = "key-value join-date" >
2013-10-14 10:22:53 +02:00
< span class = "key" > Joined:< / span >
2013-10-15 13:14:48 +02:00
< span class = "value" title = " <?php echo $val = date ( 'Y-m-d' , $this -> context -> transport -> user -> join_date ) ?> " > <?php echo $val ?> </ span >
2013-10-14 10:22:53 +02:00
< / div >
2013-10-15 13:14:48 +02:00
< div class = "key-value access-rank" >
2013-10-14 10:22:53 +02:00
< span class = "key" > Access rank:< / span >
2013-10-16 08:33:45 +02:00
< span class = "value" title = " <?php echo $val = TextHelper :: camelCaseToHumanCase ( AccessRank :: toString ( $this -> context -> transport -> user -> access_rank )) ?> " > <?php echo $val ?> </ span >
2013-10-14 10:22:53 +02:00
< / div >
2013-10-15 13:14:48 +02:00
<?php if ( $this -> context -> user -> id == $this -> context -> transport -> user -> id ) : ?>
< div class = "key-value email" >
< span class = "key" > E-mail:< / span >
< span class = "value" title = " <?php echo $val = ( $this -> context -> transport -> user -> email ?: 'none specified' ) ?> " > <?php echo $val ?> </ span >
< br > (only you can see this)
< / div >
<?php endif ?>
2013-10-14 10:22:53 +02:00
< / div >
2013-10-15 00:41:04 +02:00
< div class = "sidebar-unit options" >
< h1 > options< / h1 >
< ul >
<?php
$secondary = $this->context->transport->user->id == $this->context->user->id ? 'own' : 'all';
$userModificationPrivileges = [
Privilege::ChangeUserName,
Privilege::ChangeUserEmail,
Privilege::ChangeUserPassword,
Privilege::ChangeUserAccessRank,
];
$userModificationPrivileges = array_fill_keys($userModificationPrivileges, false);
foreach (array_keys($userModificationPrivileges) as $privilege)
{
if (PrivilegesHelper::confirm($this->context->user, $privilege, $secondary))
$userModificationPrivileges[$privilege] = true;
}
$canModifyAnything = count(array_filter($userModificationPrivileges)) > 0;
?>
<?php if ( $canModifyAnything ) : ?>
< li class = "edit" >
< a href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'edit' , [ 'name' => $this -> context -> transport -> user -> name , 'tab' => 'edit' ]) ?> " >
Edit account settings
< / a >
< / li >
<?php endif ?>
2013-10-15 13:14:48 +02:00
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: BanUser , $secondary )) : ?>
<?php if ( ! $this -> context -> transport -> user -> banned ) : ?>
< li class = "ban" >
< a class = "simple-action" href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'ban' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " data-confirm-text = "Are you sure?" >
Ban user
< / a >
< / li >
<?php else : ?>
< li class = "unban" >
< a class = "simple-action" href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'unban' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " data-confirm-text = "Are you sure?" >
Unban user
< / a >
< / li >
<?php endif ?>
<?php endif ?>
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: AcceptUserRegistration ) and ! $this -> context -> transport -> user -> staff_confirmed and $this -> config -> registration -> staffActivation ) : ?>
< li class = "accept-registration" >
< a class = "simple-action" href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'accept-registration' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " >
Accept registration
< / a >
< / li >
<?php endif ?>
2013-10-15 00:41:04 +02:00
< / ul >
< script type = "text/javascript" >
if (!$('.options ul li').length)
$('.options').hide();
< / script >
< / div >
2013-10-14 10:22:53 +02:00
< / div >
< div id = "inner-content" >
< div class = "tabs" >
< nav >
< ul >
<?php if ( $this -> context -> transport -> tab == 'favs' ) : ?>
2013-10-15 00:41:04 +02:00
< li class = "selected favs" >
2013-10-14 10:22:53 +02:00
<?php else : ?>
2013-10-15 00:41:04 +02:00
< li class = "favs" >
2013-10-14 10:22:53 +02:00
<?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' ) : ?>
2013-10-15 00:41:04 +02:00
< li class = "selected uploads" >
2013-10-14 10:22:53 +02:00
<?php else : ?>
2013-10-15 00:41:04 +02:00
< li class = "uploads" >
2013-10-14 10:22:53 +02:00
<?php endif ?>
< a href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'view' , [ 'name' => $this -> context -> transport -> user -> name , 'tab' => 'uploads' , 'page' => 1 ]) ?> " >
Uploads
< / a >
< / li >
2013-10-15 00:41:04 +02:00
<?php if ( $canModifyAnything ) : ?>
<?php if ( $this -> context -> transport -> tab == 'edit' ) : ?>
< li class = "selected edit" >
<?php else : ?>
< li class = "edit" >
<?php endif ?>
2013-10-15 13:14:48 +02:00
< a href = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'edit' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " >
2013-10-15 00:41:04 +02:00
Account settings
< / a >
< / li >
<?php endif ?>
2013-10-15 13:14:48 +02:00
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: DeleteUser , $secondary )) : ?>
<?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 ?>
2013-10-14 10:22:53 +02:00
< / ul >
< / nav >
< / div >
2013-10-15 00:41:04 +02:00
<?php if ( isset ( $this -> context -> transport -> posts )) : ?>
<?php
/* heh, what a stupid hack */
function pageUrl($page)
{
$context = \Chibi\Registry::getContext();
$controller = $context->route->simpleControllerName;
$action = $context->route->simpleActionName;
$page = max(1, $page);
$page = min($context->transport->pageCount, $page);
$params = [];
$params['page'] = $page;
$params['tab'] = $context->transport->tab;
$params['name'] = $context->transport->user->name;
return \Chibi\UrlHelper::route($controller, $action, $params);
}
$this->renderFile('post-list')
?>
<?php endif ?>
<?php if ( $this -> context -> transport -> tab == 'edit' ) : ?>
2013-10-15 13:14:48 +02:00
< form action = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'edit' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " method = "post" class = "edit aligned" autocomplete = "off" >
2013-10-15 00:41:04 +02:00
<?php if ( $this -> context -> user -> id == $this -> context -> transport -> user -> id ) : ?>
2013-10-15 20:31:38 +02:00
< div class = "current-password" >
< label class = "left" for = "current-password" > Current password:< / label >
< input type = "password" name = "current-password" id = "current-password" placeholder = "Current password" / >
2013-10-15 00:41:04 +02:00
< / div >
< hr >
<?php endif ?>
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: ChangeUserName , $secondary )) : ?>
< div class = "nickname" >
< label class = "left" for = "name" > Name:< / label >
2013-10-15 13:14:48 +02:00
< input type = "text" name = "name" id = "name" placeholder = "New name…" value = " <?php echo $this -> context -> suppliedName ?> " />
2013-10-15 00:41:04 +02:00
< / div >
<?php endif ?>
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: ChangeUserEmail , $secondary )) : ?>
< div class = "email" >
< label class = "left" for = "name" > E-mail:< / label >
2013-10-15 13:14:48 +02:00
< input type = "text" name = "email" id = "email" placeholder = "New e-mail…" value = " <?php echo $this -> context -> suppliedEmail ?> " />
2013-10-15 00:41:04 +02:00
< / div >
<?php endif ?>
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: ChangeUserPassword , $secondary )) : ?>
< div class = "password1" >
< label class = "left" for = "password1" > New password:< / label >
2013-10-15 13:14:48 +02:00
< input type = "password" name = "password1" id = "password1" placeholder = "New password…" value = " <?php echo $this -> context -> suppliedPassword1 ?> " />
2013-10-15 00:41:04 +02:00
< / div >
< div class = "password2" >
< label class = "left" for = "password2" > < / label >
2013-10-15 13:14:48 +02:00
< input type = "password" name = "password2" id = "password2" placeholder = "New password… (repeat)" value = " <?php echo $this -> context -> suppliedPassword2 ?> " />
2013-10-15 00:41:04 +02:00
< / div >
<?php endif ?>
<?php if ( PrivilegesHelper :: confirm ( $this -> context -> user , Privilege :: ChangeUserAccessRank , $secondary )) : ?>
< div class = "access-rank" >
< label class = "left" for = "access-rank" > Access rank:< / label >
< select name = "access-rank" id = "access-rank" >
<?php foreach ( AccessRank :: getAll () as $rank ) : ?>
2013-10-15 13:14:48 +02:00
<?php if (( $this -> context -> suppliedAccessRank != '' and $rank == $this -> context -> suppliedAccessRank ) or ( $this -> context -> suppliedAccessRank == '' and $rank == $this -> context -> transport -> user -> access_rank )) : ?>
2013-10-15 00:41:04 +02:00
< option value = " <?php echo $rank ?> " selected = "selected" >
<?php else : ?>
< option value = " <?php echo $rank ?> " >
<?php endif ?>
2013-10-16 08:33:45 +02:00
<?php echo TextHelper :: camelCaseToHumanCase ( AccessRank :: toString ( $rank )) ?>
2013-10-15 00:41:04 +02:00
< / option >
<?php endforeach ?>
< / select >
< / div >
<?php endif ?>
2013-10-15 13:14:48 +02:00
<?php if ( $this -> context -> transport -> success === true ) : ?>
< p class = "alert alert-success" > Account settings updated!< / p >
<?php elseif ( isset ( $this -> context -> transport -> errorMessage )) : ?>
< p class = "alert alert-error" > Error: <?php echo $this -> context -> transport -> errorMessage ?> </ p >
<?php endif ?>
2013-10-15 00:41:04 +02:00
< div >
< label class = "left" > < / label >
< button type = "submit" > Submit< / button >
< / div >
< / form >
2013-10-15 13:14:48 +02:00
<?php elseif ( $this -> context -> transport -> tab == 'delete' ) : ?>
< form action = " <?php echo \Chibi\UrlHelper :: route ( 'user' , 'delete' , [ 'name' => $this -> context -> transport -> user -> name ]) ?> " method = "post" class = "edit aligned" autocomplete = "off" data-confirm-text = "Are you sure you want to delete your account?" >
<?php if ( $this -> context -> user -> id == $this -> context -> transport -> user -> id ) : ?>
2013-10-15 20:31:38 +02:00
< div class = "current-password" >
< label class = "left" for = "current-password" > Current password:< / label >
< input type = "password" name = "current-password" id = "current-password" placeholder = "Current password" / >
2013-10-15 13:14:48 +02:00
< / div >
<?php endif ?>
< input type = "hidden" name = "remove" value = "1" / >
<?php if ( $this -> context -> transport -> success === true ) : ?>
< p class = "alert alert-success" > Account settings updated!< / p >
<?php elseif ( isset ( $this -> context -> transport -> errorMessage )) : ?>
< p class = "alert alert-error" > Error: <?php echo $this -> context -> transport -> errorMessage ?> </ p >
<?php endif ?>
< div >
< label class = "left" > < / label >
< button type = "submit" > Delete account< / button >
< / div >
< / form >
2013-10-15 00:41:04 +02:00
<?php endif ?>
2013-10-14 10:22:53 +02:00
< / div >