![]() |
Soft Deleted Archive v2.7
Soft Deleted Archive v2.7 If you have a forum where you disallow your Moderators to Hard Delete posts, you might want to look over exactly what posts they have deleted, in case of disputes between staff and members. But running a huge forum with hundreds of threads, this task can get tiring. This is where the Soft Deleted Archive comes in handy! Features:
Screenshots attached. They are abit outdated, but they present the gist of the hack. |
cool, these days it seems that more and more features are added to the Moderation side... this is a good thing.. they were missing!
|
Great Job Revan ;)
Thanks |
Looking good.
Definitelly a good idea. |
Great! :)
Tigga did something similar to this a while ago, but it lacked options and hasn't been updated since it was released.. Thanks for sharing. |
Any information on compatability with earlier versions of vB3?
|
Great hack! Installing.
|
Really nice idea!
|
Quote:
But as long as the table structure of the involved tables did not change (too much), then it does still work. And thanks for all the nice feedback, people :) |
very nice.
I've been using Tigga hack, now it's time to move on :) https://vborg.vbsupport.ru/showthrea...ost+Management will take a look and install tonight I'd like to have this information - Forum(board) name that the post/thread belong to - Thread title (already available) - Deleted by: (already available) - Date of deletion (need addon) - Reason: and also limit how many post/thread displayed per page? there may be too many post softdeleted. |
Ill get to work on adding the requested features tomorrow :)
About the limit, currently there's no limit, but I suppose I should add one lol. Thats gonna be a bish to test out tho, havnt got Inline Mod Tools installed on localhost :p |
very useful hack
Thanks |
Nice work man
|
v2 has been released, I fulfilled the feature requests of mtha.
The following features was added to the mod:
To upgrade, simply download the upgrade zip and follow the instructions there. This zip will be deleted in 1 week, after that you will have to redo the file edits as described in the main zip readme. Also, if you use this mod, |
that's GREAT! Thank you very much.
you may want to consider adding a phrase "del_deleted_by" for Name? |
Thanks for the update, running smooth.. :)
|
In your file,
Code:
$softdelposts = $DB_site->query(" In thread section <strong>". $vbphrase['soft_deleted_by'].":</strong> <a href='" . $vboptions['bburl'] . "/member.php?u=". $thread['userid'] . "' target='_blank'>" . stripslashes($thread['username']) . "</a><br> In Post section <strong>". $vbphrase['soft_deleted_by'].":</strong> <a href='" . $vboptions['bburl'] . "/member.php?u=". $post['userid'] . "' target='_blank'>" . stripslashes($post['username']) . "</a><br> PS. I added a phrase called soft_deleted_by as GLOBAL with the text: Deleted by (instead of using "NAME" phrase). adding print_table_break(); on top of print_table_header($vbphrase['soft_deleted_posts']); would also seperate two sections. also, showing the total of soft deleted posts/threads (and/or the current number of thread) would be nice something like Soft Deleted Threads (showing thread 16 to 30 in total of 82 threads) Soft Deleted Posts (showing post 16 to 30 in total of 511 posts) here's the code: Look for: $countlog = $DB_site->query_first("SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "deletionlog"); Add after PHP Code:
Look for (the first one) print_table_header($vbphrase['soft_deleted_threads']); while ($thread = $DB_site->fetch_array($softdelthreads)) Replace by print_table_header("$vbphrase[soft_deleted_threads] (Total: $countthreads[total] threads)"); while ($thread = $DB_site->fetch_array($softdelthreads)) Look for print_table_header($vbphrase['soft_deleted_posts]); while ($post = $DB_site->fetch_array($softdelposts)) replace by print_table_header("$vbphrase[soft_deleted_posts] (Total: $countposts[total] posts)"); while ($post = $DB_site->fetch_array($softdelposts)) |
Quote:
I am implementing your changes on localhost now, and gonna see if theres a way to optimise it some (I always try my best to keep my query count to an all time low). Thanks alot for your suggestions :) Users like you, that are able to come up with simple yet very useful suggestions (even writing them :p), is what makes hacks great and hack authors happy :) //peace |
Bug ... (that might come out from original version of vB)
If you has a "soft deleted thread" containing some "soft deleted posts" If you "Hard delete" the thread, the co-responding "soft deleted posts" will be undefined ($post['postid'] will not exists, only $post['primaryid'] exists) Check that out, and it might be a bug in vB.com too. I dont know if it is, or if it has beed reported over there. Additional suggestion. 01: This migh not be functionally important, but has "management" cleaner. Giving the option to manage the thread and post seperately. Says if you have /forum/admincp/softdeladmin.php?type=thread, it will only process the deleted threads /forum/admincp/softdeladmin.php?type=post, it will only process the deleted posts if no value given, do both (like what you already have) 02: CHECK ALL option. Can you make it to check all thread and check all post seperately? 03. Thread Name/Moderator Name/Thread Link phrase should be changed :) I dont think you need that phrase at all. ... development ... I just check the moderatorlog table, and dateline information for any moderating action is recored in there (with postid and threadid if applicable). However, for one post, there could be many record in the log, including editing, moving, deleting/undeleting many times. So I expect (guess) the latest date record for one post should be the deletion time ... well but this will introduce few more searching, sorting ... queries ... dont know if we should use this one or just use a new date record, for convenient (just look that back because the new deldate is only applicable for posts/threads that are deleted after this hack installed. ... or we should just update the value from moderatorlog to deletionlog ONCE) we can also sort them by date (asc or des - dont even need to have deldate value) so all recent deletion log displayed first. just ideas, I dont know if all of them are useful :D |
Quote:
Sug #1: This Ill do tomorrow. 4.30 AM here XD Sug #2: Not poss as I am using vB internal JScript (I know no JS myself), and it checks all the elements in a form. |
Quote:
I did not try in vB itself, that's why I said I thought it'd be vB bug since you use vB delete_thread and delete_post functions. Will take some more look at that for you. ================= update1. bing. I hit the right spot. it's vB bug, not removing post record in deletionlog if its thread is physically removed ... going to check vB bug list :P update2. bing. actually I did report this in vB but getting no answer :D http://www.vbulletin.com/forum/showt...=delete+thread ---------------------- about #2, if you can do #1, then #2 will automatically be solved, you just go to manage post (or thread) alone and select all :P ps. I add some more stuff on the post above. This hack is very usefull for me. I attempted to write (actually advance Tigga's hack), but didnt have time to do so. Now you make it real. Thank you very much :) |
The bug was reported here. Can you confirm?
http://www.vbulletin.com/forum/bugs....iew&bugid=3455 This bug hit directly to this hack, so I'd think we should urge vB.com to fix :D |
I will check it out later :)
|
Revan! Stop releasing new hacks ¬¬ get back to work on RPG v3
anyway nice hack thanks |
XD which part of the middle section of my sig didnt you understand ;)
EDIT: Quote:
|
Quote:
http://www.vbulletin.com/forum/bugs....iew&bugid=3455 Now you can keep advancing the hack Revan Bug. When hard deleting a thread, it doesnt come back to the deleted list. can anyone confirm? If you want to update deldate from moderator log (if available), these two querries could help: UPDATE deletionlog, moderatorlog SET deletionlog.deldate=moderatorlog.dateline WHERE deletionlog.type = 'post' AND deletionlog.deldate=0 AND (moderatorlog.postid = deletionlog.primaryid) AND moderatorlog.action LIKE 'post %deleted%'; UPDATE deletionlog, moderatorlog SET deletionlog.deldate=moderatorlog.dateline WHERE deletionlog.type = 'thread' AND deletionlog.deldate=0 AND (moderatorlog.threadid = deletionlog.primaryid) AND moderatorlog.action LIKE 'thread %deleted%'; Note: if you have prune your moderator log sometime, there will be some date missing in deldate (since you dont have the information in moderatorlog either) Sort ASC by deldate: Look for (2 places LIMIT " . (($page - 1) * $perpage) . ", $perpage Add after: ORDER BY `deldate` ASC |
Quote:
Quote:
|
Quote:
Assume that you have whole bunch of posts/threads deleted, and you just add a new field deldate (actually you should name it dateline for vB consistancy). the deldate value for all deleted posts/threads are ZERO. However, when a moderator/admin delete a post/thread, the action will be record into moderator log (with dateline, and action = Post/Thread XXX Deleted) The timeline in moderator log IS the time when the mod/admin delete a thread. I can just copy this value and put into deletionlog (if the deldate indeletionlog is missing (=0) Quote:
|
Small Bug found ....
if i select a few deleted post and i forget to tick one of the radio buttons ..... your script undeletes them instead of giving a error ! can you fix this |
Quote:
And I cant name it dateline because it interferes with other rows, which causes errors. Believe me I tried ;) Quote:
Quote:
I got abit distracted yest cos I installed RPG Maker XP..... :p |
Very useful hack
Thanks ;) |
Quote:
|
v2.2 is released, implementing fixes of the bugs mentioned already, and mtha's feature requests.
To upgrade, simply replace softdeladmin.php with the one in the zip. Thanks for installing this hack! :D |
Updated.. Again.. Thanks ;)
|
i have the assign physical delete hack installed and i seem to get errors with this one now
i'm getting error where i can't normally delete a post only physical delete and somehow people can delete there own threads this is the error i get when i try to delete a post normally Code:
Database error in vBulletin 3.0.0: i;ve disabled my forums until i can fix this |
I am using both hacks in perfect combination :)
Your problem is that whatever is assigning the primaryid seems to have broken. |
Quote:
|
Quote:
You've messed up with the counting part: Page1: Soft Deleted Threads (Showing thread 1 to 14, total: 14 threads) Soft Deleted Posts (Showing post 1 to 15, total: 15 posts) Page2 Soft Deleted Posts (Showing post 16 to 1830, total: 15 posts) Page3: Soft Deleted Posts (Showing post 31 to 1830, total: 15 posts) also, here you have $countlog = $DB_site->query_first("SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "deletionlog"); $numentries = &$countlog['total']; $numpages = ceil($numentries / $perpage); your $countlog is post+thread counts $perpage is actually post perpage AND thread perpage. => $countlog / $perpage is NOT correct $numpages. You have to get $countpost and $countthread if $countpost > $countthread => $numentries = $countpost, else $entries = $countthread otherwise, if you have more than one page of thread and post deleted, the last pages will give empty results. |
Quote:
i've left the rest untouched |
sorry msimplay, I didnt mean to quote your post. I am talking about the whole hack.
Revan Here's what I use, I think it'd be better Look for (Line 114) PHP Code:
PHP Code:
line 171, look for PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
|
All times are GMT. The time now is 06:37 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|