- name: "Configure LDAP plugin params via helper" command: > docker exec {{ JOOMLA_CONTAINER }} sh -c 'test -f /var/www/html/cli/cli-ldap.php && php /var/www/html/cli/cli-ldap.php' register: ldap_conf changed_when: "'configured' in ldap_conf.stdout | lower" async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" - name: "Register & enable ldapautocreate Joomla system plugin" command: > docker exec {{ JOOMLA_CONTAINER }} sh -lc ' test -f /var/www/html/plugins/system/ldapautocreate/ldapautocreate.php || { echo "ERROR: plugin file missing"; exit 1; }; php -r " define(\"_JEXEC\",1); \$root=\"/var/www/html\"; require \$root.\"/includes/defines.php\"; require \$root.\"/includes/framework.php\"; \$dbo = Joomla\\CMS\\Factory::getDbo(); \$ext = \$dbo->setQuery( \"SELECT * FROM #__extensions WHERE type=\\\"plugin\\\" AND folder=\\\"system\\\" AND element=\\\"ldapautocreate\\\"\" )->loadObject(); if (!\$ext) { \$row = (object)[ \"name\" => \"plg_system_ldapautocreate\", \"type\" => \"plugin\", \"element\" => \"ldapautocreate\", \"folder\" => \"system\", \"enabled\" => 1, \"access\" => 1, \"protected\" => 0, \"manifest_cache\" => \"{}\", \"params\" => \"{}\", \"custom_data\" => \"{}\", \"state\" => 0, \"ordering\" => 0, \"client_id\" => 0 ]; \$dbo->insertObject(\"#__extensions\", \$row); echo \"Plugin registered + enabled\\n\"; } else { \$ext->enabled = 1; \$dbo->updateObject(\"#__extensions\", \$ext, \"extension_id\"); echo \"Plugin already exists, just enabled\\n\"; } " ' register: ldapautocreate_reg changed_when: > ('registered + enabled' in (ldapautocreate_reg.stdout | lower)) or ('just enabled' in (ldapautocreate_reg.stdout | lower)) failed_when: ldapautocreate_reg.rc != 0 when: JOOMLA_LDAP_AUTO_CREATE_ENABLED | bool