---
# file: roles/php/tasks/oci-5.6.yml

- name: "Check OCI Requirement"
  stat:
    path: '/usr/lib/php/20131226/oci8.so'
  register: oci_file

- block:

  - name: "Enable OCI for PHP"
    copy:
      content: 'extension={{ item }}.so'
      dest: '/etc/{{ php_base_dir }}/{{ php_conf_dir }}/{{ item }}.ini'
      owner: 'root'
      group: 'root'
      mode: '644'
    with_items:
      - 'oci8'

  - name: "Remove possible components in /tmp"
    file:
      path: '/tmp/{{ item }}'
      state: 'absent'
    with_items:
      - 'instantclient_11_2'
      - 'oracle_x64_11_2_0_3_0_oci8_so_php_5_6'

  - name: "Make available Oracle InstantClient"
    command: scp -r {{ repository }}{{ item }} /tmp/
    become: no
    with_items:
      - 'instantclient_11_2'
      - 'oracle_x64_11_2_0_3_0_oci8_so_php_5_6'

  - name: "Remove /usr/local/lib/instantclient_11_2"
    file:
      path: '/usr/local/lib/instantclient_11_2'
      state: 'absent'

  - name: "Move Oracle InstantClient to /usr/local/lib"
    command: mv /tmp/instantclient_11_2 /usr/local/lib/

  - name: "Move oci8 to /usr/lib/php"
    command: mv /tmp/oracle_x64_11_2_0_3_0_oci8_so_php_4_5 /usr/lib/php/20131226/oci8.so

  - name: "Change ownership for Oracle InstantClient"
    file:
      path: '{{ item }}'
      owner: 'root'
      group: 'root'
      recurse: yes
      follow: no
    with_items:
      - '/usr/local/lib/instantclient_11_2'

  - name: "Ensure log directories"
    file:
      path: '/usr/local/lib/instantclient_11_2/log/diag/clients'
      owner: 'www-data'
      group: 'root'
      state: 'directory'
      mode: '775'
      follow: no

  - name: "Set permissions in log directories"
    file:
      path: '/usr/local/lib/instantclient_11_2/log'
      owner: 'www-data'
      group: 'root'
      mode: '775'
      recurse: yes
      follow: no

  - name: "Make available libclntsh.so"
    file:
      src: '/usr/local/lib/instantclient_11_2/libclntsh.so.11.1'
      dest: '/usr/local/lib/instantclient_11_2/libclntsh.so'
      state: 'link'

  when: not oci_file.stat.exists