diff --git a/code/model/UserDefinedForm.php b/code/model/UserDefinedForm.php index ceada12..be5a065 100755 --- a/code/model/UserDefinedForm.php +++ b/code/model/UserDefinedForm.php @@ -304,6 +304,7 @@ class UserDefinedForm_Controller extends Page_Controller { // load the jquery Requirements::javascript(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js'); Requirements::javascript('userforms/thirdparty/jquery-validate/jquery.validate.min.js'); + Requirements::javascript('userforms/javascript/UserForm_frontend.js'); } /** @@ -331,6 +332,13 @@ class UserDefinedForm_Controller extends Page_Controller { ); } + /** + * Keep the session alive for the user. + */ + function ping() { + return 1; + } + /** * Get the form for the page. Form can be modified by calling {@link updateForm()} * on a UserDefinedForm extension @@ -904,4 +912,4 @@ class UserDefinedForm_SubmittedFormEmail extends Email { function __construct() { parent::__construct(); } -} \ No newline at end of file +} diff --git a/javascript/UserForm_frontend.js b/javascript/UserForm_frontend.js new file mode 100644 index 0000000..0703d4b --- /dev/null +++ b/javascript/UserForm_frontend.js @@ -0,0 +1,9 @@ +jQuery(function($) { + /** + * Make sure the form does not expire on the user. + */ + setInterval(function() { + // Ping every 3 mins. + $.ajax({url: "UserDefinedForm_Controller/ping"}); + }, 180*1000); +});