summaryrefslogtreecommitdiff
path: root/extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:12:12 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:12:12 -0400
commitc9aa36da061816dee256a979c2ff8d2ee41824d9 (patch)
tree29f7002b80ee984b488bd047dbbd80b36bf892e9 /extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js
parentb4274e0e33eafb5e9ead9d949ebf031a9fb8363b (diff)
parentd1ba966140d7a60cd5ae4e8667ceb27c1a138592 (diff)
Merge branch 'archwiki'
# Conflicts: # skins/ArchLinux.php # skins/ArchLinux/archlogo.gif
Diffstat (limited to 'extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js')
-rw-r--r--extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js b/extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js
new file mode 100644
index 00000000..34296d03
--- /dev/null
+++ b/extensions/ConfirmEdit/resources/ext.confirmEdit.asirra.js
@@ -0,0 +1,54 @@
+/*======================================================================*\
+|| #################################################################### ||
+|| # Asirra module for ConfirmEdit by Bachsau # ||
+|| # ---------------------------------------------------------------- # ||
+|| # This code is released into public domain, in the hope that it # ||
+|| # will be useful, but without any warranty. # ||
+|| # ------------ YOU CAN DO WITH IT WHATEVER YOU LIKE! ------------- # ||
+|| #################################################################### ||
+\*======================================================================*/
+
+jQuery( function( $ ) {
+ // Selectors for create account, login, and page edit forms.
+ var asirraform = $( 'form#userlogin2, #userloginForm form, form#editform' );
+ var submitButtonClicked = document.createElement("input");
+ var passThroughFormSubmit = false;
+
+ function PrepareSubmit() {
+ submitButtonClicked.type = "hidden";
+ var inputFields = asirraform.find( "input" );
+ for (var i=0; i<inputFields.length; i++) {
+ if (inputFields[i].type === "submit") {
+ inputFields[i].onclick = function(event) {
+ submitButtonClicked.name = this.name;
+ submitButtonClicked.value = this.value;
+ }
+ }
+ }
+
+ asirraform.submit( function() {
+ return MySubmitForm();
+ } );
+ }
+
+ function MySubmitForm() {
+ if (passThroughFormSubmit) {
+ return true;
+ }
+ Asirra_CheckIfHuman(HumanCheckComplete);
+ return false;
+ }
+
+ function HumanCheckComplete(isHuman) {
+ if (!isHuman) {
+ window.alert( mediaWiki.msg( 'asirra-failed' ) );
+ } else {
+ asirraform.append(submitButtonClicked);
+ passThroughFormSubmit = true;
+ asirraform.submit();
+ }
+ }
+
+ PrepareSubmit();
+
+} );