Skip to content
Snippets Groups Projects
Commit 2b369a6d authored by Tim Steiner's avatar Tim Steiner
Browse files

[gh-113] Merging from testing into staging

git-svn-id: file:///tmp/wdn_thm_drupal/branches/drupal-7.x/staging@595 20a16fea-79d4-4915-8869-1ea9d5ebf173
parent a011c4f7
Branches
Tags
No related merge requests found
......@@ -195,6 +195,12 @@ EOF;
// Update the settings file to use shared database tables (unless this is the default site)
if (conf_path() != 'sites/default') {
// Only enable CAS on subsites until we get some sort of bootstrap setup.
module_enable(array('unl_cas'));
// Update the db config to include shared tables.
$parent_site_database_settings = unl_profile_get_default_site_db_settings();
$new_prefix = $GLOBALS['databases']['default']['default']['prefix'];
......@@ -235,9 +241,11 @@ EOF;
$writable = drupal_verify_install_file($settings_file, FILE_READABLE|FILE_WRITABLE);
drupal_rewrite_settings($settings);
// Only enable CAS on subsites until we get some sort of bootstrap setup.
module_enable(array('unl_cas'));
// Make drupal realize that we've changed some db settings.
Database::addConnectionInfo('new_site', 'default', $settings['databases']['value']['default']['default']);
db_set_active('new_site');
drupal_static_reset();
// Copy the anonymous/authenticated user roles' permissions for text formats from the default site.
db_query(
......@@ -263,6 +271,7 @@ EOF;
// Assign most permissions to the Site Admin role.
$all_permissions = module_invoke_all('permission');
$all_filter_permissions = array_keys(module_invoke('filter', 'permission'));
unset($all_permissions['unl site creation']);
unset($all_permissions['unl grant all permissions']);
unset($all_permissions['unl administer administrator permissions']);
......@@ -271,10 +280,25 @@ EOF;
unset($all_permissions['administer software updates']);
unset($all_permissions['administer imce']);
unset($all_permissions['administer filters']);
foreach (array_keys(module_invoke('filter', 'permission')) as $permission) {
foreach ($all_filter_permissions as $permission) {
unset($all_permissions[$permission]);
}
user_role_grant_permissions($site_admin_role->rid, array_keys($all_permissions));
// Text Format/WYSIWYG specific permissions.
db_query("DELETE FROM {$new_prefix}role_permission WHERE permission LIKE :permission", array('permission' => 'use text format%'));
$wysiwyg_permissions = array();
$data = db_query("SELECT DISTINCT permission FROM {$shared_prefix}role_permission WHERE permission LIKE :permission", array('permission' => 'use text format%'));
foreach ($data as $row) {
if (!in_array($row->permission, $all_filter_permissions)) {
continue;
}
$wysiwyg_permissions[] = $row->permission;
}
user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, $wysiwyg_permissions);
user_role_grant_permissions(variable_get('user_admin_role'), $wysiwyg_permissions);
user_role_grant_permissions($site_admin_role->rid, $wysiwyg_permissions);
// If a site admin has been specified, add that user and add them to the Site Admin role.
$data = db_query(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment