delete('votes', ['votedate[<]' => date("Y-m-d H:i:s", time() - 43200)]); if (!empty(self::get_vote_by_IP($siteID)) || !empty(self::get_vote_by_account($siteID, $acc_data['id']))) { error_msg('You already voted on this website.'); return false; } database::$auth->insert('votes', [ 'ip' => $antiXss->xss_clean(strtoupper(getIP())), 'vote_site' => $antiXss->xss_clean($siteID), 'accountid' => $antiXss->xss_clean($acc_data['id']) ]); database::$auth->update('account', [ 'votePoints' => $antiXss->xss_clean($acc_data['votePoints'] + 1) ], [ 'id[=]' => $acc_data['id'] ]); header('location: ' . $vote_sites[$siteID]['site_url']); exit(); } public static function get_vote_by_IP($siteID) { $datas = database::$auth->select('votes', '*', ["AND" => ['ip' => Medoo::raw('UPPER(:ip)', [':ip' => strtoupper(getIP())]), 'vote_site[=]' => $siteID]]); if (!empty($datas[0]['id'])) { return $datas; } return false; } public static function get_vote_by_account($siteID, $accountID) { $datas = database::$auth->select('votes', '*', ["AND" => ['accountid[=]' => $accountID, 'vote_site[=]' => $siteID]]); if (!empty($datas[0]['id'])) { return $datas; } return false; } public static function setup_vote_table() { database::$auth->query("ALTER TABLE `account` ADD COLUMN `votePoints` varchar(255) NULL DEFAULT '0';"); database::$auth->query(" CREATE TABLE `votes` ( `id` bigint(255) NOT NULL AUTO_INCREMENT, `ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `vote_site` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `accountid` bigint(255) NULL DEFAULT 0, `votedate` timestamp(0) NULL DEFAULT current_timestamp(0), `done` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; "); return true; } }