#!/usr/bin/env php
<?php


$set['db_user'] = "mayor-munin";
$set['db_pass'] = "";
$set['db_db']	= "mayor_login";
$set['db_host'] = "localhost";
$set['naplo_host'] = "mayor.iskolaneve.hu";
$set['t_active'] = "10";   //pl: 10 perc (Az elmúlt x percben aktívak voltak)
$ret = array();


if (isset($argv[1]) and $argv[1] == "config"){

        $cf  = "host_name ".$set['naplo_host']."\n";
        $cf .= "graph_title Napló rendszerterhelés (Mayor)\n";
        $cf .= "graph_args --base 1000 \n";
        $cf .= "graph_vlabel db/fő\n";
        $cf .= "graph_category mayor\n";
        $cf .= "graph_info Naplo users\n";

        $cf .= "mayor_ip_sum.label Összes\n";
        $cf .= "mayor_ip_sum.draw AREA\n";
        $cf .= "mayor_ip_sum.info Összes\n";

        $cf .= "mayor_ip_k.label Külső IP\n";
        $cf .= "mayor_ip_k.draw AREA\n";
        $cf .= "mayor_ip_k.info Külső IP\n";

        $cf .= "mayor_ip_b.label Belső IP\n";
        $cf .= "mayor_ip_b.draw AREA\n";
        $cf .= "mayor_ip_b.info Belső IP\n";

        $cf .= "mayor_p_pri.label Policy pri.\n";
        $cf .= "mayor_p_pri.draw LINE1.2\n";
        $cf .= "mayor_p_pri.info Policy pri.\n";

        $cf .= "mayor_p_par.label Policy par.\n";
        $cf .= "mayor_p_par.draw LINE1.2\n";
        $cf .= "mayor_p_par.info Policy par.\n";

        $cf .= "mayor_a_t1.label Aktív: ".$set['t_active']."perc\n";
        $cf .= "mayor_a_t1.draw AREA\n";
        $cf .= "mayor_a_t1.info Aktív: ".$set['t_active']."perc\n";

        $cf .= "mayor_a_t2.label Aktív: ".($set['t_active']*2)."perc\n";
        $cf .= "mayor_a_t2.draw LINE1\n";
        $cf .= "mayor_a_t2.info Aktív: ".($set['t_active']*2)."perc\n";

        $cf .= "mayor_a_tt.label Aktív: tétlen\n";
        $cf .= "mayor_a_tt.draw LINE1\n";
        $cf .= "mayor_a_tt.info Aktív: tétlen\n";
	
	echo iconv("UTF-8", "ISO-8859-2", $cf), PHP_EOL;

} else {

	if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7 ) { //MySQLi (Improved) és php7  kell!!!

	    $ret['ip_b'] = 0;
	    $ret['ip_k'] = 0;
	    $ret['p_pri'] = 0;
	    $ret['p_par'] = 0;
	    $ret['a_t1'] = 0;
	    $ret['a_t2'] = 0;
	    $ret['a_tt'] = 0;
	    $l = mysqli_connect($set['db_host'], $set['db_user'], $set['db_pass'], $set['db_db']);
	    if(!$l){
//		echo "hiba\n ";
		$ret['ip_b'] = "U";
	    	$ret['ip_k'] = "U";
	    	$ret['p_pri'] = "U";
	    	$ret['p_par'] = "U";
	    	$ret['a_t1'] = "U";
	    	$ret['a_t2'] = "U";
		$ret['a_tt'] = "U";

	    } else{
		mysqli_set_charset($l, "utf8");
		$r = mysqli_query($l," SELECT session.userAccount,session.policy, UNIX_TIMESTAMP(session.activity) AS activity, loginLog.ip
					FROM mayor_login.session, mayor_login.loginLog
					WHERE session.dt = loginLog.dt AND session.userAccount=loginLog.userAccount AND loginLog.flag=0; ");
		
		while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
	        	if($row['policy'] == "private") { 
				$ret['p_pri'] ++; 
			}
			if($row['policy'] == "parent") { 
				$ret['p_par'] ++; 
			}
	
	                if( $row['activity'] >= time()-$set['t_active']*60){  //Az elmúlt x percben aktívak voltak
				$ret['a_t1']++;
			} else if( $row['activity'] >= time()-$set['t_active']*2*60){	//Az elmúlt 2*x percben aktívak voltak
	                        $ret['a_t2']++;
	                } else {
				$ret['a_tt']++;
			}

			if( preg_match('/^((10\.)|(192\.168\.)|(172\.16\.)|(fd..\:)).*/', $row['ip']) ){
				$ret['ip_b']++ ;
			} else{
				$ret['ip_k']++ ;
			}
		}
	    }
	    
	    @mysqli_free_result($r);
	    @mysqli_close($l);
	    echo "mayor_ip_sum.value ".($ret['ip_b']+$ret['ip_k'])."\n".  "mayor_ip_k.value ".$ret['ip_k']."\n".  "mayor_ip_b.value ".$ret['ip_b']."\n" ;
	    echo "mayor_p_pri.value ".$ret['p_pri']."\n".  "mayor_p_par.value ".$ret['p_par']."\n";
	    echo "mayor_a_t1.value ".$ret['a_t1']."\n".  "mayor_a_t2.value ".$ret['a_t2']."\n".  "mayor_a_tt.value ".$ret['a_tt']."\n" ;
	
	} else{
		echo "mayor_ip_sum.value U\n".  "mayor_ip_b.value U\n".  "mayor_ip_k.value U\n" ;
		echo "mayor_p_pri.value U\n".  "mayor_p_par.value U\n";
		echo "mayor_a_t1.value U\n".  "mayor_a_t2.value U\n".  "mayor_a_tt.value U\n";
	}
}

?>