Last commit for src/views/elements/ManagemachinesElement.php: 2addb500315b7393a90fe66431d7832b1e7386c7

Adjust copyrights years

Chris Pollett [2024-01-03 21:Jan:rd]
Adjust copyrights years
<?php
/**
 * SeekQuarry/Yioop --
 * Open Source Pure PHP Search Engine, Crawler, and Indexer
 *
 * Copyright (C) 2009 - 2019  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 chris@pollett.org
 * @license https://www.gnu.org/licenses/ GPL3
 * @link https://www.seekquarry.com/
 * @copyright 2009 - 2019
 * @filesource
 */
namespace seekquarry\yioop\views\elements;

use seekquarry\yioop as B;
use seekquarry\yioop\configs as C;

/**
 * Used to draw the admin screen on which admin users can add/delete
 * and manage machines which might act as fetchers or queue_servers.
 * The managing protion of this element is actually done via an ajax
 * call of the MachinestatusView
 *
 * @author Chris Pollett
 */
class ManagemachinesElement extends Element
{
    /**
     * Draws the ManageMachines element to the output buffer
     *
     * @param array $data  contains antiCSRF token, as well as data for
     * the select fetcher number element.
     */
    public function render($data)
    {
        $admin_url = B\controllerUrl('admin', true);
        ?>
        <div class="current-activity">
        <h2><?= tl('managemachines_element_add_machine') . "&nbsp;" .
            $this->view->helper("helpbutton")->render(
                "Manage Machines", $data[C\CSRF_TOKEN]) ?></h2>
        <form id="addMachineForm" method="post">
        <input type="hidden" name="c" value="admin" />
        <input type="hidden" name="<?= C\CSRF_TOKEN ?>" value="<?=
            $data[C\CSRF_TOKEN] ?>" />
        <input type="hidden" name="a" value="manageMachines" />
        <input type="hidden" name="arg" value="addmachine" />
        <table class="name-table">
        <tr><th><label for="machine-name"><?=
            tl('managemachines_element_machine_name') ?></label></th>
            <td><input type="text" id="machine-name" name="name"
                maxlength="<?= C\NAME_LEN ?>" class="wide-field" /></td>
        </tr>
        <tr><th><label for="machine-url"><?=
            tl('managemachines_element_machineurl')?></label></th>
            <td><input type="url" id="machine-url" name="url"
                maxlength="<?=C\MAX_URL_LEN ?>" class="wide-field" /></td></tr>
        <tr><th><label for="channel-type"><?=
            tl('managemachines_element_machine_channel_type')?></label></th>
            <td><?php $this->view->helper("options")->render("channel-type",
            "channel", $data['CHANNELS'], $data['CHANNEL'],
            "toggleReplica()");
            ?></td></tr>
         <tr id="m1"><th><label for="parent-machine-name"><?=
            tl('managemachines_element_parent_name')?></label></th>
            <td><?php $this->view->helper("options")->render(
                "parent-machine-name", "parent",
                $data['PARENT_MACHINES'], $data['PARENT']); ?></td></tr>
        <tr id="m2"><th><label for="fetcher-number"><?=
            tl('managemachines_element_num_fetchers')?></label></th><td>
            <?php $this->view->helper("options")->render("fetcher-number",
            "num_fetchers", $data['FETCHER_NUMBERS'],$data['FETCHER_NUMBER']);
            ?></td></tr>
        <tr><th></th><td><button class="button-box" type="submit"><?=
            tl('managemachines_element_submit') ?></button></td>
        </tr>
        </table>
        </form>

        <h2><?= tl('managemachines_element_machine_info'). "&nbsp;" .
            $this->view->helper("helpbutton")->render(
                "Machine Information", $data[C\CSRF_TOKEN]) ?></h2>
        <div id="machinestatus" >
        <p class="red"><?= tl('managemachines_element_awaiting_status') ?></p>
        </div>
        <script>
        var updateId;
        function machineStatusUpdate()
        {
            var startUrl = "<?= $admin_url .
                C\CSRF_TOKEN."=".$data[C\CSRF_TOKEN] ?>&a=machineStatus<?=
                    '&num_show='.$data['NUM_SHOW']."&start_row=".
                    $data['START_ROW']."&end_row=".$data['END_ROW'] ?>";
            var machineTag = elt('machinestatus');
            getPage(machineTag, startUrl);
        }
        function clearUpdate()
        {
             clearInterval(updateId );
             var machineTag = elt('machinestatus');
             machineTag.innerHTML= "<h2 class='red'><?=
                tl('managemachines_element_no_longer_update')?></h2>";
        }
        function doUpdate()
        {
             var sec = 1000;
             var minute = 60 * sec;
             machineStatusUpdate();
             updateId = setInterval("machineStatusUpdate()", 30*sec);
             setTimeout("clearUpdate()", 20 * minute + sec);
        }
        function toggleReplica()
        {
            var channel = elt('channel-type')
            if (channel.value == -1) {
                m1_value = "table-row";
                m2_value = "none";
            } else {
                m1_value = "none";
                m2_value = "table-row";
            }
            setDisplay('m1', m1_value);
            setDisplay('m2', m2_value);
            return false;
        }
        </script>
        </div>
    <?php
    }
}
ViewGit