diff options
| author | Graham Eames <grahamje@users.sourceforge.net> | 2006-05-31 20:26:48 +0000 |
|---|---|---|
| committer | Graham Eames <grahamje@users.sourceforge.net> | 2006-05-31 20:26:48 +0000 |
| commit | 4354cda6dc695806dc01fdad1e4d11b2749ee9d4 (patch) | |
| tree | 159606422a6951ba1dcdcffdbf3c5b67e296e95d /phpBB/install/install_install.php | |
| parent | 91a35359edc168c4a83b4ce55374c49f9754487e (diff) | |
| download | forums-4354cda6dc695806dc01fdad1e4d11b2749ee9d4.tar forums-4354cda6dc695806dc01fdad1e4d11b2749ee9d4.tar.gz forums-4354cda6dc695806dc01fdad1e4d11b2749ee9d4.tar.bz2 forums-4354cda6dc695806dc01fdad1e4d11b2749ee9d4.tar.xz forums-4354cda6dc695806dc01fdad1e4d11b2749ee9d4.zip | |
Misc module ordering stuff/missing modules.
There's still 1 minor bit to fix up....
git-svn-id: file:///svn/phpbb/trunk@5994 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/install/install_install.php')
| -rwxr-xr-x | phpBB/install/install_install.php | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index ae3048122c..233bfb391e 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -1262,6 +1262,53 @@ class install_install extends module } } + // And now for the special ones + // (these are modules which appear in multiple categories and thus get added manually to some for more control) + if (isset($this->module_extras[$module_class])) + { + foreach ($this->module_extras[$module_class] as $cat_name => $mods) + { + $sql = 'SELECT module_id, left_id, right_id FROM ' . MODULES_TABLE . " + WHERE module_langname = '$cat_name' + AND module_class = '$module_class' + LIMIT 1"; + $result = $db->sql_query($sql); + $row2 = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + foreach ($mods as $mod_name) + { + $sql = 'SELECT * FROM ' . MODULES_TABLE . " + WHERE module_langname = '$mod_name' + AND module_class = '$module_class' + LIMIT 1"; + $result = $db->sql_query($sql); + $module_data = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + $sql = 'UPDATE ' . MODULES_TABLE . " + SET left_id = left_id + 2, right_id = right_id + 2 + WHERE module_class = '" . $module_class . "' + AND left_id > {$row2['right_id']}"; + $db->sql_query($sql); + + $sql = 'UPDATE ' . MODULES_TABLE . " + SET right_id = right_id + 2 + WHERE module_class = '" . $module_class . "' + AND {$row2['left_id']} BETWEEN left_id AND right_id"; + $db->sql_query($sql); + + unset($module_data['module_id']); + $module_data['parent_id'] = $row2['module_id']; + $module_data['left_id'] = $row2['right_id']; + $module_data['right_id'] = $row2['right_id'] + 1; + + $sql = 'INSERT INTO ' . MODULES_TABLE . ' ' . $db->sql_build_array('INSERT', $module_data); + $db->sql_query($sql); + } + } + } + recalc_btree('module_id', MODULES_TABLE, $module_class); $_module->remove_cache_file(); } @@ -1649,8 +1696,8 @@ class install_install extends module 'ACP_SERVER_CONFIGURATION', ), 'ACP_CAT_FORUMS' => array( - 'ACP_CAT_FORUMS', - 'FORUM_BASED_PERMISSIONS', + 'ACP_MANAGE_FORUMS', + 'ACP_FORUM_BASED_PERMISSIONS', ), 'ACP_CAT_POSTING' => array( 'ACP_MESSAGES', @@ -1701,6 +1748,24 @@ class install_install extends module 'UCP_ZEBRA' => null, ), ); + var $module_extras = array( + 'acp' => array( + 'ACP_QUICK_ACCESS' => array( + 'ACP_MANAGE_USERS', + 'ACP_GROUPS_MANAGE', + 'ACP_MANAGE_FORUMS', + 'ACP_MOD_LOGS', + 'ACP_BOTS', + 'ACP_PHP_INFO', + ), + 'ACP_FORUM_BASED_PERMISSIONS' => array( + 'ACP_FORUM_PERMISSIONS', + 'ACP_FORUM_MODERATORS', + 'ACP_USERS_FORUM_PERMISSIONS', + 'ACP_GROUPS_FORUM_PERMISSIONS', + ), + ), + ); } ?>
\ No newline at end of file |
