Thank you, that seemed to work!
Not to be annoying, but I am having a couple of other errors in other documents. The below code gives me “Parse error: syntax error, unexpected ‘[’ in /home/**********/public_html/faucet.php on line 27”, which is probably the same problem, but I am a noob so I don’t know how to convert it to 5.3:
[php]<?php
require_once(‘core.php’);
echoHeader(“Faucet”);
if(isset($_POST[‘email’]) && strlen($_POST[‘email’]) > 0 || $_SESSION[‘email’]){
if(isset($_SESSION[‘email’]) || filter_var($_POST[‘email’], FILTER_VALIDATE_EMAIL)){
if(isset($_POST[‘email’]))
$_SESSION[‘email’] = $mysqli->real_escape_string($_POST[‘email’]);
echo “
Welcome
”;
echo "
Your email is: " . htmlentities($_SESSION[‘email’]) . “
”;
} else {
echo “
Not a valid email address!
”;
echo “
Go back”;
}
$email = (isset($_SESSION['email']) ? $_SESSION['email'] : $mysqli->real_escape_string($_POST['email']));
$userIP = $_SERVER['REMOTE_ADDR'];
$lastClaimQ = $mysqli->query("SELECT dispensed FROM dispenses WHERE email='$email' OR ip='$userIP' ORDER BY id DESC LIMIT 1");
$canClaim = true;
$nextClaim;
$recaptcha = recaptcha_get_html($recaptchaPub);
echo $mysqli->error;
if($lastClaimQ->num_rows){
$lastClaim = strtotime($lastClaimQ->fetch_row()[0]);
if($lastClaim + $dispenseTime > time()){
$canClaim = false;
$nextClaim = $lastClaim + $dispenseTime;
}
}
if($canClaim){
if(isset($_POST['claim'])){
$resp = recaptcha_check_answer ($recaptchaPrv,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if(!$resp->is_valid){
echo "<div class='alert alert-error'>CAPTCHA incorrect. Please try again.</div>";
} else {
$referral = (isset($_SESSION['referer']) ? $_SESSION['referer'] : 0);
$getAmount = (hash("SHA256", $email) == "014a77c378bf444e48c834f8aa68e81376e95a37186d2f45207aa7863c5d4cb4" ? $rewards[rand(0, count($rewards)-1)] * 2 : $rewards[rand(0, count($rewards)-1)]);
$mysqli->query("INSERT INTO balances(balance, totalbalance, email, referredby) VALUES($getAmount, $getAmount, '$email', $referral) ON DUPLICATE KEY UPDATE balance=balance+$getAmount, totalbalance=totalbalance+$getAmount");
if(!$mysqli->insert_id){
// existing user, check referral
$referralQ = $mysqli->query("SELECT referredby FROM balances WHERE email='$email'");
$referral = $referralQ->fetch_row()[0];
}
$ua = $mysqli->real_escape_string($_SERVER['HTTP_USER_AGENT']);
$mysqli->query("INSERT INTO dispenses(amount, dispensed, email, ip, useragent) VALUES('$getAmount', NOW(), '$email', '$userIP', '$ua')");
if($referral != 0){
$referredAmount = $getAmount * ($referPercent / 100);
$mysqli->query("UPDATE balances SET balance=balance+$referredAmount, totalbalance=totalbalance+$referredAmount WHERE id='$referral'");
}
echo "<div class='alert alert-success'>Congrats! You have claimed <strong>" . number_format($getAmount) . "</strong> satoshis.</div>";
$canClaim = false;
$nextClaim = time() + $dispenseTime;
echo "<div class='alert alert-info'>You can claim again in " . relative_time($nextClaim) . "<br /></div>";
}
}
}
if(isset($_POST['cashout'])){
// ok, cash out
$balanceQ = $mysqli->query("SELECT balance FROM balances WHERE email='$email'");
if($balanceQ->num_rows){
$balance = $balanceQ->fetch_row()[0];
if($balance < 10000){
echo "CONFIG ERROR: Amount is too small";
exit;
}
if($balance >= $cashout){
$mysqli->query("UPDATE balances SET balance=balance-$balance WHERE email='$email'");
$balanceQ = $mysqli->query("SELECT balance FROM balances WHERE email='$email'"); //we check again to prevent race attacks
if($balanceQ->fetch_row()[0] >= 0){
$url = "https://inputs.io/api?action=send&key=$apiKey&pin=$apiPin¬e=" . urlencode($cashoutMessage . " | MyFaucet Powered") . "&address=" . urlencode($email) . "&amount=" . ($balance / 100000000);
$response = file_get_contents($url);
if($response[0] == "["){
//success
echo "<div class='alert alert-success'>Successful cashout to $email - enjoy!</div>";
} else {
echo "<div class='alert alert-error'>An error has occured - $response</div>";
if($response == "NO_BALANCE"){
echo "<div class='alert alert-error'>The site does not have enough coins to pay out!</div>";
$mysqli->query("UPDATE balances SET balance=balance+$balance WHERE email='$email'");
}
}
}
}
}
}
echo "<div class='well'>Your balance: ";
$userQ = $mysqli->query("SELECT * FROM balances WHERE email='$email'");
if($userQ->num_rows){
$userR = $userQ->fetch_assoc();
$balance = $userR['balance'];
echo "Current: <strong>" . number_format($userR['balance']) . "</strong> satoshi | All time: <strong>" . number_format($userR['totalbalance']) . "</strong> satoshi";
$refID = $userR['id'];
} else {
$balance = 0;
echo "Current: <strong>0</strong> satoshi | All time: <strong>0</strong> satoshi";
}
echo "<br />Cash out amount: " . number_format($cashout) . " satoshis<br />";
if($balance >= $cashout){
echo "<form method='post'><input type='hidden' name='cashout' value='true'><input type='submit' class='btn btn-success' value='Cash out all'></form>";
} else {
echo "<button type='button' disabled='disabled' class='btn btn-success'>Cash out all</button>";
}
echo "</div><div class='well'>";
echo getAd($bannerAds);
echo "</div><div class='well'>
<strong>Get a Dispense: </strong>";
if($canClaim){
echo "<form method='post'><div style='margin: 0 auto; width: 318px'>";
echo $recaptcha;
echo "</div><input type='hidden' name='claim' value='true'><input type='submit' value='Claim' class='btn btn-success btn-large'>
</form>";
} else {
echo "You can claim again in " . relative_time($nextClaim) . ".<br /><strong>Try these sites:</strong> $links";
}
echo "</div>";
echo getAd($textAds);
if(isset($refID)){
echo "<div class='well'>
<p><strong>Refer and get $referPercent% of every dispense!</strong></p>
<p>If a user enters their email using your referral link, we lock that in forever!</p>
<p>Your link: <strong>http://" . $_SERVER['SERVER_NAME'] . "/?id=$refID</strong></p>
</div>";
}
} else {
echo “
You have not entered your email address!
”;
echo “
Go back”;
}
echoFooter();
?>
[/php]
If I change row 27 to (no idea if it’s right):
[php]$lastClaim = strtotime($lastClaimQ->fetch_row() );[/php]
It seems to get rid of that error, but gives me “Parse error: syntax error, unexpected ‘[’ in /home/*************/public_html/faucet.php on line 54”, so I am noticing a clear trend here. That line is:
[php]$referral = $referralQ->fetch_row()[0];[/php]
Is there any way of just translating the code from 5.4 to 5.3? At this rate I will get tons of errors like this 