AutoRemoteMessage
|
$ips = isset($params['ip']) ? array($params['ip']) : array('192.168.100.49'); // ip-адреса
$msg = isset($params['msg']) ? $params['msg'] : 'hi'; // команда для отправки
$service_port='7999';
foreach($ips as $ip) {
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "<br/>\n";
return 0;
}
$result = socket_connect($socket, $ip, $service_port);
if ($result === false) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
return 0;
}
socket_write($socket, $msg, strlen($msg));
socket_close($socket);
echo "<hr>";
}
|
Greeting
|
runScript("reportStatus", array());
|
rebootSystem
|
say("Подготовка к перезагрузке",2);
say("Сервер будет перезагружен через 15 секунд",1);
say("Сохранение БД",1);
$filename = '/var/www/backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = "viktor" . DB_USER . "knopik008" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say(LANG_GENERAL_STARTING_REBOOT,2);
setTimeout("shutdownTimer","safe_exec('sudo shutdown -r now');",30); //перезагрузка через 15 сек. (если сервер слабый меняйте на больше чтобы успевал сделать бэкап)
|
runCommandPC
|
выполнение команды на удалённом windows-компьютере
$cmd = isset($params['cmd']) ? $params['cmd'] : 'c:\windows\notepad.exe';
$vol = isset($params['vol']) ? $params['vol'] : 62258; // если не указали пусть будет 95%
switch ($cmd) {
case 'reboot':
$cmd = 'c:\reboot.bat';
break;
case 'shutdown':
$cmd = 'c:\shutdown.bat';
break;
case 'volumeLevel':
$cmd = 'c:\nircmdc.exe setsysvolume '.$vol;
break;
}
//$cmd='"c:\windows\notepad.exe"';
//$cmd = 'nircmd.exe setdisplay 640 480 32';
//$cmd = 'nircmd.exe changesysvolume -5000';
//$cmd = '"shutdown /s /m \\BIGCOMP /d 1:1"';
// '"c:\shutdown.bat"'; // выключение
//$cmd = '"c:\reboot.bat"'; // перезагрузка
//$cmd='"C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk';
$namePC = isset($params['pc']) ? $params['pc'] : "BIGCOMP";
$credPC = gg($namePC.".NoteCredentials");
if ($credPC == "") { return;}
$app = 'C:\\_majordomo\\apps\PSTools\\PsExec '.$credPC.' '.$cmd;
safe_Exec($app);
|
shutdownSystem
|
say("Подготовка к выключению",2);
say("Сервер будет выключен через 15 секунд",1);
say("Сохранение БД",1);
$filename = '/var/www/backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = "viktor" . DB_USER . "knopik008" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say(LANG_GENERAL_STARTING_SHUTDOWN,2);
setTimeout("shutdownTimer","safe_exec('sudo shutdown -r now');",30); //перезагрузка через 15 сек. (если сервер слабый меняйте на больше чтобы успевал сделать бэкап)
|
turnOff_PC
|
Выключение компьютера
$ip_or_host ="192.168.100.8"; //ip удаленного устройства с ОС Windows
shell_exec("net rpc shutdown -f -I $ip_or_host -U '$ip_or_host\Victor%20086'");
|
turnOn_PC
|
Включение компьютера
$wakeupnotebook = shell_exec("/usr/bin/wakeonlan -i 255.255.255.255 90:2B:34:76:43:C3");
/*Определенный для подключения DNS-суффикс:
Описание: Realtek PCIe GbE Family Controller
Физический адрес: 90-2B-34-76-43-C3
DHCP включен: Нет
Адрес IPv4: 192.168.100.8
Маска подсети IPv4: 255.255.255.0
Шлюз по умолчанию IPv4: 192.168.100.1
DNS-сервер IPv4:
WINS-сервер IPv4 :
Служба NetBIOS через TCP/IP включена: Да
Локальный IPv6-адрес канала: fe80::2166:627f:abf5:c40a%7
Шлюз по умолчанию IPv6: fe80::1%7
DNS-серверы IPv6: fe80::1%7, fe80::1%7*/
|
Снимок
|
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
callMethod('Camera02.takeSnapshot'); // Вызываем метод, который делает снапшот камеры
$img = '/var/www/cms/images/'.gg('Camera02.snapshot'); // Указываем путь к снапшоту
//$this->sendImageToUser($chat_id, $img, 'Камера на площадке'); // Отправляем в чат
$telegram_module->sendImageToAdmin($img, 'Камера на площадке', null, '', false); // co звуком
//exec('ffmpeg -y -i "http://192.168.100.60/jpg" -f image2 -vframes 1 "/var/www/cached/snapshot.jpg"');
|
AlarmClock_check
|
проверка включенности будильников
//будильники
$objects=getObjectsByClass("AlarmClock");
foreach($objects as $obj) {
// переберем все будильники в системе
if (gg($obj['TITLE'].".AlarmOn") && timeIs(gg($obj['TITLE'].".AlarmTime"))) {
//если будильник включен и время совпало
callMethod($obj['TITLE'].".AlarmRun"); // выполним метод будильника
}
}
|
dayGreeting
|
приветствие - день
saySafe("Добрый день!",2);
saySafe("Я рада, что кто-то уже есть дома.",2);
//say("датчик: ".$params['ot'],-1);
saySafe('Сейчас '.timeNow(),2);
|
eveningGreeting
|
приветствие - вечер
saySafe("Добрый вечер!",2);
saySafe("Как хорошо что хоть кто-то пришел.",2);
//say("датчик: ".$params['ot'],-1);
saySafe("Сейчас ".timeNow(),2);
|
morningGreeting
|
приветствие - утро
say("Доброе утро! Я рада, что вы уже проснулись.",2);
//say("датчик: ".$params['ot'],-1);
say("Сейчас ".timeNow(),2);
|
nightGreeting
|
приветствие - ночь
say("Доброй ночи!",0);
say("Что-то вам не спиться!",0);
//say("датчик: ".$params['ot'],-1);
say("Сейчас ".timeNow(),0);
|
sun
|
$sun_info = date_sun_info(time(), 56.849998, 53.233330); //географические координаты места
foreach ($sun_info as $key => $val) {
switch ($key):
case 'sunrise':
$sunrise = $val;
//echo 'Восход: '.date("H:i:s", $sunrise).'<br>';
sg('ThisComputer.SunRiseTime',date("H:i:s", $sunrise));
break;
case 'sunset':
$sunset = $val;
$day_length = $sunset - $sunrise;
//echo 'Заход: '.date("H:i:s", $sunset).'<br>';
//echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>';
sg('ThisComputer.SunSetTime',date("H:i:s", $sunset));
sg('ThisComputer.LongTagTime',gmdate("H:i", $day_length));
break;
case 'transit':
//echo 'В зените: '.date("H:i:s", $val).'<br>';
sg('ThisComputer.TransitTime',date("H:i:s", $val));
break;
case 'civil_twilight_begin':
//echo 'Начало утренних сумерек: '.date("H:i:s", $val).'<br>';
sg('ThisComputer.civil_beginTime',date("H:i:s", $val));
break;
case 'civil_twilight_end':
//echo 'Конец вечерних сумерек: '.date("H:i:s", $val).'<br>';
sg('ThisComputer.civil_endTime',date("H:i:s", $val));
break;
default:
//ни чего!
endswitch;
}
|