<?php
/**
 * @package Dotclear
 * @subpackage Backend
 *
 * @copyright Olivier Meunier & Association Dotclear
 * @copyright GPL-2.0-only
 *
 * @var dcCore $core
 */
require __DIR__ . '/../inc/admin/prepend.php';

dcPage::check('usage,contentadmin');

$helpPage = function (...$args) {
    $ret = ['content' => '', 'title' => ''];

    if (empty($args)) {
        return $ret;
    }
    ;

    global $__resources;
    if (empty($__resources['help'])) {
        return $ret;
    }

    $content = '';
    $title   = '';
    foreach ($args as $v) {
        if (is_object($v) && isset($v->content)) {
            $content .= $v->content;

            continue;
        }

        if (!isset($__resources['help'][$v])) {
            continue;
        }
        $f = $__resources['help'][$v];
        if (!file_exists($f) || !is_readable($f)) {
            continue;
        }

        $fc = file_get_contents($f);
        if (preg_match('|<body[^>]*?>(.*?)</body>|ms', $fc, $matches)) {
            $content .= $matches[1];
            if (preg_match('|<title[^>]*?>(.*?)</title>|ms', $fc, $matches)) {
                $title = $matches[1];
            }
        } else {
            $content .= $fc;
        }
    }

    if (trim($content) == '') {
        return $ret;
    }

    $ret['content'] = $content;
    if ($title != '') {
        $ret['title'] = $title;
    }

    return $ret;
};

$help_page     = !empty($_GET['page']) ? html::escapeHTML($_GET['page']) : 'index';
$content_array = $helpPage($help_page);
if (($content_array['content'] == '') || ($help_page == 'index')) {
    $content_array = $helpPage('index');
}
if ($content_array['title'] != '') {
    $breadcrumb = dcPage::breadcrumb(
        [
            __('Global help')       => $core->adminurl->get('admin.help'),
            $content_array['title'] => '',
        ]
    );
} else {
    $breadcrumb = dcPage::breadcrumb(
        [
            __('Global help') => '',
        ]
    );
}

/* DISPLAY
-------------------------------------------------------- */
dcPage::open(
    __('Global help'),
    dcPage::jsPageTabs('first-step'),
    $breadcrumb
);

echo $content_array['content'];

// Prevents global help link display
$GLOBALS['__resources']['ctxhelp'] = true;

dcPage::close();
