|
From: <axe...@us...> - 2010-05-10 16:33:57
|
Revision: 110
http://wpmu-ldap.svn.sourceforge.net/wpmu-ldap/?rev=110&view=rev
Author: axelseaa
Date: 2010-05-10 16:33:51 +0000 (Mon, 10 May 2010)
Log Message:
-----------
changed bulk add logic to not attempt to auto create blogs if configured - wordpress does not support multiple blogs being created in a single function
Modified Paths:
--------------
trunk/ldap/lib/wpmu_ldap.functions.php
trunk/ldap/lib/wpmu_ldap_adduser.functions.php
Modified: trunk/ldap/lib/wpmu_ldap.functions.php
===================================================================
--- trunk/ldap/lib/wpmu_ldap.functions.php 2010-05-10 04:22:06 UTC (rev 109)
+++ trunk/ldap/lib/wpmu_ldap.functions.php 2010-05-10 16:33:51 UTC (rev 110)
@@ -9,9 +9,16 @@
*
* @author - dwang99
*/
-function wpmuLdapCreateWPUserFromLdap($newUserName, $newUserPassword, $ldapUserData) {
+function wpmuLdapCreateWPUserFromLdap($opts) {
global $base, $error, $wpdb, $current_site;
+ // Extract Inputs
+ extract($opts);
+ if (!isset($newUserName)) $newUserName = '';
+ if (!isset($newUserPassword)) $newUserPassword = '';
+ if (!isset($ldapUserData)) $ldapUserData = false;
+ if (!isset($createBlog)) $createBlog = true;
+
// Check to see if email already exists
if ( email_exists($ldapUserData[LDAP_INDEX_EMAIL]) )
return new WP_Error('ldapcreate_emailconflict', sprintf(__('<strong>ERROR</strong>: <strong>%s</strong> is already associated with another account. All accounts (including the admin account) must have an unique email address.'),$ldapUserData[LDAP_INDEX_EMAIL]));
@@ -61,7 +68,7 @@
// is it configured to create WP blogs from LDAP accounts?
$ldapCreateBlog = get_site_option("ldapCreateBlog");
- if ($ldapCreateBlog) {
+ if ($createBlog && $ldapCreateBlog) {
// Create and update the user's blog.
$meta = apply_filters('signup_create_blog_meta', array ('lang_id' => 'en', 'public' => 0));
$blog_id = wpmu_create_blog($newdomain, $path, $newUserName . "'s blog", $user_id, $meta);
@@ -133,8 +140,9 @@
if (!strpos($_REQUEST['redirect_to'], $loginUserName)) {
$_REQUEST['redirect_to'] = $loginUserName . "/" . $_REQUEST['redirect_to'];
}
-
- return wpmuLdapCreateWPUserFromLdap($loginUserName, $loginPassword, $userDataArray);
+ return wpmuLdapCreateWPUserFromLdap(array( 'newUserName' => $loginUserName,
+ 'newUserPassword' => $loginPassword,
+ 'userDataArray' => $userDataArray));
}
// but if not configured to create 'em, exit with an error
@@ -193,13 +201,6 @@
if ($server->DoSearchUsername($in_username, $attributes_to_get, $userDataArray) == LDAP_OK) {
return true;
-# if (!empty($userDataArray)) {
-# if ($server->checkGroup($userDataArray[LDAP_INDEX_DN]) == 0) {
-# return true;
-# } else {
-# return false;
-# }
-# }
}
return false;
}
@@ -207,7 +208,16 @@
/**
* Searches for a username. If found, adds the user and returns user data.
*/
-function wpmuLdapSearchUser($username,$blog_id = 1,$new_role = 'subscriber',$createUser = true) {
+function wpmuLdapSearchUser($opts) {
+
+ // Extract Inputs
+ extract($opts);
+ if (!isset($username)) $username = '';
+ if (!isset($blog_id)) $blog_id = 1;
+ if (!isset($new_role)) $new_role = 'subscriber';
+ if (!isset($createUser)) $createUser = true;
+ if (!isset($createBlog)) $createBlog = true;
+
// Bind to directory, search for username
$ldapString = wpmuSetupLdapOptions();
$userDataArray = null;
@@ -218,7 +228,9 @@
return array( true, $user_id );
}
}
- if (wpmuLdapCreateWPUserFromLdap($username,'',$userDataArray)) {
+ if (wpmuLdapCreateWPUserFromLdap(array( 'newUserName' => $username,
+ 'ldapUserData' => $userDataArray,
+ 'createBlog' => $createBlog))) {
if ( $user_id = username_exists($username) ) {
add_user_to_blog($blog_id, $user_id, $new_role);
Modified: trunk/ldap/lib/wpmu_ldap_adduser.functions.php
===================================================================
--- trunk/ldap/lib/wpmu_ldap_adduser.functions.php 2010-05-10 04:22:06 UTC (rev 109)
+++ trunk/ldap/lib/wpmu_ldap_adduser.functions.php 2010-05-10 16:33:51 UTC (rev 110)
@@ -81,7 +81,9 @@
// try finding a WP account for this user name
$login = get_userdatabylogin($username);
if (!$login) {
- $result = wpmuLdapSearchUser($username,$blog_id,$user['new_role']);
+ $result = wpmuLdapSearchUser(array( 'username' => $username,
+ 'blog_id' => $blog_id,
+ 'new_role' => $user['new_role']));
$ldapCreateLocalUser = get_site_option('ldapCreateLocalUser');
if ($result[0]) {
wp_new_user_notification($result[1]);
@@ -126,7 +128,10 @@
// try finding a WP account for this user name
$login = get_userdatabylogin($username);
if (!$login) {
- $result = wpmuLdapSearchUser($username,$blog_id,$user['bulk_new_role']);
+ $result = wpmuLdapSearchUser(array( 'username' => $username,
+ 'blog_id' => $blog_id,
+ 'new_role' => $user['bulk_new_role'],
+ 'createBlog' => false));
if ($result[0]) {
wp_new_user_notification($result[1]);
ldapAddUserResult(array('updated' => 'true','action' => 'add','username' => $username));
@@ -225,7 +230,7 @@
if (is_super_admin($current_user->username) || ($ldapBulkAdd && is_admin($current_user->username))) {
?>
<h2><?php _e('Add Bulk Users') ?></h2>
- <p>Using the below fields, you can bulk add LDAP users. Separate multiple users by a new line. Local user creation is not available in bulk.</p>
+ <p>Using the below fields, you can bulk add LDAP users. Separate multiple users by a new line. Local user creation is not available in bulk. The auto create blog for new users function will be disabled for bulk adds.</p>
<form method="post" id="ldap_add_user_bulk">
<?php wp_nonce_field('add-user-bulk') ?>
<fieldset class="options">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|