[Liam W] (RIP) Member Self Delete

[Liam W] (RIP) Member Self Delete 2.0.5 Patch Level 2

No permission to download

Liam W

in memoriam 1998-2020
Liam W updated Member Self Delete with a new update entry:

1.1.0 Beta 1

Member Self Delete 1.1.0 is here! This is a major upgrade, adding several new features, including:

  • A full log of pending, cancelled and completed deletion
  • The ability for administrators to have a reminder email sent x days before deletion
  • A reason input for users deleting their accounts
  • The ability for administrators to cancel deletions from the admin panel
In addition, there are several small technical improvements.

Read the rest of this update entry...
 

electrogypsy

Well-known member
thanks for the update @Liam W !

unfortunately, i get a "An unexpected database error occurred. Please try again later." after installing the addon and my entire website is now offline. can you help?
 

Liam W

in memoriam 1998-2020
thanks for the update @Liam W !

unfortunately, i get a "An unexpected database error occurred. Please try again later." after installing the addon and my entire website is now offline. can you help?

Well that’s not good... can you access the admin panel directly to disable the add on and check if there are any errors in the server error log?
 

Liam W

in memoriam 1998-2020
If you add $config['enableListeners'] = false; to your config.php file, you should be able to regain access and then disable the add-on.
 

electrogypsy

Well-known member
unfortunately not. im trying to see how to specify the addon for disabling/uninstall via the command line on my server. my website

okay, i was able to disable the addon via command line php cmd.php xf-addon:disable LiamW/AccountDelete

and my site is back online. here's the server error being generated:

Code:
Server error log
XF\Db\Exception: MySQL statement prepare error [1146]: Table 'squattheplanet.xf_liamw_accountdelete_account_deletions' doesn't exist src/XF/Db/AbstractStatement.php:217
Generated by: Unknown account Jun 13, 2019 at 9:25 AM
Stack trace
            SELECT `xf_liamw_accountdelete_account_deletions`.*, `xf_user_User_1`.*
            FROM `xf_liamw_accountdelete_account_deletions`
            LEFT JOIN `xf_user` AS `xf_user_User_1` ON (`xf_user_User_1`.`user_id` = `xf_liamw_accountdelete_account_deletions`.`user_id`)
            WHERE (`xf_liamw_accountdelete_account_deletions`.`user_id` = 0) AND (`xf_liamw_accountdelete_account_deletions`.`status` = 'pending')
            
        
LIMIT 1
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1146, '42S02')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1146, '42S02')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Mvc/Entity/Finder.php(1261): XF\Db\AbstractAdapter->query('
            SELECT `xf_...')
#5 src/XF/Mvc/Entity/Manager.php(364): XF\Mvc\Entity\Finder->fetchOne()
#6 src/XF/Mvc/Entity/Entity.php(385): XF\Mvc\Entity\Manager->getRelation(Array, Object(SV\SearchImprovements\XF\Entity\User))
#7 src/XF/Mvc/Entity/Entity.php(177): XF\Mvc\Entity\Entity->getRelation('PendingAccountD...')
#8 src/XF/Mvc/Entity/Entity.php(101): XF\Mvc\Entity\Entity->get('PendingAccountD...')
#9 src/addons/LiamW/AccountDelete/Listener.php(17): XF\Mvc\Entity\Entity->__get('PendingAccountD...')
#10 [internal function]: LiamW\AccountDelete\Listener::controllerPreDispatch(Object(XF\Pub\Controller\FindNew), 'Index', Object(XF\Mvc\ParameterBag))
#11 src/XF/Extension.php(35): call_user_func_array(Array, Array)
#12 src/XF/App.php(2647): XF\Extension->fire('controller_pre_...', Array, 'XF\\Pub\\Controll...')
#13 src/XF/Mvc/Controller.php(125): XF\App->fire('controller_pre_...', Array, 'XF\\Pub\\Controll...')
#14 src/XF/Mvc/Dispatcher.php(320): XF\Mvc\Controller->preDispatch('Index', Object(XF\Mvc\ParameterBag))
#15 src/XF/Mvc/Dispatcher.php(248): XF\Mvc\Dispatcher->dispatchClass('XF:FindNew', 'Index', Object(XF\Mvc\RouteMatch), Object(XF\Pub\Controller\FindNew), NULL)
#16 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Pub\Controller\FindNew), NULL)
#17 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#18 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#19 src/XF.php(390): XF\App->run()
#20 index.php(20): XF::runApp('XF\\Pub\\App')
#21 {main}
Request state
array(4) {
  ["url"] => string(31) "/find-new/9523182/profile-posts"
  ["referrer"] => bool(false)
  ["_GET"] => array(1) {
    ["/find-new/9523182/profile-posts"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 

Liam W

in memoriam 1998-2020
Ok, that's strange. Did you run the upgrade command, or were you not able to? Or was it a fresh install?

I renamed the table in 1.1, but the upgrade step should've renamed it in the database.
 

electrogypsy

Well-known member
Ok, that's strange. Did you run the upgrade command, or were you not able to?

I renamed the table in 1.1, but the upgrade step should've renamed it in the database.

I uploaded the zip via the addon updater/installer, saw the error, then uploaded it via ftp to see if it would fix the issue.
 

Liam W

in memoriam 1998-2020
I uploaded the zip via the addon updater/installer, saw the error, then uploaded it via ftp to see if it would fix the issue.

Ah, OK. Yeah, I should've made it more apparent. You should definitely disable this add-on before upgrading to 1.1. The issue occured because the new files were being read, referencing the new table name, before the table had been renamed.
 

electrogypsy

Well-known member
Ah, OK. Yeah, I should've made it more apparent. You should definitely disable this add-on before upgrading to 1.1. The issue occured because the new files were being read, referencing the new table name, before the table had been renamed.

should i upload it again then now that i have it disabled?
 

Liam W

in memoriam 1998-2020
Can admin restore them

As @Mr. Jinx said, administrators can cancel pending deletions. Once a deletion has been actioned, then if you're using the Delete mode, then there's no restoration possible - the user is removed from the database.

If you're using the Disable mode, then restoration is technically possible, but it has to be done manually as of now. I might add automated restoration of disabled accounts as a feature in a future version.
 
Top