Esempio n. 1
0
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_providers";
    $page = 1;
    $FORCE_FILTER = null;
    $total = 0;
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS($table);
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM `{$table}` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}", 1);
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data", 1);
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $options_text = null;
        $delete = imgsimple("delete-32.png", null, "Delete{$t}('{$ligne["ID"]}')");
        $ip = new system_nic($ligne["INTERFACE"]);
        $interface = "{$ip->NICNAME} - " . $ligne["INTERFACE"];
        $linkInterface = $q->JS_INTERFACE($ligne["INTERFACE"]);
        $linkprovider = $q->JS_PROVIDER($ligne["ID"]);
        $options = array();
        if ($ligne["track"] == 1) {
            $options[] = $tpl->_ENGINE_parse_body("{routing_track}");
        }
        if ($ligne["tproxy"] == 1) {
            $options[] = $tpl->_ENGINE_parse_body("{routing_tproxy}");
        }
        if ($ligne["fallback"] > -1) {
            $options[] = $tpl->_ENGINE_parse_body("{fallback}");
        }
        if ($ligne["balance"] > -1) {
            $options[] = $tpl->_ENGINE_parse_body("{balance}");
        }
        if (count($options) > 0) {
            $options_text = "<br><i style='font-size:12px'>" . @implode(", ", $options) . "</i>";
        }
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkprovider}{$ligne["NAME"]}</a></span>{$options_text}", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkprovider}{$ligne["DUPLICATE"]}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkInterface}{$interface}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkprovider}{$ligne["GATEWAY"]}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
Esempio n. 2
0
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_rules";
    $page = 1;
    $FORCE_FILTER = null;
    $total = 0;
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM {$table} WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS("fw_rules");
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM {$table} WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}");
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data {$sql}");
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $NICNAME = null;
        $delete = imgsimple("delete-32.png", null, "Delete{$t}({$ligne["ID"]})");
        $editjs = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?rule-js=yes&ID={$ligne['ID']}&t={$t}',true);\"\n\t\tstyle='font-size:{$fontsize}px;font-weight:bold;color:{$color};text-decoration:underline'>";
        $icon = $q->RULES_POLICIES_ICON[$ligne["ACTION"]];
        $explain = explain_rule($ligne);
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$editjs}<img src='img/{$icon}'></span>", "<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$editjs}{$ligne["rulename"]}</a></span>", "<span style='font-size:12px;font-weight:normal;color:{$color}'>{$explain}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
Esempio n. 3
0
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_masq";
    $page = 1;
    $FORCE_FILTER = "AND `eth`='{$_GET["eth"]}'";
    $total = 0;
    if (!$q->FIELD_EXISTS("fw_masq", "zOrder")) {
        $sql = "ALTER TABLE `fw_masq` ADD `zOrder` INT( 3 ) NOT NULL DEFAULT '0'";
        $q->QUERY_SQL($sql, 'artica_backup');
    }
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS($table);
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM `{$table}` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}", 1);
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data", 1);
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $options_text = null;
        $delete = imgsimple("delete-32.png", null, "Delete{$t}('{$ligne["ID"]}')");
        $ip = new system_nic($ligne["INTERFACE"]);
        $interface = "{$ip->NICNAME} - " . $ligne["INTERFACE"];
        $linkprovider = "<a href=\"javascript:blur();\"\n\t\tstyle='font-size:{$fontsize}px;text-decoration:underline'\n\t\tOnClick=\"javascript:Loadjs('{$MyPage}?masq-js=yes&eth={$_GET["eth"]}&ID={$ligne["ID"]}&t={$_GET["t"]}');\">";
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkprovider}{$ligne["SOURCE"]}</a></span>", "<img src='img/arrow-right-24.png'>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$interface}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkInterface}{$ligne["ADDRESS"]}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
Esempio n. 4
0
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_interfaces";
    $page = 1;
    $FORCE_FILTER = null;
    $total = 0;
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS($table);
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM `{$table}` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}", 1);
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data", 1);
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $delete = imgsimple("delete-32.png", null, "Delete{$t}('{$ligne["eth"]}')");
        $ip = new system_nic($ligne["eth"]);
        $interface = "{$ip->NICNAME} - " . $ligne["eth"];
        $linkinterface = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?interface-js=yes&ID={$ligne["eth"]}&t={$t}');\" style='font-size:{$fontsize}px;text-decoration:underline'>";
        $data['rows'][] = array('id' => $ligne['eth'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>\n\t\t\t\t\t\t\t<img src='img/32-win-nic.png'>\n\t\t\t\t\t\t</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$linkinterface}{$interface}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$ligne["comment"]}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
Esempio n. 5
0
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_zones";
    $page = 1;
    $FORCE_FILTER = null;
    $total = 0;
    if ($q->COUNT_ROWS($table) == 0) {
        $q->CheckTables();
    }
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS($table);
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM `{$table}` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}");
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data");
    }
    $fontsize = "16";
    if ($searchstring == null) {
        $shorewall_firewall = $tpl->_ENGINE_parse_body("{shorewall_firewall}");
        $data['total']++;
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;'>fw</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;'>firewall</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;'>{$shorewall_firewall}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;'></span>"));
    }
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $NICNAME = null;
        if ($ligne['ID'] > 0) {
            $delete = imgsimple("delete-32.png", null, "Delete{$t}({$ligne["ID"]})");
        }
        $editjs = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?zone-js=yes&ID={$ligne['ID']}&t={$t}',true);\"\n\t\tstyle='font-size:{$fontsize}px;font-weight:bold;color:{$color};text-decoration:underline'>";
        if (trim($ligne["eth"]) != null) {
            $nic = new system_nic($ligne["eth"]);
            $jsinterface = "javascript:Loadjs('shorewall.interfaces.php?interface-js=yes&ID={$ligne["eth"]}&t={$t}');";
            if ($nic->NICNAME != null) {
                $NICNAME = "<i><a href=\"javascript:blur();\" OnClick=\"{$jsinterface}\"\n\t\t\tstyle='text-decoration:underline'>{$nic->NICNAME}</a></i>, ";
            }
        }
        if (isset($q->ZONES_RESERVED_WORDS[$ligne["zone"]])) {
            $delete = null;
            $editjs = null;
        }
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$editjs}{$ligne["zone"]}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$ligne["type"]}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$NICNAME}{$ligne["comment"]}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_objects";
    $page = 1;
    $FORCE_FILTER = null;
    $ruleid = $_GET["ruleid"];
    $total = 0;
    $FORCE_FILTER = null;
    if (!$q->TABLE_EXISTS("fw_objects")) {
        $q->QUERY_SQL("CREATE TABLE IF NOT EXISTS `fw_objects` (\n\t\t\t`ID` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY ,\n\t\t\t`groupname` VARCHAR( 255 ) NOT NULL,\n\t\t\t`grouptype` VARCHAR(20) NOT NULL,\n\t\t\t KEY `groupname` (`groupname`),\n\t\t\t KEY `grouptype` (`grouptype`)\n\t\t\t) ENGINE=MYISAM;");
    }
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM {$table} WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS("fw_objects");
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM {$table} WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}");
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data {$sql}");
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $NICNAME = null;
        $delete = imgsimple("delete-32.png", null, "Loadjs('{$MyPage}?remove-group-js={$ligne["ID"]}&t={$_GET["t"]}&t-rule={$_GET["t-rule"]}&tt={$_GET["tt"]}')");
        $link = imgsimple("arrow-right-32.png", null, "Link{$_GET["tt"]}({$ligne["ID"]})");
        $editjs = "<a href=\"javascript:blur();\" \n\t\tOnClick=\"javascript:Loadjs('shorewall.groups.items.php?js=yes&groupid={$ligne['ID']}&t={$_GET["t"]}',true);\"\n\t\tstyle='font-size:{$fontsize}px;font-weight:bold;color:{$color};text-decoration:underline'>";
        $groupname = utf8_encode($ligne["groupname"]);
        $grouptype = $tpl->_ENGINE_parse_body($q->RULES_POLICIES_GROUP_TYPE[$ligne["grouptype"]]);
        $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(ID) as tcount FROM fw_items WHERE groupid='{$ligne['ID']}'"));
        $itemsNum = $ligne2["tcount"];
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$editjs}{$groupname}</span>", "<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$editjs}{$grouptype}</a></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$itemsNum}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$link}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
Esempio n. 7
0
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "(SELECT fw_objects.groupname,fw_objects.grouptype,\n\t\t\tfw_objects_lnk.`ID` as linkid,\n\t\t\tfw_objects_lnk.`ruleid`,\n\t\t\tfw_objects_lnk.`reverse`,\n\t\t\t`fw_objects_lnk`.`groupid`,\n\t\t\tfw_objects_lnk.`INOUT` FROM `fw_objects_lnk`,`fw_objects`\n\t\t\tWHERE `fw_objects_lnk`.`groupid`=`fw_objects`.`ID`) as t";
    $page = 1;
    $FORCE_FILTER = null;
    $ruleid = $_GET["ruleid"];
    $total = 0;
    $FORCE_FILTER = "AND `ruleid`={$ruleid}";
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM {$table} WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS("fw_objects_lnk");
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM {$table} WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}");
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data {$sql}");
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $NICNAME = null;
        $delete = imgsimple("delete-24.png", null, "Loadjs('{$MyPage}?unlink-group-js=yes&linkid={$ligne["linkid"]}&groupid={$ligne["groupid"]}&t={$_GET["t"]}&ruleid={$ruleid}')");
        $editjs = "<a href=\"javascript:blur();\" \n\t\tOnClick=\"javascript:Loadjs('shorewall.groups.items.php?js=yes&groupid={$ligne['groupid']}&t={$_GET["t"]}',true);\"\n\t\tstyle='font-size:{$fontsize}px;font-weight:bold;color:{$color};text-decoration:underline'>";
        $grouptype = $tpl->_ENGINE_parse_body($q->RULES_POLICIES_GROUP_TYPE[$ligne["grouptype"]]);
        $groupname = utf8_encode($ligne["groupname"]);
        $ID = $ligne["ID"];
        $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(ID) as tcount FROM fw_items WHERE groupid='{$ligne['groupid']}'"));
        $itemsNum = $ligne2["tcount"];
        if ($ligne["INOUT"] == 0) {
            $in = Field_checkbox("INOUT", 1, 1, "INOUT{$t}({$ligne["linkid"]})");
            $out = Field_checkbox("INOUT", 1, 0, "INOUT{$t}({$ligne["linkid"]})");
        } else {
            $in = Field_checkbox("INOUT", 1, 0, "INOUT{$t}({$ligne["linkid"]})");
            $out = Field_checkbox("INOUT", 1, 1, "INOUT{$t}({$ligne["linkid"]})");
        }
        $rev = Field_checkbox("reverse", 1, $ligne["reverse"], "reverse{$t}({$ligne["linkid"]})");
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$editjs}{$groupname}</a><br><i style='font-size:12px'>&nbsp;{$grouptype}</i></span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$itemsNum}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$in}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$out}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$rev}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}
function items()
{
    $tpl = new templates();
    $MyPage = CurrentPageName();
    $q = new mysql_shorewall();
    $t = $_GET["t"];
    $search = '%';
    $table = "fw_items";
    $page = 1;
    $FORCE_FILTER = null;
    $groupid = $_GET["groupid"];
    $total = 0;
    $FORCE_FILTER = "AND `groupid`={$groupid}";
    if (isset($_POST["sortname"])) {
        if ($_POST["sortname"] != null) {
            $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}";
        }
    }
    if (isset($_POST['page'])) {
        $page = $_POST['page'];
    }
    $searchstring = string_to_flexquery();
    if ($searchstring != null) {
        $sql = "SELECT COUNT(*) as TCOUNT FROM {$table} WHERE 1 {$FORCE_FILTER} {$searchstring}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql));
        $total = $ligne["TCOUNT"];
    } else {
        $total = $q->COUNT_ROWS("fw_items");
    }
    if (isset($_POST['rp'])) {
        $rp = $_POST['rp'];
    }
    $pageStart = ($page - 1) * $rp;
    if (is_numeric($rp)) {
        $limitSql = "LIMIT {$pageStart}, {$rp}";
    }
    $sql = "SELECT *  FROM {$table} WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}";
    $results = $q->QUERY_SQL($sql);
    $no_rule = $tpl->_ENGINE_parse_body("{no_rule}");
    $data = array();
    $data['page'] = $page;
    $data['total'] = $total;
    $data['rows'] = array();
    if (!$q->ok) {
        json_error_show($q->mysql_error . "<br>{$sql}");
    }
    if (mysql_num_rows($results) == 0) {
        json_error_show("no data {$sql}");
    }
    $fontsize = "16";
    while ($ligne = mysql_fetch_assoc($results)) {
        $color = "black";
        $NICNAME = null;
        $delete = imgsimple("delete-24.png", null, "Loadjs('{$MyPage}?delete-item-js=yes&ID={$ligne["ID"]}&groupid={$ligne["groupid"]}&t={$_GET["t"]}')");
        $fw_items = utf8_encode($ligne["item"]);
        $ID = $ligne["ID"];
        $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(ID) as tcount FROM fw_items WHERE groupid='{$ligne['groupid']}'"));
        $itemsNum = $ligne2["tcount"];
        $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:{$fontsize}px;font-weight:bold;color:{$color}'>{$fw_items}</span>", "<span style='font-size:{$fontsize}px;font-weight:normal;color:{$color}'>{$delete}</span>"));
    }
    echo json_encode($data);
}