Skip to content

Instantly share code, notes, and snippets.

@spivurno
Created September 13, 2012 00:19
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save spivurno/3710941 to your computer and use it in GitHub Desktop.
Save spivurno/3710941 to your computer and use it in GitHub Desktop.
Gravity Wiz // Limit User to One Submission Per Time Period
/**
* 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