Fix incorrect error message when a document/comment is voted/blamed already #2590

This commit is contained in:
Kijin Sung 2025-08-13 21:15:11 +09:00
parent 316cfc43b0
commit 08fc4d72d9
3 changed files with 39 additions and 10 deletions

View file

@ -1608,7 +1608,14 @@ class CommentController extends Comment
// invalid vote if vote info exists in the session info.
if (!empty($_SESSION['voted_comment'][$comment_srl]))
{
return new BaseObject(-1, $failed_voted . '_already');
if ($_SESSION['voted_comment'][$comment_srl] > 0)
{
return new BaseObject(-1, 'failed_voted_already');
}
else
{
return new BaseObject(-1, 'failed_blamed_already');
}
}
// Get the original comment
@ -1651,8 +1658,15 @@ class CommentController extends Comment
// Pass after registering a session if log information has vote-up logs
if ($output->data->count)
{
$_SESSION['voted_comment'][$comment_srl] = false;
return new BaseObject(-1, $failed_voted);
$_SESSION['voted_comment'][$comment_srl] = intval($output->data->point);
if ($output->data->point > 0)
{
return new BaseObject(-1, 'failed_voted_already');
}
else
{
return new BaseObject(-1, 'failed_blamed_already');
}
}
// Call a trigger (before)

View file

@ -4,6 +4,7 @@
</tables>
<columns>
<column name="count(*)" alias="count" />
<column name="sum(point)" alias="point" />
</columns>
<conditions>
<condition operation="equal" column="comment_srl" var="comment_srl" filter="number" notnull="notnull" />

View file

@ -2029,7 +2029,14 @@ class DocumentController extends Document
// Return fail if session already has information about votes
if (!empty($_SESSION['voted_document'][$document_srl]))
{
return new BaseObject(-1, $failed_voted . '_already');
if ($_SESSION['voted_document'][$document_srl] > 0)
{
return new BaseObject(-1, 'failed_voted_already');
}
else
{
return new BaseObject(-1, 'failed_blamed_already');
}
}
// Get the original document
@ -2072,8 +2079,15 @@ class DocumentController extends Document
// Pass after registering a session if log information has vote-up logs
if ($output->data->count)
{
$_SESSION['voted_document'][$document_srl] = false;
return new BaseObject(-1, $failed_voted);
$_SESSION['voted_document'][$document_srl] = intval($output->data->point);
if ($output->data->point > 0)
{
return new BaseObject(-1, 'failed_voted_already');
}
else
{
return new BaseObject(-1, 'failed_blamed_already');
}
}
// Call a trigger (before)