Господа, что вы лепите?)))
НАФИГА держать в базе координаты дома? вы знаете сколько ресурсов жрет бессмысленно один getGlobal? а если каждую секунду в скрипте проверять??
Зачем заводить время в свойства компьютера?? вы обалдели что ли?
смотрите
в папке /lib/ мажора создаешь файл astrolib.php
Код: Выделить всё
if (!function_exists('time2Hm')) {
function time2Hm($tm) {
return date("H:i", $tm);
}
class Astro {
var $latitude;
var $longitude;
function Astro() {
$this -> latitude = 53.112268;
$this -> longitude = 26.014811;
}
function isDark() {
if (time() > $this -> sunSetTime())return 1;
return 0;
}
function sunRiseTime() {
$sun_info = date_sun_info(time(), $this -> latitude, $this -> longitude);
return $sun_info['sunrise'];
}
function sunRiseTime_Hm() {
return time2Hm($this -> sunRiseTime());
}
function sunSetTime() {
$sun_info = date_sun_info(time(), $this -> latitude, $this -> longitude);
return $sun_info['sunset'];
}
function sunSetTime_Hm() {
return time2Hm($this -> sunSetTime());
}
function dayLength() {
return $this -> sunSetTime() - $this -> sunRiseTime();
}
function dayLength_Hm() {
return time2Hm($this -> dayLength());
}
function transit() {
$sun_info = date_sun_info(time(), $this -> latitude, $this -> longitude);
return $sun_info['transit'];
}
function civil_begin() {
$sun_info = date_sun_info(time(), $this -> latitude, $this -> longitude);
return $sun_info['civil_twilight_begin'];
}
}
потом в минутном таймере например
Код: Выделить всё
$a = new Astro;
if (timeIs($a->sunRiseTime_Hm())) {
say('Всходит солнце');
callMethod('lamp2.turnoff');
}
И ни одного лишнего обращения к базе, вычисляетя все мгновенно.
И пожалуйста, не выкладывайте говнокод. и так все тормозит. ps - этот код тоже не образец качества, еще и вставился коряво.