Comment 2 for bug 1032770

Revision history for this message
Bill Gosse (bill-gosse) wrote :

See final return statement added to the addUser function below. This is the code from the ldap_sample.class.php file which is provided in the curent release.

class ldap_sample extends AUTH_ldap
{
    protected $source = array(
        'url' => 'ldap://bender.terascala.com',
        'defaults' => array(
            'user_group' => 2,
            'user_role' => 2
        ),
        'namePattern' => '%<email address hidden>',
        'defaultGroups' => array(11),
        'defaultRoles' => array(10),
        'required' => true
    );

    public function addUser($username, $password, $sourceName = null)
    {

        /* @var $newUser PHPDS_importUser */
        $newUser = $this->factory('PHPDS_importUser');
        $userData = array('user_id' => 0, 'user_name' => $username, 'user_password'=> $sourceName);
        $userData = array_merge($this->source['defaults'], $userData);
        $newUser->import($userData);

        if (is_array($this->source['defaultGroups'])) {
            foreach($this->source['defaultGroups'] as $gID) $newUser->addGroup($gID);
        }
        if (is_array($this->source['defaultRoles'])) {
            foreach($this->source['defaultRoles'] as $rID) $newUser->addRole($rID);
        }

        $newUser->save();

        //Attention: The following return statement need added in order for this function to work correctly.
        return true;
    }
}