Heyuri / kokonotsuba

Heyuri's BBS software
Other
23 stars 14 forks source link

Report feature #146

Open hachikuji-san opened 1 month ago

hachikuji-san commented 1 month ago

I tried implementing this a few months ago but 4got about it so i'll try again after this.

It's not particularly needed on Heyuri right now but it would be nice to have. My idea would be to have a table in teh database called 'reports' by default but has a configurable tablename and database name. The database name for reports will be set to the $config['DATABASE_DBNAME'] unless the admin configures it otherwise. e.g $config['REPORT_DATABASE'] = $config['DATABASE_DBNAME']; can be $config['REPORT_DATABASE'] = 'blablabla'; Which would allow multiple boards to use the same report table.

The table structure for storing individual report meta data (can be used to prevent abuse & analyze if reports r made by trolls): id - unique report identifier date - Date the report was made ip - IP of the reporter post - post number of the reported post reason - numbers ranging from 0 to 10 to represent the roolz (e.g if its 8 its rule 8)

the table structure for reported posts: link - a link to the reported post img - a hotlink to the image included in the reported post (if there is any) thread - thread number of the reported post weight - number of reports made for post

I guess it could be a flat file but i haet flat files as they are harder to write code for, so unless it is really convenient i think its best to store such data in a db table.

In terms of mod tools there'll be a report queue will a list of all posts with reports as well as relevant info from the table, as well as a secondary view showing individual reports. There can be js to reload the page, use a notification sound for new reports & show a counter on the title for how many reports have been made since the page was last viewed. For users there will be a little report button next to posts that when clicked can either bring up a js window with a report form or open a new page for it.

Janitors can act on reports and baleet them, which if a post is baleeted it will automatically be 'resolved' and deleted from the report table & all meta-data on the ppl that reported the post are also deleted. Moderators can clear all reports made on a single post as well as dismiss individual ones. Admins can clear all reports at once.

as for how it would be implemented on heyuri, it'll just be a minor addition to teh mod tools but should not replace the act of using the boards normally and dealing with rule breaking posts when they're seen. Other thing would be stopping report threads being made on /q/ in favor of reporting posts using the report button for a few reasons but i wont get into that now.

kaguy4 commented 1 month ago

I guess it could be a flat file but i haet flat files as they are harder to write code for

orz I think flatfiles are preferable for stuff that doesn't require getting hueg, just because they are easier to deal with for admins - but I understand if it's too hard to write code for. I think another thing report feature should have is discord webhook support. It could ping "@here" and show the content of reports, Heyuri used to have that in I think sakomoto days.

I think users should be able to add some short "additional info" for report reason too, apart from rule number (which should be required too anyways).

@k0me0 wrote something like that a few months ago

For users there will be a little report button next to posts that when clicked can either bring up a js window with a report form or open a new page for it.

What about adding a dropdown buttan like this? image

On Futaba channel, a similar thing exists when clicked on post numbers, but it's best to not rely on JS for features (and clicking on post number specifically quotelinks on kokonotsuba anyways) image From top, it's "quote post text", "quote No.","quote filename", "deletion request", "delete key"/buttan for "delete only image" - u can try out I'm not too against doing this way myself, but it could be an unpopular decision ^^;

k0me0 commented 1 month ago

Since kokonotsuba supports mysql databases, they should be used instead of flatfiles - they're faster and don't require annoying manual parsing

@k0me0 wrote something like that a few months ago

That ended up getting nowhere and i lost the module in some koko reinstall, but looking at hachikuji's WIP report module it looks very similar to mine I think a JS pop-up window for the module page would look better (window.open)