<?php
/**
 * SeekQuarry/Yioop --
 * Open Source Pure PHP Search Engine, Crawler, and Indexer
 *
 * Copyright (C) 2009 - 2026  Chris Pollett chris@pollett.org
 *
 * LICENSE:
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 * END LICENSE
 *
 * @author Chris Pollett
 * @license https://www.gnu.org/licenses/ GPL3
 * @link https://www.seekquarry.com/
 * @copyright 2009 - 2026
 * @filesource
 */
namespace seekquarry\yioop\views;

use seekquarry\yioop\configs as C;

/**
 * View responsible for drawing the form where a user can suggest a URL
 *
 * @author Chris Pollett
 */
class SuggestView extends View
{
    /** This view is drawn on a web layout
     * @var string
     */
    public $layout = "web";
    /**
     * Draws the form where a user can suggest a url
     *
     * @param array $data  contains the anti CSRF token
     *     the view, data for captcha and recover dropdowns
     */
    public function renderView($data)
    {
        $logged_in = (isset($data['ADMIN']) && $data['ADMIN']);
        $append_url = ($logged_in && isset($data[C\p('CSRF_TOKEN')]))
                ? C\p('CSRF_TOKEN'). "=".$data[C\p('CSRF_TOKEN')] : "";
        $logo_field = "LOGO_LARGE";
        $logo = C\SHORT_BASE_URL . C\p('LOGO_LARGE');
        if ($_SERVER["MOBILE"]) {
            $logo_field = "LOGO_SMALL";
            $logo = C\SHORT_BASE_URL . C\p('LOGO_SMALL');
        }
        $logo = $this->helper("logo")->render($data,
            $logo_field, $logo);
        $missing = [];
        if (isset($data['MISSING'])) {
            $missing = $data['MISSING'];
        }
        ?>
        <div class="landing non-search">
        <div class="small-top">
            <h1 class="logo"><a href="<?= C\SHORT_BASE_URL . $append_url
                ?>"><img src="<?= $logo
                ?>" alt="<?= $this->logo_alt_text
                ?>" ></a><span> - <?=tl('suggest_view_suggest_url')
                ?></span></h1>
            <p class="center"><?= tl('suggest_view_instructions') ?></p>
            <form method="post">
            <?php  if (isset($_SESSION["random_string"])) { ?>
            <input type='hidden' name='nonce_for_string'
            id='nonce_for_string' >
            <input type='hidden' name='random_string' id='random_string'
                value='<?= $_SESSION["random_string"] ?>' >
            <input type='hidden' name='time1' id='time1'
                value='<?= $_SESSION["request_time"] ?>' >
            <input type='hidden' name='level' id='level'
                value='<?= $_SESSION["level"]?>' >
            <?php } ?>
            <input type='hidden' name='time' id='time'
                value='<?= time() ?>'/>
            <input type="hidden" name="c" value="register" >
            <input type="hidden" name="a" value="suggestUrl" >
            <input type="hidden" name="arg" value="save" >
            <input type="hidden" name="build_time" value="<?=
                $data['build_time'] ?>" >
                <div class="register">
                    <table>
                        <tr>
                            <th class="table-label"><label for="url">
                                <?php
                                e(tl('suggest_view_url')); ?></label>
                            </th>
                            <td class="table-input">
                                <input id="url" type="text"
                                    class="narrow-field" maxlength="<?=
                                    C\SHORT_TITLE_LEN ?>"
                                    name="url" value = "<?=$data['url'] ?>" ><?=
                                    in_array("url", $missing) ?
                                    '<span class="red">*</span>':'' ?></td>
                        </tr>
                        <tr>
                            <td></td>
                            <?php if (isset($_SESSION["random_string"])) { ?>
                            <td class="table-input">
                            <?php } else { ?>
                               <td class="table-input border-top">
                            <?php }?>
                               <input type="hidden"
                                name="<?= C\p('CSRF_TOKEN') ?>"
                                value="<?= $data[C\p('CSRF_TOKEN')] ?>" >
                                <button class="sides-margin" type="submit">
                                <?= tl('suggest_view_submit_url') ?>
                                </button>
                            </td>
                        </tr>
                    </table>
                </div>
            </form>
            <div class="signin-exit">
                <ul>
                <li><a href="."><?= tl('suggest_view_return') ?></a></li>
                </ul>
            </div>
        </div>
        </div>
        <div class='tall-landing-spacer'></div>
        <script>
            document.addEventListener('DOMContentLoaded', function() {
            var body = tag(body);
            body.onload = findNonce('nonce_for_string', 'random_string'
                , 'time', 'level');
            }, false);
        </script>
        <?php
        }
    }
