remove more v1 remnants

kudos @Ribas160
This commit is contained in:
El RIDO 2025-07-19 20:09:37 +02:00
parent 410cc909ce
commit c99e6895dd
No known key found for this signature in database
GPG key ID: 0F5C940A6BD81F92
4 changed files with 22 additions and 23 deletions

View file

@ -171,23 +171,28 @@ abstract class AbstractData
abstract public function getAllPastes();
/**
* Get next free slot for comment from postdate.
* Get next free slot for comment from the creation timestamp
*
* The creation timestamp is usually a unix timestamp in seconds, but if a
* comment already exists at that timestamp, a number, separated by a dot is
* appended to it and incremented, then the function recurses until a free
* slot is found.
*
* @access protected
* @param array $comments
* @param int|string $postdate
* @param int|string $created
* @return int|string
*/
protected function getOpenSlot(array &$comments, $postdate)
protected function getOpenSlot(array &$comments, $created)
{
if (array_key_exists($postdate, $comments)) {
$parts = explode('.', (string) $postdate, 2);
if (array_key_exists($created, $comments)) {
$parts = explode('.', (string) $created, 2);
if (!array_key_exists(1, $parts)) {
$parts[1] = 0;
}
++$parts[1];
return $this->getOpenSlot($comments, implode('.', $parts));
}
return $postdate;
return $created;
}
}

View file

@ -229,9 +229,7 @@ class Filesystem extends AbstractData
// Store in array
$key = $this->getOpenSlot(
$comments,
(int) array_key_exists('created', $comment['meta']) ?
$comment['meta']['created'] : // v2 comments
$comment['meta']['postdate'] // v1 comments
$comment['meta']['created']
);
$comments[$key] = $comment;
}

View file

@ -68,10 +68,8 @@ class Paste extends AbstractModel
$data['meta']['time_to_live'] = $data['meta']['expire_date'] - $now;
unset($data['meta']['expire_date']);
}
foreach (array('created', 'postdate') as $key) {
if (array_key_exists($key, $data['meta'])) {
unset($data['meta'][$key]);
}
if (array_key_exists('created', $data['meta'])) {
unset($data['meta']['created']);
}
// check if non-expired burn after reading paste needs to be deleted
@ -188,10 +186,8 @@ class Paste extends AbstractModel
return $this->_store->readComments($this->getId());
}
return array_map(function ($comment) {
foreach (array('created', 'postdate') as $key) {
if (array_key_exists($key, $comment['meta'])) {
unset($comment['meta'][$key]);
}
if (array_key_exists('created', $comment['meta'])) {
unset($comment['meta']['created']);
}
return $comment;
}, $this->_store->readComments($this->getId()));

View file

@ -67,12 +67,12 @@ class DatabaseTest extends TestCase
$comment2 = Helper::getComment();
$meta1 = $comment1['meta'];
$meta2 = $comment2['meta'];
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'v1 comment does not yet exist');
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment1) !== false, 'store v1 comment');
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'v1 comment exists after storing it');
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'v2 comment does not yet exist');
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId(), $comment2) !== false, 'store v2 comment');
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'v2 comment exists after storing it');
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment 1 does not yet exist');
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment1) !== false, 'store comment 1');
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment 2 exists after storing it');
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'comment 2 does not yet exist');
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId(), $comment2) !== false, 'store comment 2');
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'comment 2 exists after storing it');
$comment1['id'] = Helper::getCommentId();
$comment1['parentid'] = Helper::getPasteId();
$comment1['meta'] = $meta1;