[WMTech] User Self Delete LITE

[WMTech] User Self Delete LITE 1.1.4

No permission to download
@Chris Deeming Could you consider a deactivate account option? User can deactivate their account, hiding all posts by them etc and re-activate if they wish to at a later time, restoring their posts, status updates, etc. Sort of like Facebook, where you never really delete your account, you just deactivate it.
 
@Chris Deeming - Getting this when it tries to delete a user that is marked for deletion:

Code:
Server Error

Undefined variable: userIdQuoted

XenForo_Application::handlePhpError() in UserEss/DataWriter/User.php at line 44
UserEss_DataWriter_User->_postDelete() in XenForo/DataWriter.php at line 1767
XenForo_DataWriter->delete() in UserSelfDelete/CronEntry/DeleteUsers.php at line 35
UserSelfDelete_CronEntry_DeleteUsers::deleteMarkedUsers()
call_user_func() in XenForo/Model/Cron.php at line 356
XenForo_Model_Cron->runEntry() in XenForo/ControllerAdmin/Cron.php at line 213
XenForo_ControllerAdmin_Cron->actionRun() in XenForo/FrontController.php at line 337
XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
XenForo_FrontController->run() in /home/z22se/public_html/admin.php at line 13

Not sure if it's this add-on, or @Syndol 's user essentials.
 
I presume you get that error every time that Cron Entry runs.

Disable User Ess then run that Cron Entry to see if the error disappears.
 
There still might be work for both of us to do. I don't have a copy of User Essentials but if @Syndol has anything I need to do to make his life easier then I will happily update this add-on as well.
 
There still might be work for both of us to do. I don't have a copy of User Essentials but if @Syndol has anything I need to do to make his life easier then I will happily update this add-on as well.
It's his add-on, as I can't delete any users from the site with it enabled.
 
I may have found a small bug....

I was manually deleting users who's e-mails had bounced. And one of those users was pending deletion, because they had set it to do it themselves. Of course, I did not notice this at the time.

So the error is when I try to clear the delete log, it stays forever thinking... Nothing happens and the log remains. Of course I also still have this person as "pending" in the log, so I'm very worried what will happen when the time comes.
 
I may have found a small bug....

I was manually deleting users who's e-mails had bounced. And one of those users was pending deletion, because they had set it to do it themselves. Of course, I did not notice this at the time.

So the error is when I try to clear the delete log, it stays forever thinking... Nothing happens and the log remains. Of course I also still have this person as "pending" in the log, so I'm very worried what will happen when the time comes.
Worried..... I backed up and ran the con manually.

Says it ran successfully, of course the deleted user though is still showing as "pending" in the log and I'm unable to clear that log.

Wondering if I can just empty it via phpMyAdmin.
 
Worried..... I backed up and ran the con manually.

Says it ran successfully, of course the deleted user though is still showing as "pending" in the log and I'm unable to clear that log.

Wondering if I can just empty it via phpMyAdmin.
That did it. :)

Was as simple enough to empty xf_self_delete_log
 
This has a problem in the ACP log additional pages, in that it's using some weird link to do with email changes and produces an error when viewing other pages than the first page of deleted users.

Screen Shot 2013-10-11 at 11.48.14 AM.webp

Screen Shot 2013-10-11 at 11.48.26 AM.webp

Basically, can't view additional pages of deleted users because the page nav links to something to do with email changes.
 
Hi, Chris! the pagination in ACP logs doesn't work.
I click on 2,3, etc. pages - request pages not found

and version in xml 1.0.2 :coffee:
 
@Chris Deeming hi friend,

I think there is a bug with xenforo 1.2.3

When a user start delete process they couldnt cancel it again. user taking a warning message when looking page. Can you fix it?

Best regards..
 
I found the bug. It only applies when you don't have friendly urls activated.

In library/UserSelfDelete/Listener.php

Search for:

PHP:
if ($visitor['user_id'] && $visitor['is_pending_delete'] && !strstr($requestUri, '/account/delete-account') && $dependencies instanceof XenForo_Dependencies_Public)

Change it to:

PHP:
if ($visitor['user_id'] && $visitor['is_pending_delete'] && !strstr($requestUri, 'account/delete-account') && $dependencies instanceof XenForo_Dependencies_Public)

thanks for the bug report :) i have fixed the ERR_TOO_MANY_REDIRECTS problem
 
Hi Chris,

there seems to be an error in your crownjob:

XenForo_Exception: Set cannot be called after preSave has been called. - library/XenForo/DataWriter.php:626
Erstellt von: Unbekanntes Benutzerkonto, Gestern um 20:01 Uhr
Stapelverfolgung
/public/library/XenForo/DataWriter.php(983): XenForo_DataWriter->set('username', 'XXXXX', '', NULL)
/public/library/UserSelfDelete/CronEntry/DeleteUsers.php(43): XenForo_DataWriter->bulkSet(Array)
[internal function]: UserSelfDelete_CronEntry_DeleteUsers::deleteMarkedUsers(Array)
/tfx/public/library/XenForo/Model/Cron.php(356): call_user_func(Array, Array)
/public/library/XenForo/Deferred/Cron.php(24): XenForo_Model_Cron->runEntry(Array)
/public/library/XenForo/Model/Deferred.php(252): XenForo_Deferred_Cron->execute(Array, Array, 9.9999969005585, '')
/public/library/XenForo/Model/Deferred.php(378): XenForo_Model_Deferred->runDeferred(Array, 9.9999969005585, '', false)
/public/library/XenForo/Model/Deferred.php(331): XenForo_Model_Deferred->_runInternal(Array, NULL, '', false)
/public/deferred.php(23): XenForo_Model_Deferred->run(false)
#9 {main}
 
Hi Chris,

found the error by myself: When more than 1 user will be deleted a day, the class UserSelfDelete_DataWriter_SelfDeleteLog is used multiple, causing the error above.

Solution: search for this line in public/library/UserSelfDelete/CronEntry/DeleteUsers.php:

PHP:
$logWriter = XenForo_DataWriter::create('UserSelfDelete_DataWriter_SelfDeleteLog');

remove it and put it above this line:

PHP:
$logWriter->setExistingData($user['delete_log_id']);

So there is used a new instance for every deletion.

Would be happy, you take this sugestion to your code, so it is not overwritten the next time :)

Regards, Thomas
 
Top Bottom