Username change

Username change 2.1.1

No permission to download
got a couple errors running this with xen 2.1.3, just trying it out recently so not sure if that is new or not...nice addon tho

  • ErrorException: [E_NOTICE] Undefined index: CMTV_UC
  • src/addons/CMTV/UsernameChange/XF/Admin/Controller/Permission.php:29
  • Generated by: Admin
  • Jul 26, 2019 at 2:18 PM
Stack trace
#0 src/addons/CMTV/UsernameChange/XF/Admin/Controller/Permission.php(29): XF::handlePhpError(8, '[E_NOTICE] Unde...', '/home/user/...', 29, Array)
#1 src/XF/Mvc/Dispatcher.php(321): CMTV\UsernameChange\XF\Admin\Controller\Permission->actionAnalyze(Object(XF\Mvc\ParameterBag))
#2 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:permission', 'Analyze', Object(XF\Mvc\RouteMatch), Object(CMTV\UsernameChange\XF\Admin\Controller\Permission), NULL)
#3 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(CMTV\UsernameChange\XF\Admin\Controller\Permission), NULL)
#4 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#5 src/XF/App.php(2178): XF\Mvc\Dispatcher->run()
#6 src/XF.php(390): XF\App->run()
#7 admin.php(13): XF::runApp('XF\\Admin\\App')
#8 {main}
Request state
array(4) {
["url"] => string(40) "/community/admin.php?permissions/analyze"
["referrer"] => string(64) "https://www.mysite.com/community/admin.php?permissions/analyze"
["_GET"] => array(1) {
["permissions/analyze"] => string(0) ""
}
["_POST"] => array(4) {
["username"] => string(5) "username"
["content_id"] => string(4) "2496"
["content_type"] => string(13) "xfmg_category"
["_xfToken"] => string(8) "****"
}
}

then also this one

  • ErrorException: [E_WARNING] array_shift() expects parameter 1 to be array, null given
  • src/addons/CMTV/UsernameChange/XF/Admin/Controller/Permission.php:32
  • Generated by: Admin
  • Jul 26, 2019 at 2:18 PM
Stack trace
#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] arr...', '/home/user/...', 32, Array)
#1 src/addons/CMTV/UsernameChange/XF/Admin/Controller/Permission.php(32): array_shift(NULL)
#2 src/XF/Mvc/Dispatcher.php(321): CMTV\UsernameChange\XF\Admin\Controller\Permission->actionAnalyze(Object(XF\Mvc\ParameterBag))
#3 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:permission', 'Analyze', Object(XF\Mvc\RouteMatch), Object(CMTV\UsernameChange\XF\Admin\Controller\Permission), NULL)
#4 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(CMTV\UsernameChange\XF\Admin\Controller\Permission), NULL)
#5 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#6 src/XF/App.php(2178): XF\Mvc\Dispatcher->run()
#7 src/XF.php(390): XF\App->run()
#8 admin.php(13): XF::runApp('XF\\Admin\\App')
#9 {main}
Request state
array(4) {
["url"] => string(40) "/community/admin.php?permissions/analyze"
["referrer"] => string(64) "https://www.mysite.com/community/admin.php?permissions/analyze"
["_GET"] => array(1) {
["permissions/analyze"] => string(0) ""
}
["_POST"] => array(4) {
["username"] => string(5) "username"
["content_id"] => string(4) "2496"
["content_type"] => string(13) "xfmg_category"
["_xfToken"] => string(8) "****"
}
}

https://www.breedbay.org/community/admin.php?logs/server-errors/32/delete
 
Hey, after upgrade to XF 2.2 i had HTTP ERROR 500.
I did debug and now it says:
Code:
Fatal error: Declaration of CMTV\UsernameChange\XF\Entity\User::canChangeUsername() must be compatible with XF\Entity\User::canChangeUsername(&$error = NULL): bool in /home/pelikais/public_html/keskustelu.pelikaista.fi/src/addons/CMTV/UsernameChange/XF/Entity/User.php on line 0

How i can fix this?

Removing addon folder does not help.
 
Edit /upload/src/addons/CMTV/UsernameChange/XF/Entity/User.php
Find line 76 (starts with public function canChangeUsername(...) and replace it with:
PHP:
public function canChangeUsername(&$error = null): bool

Then you can uninstall the addon. The history will persist as XenForo 2.2 is extracting the user change history records to rebuild username change history.
 
For importing full username history, before uninstallation this addon, you can run these queries:
SQL:
-- 1. Clear up new table from "automatically" created entries.
TRUNCATE TABLE `xf_username_change`;

-- 2. Insert new history from CMTV Username Change.
INSERT INTO `xf_username_change`
(`user_id`, `old_username`, `new_username`, `change_user_id`, `change_date`, `visible`)

SELECT
  `xf_cmtv_uc_username_change`.`user_id`,
  `xf_cmtv_uc_username_change`.`old_username`,
  IFNULL(`xf_cmtv_uc_username_change_NEXT_CHANGE`.`old_username`, `xf_user`.`username`) AS `new_username`,
  `xf_cmtv_uc_username_change`.`user_id` AS `change_user_id`,
  `xf_cmtv_uc_username_change`.`change_date`,
  IF(`xf_cmtv_uc_username_change`.`from_acp` = 0, 1, 0) AS `visible`
FROM
  `xf_cmtv_uc_username_change`
  LEFT JOIN
    `xf_cmtv_uc_username_change` `xf_cmtv_uc_username_change_NEXT_CHANGE` ON `xf_cmtv_uc_username_change`.`user_id` = `xf_cmtv_uc_username_change_NEXT_CHANGE`.`user_id` AND `xf_cmtv_uc_username_change`.`change_id` < `xf_cmtv_uc_username_change_NEXT_CHANGE`.`change_id`
  INNER JOIN
    `xf_user` ON `xf_cmtv_uc_username_change`.`user_id` = `xf_user`.`user_id`
GROUP BY `xf_cmtv_uc_username_change`.`change_id`
If you can't run cli commands (after upgrading to XF 2.2, you can't login into ACP) for uninstalling addon, you can before upgrade use "temporarily fix" from this post for recovering forum work state. Or before upgrading to 2.2:
  1. Export from database addon table (xf_cmtv_uc_username_change).
  2. Uninstall add-on.
  3. Import table.
  4. perform XF upgrade
  5. Run queries.
  6. Drop table.
 
Last edited:
Top Bottom