CluesShop.com

Tuesday, 28 October 2014

Create new user in drupal 7

public function createNewUser(){
        $result=true;
        try{
            $roles = user_roles();
           
            $selectedRole=array();
            foreach($roles as $key => $value){
                if($key==$this->role_id){
                    $selectedRole[$key]=$value;
                }
            }
           
           
            $newUserData = array(
                    'name' => $this->user_name,
                    'pass' => $this->password, // note: do not md5 the password
                    'mail' => $this->mail,
                    'status' => $this->status,
                    'timezone' => variable_get('date_default_timezone'),
                    'init' => $this->mail,
//                     'roles' => array(
//                             DRUPAL_AUTHENTICATED_RID => 'authenticated user',
//                             $this->role_id='tess',
//                     ),
                    'roles'=>$selectedRole,
                    'data' => '',
            );
            //Step 1 : Save the User Details in Drupal built in function user_save
            //The Data stored in users and user_roles table
            $new_user = user_save(@$account, $newUserData);
           
            //Success
            if($new_user){
                //Step 2 : Save the User Details in user_details Table
                try {
                    $query=db_insert('user_accounts');
                    $query->fields(array(
                            'uid'=>$new_user->uid,
                            'first_name'=>$this->firstname,
                            'last_name'=>$this->last_name,
                            'company_name'=>$this->company_name,
                            'phone'=>$this->phone,
                            'address'=>$this->address,
                    ));
                    $userid=$query->execute();
                   
                    if($userid){
                        $result=$new_user->uid;
                        //return $userid;
                        //success
                    }else{
                        $result=false;
                        //failed
                        watchdog("userdetails", 'userdetails record insertion failed');
                    }
                }catch (Exception $e){
                    $result=false;
                    watchdog("userdetails", $e);
                }
            }
        }catch(Exception $e){
            $result=false;
            watchdog("userdetails", $e);
        }
       
        return $result;
    }

No comments:

Post a Comment