У меня есть веб-сайт, такой как SO. У меня есть триггер для всех таблиц ( перед вставкой ), который проверяет статус пользователя. Что-то вроде этого:
// this line exists at the top of all triggers @ban := select ban from user where id = new.current_id; // new.current_id = $_SESSION['id'] // on the vote table if ( @ban = 1 ) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "You cannot give vote"; endif; // on the comment table if ( @ban = 2 ) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "You cannot write comment"; endif; // on the answer table if ( @ban = 3 ) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "You cannot write answer"; endif; // on the flag table if ( @ban = 4 ) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "You cannot flag"; endif; // on the favorite table if ( @ban = 5 ) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "You cannot favorite"; endif;
Теперь мне нужно дело, чтобы отключить его от каких-либо действий. Я хочу знать, как я могу управлять всеми действиями пользователя? И покажите ему что-то вроде этого:
"You are banned and you cannot do any activity"
Как я могу это реализовать?