T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/soundstudiopro.com/public_html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/public_html/create_social_tables.sql
-- Social Features Database Tables
-- Run this SQL to create the necessary tables for likes, comments, and social features

-- Track Likes Table
CREATE TABLE IF NOT EXISTS track_likes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    track_id INT NOT NULL,
    user_id INT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY unique_track_user (track_id, user_id),
    FOREIGN KEY (track_id) REFERENCES music_tracks(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Track Comments Table
CREATE TABLE IF NOT EXISTS track_comments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    track_id INT NOT NULL,
    user_id INT NOT NULL,
    comment TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (track_id) REFERENCES music_tracks(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Track Views Table
CREATE TABLE IF NOT EXISTS track_views (
    id INT AUTO_INCREMENT PRIMARY KEY,
    track_id INT NOT NULL,
    user_id INT NULL,
    ip_address VARCHAR(45),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (track_id) REFERENCES music_tracks(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL
);

-- Track Plays Table
CREATE TABLE IF NOT EXISTS track_plays (
    id INT AUTO_INCREMENT PRIMARY KEY,
    track_id INT NOT NULL,
    user_id INT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (track_id) REFERENCES music_tracks(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL
);

-- Track Shares Table
CREATE TABLE IF NOT EXISTS track_shares (
    id INT AUTO_INCREMENT PRIMARY KEY,
    track_id INT NOT NULL,
    user_id INT NULL,
    share_type VARCHAR(50) DEFAULT 'general',
    platform VARCHAR(50) DEFAULT 'unknown',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (track_id) REFERENCES music_tracks(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL
);

-- Track Votes Table (for upvote/downvote functionality)
CREATE TABLE IF NOT EXISTS track_votes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    track_id INT NOT NULL,
    user_id INT NOT NULL,
    vote_type ENUM('up', 'down') NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY unique_vote (track_id, user_id),
    FOREIGN KEY (track_id) REFERENCES music_tracks(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- User Follows Table
CREATE TABLE IF NOT EXISTS user_follows (
    id INT AUTO_INCREMENT PRIMARY KEY,
    follower_id INT NOT NULL,
    following_id INT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY unique_follow (follower_id, following_id),
    FOREIGN KEY (follower_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (following_id) REFERENCES users(id) ON DELETE CASCADE
);

-- User Friends Table
CREATE TABLE IF NOT EXISTS user_friends (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    friend_id INT NOT NULL,
    status ENUM('pending', 'accepted', 'rejected') DEFAULT 'pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    UNIQUE KEY unique_friendship (user_id, friend_id),
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (friend_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Create indexes for performance
CREATE INDEX IF NOT EXISTS idx_track_likes_track ON track_likes(track_id);
CREATE INDEX IF NOT EXISTS idx_track_likes_user ON track_likes(user_id);
CREATE INDEX IF NOT EXISTS idx_track_likes_created ON track_likes(created_at);

CREATE INDEX IF NOT EXISTS idx_track_comments_track ON track_comments(track_id);
CREATE INDEX IF NOT EXISTS idx_track_comments_user ON track_comments(user_id);
CREATE INDEX IF NOT EXISTS idx_track_comments_created ON track_comments(created_at);

CREATE INDEX IF NOT EXISTS idx_track_views_track ON track_views(track_id);
CREATE INDEX IF NOT EXISTS idx_track_views_user ON track_views(user_id);
CREATE INDEX IF NOT EXISTS idx_track_views_created ON track_views(created_at);

CREATE INDEX IF NOT EXISTS idx_track_plays_track ON track_plays(track_id);
CREATE INDEX IF NOT EXISTS idx_track_plays_user ON track_plays(user_id);
CREATE INDEX IF NOT EXISTS idx_track_plays_created ON track_plays(created_at);

CREATE INDEX IF NOT EXISTS idx_track_shares_track ON track_shares(track_id);
CREATE INDEX IF NOT EXISTS idx_track_shares_user ON track_shares(user_id);
CREATE INDEX IF NOT EXISTS idx_track_shares_created ON track_shares(created_at);

CREATE INDEX IF NOT EXISTS idx_track_votes_track ON track_votes(track_id);
CREATE INDEX IF NOT EXISTS idx_track_votes_user ON track_votes(user_id);
CREATE INDEX IF NOT EXISTS idx_track_votes_created ON track_votes(created_at);

CREATE INDEX IF NOT EXISTS idx_user_follows_follower ON user_follows(follower_id);
CREATE INDEX IF NOT EXISTS idx_user_follows_following ON user_follows(following_id);
CREATE INDEX IF NOT EXISTS idx_user_follows_created ON user_follows(created_at);

CREATE INDEX IF NOT EXISTS idx_user_friends_user ON user_friends(user_id);
CREATE INDEX IF NOT EXISTS idx_user_friends_friend ON user_friends(friend_id);
CREATE INDEX IF NOT EXISTS idx_user_friends_status ON user_friends(status);

-- Insert sample data for testing (optional)
-- INSERT INTO track_likes (track_id, user_id) VALUES (1, 1), (1, 2), (2, 1);
-- INSERT INTO track_comments (track_id, user_id, comment) VALUES (1, 1, 'Great track!'), (1, 2, 'Love this!');
-- INSERT INTO track_views (track_id, user_id, ip_address) VALUES (1, 1, '127.0.0.1'), (1, 2, '127.0.0.1');
-- INSERT INTO track_plays (track_id, user_id) VALUES (1, 1), (1, 2), (2, 1);
-- INSERT INTO track_shares (track_id, user_id, share_type, platform) VALUES (1, 1, 'social', 'twitter'), (1, 2, 'social', 'facebook');
-- INSERT INTO user_follows (follower_id, following_id) VALUES (1, 2), (2, 1);
-- INSERT INTO user_friends (user_id, friend_id, status) VALUES (1, 2, 'accepted'), (2, 3, 'pending'); 

CasperSecurity Mini