Hello dear comunity
My tutorial is about using CREATE VIEW and also CREATE TRIGGER for use one user acc in IP.Board and B:CMS/Nucleus. So it is first step to integrate IP.Board to those CMSs . Next step will be link to that forum &
use TRIGGER for teams (for ex. you have an IP.Board forum, and you want to moderators can post items (articles) to your B:CMS/Nucleus site.)
B:CMS/Nucleus using for authorization only one table, nucleus_member. IP.Board for same using three tables, ipb_members (user name);ipb_members_extra (email); ipb_members_converge (password hash).
We have luck, because all B:CMS/Nucleus requirement is included in IPB tables also. So, we will DROP table member (BACKUP first if you have any data in this table!!!), and create VIEW to three ipb tables.
For ex that:
DROP TABLE `nucleus_member`;
CREATE VIEW `nucleus_member` AS
`m`.`id` AS `mnumber`,
`m`.`name` AS `mname`,
`m`.`members_display_name` AS `mrealname`,
`m`.`email` AS `memail`,
`e`.`website` AS `murl`,
`e`.`notes` AS `mnotes`,
`c`.`converge_pass_hash` AS `mpassword`,
`c`.`converge_pass_salt` AS `mcookiehash`,
`m`.`member_login_key` AS `mcookiekey`,
`e`.`mcanlogin` AS `mcanlogin`,
`e`.`deflang` AS `deflang`,
`e`.`madmin` AS `madmin`
JOIN `ipb_member_extra` `e` ON ((`m`.`id` = `e`.`id`)))
JOIN `ipb_members_converge` `c` ON
((`m`.`id` = `c`.`converge_id`)));
So that is our first step .. If you create acc in forum now, you have acc in B:CMS/Nucleus also.
In B:CMS/Nucleus there are table nucleus_team, what says, where user can send article / item.TRIGGER is action, what will be run, if you run query INSERT, UPDATE OR DELETE.
So in our example, we have group with moderators (mgroup=7), and we want users in this group can post articles / items.
This trigger do:
CREATE TRIGGER `newmember_to_team`
BEFORE UPDATE ON `ipb_members`
FOR EACH ROW
IF (NEW.mgroup <> OLD.mgroup) THEN
DELETE FROM team WHERE tmember = NEW.id;
IF (NEW.mgroup=7) THEN
INSERT INTO nucleus_team (tmember, tblog, tadmin)
VALUES (NEW.id, 24, 0);
If there are user in mgroup=7, we will write privileges to him,
so he is able to post new article/item. If not, it delete his privileges.
We must also create delete trigger:
it is run, when you delete user from database.
CREATE TRIGGER `delete_member_from_team`
BEFORE DELETE ON `ipb_members`
FOR EACH ROW
DELETE FROM team WHERE tmember = OLD.id;
I am glad if it help anyone user in this great community .