<?php

/**
 * @noinspection PhpInconsistentReturnPointsInspection
 * @noinspection PhpReturnDocTypeMismatchInspection
 */

namespace bff\utils;

use Component;

/**
 * Компонент формирования Sitemap.xml файлов
 * @copyright Tamaranga
 */
class Sitemap extends Component
{
    public function __construct()
    {
    }

    /**
     * Устанавливаем лимит кол-ва записей на один файл
     * По умолчанию - 50000
     * @param int $limit
     * @return void
     */
    public function setLimit($limit)
    {
    }

    /**
     * Выполнять ли ping поисковым системам
     * По умолчанию - false
     * @param bool $ping
     * @return void
     */
    public function setPing(bool $ping)
    {
    }

    /**
     * Изменять в ссылках все префиксы 'http://' на 'https://'
     * По умолчанию - false
     * @param bool $enable
     * @return void
     */
    public function forceHttps($enable = true)
    {
    }

    /**
     * Формируем sitemap.xml файл(ы) на основе массива callable функций
     * @param array $data @ref список callback-функций генерирующих данные, function($count = false, callable $callback = null){}
     * @param string $filename имя sitemap.xml файла, без расширения '.xml'
     * @param string $path путь к sitemap.xml файлу
     * @param string $url URL путь к sitemap.xml файлу
     * @param bool $gzip выполнять gzip-сжатие
     * @return array
     */
    public function buildIterator(array &$data, $filename, $path, $url, $gzip = true)
    {
    }
}