#!/usr/bin/php
<?php
/**
 * Bukkit/MySQL Munin plugin
 * ---------------------------------
 * Passive mob kills per day
 *
 * Shows the passive kills of neutral mobs
 * via Statistician (http://s.frd.mn/14qKXTM)
 *
 * Read more about my plugins on my blog:
 * http://s.frd.mn/XJsryR
 *
 * Author: Jonas Friedmann (http://frd.mn)
 * GitHub: https://github.com/yeahwhat-mc/munin-bukkit-plugins
 *
 */

/**
 * MySQL configuration
 */

$hostname = 'localhost';
$username = 'sql';
$password = 'pass';
$database = 'sql';
$port     = 3306;

/**
 * !!! DO NOT EDIT THIS PART BELOW !!!
 */

if ((count($argv) > 1) && ($argv[1] == 'config'))
{
print("graph_title Bukkit / Statistician - passive mob kills per day
graph_category games
graph_vlabel passive mob kills per day
graph_args --base 1000 -l 0
bat.type GAUGE
bat.label killed bats
chicken.type GAUGE
chicken.label killed chickens
cow.type GAUGE
cow.label killed cows
mooshroom.type GAUGE
mooshroom.label killed mooshrooms
ocelot.type GAUGE
ocelot.label killed magma ocelots
pig.type GAUGE
pig.label killed pigs
sheep.type GAUGE
sheep.label killed sheeps
squid.type GAUGE
squid.label killed squids
villager.type GAUGE
villager.label killed villager
");
exit();
}

// Construct 'minimum' timstamp
$current = mktime();
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));

// Initiate connection
$connection = mysqli_connect($hostname, $username, $password, $database, $port);

// Check connection
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

// Select queries for bat kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Bat'")) {
    // Print values
    print('bat.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for chicken kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Chicken'")) {
    // Print values
    print('chicken.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for mooshroom kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'MushroomCow'")) {
    // Print values
    print('mooshroom.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for cow kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Cow'")) {
    // Print values
    print('cow.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for ocelot kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Ocelot'")) {
    // Print values
    print('ocelot.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for pig kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Pig'")) {
    // Print values
    print('pig.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for sheep and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Sheep'")) {
    // Print values
    print('sheep.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for squid kills and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Squid'")) {
    // Print values
    print('squid.value ' . mysqli_num_rows($result) . "\n");
}

// Select queries for villager and return the amount of rows
if ($result = mysqli_query($connection, "SELECT id FROM killchart WHERE time > $today AND killed_creature_type = 'Villager'")) {
    // Print values
    print('villager.value ' . mysqli_num_rows($result) . "\n");
}

// Close connection
mysqli_close($connection);
?>
