Commonized naming of "creation time" property

Rather than having "creation time", "upload time", "registration time"
etc. I think it is better to have a single "creation time"
entity-agnostic property (like the one Tags had thus far).
This commit is contained in:
rr- 2015-11-24 16:02:01 +01:00
parent d49f76c9f1
commit b7456463eb
20 changed files with 52 additions and 38 deletions

View file

@ -165,9 +165,9 @@
var table = [
{search: 'order:random', description: 'as random as it can get'},
{search: 'order:id', description: 'highest to lowest post ID (default browse view)'},
{search: 'order:date', description: 'newest to oldest (pretty much same as above)'},
{search: '-order:date', description: 'oldest to newest'},
{search: 'order:date,asc', description: 'oldest to newest (ascending order, default = descending)'},
{search: 'order:edit_date', description: 'newest to oldest (pretty much same as above)'},
{search: '-order:edit_date', description: 'oldest to newest'},
{search: 'order:edit_date,asc', description: 'oldest to newest (ascending order, default = descending)'},
{search: 'order:score', description: 'highest scored'},
{search: 'order:file_size', description: 'largest files first'},
{search: 'order:tag_count', description: 'with most tags'},
@ -188,9 +188,9 @@
</table>
<p>As shown with <a
href="#/posts/query=-order:date"><code>-order:date</code></a>, any of them
can be reversed in the same way as negating other tags: by placing a dash
before the tag.</p>
href="#/posts/query=-order:edit_date"><code>-order:edit_date</code></a>,
any of them can be reversed in the same way as negating other tags: by
placing a dash before the tag.</p>
</div>
<div data-tab="comments">

View file

@ -43,7 +43,7 @@
<% } %>
uploaded
<%= util.formatRelativeTime(post.uploadTime) %>
<%= util.formatRelativeTime(post.creationTime) %>
by
<% showUser(post.user.name) %>
</span>

View file

@ -120,8 +120,8 @@ if (forceHttpInPermalinks > 0) {
<br/>
<span class="date" title="<%= util.formatAbsoluteTime(post.uploadTime) %>">
<%= util.formatRelativeTime(post.uploadTime) %>
<span class="date" title="<%= util.formatAbsoluteTime(post.creationTime) %>">
<%= util.formatRelativeTime(post.creationTime) %>
</span>
</div>
@ -147,7 +147,7 @@ if (forceHttpInPermalinks > 0) {
</li>
<% } %>
<% if (post.lastEditTime !== post.uploadTime) { %>
<% if (post.lastEditTime !== post.creationTime) { %>
<li>
Edited:
<span title="<%= util.formatAbsoluteTime(post.lastEditTime) %>">

View file

@ -19,8 +19,8 @@
<%= user.name %>
<% } %>
</h1>
<div class="date-joined" title="<%= util.formatAbsoluteTime(user.registrationTime) %>">
Joined: <%= util.formatRelativeTime(user.registrationTime) %>
<div class="date-joined" title="<%= util.formatAbsoluteTime(user.creationTime) %>">
Joined: <%= util.formatRelativeTime(user.creationTime) %>
</div>
<div class="date-seen" title="<%= util.formatAbsoluteTime(user.lastLoginTime) %>">
Last seen: <%= util.formatRelativeTime(user.lastLoginTime) %>

View file

@ -51,8 +51,8 @@
<table>
<tr>
<td>Registered:</td>
<td title="<%= util.formatAbsoluteTime(user.registrationTime) %>">
<%= util.formatRelativeTime(user.registrationTime) %>
<td title="<%= util.formatAbsoluteTime(user.creationTime) %>">
<%= util.formatRelativeTime(user.creationTime) %>
</td>
</tr>

View file

@ -11,7 +11,7 @@ class PostEntityConverter extends AbstractEntityConverter implements IEntityConv
[
'name' => $entity->getName(),
'userId' => $entity->getUserId(),
'uploadTime' => $this->entityTimeToDbTime($entity->getUploadTime()),
'creationTime' => $this->entityTimeToDbTime($entity->getCreationTime()),
'lastEditTime' => $this->entityTimeToDbTime($entity->getLastEditTime()),
'safety' => $entity->getSafety(),
'contentType' => $entity->getContentType(),
@ -33,7 +33,7 @@ class PostEntityConverter extends AbstractEntityConverter implements IEntityConv
$entity = new Post(intval($array['id']));
$entity->setName($array['name']);
$entity->setUserId($array['userId']);
$entity->setUploadTime($this->dbTimeToEntityTime($array['uploadTime']));
$entity->setCreationTime($this->dbTimeToEntityTime($array['creationTime']));
$entity->setLastEditTime($this->dbTimeToEntityTime($array['lastEditTime']));
$entity->setSafety(intval($array['safety']));
$entity->setContentType(intval($array['contentType']));

View file

@ -15,7 +15,7 @@ class UserEntityConverter extends AbstractEntityConverter implements IEntityConv
'passwordHash' => $entity->getPasswordHash(),
'passwordSalt' => $entity->getPasswordSalt(),
'accessRank' => $entity->getAccessRank(),
'registrationTime' => $this->entityTimeToDbTime($entity->getRegistrationTime()),
'creationTime' => $this->entityTimeToDbTime($entity->getCreationTime()),
'lastLoginTime' => $this->entityTimeToDbTime($entity->getLastLoginTime()),
'avatarStyle' => $entity->getAvatarStyle(),
'browsingSettings' => json_encode($entity->getBrowsingSettings()),
@ -33,7 +33,7 @@ class UserEntityConverter extends AbstractEntityConverter implements IEntityConv
$entity->setPasswordHash($array['passwordHash']);
$entity->setPasswordSalt($array['passwordSalt']);
$entity->setAccessRank(intval($array['accessRank']));
$entity->setRegistrationTime($this->dbTimeToEntityTime($array['registrationTime']));
$entity->setCreationTime($this->dbTimeToEntityTime($array['creationTime']));
$entity->setLastLoginTime($this->dbTimeToEntityTime($array['lastLoginTime']));
$entity->setAvatarStyle(intval($array['avatarStyle']));
$entity->setBrowsingSettings(json_decode($array['browsingSettings']));

View file

@ -10,7 +10,7 @@ use Szurubooru\Services\ThumbnailService;
class UserDao extends AbstractDao implements ICrudDao
{
const ORDER_NAME = 'name';
const ORDER_REGISTRATION_TIME = 'registrationTime';
const ORDER_CREATION_TIME = 'creationTime';
private $fileDao;
private $thumbnailService;

View file

@ -29,7 +29,7 @@ final class Post extends Entity
private $name;
private $userId;
private $uploadTime;
private $creationTime;
private $lastEditTime;
private $safety;
private $contentType;
@ -79,14 +79,14 @@ final class Post extends Entity
$this->safety = $safety;
}
public function getUploadTime()
public function getCreationTime()
{
return $this->uploadTime;
return $this->creationTime;
}
public function setUploadTime($uploadTime)
public function setCreationTime($creationTime)
{
$this->uploadTime = $uploadTime;
$this->creationTime = $creationTime;
}
public function getLastEditTime()

View file

@ -23,7 +23,7 @@ final class User extends Entity
private $passwordHash;
private $passwordSalt;
private $accessRank;
private $registrationTime;
private $creationTime;
private $lastLoginTime;
private $avatarStyle;
private $browsingSettings;
@ -110,14 +110,14 @@ final class User extends Entity
$this->accessRank = $accessRank;
}
public function getRegistrationTime()
public function getCreationTime()
{
return $this->registrationTime;
return $this->creationTime;
}
public function setRegistrationTime($registrationTime)
public function setCreationTime($creationTime)
{
$this->registrationTime = $registrationTime;
$this->creationTime = $creationTime;
}
public function getLastLoginTime()

View file

@ -18,7 +18,7 @@ class PostFilter extends BasicFilter implements IFilter
const REQUIREMENT_TAG = 'tag';
const REQUIREMENT_ID = 'id';
const REQUIREMENT_DATE = 'uploadTime';
const REQUIREMENT_CREATION_TIME = 'creationTime';
const REQUIREMENT_HASH = 'name';
const REQUIREMENT_TAG_COUNT = 'tagCount';
const REQUIREMENT_FAV_COUNT = 'favCount';

View file

@ -4,7 +4,7 @@ namespace Szurubooru\Search\Filters;
class UserFilter extends BasicFilter implements IFilter
{
const ORDER_NAME = 'name';
const ORDER_REGISTRATION_TIME = 'registrationTime';
const ORDER_CREATION_TIME = 'creationTime';
public function __construct()
{

View file

@ -119,7 +119,7 @@ class PostSearchParser extends AbstractSearchParser
[
[['id'], PostFilter::ORDER_ID],
[['random'], PostFilter::ORDER_RANDOM],
[['time', 'date'], PostFilter::ORDER_LAST_EDIT_TIME],
[['edit_time', 'edit_date'], PostFilter::ORDER_LAST_EDIT_TIME],
[['score'], PostFilter::ORDER_SCORE],
[['file_size'], PostFilter::ORDER_FILE_SIZE],
[['tag_count', 'tags', 'tag'], PostFilter::ORDER_TAG_COUNT],
@ -205,7 +205,7 @@ class PostSearchParser extends AbstractSearchParser
$this->addRequirementFromToken(
$filter,
$token,
PostFilter::REQUIREMENT_DATE,
PostFilter::REQUIREMENT_CREATION_TIME,
self::ALLOW_RANGES);
}

View file

@ -28,7 +28,7 @@ class UserSearchParser extends AbstractSearchParser
return
[
[['name'], UserFilter::ORDER_NAME],
[['registration_time', 'registration_date'], UserFilter::ORDER_REGISTRATION_TIME],
[['creation_time', 'creation_date'], UserFilter::ORDER_CREATION_TIME],
];
}
}

View file

@ -113,7 +113,7 @@ class PostService
$this->authService->loginAnonymous();
$post = new Post();
$post->setUploadTime($this->timeService->getCurrentTime());
$post->setCreationTime($this->timeService->getCurrentTime());
$post->setLastEditTime($this->timeService->getCurrentTime());
$post->setUser($this->authService->getLoggedInUser());
$post->setOriginalFileName($formData->contentFileName);

View file

@ -104,7 +104,7 @@ class UserService
$formData->validate($this->validator);
$user = new User();
$user->setRegistrationTime($this->timeService->getCurrentTime());
$user->setCreationTime($this->timeService->getCurrentTime());
$user->setLastLoginTime(null);
$user->setAccessRank($this->userDao->hasAnyUsers()
? $this->getDefaultAccessRank()

View file

@ -0,0 +1,13 @@
<?php
namespace Szurubooru\Upgrades;
use Szurubooru\DatabaseConnection;
class Upgrade43 implements IUpgrade
{
public function run(DatabaseConnection $databaseConnection)
{
$pdo = $databaseConnection->getPDO();
$pdo->exec('ALTER TABLE posts CHANGE COLUMN uploadTime creationTime TIMESTAMP NOT NULL DEFAULT 0');
$pdo->exec('ALTER TABLE users CHANGE COLUMN registrationTime creationTime TIMESTAMP NOT NULL DEFAULT 0');
}
}

View file

@ -65,7 +65,7 @@ class PostViewProxy extends AbstractViewProxy
$result->id = $post->getId();
$result->idMarkdown = $post->getIdMarkdown();
$result->name = $post->getName();
$result->uploadTime = $post->getUploadTime();
$result->creationTime = $post->getCreationTime();
$result->lastEditTime = $post->getLastEditTime();
$result->safety = EnumHelper::postSafetyToString($post->getSafety());
$result->contentType = EnumHelper::postTypeToString($post->getContentType());

View file

@ -20,7 +20,7 @@ class UserViewProxy extends AbstractViewProxy
{
$result->id = $user->getId();
$result->name = $user->getName();
$result->registrationTime = $user->getRegistrationTime();
$result->creationTime = $user->getCreationTime();
$result->lastLoginTime = $user->getLastLoginTime();
$result->avatarStyle = EnumHelper::avatarStyleToString($user->getAvatarStyle());
$result->banned = $user->isBanned();

View file

@ -59,6 +59,7 @@ return [
$container->get(\Szurubooru\Upgrades\Upgrade40::class),
$container->get(\Szurubooru\Upgrades\Upgrade41::class),
$container->get(\Szurubooru\Upgrades\Upgrade42::class),
$container->get(\Szurubooru\Upgrades\Upgrade43::class),
];
}),