Professional Documents
Culture Documents
<?php
require('C:\Program Files\EasyPHP-12.1\www\my portable files/class routeros_api.php');
// new object api
$API = new routeros_api();
$API->debug = true;
if ($API->connect('192.168.3.1', 'userapi', '1234') ) {
$ARR=$API->comm("/tool/user-manager/user/add",Array(
"customer" => "admin",
"name" => "11",
"password" => "11",
"shared-users" => "1",
"copy-from" => "1 Hari",
));
}
?>
UPDATE USERMAN
if($mikrotikuserfound){
$util->set($mikrotikuserfound,
array('password' => $password,));
}else{
$util->add(
array(
'username' => $username,
'password' => $password,
)
);
}
<?php
use PEAR2\Net\RouterOS;
require_once 'PEAR2/Autoload.php';
try {
$client = new RouterOS\Client('192.168.88.1', 'admin', 'password');
} catch (Exception $e) {
die('Unable to connect to the router.');
}
$addRequest->setArgument('address', '192.168.88.100');
$addRequest->setArgument('mac-address', '00:00:00:00:00:01');
if ($client->sendSync($addRequest)->getType() !== RouterOS\
Response::TYPE_FINAL) {
die("Error when creating ARP entry for '192.168.88.100'");
}
$addRequest->setArgument('address', '192.168.0.101');
$addRequest->setArgument('mac-address', '00:00:00:00:00:02');
if ($client->sendSync($addRequest)->getType() !== RouterOS\
Response::TYPE_FINAL) {
die("Error when creating ARP entry for '192.168.88.101'");
}
echo 'OK';
<?php
namespace PEAR2\Net\RouterOS;
require_once 'PEAR2/Net/RouterOS/Autoload.php';
$client = new Client('192.168.0.1', 'admin', 'password');
header('Content-Type: text/plain');//This is just to get nice text formatting...
foreach ($client->sendSync(new Request('/tool user-manager session print'))-
>getAllOfType(Response::TYPE_DATA) as $response) {
echo 'User: ', $response->getArgument('user'), "\nEnd time: ", $response-
>getArgument('till-time'), "\n\n";
}
https://forum.mikrotik.com/viewtopic.php?
f=9&t=146618&p=738298&hilit=boen_robot#p738298
https://github.com/pear2/Net_RouterOS
https://forum.mikrotik.com/viewtopic.php?
f=9&t=68360&p=730022&hilit=boen_robot#p730022
https://forum.mikrotik.com/viewtopic.php?t=75449
<?php
use PEAR2\Net\RouterOS;
// require_once 'pear2\src\PEAR2\Autoload.php';
require_once 'PEAR2_Net_RouterOS-1.0.0b4.phar';
$client = new RouterOS\Client('192.168.150.161', 'admin', 'admin');
//Action
if (isset($_POST['act'])) {
$acts = $_POST['act'];
foreach ($acts as $act => $itemID) {
//Limit the action only to known ones, for security's sake
switch ($act) {
case 'set':
case 'remove':
$actionRequest = new RouterOS\Request("/ip/firewall/nat/{$act}");
$actionRequest->setArgument('numbers', $itemID);
foreach ($_POST[$itemID] as $name => $value) {
$actionRequest->setArgument($name, $value);
}
$responses = $client->sendSync($actionRequest);
//If you want to do some error handling, do it here by inspecting $responses.
//You can safely assume that if the table shows your old data, as opposed to the n
ew one,
//the action failed.
break;
}
}
}
// Tabla
echo "<table align='center' border=1 bordercolor='black'>";
echo "<tr><td align=left size=3>Src Address</td><td size=3>To Addresses</td><td size=3>Ports</
td><td align=left size=3>Modificar/Eliminar</td></tr>";
// Peticion a la API
$responses = $client->sendSync(new RouterOS\Request('/ip/firewall/nat/print'));
echo "<form action='peartest.php' method='POST'>";
foreach ($responses as $response) {
if ($response->getType() === RouterOS\Response::TYPE_DATA) {
$id = $response('.id');
echo "<tr>";
echo "<td><input type='text' name='{$id}[src-address]' value='" . $response('src-
address') . "' /></td>";
echo "<td><input type='text' name='{$id}[to-addresses]' value='" . $response('to-
addresses') . "' /></td>";
echo "<td><input type='text' name='{$id}[to-ports]' value='" . $response('to-ports') . "
' /></td>";
//Boton Modificar
echo "<td><button type='submit' name='act[set]' value='{$id}'>Modificar</button>";
//Boton Borrar
echo "<button type='submit' name='act[remove]' value='{$id}'>Borrar</button></td>";
echo "</tr>";
}
}
echo "</form>";
echo "</table>";
?>
$util->changeMenu('/ip hotspot user')->enable('user1');
$getClient->sendAsync($hotspot->newRequest('create-and-activate-profile', [
'numbers' => $data1,
'customer' => $data2,
'profile' => 'profile1'
], null, 'activator'));
//Some other stuff you want to do before finishing up
$getClient->completeRequest('activator');
try {
$util = new PEAR2\Net\RouterOS\Util($client = new PEAR2\Net\RouterOS\
Client('103.126.226.142', 'boot', 'qpualdn'));
redirect(base_url().'admin/pelanggan/data?alert=gagal_konek_userman');
//paket
$paketnow = $this->m_data->edit_data($where,'paket')->result();
if($mode=="KhabilasaSpot"){
// Aksi USERMAN
try {
$addRequest->setArgument('clear-profiles', $username);
$addRequest->setArgument('create-and-activate-profile',
$username);
}
// update data ke database
$data = array(
);
$this->m_data->update_data($where,$data,'pelanggan');
redirect(base_url().'admin/pelanggan/data?alert=sukses');
redirect(base_url().'admin/pelanggan/data?alert=gagal_edit_userman');