CommunityBridge
CommunityBridge copied to clipboard
Read Forums Private Messages with a command(Idea)
Configuration
This allows you to read your forums private messages with /cbread
ReadForumsPrivateMessagesEnabled: true Private_Message_Table: mybb_privatemessages Private_Message_Column: message Private_Message_User_Column: uid
And something like this were the plugin will have to go back and check the user id field
Users Database Table
Then it finds the users id through the user database table table: mybb_users and checks the private message table for messages with that users id.
I also think that this is a good idea.
Dunno whether phpBB3 changed the PM tables (for MySQL), but with phpBB 3.0.12 the tables are like so, code made by phpMyAdmin and extras stripped by me:
CREATE TABLE `phpbb_privmsgs` (
`msg_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`root_level` mediumint(8) unsigned NOT NULL DEFAULT '0',
`author_id` int(8) unsigned NOT NULL DEFAULT '0',
`icon_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`author_ip` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',
`message_time` int(11) unsigned NOT NULL DEFAULT '0',
`enable_bbcode` tinyint(1) unsigned NOT NULL DEFAULT '1',
`enable_smilies` tinyint(1) unsigned NOT NULL DEFAULT '1',
`enable_magic_url` tinyint(1) unsigned NOT NULL DEFAULT '1',
`enable_sig` tinyint(1) unsigned NOT NULL DEFAULT '1',
`message_subject` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`message_text` mediumtext COLLATE utf8_bin NOT NULL,
`message_edit_reason` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`message_edit_user` mediumint(8) unsigned NOT NULL DEFAULT '0',
`message_attachment` tinyint(1) unsigned NOT NULL DEFAULT '0',
`bbcode_bitfield` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`bbcode_uid` varchar(8) COLLATE utf8_bin NOT NULL DEFAULT '',
`message_edit_time` int(11) unsigned NOT NULL DEFAULT '0',
`message_edit_count` smallint(4) unsigned NOT NULL DEFAULT '0',
`to_address` text COLLATE utf8_bin NOT NULL,
`bcc_address` text COLLATE utf8_bin NOT NULL,
`message_reported` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`msg_id`),
KEY `author_ip` (`author_ip`),
KEY `message_time` (`message_time`),
KEY `author_id` (`author_id`),
KEY `root_level` (`root_level`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
CREATE TABLE `phpbb_privmsgs_folder` (
`folder_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(8) unsigned NOT NULL DEFAULT '0',
`folder_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`pm_count` mediumint(8) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`folder_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
CREATE TABLE `phpbb_privmsgs_rules` (
`rule_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(8) unsigned NOT NULL DEFAULT '0',
`rule_check` mediumint(8) unsigned NOT NULL DEFAULT '0',
`rule_connection` mediumint(8) unsigned NOT NULL DEFAULT '0',
`rule_string` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`rule_user_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`rule_group_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`rule_action` mediumint(8) unsigned NOT NULL DEFAULT '0',
`rule_folder_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`rule_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
CREATE TABLE `phpbb_privmsgs_to` (
`msg_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`user_id` int(8) unsigned NOT NULL DEFAULT '0',
`author_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`pm_deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
`pm_new` tinyint(1) unsigned NOT NULL DEFAULT '1',
`pm_unread` tinyint(1) unsigned NOT NULL DEFAULT '1',
`pm_replied` tinyint(1) unsigned NOT NULL DEFAULT '0',
`pm_marked` tinyint(1) unsigned NOT NULL DEFAULT '0',
`pm_forwarded` tinyint(1) unsigned NOT NULL DEFAULT '0',
`folder_id` int(11) NOT NULL DEFAULT '0',
KEY `msg_id` (`msg_id`),
KEY `author_id` (`author_id`),
KEY `usr_flder_id` (`user_id`,`folder_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
EDIT 0: The users table:
CREATE TABLE `phpbb_users` (
`user_id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`user_type` tinyint(2) NOT NULL DEFAULT '0',
`group_id` mediumint(8) unsigned NOT NULL DEFAULT '3',
`user_permissions` mediumtext COLLATE utf8_bin NOT NULL,
`user_perm_from` mediumint(8) unsigned NOT NULL DEFAULT '0',
`user_ip` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_regdate` int(11) unsigned NOT NULL DEFAULT '0',
`username` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`username_clean` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_password` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_passchg` int(11) unsigned NOT NULL DEFAULT '0',
`user_pass_convert` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_email` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_email_hash` bigint(20) NOT NULL DEFAULT '0',
`user_birthday` varchar(10) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_lastvisit` int(11) unsigned NOT NULL DEFAULT '0',
`user_lastmark` int(11) unsigned NOT NULL DEFAULT '0',
`user_lastpost_time` int(11) unsigned NOT NULL DEFAULT '0',
`user_lastpage` varchar(200) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_last_confirm_key` varchar(10) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_last_search` int(11) unsigned NOT NULL DEFAULT '0',
`user_warnings` tinyint(4) NOT NULL DEFAULT '0',
`user_last_warning` int(11) unsigned NOT NULL DEFAULT '0',
`user_login_attempts` tinyint(4) NOT NULL DEFAULT '0',
`user_inactive_reason` tinyint(2) NOT NULL DEFAULT '0',
`user_inactive_time` int(11) unsigned NOT NULL DEFAULT '0',
`user_posts` mediumint(8) unsigned NOT NULL DEFAULT '0',
`user_lang` varchar(30) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_timezone` decimal(5,2) NOT NULL DEFAULT '0.00',
`user_dst` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_dateformat` varchar(30) COLLATE utf8_bin NOT NULL DEFAULT 'Y-m-d h:i:s',
`user_style` mediumint(8) unsigned NOT NULL DEFAULT '0',
`user_rank` mediumint(8) unsigned NOT NULL DEFAULT '0',
`user_colour` varchar(6) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_new_privmsg` int(4) NOT NULL DEFAULT '0',
`user_unread_privmsg` int(4) NOT NULL DEFAULT '0',
`user_last_privmsg` int(11) unsigned NOT NULL DEFAULT '0',
`user_message_rules` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_full_folder` int(11) NOT NULL DEFAULT '-3',
`user_emailtime` int(11) unsigned NOT NULL DEFAULT '0',
`user_topic_show_days` smallint(4) unsigned NOT NULL DEFAULT '0',
`user_topic_sortby_type` varchar(1) COLLATE utf8_bin NOT NULL DEFAULT 't',
`user_topic_sortby_dir` varchar(1) COLLATE utf8_bin NOT NULL DEFAULT 'd',
`user_post_show_days` smallint(4) unsigned NOT NULL DEFAULT '0',
`user_post_sortby_type` varchar(1) COLLATE utf8_bin NOT NULL DEFAULT 't',
`user_post_sortby_dir` varchar(1) COLLATE utf8_bin NOT NULL DEFAULT 'a',
`user_notify` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_notify_pm` tinyint(1) unsigned NOT NULL DEFAULT '1',
`user_notify_type` tinyint(4) NOT NULL DEFAULT '0',
`user_allow_pm` tinyint(1) unsigned NOT NULL DEFAULT '1',
`user_allow_viewonline` tinyint(1) unsigned NOT NULL DEFAULT '1',
`user_allow_viewemail` tinyint(1) unsigned NOT NULL DEFAULT '1',
`user_allow_massemail` tinyint(1) unsigned NOT NULL DEFAULT '1',
`user_options` int(11) unsigned NOT NULL DEFAULT '230271',
`user_avatar` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_avatar_type` tinyint(2) NOT NULL DEFAULT '0',
`user_avatar_width` smallint(4) unsigned NOT NULL DEFAULT '0',
`user_avatar_height` smallint(4) unsigned NOT NULL DEFAULT '0',
`user_sig` mediumtext COLLATE utf8_bin NOT NULL,
`user_sig_bbcode_uid` varchar(8) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_sig_bbcode_bitfield` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_from` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_icq` varchar(15) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_aim` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_yim` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_msnm` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_jabber` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_website` varchar(200) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_occ` text COLLATE utf8_bin NOT NULL,
`user_interests` text COLLATE utf8_bin NOT NULL,
`user_actkey` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_newpasswd` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_form_salt` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '',
`user_new` tinyint(1) unsigned NOT NULL DEFAULT '1',
`user_reminded` tinyint(4) NOT NULL DEFAULT '0',
`user_reminded_time` int(11) unsigned NOT NULL DEFAULT '0',
`user_notes` tinyint(4) unsigned NOT NULL DEFAULT '0',
`user_allow_thanks_pm` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_allow_thanks_email` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_boardwatchb` tinyint(1) NOT NULL DEFAULT '0',
`user_boardwatchf` tinyint(1) NOT NULL DEFAULT '0',
`user_boardwatcht` tinyint(1) NOT NULL DEFAULT '0',
`user_notify_status` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`user_id`),
UNIQUE KEY `username_clean` (`username_clean`),
KEY `user_birthday` (`user_birthday`),
KEY `user_email_hash` (`user_email_hash`),
KEY `user_type` (`user_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=52 ;