<?php

ob_start();
session_start();
require 'routeros_api.class.php';
?>

<?php 
$API = new routeros_api();
$IP = $_SESSION['ip'];
$user = $_SESSION['user'];
$password = $_SESSION['password'];
//Comprobamos conexion API
if ($API->connect($IP, $user, $password)) {
    //Comprobamos interfaces
    $Ports = $API->comm("/interface/ethernet/print");
    $numPorts = count($Ports);
    //Modelo
    $modeloCom = $API->comm("/system/routerboard/print");
    $modelo = $modeloCom[0]['model'];
    //Estado Link
    $valoresPar = json_encode(range(0, $numPorts - 1));
    $valores = substr($valoresPar, 1, -1);
    //Switch
    $switches = $API->comm("/interface/ethernet/switch/print");
    $numSwitches = count($switches);
    //Ports Switch
    $portsSwitch = $API->comm("/interface/ethernet/switch/port/print");
    $numPortsSwitch = count($portsSwitch);
    //puerto Trunk CR
    $estadoTrunkCR = $API->comm("/interface/ethernet/switch/egress-vlan-tag/print");
            if ($finalPort[strlen($finalPort) - 1] == ",") {
                $finalPort = rtrim($finalPort, ',');
            }
            //DELETE VLAN if last PORT
            if ($previousPort === $actualPort) {
                $API = new routeros_api();
                if ($API->connect($IP, $user, $password)) {
                    $API->write("/interface/ethernet/switch/egress-vlan-tag/remove", false);
                    $API->write("=.id=" . $cont2);
                    $Ports = $API->read();
                    $API->disconnect();
                }
            } else {
                $API = new routeros_api();
                if ($API->connect($IP, $user, $password)) {
                    $API->comm("/interface/ethernet/switch/egress-vlan-tag/set", array(".id" => $cont2, "tagged-ports" => $finalPort));
                    $API->disconnect();
                }
            }
        }
    }
}
?>

<!--Boton cerrar sesiĆ³n-->

<?php 
if ($_GET['logOut'] == 'yes') {
    session_destroy();
    header('Location:index.php');
}
            }]
	  });
  });
</script>



<?php 
$API = new routeros_api();
$IP = $_SESSION['ip'];
$user = $_SESSION['user'];
$password = $_SESSION['password'];
//Comprobamos conexion API
if ($API->connect($IP, $user, $password)) {
    //Comprobamos interfaces
    $Ports = $API->comm("/interface/ethernet/print");
    $numPorts = count($Ports);
    //Modelo
    $modeloCom = $API->comm("/system/routerboard/print");
    $modelo = $modeloCom[0]['model'];
    //Estado Link
    $valoresPar = json_encode(range(0, $numPorts - 1));
    $valores = substr($valoresPar, 1, -1);
    //CPU
    $cpuInfo = $API->comm("/system/resource/print");
    $API->write("/interface/ethernet/monitor", false);
    $API->write("=numbers=" . $valores, false);
    $API->write("=once=", true);
    $READ = $API->read(false);
    $statusPorts = $API->parse_response($READ);
    $API->disconnect();
?>
				</table>
				</div>
			</div>
		<div class="col-lg-2"></div>
		</div>
	</div>

<?php 
$permitDeny = $_POST['permitDeny'];
$sourceVlan = $_POST['sourceVlan'];
$destinationVlan = $_POST['destinationVlan'];
if (isset($_POST['submitButton'])) {
    $API = new routeros_api();
    if ($API->connect($IP, $user, $password)) {
        $API->comm("/ip/firewall/filter/add", array("chain" => "forward", "action" => $permitDeny, "in-interface" => $sourceVlan, "out-interface" => $destinationVlan));
        $API->disconnect();
    }
}
for ($cont = 0; $cont < $numFirewall; $cont++) {
    if (isset($_POST['disableRule' . $cont])) {
        $API = new routeros_api();
        $IP = $_SESSION['ip'];
        $user = $_SESSION['user'];
        $password = $_SESSION['password'];
        if ($API->connect($IP, $user, $password)) {
            $API->write("/ip/firewall/filter/remove", false);
            $API->write("=.id=" . $cont);
            $Ports = $API->read();
            $API->disconnect();
        }
<?php

ob_start();
session_start();
require 'routeros_api.class.php';
?>

<?php 
$API = new routeros_api();
$IP = $_SESSION['ip'];
$user = $_SESSION['user'];
$password = $_SESSION['password'];
//Comprobamos conexion API
if ($API->connect($IP, $user, $password)) {
    //Comprobamos interfaces
    $Ports = $API->comm("/interface/ethernet/print");
    $numPorts = count($Ports);
    //Modelo
    $modeloCom = $API->comm("/system/routerboard/print");
    $modelo = $modeloCom[0]['model'];
    //Interfaz VLAN
    $interfazVlan = $API->comm('/interface/vlan/print');
    //Firewall rules
    $firewall = $API->comm("/ip/firewall/filter/print");
    $numFirewall = count($firewall);
    $API->write("/interface/ethernet/monitor", false);
    $API->write("=numbers=" . $valores, false);
    $API->write("=once=", true);
    $READ = $API->read(false);
    $statusPorts = $API->parse_response($READ);
    $API->disconnect();
<?php

ob_start();
session_start();
require 'routeros_api.class.php';
?>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>

<?php 
$API = new routeros_api();
$IP = $_SESSION['ip'];
$user = $_SESSION['user'];
$password = $_SESSION['password'];
//Comprobamos conexion API
if ($API->connect($IP, $user, $password)) {
    //Modelo
    $modeloCom = $API->comm("/system/routerboard/print");
    $modelo = $modeloCom[0]['model'];
    //Modelo
    $cpuInfo = $API->comm("/system/resource/print");
}
echo "<div id='model'><p class='infoBold'>Model: </p>";
echo "<p>" . $modelo . "</p>\n\t\t\t</div></br>";
echo "<div id='cpu'>\n\t\t\t\t\t<div id='cpu2'><p class='infoBold'>CPU: </p></div>\n\t\t\t\t\t<div class='progress' style='margin-bottom: 0px;'>\n  \t\t\t\t\t  <div class='progress-bar' role='progressbar' aria-valuenow='{$cpuInfo['0']}['cpu-load']' aria-valuemin='0' aria-valuemax='100' style='min-width: 2em; width:" . $cpuInfo[0]['cpu-load'] . "%'>" . $cpuInfo[0]['cpu-load'] . "%\n \t\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t\t</div>";
echo "<div id='uptime'><p class='infoBold'>Uptime: </p><p>" . $cpuInfo[0]['uptime'] . "</p></div>";
<?php

ob_start();
session_start();
require 'routeros_api.class.php';
?>

<?php 
$API = new routeros_api();
$IP = $_SESSION['ip'];
$user = $_SESSION['user'];
$password = $_SESSION['password'];
//Comprobamos conexion API
if ($API->connect($IP, $user, $password)) {
    //Comprobamos interfaces
    $Ports = $API->comm("/interface/ethernet/print");
    $numPorts = count($Ports);
    //Todas Interfaces
    $Interfaces = $API->comm("/interface/print");
    $numInterfaces = count($Interfaces);
    //Modelo
    $modeloCom = $API->comm("/system/routerboard/print");
    $modelo = $modeloCom[0]['model'];
    //Estado Link
    $valoresPar = json_encode(range(0, $numPorts - 1));
    $valores = substr($valoresPar, 1, -1);
    //Switch
    $switches = $API->comm("/interface/ethernet/switch/print");
    $numSwitches = count($switches);
    //Interfaz VLAN
    $interfazVlan = $API->comm('/interface/vlan/print');
$VlanAddress = $_POST['VlanAddress'];
$dstAddress = $_POST['dstAddress'];
$gateway = $_POST['gateway'];
if (isset($_POST['submitButton'])) {
    $API = new routeros_api();
    if ($API->connect($IP, $user, $password)) {
        $API->comm("/interface/vlan/add", array("interface" => $interfaz, "vlan-id" => $VlanID, "name" => "VLAN-" . $VlanID, "comment" => $VlanName));
        $API->comm("/ip/address/add", array("address" => $VlanAddress, "interface" => "VLAN-" . $VlanID));
        $API->disconnect();
    }
}
if (isset($_POST['submitButton2'])) {
    //IF selected gateway was selected and ip gateway too, send ip gateway
    $API = new routeros_api();
    if ($API->connect($IP, $user, $password)) {
        $API->comm("/ip/route/add", array("dst-address" => $dstAddress, "gateway" => $gateway));
        $API->disconnect();
    }
}
?>
<!-- Eliminar Interfaz-->
<?php 
for ($cont = 0; $cont < count($interfazVlan); $cont++) {
    if (isset($_POST['disableInterface' . $cont])) {
        $API = new routeros_api();
        $IP = $_SESSION['ip'];
        $user = $_SESSION['user'];
        $password = $_SESSION['password'];
        if ($API->connect($IP, $user, $password)) {
            $API->write("/interface/vlan/remove", false);
            $API->write("=.id=" . $cont);