This is confirmation module. It sends an e-mail to users who submit the webform for verification by taking the email id from the webform.

On clicking on the confirmation link in the email, the user confirms that he/she is not a spammer. It works both for both Authenticated and Anonymous users.

Also, the administrator is able to keep a track of users who have confirmed their submissions.

Webform Confirmation provides the ability :

  • To send a confirmation link to the user.
  • To shorten the confirmation link using bitly service.
  • To manage the list of confirmed users.

Additional Features

  • Bitly integration : The confirmation link in the mail could be shortened using the Bitly service (e.g. http://bit.ly/1icB6B3). For this, you need to create an account at the Bitly site and enter the username and bitly api key.
  • HTML Mail : If you wish to send html mail then just add the key Confirmation to the html mail configuration settings.
  • Views Integration is also available. All data is exposed in views.

Link to Project:-
https://drupal.org/sandbox/nitesh11/2141847

Link to git Repository:-
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/nitesh11/2141847.git webform_confirmation

Manual reviews of other projects:

Comments

PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

devd’s picture

Status: Needs review » Needs work
Issue tags: -webform, -e-mail, -confirmation, -confirmation mail +drupal schema

webform_confirmation_uninstall(): uninstalling the schema is not necessary in drupal 7, so this function should be removed.

nitesh sethia’s picture

I have removed the hook_uninstall() from .install file. Is there any other issue with the module @devendra.yadav

nitesh sethia’s picture

Status: Needs work » Needs review
piyuesh23’s picture

You should also be handling the case where in the user clicks on the confirmation link for the second time inside function webform_submission_approve().

Also, providing a configuration to redirect the user to a custom page after clicking on the link would be good feature to have.

piyuesh23’s picture

Status: Needs review » Needs work
nitesh sethia’s picture

This issue has been fixed.

nitesh sethia’s picture

Status: Needs work » Needs review
deepakaryan1988’s picture

@Nitesh Sethia
Can you please delete master branch and port it on 7.x-1.x.
And I have also find some unused variable and notice which you can refer from here:-
http://pareview.sh/pareview/httpgitdrupalorgsandboxnitesh112141847git

deepakaryan1988’s picture

Status: Needs review » Needs work
nitesh sethia’s picture

Issue summary: View changes
Status: Needs work » Needs review

Fixed. Thanks for reporting.

nitesh sethia’s picture

Issue summary: View changes

All the issues being pointed out is fixed.

chalk’s picture

Hi, @Nitesh Sethia

  • Why do you use 'varchar' type for ID numbers in hook_schema?
  • Instead of curl library you may use drupal_hhtp_request().
  • It's recommended to move all page callbacks to .pages.inc files.
chalk’s picture

Status: Needs review » Needs work
deepakaryan1988’s picture

Hi Nitesh,
I was testing your module and I really appreciate that you have created this kind of sub-module of Webform.
But I find one small bug which you can solve by just putting below code:-

function hook_uninstall(){
  variable_del('YOUR_VARIABLE_NAME');
}

It will help you in deleting variable when uninstalling module.

nitesh sethia’s picture

Status: Needs work » Needs review

Regarding #11
I have changed the code regarding 1st and 2nd point but wrt to 3rd point, as my module is not that big therefore I think there is no need of an extra pages.inc file.

Regarding #15, I have added hook_uninstall to my .install file.

Thanks for reviewing my module.

nitesh sethia’s picture

Issue summary: View changes
Issue tags: -drupal schema +PAreview: review bonus

Applying for bonus.

klausi’s picture

Issue summary: View changes
Issue tags: -PAreview: review bonus

Removing review bonus tag, you have not done any manual review, you just posted the output of an automated review tool. Make sure to read through the source code of the other projects, as requested on the review bonus page.

nitesh sethia’s picture

Issue summary: View changes
nitesh sethia’s picture

Issue summary: View changes
nitesh sethia’s picture

Issue summary: View changes
nitesh sethia’s picture

Issue tags: +PAreview: review bonus
jkavanagh’s picture

Your module looks really good.

In webform_confirmation.module on lines 140 and 141, you are using $_GET. Is there any reason you aren't using the API function arg?

https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7

klausi’s picture

Assigned: Unassigned » misc
Status: Needs review » Reviewed & tested by the community
Issue tags: -PAreview: review bonus

Review of the 7.x-1.x branch:

  • DrupalPractice has found some issues with your code, but could be false positives.
    
    FILE: /home/klausi/pareview_temp/webform_confirmation.module
    --------------------------------------------------------------------------------
    FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S)
    --------------------------------------------------------------------------------
     121 | WARNING | Messages are user facing text and must run through t() for
         |         | translation
    --------------------------------------------------------------------------------
    

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

manual review:

  1. project page: "On clicking on the confirmation link in the email, the user confirms that he is not a spammer." please don't assume that users are male.
  2. "variable_del('bit_ly_information');": all variables used by your module need to be prefixed with your module's name to avoid names collisions.
  3. webform_confirmation_permission(): permissions are usually all lower case.
  4. webform_confirmation_menu(): "verify" is a it short as menu entry and people might want to use that for something else, so I guess you should prefix that menu path with something specific to your module. Or even make it configurable.
  5. webform_confirmation_confirming_verification(): this will not scale. Why do you fetch the whole table content? You should use conditions on the query to only get relevant results, than you don't have to iterate over possibly thousands of records.
  6. " 'help' => 'Mydons Custom database table',": what is Mydons?
  7. webform_confirmation_submit(): don't use md5() for security tokens, use drupal_random_bytes() or drupal_hmac_base64().

But otherwise looks RTBC to me. Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.

Assigning to MiSc as he might have time to take a final look at this.

nitesh sethia’s picture

Issue summary: View changes
klausi’s picture

Status: Reviewed & tested by the community » Fixed

no objections for more than a week, so ...

Thanks for your contribution, Nitesh Sethia!

I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.

Here are some recommended readings to help with excellent maintainership:

You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

Thanks to the dedicated reviewer(s) as well.

gobinathm’s picture

Status: Fixed » Closed (fixed)

Closing this application as its been fixed & respective account has been updated

klausi’s picture

Status: Closed (fixed) » Fixed

No need to do that, fixed issues will close automatically after 2 weeks. This gives interested parties time to reactivate the issue if they see a problem with the fix and also allows time to see that a change has been made. See https://drupal.org/node/156119

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.