Tags: feature, tag save tag group What are tags?

MediaLobby Unless k4st decides to make OneLobby open source or similar this might never happen as it isn't apart of his intentional plans. My idea is to release a special version of OneLobby called "MediaLobby"....
Testing CAPTCHA support Just implemented a captcha. It's quite clever how I made it, let's hope people find it readable.
The Wall The Wall, a la facebook, is what is replacing private messageing. It's basically a public messageing / note taking system for inside each users profile (although you can make messages private). What's...
Single tag viewing You can now view single tags. It will show a list of threads common to that tag, other tags often used with that tags, and users that commonly use that tag. Originally, I was just going to put a list of...
Comment deleting, search, history and headers So, now you can delete comments. That's nothing too impressive, but while I was doing that I was forced to remake the k4History and k4Page classes and make them actually do stuff. I created a history...
Thread history section done Yes, that's right. The thread history section is done. I just made it so that you can view previous thread revisions on their own.. and that was the last thing I had to do :D Tomorrow I might beef...
Reverting, deleting, fa:cando So, now you can revert threads to previous revisions. Threads can also be soft and hard deleted.. although there is no interface to show soft deleted threads yet. Also, with fa:cando, you can now have...
Thread History You can now view it. There isn't much functionality behind it yet though. (e.g. revert, diff, etc) EDIT: There is now full functionality to it.
Tag threads You can now tag threads... Yippee! Assumming you're registered and have permission to tag a thread, beside the edit buttons / rating buttons in the single thread view, you should see a 'tag'...

OneLobby
QueryQuery TimeAffected Rows
SELECT ts.* FROM k4_tags ts WHERE ts.tag_name IN('feature','tag') GROUP BY ts.tag_id

 0.6751 

 2 

SELECT DISTINCT t.thread_id, t.*, ts.tag_name, GROUP_CONCAT(ts.tag_name SEPARATOR ',') AS tags, u.name AS user_name, uu.name AS edit_user_name FROM k4_thread_tags tt, k4_tags ts, k4_threads t, k4_users u, k4_users uu, k4_thread_tags tt2  WHERE t.deleted=0 AND tt.thread_id = tt2.thread_id AND tt2.tag_id IN(25,26) AND t.thread_id=tt.thread_id AND ts.tag_id=tt.tag_id AND t.user_id=u.user_id AND t.edit_user_id=uu.user_id GROUP BY t.thread_id, tt2.tag_id ORDER BY t.created DESC

 0.6911 

 9 

SELECT ts.*, COUNT(tt2.tag_id) AS tag_count FROM k4_tags ts, k4_thread_tags tt1 JOIN k4_thread_tags tt2 USING ( thread_id )   WHERE tt1.tag_id IN(25,26) AND tt1.tag_id <> tt2.tag_id AND ts.tag_id = tt2.tag_id GROUP BY ts.tag_id, tt2.tag_id LIMIT 250

 0.7396 

 22 

SELECT DISTINCT u.user_id, u.name, COUNT(tt2.tag_id) AS tag_count FROM k4_thread_users tu, k4_users u, k4_thread_tags tt1 JOIN k4_thread_tags tt2 USING (thread_id) WHERE u.user_id = tu.user_id AND tt1.tag_id IN(25,26) AND tt1.tag_id <> tt2.tag_id AND tu.thread_id = tt2.thread_id GROUP BY tt2.tag_id ORDER BY u.name ASC

 0.7428 

 3 

SELECT o.object_name,o.object_perms,p.perm_grant,p.perm_deny FROM k4_objects o, k4_perms p, k4_roles r, k4_user_roles u WHERE u.user_id=1  AND u.role_id=r.role_id  AND p.role_id=r.role_id  AND o.object_id=p.object_id ORDER BY r.perm_level ASC

 0.7501 

 3