<?php

use Duplicator\Utils\Help\Category;

defined("ABSPATH") or die("");

/**
 * Variables
 *
 * @var \Duplicator\Core\Controllers\ControllersManager $ctrlMng
 * @var \Duplicator\Core\Views\TplMng  $tplMng
 */

/** @var Category[] $categories */
$categories             = $tplMng->getDataValueArrayRequired('categories');
$categoriesWithArticles = $tplMng->getDataValueArray('categoriesWithArticles');
if (empty($categories)) : ?>
    <p>
        <?php
            printf(
                esc_html_x(
                    'Could not fetch help information. Please try again later or visit the %1$sonline docs%2$s.',
                    '%1$s and %2$s are the opening and closing tags for the link to the online docs.',
                    'duplicator-pro'
                ),
                '<a href="' . esc_url(DUPLICATOR_BLOG_URL . 'docs') . '" target="_blank">',
                '</a>'
            );
        ?>
    </p>
<?php else : ?>
    <ul class="dupli-help-category-list">
    <?php foreach ($categories as $category) : ?>
        <li class="dupli-help-category">
            <header>
                <i class="fa fa-folder-open"></i>
                <span><?php echo esc_html($category->getName()); ?></span>
                <i class="fa fa-angle-right"></i>
            </header>
            <?php if (count($category->getChildren()) > 0) { ?>
                <?php $tplMng->render('parts/help/category-list', ['categories' => $category->getChildren()]);
            } ?>
            <?php if ($category->getArticleCount() > 0 && isset($categoriesWithArticles[$category->getId()])) : ?>
                <?php $tplMng->render(
                    'parts/help/article-list',
                    [
                        'articles'   => $categoriesWithArticles[$category->getId()],
                        'list_class' => 'dupli-help-article-list',
                    ]
                ); ?>
            <?php endif; ?>
        </li>
    <?php endforeach; ?>
    </ul>
<?php endif; ?>
