Merge branch 'floviolleau-db-prefixes' of https://github.com/floviolleau/BookStack into floviolleau-floviolleau-db-prefixes
This commit is contained in:
		
						commit
						0f66c8a0cc
					
				| 
						 | 
				
			
			@ -23,6 +23,7 @@ APP_URL=https://example.com
 | 
			
		|||
# Database details
 | 
			
		||||
DB_HOST=localhost
 | 
			
		||||
DB_DATABASE=database_database
 | 
			
		||||
DB_TABLE_PREFIX=
 | 
			
		||||
DB_USERNAME=database_username
 | 
			
		||||
DB_PASSWORD=database_user_password
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,4 +42,4 @@ MAIL_HOST=localhost
 | 
			
		|||
MAIL_PORT=1025
 | 
			
		||||
MAIL_USERNAME=null
 | 
			
		||||
MAIL_PASSWORD=null
 | 
			
		||||
MAIL_ENCRYPTION=null
 | 
			
		||||
MAIL_ENCRYPTION=null
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,7 @@ APP_PROXIES=null
 | 
			
		|||
DB_HOST=localhost
 | 
			
		||||
DB_PORT=3306
 | 
			
		||||
DB_DATABASE=database_database
 | 
			
		||||
DB_TABLE_PREFIX=
 | 
			
		||||
DB_USERNAME=database_username
 | 
			
		||||
DB_PASSWORD=database_user_password
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -607,13 +607,13 @@ class PermissionService
 | 
			
		|||
     */
 | 
			
		||||
    public function filterRestrictedEntityRelations($query, string $tableName, string $entityIdColumn, string $entityTypeColumn, string $action = 'view')
 | 
			
		||||
    {
 | 
			
		||||
        $tableDetails = ['tableName' => $tableName, 'entityIdColumn' => $entityIdColumn, 'entityTypeColumn' => $entityTypeColumn];
 | 
			
		||||
        $tableDetails = ['tableName' => $this->db->getTablePrefix() . $tableName, 'entityIdColumn' => $entityIdColumn, 'entityTypeColumn' => $entityTypeColumn];
 | 
			
		||||
 | 
			
		||||
        $q = $query->where(function ($query) use ($tableDetails, $action) {
 | 
			
		||||
            $query->whereExists(function ($permissionQuery) use (&$tableDetails, $action) {
 | 
			
		||||
                $permissionQuery->select(['role_id'])->from('joint_permissions')
 | 
			
		||||
                    ->whereRaw('joint_permissions.entity_id=' . $tableDetails['tableName'] . '.' . $tableDetails['entityIdColumn'])
 | 
			
		||||
                    ->whereRaw('joint_permissions.entity_type=' . $tableDetails['tableName'] . '.' . $tableDetails['entityTypeColumn'])
 | 
			
		||||
                    ->whereRaw($this->db->getTablePrefix() . 'joint_permissions.entity_id=' . $tableDetails['tableName'] . '.' . $tableDetails['entityIdColumn'])
 | 
			
		||||
                    ->whereRaw($this->db->getTablePrefix() . 'joint_permissions.entity_type=' . $tableDetails['tableName'] . '.' . $tableDetails['entityTypeColumn'])
 | 
			
		||||
                    ->where('action', '=', $action)
 | 
			
		||||
                    ->whereIn('role_id', $this->getCurrentUserRoles())
 | 
			
		||||
                    ->where(function (QueryBuilder $query) {
 | 
			
		||||
| 
						 | 
				
			
			@ -640,7 +640,7 @@ class PermissionService
 | 
			
		|||
            $query->where(function ($query) use (&$tableDetails, $morphClass) {
 | 
			
		||||
                $query->whereExists(function ($permissionQuery) use (&$tableDetails, $morphClass) {
 | 
			
		||||
                    $permissionQuery->select('id')->from('joint_permissions')
 | 
			
		||||
                        ->whereRaw('joint_permissions.entity_id=' . $tableDetails['tableName'] . '.' . $tableDetails['entityIdColumn'])
 | 
			
		||||
                        ->whereRaw($this->db->getTablePrefix() . 'joint_permissions.entity_id=' . $tableDetails['tableName'] . '.' . $tableDetails['entityIdColumn'])
 | 
			
		||||
                        ->where('entity_type', '=', $morphClass)
 | 
			
		||||
                        ->where('action', '=', 'view')
 | 
			
		||||
                        ->whereIn('role_id', $this->getCurrentUserRoles())
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ return [
 | 
			
		|||
            'port'           => $mysql_port,
 | 
			
		||||
            'charset'        => 'utf8mb4',
 | 
			
		||||
            'collation'      => 'utf8mb4_unicode_ci',
 | 
			
		||||
            'prefix'         => '',
 | 
			
		||||
            'prefix'         => env('DB_TABLE_PREFIX', ''),
 | 
			
		||||
            'prefix_indexes' => true,
 | 
			
		||||
            'strict'         => false,
 | 
			
		||||
            'engine'         => null,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue