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:
parent
d49f76c9f1
commit
b7456463eb
20 changed files with 52 additions and 38 deletions
|
@ -165,9 +165,9 @@
|
||||||
var table = [
|
var table = [
|
||||||
{search: 'order:random', description: 'as random as it can get'},
|
{search: 'order:random', description: 'as random as it can get'},
|
||||||
{search: 'order:id', description: 'highest to lowest post ID (default browse view)'},
|
{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:edit_date', description: 'newest to oldest (pretty much same as above)'},
|
||||||
{search: '-order:date', description: 'oldest to newest'},
|
{search: '-order:edit_date', description: 'oldest to newest'},
|
||||||
{search: 'order:date,asc', description: 'oldest to newest (ascending order, default = descending)'},
|
{search: 'order:edit_date,asc', description: 'oldest to newest (ascending order, default = descending)'},
|
||||||
{search: 'order:score', description: 'highest scored'},
|
{search: 'order:score', description: 'highest scored'},
|
||||||
{search: 'order:file_size', description: 'largest files first'},
|
{search: 'order:file_size', description: 'largest files first'},
|
||||||
{search: 'order:tag_count', description: 'with most tags'},
|
{search: 'order:tag_count', description: 'with most tags'},
|
||||||
|
@ -188,9 +188,9 @@
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>As shown with <a
|
<p>As shown with <a
|
||||||
href="#/posts/query=-order:date"><code>-order:date</code></a>, any of them
|
href="#/posts/query=-order:edit_date"><code>-order:edit_date</code></a>,
|
||||||
can be reversed in the same way as negating other tags: by placing a dash
|
any of them can be reversed in the same way as negating other tags: by
|
||||||
before the tag.</p>
|
placing a dash before the tag.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-tab="comments">
|
<div data-tab="comments">
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
uploaded
|
uploaded
|
||||||
<%= util.formatRelativeTime(post.uploadTime) %>
|
<%= util.formatRelativeTime(post.creationTime) %>
|
||||||
by
|
by
|
||||||
<% showUser(post.user.name) %>
|
<% showUser(post.user.name) %>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -120,8 +120,8 @@ if (forceHttpInPermalinks > 0) {
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<span class="date" title="<%= util.formatAbsoluteTime(post.uploadTime) %>">
|
<span class="date" title="<%= util.formatAbsoluteTime(post.creationTime) %>">
|
||||||
<%= util.formatRelativeTime(post.uploadTime) %>
|
<%= util.formatRelativeTime(post.creationTime) %>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ if (forceHttpInPermalinks > 0) {
|
||||||
</li>
|
</li>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
<% if (post.lastEditTime !== post.uploadTime) { %>
|
<% if (post.lastEditTime !== post.creationTime) { %>
|
||||||
<li>
|
<li>
|
||||||
Edited:
|
Edited:
|
||||||
<span title="<%= util.formatAbsoluteTime(post.lastEditTime) %>">
|
<span title="<%= util.formatAbsoluteTime(post.lastEditTime) %>">
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
<%= user.name %>
|
<%= user.name %>
|
||||||
<% } %>
|
<% } %>
|
||||||
</h1>
|
</h1>
|
||||||
<div class="date-joined" title="<%= util.formatAbsoluteTime(user.registrationTime) %>">
|
<div class="date-joined" title="<%= util.formatAbsoluteTime(user.creationTime) %>">
|
||||||
Joined: <%= util.formatRelativeTime(user.registrationTime) %>
|
Joined: <%= util.formatRelativeTime(user.creationTime) %>
|
||||||
</div>
|
</div>
|
||||||
<div class="date-seen" title="<%= util.formatAbsoluteTime(user.lastLoginTime) %>">
|
<div class="date-seen" title="<%= util.formatAbsoluteTime(user.lastLoginTime) %>">
|
||||||
Last seen: <%= util.formatRelativeTime(user.lastLoginTime) %>
|
Last seen: <%= util.formatRelativeTime(user.lastLoginTime) %>
|
||||||
|
|
|
@ -51,8 +51,8 @@
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Registered:</td>
|
<td>Registered:</td>
|
||||||
<td title="<%= util.formatAbsoluteTime(user.registrationTime) %>">
|
<td title="<%= util.formatAbsoluteTime(user.creationTime) %>">
|
||||||
<%= util.formatRelativeTime(user.registrationTime) %>
|
<%= util.formatRelativeTime(user.creationTime) %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ class PostEntityConverter extends AbstractEntityConverter implements IEntityConv
|
||||||
[
|
[
|
||||||
'name' => $entity->getName(),
|
'name' => $entity->getName(),
|
||||||
'userId' => $entity->getUserId(),
|
'userId' => $entity->getUserId(),
|
||||||
'uploadTime' => $this->entityTimeToDbTime($entity->getUploadTime()),
|
'creationTime' => $this->entityTimeToDbTime($entity->getCreationTime()),
|
||||||
'lastEditTime' => $this->entityTimeToDbTime($entity->getLastEditTime()),
|
'lastEditTime' => $this->entityTimeToDbTime($entity->getLastEditTime()),
|
||||||
'safety' => $entity->getSafety(),
|
'safety' => $entity->getSafety(),
|
||||||
'contentType' => $entity->getContentType(),
|
'contentType' => $entity->getContentType(),
|
||||||
|
@ -33,7 +33,7 @@ class PostEntityConverter extends AbstractEntityConverter implements IEntityConv
|
||||||
$entity = new Post(intval($array['id']));
|
$entity = new Post(intval($array['id']));
|
||||||
$entity->setName($array['name']);
|
$entity->setName($array['name']);
|
||||||
$entity->setUserId($array['userId']);
|
$entity->setUserId($array['userId']);
|
||||||
$entity->setUploadTime($this->dbTimeToEntityTime($array['uploadTime']));
|
$entity->setCreationTime($this->dbTimeToEntityTime($array['creationTime']));
|
||||||
$entity->setLastEditTime($this->dbTimeToEntityTime($array['lastEditTime']));
|
$entity->setLastEditTime($this->dbTimeToEntityTime($array['lastEditTime']));
|
||||||
$entity->setSafety(intval($array['safety']));
|
$entity->setSafety(intval($array['safety']));
|
||||||
$entity->setContentType(intval($array['contentType']));
|
$entity->setContentType(intval($array['contentType']));
|
||||||
|
|
|
@ -15,7 +15,7 @@ class UserEntityConverter extends AbstractEntityConverter implements IEntityConv
|
||||||
'passwordHash' => $entity->getPasswordHash(),
|
'passwordHash' => $entity->getPasswordHash(),
|
||||||
'passwordSalt' => $entity->getPasswordSalt(),
|
'passwordSalt' => $entity->getPasswordSalt(),
|
||||||
'accessRank' => $entity->getAccessRank(),
|
'accessRank' => $entity->getAccessRank(),
|
||||||
'registrationTime' => $this->entityTimeToDbTime($entity->getRegistrationTime()),
|
'creationTime' => $this->entityTimeToDbTime($entity->getCreationTime()),
|
||||||
'lastLoginTime' => $this->entityTimeToDbTime($entity->getLastLoginTime()),
|
'lastLoginTime' => $this->entityTimeToDbTime($entity->getLastLoginTime()),
|
||||||
'avatarStyle' => $entity->getAvatarStyle(),
|
'avatarStyle' => $entity->getAvatarStyle(),
|
||||||
'browsingSettings' => json_encode($entity->getBrowsingSettings()),
|
'browsingSettings' => json_encode($entity->getBrowsingSettings()),
|
||||||
|
@ -33,7 +33,7 @@ class UserEntityConverter extends AbstractEntityConverter implements IEntityConv
|
||||||
$entity->setPasswordHash($array['passwordHash']);
|
$entity->setPasswordHash($array['passwordHash']);
|
||||||
$entity->setPasswordSalt($array['passwordSalt']);
|
$entity->setPasswordSalt($array['passwordSalt']);
|
||||||
$entity->setAccessRank(intval($array['accessRank']));
|
$entity->setAccessRank(intval($array['accessRank']));
|
||||||
$entity->setRegistrationTime($this->dbTimeToEntityTime($array['registrationTime']));
|
$entity->setCreationTime($this->dbTimeToEntityTime($array['creationTime']));
|
||||||
$entity->setLastLoginTime($this->dbTimeToEntityTime($array['lastLoginTime']));
|
$entity->setLastLoginTime($this->dbTimeToEntityTime($array['lastLoginTime']));
|
||||||
$entity->setAvatarStyle(intval($array['avatarStyle']));
|
$entity->setAvatarStyle(intval($array['avatarStyle']));
|
||||||
$entity->setBrowsingSettings(json_decode($array['browsingSettings']));
|
$entity->setBrowsingSettings(json_decode($array['browsingSettings']));
|
||||||
|
|
|
@ -10,7 +10,7 @@ use Szurubooru\Services\ThumbnailService;
|
||||||
class UserDao extends AbstractDao implements ICrudDao
|
class UserDao extends AbstractDao implements ICrudDao
|
||||||
{
|
{
|
||||||
const ORDER_NAME = 'name';
|
const ORDER_NAME = 'name';
|
||||||
const ORDER_REGISTRATION_TIME = 'registrationTime';
|
const ORDER_CREATION_TIME = 'creationTime';
|
||||||
|
|
||||||
private $fileDao;
|
private $fileDao;
|
||||||
private $thumbnailService;
|
private $thumbnailService;
|
||||||
|
|
|
@ -29,7 +29,7 @@ final class Post extends Entity
|
||||||
|
|
||||||
private $name;
|
private $name;
|
||||||
private $userId;
|
private $userId;
|
||||||
private $uploadTime;
|
private $creationTime;
|
||||||
private $lastEditTime;
|
private $lastEditTime;
|
||||||
private $safety;
|
private $safety;
|
||||||
private $contentType;
|
private $contentType;
|
||||||
|
@ -79,14 +79,14 @@ final class Post extends Entity
|
||||||
$this->safety = $safety;
|
$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()
|
public function getLastEditTime()
|
||||||
|
|
|
@ -23,7 +23,7 @@ final class User extends Entity
|
||||||
private $passwordHash;
|
private $passwordHash;
|
||||||
private $passwordSalt;
|
private $passwordSalt;
|
||||||
private $accessRank;
|
private $accessRank;
|
||||||
private $registrationTime;
|
private $creationTime;
|
||||||
private $lastLoginTime;
|
private $lastLoginTime;
|
||||||
private $avatarStyle;
|
private $avatarStyle;
|
||||||
private $browsingSettings;
|
private $browsingSettings;
|
||||||
|
@ -110,14 +110,14 @@ final class User extends Entity
|
||||||
$this->accessRank = $accessRank;
|
$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()
|
public function getLastLoginTime()
|
||||||
|
|
|
@ -18,7 +18,7 @@ class PostFilter extends BasicFilter implements IFilter
|
||||||
|
|
||||||
const REQUIREMENT_TAG = 'tag';
|
const REQUIREMENT_TAG = 'tag';
|
||||||
const REQUIREMENT_ID = 'id';
|
const REQUIREMENT_ID = 'id';
|
||||||
const REQUIREMENT_DATE = 'uploadTime';
|
const REQUIREMENT_CREATION_TIME = 'creationTime';
|
||||||
const REQUIREMENT_HASH = 'name';
|
const REQUIREMENT_HASH = 'name';
|
||||||
const REQUIREMENT_TAG_COUNT = 'tagCount';
|
const REQUIREMENT_TAG_COUNT = 'tagCount';
|
||||||
const REQUIREMENT_FAV_COUNT = 'favCount';
|
const REQUIREMENT_FAV_COUNT = 'favCount';
|
||||||
|
|
|
@ -4,7 +4,7 @@ namespace Szurubooru\Search\Filters;
|
||||||
class UserFilter extends BasicFilter implements IFilter
|
class UserFilter extends BasicFilter implements IFilter
|
||||||
{
|
{
|
||||||
const ORDER_NAME = 'name';
|
const ORDER_NAME = 'name';
|
||||||
const ORDER_REGISTRATION_TIME = 'registrationTime';
|
const ORDER_CREATION_TIME = 'creationTime';
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
|
|
|
@ -119,7 +119,7 @@ class PostSearchParser extends AbstractSearchParser
|
||||||
[
|
[
|
||||||
[['id'], PostFilter::ORDER_ID],
|
[['id'], PostFilter::ORDER_ID],
|
||||||
[['random'], PostFilter::ORDER_RANDOM],
|
[['random'], PostFilter::ORDER_RANDOM],
|
||||||
[['time', 'date'], PostFilter::ORDER_LAST_EDIT_TIME],
|
[['edit_time', 'edit_date'], PostFilter::ORDER_LAST_EDIT_TIME],
|
||||||
[['score'], PostFilter::ORDER_SCORE],
|
[['score'], PostFilter::ORDER_SCORE],
|
||||||
[['file_size'], PostFilter::ORDER_FILE_SIZE],
|
[['file_size'], PostFilter::ORDER_FILE_SIZE],
|
||||||
[['tag_count', 'tags', 'tag'], PostFilter::ORDER_TAG_COUNT],
|
[['tag_count', 'tags', 'tag'], PostFilter::ORDER_TAG_COUNT],
|
||||||
|
@ -205,7 +205,7 @@ class PostSearchParser extends AbstractSearchParser
|
||||||
$this->addRequirementFromToken(
|
$this->addRequirementFromToken(
|
||||||
$filter,
|
$filter,
|
||||||
$token,
|
$token,
|
||||||
PostFilter::REQUIREMENT_DATE,
|
PostFilter::REQUIREMENT_CREATION_TIME,
|
||||||
self::ALLOW_RANGES);
|
self::ALLOW_RANGES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ class UserSearchParser extends AbstractSearchParser
|
||||||
return
|
return
|
||||||
[
|
[
|
||||||
[['name'], UserFilter::ORDER_NAME],
|
[['name'], UserFilter::ORDER_NAME],
|
||||||
[['registration_time', 'registration_date'], UserFilter::ORDER_REGISTRATION_TIME],
|
[['creation_time', 'creation_date'], UserFilter::ORDER_CREATION_TIME],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ class PostService
|
||||||
$this->authService->loginAnonymous();
|
$this->authService->loginAnonymous();
|
||||||
|
|
||||||
$post = new Post();
|
$post = new Post();
|
||||||
$post->setUploadTime($this->timeService->getCurrentTime());
|
$post->setCreationTime($this->timeService->getCurrentTime());
|
||||||
$post->setLastEditTime($this->timeService->getCurrentTime());
|
$post->setLastEditTime($this->timeService->getCurrentTime());
|
||||||
$post->setUser($this->authService->getLoggedInUser());
|
$post->setUser($this->authService->getLoggedInUser());
|
||||||
$post->setOriginalFileName($formData->contentFileName);
|
$post->setOriginalFileName($formData->contentFileName);
|
||||||
|
|
|
@ -104,7 +104,7 @@ class UserService
|
||||||
$formData->validate($this->validator);
|
$formData->validate($this->validator);
|
||||||
|
|
||||||
$user = new User();
|
$user = new User();
|
||||||
$user->setRegistrationTime($this->timeService->getCurrentTime());
|
$user->setCreationTime($this->timeService->getCurrentTime());
|
||||||
$user->setLastLoginTime(null);
|
$user->setLastLoginTime(null);
|
||||||
$user->setAccessRank($this->userDao->hasAnyUsers()
|
$user->setAccessRank($this->userDao->hasAnyUsers()
|
||||||
? $this->getDefaultAccessRank()
|
? $this->getDefaultAccessRank()
|
||||||
|
|
13
src/Upgrades/Upgrade43.php
Normal file
13
src/Upgrades/Upgrade43.php
Normal 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');
|
||||||
|
}
|
||||||
|
}
|
|
@ -65,7 +65,7 @@ class PostViewProxy extends AbstractViewProxy
|
||||||
$result->id = $post->getId();
|
$result->id = $post->getId();
|
||||||
$result->idMarkdown = $post->getIdMarkdown();
|
$result->idMarkdown = $post->getIdMarkdown();
|
||||||
$result->name = $post->getName();
|
$result->name = $post->getName();
|
||||||
$result->uploadTime = $post->getUploadTime();
|
$result->creationTime = $post->getCreationTime();
|
||||||
$result->lastEditTime = $post->getLastEditTime();
|
$result->lastEditTime = $post->getLastEditTime();
|
||||||
$result->safety = EnumHelper::postSafetyToString($post->getSafety());
|
$result->safety = EnumHelper::postSafetyToString($post->getSafety());
|
||||||
$result->contentType = EnumHelper::postTypeToString($post->getContentType());
|
$result->contentType = EnumHelper::postTypeToString($post->getContentType());
|
||||||
|
|
|
@ -20,7 +20,7 @@ class UserViewProxy extends AbstractViewProxy
|
||||||
{
|
{
|
||||||
$result->id = $user->getId();
|
$result->id = $user->getId();
|
||||||
$result->name = $user->getName();
|
$result->name = $user->getName();
|
||||||
$result->registrationTime = $user->getRegistrationTime();
|
$result->creationTime = $user->getCreationTime();
|
||||||
$result->lastLoginTime = $user->getLastLoginTime();
|
$result->lastLoginTime = $user->getLastLoginTime();
|
||||||
$result->avatarStyle = EnumHelper::avatarStyleToString($user->getAvatarStyle());
|
$result->avatarStyle = EnumHelper::avatarStyleToString($user->getAvatarStyle());
|
||||||
$result->banned = $user->isBanned();
|
$result->banned = $user->isBanned();
|
||||||
|
|
|
@ -59,6 +59,7 @@ return [
|
||||||
$container->get(\Szurubooru\Upgrades\Upgrade40::class),
|
$container->get(\Szurubooru\Upgrades\Upgrade40::class),
|
||||||
$container->get(\Szurubooru\Upgrades\Upgrade41::class),
|
$container->get(\Szurubooru\Upgrades\Upgrade41::class),
|
||||||
$container->get(\Szurubooru\Upgrades\Upgrade42::class),
|
$container->get(\Szurubooru\Upgrades\Upgrade42::class),
|
||||||
|
$container->get(\Szurubooru\Upgrades\Upgrade43::class),
|
||||||
];
|
];
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue