EDIT: Um, don’t seriously follow this step-by-step guide until I’ve reached the conclusion. I’m just adding in a new table reference now I know I need it.
EDIT 2: You may now follow this, it works up to a point.
And so,
5) Edit vanilla\conf\database.php - note that this is created on the server and you may need to change the permissions to download/open it. Change the permissions back again right away. If someone can detail a secure method of doing this step, that would be very useful. If you do have issues, it’s probably slightly more secure to not download this file, but instead to put your details into this example file:
All the stuff after the password etc needs to be in your vanilla\conf\database.php file one way or another.
<?php
// Database Configuration Settings
$Configuration['DATABASE_HOST'] = 'localhost';
$Configuration['DATABASE_NAME'] = 'your_db_name';
$Configuration['DATABASE_USER'] = 'your_db_user';
$Configuration['DATABASE_PASSWORD'] = 'your_db_password';
$DatabaseTables['UserMain'] = '_web_users';
// If you are using a different prefix, you must change 'modx' in line 32 of People.Class.MODxAuthenticator.php
$DatabaseTables['User'] = 'modx_web_user_attributes';
// If you are using a different prefix, you must change this here.
$DatabaseColumns['UserMain']['UserID'] = 'id';
$DatabaseColumns['UserMain']['Name'] = 'username';
$DatabaseColumns['UserMain']['Password'] = 'password';
// Reused fields:
$DatabaseColumns['User']['UserID'] = 'internalKey';
// That's the same number as the UserID but is not the UserID. You must use custom classes if you need to write to the MODx user table.
$DatabaseColumns['User']['Email'] = 'email';
// New fields:
$DatabaseColumns['User']['Password'] = 'vanilla_dummypassword';
$DatabaseColumns['User']['Name'] = 'vanilla_name';
$DatabaseColumns['User']['RoleID'] = 'vanilla_RoleID';
$DatabaseColumns['User']['StyleID'] = 'vanilla_StyleID';
$DatabaseColumns['User']['CustomStyle'] = 'vanilla_CustomStyle';
$DatabaseColumns['User']['FirstName'] = 'vanilla_FirstName';
$DatabaseColumns['User']['LastName'] = 'vanilla_LastName';
$DatabaseColumns['User']['VerificationKey'] = 'vanilla_VerificationKey';
$DatabaseColumns['User']['EmailVerificationKey'] = 'vanilla_EmailVerificationKey';
$DatabaseColumns['User']['UtilizeEmail'] = 'vanilla_UtilizeEmail';
$DatabaseColumns['User']['ShowName'] = 'vanilla_ShowName';
$DatabaseColumns['User']['Icon'] = 'vanilla_Icon';
$DatabaseColumns['User']['Picture'] = 'vanilla_Picture';
$DatabaseColumns['User']['Attributes'] = 'vanilla_Attributes';
$DatabaseColumns['User']['CountVisit'] = 'vanilla_CountVisit';
$DatabaseColumns['User']['CountDiscussions'] = 'vanilla_CountDiscussions';
$DatabaseColumns['User']['CountComments'] = 'vanilla_CountComments';
$DatabaseColumns['User']['DateFirstVisit'] = 'vanilla_DateFirstVisit';
$DatabaseColumns['User']['DateLastActive'] = 'vanilla_DateLastActive';
$DatabaseColumns['User']['RemoteIp'] = 'vanilla_RemoteIp';
$DatabaseColumns['User']['LastDiscussionPost'] = 'vanilla_LastDiscussionPost';
$DatabaseColumns['User']['DiscussionSpamCheck'] = 'vanilla_DiscussionSpamCheck';
$DatabaseColumns['User']['LastCommentPost'] = 'vanilla_LastCommentPost';
$DatabaseColumns['User']['CommentSpamCheck'] = 'vanilla_CommentSpamCheck';
$DatabaseColumns['User']['UserBlocksCategories'] = 'vanilla_UserBlocksCategories';
$DatabaseColumns['User']['DefaultFormatType'] = 'vanilla_DefaultFormatType';
$DatabaseColumns['User']['Discovery'] = 'vanilla_Discovery';
$DatabaseColumns['User']['Preferences'] = 'vanilla_Preferences';
$DatabaseColumns['User']['SendNewApplicantNotifications'] = 'vanilla_SendNewApplicantNotifications';
?>
6) Fire up phpMyAdmin and execute this SQL:
ALTER TABLE modx_web_user_attributes
ADD `vanilla_name` varchar(255) DEFAULT NULL,
ADD `vanilla_dummypassword` varchar(255) DEFAULT NULL,
ADD `vanilla_RoleID` int(2) NOT NULL DEFAULT '3',
ADD `vanilla_StyleID` int(3) NOT NULL DEFAULT '1',
ADD `vanilla_CustomStyle` varchar(255) DEFAULT NULL,
ADD `vanilla_FirstName` varchar(50) NOT NULL DEFAULT '',
ADD `vanilla_LastName` varchar(50) NOT NULL DEFAULT '',
ADD `vanilla_VerificationKey` varchar(50) NOT NULL DEFAULT '',
ADD `vanilla_EmailVerificationKey` varchar(50) DEFAULT NULL,
ADD `vanilla_Email` varchar(200) NOT NULL DEFAULT '',
ADD `vanilla_UtilizeEmail` enum('1','0') NOT NULL DEFAULT '0',
ADD `vanilla_ShowName` enum('1','0') NOT NULL DEFAULT '1',
ADD `vanilla_Icon` varchar(255) DEFAULT NULL,
ADD `vanilla_Picture` varchar(255) DEFAULT NULL,
ADD `vanilla_Attributes` text NULL,
ADD `vanilla_CountVisit` int(8) NOT NULL DEFAULT '0',
ADD `vanilla_CountDiscussions` int(8) NOT NULL DEFAULT '0',
ADD `vanilla_CountComments` int(8) NOT NULL DEFAULT '0',
ADD `vanilla_DateFirstVisit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
ADD `vanilla_DateLastActive` datetime NOT NULL DEFAULT '2006-06-06 00:00:00',
ADD `vanilla_RemoteIp` varchar(100) NOT NULL DEFAULT '',
ADD `vanilla_LastDiscussionPost` datetime DEFAULT NULL,
ADD `vanilla_DiscussionSpamCheck` int(11) NOT NULL DEFAULT '0',
ADD `vanilla_LastCommentPost` datetime DEFAULT NULL,
ADD `vanilla_CommentSpamCheck` int(11) NOT NULL DEFAULT '0',
ADD `vanilla_UserBlocksCategories` enum('1','0') NOT NULL DEFAULT '0',
ADD `vanilla_DefaultFormatType` varchar(20) DEFAULT NULL,
ADD `vanilla_Discovery` text,
ADD `vanilla_Preferences` text,
ADD `vanilla_SendNewApplicantNotifications` enum('1','0') NOT NULL DEFAULT '0';
Replace modx_ for your db prefix if it’s different.