<?php

class ACMS_GET_Admin_Fix_Index extends ACMS_GET_Admin
{
    public function get()
    {
        if ('fix_index' !== ADMIN) {
            return '';
        }
        if (!sessionWithAdministration()) {
            die403();
        }

        $Tpl = new Template($this->tpl, new ACMS_Corrector());
        $aryAdmin = [
            'fix_image',
            'fix_unit-size',
            'fix_unit-group',
            'fix_group-unit',
            'fix_unit-map',
            'fix_unit-legacy-text-tag',
            'fix_sequence',
            'fix_fulltext',
            'fix_field-search',
            'fix_db-index',
            'fix_blog-align',
            'fix_category-align',
            'fix_comment-align',
            'fix_tag',
            'fix_replacement',
            'fix_webp',
        ];
        foreach ($aryAdmin as $admin) {
            // WebP変換はサイト内の全画像に影響するため、一覧への表示もルートブログの管理者に限定する。
            // BID を渡すと isControlBlog() が自ブログと配下を許してしまうので、RBID を渡して
            // 「ルートブログの管理者か」を判定する。
            if ($admin === 'fix_webp' && !sessionWithAdministration(RBID)) {
                continue;
            }
            $AP     = [
                'bid'   => BID,
                'admin' => $admin,
            ];
            $Tpl->add($admin, [
                'url'   => acmsLink($AP),
            ]);
        }

        return $Tpl->get();
    }
}
