Created
January 14, 2017 11:17
-
-
Save Derky/a575ec6718a35b948c707355fc7a1285 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Show and remove non-default ACP, MCP and UCP modules based on the default set of modules from phpBB 3.1.10 | |
* by Derky http://www.derky.nl | |
**/ | |
/** | |
* @ignore | |
**/ | |
define('IN_PHPBB', true); | |
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; | |
$phpEx = substr(strrchr(__FILE__, '.'), 1); | |
include($phpbb_root_path . 'common.' . $phpEx); | |
$user->session_begin(); | |
$auth->acl($user->data); | |
// Limit this to founders or admins | |
if ((int) $user->data['user_type'] !== USER_FOUNDER) | |
{ | |
trigger_error('You need to be a founder'); | |
} | |
/** To update the list of standard modules to your version of phpBB, run this query on a default installation and update the $where | |
* SET group_concat_max_len = 20048; | |
* SELECT CONCAT(GROUP_CONCAT(CONCAT('\'', module_langname, '\'')), '\'') AS result | |
* FROM phpbb_modules | |
**/ | |
// For phpBB 3.1.10 | |
$default_modules = "'ACP_CAT_GENERAL','ACP_QUICK_ACCESS','ACP_BOARD_CONFIGURATION','ACP_CLIENT_COMMUNICATION','ACP_SERVER_CONFIGURATION','ACP_CAT_FORUMS','ACP_MANAGE_FORUMS','ACP_FORUM_BASED_PERMISSIONS','ACP_CAT_POSTING','ACP_MESSAGES','ACP_ATTACHMENTS','ACP_CAT_USERGROUP','ACP_CAT_USERS','ACP_GROUPS','ACP_USER_SECURITY','ACP_CAT_PERMISSIONS','ACP_GLOBAL_PERMISSIONS','ACP_FORUM_BASED_PERMISSIONS','ACP_PERMISSION_ROLES','ACP_PERMISSION_MASKS','ACP_CAT_CUSTOMISE','ACP_STYLE_MANAGEMENT','ACP_EXTENSION_MANAGEMENT','ACP_LANGUAGE','ACP_CAT_MAINTENANCE','ACP_FORUM_LOGS','ACP_CAT_DATABASE','ACP_CAT_SYSTEM','ACP_AUTOMATION','ACP_GENERAL_TASKS','ACP_MODULE_MANAGEMENT','ACP_CAT_DOT_MODS','ACP_ATTACHMENT_SETTINGS','ACP_ATTACHMENT_SETTINGS','ACP_MANAGE_EXTENSIONS','ACP_EXTENSION_GROUPS','ACP_ORPHAN_ATTACHMENTS','ACP_MANAGE_ATTACHMENTS','ACP_BAN_EMAILS','ACP_BAN_IPS','ACP_BAN_USERNAMES','ACP_BBCODES','ACP_BOARD_SETTINGS','ACP_BOARD_FEATURES','ACP_AVATAR_SETTINGS','ACP_MESSAGE_SETTINGS','ACP_MESSAGE_SETTINGS','ACP_POST_SETTINGS','ACP_POST_SETTINGS','ACP_SIGNATURE_SETTINGS','ACP_FEED_SETTINGS','ACP_REGISTER_SETTINGS','ACP_AUTH_SETTINGS','ACP_EMAIL_SETTINGS','ACP_COOKIE_SETTINGS','ACP_SERVER_SETTINGS','ACP_SECURITY_SETTINGS','ACP_LOAD_SETTINGS','ACP_BOTS','ACP_VC_SETTINGS','ACP_VC_CAPTCHA_DISPLAY','ACP_CONTACT_SETTINGS','ACP_BACKUP','ACP_RESTORE','ACP_DISALLOW_USERNAMES','ACP_MASS_EMAIL','ACP_EXTENSIONS','ACP_MANAGE_FORUMS','ACP_GROUPS_MANAGE','ACP_GROUPS_POSITION','ACP_ICONS','ACP_SMILIES','ACP_INACTIVE_USERS','ACP_JABBER_SETTINGS','ACP_LANGUAGE_PACKS','ACP_ADMIN_LOGS','ACP_MOD_LOGS','ACP_USERS_LOGS','ACP_CRITICAL_LOGS','ACP_INDEX','ACP','UCP','MCP','ACP_ADMIN_ROLES','ACP_USER_ROLES','ACP_MOD_ROLES','ACP_FORUM_ROLES','ACP_PERMISSIONS','ACP_PERMISSION_TRACE','ACP_FORUM_PERMISSIONS','ACP_FORUM_PERMISSIONS_COPY','ACP_FORUM_MODERATORS','ACP_USERS_PERMISSIONS','ACP_USERS_PERMISSIONS','ACP_USERS_FORUM_PERMISSIONS','ACP_USERS_FORUM_PERMISSIONS','ACP_GROUPS_PERMISSIONS','ACP_GROUPS_PERMISSIONS','ACP_GROUPS_FORUM_PERMISSIONS','ACP_GROUPS_FORUM_PERMISSIONS','ACP_ADMINISTRATORS','ACP_GLOBAL_MODERATORS','ACP_VIEW_ADMIN_PERMISSIONS','ACP_VIEW_USER_PERMISSIONS','ACP_VIEW_GLOBAL_MOD_PERMISSIONS','ACP_VIEW_FORUM_MOD_PERMISSIONS','ACP_VIEW_FORUM_PERMISSIONS','ACP_PHP_INFO','ACP_CUSTOM_PROFILE_FIELDS','ACP_PRUNE_FORUMS','ACP_PRUNE_USERS','ACP_MANAGE_RANKS','ACP_MANAGE_REASONS','ACP_SEARCH_SETTINGS','ACP_SEARCH_INDEX','ACP_SEND_STATISTICS','ACP_STYLES','ACP_STYLES_INSTALL','ACP_VERSION_CHECK','ACP_MANAGE_USERS','ACP_USER_FEEDBACK','ACP_USER_WARNINGS','ACP_USER_PROFILE','ACP_USER_PREFS','ACP_USER_AVATAR','ACP_USER_RANK','ACP_USER_SIG','ACP_USER_GROUPS','ACP_USER_PERM','ACP_USER_ATTACH','ACP_WORDS','ACP_MANAGE_USERS','ACP_GROUPS_MANAGE','ACP_MANAGE_FORUMS','ACP_MOD_LOGS','ACP_BOTS','ACP_PHP_INFO','ACP_FORUM_PERMISSIONS','ACP_FORUM_PERMISSIONS_COPY','ACP_FORUM_MODERATORS','ACP_USERS_FORUM_PERMISSIONS','ACP_GROUPS_FORUM_PERMISSIONS','MCP_MAIN','MCP_QUEUE','MCP_REPORTS','MCP_NOTES','MCP_WARN','MCP_LOGS','MCP_BAN','MCP_BAN_USERNAMES','MCP_BAN_IPS','MCP_BAN_EMAILS','MCP_LOGS_FRONT','MCP_LOGS_FORUM_VIEW','MCP_LOGS_TOPIC_VIEW','MCP_MAIN_FRONT','MCP_MAIN_FORUM_VIEW','MCP_MAIN_TOPIC_VIEW','MCP_MAIN_POST_DETAILS','MCP_NOTES_FRONT','MCP_NOTES_USER','MCP_PM_REPORTS_OPEN','MCP_PM_REPORTS_CLOSED','MCP_PM_REPORT_DETAILS','MCP_QUEUE_UNAPPROVED_TOPICS','MCP_QUEUE_UNAPPROVED_POSTS','MCP_QUEUE_DELETED_TOPICS','MCP_QUEUE_DELETED_POSTS','MCP_QUEUE_APPROVE_DETAILS','MCP_REPORTS_OPEN','MCP_REPORTS_CLOSED','MCP_REPORT_DETAILS','MCP_WARN_FRONT','MCP_WARN_LIST','MCP_WARN_USER','MCP_WARN_POST','UCP_MAIN','UCP_PROFILE','UCP_PREFS','UCP_PM','UCP_USERGROUPS','UCP_ZEBRA','UCP_MAIN_ATTACHMENTS','UCP_AUTH_LINK_MANAGE','UCP_USERGROUPS_MEMBER','UCP_USERGROUPS_MANAGE','UCP_MAIN_FRONT','UCP_MAIN_SUBSCRIBED','UCP_MAIN_BOOKMARKS','UCP_MAIN_DRAFTS','UCP_NOTIFICATION_OPTIONS','UCP_NOTIFICATION_LIST','UCP_PM_VIEW','UCP_PM_COMPOSE','UCP_PM_DRAFTS','UCP_PM_OPTIONS','UCP_PREFS_PERSONAL','UCP_PREFS_POST','UCP_PREFS_VIEW','UCP_PROFILE_PROFILE_INFO','UCP_PROFILE_SIGNATURE','UCP_PROFILE_AVATAR','UCP_PROFILE_REG_DETAILS','UCP_PROFILE_AUTOLOGIN_KEYS','UCP_ZEBRA_FRIENDS','UCP_ZEBRA_FOES'"; | |
$text = ''; | |
if (!isset($_GET['delete'])) | |
{ | |
// Show non-default modules | |
$sql = 'SELECT module_langname | |
FROM ' . MODULES_TABLE . ' | |
WHERE module_langname NOT IN(' . $default_modules . ')'; | |
$result = $db->sql_query($sql); | |
while ($row = $db->sql_fetchrow($result)) | |
{ | |
$text .= $row['module_langname'] . '<br />'; | |
} | |
$db->sql_freeresult($result); | |
if ($text) { | |
$text = 'Non default modules: <br />' . $text . '<br />Make a backup of the "'. MODULES_TABLE . '" table yourself and then: <a href="?delete=true"><strong>click here to delete all non-default modules</strong></a>'; | |
} | |
else { | |
$text = 'No non-default modules found'; | |
} | |
} | |
else { | |
// Delete non-default moduls | |
$sql = 'DELETE FROM ' . MODULES_TABLE . ' WHERE module_langname NOT IN(' . $default_modules . ')'; | |
$result = $db->sql_query($sql); | |
$modules_deleted = $db->sql_affectedrows(); | |
$db->sql_freeresult($result); | |
$text .= 'Modules deleted: '. $modules_deleted; | |
$cache->purge(); | |
} | |
trigger_error($text); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment