Tags: feature, history 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...
Search, History, and fa:cando The above three work. But, for some reason, it seems that MySQL FULLTEXT searching can't find 'test' in 'testing' !!?? Oh well. More functionality to come to the history and search...
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.
Coauthors and revisions I've changed the way co-authors work, and I've also added in thread revisions. So, geoffrey, when you read this, go into this thread, on the top right (in the main menu), you should see 'edit'...
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','history') GROUP BY ts.tag_id

 0.6784 

 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,34) 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.6915 

 11 

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,34) 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.6955 

 26 

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,34) 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.7152 

 4 

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.7415 

 3