You are here

function entityform_anonymous_entityform_previous_submission_alter in Entityform 7.2

Implements hook_entityform_previous_submission_alter().

Replace with anonymous submission if any matching.

File

entityform_anonymous/entityform_anonymous.module, line 148
Main functions and hook implementations

Code

function entityform_anonymous_entityform_previous_submission_alter(&$submission, $type, $context) {
  $uid = $context['uid'];
  if (user_is_anonymous() && !$uid && empty($submission)) {
    $draft = $context['draft'];
    $entityform_type = entityform_type_load($type);
    if (!empty($entityform_type->data['anonymous_links']) && !empty($_GET['token']) && !empty($_GET['id'])) {
      if ($_GET['token'] == _entityform_anonymous_get_token($_GET['id'])) {

        // Correct token. Load the full entityform
        $entityform = entityform_load($_GET['id']);
        if ($entityform->draft == $draft && $entityform->type == $type) {
          $submission = $entityform;
        }
      }
    }
    elseif (!empty($entityform_type->data['session_save'])) {
      $submissions = entityform_anonymous_get_submissions($type, $draft, 1);
      $submission = array_shift($submissions);
      if ($submission) {
        $submission = entityform_load($submission->entityform_id);
      }
    }
  }
}