Community discussions

MikroTik App
 
cheater29
just joined
Topic Author
Posts: 3
Joined: Tue Jan 27, 2015 5:03 am

PHP API ...print...where... ?

Tue Jan 27, 2015 5:08 am

Hi i m creating some script filter script for my Mikrotik. I tested in terminal and now i want to write it in a PHP format.
So how i m suppose to write ?

terminal: ip firewall connection print where src-address="111.11.11.11:2222"

example of my php coding:
$API->write('/ip/firewall/filter/print', false);
$API->write('=where src-address="111.11.11.11:2222"=');
 
User avatar
boen_robot
Forum Guru
Forum Guru
Posts: 2400
Joined: Thu Aug 31, 2006 4:43 pm
Location: europe://Bulgaria/Plovdiv

Re: PHP API ...print...where... ?

Wed Jan 28, 2015 1:47 pm

You need to use queries.


(And sidenote: I wouldn't mind hearing about what you like about that other PHP client...)
 
cheater29
just joined
Topic Author
Posts: 3
Joined: Tue Jan 27, 2015 5:03 am

Re: PHP API ...print...where... ?

Mon Feb 02, 2015 5:00 am

Haha this is because i m trying to make a web based interface together with Mikrotik API. Would you be so kind to show me an example for the query ?
 
User avatar
boen_robot
Forum Guru
Forum Guru
Posts: 2400
Joined: Thu Aug 31, 2006 4:43 pm
Location: europe://Bulgaria/Plovdiv

Re: PHP API ...print...where... ?

Mon Feb 02, 2015 12:45 pm

Haha this is because i m trying to make a web based interface together with Mikrotik API.
Right. That's pretty much a given with PHP... But why the other PHP client I mean? And even more oddly... why work with raw protocol words?
Would you be so kind to show me an example for the query ?
Well, using the client from my signature:
$client = new RouterOS\Client('192.168.88.1', 'admin', 'password');
$firewallFilters = $client->sendSync(
    new RouterOS\Request(
        '/ip firewall filter print',
        RouterOS\Query::where('src-address', '111.11.11.11')
    )
)->getAllOfType(RouterOS\Response::TYPE_DATA); 
or better yet:
$util = new RouterOS\Util(
    $client = new RouterOS\Client('192.168.88.1', 'admin', 'password')
);
$firewallFilters = $util->setMenu('/ip firewall filter')
    ->getAll(
        array(),
        RouterOS\Query::where('src-address', '111.11.11.11')
    );
If you insist on using raw protocol words... The link above contains examples. Just write each line in the example as a separate call to the "write" method.
(But again... why?)
 
tester100
just joined
Posts: 3
Joined: Wed Dec 14, 2016 4:03 am

Re: PHP API ...print...where... ?

Thu Jan 12, 2017 4:45 am

Hi guys

i need a hand here

i am testing a api php on a RB450G which i can run in terminal the /system health print cmd and it outputs the voltage and CPU temperatura

now i am trying to export it in my api php

i am using the follwogin function

<div class="col-lg-3 col-xs-6">
         <!-- small box--> 
          <div class="small-box bg-yellow">
            <div class="inner">
              <h3>System Health</h3>
			  <?php $ARRAY = $API->comm("/system/health/print");
			                 $voltage =	$ARRAY['0']['voltage']/1048576;
			  
			  ?>

              <p>Voltage</p>
			   <p><?php echo " ".round($voltage,1)."V"; ?><sup style="font-size: 20px"></sup></p>
            </div>
   
            <div class="icon">
              <i class="ion ion-stats-bars"></i>
            </div>
But the output displays 0V


I am using a similar function which works

$ARRAY = $API->comm("/system/resource/print");
						
						$ramtotal =	$ARRAY['0']['total-memory']/1048576;
	
	
	
	<?php echo " ".round($ramtotal,1)." MB"; ?><sup style="font-size: 20px"></sup> Total</p>					

which displays the Total Memory Available on the system


Any help will be appreciated on how to get the Print of to display from Voltage and CPU temperature
 
PortalNET
Member Candidate
Member Candidate
Posts: 126
Joined: Sun Apr 02, 2017 7:24 pm

Re: PHP API ...print...where... ?

Fri Oct 01, 2021 11:20 pm

Hi guys

i know, this is old news and old threats, but as i am working on a new project development ISP Management system with freeradius 3xx and full system monitoring via snmp, api.. we are implementing from scratch a new system, and each time we come across some searches on google it ends up here on mikrotik and routerOS php api or Pear2 php api

so here is a working example for monitoring a system health print , using RouterOS 1.6 with new login method for version 6.45, 6.46, 6.47 etc..
$stats = $API->comm('/system/health/print');
		   print_r($stats);
		   $meme = $stats['0'];
		   echo "<td>" . $meme['voltage'] . "</td><br />";
		   echo "<td>" . $meme['temperature'] . "</td><br />";
and PHP table output below to echo the data later in a column or table
  <!-- Count item widget-->
            <div class="col-xl-2 col-md-4 col-6">
              <div class="wrapper count-title d-flex">
                <div class="icon"><i class="fa fa-thermometer-empty" aria-hidden="true"></i></div>
                <div class="name"><strong class="text-uppercase">Temperature</strong><span><?php echo "<td>" . $meme['temperature'] . "</td>"; ?></span>
                  <!--<div class="count-number"></div>-->
                </div>
              </div>
            </div>

Who is online

Users browsing this forum: No registered users and 19 guests