services:
    skouat.ppde.extension_manager:
        class: skouat\ppde\controller\extension_manager
        arguments:
            - '@service_container'
            - '@dbal.conn'
            - '@config'
            - '@filesystem'
            - '%tables.ext%'
            - '%core.root_path%'
            - '%core.php_ext%'
            - '@cache'

    skouat.ppde.ipn_listener:
        class: skouat\ppde\controller\ipn_listener
        arguments:
            - '@config'
            - '@language'
            - '@skouat.ppde.core_actions'
            - '@skouat.ppde.actions.post_data'
            - '@skouat.ppde.controller'
            - '@skouat.ppde.controller.admin.transactions'
            - '@skouat.ppde.ipn_log'
            - '@skouat.ppde.ipn_paypal'
            - '@request'
            - '@dispatcher'

    skouat.ppde.ipn_log:
        class: skouat\ppde\controller\ipn_log
        arguments:
            - '@config'
            - '@filesystem'
            - '@path_helper'
            - '@skouat.ppde.controller'

    skouat.ppde.ipn_paypal:
        class: skouat\ppde\controller\ipn_paypal
        arguments:
            - '@config'
            - '@language'
            - '@skouat.ppde.extension_manager'
            - '@skouat.ppde.ipn_log'
            - '@request'

    skouat.ppde.controller:
        class: skouat\ppde\controller\main_controller
        arguments:
            - '@config'
            - '@service_container'
            - '@controller.helper'
            - '@language'
            - '@skouat.ppde.actions.auth'
            - '@skouat.ppde.actions.currency'
            - '@request'
            - '@template'
            - '@user'
            - '@user_loader'
            - '%core.root_path%'
            - '%core.php_ext%'

    skouat.ppde.controller.main.displaystats:
        class: skouat\ppde\controller\main_display_stats
        arguments:
            - '@config'
            - '@language'
            - '@skouat.ppde.actions.currency'
            - '@template'

    skouat.ppde.controller.main.donate:
        class: skouat\ppde\controller\main_donate
        parent: skouat.ppde.controller
        calls:
            - [set_actions_vars, ['@skouat.ppde.actions.vars']]
            - [set_display_stats, ['@skouat.ppde.controller.main.displaystats']]
            - [set_entity_donation_pages, ['@skouat.ppde.entity.donation_pages']]
            - [set_operator_donation_pages, ['@skouat.ppde.operator.donation_pages']]

    skouat.ppde.controller.main.donorlist:
        class: skouat\ppde\controller\main_donor_list
        parent: skouat.ppde.controller
        calls:
            - [set_entity_transactions, ['@skouat.ppde.entity.transactions']]
            - [set_operator_transactions, ['@skouat.ppde.operator.transactions']]
            - [set_pagination, ['@pagination']]
            - [set_path_helper, ['@path_helper']]

    skouat.ppde.controller.admin.currency:
        class: skouat\ppde\controller\admin\currency_controller
        arguments:
            - '@config'
            - '@service_container'
            - '@language'
            - '@log'
            - '@skouat.ppde.actions.locale_icu'
            - '@skouat.ppde.entity.currency'
            - '@skouat.ppde.operator.currency'
            - '@request'
            - '@template'
            - '@user'

    skouat.ppde.controller.admin.donation_pages:
        class: skouat\ppde\controller\admin\donation_pages_controller
        arguments:
            - '@service_container'
            - '@language'
            - '@log'
            - '@skouat.ppde.actions.vars'
            - '@skouat.ppde.entity.donation_pages'
            - '@skouat.ppde.operator.donation_pages'
            - '@request'
            - '@template'
            - '@user'
            - '%core.root_path%'
            - '%core.php_ext%'

    skouat.ppde.controller.admin.overview:
        class: skouat\ppde\controller\admin\overview_controller
        arguments:
            - '@auth'
            - '@config'
            - '@language'
            - '@log'
            - '@skouat.ppde.core_actions'
            - '@skouat.ppde.actions.locale_icu'
            - '@skouat.ppde.controller'
            - '@skouat.ppde.controller.admin.transactions'
            - '@skouat.ppde.extension_manager'
            - '@skouat.ppde.ipn_paypal'
            - '@request'
            - '@template'
            - '@user'
            - '%core.adm_relative_path%'
            - '%core.root_path%'
            - '%core.php_ext%'

    skouat.ppde.controller.admin.settings:
        class: skouat\ppde\controller\admin\settings_controller
        arguments:
            - '@config'
            - '@language'
            - '@log'
            - '@skouat.ppde.actions.auth'
            - '@skouat.ppde.actions.currency'
            - '@skouat.ppde.actions.locale_icu'
            - '@request'
            - '@template'
            - '@user'

    skouat.ppde.controller.admin.paypal_features:
        class: skouat\ppde\controller\admin\paypal_features_controller
        arguments:
            - '@config'
            - '@language'
            - '@log'
            - '@skouat.ppde.controller'
            - '@skouat.ppde.ipn_paypal'
            - '@request'
            - '@template'
            - '@user'

    skouat.ppde.controller.admin.transactions:
        class: skouat\ppde\controller\admin\transactions_controller
        arguments:
            - '@auth'
            - '@config'
            - '@service_container'
            - '@language'
            - '@log'
            - '@skouat.ppde.core_actions'
            - '@skouat.ppde.actions.currency'
            - '@skouat.ppde.entity.transactions'
            - '@skouat.ppde.operator.transactions'
            - '@request'
            - '@template'
            - '@user'
            - '@user_loader'
            - '%core.adm_relative_path%'
            - '%core.root_path%'
            - '%core.php_ext%'
            - '%core.table_prefix%'
            - '%skouat.ppde.tables.ppde_transactions%'
