Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DELIMITER $$
- CREATE DEFINER=`root`@`%` PROCEDURE `get_messages_v4`(IN `logged_user` INT, IN `interval_minutes` INT, IN `last_got_id` INT, IN `param_interval_user_defined` INT)
- READS SQL DATA
- SELECT
- message_id,
- recipient_id,
- sender_id,
- sender_username,
- sender_username_html,
- phpbb_users.username as recipient_username,
- phpbb_users.login_colorized as recipient_username_html,
- message_type,
- message,
- date,
- IF(message_type='whisper' AND sender_id != logged_user AND recipient_id != logged_user, 1, 0) AS read_private
- FROM
- (
- (
- SELECT
- messages.id as message_id,
- messages.recipient as recipient_id,
- messages.user_id as sender_id,
- phpbb_users.username as sender_username,
- phpbb_users.login_colorized as sender_username_html,
- messages.type_message as message_type,
- messages.message as message,
- messages.date as date
- FROM messages
- LEFT JOIN phpbb_users ON messages.user_id = phpbb_users.user_id
- WHERE
- messages.id > last_got_id
- AND
- (
- messages.date > NOW() - INTERVAL interval_minutes MINUTE
- OR(
- messages.date > NOW() - INTERVAL param_interval_user_defined MINUTE
- AND
- (SELECT allowed
- FROM user_permission
- WHERE user_id = logged_user
- AND permission_name = 'read_more'
- )= 1
- )
- )
- AND
- (
- (
- messages.type_message = 'whisper'
- AND
- (
- (
- messages.user_id = logged_user
- OR
- messages.recipient = logged_user
- )
- OR
- (
- (SELECT allowed
- FROM user_permission
- WHERE user_id = logged_user
- AND permission_name = 'read_private'
- )= 1
- )
- )
- )
- OR
- messages.type_message = 'glass'
- OR
- messages.type_message = 'say'
- )
- ORDER BY message_id DESC LIMIT 100
- )
- ) AS msgs
- LEFT JOIN phpbb_users ON msgs.recipient_id = phpbb_users.user_id
- ORDER BY message_id ASC$$
- DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement