<?php
    function uri_pill($pid, $domain_name) {
        $pill_info_file = sprintf(__DIR__ . '/configs/' . $domain_name . '/data/pillf_%s.php', $pid);

        if (file_exists($pill_info_file) && is_readable($pill_info_file)) {
            require $pill_info_file;

            if (!empty($data['description']['en']['uri'])) {
                return $data['description']['en']['uri'];
            }
        }

        return false;
    }

    header("Content-type: text/xml");
    $sitemap_return = '<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">%s</urlset>';

    $domain_name = basename(__DIR__);
    $sitemap_file = __DIR__ . '/configs/' . $domain_name . '/data/sitemap.php';
    $categories_pills_file = __DIR__ . '/configs/' . $domain_name . '/data/categories_pills.php';

    if (file_exists($sitemap_file) && is_readable($sitemap_file) &&
        file_exists($categories_pills_file) && is_readable($categories_pills_file)) {
        // categories_pills_file
        require_once $categories_pills_file;

        $pill_identificators = array();

        foreach ($data as $category_id => $categories_data) {
            if (is_array($categories_data)) {
                $pill_identificators = array_merge($pill_identificators, array_values($categories_data));
            }
        }

        $pill_identificators = array_values(array_unique($pill_identificators));

        unset($data);
        // categories_pills_file

        if (count($pill_identificators)) {
            // sitemap_file
            require_once $sitemap_file;

            $sitemap_items = array();
            $lastmod = date('Y-m-d', filemtime($sitemap_file));

            foreach ($data as $sitemap_data) {
                if ($sitemap_data['module'] == 'product' && $sitemap_data['lang'] !== 'get' && !empty($sitemap_data['oid']) && !empty($sitemap_data['url']) && in_array($sitemap_data['oid'], $pill_identificators)) {
                    $image_sitemap_pill = '';
                    $uri_pill = uri_pill($sitemap_data['oid'], $domain_name);

                    if ($uri_pill) {
                        $image_sitemap_pill = sprintf('<image:image><image:loc>https://%s/content/pack/350xAuto/%s.jpg</image:loc></image:image>',
                            $domain_name,
                            $uri_pill
                        );
                    }

                    $sitemap_items[] = sprintf('<url><loc>https://%s/%s</loc><lastmod>%s</lastmod><changefreq>monthly</changefreq><priority>1.0</priority>%s</url>',
                        $domain_name,
                        $sitemap_data['url'],
                        $lastmod,
                        $image_sitemap_pill
                    );
                }
            }

            unset($data);
            // sitemap_file
        }

        if (count($sitemap_items)) {
            echo sprintf($sitemap_return, implode("\n", $sitemap_items));
            die();
        }
    }

    echo sprintf($sitemap_return, '');
    die();
