phpvtigervtigercrm

Create user in vTiger 6 programmatically


I want to create user in vTiger programmatically and I need to understand what happens in the background when we add a user from UI. If I can understand the flow I can replicate it by writing the code.

Or is there a API for it?


Solution

  • Here is the code:

    require_once 'modules/Users/Users.php';
    $user_email='new_user@yourdomain.com';
    $role_id_to_assign='H1';
    $user = new Users();
    $user->column_fields["last_name"] = 'John';
    $user->column_fields["user_name"] = 'Mee';
    $user->column_fields["status"] = 'Active';
    $user->column_fields["is_admin"] = 'off';
    $user->column_fields["user_password"] = $user_password;
    $user->column_fields["tz"] = 'Europe/Berlin';
    $user->column_fields["holidays"] = 'de,en_uk,fr,it,us,';
    $user->column_fields["workdays"] = '0,1,2,3,4,5,6,';
    $user->column_fields["weekstart"] = '1';
    $user->column_fields["namedays"] = '';
    $user->column_fields["currency_id"] = 1;
    $user->column_fields["reminder_interval"] = '1 Minute';
    $user->column_fields["reminder_next_time"] = date('Y-m-d H:i');
    $user->column_fields["date_format"] = 'dd-mm-yyyy';
    $user->column_fields["hour_format"] = 'am/pm';
    $user->column_fields["start_hour"] = '08:00';
    $user->column_fields["end_hour"] = '23:00';
    $user->column_fields["imagename"] = '';
    $user->column_fields["internal_mailer"] = '1';
    $user->column_fields["activity_view"] = 'This Week';
    $user->column_fields["lead_view"] = 'Today';
    $user->column_fields["email1"] = $user_email;
    $user->column_fields["roleid"] = $role_id_to_assign;
    $new_user_id = $user->save("Users");
    

    It will return the id of the new User. The User will be assigned to the Role CEO ('H1').