---

- name: Install PhpMyAdmin

  collections: [ 'debops.debops', 'debops.roles01',
                 'debops.roles02', 'debops.roles03' ]

  hosts: [ 'debian10' ]

  vars:
    - phpmyadmin_version: 5.2.1
      # https://docs.ansible.com/ansible/latest/collections/community/general/random_string_lookup.html#keyword-parameters
    - blowfish_secret: "{{ lookup('community.general.random_string', length=32) }}"

  tasks:
    - name: 'Download phpMyAdmin {{ phpmyadmin_version }} into var/www dir and uncompress'
      become: true
      become_user: '{{ site_name }}'
      shell: |-
        cd /var/www
        rm -rf phpmyadmin
        wget -q https://files.phpmyadmin.net/phpMyAdmin/{{ phpmyadmin_version }}/phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip
        unzip -qq phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip
        rm phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip
        mv phpMyAdmin-{{ phpmyadmin_version }}-all-languages phpmyadmin
        cd phpmyadmin
        cp config.sample.inc.php config.inc.php
        mkdir tmp && sudo chown :33 tmp && chmod g+w tmp

    - name: 'Set cookie blowfish secret'
      # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/replace_module.html
      replace:
        path: /var/www/phpmyadmin/config.inc.php
        regexp: "'blowfish_secret'] = ''"
        replace: "'blowfish_secret'] = '{{ blowfish_secret | replace('\'', '\\\'') }}'\n\n$cfg['CookieSameSite'] = 'Lax';\n"

    - name: 'Set MaxTableList'
      replace:
        path: /var/www/phpmyadmin/config.inc.php
        regexp: "^//$cfg['MaxRows'](.*)"
        replace: "//$cfg['MaxRows']\1\n\n$cfg['MaxTableList'] = 500;\n"