#!/usr/bin/php -q
<?php
/**
 * FOGImageSize service to get the size of images in FOG
 *
 * PHP version 5
 *
 * @category FOGImageSize
 * @package  FOGProject
 * @author   Tom Elliott <tommygunsster@gmail.com>
 * @license  http://opensource.org/licenses/gpl-3.0 GPLv3
 * @link     https://fogproject.org
 */
/**
 * FOGImageSize service to get the size of images in FOG
 *
 * @category FOGImageSize
 * @package  FOGProject
 * @author   Tom Elliott <tommygunsster@gmail.com>
 * @license  http://opensource.org/licenses/gpl-3.0 GPLv3
 * @link     https://fogproject.org
 */
@error_reporting(0);
require dirname(realpath(__FILE__)).'/../etc/config.php';
require dirname(realpath(__FILE__)).'/../lib/service_lib.php';
$service_name = 'FOGImageSize';
service_persist($service_name);
$ServiceClass = $FOGCore::getClass('ImageSize');
$ServiceClass->getBanner();
$ServiceClass->waitInterfaceReady();
$ServiceClass->waitDbReady();
$ServiceClass->serviceStart();
while (true) {
    if (!$ServiceClass::$zzz) {
        $ServiceClass::$zzz = 3600;
    }
    if (!isset($nextrun)) {
        $ServiceClass->serviceRun();
        $nextrun = FOGCore::niceDate()
            ->modify(
                sprintf(
                    '+%s second%s',
                    $ServiceClass::$zzz,
                    $ServiceClass::$zzz != 1 ? '' : 's'
                )
            );
    }
    if (FOGCore::niceDate() < $nextrun) {
        usleep(100000);
        continue;
    }
    $nextrun = FOGCore::niceDate()
        ->modify(
            sprintf(
                '+%s second%s',
                $ServiceClass::$zzz,
                $ServiceClass::$zzz != 1 ? '' : 's'
            )
        );
    $ServiceClass->serviceRun();
}
$ServiceClass::outall(sprintf(" * Service has ended."));
exit(0);
