Dirty hack – will break on update most likely
open client-quiz.php
replace (line 83-90)
// Did current user tried this quiz
if( $info->one_chance ) {
$attempts = $wpdb->get_var( "
SELECT count(*) FROM {$wpdb->base_prefix}ssquiz_history WHERE user_id = {$info->user->id} AND quiz_id = {$info->quiz->id}
");
if( $attempts > 0 )
return ssquiz_return_quiz_body( '<h2>'.__('You already took this quiz', 'ssquiz').'</h2>' );
}
with
//remove one_change and replaced with chances
if( isset( $params["chances"])) {
$attempts = $wpdb->get_var( "
SELECT count(*) FROM {$wpdb->base_prefix}ssquiz_history WHERE user_id = {$info->user->id} AND quiz_id = {$info->quiz->id}
");
if( $attempts >= intval( $params["chances"]) )
return ssquiz_return_quiz_body( '<h2>'.__('You already took this quiz', 'ssquiz').'</h2>' );
}
then in your yourcode, add chances=3 to make 3 attempts. (1 for once_change)
Thread Starter
dgstr
(@dgstr)
I’ve replaced the code, and in my quiz page, I’ve put this:
[ssquiz id=3 qrandom timer=300 not_correct arandom chances=3]
But it didn’t work. It says that I already took the quiz, even with the statistics cleared.
What am I doing wrong?
Thank you!
you sure you published the page?
dont use the back button to retake the quiz
it work fine here, multiple browsers
what happens if you add? it will show a dirty attemps and maxtries (it will only look a the attemps when loading the page, so use back for browser = no worky.
if( isset( $params["chances"])) {
$attempts = $wpdb->get_var( "
SELECT count(*) FROM {$wpdb->base_prefix}ssquiz_history WHERE user_id = {$info->user->id} AND quiz_id = {$info->quiz->id}
");
echo "Attempts Saved: ".$attempts." Max_chances". intval( $params["chances"]);
if( $attempts >= intval( $params["chances"]) )
return ssquiz_return_quiz_body( '<h2>'.__('You already took this quiz', 'ssquiz').'</h2>' );
}
ps, tried both logged in and logout users
Thread Starter
dgstr
(@dgstr)
I have used Ctrl+F5 to clear cache and refresh the page.
Now with this new code it runs perfectly!
Thank you very much!