fixing "missing" comments when they were posted during the same second
This commit is contained in:
parent
1d6cfb7f3b
commit
512b3d1172
3 changed files with 23 additions and 2 deletions
|
@ -122,4 +122,24 @@ abstract class zerobin_abstract
|
|||
* @return void
|
||||
*/
|
||||
abstract public function existsComment($pasteid, $parentid, $commentid);
|
||||
|
||||
/**
|
||||
* Get next free slot for comment from postdate.
|
||||
*
|
||||
* @access public
|
||||
* @param array $comments
|
||||
* @param int|string $postdate
|
||||
* @return void
|
||||
*/
|
||||
protected function getOpenSlot(&$comments, $postdate)
|
||||
{
|
||||
if (array_key_exists($postdate, $comments))
|
||||
{
|
||||
$parts = explode('.', $postdate, 2);
|
||||
if (!array_key_exists(1, $parts)) $parts[1] = 0;
|
||||
++$parts[1];
|
||||
return $this->addComment($comments, implode('.', $parts));
|
||||
}
|
||||
return $postdate;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,7 +181,8 @@ class zerobin_data extends zerobin_abstract
|
|||
$comment->meta->parentid = $items[2];
|
||||
|
||||
// Store in array
|
||||
$comments[$comment->meta->postdate] = $comment;
|
||||
$key = $this->getOpenSlot($comments, (int) $comment->meta->postdate);
|
||||
$comments[$key] = $comment;
|
||||
}
|
||||
}
|
||||
$dir->close();
|
||||
|
|
|
@ -378,7 +378,7 @@ class zerobin_db extends zerobin_abstract
|
|||
{
|
||||
foreach ($rows as $row)
|
||||
{
|
||||
$i = (int) $row['postdate'];
|
||||
$i = $this->getOpenSlot($comments, (int) $row['postdate']);
|
||||
$comments[$i] = clone $commentTemplate;
|
||||
$comments[$i]->data = $row['data'];
|
||||
$comments[$i]->meta->nickname = $row['nickname'];
|
||||
|
|
Loading…
Reference in a new issue