Created
September 13, 2012 00:19
-
-
Save spivurno/3710941 to your computer and use it in GitHub Desktop.
Gravity Wiz // Limit User to One Submission Per Time Period
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Limit User to One Submission Per Time Period | |
* http://gravitywiz.com/2012/04/25/limit-user-to-one-submission-per-time-period/ | |
*/ | |
// update the "5" to your form ID | |
add_action('gform_pre_render_5', 'gform_limit_submissions'); | |
function gform_limit_submissions($form){ | |
global $wpdb; | |
$limit_message = 'You may only submit this form once every 24 hours.'; | |
$limit_time = 86400; // must be specified in seconds; 86400 seconds is equal to 24 hours | |
/* You do not need to edit below this line */ | |
$current_user = wp_get_current_user(); | |
$last_submission = $wpdb->get_var($wpdb->prepare("SELECT date_created FROM {$wpdb->prefix}rg_lead WHERE created_by = %d and form_id = %d ORDER BY date_created DESC", $current_user->ID, $form['id'])); | |
if(empty($last_submission)) | |
return $form; | |
$time_out = strtotime($last_submission) + $limit_time; | |
$current_time = time(); | |
if($current_time > $time_out) | |
return $form; | |
$is_submit = rgpost("is_submit_{$form['id']}"); | |
if(!$is_submit) { | |
add_filter('gform_get_form_filter', create_function('', "return '<div class=\"limit-message\">$limit_message</div>';") ); | |
} | |
return $form; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment