<?php
    /**
     * @since 6.4.0 Allowing to define 404 for any user or role
     * @since 6.0.0 Initial implementation of the templates
     *
     * @version 6.4.0
     * */
?>

<?php if (defined('AAM_KEY')) { ?>
    <div class="aam-feature" id="404redirect-content">
        <div class="row">
            <div class="col-xs-12">
                <?php if ($this->getSubject()->isDefault()) {  ?>
                    <p class="aam-info">
                        <?php echo AAM_Backend_View_Helper::preparePhrase('Define the [default] 404 (Not Found) redirect for all the users and roles.', 'strong'); ?>
                    </p>
                <?php } else { ?>
                    <p class="aam-info">
                        <?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('Customize 404 (Not Found) redirect for [%s] when requested page is not found.', 'strong'), $this->getSubject()->getName()); ?>
                    </p>
                <?php } ?>
                <div class="aam-overwrite" id="aam-404redirect-overwrite" style="display: <?php echo ($this->isOverwritten() ? 'block' : 'none'); ?>">
                    <span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
                    <span><a href="#" id="404redirect-reset" class="btn btn-xs btn-primary"><?php echo __('Reset to default', AAM_KEY); ?></a></span>
                </div>
            </div>
        </div>

        <div class="row">
            <div class="col-xs-12">
                <?php $type = $this->getOption('404.redirect.type', 'default'); ?>

                <div class="radio">
                    <input type="radio" name="404.redirect.type" id="404redirect-default" data-action="#default-redirect-action" value="default" <?php echo ($type === 'default' ? ' checked' : ''); ?> />
                    <label for="404redirect-default"><?php echo __('WordPress default behavior', AAM_KEY); ?></label>
                </div>
                <div class="radio">
                    <input type="radio" name="404.redirect.type" id="404redirect-page" data-action="#page-404redirect-action" value="page" <?php echo ($type === 'page' ? ' checked' : ''); ?> />
                    <label for="404redirect-page"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to existing page [(select from the drop-down)]', 'small'); ?></label>
                </div>
                <div class="radio">
                    <input type="radio" name="404.redirect.type" id="404redirect-url" data-action="#url-404redirect-action" value="url" <?php echo ($type === 'url' ? ' checked' : ''); ?> />
                    <label for="404redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the local URL [(enter full URL starting from http or https)]', 'small'); ?></label>
                </div>
                <div class="radio">
                    <input type="radio" name="404.redirect.type" id="404redirect-callback" data-action="#callback-404redirect-action" value="callback" <?php echo ($type === 'callback' ? ' checked' : ''); ?> />
                    <label for="404redirect-callback"><?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('Trigger PHP callback function [(valid %sPHP callback%s is required)]', 'small'), '<a href="https://php.net/manual/en/language.types.callable.php" target="_blank">', '</a>'); ?></label>
                </div>

                <div class="form-group 404redirect-action" id="page-404redirect-action" style="display: <?php echo ($type == 'page' ? 'block' : 'none'); ?>;">
                    <label><?php echo __('Existing Page', AAM_KEY); ?></label>
                    <?php
                        wp_dropdown_pages(array(
                            'depth' => 99,
                            'selected' => $this->getOption('404.redirect.page'),
                            'echo' => 1,
                            'name' => '404.redirect.page',
                            'id' => '404redirect-page',
                            'class' => 'form-control',
                            'show_option_none' => __('-- Select Page --', AAM_KEY)
                        ));
                        ?>
                </div>

                <div class="form-group 404redirect-action" id="url-404redirect-action" style="display: <?php echo ($type === 'url' ? 'block' : 'none'); ?>;">
                    <label><?php echo __('The URL', AAM_KEY); ?></label>
                    <input type="text" class="form-control" name="404.redirect.url" placeholder="https://" value="<?php echo $this->getOption('404.redirect.url'); ?>" />
                </div>

                <div class="form-group 404-redirect-action" id="callback-404redirect-action" style="display: <?php echo ($type === 'callback' ? 'block' : 'none'); ?>;">
                    <label><?php echo __('PHP Callback Function', AAM_KEY); ?></label>
                    <input type="text" class="form-control" placeholder="Enter valid callback" name="404.redirect.callback" value="<?php echo $this->getOption('404.redirect.callback'); ?>" />
                </div>
            </div>
        </div>
    </div>
<?php }