Created
April 16, 2014 16:39
-
-
Save RadGH/10904550 to your computer and use it in GitHub Desktop.
Quickly create the same user in multiple WordPress sites
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Bookmarklet: | |
// javascript:(function()%7Bif%20(%20jQuery('%23createuser').length%20)%20%7Bvar%20previous_creds%20%3D%20prompt('Enter%20previous%20setup%20code%20(or%20click%20enter%20to%20skip)'%2C%20'')%3Bvar%20username%20%3D%20false%3Bvar%20email%20%3D%20false%3Bvar%20password%20%3D%20false%3Bvar%20firstname%20%3D%20false%3Bvar%20lastname%20%3D%20false%3Bvar%20website%20%3D%20false%3Bvar%20role%20%3D%20false%3Bif%20(%20previous_creds%20)%20%7Bvar%20creds%20%3D%20jQuery.parseJSON(%20previous_creds%20)%3Bif%20(%20creds%20)%20%7Busername%20%3D%20creds.username%3Bemail%20%3D%20creds.email%3Bpassword%20%3D%20creds.password%3Bif%20(%20creds.firstname%20)%20firstname%20%3D%20creds.firstname%3Bif%20(%20creds.lastname%20)%20lastname%20%3D%20creds.lastname%3Bif%20(%20creds.website%20)%20website%20%3D%20creds.website%3Bif%20(%20creds.role%20)%20role%20%3D%20creds.role%3B%7D%7Dif%20(%20!previous_creds%20%7C%7C%20!username%20%7C%7C%20!email%20%7C%7C%20!password%20)%20%7Bvar%20username%20%3D%20prompt('(Step%201%2F8)%20Username%3A'%2C%20'')%3Bvar%20password%20%3D%20prompt('(Step%202%2F8)%20Password%3A'%2C%20'')%3Bvar%20email%20%3D%20prompt('(Step%203%2F8)%20Email%20Address%3A'%2C%20'')%3Bvar%20firstname%20%3D%20prompt('(Step%204%2F8)%20First%20Name%3A'%2C%20'')%3Bvar%20lastname%20%3D%20prompt('(Step%205%2F8)%20Last%20Name%3A'%2C%20'')%3Bvar%20website%20%3D%20prompt('(Step%206%2F8)%20Website%20URL%3A'%2C%20'')%3Bvar%20role_text%20%3D%20new%20Array()%3BjQuery('%23role').find('option').each(function()%20%7B%20if%20(%20jQuery(this).val()%20)%20role_text.push(%20jQuery(this).val()%20)%3B%20%7D)%3Bvar%20role%20%3D%20prompt(%22(Step%207%2F8)%20Role%3A%5Cn%5CnAvailable%20Roles%3A%5Cn%22%20%2B%20role_text.join(%22%2C%20%22)%20%2C%20'subscriber')%3Bvar%20creds%20%3D%20%7B'username'%3A%20username%2C'password'%3A%20password%2C'email'%3A%20email%2C'firstname'%3A%20firstname%2C'lastname'%3A%20lastname%2C'website'%3A%20website%2C'role'%3A%20role%2C%7D%3Bif%20(%20username%20%26%26%20email%20%26%26%20password%20)%20prompt('(Step%208%2F8)%20To%20repeat%20this%20action%20on%20another%20site%2C%20use%20the%20following%20code%20in%20the%20first%20step%3A'%2C%20JSON.stringify(%20creds%20))%3B%7Dif%20(%20username%20%26%26%20email%20%26%26%20password%20)%20%7BjQuery('%23user_login').val(%20username%20)%3BjQuery('%23email').val(%20email%20)%3BjQuery('%23pass1').val(%20password%20)%3BjQuery('%23pass2').val(%20password%20)%3Bif%20(%20creds.firstname%20)%20jQuery('%23first_name').val(%20firstname%20)%3Bif%20(%20creds.lastname%20)%20jQuery('%23last_name').val(%20lastname%20)%3Bif%20(%20creds.website%20)%20jQuery('%23url').val(%20website%20)%3Bif%20(%20creds.role%20)%20jQuery('%23role').val(%20role%20)%3B%7D%7D%7D)() | |
// This script will ask you for a code generated by a previous attempt. Leave it blank on your first run. | |
// Fill in all fields, then copy the generated code (step 8) | |
// All fields will be entered into the WordPress "Add New User" form, ready for you to click submit | |
// For the next site, to create the same user, paste your code in the first step. | |
if ( jQuery('#createuser').length ) { | |
var previous_creds = prompt('Enter previous setup code (or click enter to skip)', ''); | |
var username = false; | |
var email = false; | |
var password = false; | |
var firstname = false; | |
var lastname = false; | |
var website = false; | |
var role = false; | |
if ( previous_creds ) { | |
var creds = jQuery.parseJSON( previous_creds ); | |
if ( creds ) { | |
username = creds.username; | |
email = creds.email; | |
password = creds.password; | |
if ( creds.firstname ) firstname = creds.firstname; | |
if ( creds.lastname ) lastname = creds.lastname; | |
if ( creds.website ) website = creds.website; | |
if ( creds.role ) role = creds.role; | |
} | |
} | |
if ( !previous_creds || !username || !email || !password ) { | |
var username = prompt('(Step 1/8) Username:', ''); | |
var password = prompt('(Step 2/8) Password:', ''); | |
var email = prompt('(Step 3/8) Email Address:', ''); | |
var firstname = prompt('(Step 4/8) First Name:', ''); | |
var lastname = prompt('(Step 5/8) Last Name:', ''); | |
var website = prompt('(Step 6/8) Website URL:', ''); | |
var role_text = new Array(); | |
jQuery('#role').find('option').each(function() { if ( jQuery(this).val() ) role_text.push( jQuery(this).val() ); }); | |
var role = prompt("(Step 7/8) Role:\n\nAvailable Roles:\n" + role_text.join(", ") , 'subscriber'); | |
var creds = { | |
'username': username, | |
'password': password, | |
'email': email, | |
'firstname': firstname, | |
'lastname': lastname, | |
'website': website, | |
'role': role, | |
}; | |
if ( username && email && password ) prompt('(Step 8/8) To repeat this action on another site, use the following code in the first step:', JSON.stringify( creds )); | |
} | |
if ( username && email && password ) { | |
jQuery('#user_login').val( username ); | |
jQuery('#email').val( email ); | |
jQuery('#pass1').val( password ); | |
jQuery('#pass2').val( password ); | |
if ( creds.firstname ) jQuery('#first_name').val( firstname ); | |
if ( creds.lastname ) jQuery('#last_name').val( lastname ); | |
if ( creds.website ) jQuery('#url').val( website ); | |
if ( creds.role ) jQuery('#role').val( role ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment