<?php

// SPDX-FileCopyrightText: 2018 Icinga GmbH <https://icinga.com>
// SPDX-License-Identifier: GPL-3.0-or-later

namespace Icinga\Module\Setup\Webserver;

use Icinga\Module\Setup\Webserver;

/**
 * Generate nginx configuration
 */
class Nginx extends Webserver
{
    protected $fpmUrl = '127.0.0.1:9000';

    protected $enableFpm = true;

    protected function createFpmUri()
    {
        return empty($this->fpmSocketPath) ? $this->fpmUrl : $this->fpmSocketSchema . $this->fpmSocketPath;
    }

    protected function getTemplate()
    {
        return <<<'EOD'
location ~ ^{urlPath}/index\.php(.*)$ {
  fastcgi_pass {fpmUri};
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME {documentRoot}/index.php;
  fastcgi_param ICINGAWEB_CONFIGDIR {configDir};
  fastcgi_param REMOTE_USER $remote_user;
}

location ~ ^{urlPath}(.+)? {
  alias {documentRoot};
  index index.php;
  try_files $1 $uri $uri/ {urlPath}/index.php$is_args$args;
}
EOD;
    }
}
