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

require 'vendor/autoload.php';

use 
Larry\Model\House;

define('MBUS_COMMAND''/usr/local/bin/mbus-tcp-request-data');
define('MBUS_HOST''hvaler.larry.no');
define('MBUS_PORT'10100);

define('XML_DATA_FOLDER''/var/www/adminsystem/xml-data');
define('XML_DATA_DATEFORMAT''Y-m-d.His');

if (
php_sapi_name() !== 'cli') {
    die(
'not allowed');
}

$model = new House();
$houses $model->get(array('isDisabled' => 0));

foreach (
$houses as $house) {
    
processHouse($house);
}

function 
processHouse($house)
{
    
$file sprintf(
        
'%s/%s/%s.xml',
        
XML_DATA_FOLDER,
        
$house['alias'],
        
date(XML_DATA_DATEFORMAT)
    );

    
// ensure xml data dir exists
    
if (!is_dir(dirname($file))) {
        
mkdir(dirname($file), 0755true);
    }

    
// fetch data from mbus
    
$command sprintf(
        
'%s %s %d %d > %s',
        
MBUS_COMMAND,
        
MBUS_HOST,
        
MBUS_PORT,
        
$house['mbusAddress'],
        
$file
    
);

    
system($command$result);

    if (
$result) {
        die(
sprintf("Command '%s' return error code %d."$command$result));
    }

    
// process xml file
    
$command sprintf(
        
'%s/process-xml.php %s %s',
        
__DIR__,
        
$house['alias'],
        
$file
    
);

    
system($command);
}