mirror of
https://github.com/Mibew/mibew.git
synced 2024-11-15 00:24:12 +03:00
Fix calculation of visitor's messages for old threads
This commit is contained in:
parent
57eacfb953
commit
1a137bb683
@ -438,6 +438,7 @@ class Thread
|
||||
$thread->modified = $now;
|
||||
$thread->closed = $now;
|
||||
$thread->state = self::STATE_CLOSED;
|
||||
$thread->messageCount = $thread->getMessageCount();
|
||||
$thread->save(false);
|
||||
unset($thread);
|
||||
}
|
||||
@ -955,27 +956,13 @@ class Thread
|
||||
}
|
||||
}
|
||||
|
||||
// Get messages count
|
||||
$db = Database::getInstance();
|
||||
|
||||
list($message_count) = $db->query(
|
||||
("SELECT COUNT(*) FROM {message} "
|
||||
. "WHERE {message}.threadid = :threadid AND ikind = :kind_user"),
|
||||
array(
|
||||
':threadid' => $this->id,
|
||||
':kind_user' => Thread::KIND_USER,
|
||||
),
|
||||
array(
|
||||
'return_rows' => Database::RETURN_ONE_ROW,
|
||||
'fetch_type' => Database::FETCH_NUM,
|
||||
)
|
||||
);
|
||||
|
||||
// Close thread if it's not already closed
|
||||
if ($this->state != self::STATE_CLOSED) {
|
||||
$this->state = self::STATE_CLOSED;
|
||||
$this->closed = time();
|
||||
$this->messageCount = $message_count;
|
||||
$this->messageCount = $this->getMessageCount();
|
||||
$this->save();
|
||||
|
||||
$args = array('thread' => $this);
|
||||
@ -1091,6 +1078,32 @@ class Thread
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get actual count of visitor's messages
|
||||
*
|
||||
* @return int Count
|
||||
*/
|
||||
public function getMessageCount()
|
||||
{
|
||||
// Get messages count
|
||||
$db = Database::getInstance();
|
||||
|
||||
list($message_count) = $db->query(
|
||||
("SELECT COUNT(*) FROM {message} "
|
||||
. "WHERE {message}.threadid = :threadid AND ikind = :kind_user"),
|
||||
array(
|
||||
':threadid' => $this->id,
|
||||
':kind_user' => Thread::KIND_USER,
|
||||
),
|
||||
array(
|
||||
'return_rows' => Database::RETURN_ONE_ROW,
|
||||
'fetch_type' => Database::FETCH_NUM,
|
||||
)
|
||||
);
|
||||
|
||||
return $message_count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets thread's fields according to the fields from Database.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user