Index: trunk/kernel/include/portaluser.php =================================================================== diff -u -N -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) { Index: trunk/admin/install/inportal_schema.sql =================================================================== diff -u -N -r3888 -r3895 --- trunk/admin/install/inportal_schema.sql (.../inportal_schema.sql) (revision 3888) +++ trunk/admin/install/inportal_schema.sql (.../inportal_schema.sql) (revision 3895) @@ -387,34 +387,37 @@ # -------------------------------------------------------- -CREATE TABLE PortalUser ( +CREATE TABLE inp_PortalUser ( PortalUserId int(11) NOT NULL auto_increment, Login varchar(255) default NULL, - Password varchar(255) default NULL, + `Password` varchar(255) default NULL, FirstName varchar(255) default NULL, LastName varchar(255) default NULL, + Company varchar(255) NOT NULL default '', Email varchar(255) NOT NULL default '', CreatedOn double NOT NULL default '0', Phone varchar(20) default NULL, + Fax varchar(255) NOT NULL default '', Street varchar(255) default NULL, + Street2 varchar(255) NOT NULL default '', City varchar(20) default NULL, - State VARCHAR(20) NOT NULL, + State varchar(20) NOT NULL default '', Zip varchar(20) default NULL, Country varchar(20) NOT NULL default '', ResourceId int(11) NOT NULL default '0', - Status tinyint(4) NOT NULL default '2', + `Status` tinyint(4) NOT NULL default '2', Modified int(11) NOT NULL default '0', dob double NOT NULL default '0', tz int(11) default NULL, ip varchar(20) default NULL, IsBanned tinyint(1) NOT NULL default '0', - PassResetTime bigint(20), - PwResetConfirm varchar(255), - PwRequestTime bigint(25), - MinPwResetDelay int(11) NOT NULL default '1800', + PassResetTime bigint(20) default NULL, + PwResetConfirm varchar(255) default NULL, + PwRequestTime bigint(25) default NULL, + MinPwResetDelay int(11) NOT NULL default '1800', PRIMARY KEY (PortalUserId), - UNIQUE KEY Login (Login), UNIQUE KEY ResourceId (ResourceId), + UNIQUE KEY Login (Login), KEY CreatedOn (CreatedOn) ) Index: trunk/admin/install/upgrades/inportal_upgrade_v1.1.7.sql =================================================================== diff -u -N -r3888 -r3895 --- trunk/admin/install/upgrades/inportal_upgrade_v1.1.7.sql (.../inportal_upgrade_v1.1.7.sql) (revision 3888) +++ trunk/admin/install/upgrades/inportal_upgrade_v1.1.7.sql (.../inportal_upgrade_v1.1.7.sql) (revision 3895) @@ -2,4 +2,8 @@ ALTER TABLE ThemeFiles ADD INDEX (FilePath); ALTER TABLE Category CHANGE EditorsPick EditorsPick TINYINT(4) NOT NULL DEFAULT '0'; +ALTER TABLE PortalUser ADD Company VARCHAR(255) NOT NULL AFTER LastName; +ALTER TABLE PortalUser ADD Fax VARCHAR(255) NOT NULL AFTER Phone; +ALTER TABLE PortalUser ADD Street2 VARCHAR(255) NOT NULL AFTER Street; + UPDATE Modules SET Version = '1.1.7' WHERE Name = 'In-Portal'; \ No newline at end of file Index: trunk/admin/users/adduser.php =================================================================== diff -u -N -r3282 -r3895 --- trunk/admin/users/adduser.php (.../adduser.php) (revision 3282) +++ trunk/admin/users/adduser.php (.../adduser.php) (revision 3895) @@ -177,94 +177,136 @@