From 76782ad543bf04beec22c98d0c4ceeccf2c8caa3 Mon Sep 17 00:00:00 2001 From: Lester Caine Date: Fri, 15 May 2026 18:02:43 +0100 Subject: Make ROLE_MODEL the default memory model --- includes/create_config_inc.php | 4 +- includes/install_bit_settings.php | 3 -- includes/install_cleanup.php | 8 +--- includes/install_inc.php | 2 - includes/install_packages.php | 85 +++++++++++--------------------------- templates/install_bit_settings.tpl | 6 +-- 6 files changed, 28 insertions(+), 80 deletions(-) diff --git a/includes/create_config_inc.php b/includes/create_config_inc.php index 82a537d..2033989 100755 --- a/includes/create_config_inc.php +++ b/includes/create_config_inc.php @@ -202,11 +202,9 @@ define( 'BIT_ROOT_URL', '$bit_root_url' ); //define( 'PHP_MAGIC_PATH', 'C:\\Program Files\\PHP\\extras\\magic.mime' );"; } - if( defined( 'ROLE_MODEL' )) { - $filetowrite .= " + $filetowrite .= " define( 'LIBERTY_DEFAULT_MIME_HANDLER', 'mimeflatdefault' );"; - } $filetowrite .= " diff --git a/includes/install_bit_settings.php b/includes/install_bit_settings.php index 8856c0d..4b37cf0 100755 --- a/includes/install_bit_settings.php +++ b/includes/install_bit_settings.php @@ -95,7 +95,4 @@ foreach( $gBitSystem->mPackages as $package ) { $foreign_packages[] = $package; } } -if ( defined( 'ROLE_MODEL' ) ) { - $gBitSmarty->assign( "role_model", TRUE ); -} $gBitSmarty->assign( "foreign_packages", $foreign_packages ); diff --git a/includes/install_cleanup.php b/includes/install_cleanup.php index 660e752..dc2d642 100755 --- a/includes/install_cleanup.php +++ b/includes/install_cleanup.php @@ -27,7 +27,7 @@ while( !$result->EOF ) { foreach( $result->fields as $r ) { $bitPerms[$result->fields['perm_name']][] = $r; } - $bitPerms[$result->fields['perm_name']]['sql'][] = ( defined( 'ROLE_MODEL' ) ) ? "DELETE FROM `" . BIT_DB_PREFIX . "users_role_permissions` WHERE `perm_name`='" . $result->fields['perm_name'] . "'" : "DELETE FROM `" . BIT_DB_PREFIX . "users_group_permissions` WHERE `perm_name`='" . $result->fields['perm_name'] . "'"; + $bitPerms[$result->fields['perm_name']]['sql'][] = "DELETE FROM `" . BIT_DB_PREFIX . "users_role_permissions` WHERE `perm_name`='" . $result->fields['perm_name'] . "'"; $bitPerms[$result->fields['perm_name']]['sql'][] = "DELETE FROM `" . BIT_DB_PREFIX . "users_permissions` WHERE `perm_name`='" . $result->fields['perm_name'] . "'"; $result->MoveNext(); } @@ -145,11 +145,7 @@ if( !empty( $_REQUEST['resolve_conflicts'] ) ) { $gBitInstaller->mDb->query( $insPerms[$perm]['sql'] ); $fixedPermissions[] = $insPerms[$perm]; if( !empty( $roleMap[$insPerms[$perm][2]] )) { - if ( defined( 'ROLE_MODEL' ) ) { - $gBitUser->assignPermissionToRole( $perm, $permMap[$insPerms[$perm][2]] ); - } else { - $gBitUser->assignPermissionToRole( $perm, $permMap[$insPerms[$perm][2]] ); - } + $gBitUser->assignPermissionToRole( $perm, $permMap[$insPerms[$perm][2]] ); } } } diff --git a/includes/install_inc.php b/includes/install_inc.php index 8791d7b..3af13d6 100755 --- a/includes/install_inc.php +++ b/includes/install_inc.php @@ -62,8 +62,6 @@ function set_menu( $pInstallFiles, $pStep ) { * Global flag to indicate we are installing */ define( 'BIT_INSTALL', 'TRUE' ); -// Uncomment to switch to role team model ... -define( 'ROLE_MODEL', 'TRUE' ); global $gBitSmarty; // use relative path if no CONFIG_INC path specified - we know we are in installer here... diff --git a/includes/install_packages.php b/includes/install_packages.php index be5ca2c..257c1b0 100755 --- a/includes/install_packages.php +++ b/includes/install_packages.php @@ -299,7 +299,7 @@ if( !empty( $_REQUEST['cancel'] ) ) { $query = "SELECT `perm_name` FROM `" . $tablePrefix . "users_permissions` WHERE `package`=?"; $perms = $gBitInstaller->mDb->getCol( $query, [ $package ] ); // we deal with liberty_content_permissions below - $tables = ( defined( 'ROLE_MODEL' ) ) ? [ 'users_role_permissions', 'users_permissions' ] : [ 'users_group_permissions', 'users_permissions' ]; + $tables = [ 'users_role_permissions', 'users_permissions' ]; foreach ( $tables as $table ) { foreach ( $perms as $perm ) { $delete = " @@ -504,33 +504,18 @@ if( !empty( $_REQUEST['cancel'] ) ) { 'user_id' => ROOT_USER_ID, ]; // now let's set up some default data. Group_id's are hardcoded in users/schema_inc defaults - if ( defined( 'ROLE_MODEL' ) ) { - $rootUser = new RolePermUser(); - if( $rootUser->store( $storeHash ) ) { - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", 1, 'Administrators','Site operators')" ); - $rootUser->addUserToRole( ROOT_USER_ID, 1 ); - } else { - \Bitweaver\vd( 'Errors in root user store:'.PHP_EOL ); - \Bitweaver\vd( $rootUser->mErrors ); - } - $gBitSystem->storeConfig( 'user_class', 'RolePermUser', USERS_PKG_NAME ); - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", ".ANONYMOUS_TEAM_ID.", 'Anonymous','Public users not logged')" ); - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", 2, 'Editors','Site Editors')" ); - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`,`is_default`) VALUES ( ".ROOT_USER_ID.", 3, 'Registered', 'Users logged into the system', 'y')" ); + $rootUser = new RolePermUser(); + if( $rootUser->store( $storeHash ) ) { + $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", 1, 'Administrators','Site operators')" ); + $rootUser->addUserToRole( ROOT_USER_ID, 1 ); } else { -// $tempUser = new BitUser(); // for BitUser::registerContentType - $rootUser = new RolePermUser(); - if( $rootUser->store( $storeHash ) ) { - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`) VALUES ( ".ROOT_USER_ID.", 1, 'Administrators','Site operators')" ); - $rootUser->addUserToGroup( ROOT_USER_ID, 1 ); - } else { - \Bitweaver\vd( 'Errors in root user store:'.PHP_EOL ); - \Bitweaver\vd( $rootUser->mErrors ); - } - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`) VALUES ( ".ROOT_USER_ID.", ".ANONYMOUS_GROUP_ID.", 'Anonymous','Public users not logged')" ); - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`) VALUES ( ".ROOT_USER_ID.", 2, 'Managers','Site Managers')" ); - $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`,`is_default`) VALUES ( ".ROOT_USER_ID.", 3, 'Registered', 'Users logged into the system', 'y')" ); + \Bitweaver\vd( 'Errors in root user store:'.PHP_EOL ); + \Bitweaver\vd( $rootUser->mErrors ); } + $gBitSystem->storeConfig( 'user_class', 'RolePermUser', USERS_PKG_NAME ); + $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", ".ANONYMOUS_TEAM_ID.", 'Anonymous','Public users not logged')" ); + $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", 2, 'Editors','Site Editors')" ); + $gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`,`is_default`) VALUES ( ".ROOT_USER_ID.", 3, 'Registered', 'Users logged into the system', 'y')" ); $gBitUser->assignLevelPermissions( ANONYMOUS_TEAM_ID, 'basic' ); $gBitUser->assignLevelPermissions( 3, 'registered' ); @@ -548,22 +533,12 @@ if( !empty( $_REQUEST['cancel'] ) ) { 'user_id' => ANONYMOUS_USER_ID, 'default_role_id' => ANONYMOUS_TEAM_ID, ]; - if ( defined( 'ROLE_MODEL' ) ) { - $anonUser = new RolePermUser(); - if( $anonUser->store( $storeHash ) ) { - // Remove anonymous from registered group - $regRoleId = $anonUser->roleExists( 'Registered', ROOT_USER_ID ); - $anonUser->removeUserFromRole( ANONYMOUS_USER_ID, $regRoleId ); - $anonUser->addUserToRole( ANONYMOUS_USER_ID, ANONYMOUS_TEAM_ID); - } - } else { - $anonUser = new RolePermUser(); - if( $anonUser->store( $storeHash ) ) { - // Remove anonymous from registered group - $regGroupId = $anonUser->groupExists( 'Registered', ROOT_USER_ID ); - $anonUser->removeUserFromGroup( ANONYMOUS_USER_ID, $regGroupId ); - $anonUser->addUserToGroup( ANONYMOUS_USER_ID, ANONYMOUS_GROUP_ID); - } + $anonUser = new RolePermUser(); + if( $anonUser->store( $storeHash ) ) { + // Remove anonymous from registered group + $regRoleId = $anonUser->roleExists( 'Registered', ROOT_USER_ID ); + $anonUser->removeUserFromRole( ANONYMOUS_USER_ID, $regRoleId ); + $anonUser->addUserToRole( ANONYMOUS_USER_ID, ANONYMOUS_TEAM_ID); } // Create 'Admin' user has id= 2 @@ -576,26 +551,14 @@ if( !empty( $_REQUEST['cancel'] ) ) { 'user_id' => 2, 'pass_due' => false, ]; - if ( defined( 'ROLE_MODEL' ) ) { - $adminUser = new RolePermUser(); - if( $adminUser->store( $storeHash ) ) { - // add user to admin role - $adminUser->addUserToRole( $adminUser->mUserId, 1 ); - // set admin role as default - $adminUser->storeUserDefaultRole( $adminUser->mUserId, 1 ); - } else { - \Bitweaver\vd( $adminUser->mErrors ); die; - } + $adminUser = new RolePermUser(); + if( $adminUser->store( $storeHash ) ) { + // add user to admin role + $adminUser->addUserToRole( $adminUser->mUserId, 1 ); + // set admin role as default + $adminUser->storeUserDefaultRole( $adminUser->mUserId, 1 ); } else { - $adminUser = new RolePermUser(); - if( $adminUser->store( $storeHash ) ) { - // add user to admin group - $adminUser->addUserToGroup( $adminUser->mUserId, 1 ); - // set admin group as default - $adminUser->storeUserDefaultGroup( $adminUser->mUserId, 1 ); - } else { - \Bitweaver\vd( $adminUser->mErrors ); die; - } + \Bitweaver\vd( $adminUser->mErrors ); die; } // kill admin info in $_SESSION diff --git a/templates/install_bit_settings.tpl b/templates/install_bit_settings.tpl index 4152546..8e79962 100755 --- a/templates/install_bit_settings.tpl +++ b/templates/install_bit_settings.tpl @@ -36,11 +36,7 @@ {forminput}