You are on page 1of 7

Catatan Tagihan :

1. Masalah putus sementara

<!--status 1 Aktif 2 Blokir 3 Putus Sementara 4 Putus-->

<!--status service 11 Selesai 12 Belum Selesai 13 Tunda 14 Gagal-->

<!--kategori 21 Pasang 22 Putus 23 Gangguan 24 Bantuan-->

<!--status_tagihan 31 lunas 32 tidak bayar 33 lambat bayar 34 belum bayar-->

<!--prioritas 101 Low 102 Medium 103 High-->

- Input data pelanggan hanya boleh melalui penambahan pasang baru


- Penyesuaian HP admin penginput data pelanggan
- datatables search select (datatable)
- List Group (bootstrap)
- Selectpicker untuk rekomendasi
- Order direction sequence control (datatable)

<?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",
));

$API -> disconnect();

}
?>

UPDATE USERMAN

/tool user-manager user create-and-activate-profile [find username="hone"]


customer=admin profile="1 Mbps"

/tool user-manager user> create-and-activate-profile numbers=support customer=support


profile=HomeUse
/tool user-manager user> clear-profiles numbers=support

$util = new PEAR2\Net\RouterOS\Util($client = new PEAR2\Net\RouterOS\


Client('103.126.226.142', 'boot', 'qpualdn'));
$util->setMenu('/tool user-manager user');
$mikrotikuserfound = $util->find(PEAR2\Net\RouterOS\
Query::where('username', $usernamedasar));

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 = new RouterOS\Request('/ip/arp/add');

$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";

private static function _login(


Communicator $com,
$username,
$password = '',
$timeout = null
) {
$newVersion = false;

$request = new Request('/login');


$request->setArgument('name', $username);
$request->setArgument('password', $password);
$request->verify($com)->send($com);
$response = new Response($com, false, $timeout);
if ($response->getType() === Response::TYPE_FINAL && null === $response-
>getProperty('ret')) {
// version >= 6.43
$newVersion = true;
} else {
// version < 6.43
$request->setArgument('password', '');
$request->setArgument(
'response',
'00' . md5(
chr(0) . $password
. pack('H*', $response->getProperty('ret'))
)
);
$request->verify($com)->send($com);
$response = new Response($com, false, $timeout);
}

if ($response->getType() === Response::TYPE_FINAL) {


if ($newVersion) {
return null === $response->getProperty('message');
} else {
return null === $response->getProperty('ret');
}
} else {
while ($response->getType() !== Response::TYPE_FINAL
&& $response->getType() !== Response::TYPE_FATAL
) {
$response = new Response($com, false, $timeout);
}
return false;
}
}

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'));

} catch (Exception $e) {

// mengalihkan halaman ke halaman data pelanggan

redirect(base_url().'admin/pelanggan/data?alert=gagal_konek_userman');

//paket

$where = array('paket' => $paket1 );

$paketnow = $this->m_data->edit_data($where,'paket')->result();

//olah data paket

foreach($paketnow as $pak){$profile = $pak->profile;}

if($mode=="KhabilasaSpot"){

// Aksi USERMAN

try {

$addRequest = new RouterOS\Request('/tool user-manager


user');

$addRequest->setArgument('clear-profiles', $username);

if ($client->sendSync($addRequest)->getType() !== RouterOS\


Response::TYPE_FINAL) {

die("Error when CLEAR PROFILES");

$addRequest = new RouterOS\Request('/tool user-manager


user');

$addRequest->setArgument('create-and-activate-profile',
$username);

if ($client->sendSync($addRequest)->getType() !== RouterOS\


Response::TYPE_FINAL) {

die("Error when create-and-activate-profile");

}
// update data ke database

$where = array('id' => $id);

$data = array(

'username' => $username,

'password' => $password,

);

$this->m_data->update_data($where,$data,'pelanggan');

// mengalihkan halaman ke halaman data pelanggan

redirect(base_url().'admin/pelanggan/data?alert=sukses');

} catch (Exception $e) {

// mengalihkan halaman ke halaman data pelanggan

redirect(base_url().'admin/pelanggan/data?alert=gagal_edit_userman');

You might also like