ea463cb0db
When user is removed, their posts and comments get null user ID now
278 lines
10 KiB
PHTML
278 lines
10 KiB
PHTML
<div id="sidebar">
|
|
<nav>
|
|
<div class="left">
|
|
<?php if ($this->context->transport->nextPostId): ?>
|
|
<a href="<?php echo \Chibi\UrlHelper::route('post', 'view', ['id' => $this->context->transport->nextPostId]) ?>">
|
|
<?php else: ?>
|
|
<a class="disabled">
|
|
<?php endif ?>
|
|
<i class="icon-next"></i>
|
|
<span>next post</span>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="right">
|
|
<?php if ($this->context->transport->prevPostId): ?>
|
|
<a href="<?php echo \Chibi\UrlHelper::route('post', 'view', ['id' => $this->context->transport->prevPostId]) ?>">
|
|
<?php else: ?>
|
|
<a class="disabled">
|
|
<?php endif ?>
|
|
<span>prev post</span>
|
|
<i class="icon-prev"></i>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="clear"></div>
|
|
</nav>
|
|
|
|
<div class="sidebar-unit tags">
|
|
<h1>tags (<?php echo count($this->context->transport->post->sharedTag) ?>)</h1>
|
|
<ul>
|
|
<?php foreach ($this->context->transport->post->sharedTag as $tag): ?>
|
|
<li>
|
|
<a href="<?php echo \Chibi\UrlHelper::route('post', 'list', ['query' => $tag->name]) ?>">
|
|
<?php echo $tag->name ?>
|
|
</a>
|
|
<span class="count">
|
|
<?php echo TextHelper::useDecimalUnits($this->context->transport->tagDistribution[$tag->name]) ?>
|
|
</span>
|
|
</li>
|
|
<?php endforeach ?>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="sidebar-unit details">
|
|
<h1>details</h1>
|
|
|
|
<div class="key-value safety">
|
|
<span class="key">Safety:</span>
|
|
<span class="value" title="<?php echo $val = TextHelper::camelCaseToHumanCase(PostSafety::toString($this->context->transport->post->safety)) ?>">
|
|
<?php echo $val ?>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="key-value uploader">
|
|
<span class="key">Uploader:</span>
|
|
<?php if ($this->context->transport->post->uploader): ?>
|
|
<span class="value" title="<?php echo $val = $this->context->transport->post->uploader->name ?>">
|
|
<a href="<?php echo \Chibi\UrlHelper::route('user', 'view', ['name' => $this->context->transport->post->uploader->name]) ?>">
|
|
<?php echo $val ?>
|
|
</a>
|
|
</span>
|
|
<?php else: ?>
|
|
<span class="value" title="[deleted user]">
|
|
[deleted user]
|
|
</span>
|
|
<?php endif ?>
|
|
</div>
|
|
|
|
<div class="key-value date">
|
|
<span class="key">Date:</span>
|
|
<span class="value" title="<?php echo $val = date('Y-m-d H:i', $this->context->transport->post->upload_date) ?>">
|
|
<?php echo $val ?>
|
|
</span>
|
|
</div>
|
|
|
|
<?php if ($this->context->transport->post->image_width > 0): ?>
|
|
<div class="key-value dim">
|
|
<span class="key">Dimensions:</span>
|
|
<span class="value" title="<?php echo $val = sprintf('%dx%d',
|
|
$this->context->transport->post->image_width,
|
|
$this->context->transport->post->image_height) ?>">
|
|
<?php echo $val ?>
|
|
</span>
|
|
</div>
|
|
<?php endif ?>
|
|
|
|
<div class="permalink">
|
|
<a href="<?php echo \Chibi\UrlHelper::route('post', 'retrieve', ['name' => $this->context->transport->post->name]) ?>" title="Download">
|
|
<i class="icon-dl"></i>
|
|
<span class="ext">
|
|
<?php echo strtoupper(substr($this->context->transport->post->orig_name, strrpos($this->context->transport->post->orig_name, '.') + 1)) ?>
|
|
</span>
|
|
<span class="size">
|
|
<?php echo TextHelper::useBytesUnits($this->context->transport->post->file_size) ?>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sidebar-unit favorites">
|
|
<?php if (count($this->context->transport->post->ownFavoritee) == 0): ?>
|
|
<h1>favorites</h1>
|
|
<p>None yet.</p>
|
|
<?php else: ?>
|
|
<h1>favorites (<?php echo count($this->context->transport->post->ownFavoritee) ?>)</h1>
|
|
<ul>
|
|
<?php foreach ($this->context->transport->post->via('favoritee')->sharedUser as $user): ?>
|
|
<li>
|
|
<a href="<?php echo \Chibi\UrlHelper::route('user', 'view', ['name' => $user->name]) ?>" title="<?php echo $user->name ?>">
|
|
<img src="<?php echo htmlspecialchars($user->getAvatarUrl()) ?>" alt="<?php echo $user->name ?>">
|
|
</a>
|
|
</li>
|
|
<?php endforeach ?>
|
|
</ul>
|
|
<?php endif ?>
|
|
</div>
|
|
|
|
<div class="sidebar-unit options">
|
|
<h1>options</h1>
|
|
|
|
<ul>
|
|
<?php if (PrivilegesHelper::confirm(Privilege::FavoritePost)): ?>
|
|
<?php if (!$this->context->favorite): ?>
|
|
<li class="add-fav">
|
|
<a class="simple-action" href="<?php echo \Chibi\UrlHelper::route('post', 'add-favorite', ['id' => $this->context->transport->post->id]) ?>">
|
|
Add to favorites
|
|
</a>
|
|
</li>
|
|
<?php else: ?>
|
|
<li class="rem-fav">
|
|
<a class="simple-action" href="<?php echo \Chibi\UrlHelper::route('post', 'rem-favorite', ['id' => $this->context->transport->post->id]) ?>">
|
|
Remove from favorites
|
|
</a>
|
|
</li>
|
|
<?php endif ?>
|
|
<?php endif ?>
|
|
|
|
<?php
|
|
$editPostPrivileges = [
|
|
Privilege::EditPostSafety,
|
|
Privilege::EditPostTags,
|
|
Privilege::EditPostThumb,
|
|
];
|
|
$editPostPrivileges = array_fill_keys($editPostPrivileges, false);
|
|
foreach (array_keys($editPostPrivileges) as $privilege)
|
|
{
|
|
if (PrivilegesHelper::confirm($privilege, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->post->uploader)))
|
|
$editPostPrivileges[$privilege] = true;
|
|
}
|
|
$canEditAnything = count(array_filter($editPostPrivileges)) > 0;
|
|
?>
|
|
|
|
<?php if ($canEditAnything): ?>
|
|
<li class="edit">
|
|
<a href="#">
|
|
Edit
|
|
</a>
|
|
</li>
|
|
<?php endif ?>
|
|
|
|
<?php if (PrivilegesHelper::confirm(Privilege::HidePost, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->post->uploader))): ?>
|
|
<?php if ($this->context->transport->post->hidden): ?>
|
|
<li class="unhide">
|
|
<a class="simple-action" href="<?php echo \Chibi\UrlHelper::route('post', 'unhide', ['id' => $this->context->transport->post->id]) ?>">
|
|
Unhide
|
|
</a>
|
|
</li>
|
|
<?php else: ?>
|
|
<li class="hide">
|
|
<a class="simple-action" href="<?php echo \Chibi\UrlHelper::route('post', 'hide', ['id' => $this->context->transport->post->id]) ?>">
|
|
Hide
|
|
</a>
|
|
</li>
|
|
<?php endif ?>
|
|
<?php endif ?>
|
|
|
|
<?php if (PrivilegesHelper::confirm(Privilege::FeaturePost)): ?>
|
|
<li class="feature">
|
|
<a class="simple-action" href="<?php echo \Chibi\UrlHelper::route('post', 'feature', ['id' => $this->context->transport->post->id]) ?>" data-confirm-text="Are you sure you want to feature this post on the main page?" data-redirect-url="<?php echo \Chibi\UrlHelper::route('index', 'index') ?>">
|
|
Feature on main page
|
|
</a>
|
|
</li>
|
|
<?php endif ?>
|
|
|
|
<?php if (PrivilegesHelper::confirm(Privilege::DeletePost, PrivilegesHelper::getIdentitySubPrivilege($this->context->transport->post->uploader))): ?>
|
|
<li class="delete">
|
|
<a class="simple-action" href="<?php echo \Chibi\UrlHelper::route('post', 'delete', ['id' => $this->context->transport->post->id]) ?>" data-confirm-text="Are you sure you want to delete this post?" data-redirect-url="<?php echo \Chibi\UrlHelper::route('post', 'list') ?>">
|
|
Delete
|
|
</a>
|
|
</li>
|
|
<?php endif ?>
|
|
</ul>
|
|
|
|
<script type="text/javascript">
|
|
if (!$('.options ul li').length)
|
|
$('.options').hide();
|
|
</script>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="inner-content">
|
|
<div class="post-wrapper">
|
|
<?php if ($this->context->transport->post->type == PostType::Image): ?>
|
|
<img src="<?php echo \Chibi\UrlHelper::route('post', 'retrieve', ['name' => $this->context->transport->post->name]) ?>" alt="<?php echo $this->context->transport->post->name ?>"/>
|
|
<?php elseif ($this->context->transport->post->type == PostType::Flash): ?>
|
|
<embed width="<?php echo $this->context->transport->post->image_width ?>" height="<?php echo $this->context->transport->post->image_height ?>" type="application/x-shockwave-flash" src="<?php echo \Chibi\UrlHelper::route('post', 'retrieve', ['name' => $this->context->transport->post->name]) ?>"/>
|
|
<?php endif ?>
|
|
</div>
|
|
|
|
<?php if ($canEditAnything): ?>
|
|
<form action="<?php echo \Chibi\UrlHelper::route('post', 'edit', ['id' => $this->context->transport->post->id]) ?>" method="post" enctype="multipart/form-data" class="edit-post aligned footer-unit">
|
|
<h1>edit post</h1>
|
|
<?php if ($editPostPrivileges[Privilege::EditPostSafety]): ?>
|
|
<div class="safety">
|
|
<label class="left">Safety:</label>
|
|
<?php foreach (PostSafety::getAll() as $safety): ?>
|
|
<label>
|
|
<input type="radio" name="safety" value="<?php echo $safety ?>" <?php if ($this->context->transport->post->safety == $safety) echo 'checked="checked"' ?>/>
|
|
<?php echo TextHelper::camelCaseToHumanCase(PostSafety::toString($safety), true) ?>
|
|
</label>
|
|
<?php endforeach ?>
|
|
</div>
|
|
<?php endif ?>
|
|
|
|
<?php if ($editPostPrivileges[Privilege::EditPostTags]): ?>
|
|
<div class="tags">
|
|
<label class="left" for="tags">Tags:</label>
|
|
<input type="text" name="tags" id="tags" placeholder="enter some tags…" value="<?php echo join(',', array_map(function($tag) { return $tag->name; }, $this->context->transport->post->sharedTag)) ?>"/>
|
|
</div>
|
|
<input type="hidden" name="tags-token" id="tags-token" value="<?php echo $this->context->transport->tagsToken ?>"/>
|
|
<?php endif ?>
|
|
|
|
<?php if ($editPostPrivileges[Privilege::EditPostThumb]): ?>
|
|
<div class="thumb">
|
|
<label class="left" for="thumb">Thumb:</label>
|
|
<input type="file" name="thumb" id="thumb"/>
|
|
</div>
|
|
<?php endif ?>
|
|
|
|
<div>
|
|
<label class="left"> </label>
|
|
<button type="submit">Submit</button>
|
|
</div>
|
|
</form>
|
|
<?php endif ?>
|
|
|
|
<div class="comments footer-unit">
|
|
<?php if (empty($this->context->transport->post->ownComment)): ?>
|
|
<h1>comments</h1>
|
|
None yet.
|
|
<?php else: ?>
|
|
<h1>comments (<?php echo $this->context->transport->post->countOwn('comment') ?>)</h1>
|
|
<div class="comments">
|
|
<?php foreach ($this->context->transport->post->ownComment as $comment): ?>
|
|
<?php $this->context->comment = $comment ?>
|
|
<?php echo $this->renderFile('comment-small') ?>
|
|
<?php endforeach ?>
|
|
</div>
|
|
<?php endif ?>
|
|
</div>
|
|
|
|
<?php if (PrivilegesHelper::confirm(Privilege::AddComment)): ?>
|
|
<form action="<?php echo \Chibi\UrlHelper::route('comment', 'add', ['postId' => $this->context->transport->post->id]) ?>" method="post" class="add-comment aligned footer-unit">
|
|
<h1>add comment</h1>
|
|
|
|
<div class="preview"></div>
|
|
|
|
<div class="text">
|
|
<textarea name="text" cols="50" rows="3"></textarea>
|
|
</div>
|
|
|
|
<div>
|
|
<button name="sender" type="submit" value="preview">Preview</button>
|
|
<button name="sender" type="submit" value="submit">Submit</button>
|
|
</div>
|
|
</form>
|
|
<?php endif ?>
|
|
</div>
|