summaryrefslogtreecommitdiffstats
path: root/lib/Db/CacheActorsRequest.php
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2018-12-24 09:32:31 -0100
committerMaxence Lange <maxence@artificial-owl.com>2019-01-03 09:21:21 -0100
commit638e20d3fc782a6ee74e52bb7f7e0bff8c2a31f4 (patch)
tree3f03ed6ffd5acfa4e9d046d5168e2ecfdf1b5fb4 /lib/Db/CacheActorsRequest.php
parentfb3e156846b09360b43e30c032acb47a8401265d (diff)
using signature date as 'creation' date
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib/Db/CacheActorsRequest.php')
-rw-r--r--lib/Db/CacheActorsRequest.php29
1 files changed, 23 insertions, 6 deletions
diff --git a/lib/Db/CacheActorsRequest.php b/lib/Db/CacheActorsRequest.php
index bca8b39d..82a2f5de 100644
--- a/lib/Db/CacheActorsRequest.php
+++ b/lib/Db/CacheActorsRequest.php
@@ -64,6 +64,14 @@ class CacheActorsRequest extends CacheActorsRequestBuilder {
* @param Person $actor
*/
public function save(Person $actor) {
+
+ if ($actor->getCreation() > 0) {
+ $dTime = new DateTime();
+ $dTime->setTimestamp($actor->getCreation());
+ } else {
+ $dTime = new DateTime('now');
+ }
+
$qb = $this->getCacheActorsInsertSql();
$qb->setValue('id', $qb->createNamedParameter($actor->getId()))
->setValue('account', $qb->createNamedParameter($actor->getAccount()))
@@ -86,7 +94,7 @@ class CacheActorsRequest extends CacheActorsRequestBuilder {
->setValue('details', $qb->createNamedParameter(json_encode($actor->getDetails())))
->setValue(
'creation',
- $qb->createNamedParameter(new DateTime('now'), IQueryBuilder::PARAM_DATE)
+ $qb->createNamedParameter($dTime, IQueryBuilder::PARAM_DATE)
);
if ($actor->gotIcon()) {
@@ -108,16 +116,25 @@ class CacheActorsRequest extends CacheActorsRequestBuilder {
* @param Person $actor
*/
public function update(Person $actor) {
+
+ if ($actor->getCreation() > 0) {
+ $dTime = new DateTime();
+ $dTime->setTimestamp($actor->getCreation());
+ } else {
+ $dTime = new DateTime('now');
+ }
+
$qb = $this->getCacheActorsUpdateSql();
- $qb->set('account', $qb->createNamedParameter($actor->getAccount()))
- ->set('following', $qb->createNamedParameter($actor->getFollowing()))
+ $qb->set('following', $qb->createNamedParameter($actor->getFollowing()))
->set('followers', $qb->createNamedParameter($actor->getFollowers()))
->set('inbox', $qb->createNamedParameter($actor->getInbox()))
->set('shared_inbox', $qb->createNamedParameter($actor->getSharedInbox()))
->set('outbox', $qb->createNamedParameter($actor->getOutbox()))
->set('featured', $qb->createNamedParameter($actor->getFeatured()))
->set('url', $qb->createNamedParameter($actor->getUrl()))
- ->set('preferred_username', $qb->createNamedParameter($actor->getPreferredUsername()))
+ ->set(
+ 'preferred_username', $qb->createNamedParameter($actor->getPreferredUsername())
+ )
->set('name', $qb->createNamedParameter($actor->getName()))
->set('summary', $qb->createNamedParameter($actor->getSummary()))
->set('public_key', $qb->createNamedParameter($actor->getPublicKey()))
@@ -125,7 +142,7 @@ class CacheActorsRequest extends CacheActorsRequestBuilder {
->set('details', $qb->createNamedParameter(json_encode($actor->getDetails())))
->set(
'creation',
- $qb->createNamedParameter(new DateTime('now'), IQueryBuilder::PARAM_DATE)
+ $qb->createNamedParameter($dTime, IQueryBuilder::PARAM_DATE)
);
if ($actor->gotIcon()) {
@@ -134,10 +151,10 @@ class CacheActorsRequest extends CacheActorsRequestBuilder {
} else {
$iconId = $actor->getIconId();
}
+
$qb->set('icon_id', $qb->createNamedParameter($iconId));
$this->limitToIdString($qb, $actor->getId());
-
$qb->execute();
}