Index: trunk/kernel/include/portaluser.php =================================================================== diff -u -r3576 -r3895 --- trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 3576) +++ trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 3895) @@ -871,7 +871,7 @@ $u = $this->GetUser($result->fields["PortalUserId"]); return $u; } - + function &Add_User($Login, $Password, $Email, $CreatedOn, $FirstName="", $LastName="", $Status=2, $Phone="", $Street="", $City="", $State="", $Zip="", $Country="", $dob=0, $ip="", $CheckBanned=FALSE) { @@ -893,6 +893,51 @@ /*md5($Password)*/ } + function &Add_User_NEW($fields_hash, $check_banned = false) + { + $user = new clsPortalUser(NULL); + $user->tablename = $this->SourceTable; + + foreach ($fields_hash as $field_name => $field_value) { + $user->Set($field_name, $field_value); + } + + $broken_rule = $check_banned ? $user->CheckBanned() : false; + if (!$BrokenRule) { + $user->Create(); + return $user; + } + + return $BrokenRule; + } + + function &Edit_User_NEW($id, $fields_hash) + { + $user =& $this->GetItem($id); + + if (!is_object($user)) { + return $user; + } + + $fields_hash['IsBanned'] = $user->Get('IsBanned'); + if ($fields_hash['Status'] == 1) { + $fields_hash['IsBanned'] = 0; + } + + if (getArrayValue($fields_hash['Password'])) { + $user->Set('Password', $fields_hash['Password']); + unset($fields_hash['Password']); + } + + foreach ($fields_hash as $field_name => $field_value) { + $user->Set($field_name, $field_value); + } + + $user->Update(); + + return $user; + } + function &Edit_User($UserId, $Login, $Password, $Email, $CreatedOn, $FirstName="", $LastName="", $Status=2, $Phone="", $Street="", $City="", $State="", $Zip="", $Country="", $dob=0, $MinPwResetDelay=300) {