Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > dca483b59ba61f3fa092de932ddd570e > files > 220

nuface-2.0.14-2mdv2009.1.i586.rpm

<?php
# Copyright(C) 2004-2006 INL
# Written by Eric Leblond <regit@inl.fr>
#            Vincent Deffontaines <gryzor@inl.fr>
#            Jean Gillaux <jean@inl.fr>
#            Damien Boucard <damien.boucard AT inl.fr>
#
# $Id: action_menu.php 17927 2009-02-16 13:16:09Z haypo $
#
# 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, version 3 of the License.
#
#  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 <http://www.gnu.org/licenses/>.

require_once('menu.php');
require_once('file_function.php');

function actionMenu($ruleset)
{
    $files=file_list();
    echo '<div class="menu">'."\n";
    if (!hasDescFile()) {
        actionDescMenu();
    } else if ($ruleset) {
        actionMenuActiveRuleset($ruleset, $files);
        if ($ruleset->filename) {
            actionMenuFirewall($files, $ruleset);
        } else {
            echo "<div class='menucat'>\n";
            echo _("You need to save the file before applying the rules.") ."\n";
            echo '</div>';
        }

    } else {
        actionMenuRulesets($files);
        actionMenuFirewall($files);
    }
    echo "</div>\n";
}

function actionDescMenu()
{
    echo '<p class="error">'._("The network definition is missing. That file is required to use NuFace.")."</h2>\n";
    echo "<div class=\"level1\">\n";

    echo '<form action="index.php" method="post">';
    echo '<input type="hidden" name="generate_desc" value="1" />';
    echo '<input type="submit" value="'._("Autodetect your networks").'"> ';
    echo '</form></div>';

    echo "</div>\n";
}

function openMenuH2($title)
{
    echo '<h2>'.$title."</h2>\n";
    echo "<div class=\"level1\">\n";
}

function displayNewFirewallButton()
{
  print "<form action=\"index.php\" method=POST>\n";
  print "<table class=form> <tr><td>&nbsp;";
  print "</td><td class='submit'>";
  html_hidden('new_ruleset', '1');
  html_submit(_('New ruleset'), Array('class' => 'button'));
  print "</td></tr>";
  print "</table>";
  print "</form>";
}

function actionMenuRulesets($files)
{
    openMenuH2(_("Rulesets"));

    echo "<div class='menucat'>\n";
    displayNewFirewallButton();
    echo "</div>";


    if (1 <= count($files))
    {
        echo "<div class='menucat'>\n";
        display_openfile_menu($files);
        echo "</div>";
    }


    echo "<div class='menucat'>\n";
    echo '<form enctype="multipart/form-data" action="index.php" method="post">';
    html_hidden('upload_file', 'up');
    html_hidden('MAX_FILE_SIZE', '300000');
    echo '<table class="form"><tr><td>';
    echo '<input name="userfile" type="file">';
    echo '</td><td class="submit">';
    html_submit(_("Import"));
    echo '</td></tr></table>';
    echo '</form></div>';

    if (1 <= count($files))
    {
        echo "<div class='menucat'>\n";
        echo "<form onsubmit=\"return confirm('"._('Confirm deletion')."');\" action=\"index.php\">";
        echo '<table class="form"><tr><td>';
        select_rulesets($files, 'delete_file');
        echo '</td><td class="submit">';
        html_submit(_('Delete'), Array('class' => 'button'));
        echo '</td></tr></table>';
        echo "</form></div>";
    }

    echo '</div>';
}

function actionMenuFirewall($files, $ruleset=null)
{
    global $network_desc_file, $support_duplication, $nufw_firewall;

    if (!$files)
        return;

    openMenuH2(_('Firewall rules'));

    if ($ruleset) {
        if ($support_duplication) {
            $msg = _('Save, propagate and apply rules');
        } else {
            $msg = _('Save and apply rules');
        }
    } else {
        if ($support_duplication) {
            $msg = _('Propagate and apply rules');
        } else {
            $msg = _('Apply rules');
        }
    }

    echo "<div class='menucat'>\n";
    echo '<form action="index.php" method="post">';
    waiting_panel();
    echo '<table class="form"><tr>';
    echo '<td>';
    html_hidden('generate', '1');
    if ($ruleset) {
        html_hidden('used_file', basename($ruleset->filename));
        html_hidden('save_ruleset', '1');
    } else {
        select_rulesets($files, 'used_file', getHttp('used_file'));
    }
    if ($nufw_firewall)
    {
        if (!$ruleset) {
            echo '<br>';
        }
        echo '<input type="checkbox" name="with_nufw"';
        if (getHttpCheckbox('with_nufw', true))
            echo ' checked="checked" ';
        echo ' id="firewall_with_nufw">';
        echo '<label for="firewall_with_nufw">'._('With NuFW authentication').'</label>';
    }

    echo '</td><td class="submit">';
    html_submit($msg, Array('id' => 'panelbutton', 'class' => 'button'));
    echo '</td></tr></table>';
    echo '</form></div>';

    echo '</div>';
}

function actionMenuActiveRuleset($ruleset, $files)
{
    $name = $ruleset->name;
    $modified = $_SESSION['modified'];
    if ($modified) {
        $name = sprintf(_("%s (modified)"), $name);
    }
    $title = sprintf(_("Active ruleset: %s"), $name);

    openMenuH2($title);

    if ($ruleset->filename) {
        echo "<div class='menucat'>\n";
        echo '<form action="index.php">';
        html_hidden('output_file', basename($ruleset->filename));
        html_submit(_('Save'), Array('class' => 'button'));
        echo "</form></div>\n";
    }

    if ($modified)
        $msg = _('Close without saving');
    else
        $msg = _('Close');
    echo "<div class='menucat'>\n";
    echo '<form action="index.php"';
    if ($_SESSION['modified'])
        echo ' onsubmit="return confirm(\''._('Forget all changes?').'\');"';
    echo ' method="post">';
    html_hidden('forget', '1');
    html_submit($msg, Array('class' => 'button'));
    echo "</form></div>";

    echo "<div class='menucat'>\n";
    echo '<form action="index.php">';
    if ($ruleset->filename) {
        $text = _("Save copy as");
    } else {
        $text = _("Save as");
    }
    html_submit($text, Array('class' => 'button'));
    html_input_text('output_file');
    echo "</form></div>\n";

    echo "<div class='menucat'>\n";
    echo "<form action=\"index.php\">";
    echo "<input type=\"hidden\" name=\"xml_download\" value=\"1\">";
    echo "<input type=\"submit\" value=\""._('Export')."\" class=\"button\">";
    echo '</form></div>';

    echo '</div>';
}

?>