mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 10:19:09 +00:00 
			
		
		
		
	- Disabled LDAP feature flag (set to false by default, with comment) - Removed ldapautocreate plugin (PHP + XML) - Deleted LDAP helper tasks (01_ldap_files.yml, 05_ldap.yml, 07_diagnose.yml) - Deleted LDAP CLI helper scripts (cli.php, diagnose.php, plugins.php, auth-trace.php) - Removed LDAP configuration variables from vars/main.yml - Removed LDAP environment variables from env.j2 - Removed LDAP-specific mounts from docker-compose.yml.j2 - Dropped php-ldap installation from Dockerfile - Renamed task files for consistent numbering (02->01_install, 03->02_debug, 04->03_patch, 06->04_assert) Reason: LDAP integration was removed because it was not functional. Conversation: https://chatgpt.com/share/68b09373-7aa8-800f-8f2c-11e27123bad1
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| - name: "Ensure configuration.php DB settings match inventory"
 | |
|   command:
 | |
|     argv:
 | |
|       - docker
 | |
|       - exec
 | |
|       - -e
 | |
|       - J_DBTYPE={{ JOOMLA_DB_CONNECTOR }}
 | |
|       - -e
 | |
|       - J_DBHOST={{ database_host }}:{{ database_port }}
 | |
|       - -e
 | |
|       - J_DBUSER={{ database_username }}
 | |
|       - -e
 | |
|       - J_DBPASS={{ database_password }}
 | |
|       - -e
 | |
|       - J_DBNAME={{ database_name }}
 | |
|       - "{{ JOOMLA_CONTAINER }}"
 | |
|       - php
 | |
|       - -r
 | |
|       - |
 | |
|         $f = '{{ JOOMLA_CONFIG_FILE }}';
 | |
|         if (!file_exists($f)) { exit(0); }
 | |
|         $c = file_get_contents($f);
 | |
|         $changed = 0;
 | |
| 
 | |
|         $map = [
 | |
|           'dbtype'   => getenv('J_DBTYPE'),
 | |
|           'host'     => getenv('J_DBHOST'),
 | |
|           'user'     => getenv('J_DBUSER'),
 | |
|           'password' => getenv('J_DBPASS'),
 | |
|           'db'       => getenv('J_DBNAME'),
 | |
|         ];
 | |
| 
 | |
|         foreach ($map as $k => $v) {
 | |
|           // Escape single quotes for safe embedding into the PHP source string
 | |
|           $vEsc = str_replace("'", "\\'", $v);
 | |
| 
 | |
|           // Match current value in config: public $key = '...';
 | |
|           if (preg_match("/public \\$".$k."\\s*=\\s*'([^']*)';/", $c, $m) && $m[1] !== $v) {
 | |
|             $c = preg_replace(
 | |
|               "/public \\$".$k."\\s*=\\s*'[^']*';/",
 | |
|               "public $".$k." = '".$vEsc."';",
 | |
|               $c
 | |
|             );
 | |
|             $changed = 1;
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         if ($changed) { file_put_contents($f, $c); echo "changed"; } else { echo "ok"; }
 | |
|   register: cfg_patch
 | |
|   changed_when: cfg_patch.stdout == "changed"
 | |
|   failed_when: cfg_patch.rc != 0
 | |
|   when: joomla_installed.rc == 0
 |