*/
//$json_array = array('result'=>'test_okay');
//echo json_encode($json_array); exit;
require_once '../../../hotaru_settings.php';
require_once '../../../Hotaru.php';
// Not the cleanest way of getting to the root...
$h = new Hotaru();
$h->start();
$h->includeLanguage('vote', 'vote');
if ($h->cage->post->keyExists('post_id')) {
    $post_id = $h->cage->post->testInt('post_id');
    $vote_rating = $h->cage->post->testInt('rating');
    $user_ip = $h->cage->server->testIp('REMOTE_ADDR');
    $referer = $h->cage->post->testAlnum('referer');
    //get vote settings
    $vote_settings = unserialize($h->getSetting('vote_settings', 'vote'));
    vote($h, $post_id, $vote_rating, $user_ip, $referer, $vote_settings);
}
function vote($h, $post_id, $vote_rating, $user_ip, $referer, $vote_settings)
{
    // Only proceed if the user is logged in
    if (!$h->currentUser->loggedIn) {
        return false;
    }
    $user_id = $h->currentUser->id;
    // get vote history for this post:
    $sql = "SELECT vote_rating FROM " . TABLE_POSTVOTES . " WHERE vote_post_id = %d AND vote_user_id = %d AND vote_rating != %d";
    $voted = $h->db->get_var($h->db->prepare($sql, $post_id, $user_id, -999));
    if ($voted == $vote_rating) {
        // Repeat vote. Must be from a double-click. Return false and
        $json_array = array('result' => $h->lang['vote_already_voted']);
//$json_array = array('result'=>'test_okay');
//echo json_encode($json_array); exit;
require_once '../../../hotaru_settings.php';
require_once '../../../Hotaru.php';
// Not the cleanest way of getting to the root...
$h = new Hotaru();
$h->start();
$h->includeLanguage('updown_voting', 'updown_voting');
if ($h->cage->post->keyExists('post_id')) {
    $post_id = $h->cage->post->testInt('post_id');
    $vote_rating = $h->cage->post->testInt('rating');
    $user_ip = $h->cage->server->testIp('REMOTE_ADDR');
    $undo = false;
    // track whether we're adding a vote or undoing one.
    //get vote settings
    $updown_voting_settings = unserialize($h->getSetting('updown_voting_settings', 'updown_voting'));
    vote($h, $post_id, $vote_rating, $user_ip, $undo, $updown_voting_settings);
}
function vote($h, $post_id, $vote_rating, $user_ip, $undo, $updown_voting_settings)
{
    // Only proceed if the user is logged in
    if (!$h->currentUser->loggedIn) {
        return false;
    }
    $user_id = $h->currentUser->id;
    // get vote history for this post:
    $sql = "SELECT vote_rating FROM " . TABLE_POSTVOTES . " WHERE vote_post_id = %d AND vote_user_id = %d AND vote_rating != %d ORDER BY vote_updatedts DESC LIMIT 1";
    $voted = $h->db->get_var($h->db->prepare($sql, $post_id, $user_id, -999));
    if ($voted == $vote_rating) {
        // Repeat vote. Must be from a double-click. Return false and
        $json_array = array('result' => $h->lang['vote_already_voted']);