drop TRIGGER if exists UpdateUserPermission;
delimiter #
CREATE TRIGGER UpdateUserPermission AFTER INSERT ON portaldb_event_log
FOR EACH ROW BEGIN
DECLARE xType varchar(128);
DECLARE xTypeUpload varchar(128);
DECLARE xTime bigint(11);
DECLARE xTimeUpload bigint(11);
DECLARE xUser varchar(128);
DECLARE xID int(11);
DECLARE xItemID char(255);
/*Create Folder*/
SET xTime = (SELECT MAX(time) FROM portaldb_event_log WHERE type='filesystem/create_folder');
SET xType = (SELECT type FROM portaldb_event_log WHERE time=xTime);
if xType = 'filesystem/create_folder' THEN
SET xUser = (SELECT user FROM portaldb_event_log WHERE time=xTime);
SET xItemID = (SELECT SUBSTRING(details,9,13) FROM portaldb_event_log
WHERE type='filesystem/create_folder'
and time=xTime
and user=xUser);
SET xID = (SELECT id FROM portaldb_user WHERE name=xUser);
UPDATE portaldb_item_permission SET user_id = xID,permission = 'rw' WHERE item_id = xItemID;
end if;
/*Upload File*/
SET xTimeUpload = (SELECT MAX(time) FROM portaldb_event_log WHERE type='filesystem/upload');
SET xType = (SELECT type FROM portaldb_event_log WHERE time=xTimeUpload);
if xType = 'filesystem/upload' THEN
SET xUser = (SELECT user FROM portaldb_event_log WHERE time=xTimeUpload);
SET xItemID = (SELECT SUBSTRING(details,9,13) FROM portaldb_event_log
WHERE type='filesystem/upload'
and time=xTimeUpload
and user=xUser);
SET xID = (SELECT id FROM portaldb_user WHERE name=xUser);
UPDATE portaldb_item_permission SET user_id = xID,permission = 'rw' WHERE item_id = xItemID;
end if;
END #