easyRF
|
$device_id=$params['did'];
$destination_id=$params['dest'];
$packet_id=$params['pid'];
$command_id=$params['c'];
$data=$params['d'];
if ($device_id==0) {
if ($command_id==10) {
//temp
setGlobal('ws.tempInside',round($data/100));
} elseif ($command_id==12) {
//motion
callMethod('intSensor.statusChanged',array('status'=>1));
clearTimeOut($id.'_move');
setTimeOut($id.'_move',"callMethod('intSensor.statusChanged',array('status'=>0));",20);
}
}
|
espdata
|
esp
if ($params['idesp']=="") { return; } //Если ID устройства отсутствует, то перестаем отрабатывать сценарий
addClass('ESP8266'); //Создаем класс ESP8266
addClassObject('ESP8266',$params['idesp']); //Создаем в классе ESP8266 объект где в качестве имени
addClassProperty('ESP8266', 'vdd', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'bmpp', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'bmpt', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhth1', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhth2', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhtt1', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dhtt2', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw1', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw2', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw3', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw4', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'dsw5', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'amt', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'amh', 366); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 366 дней
addClassProperty('ESP8266', 'updated', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'updatedTime', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'alive', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'pwm0', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'pwm1', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'pwm2', 1); //Создаёт свойство класса и указывает, что необходимо хранить историю значений 1 дней
addClassProperty('ESP8266', 'rssi', 1); //уровень сигнала
addClassProperty('ESP8266', 'gpiout0', 1); //Данные выход GPIO 0
addClassProperty('ESP8266', 'gpiout1', 1); //Данные выход GPIO 1
addClassProperty('ESP8266', 'gpiout2', 1); //Данные выход GPIO 2
addClassProperty('ESP8266', 'gpiout3', 1); //Данные выход GPIO 3
addClassProperty('ESP8266', 'gpiout4', 1); //Данные выход GPIO 4
addClassProperty('ESP8266', 'gpiout5', 1); //Данные выход GPIO 5
addClassProperty('ESP8266', 'gpiout12', 1); //Данные выход GPIO 12
addClassProperty('ESP8266', 'gpiout13', 1); //Данные выход GPIO 13
addClassProperty('ESP8266', 'gpiout14', 1); //Данные выход GPIO 14
addClassProperty('ESP8266', 'gpiout15', 1); //Данные выход GPIO 15
addClassProperty('ESP8266', 'gpiout16', 1); //Данные выход GPIO 16
addClassProperty('ESP8266', 'gpio0', 1); //Данные вход GPIO 0
addClassProperty('ESP8266', 'gpio1', 1); //Данные вход GPIO 1
addClassProperty('ESP8266', 'gpio2', 1); //Данные вход GPIO 2
addClassProperty('ESP8266', 'gpio3', 1); //Данные вход GPIO 3
addClassProperty('ESP8266', 'gpio4', 1); //Данные вход GPIO 4
addClassProperty('ESP8266', 'gpio5', 1); //Данные вход GPIO 5
addClassProperty('ESP8266', 'gpio12', 1); //Данные вход GPIO 12
addClassProperty('ESP8266', 'gpio13', 1); //Данные вход GPIO 13
addClassProperty('ESP8266', 'gpio14', 1); //Данные вход GPIO 14
addClassProperty('ESP8266', 'gpio15', 1); //Данные вход GPIO 15
addClassProperty('ESP8266', 'gpio16', 1); //Данные вход GPIO 16
//Распихиваем всё по свойствам. Если полученное значение пустое, то свойство не записываем
if ($params['bmpp']!="") { sg(($params['idesp'].".bmpp"),$params['bmpp']); } //Данные с датчика BMP (давление)
if ($params['bmpt']!="") { sg(($params['idesp'].".bmpt"),$params['bmpt']); } //Данные с датчика BMP (температура)
if ($params['counter']!="") { sg(($params['idesp'].".counter"),$params['counter']); } //Количество импульсов со счетчика
if ($params['dhth1']!="") { sg(("DHT22Hum.value"),$params['dhth1']); } //Данные с первого датчика DHT (влажность)
if ($params['dhth2']!="") { sg(($params['idesp'].".dhth2"),$params['dhth2']); } //Данные со второго датчика DHT (влажность)
if ($params['dhtt1']!="") { sg(("DHT22Temp.value"),$params['dhtt1']); } //Данные с первого датчика DHT (температура)
if ($params['dhtt2']!="") { sg(($params['idesp'].".dhtt2"),$params['dhtt2']); } //Данные со второго датчика DHT (температура)
if ($params['dsw1']!="") { sg(($params['idesp'].".dsw1"),$params['dsw1']); } //Данные с датчика DS18B20 №1
if ($params['dsw1']!="") { sg(("esp_dsw1.value"),$params['dsw1']); } //Данные с датчика DS18B20 №1
if ($params['dsw2']!="") { sg(($params['idesp'].".dsw2"),$params['dsw2']); } //Данные с датчика DS18B20 №2
if ($params['dsw3']!="") { sg(($params['idesp'].".dsw3"),$params['dsw3']); } //Данные с датчика DS18B20 №3
if ($params['dsw4']!="") { sg(($params['idesp'].".dsw4"),$params['dsw4']); } //Данные с датчика DS18B20 №4
if ($params['dsw5']!="") { sg(($params['idesp'].".dsw5"),$params['dsw5']); } //Данные с датчика DS18B20 №5
if ($params['freemem']!="") { sg(($params['idesp'].".freemem"),$params['freemem']); } //Объем свободной памяти модуля
if ($params['hostname']!="") { sg(($params['idesp'].".hostname"),$params['hostname']); } //Имя модуля
if ($params['light']!="") { sg(($params['idesp'].".light"),$params['light']); } //Данные с датчика BH1750
if ($params['uptime']!="") { sg(($params['idesp'].".uptime"),$params['uptime']); } //Время непрерывной работы модуля
if ($params['vdd']!="") { sg(($params['idesp'].".vdd"),$params['vdd']); } //Напряжение на модуле
if ($params['ver']!="") { sg(($params['idesp'].".ver"),$params['ver']); } //Версия прошивки
if ($params['amh']!="") { sg(($params['idesp'].".amh"),$params['amh']); } //Данные с датчика AM2321 (влажность)
if ($params['amt']!="") { sg(($params['idesp'].".amt"),$params['amt']); } //Данные с датчика AM2321 (температура)
if ($params['wanip']!="") { sg(($params['idesp'].".wanip"),$params['wanip']); } //IP модуля
if ($params['pwm0']!="") { sg(($params['idesp'].".pwm0"),$params['pwm0']); } //ШИМ
if ($params['pwm1']!="") { sg(($params['idesp'].".pwm1"),$params['pwm1']); } //ШИМ
if ($params['pwm2']!="") { sg(($params['idesp'].".pwm2"),$params['pwm2']); } //ШИМ
if ($params['rssi']!="") { sg(($params['idesp'].".rssi"),$params['rssi']); } //Уровень сигнала
if ($params['gpio0']!="") { sg(($params['idesp'].".gpio0"),$params['gpio0']); } //Данные выход GPIO 0
if ($params['gpio1']!="") { sg(($params['idesp'].".gpio1"),$params['gpio1']); } //Данные выход GPIO 1
if ($params['gpio2']!="") { sg(($params['idesp'].".gpio2"),$params['gpio2']); } //Данные выход GPIO 2
if ($params['gpio3']!="") { sg(($params['idesp'].".gpio3"),$params['gpio3']); } //Данные выход GPIO 3
if ($params['gpio4']!="") { sg(($params['idesp'].".gpio4"),$params['gpio4']); } //Данные выход GPIO 4
if ($params['gpio5']!="") { sg(($params['idesp'].".gpio5"),$params['gpio5']); } //Данные выход GPIO 5
if ($params['gpio12']!="") { sg(($params['idesp'].".gpio12"),$params['gpio12']); } //Данные выход GPIO 12
if ($params['gpio13']!="") { sg(($params['idesp'].".gpio13"),$params['gpio13']); } //Данные выход GPIO 13
if ($params['gpio14']!="") { sg(($params['idesp'].".gpio14"),$params['gpio14']); } //Данные выход GPIO 14
if ($params['gpio15']!="") { sg(($params['idesp'].".gpio15"),$params['gpio15']); } //Данные выход GPIO 15
if ($params['gpio16']!="") { sg(($params['idesp'].".gpio16"),$params['gpio16']); } //Данные выход GPIO 16
if ($params['gpiout0']!="") { sg(($params['idesp'].".gpiout0"),$params['gpiout0']); } //Данные вход GPIO 0
if ($params['gpiout1']!="") { sg(($params['idesp'].".gpiout1"),$params['gpiout1']); } //Данные вход GPIO 1
if ($params['gpiout2']!="") { sg(($params['idesp'].".gpiout2"),$params['gpiout2']); } //Данные вход GPIO 2
if ($params['gpiout3']!="") { sg(($params['idesp'].".gpiout3"),$params['gpiout3']); } //Данные вход GPIO 3
if ($params['gpiout4']!="") { sg(($params['idesp'].".gpiout4"),$params['gpiout4']); } //Данные вход GPIO 4
if ($params['gpiout5']!="") { sg(($params['idesp'].".gpiout5"),$params['gpiout5']); } //Данные вход GPIO 5
if ($params['gpiout12']!="") { sg(($params['idesp'].".gpiout12"),$params['gpiout12']); } //Данные вход GPIO 12
if ($params['gpiout13']!="") { sg(($params['idesp'].".gpiout13"),$params['gpiout13']); } //Данные вход GPIO 13
if ($params['gpiout14']!="") { sg(($params['idesp'].".gpiout14"),$params['gpiout14']); } //Данные вход GPIO 14
if ($params['gpiout15']!="") { sg(($params['idesp'].".gpiout15"),$params['gpiout15']); } //Данные вход GPIO 15
if ($params['gpiout16']!="") { sg(($params['idesp'].".gpiout16"),$params['gpiout16']); } //Данные вход GPIO 16
sg(($params['idesp'].".idesp"),$params['idesp']); //
|
RSS_anecdot_save
|
sg('ThisComputer.rssAnecdot', $params['BODY']);
|
Будильник_по_утрам
|
прикольный длинный будильник утром
$tm=time();
playSound('SunshineForest');
//sleep(10);
say(gg("AlarmOne.AlarmCauseTxt"),2);
sleep(8);
say(gg("AlarmOne.AlarmCauseTxt").' Время '.timeNow($tm).'',0);
//say('Звучит гимн Российской Федерации',0);
//sleep(70);
//say('Как там погода? '.gg('ws.message').' '.gg('forecast6h.message').'',1);
//sleep(25);
//say('Время '.timeNow($tm).'. Включу радио Комсомольская правда',0);
//cm('RadioSetting.Control','sta:РадиоКП');
//cm('RadioSetting.Control','play');
//cm('RadioSetting.Control','vol90');
//sleep(180);
//cm('RadioSetting.Control','stop');
setGlobal("AlarmOne.AlarmOn",0);
|
Выключить Радио
|
cm('RadioSetting.Control','stop');
|
КтоДома
|
списочек кто дома, активация NobodyHomeMode и других режимов
$arr = array(
gg("Admin.atHome"),
gg("Olenka.atHome"),
gg("Ludmila.atHome"),
gg("Marina.atHome"),
gg("Sergey.atHome"),
gg("Irina.atHome"), // не удалять
);
$str = implode(", ", $arr);
$str = str_replace(' ,', '', $str);
echo $str = substr(trim($str), 0, -1);
if(preg_match('/^(Петр, Ольга, Людмила Ильинична, Марина, Сергей, Ирина Николаевна).?$/', $str)) {
$str = "Все дома, включая бабушек Люду и Ирину.";
callMethod('GuestsMode.activate');
}
elseif(preg_match('/^(Петр, Ольга, Людмила Ильинична, Марина, Сергей).?$/', $str)) {
$str = "Все дома, и баба Люда тоже.";
}
elseif(preg_match('/^(Петр, Ольга, Людмила Ильинична, Марина)$/', $str)) {
$str = "Серега в полях, остальные дома, и баба Люда тоже.";
}
elseif(preg_match('/^(Петр, Ольга, Людмила Ильинична)$/', $str)) {
$str = "Взрослые дома с бабушкой Людой, дети в полях.";
}
elseif(preg_match('/^(Петр, Ольга)$/', $str)) {
$str = "Родители дома, дети в полях.";
callMethod('HomeAlone.deactivate');
callMethod('NobodyHomeMode.deactivate');
}
elseif(preg_match('/^(Петр, Ольга, Марина, Сергей)$/', $str)) {
$str = "Все в сборе, бабушка Люда в полях.";
callMethod('NobodyHomeMode.deactivate');
}
elseif(preg_match('/^(Петр, Марина, Сергей)$/', $str)) {
$str = "Папа с детьми дома, мама в полях.";
callMethod('HomeAlone.deactivate');
}
elseif(preg_match('/^(Петр, Людмила Ильинична, Сергей)$/', $str)) {
$str = "Петр с Сергеем и бабушкой Людой дома.";
}
elseif(preg_match('/^(Петр, Людмила Ильинична)$/', $str)) {
$str = "Петр с бабушкой Людой дома, остальные в полях.";
}
elseif(preg_match('/^(Ольга, Людмили Ильинична, Марина, Сергей)$/', $str)) {
$str = "Петр в полях, остальные дома";
callMethod('HomeAlone.deactivate');
}
elseif(preg_match('/^(Ольга, Марина, Сергей)$/', $str)) {
$str = "Петр и бабушка Люда в полях, остальные дома";
callMethod('HomeAlone.deactivate');
}
elseif(preg_match('/^(Петр, Сергей)$/', $str)) {
$str = "Сэры одни в берлоге, дамы в полях.";
if(gg('HomeAlone.active') == '0') {
callMethod('HomeAlone.activate');
}
}
elseif(preg_match('/^(Петр),?\s?$/', $str)) {
$str = "Один Петя дома.";
if(gg('HomeAlone.active') == '0') {
callMethod('HomeAlone.activate');
}
}
elseif(empty($str)) {
$str = "Дома никого.";
if(gg('NobodyHomeMode.active') == '0') {
callMethod('NobodyHomeMode.activate');
}
}
sg("ThisComputer.atHome", $str);
//echo $str;
|
РадиоКП
|
Радио КП
cm('RadioSetting.Control','sta:РадиоКП');
cm('RadioSetting.Control','play');
cm('RadioSetting.Control','vol30');
|
Exchange_open
|
Оповещение об открытии биржи 11.59 пн-пт
|
Futures
|
104 Фьючерсы (серебро, платина) - обновить closePrice, tradedate в базе c Мосбиржи в 02:10 после окончания торгов
$date = date('Ymd', strtotime("-1 day")); //
$day = date("N"); //Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
if($day == '1'){
$date = date('Ymd', strtotime("-3 day"));
}
if($day == '6'){
$date = date('Ymd', strtotime("-1 day"));
}
if($day == '7'){
$date = date('Ymd', strtotime("-2 day"));
}
//SILV (SILV-6.18)
$csv = file_get_contents("https://www.moex.com/ru/derivatives/contractresults-exp.aspx?day1=$date&day2=$date&code=SILV-6.18");
$array[] = str_getcsv($csv, ",");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 14) {$tradedate = $v; }
if ($k == 20) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('SILV_A7057AJ.датаЗакр', date('M, d', strtotime($tradedate)));
sg('SILV_A7057AJ.ценаЗакр',$legalcloseprice);
// echo date('M, d', strtotime($tradedate))."<br />";
// echo $legalcloseprice;
}
//GOLD(GOLD-6.18)
$csv = file_get_contents("https://www.moex.com/ru/derivatives/contractresults-exp.aspx?day1=$date&day2=$date&code=GOLD-6.18");
$array[] = str_getcsv($csv, ",");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 14) {$tradedate = $v; }
if ($k == 20) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('GD_A7057AJ.датаЗакр', date('M, d', strtotime($tradedate)));
sg('GD_A7057AJ.ценаЗакр',$legalcloseprice);
// echo date('M, d', strtotime($tradedate))."<br />";
// echo $legalcloseprice;
}
//PLT (PLT-6.18)
$csv = file_get_contents("https://www.moex.com/ru/derivatives/contractresults-exp.aspx?day1=$date&day2=$date&code=PLT-6.18");
$array[] = str_getcsv($csv, ",");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 14) {$tradedate = $v; }
if ($k == 20) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('PLT_A901PYK.датаЗакр', date('M, d', strtotime($tradedate)));
sg('PLT_A901PYK.ценаЗакр',$legalcloseprice);
// echo date('M, d', strtotime($tradedate))."<br />";
// echo $legalcloseprice;
}
//SiH8 (SIH-3.18)
$csv = file_get_contents("https://www.moex.com/ru/derivatives/contractresults-exp.aspx?day1=$date&day2=$date&code=Si-6.18");
$array[] = str_getcsv($csv, ",");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 14) {$tradedate = $v; }
if ($k == 20) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('SI_A7057AJ.датаЗакр', date('M, d', strtotime($tradedate)));
sg('SI_A7057AJ.ценаЗакр',$legalcloseprice);
// echo date('M, d', strtotime($tradedate))."<br />";
// echo $legalcloseprice;
}
|
Futures_cashe_summ
|
118 расчет прибыль/убыток по срочному рынку в 21:05 пн-пт
$nerealpl_A7057AJ = gg('PLT_A7057AJ.нереалПрибРуб') + gg('SILV_A7057AJ.нереалПрибРуб') + gg('GD_A7057AJ.нереалПрибРуб');
$balanceValue_A7057AJ=gg('PLT_A7057AJ.балансоваяСтоимость')+gg('SILV_A7057AJ.балансоваяСтоимость') + gg('GD_A7057AJ.балансоваяСтоимость');
$rub_A7057AJ=round(gg("A7057AJ.ru_in")-$balanceValue_A7057AJ, 2);
$liquidationValue_A7057AJ = gg('PLT_A7057AJ.ликвСтоимость') + gg('SILV_A7057AJ.ликвСтоимость') + gg('GD_A7057AJ.ликвСтоимость');
sg("A7057AJ.рубль1", $rub_A7057AJ);
sg("A7057AJ.нереалПриб", $nerealpl_A7057AJ);
sg("A7057AJ.ликвСтоимость", $rub_A7057AJ+$liquidationValue_A7057AJ);
sg("A7057AJ.балансоваяСтоимость", round($balanceValue_A7057AJ,2));
$nerealpl_A901PYK = gg('PLT_A901PYK.нереалПрибРуб');
$balanceValue_A901PYK=gg('PLT_A901PYK.балансоваяСтоимость');
$rub_A901PYK=round(gg("A901PYK.ru_in")-$balanceValue_A901PYK, 2);
$liquidationValue_A901PYK = gg('PLT_A901PYK.ликвСтоимость');
sg("A901PYK.рубль1", $rub_A901PYK);
sg("A901PYK.нереалПриб", $nerealpl_A901PYK);
sg("A901PYK.ликвСтоимость", $rub_A901PYK+$liquidationValue_A901PYK);
sg("A901PYK.балансоваяСтоимость", round($balanceValue_A901PYK,2));
$all_in = gg('A7057AJ.ru_in')+gg('A901PYK.ru_in');
$all_liquidationValue = $liquidationValue_A7057AJ+$liquidationValue_A901PYK;
$all_nerealpl = $nerealpl_A7057AJ+$nerealpl_A901PYK;
sg("all_futures.ru_in", $all_in);
sg("all_futures.рубль1", $rub_A7057AJ+$rub_A901PYK);
sg("all_futures.нереалПриб", $all_nerealpl);
sg("all_futures.ликвСтоимость", $all_liquidationValue);
sg("all_futures.балансоваяСтоимость", round($balanceValue_A7057AJ+$balanceValue_A901PYK,2));
sg("all_futures.нереалПрибПроц", round($all_nerealpl/$all_in*100, 2));
//callMethod('all_futures.futures_trading_results');
|
Futures_cashe_summ_history
|
108 расчет прибыль/убыток по срочному рынку в 21:05 пн-пт в историю
$nerealpl_A7057AJ = gg('SILV_A7057AJ.нереалПрибРуб') + gg('PLT_A7057AJ.нереалПрибРуб') + gg('GD_A7057AJ.нереалПрибРуб');
$balanceValue_A7057AJ=gg('SILV_A7057AJ.балансоваяСтоимость') + gg('PLT_A7057AJ.балансоваяСтоимость') + gg('GD_A7057AJ.балансоваяСтоимость');
$rub_A7057AJ=round(gg("A7057AJ.входСтоимость")-$balanceValue_A7057AJ, 2);
$liquidationValue_A7057AJ = gg('SILV_A7057AJ.ликвСтоимость') + gg('PLT_A7057AJ.ликвСтоимость') + gg('GD_A7057AJ.ликвСтоимость');
sg("A7057AJ.рубль1", $rub_A7057AJ);
sg("A7057AJ.нереалПрибИст", $nerealpl_A7057AJ);
sg("A7057AJ.ликвСтоимостьИст", $liquidationValue_A7057AJ);
sg("A7057AJ.балансоваяСтоимость", round($balanceValue_A7057AJ,2));
$nerealpl_A901PYK = gg('PLT_A901PYK.нереалПрибРуб');
$balanceValue_A901PYK=gg('PLT_A901PYK.балансоваяСтоимость');
$rub_A901PYK=round(gg("A901PYK.входСтоимость")-$balanceValue_A901PYK, 2);
$liquidationValue_A901PYK = gg('PLT_A901PYK.ликвСтоимость');
sg("A901PYK.рубль1", $rub_A901PYK);
sg("A901PYK.нереалПрибИст", $nerealpl_A901PYK);
sg("A901PYK.ликвСтоимостьИст", $liquidationValue_A901PYK);
sg("A901PYK.балансоваяСтоимость", round($balanceValue_A901PYK,2));
$all_in = gg('A7057AJ.ru_in')+gg('A901PYK.ru_in');
$all_inin = gg('A7057AJ.входСтоимость')+gg('A901PYK.входСтоимость');
$all_liquidationValue = $liquidationValue_A7057AJ+$liquidationValue_A901PYK;
$all_nerealpl = $nerealpl_A7057AJ+$nerealpl_A901PYK;
$all_balvalue = $balanceValue_A7057AJ+$balanceValue_A901PYK;
sg("all_futures.ru_in", $all_in);
sg("all_futures.входСтоимость", $all_inin);
sg("all_futures.рубль1", $rub_A7057AJ+$rub_A901PYK);
sg("all_futures.нереалПрибИст", $all_nerealpl);
sg("all_futures.ликвСтоимостьИст", $all_liquidationValue);
sg("all_futures.балансоваяСтоимость", round($balanceValue_A7057AJ+$balanceValue_A901PYK,2));
sg("all_futures.нереалПрибПроц", round($all_nerealpl/$all_balvalue*100, 2));
//callMethod('all.trading_results');
|
Futures_online
|
105 Парсим фьючерсы платины со смартлаба (02-52/10 0-01,12-23 * * 1-5) работает с 12 - 01.50 Екб
function futures_contents($path) {
$str = @file_get_contents($path);
if ($str === FALSE) {
throw new Exception("Cannot access $path to read contents.");
} else {
preg_match("/title=\"График по тикеру SVM8\" target=\"_blank\"><\/a><\/td>\n\t<td>(\S*)<\/td>/", $str, $silv);
if (!empty($silv[1]) && $silv[1] != '0') {
sg('SILV_A7057AJ.цена', $silv[1]);
}
preg_match("/title=\"График по тикеру GDM8\" target=\"_blank\"><\/a><\/td>\n\t<td>(\S*)<\/td>/", $str, $gd);
if (!empty($gd[1]) && $gd[1] != '0') {
sg('GD_A7057AJ.цена', $gd[1]);
}
preg_match("/title=\"График по тикеру PTM8\" target=\"_blank\"><\/a><\/td>\n\t<td>(\S*)<\/td>/", $str, $plt);
if (!empty($plt[1]) && $plt[1] != '0') {
sg('PLT_A901PYK.цена', $plt[1]);
sg('PLT_A7057AJ.цена', $plt[1]);
}
preg_match("/title=\"График по тикеру SiM8\" target=\"_blank\"><\/a><\/td>\n\t<td>(\S*)<\/td>/", $str, $sih);
if (!empty($sih[1]) && $sih[1] != '0') {
sg('SI_A7057AJ.цена', $sih[1]);
}
preg_match("/title=\"График по тикеру RIM8\" target=\"_blank\"><\/a><\/td>\n\t<td>(\S*)<\/td>/", $str, $rih);
if (!empty($rih[1]) && $rih[1] != '0') {
sg('RI_A7057AJ.цена', $rih[1]);
}
preg_match("/title=\"График по тикеру BRM8\" target=\"_blank\"><\/a><\/td>\n\t<td>(\S*)<\/td>/", $str, $br);
if (!empty($br[1]) && $br[1] != '0') {
sg('BR_A7057AJ.цена', $br[1]);
}
}
}
futures_contents("https://smart-lab.ru/q/futures/");
|
One_minute
|
Результаты торгов подсчитаны. До объявления итогов торгового дня осталась 1 минута. 21:04
1-2 января, 6-8 января 2018 года, 23 февраля, 8 и 10-11 марта, 29 апреля, 1 мая, 5-6 мая и 9 мая, а также 10 и 12 июня и 5 ноября являются выходными днями на всех рынках биржи.
say("Результаты торгов подсчитаны. До объявления итогов торгового дня осталась 1 минута.",0);
|
Stocks
|
63 Акции - обновить дату и цены последнего закрытия рынков в 00:02 (след. сутки)
$date = date('Y-m-d', strtotime("-1 day")); //, strtotime("-1 day")
$day = date("N"); //Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
if($day == '1'){
$date = date('Y-m-d', strtotime("-3 day"));
}
if($day == '7'){
$date = date('Y-m-d', strtotime("-2 day"));
}
//MOEX мосбиржа
$moexcsv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/MOEX.csv?from=$date&lang=RU");
$moexcsv = str_replace("history\n\n","",$moexcsv);
$moexarray[] = str_getcsv($moexcsv, ";");
foreach ($moexarray as $moexkey) {
foreach ($moexkey as $moexk => $moexv) {
if ($moexk == 20) {$moextradedate = $moexv; }
if ($moexk == 28) {$moexlegalcloseprice = $moexv; }
}
}
if (!empty($moextradedate) && !empty($moexlegalcloseprice)) {
sg('MOEX_45NW5.датаЗакр', date('M, d', strtotime($moextradedate)));
sg('MOEX_45NW5.ценаЗакр',$moexlegalcloseprice);
sg('MOEX_S5NW5.датаЗакр', date('M, d', strtotime($moextradedate)));
sg('MOEX_S5NW5.ценаЗакр',$moexlegalcloseprice);
}
//HYDR РусГидро
$rstipcsv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/HYDR.csv?from=$date&lang=RU");
$rstipcsv = str_replace("history\n\n","",$rstipcsv);
$rstiparray[] = str_getcsv($rstipcsv, ";");
foreach ($rstiparray as $rstipkey) {
foreach ($rstipkey as $rstipk => $rstipv) {
if ($rstipk == 20) {$rstiptradedate = $rstipv; }
if ($rstipk == 28) {$rstiplegalcloseprice = $rstipv; }
}
}
if (!empty($rstiptradedate) && !empty($rstiplegalcloseprice)) {
sg('HYDR_45NW5.датаЗакр', date('M, d', strtotime($rstiptradedate)));
sg('HYDR_45NW5.ценаЗакр',$rstiplegalcloseprice);
sg('HYDR_S5NW5.датаЗакр', date('M, d', strtotime($rstiptradedate)));
sg('HYDR_S5NW5.ценаЗакр',$rstiplegalcloseprice);
sg('HYDR_32348.датаЗакр', date('M, d', strtotime($rstiptradedate)));
sg('HYDR_32348.ценаЗакр',$rstiplegalcloseprice);
}
//ALRS Алроса
$alrscsv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/ALRS.csv?from=$date&lang=RU");
$alrscsv = str_replace("history\n\n","",$alrscsv);
$alrsarray[] = str_getcsv($alrscsv, ";");
foreach ($alrsarray as $alrskey) {
foreach ($alrskey as $alrsk => $alrsv) {
if ($alrsk == 20) {$alrstradedate = $alrsv; }
if ($alrsk == 28) {$alrslegalcloseprice = $alrsv; }
}
}
if (!empty($alrstradedate) && !empty($alrslegalcloseprice)) {
//sg('ALRS_S5NW5.датаЗакр', date('M, d', strtotime($alrstradedate)));
//sg('ALRS_S5NW5.ценаЗакр',$alrslegalcloseprice);
}
//MGNT Магнит ао
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/MGNT.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('MGNT_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('MGNT_S5NW5.ценаЗакр',$legalcloseprice);
}
//SIBN Газпнефть
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/SIBN.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('SIBN_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('SIBN_S5NW5.ценаЗакр',$legalcloseprice);
}
//POLY Polymetal
$polycsv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/POLY.csv?from=$date&lang=RU");
$polycsv = str_replace("history\n\n","",$polycsv);
$array[] = str_getcsv($polycsv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$polytradedate = $v; }
if ($k == 28) {$polylegalcloseprice = $v; }
}
}
if (!empty($polytradedate) && !empty($polylegalcloseprice)) {
sg('POLY_45NW5.датаЗакр', date('M, d', strtotime($polytradedate)));
sg('POLY_45NW5.ценаЗакр',$polylegalcloseprice);
sg('POLY_S5NW5.датаЗакр', date('M, d', strtotime($polytradedate)));
sg('POLY_S5NW5.ценаЗакр',$polylegalcloseprice);
sg('POLY_32348.датаЗакр', date('M, d', strtotime($polytradedate)));
sg('POLY_32348.ценаЗакр',$polylegalcloseprice);
}
//AFLT Аэрофлот
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/AFLT.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('AFLT_32348.датаЗакр', date('M, d', strtotime($tradedate)));
sg('AFLT_32348.ценаЗакр',$legalcloseprice);
sg('AFLT_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('AFLT_S5NW5.ценаЗакр',$legalcloseprice);
}
//YNDX Яндекс
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/YNDX.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('YNDX_45NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('YNDX_45NW5.ценаЗакр',$legalcloseprice);
}
//MSTT Мостотрест
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/MSTT.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('MSTT_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('MSTT_S5NW5.ценаЗакр',$legalcloseprice);
}
//FEES ФСК ЕЭС
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/FEES.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('FEES_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('FEES_S5NW5.ценаЗакр',$legalcloseprice);
}
//PLZL_S5NW5 Полюс
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/PLZL.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('PLZL_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('PLZL_S5NW5.ценаЗакр',$legalcloseprice);
}
//NKHP_S5NW5
$csv = file_get_contents("https://moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/NKHP.csv?from=$date&lang=RU");
$csv = str_replace("history\n\n","",$csv);
$array[] = str_getcsv($csv, ";");
foreach ($array as $key) {
foreach ($key as $k => $v) {
if ($k == 20) {$tradedate = $v; }
if ($k == 28) {$legalcloseprice = $v; }
}
}
if (!empty($tradedate) && !empty($legalcloseprice)) {
sg('NKHP_S5NW5.датаЗакр', date('M, d', strtotime($tradedate)));
sg('NKHP_S5NW5.ценаЗакр',$legalcloseprice);
sg('NKHP_32348.датаЗакр', date('M, d', strtotime($tradedate)));
sg('NKHP_32348.ценаЗакр',$legalcloseprice);
}
|
Stocks_cashe_summ
|
108 расчет прибыль/убыток по фондовому рынку (06-51/10 12-21 * * 1-5)
$nerealpl_32348 = gg('HYDR_32348.нереалПриб') + gg('POLY_32348.нереалПриб') + gg('PLZL_32348.нереалПриб') + gg('NKHP_32348.нереалПриб');
$balanceValue_32348= gg('HYDR_32348.балансоваяСтоимость') + gg('POLY_32348.балансоваяСтоимость') + gg('PLZL_32348.балансоваяСтоимость') + gg('NKHP_32348.балансоваяСтоимость');
$rub_32348=round(gg("32348.входСтоимость")-$balanceValue_32348, 2);
$liquidationValue_32348 = gg('HYDR_32348.ликвСтоимость') + gg('POLY_32348.ликвСтоимость') + gg('PLZL_32348.ликвСтоимость') + gg('NKHP_32348.ликвСтоимость');
//$liquidationAllValue_32348 = $rub_32348+$liquidationValue_32348;
sg("32348.рубль1", $rub_32348);
sg("32348.нереалПрибБезИстории", $nerealpl_32348);
sg("32348.ликвСтоимостьБезИстории", $liquidationValue_32348);
sg("32348.балансоваяСтоимость", round($balanceValue_32348,2));
sg("32348.нереалПрибПроц", round($nerealpl_32348/$balanceValue_32348*100, 2));
$nerealpl_45NW5 = gg('POLY_45NW5.нереалПриб');
$balanceValue_45NW5 = gg('POLY_45NW5.балансоваяСтоимость');
$rub_45NW5=round(gg("45NW5.входСтоимость")-$balanceValue_45NW5, 2);
$liquidationValue_45NW5 = gg('POLY_45NW5.ликвСтоимость');
//$liquidationAllValue_45NW5 = $rub_45NW5+$liquidationValue_45NW5;
sg("45NW5.рубль1", $rub_45NW5);
sg("45NW5.нереалПрибБезИстории", $nerealpl_45NW5);
sg("45NW5.ликвСтоимостьБезИстории", $liquidationValue_45NW5);
sg("45NW5.балансоваяСтоимость", round($balanceValue_45NW5,2));
sg("45NW5.нереалПрибПроц", round($nerealpl_45NW5/$balanceValue_45NW5*100, 2));
$nerealpl_S5NW5 = gg('POLY_S5NW5.нереалПриб') + gg('PLZL_S5NW5.нереалПриб') + gg('NKHP_S5NW5.нереалПриб');
$balanceValue_S5NW5 = gg('POLY_S5NW5.балансоваяСтоимость') + gg('PLZL_S5NW5.балансоваяСтоимость') + gg('NKHP_S5NW5.балансоваяСтоимость');
$rub_S5NW5=round(gg("S5NW5.входСтоимость")-$balanceValue_S5NW5, 2);
$liquidationValue_S5NW5 = gg('POLY_S5NW5.ликвСтоимость') + gg('PLZL_S5NW5.ликвСтоимость') + gg('NKHP_S5NW5.ликвСтоимость');
//$liquidationAllValue_S5NW5 = $rub_S5NW5+$liquidationValue_S5NW5;
sg("S5NW5.рубль1", $rub_S5NW5);
sg("S5NW5.нереалПрибБезИстории", $nerealpl_S5NW5);
sg("S5NW5.ликвСтоимостьБезИстории", $liquidationValue_S5NW5);
sg("S5NW5.балансоваяСтоимость", round($balanceValue_S5NW5,2));
sg("S5NW5.нереалПрибПроц", round($nerealpl_S5NW5/$balanceValue_S5NW5*100, 2));
$all_in = gg('32348.ru_in')+gg('45NW5.ru_in')+gg('S5NW5.ru_in');
$all_inin = gg('32348.входСтоимость')+gg('45NW5.входСтоимость')+gg('S5NW5.входСтоимость');
$all_liquidationValue = $liquidationValue_32348+$liquidationValue_45NW5+$liquidationValue_S5NW5;
$all_nerealpl = $nerealpl_32348+$nerealpl_45NW5+$nerealpl_S5NW5;
$all_balvalue = $balanceValue_32348+$balanceValue_45NW5+$balanceValue_S5NW5;
sg("all.ru_in", $all_in);
sg("all.входСтоимость", $all_inin);
sg("all.рубль1", $rub_32348+$rub_45NW5+$rub_S5NW5);
sg("all.нереалПрибБезИстории", $all_nerealpl);
sg("all.ликвСтоимостьБезИстории", $all_liquidationValue);
sg("all.балансоваяСтоимость", round($balanceValue_32348+$balanceValue_45NW5+$balanceValue_S5NW5,2));
sg("all.нереалПрибПроц", round($all_nerealpl/$all_balvalue*100, 2));
//callMethod('all.trading_results');
|
Stocks_cashe_summ_history
|
108 расчет прибыль/убыток по фондовому рынку в 21:05 пн-пт в историю
$nerealpl_32348 = gg('HYDR_32348.нереалПриб') + gg('POLY_32348.нереалПриб') + gg('NKHP_32348.нереалПриб');
$balanceValue_32348 = gg('HYDR_32348.балансоваяСтоимость') + gg('POLY_32348.балансоваяСтоимость') + gg('NKHP_32348.балансоваяСтоимость');
$rub_32348=round(gg("32348.входСтоимость")-$balanceValue_32348, 2);
$liquidationValue_32348 = gg('HYDR_32348.ликвСтоимость') + gg('POLY_32348.ликвСтоимость') + gg('NKHP_32348.ликвСтоимость');
//$liquidationAllValue_32348 = $rub_32348+$liquidationValue_32348;
sg("32348.рубль1", $rub_32348);
sg("32348.нереалПрибИст", $nerealpl_32348);
sg("32348.ликвСтоимостьИст", $liquidationValue_32348);
sg("32348.балансоваяСтоимость", round($balanceValue_32348,2));
$nerealpl_45NW5 = gg('POLY_45NW5.нереалПриб');
$balanceValue_45NW5= gg('POLY_45NW5.балансоваяСтоимость');
$rub_45NW5=round(gg("45NW5.входСтоимость")-$balanceValue_45NW5, 2);
$liquidationValue_45NW5 = gg('POLY_45NW5.ликвСтоимость');
//$liquidationAllValue_45NW5 = $rub_45NW5+$liquidationValue_45NW5;
sg("45NW5.рубль1", $rub_45NW5);
sg("45NW5.нереалПрибИст", $nerealpl_45NW5);
sg("45NW5.ликвСтоимостьИст", $liquidationValue_45NW5);
sg("45NW5.балансоваяСтоимость", round($balanceValue_45NW5,2));
$nerealpl_S5NW5 = gg('POLY_S5NW5.нереалПриб') + gg('PLZL_S5NW5.нереалПриб') + gg('NKHP_S5NW5.нереалПриб');
$balanceValue_S5NW5 = gg('POLY_S5NW5.балансоваяСтоимость') + gg('PLZL_S5NW5.балансоваяСтоимость') + gg('NKHP_S5NW5.балансоваяСтоимость');
$rub_S5NW5=round(gg("S5NW5.входСтоимость")-$balanceValue_S5NW5, 2);
$liquidationValue_S5NW5 = gg('POLY_S5NW5.ликвСтоимость') + gg('PLZL_S5NW5.ликвСтоимость') + gg('NKHP_S5NW5.ликвСтоимость');
//$liquidationAllValue_S5NW5 = $rub_S5NW5+$liquidationValue_S5NW5;
sg("S5NW5.рубль1", $rub_S5NW5);
sg("S5NW5.нереалПрибИст", $nerealpl_S5NW5);
sg("S5NW5.ликвСтоимостьИст", $liquidationValue_S5NW5);
sg("S5NW5.балансоваяСтоимость", round($balanceValue_S5NW5,2));
$all_in = gg('32348.ru_in')+gg('45NW5.ru_in')+gg('S5NW5.ru_in');
$all_inin = gg('32348.входСтоимость')+gg('45NW5.входСтоимость')+gg('S5NW5.входСтоимость');
$all_liquidationValue = $liquidationValue_32348+$liquidationValue_45NW5+$liquidationValue_S5NW5;
$all_nerealpl = $nerealpl_32348+$nerealpl_45NW5+$nerealpl_S5NW5;
$all_balvalue = $balanceValue_32348+$balanceValue_45NW5+$balanceValue_S5NW5;
sg("all.ru_in", $all_in);
sg("all.входСтоимость", $all_inin);
sg("all.рубль1", $rub_32348+$rub_45NW5+$rub_S5NW5);
sg("all.нереалПрибИст", $all_nerealpl);
sg("all.ликвСтоимостьИст", $all_liquidationValue);
sg("all.балансоваяСтоимость", round($balanceValue_32348+$balanceValue_45NW5+$balanceValue_S5NW5,2));
sg("all.нереалПрибПроц", round($all_nerealpl/$all_balvalue*100, 2));
//callMethod('all.trading_results');
|
Stocks_online
|
95 Парсим котировки со смартлаба (05-50/15 12-21 * * 1-5) работает 11.50-20.50Екб
function file_contents($path) {
$str = @file_get_contents($path);
if ($str === FALSE) {
throw new Exception("Cannot access $path to read contents.");
} else {
preg_match("/\(MOEX\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('MOEX_45NW5.цена',$matches[1]);
sg('MOEX_S5NW5.цена',$matches[1]);
preg_match("/\(HYDR\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('HYDR_45NW5.цена',$matches[1]);
sg('HYDR_S5NW5.цена',$matches[1]);
sg('HYDR_32348.цена',$matches[1]);
// preg_match("/\(ALRS\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
// sg('ALRS_S5NW5.цена',$matches[1]);
preg_match("/\(MGNT\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('MGNT_S5NW5.цена',$matches[1]);
preg_match("/\(SIBN\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('SIBN_S5NW5.цена',$matches[1]);
preg_match("/\(POLY\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('POLY_45NW5.цена',$matches[1]);
sg('POLY_S5NW5.цена',$matches[1]);
sg('POLY_32348.цена',$matches[1]);
preg_match("/\(AFLT\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('AFLT_32348.цена',$matches[1]);
sg('AFLT_S5NW5.цена',$matches[1]);
preg_match("/\(YNDX\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('YNDX_45NW5.цена',$matches[1]);
preg_match("/\(MSTT\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('MSTT_S5NW5.цена',$matches[1]);
preg_match("/\(FEES\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('FEES_S5NW5.цена',$matches[1]);
preg_match("/\(PLZL\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('PLZL_S5NW5.цена',$matches[1]);
sg('PLZL_32348.цена',$matches[1]);
preg_match("/\(NKHP\) фундаментальный анализ\" target=\"_blank\"><\/a><\/td>\n\t\t<td>(\S*)<\/td>/", $str, $matches);
sg('NKHP_S5NW5.цена',$matches[1]);
sg('NKHP_32348.цена',$matches[1]);
}
}
file_contents("https://smart-lab.ru/q");
|
Stocks_Telegram
|
Акции в Телеграм за вчера
$POLY_32348 = gg('POLY_32348.цена');
$POLYold_32348 = gg('POLY_32348.ценаЗакр');
$POLY_45NW5 = gg('POLY_45NW5.цена');
$POLYold_45NW5 = gg('POLY_45NW5.ценаЗакр');
$POLY_S5NW5 = gg('POLY_S5NW5.цена');
$POLYold_S5NW5 = gg('POLY_S5NW5.ценаЗакр');
$HYDR_32348 = gg('HYDR_32348.цена');
$HYDRold_32348 = gg('HYDR_32348.ценаЗакр');
$HYDR_45NW5 = gg('HYDR_45NW5.цена');
$HYDRold_45NW5 = gg('HYDR_45NW5.ценаЗакр');
$HYDR_S5NW5 = gg('HYDR_S5NW5.цена');
$HYDRold_S5NW5 = gg('HYDR_S5NW5.ценаЗакр');
$AFLT_32348 = gg('AFLT_32348.цена');
$AFLTold_32348 = gg('AFLT_32348.ценаЗакр');
$AFLT_S5NW5 = gg('AFLT_S5NW5.цена');
$AFLTold_S5NW5 = gg('AFLT_S5NW5.ценаЗакр');
$NKHP_32348 = gg('NKHP_32348.цена');
$NKHPold_32348 = gg('NKHP_32348.ценаЗакр');
$NKHP_S5NW5 = gg('NKHP_S5NW5.цена');
$NKHPold_S5NW5 = gg('NKHP_S5NW5.ценаЗакр');
$MGNT_S5NW5 = gg('MGNT_S5NW5.цена');
$MGNTold_S5NW5 = gg('MGNT_S5NW5.ценаЗакр');
$FEES_S5NW5 = gg('FEES_S5NW5.цена');
$FEESold_S5NW5 = gg('FEES_S5NW5.ценаЗакр');
if ($POLY_32348 == $POLYold_32348) {
$POLYtxt_32348 = gg('POLY_32348.бумага')." ".gg('POLY_32348.нереалПриб')."₽";
} else {
$POLYtxt_32348 = gg('POLY_32348.бумага')." ".gg('POLY_32348.нереалПрибПроц')."% (".gg('POLY_32348.нереалПриб')."₽) ".$POLYold_32348." → ".gg('POLY_32348.цена');
}
if ($POLY_45NW5 == $POLYold_45NW5) {
$POLYtxt_45NW5 = gg('POLY_45NW5.бумага')." ".gg('POLY_45NW5.нереалПриб')."₽";
} else {
$POLYtxt_45NW5 = gg('POLY_45NW5.бумага')." ".gg('POLY_45NW5.нереалПрибПроц')."% (".gg('POLY_45NW5.нереалПриб')."₽) ";
}
if ($POLY_S5NW5 == $POLYold_S5NW5) {
$POLYtxt_S5NW5 = gg('POLY_S5NW5.бумага')." ".gg('POLY_S5NW5.нереалПриб')."₽";
} else {
$POLYtxt_S5NW5 = gg('POLY_S5NW5.бумага')." ".gg('POLY_S5NW5.нереалПрибПроц')."% (".gg('POLY_S5NW5.нереалПриб')."₽) ";
}
if ($HYDR_32348 == $HYDRold_32348) {
$HYDRtxt_32348 = gg('HYDR_32348.бумага')." ".gg('HYDR_32348.нереалПриб')."₽";
} else {
$HYDRtxt_32348 = gg('HYDR_32348.бумага')." ".gg('HYDR_32348.нереалПрибПроц')."% (".gg('HYDR_32348.нереалПриб')."₽) ".gg('HYDR_32348.ценаЗакр')." → ".gg('HYDR_32348.цена');
}
if ($HYDR_45NW5 == $HYDRold_45NW5) {
$HYDRtxt_45NW5 = gg('HYDR_45NW5.бумага')." ".gg('HYDR_45NW5.dirtxt')." ".gg('HYDR_45NW5.нереалПриб')."₽";
} else {
$HYDRtxt_45NW5 = gg('HYDR_45NW5.бумага')." ".gg('HYDR_45NW5.нереалПрибПроц')."% (".gg('HYDR_45NW5.нереалПриб')."₽) ";
}
if ($HYDR_S5NW5 == $HYDRold_S5NW5) {
$HYDRtxt_S5NW5 = gg('HYDR_S5NW5.бумага')." ".gg('HYDR_S5NW5.нереалПриб')."₽";
} else {
$HYDRtxt_S5NW5 = gg('HYDR_S5NW5.бумага')." ".gg('HYDR_S5NW5.нереалПрибПроц')."% (".gg('HYDR_S5NW5.нереалПриб')."₽) ";
}
if ($AFLT_32348 == $AFLTold_32348) {
$AFLTtxt_32348 = gg('AFLT_32348.бумага')." ".gg('AFLT_32348.нереалПриб')."₽";
} else {
$AFLTtxt_32348 = gg('AFLT_32348.бумага')." ".gg('AFLT_32348.нереалПрибПроц')."% (".gg('AFLT_32348.нереалПриб')."₽) ".gg('AFLT_32348.ценаЗакр')." → ".gg('AFLT_32348.цена');
}
if ($AFLT_S5NW5 == $AFLTold_S5NW5) {
$AFLTtxt_S5NW5 = gg('AFLT_S5NW5.бумага')." ".gg('AFLT_S5NW5.нереалПриб')."₽";
} else {
$AFLTtxt_S5NW5 = gg('AFLT_S5NW5.бумага')." ".gg('AFLT_S5NW5.нереалПрибПроц')."% (".gg('AFLT_S5NW5.нереалПриб')."₽) ";
}
if ($MGNT_S5NW5 == $MGNTold_S5NW5) {
$MGNTtxt_S5NW5 = gg('MGNT_S5NW5.бумага')." ".gg('MGNT_S5NW5.нереалПриб')."₽";
} else {
$MGNTtxt_S5NW5 = gg('MGNT_S5NW5.бумага')." ".gg('MGNT_S5NW5.нереалПрибПроц')."% (".gg('MGNT_S5NW5.нереалПриб')."₽) ".gg('MGNT_S5NW5.ценаЗакр')." → ".gg('MGNT_S5NW5.цена');
}
if ($FEES_S5NW5 == $FEESold_S5NW5) {
$FEEStxt_S5NW5 = gg('FEES_S5NW5.бумага')." ".gg('FEES_S5NW5.нереалПриб')."₽";
} else {
$FEEStxt_S5NW5 = gg('FEES_S5NW5.бумага')." ".gg('FEES_S5NW5.нереалПрибПроц')."% (".gg('FEES_S5NW5.нереалПриб')."₽) ".gg('FEES_S5NW5.ценаЗакр')." → ".gg('FEES_S5NW5.цена');
}
if ($NKHP_S5NW5 == $NKHPold_S5NW5) {
$NKHPtxt_S5NW5 = gg('NKHP_S5NW5.бумага')." ".gg('NKHP_S5NW5.нереалПриб')."₽";
} else {
$NKHPtxt_S5NW5 = gg('NKHP_S5NW5.бумага')." ".gg('NKHP_S5NW5.нереалПрибПроц')."% (".gg('NKHP_S5NW5.нереалПриб')."₽) ".gg('NKHP_S5NW5.ценаЗакр')." → ".gg('NKHP_S5NW5.цена');
}
if ($NKHP_32348 == $NKHPold_32348) {
$NKHPtxt_32348 = gg('NKHP_32348.бумага')." ".gg('NKHP_32348.нереалПриб')."₽";
} else {
$NKHPtxt_32348 = gg('NKHP_32348.бумага')." ".gg('NKHP_32348.нереалПрибПроц')."% (".gg('NKHP_32348.нереалПриб')."₽) ".gg('NKHP_32348.ценаЗакр')." → ".gg('NKHP_32348.цена');
}
$all="<b>Итого:</b> ".gg('all.нереалПрибБезИстории')."₽ (".gg('all.нереалПрибПроц').")%";
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToAdmin("Бумага/приб%/прибРуб/Закр/Цена\r\n".$POLYtxt_32348."\r\n".$POLYtxt_45NW5."\r\n".$POLYtxt_S5NW5."\r\n".$HYDRtxt_32348."\r\n".$NKHPtxt_S5NW5."\r\n".$NKHPtxt_32348."\r\n".$all);
|
TempStocksAlert
|
echo $feespriceavg = getHistoryAvg("Fees.price", strtotime("-1 day"));
|
Three_min
|
Результаты торгов подсчитаны. До объявления итогов торгового дня осталось 15 минут. 20:50
say("Основная торговая сессия закончена. Приступаю к подсчету результатов. До объявления итогов торгового дня осталось 15 минут.",0);
|
Курс валют ЦБР
|
курсы валют в 11:00 отключено
//say("Обновление курсов валюты",1);
$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date("d/m/Y"));
$xml = $file->xpath("//Valute[@ID='R01235']");
$valute = strval($xml[0]->Value);
$dollar = str_replace(",",".",$valute);
$xml3 = $file->xpath("//Valute[@ID='R01239']");
$valute3 = strval($xml3[0]->Value);
$eur = str_replace(",",".",$valute3);
sg("USD.data",$dollar);
sg("EUR.data",$eur);
|
chargeEnd
|
Телефон заряжен
$uname = $params['uname'];
$wp=$params['workingperiod'];
$wptimeh=round($wp/3600);
$fq = $params['freq']/1000;
$tgrmidarr = array(
"Петр" => "365192641",
"Оленька" => "249611342",
"Марина" => "256840212",
);
$tgrmid = $tgrmidarr[$uname];
$txt = "$uname, ваш телефон зарядился. Время с момента включения $wptimeh часов. Частота процессора $fq килогерц.";
playSound("./sounds/AlertTone33.wav");
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendStickerToUser($tgrmid, "CgADBAADxwMAAh0dZAdu20NC0FK9vAI");
say($txt,1);
|
moexclose
|
Биржа закроется через 1 час.
say('Биржа закроется через 1 час.',0);
|
moexopen
|
Биржа открыта, биржа закрыта
say('Биржа открыта. Делайте ставки.',0);
|
OlgaIncomingCallFam
|
Входящий близкие
$uname = $params['name'];
$namepicarr = array(
"Петенька" => "C:/USR/www/images/gps/Peter.jpg",
"Филипп" => "C:/USR/www/images/gps/Filipp.jpg",
"Ирина" => "C:/USR/www/images/gps/Irina.jpg",
"Мамочка" => "C:/USR/www/images/gps/Ludmila.jpg",
"Людмила" => "C:/USR/www/images/gps/LudmilaOtinova.jpg",
"Евгений" => "C:/USR/www/images/gps/EvgenOtinov.jpg",
"Марина" => "C:/USR/www/images/gps/Marina.jpg",
"Надежда" => "C:/USR/www/images/gps/Nadya.jpg",
"Оленька" => "C:/USR/www/images/gps/Olenka.jpg",
"Елена" => "C:/USR/www/images/gps/ElenaNikolaevna.jpg",
"Юрий" => "C:/USR/www/images/gps/YuriYakov.jpg",
);
$movenamepic = $namepicarr[$uname];
$nameunamearr = array(
"Филипп" => "Петя",
"Филипп" => "Филипп Сергеевич",
"Мамочка" => "Мама",
"Людмила" => "Мила Людмила",
"Евгений" => "дядя Женя",
"Марина" => "Марина",
"Надежда" => "Надежда Отинова",
"Оленька" => "Оленька",
"Елена" => "тетя Лена Филоненко",
"Юрий" => "папа",
);
$moveuname = $nameunamearr[$uname];
playSound("./sounds/SunshineForest.mp3");
say("Ольга Юрьевна, вам звонит $moveuname.",0);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
// if ( $uname == 'Оленька' ) {
$telegram_module->sendImageToUser(249611342, $movenamepic, $moveuname.", входящий звонок");
// }
$telegram_module->sendStickerToUser(249611342,"CgADBAADyXIAAh4XZAdor_XCuNr7JQI");
sleep(7);
say("Ольга Юрьевна, вам входящий звонок от $moveuname.",0);
sleep(7);
say("ольга Юрьевна, возьмите трубку, вам $moveuname звонит.",0);
|
OlgaIncomingSmsFam
|
Ольга, вам СМС от близких
say('Ольга, вам CMC от '.$params['name'].': '.$params['text'],2);
|
OlgaRecentCallFam
|
пропущенный от близких
say('Ольга Юрьевна, у вас пропущенный вызов от '.$params['name'],2);
|
PeterComeIn
|
Мой телефон нашел домашний вайфай Inferno
say('Атас, хозяин идет.',0);
|
PeterComeOut
|
Мой телефон потерял домашний вайфай Inferno
say('Расслабились. Петя ушел.',0);
|
PeterConnectVW
|
Мой телефон подключился к VW Tiguan по блютус
say('Петя завел Тигуан.',0);
|
PeterDisconnectVW
|
Мой телефон отключился от VW Tiguan по блютус
say('Петя заглушил Тигуан.',0);
|
PeterIncomingCallFam
|
Входящий близкие
$uname = $params['name'];
$namepicarr = array(
"Филипп" => "C:/USR/www/images/gps/Filipp.jpg",
"Ирина" => "C:/USR/www/images/gps/Irina.jpg",
"Мамочка" => "C:/USR/www/images/gps/Ludmila.jpg",
"Людмила" => "C:/USR/www/images/gps/LudmilaOtinova.jpg",
"Евгений" => "C:/USR/www/images/gps/EvgenOtinov.jpg",
"Марина" => "C:/USR/www/images/gps/Marina.jpg",
"Надежда" => "C:/USR/www/images/gps/Nadya.jpg",
"Оленька" => "C:/USR/www/images/gps/Olenka.jpg",
"Елена" => "C:/USR/www/images/gps/ElenaNikolaevna.jpg",
"Юрий" => "C:/USR/www/images/gps/YuriYakov.jpg",
);
$movenamepic = $namepicarr[$uname];
$nameunamearr = array(
"Филипп" => "брат Филипп",
"Ирина" => "Ирина Николаевна",
"Мама" => "Мама",
"Людмила" => "Мила Людмила",
"Евгений" => "дядя Женя",
"Марина" => "Марина",
"Надежда" => "Надежда Отинова",
"Оленька" => "Оленька",
"Елена" => "тетя Лена Филоненко",
"Юрий" => "тесть дорогой Юрий Яковлевич",
);
$moveuname = $nameunamearr[$uname];
playSound("./sounds/SunshineForest.mp3");
say("Петр, вам звонит $moveuname.",0);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
// if ( $uname == 'Оленька' ) {
$telegram_module->sendImageToAdmin($movenamepic, $uname.", входящий звонок");
// }
$telegram_module->sendStickerToAdmin("CgADBAADyXIAAh4XZAdor_XCuNr7JQI");
sleep(7);
say("Петр Сергеевич, вам входящий звонок от $uname.",0);
sleep(7);
say("Петр Сергеевич, возьмите трубку, вам $uname звонит.",0);
|
PeterIncomingSmsFam
|
Петр, вам СМС от близких
say('Петр, вам CMC от '.$params['name'].': '.$params['text'],2);
|
PeterRecentCallFam
|
пропущенный от близких
say('Петр, у вас пропущенный вызов от '.$params['name'],2);
|
HappyBirthday
|
Поздравление с ДР в Телеграм, СМС, Емайл в 11.07
// сценарий HappyBirthday
$from = "pphilonenko@gmail.com";
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
if (file_exists('./modules/app_calendar/app_calendar.class.php'))
{
Define('TEMP_APP_CALENDAR_SOONLIMIT', '7'); //лимит дней которые проговаривает
if (defined('TEMP_APP_CALENDAR_SOONLIMIT')) {
$how_soon=TEMP_APP_CALENDAR_SOONLIMIT;
} else {
$how_soon=SETTINGS_APP_CALENDAR_SOONLIMIT;
}
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar=new app_calendar();
$calendar->usual($out);
$events=$out['EVENTS_TODAY'];
if (is_array($out['EVENTS_TODAY'])) {
$sayname = '';
$cnt=0;
foreach($events as $event) {
if ( $event['USER_ID'] != '0' && $event['CALENDAR_CATEGORY_ID'] == '19' && $event['IS_TASK'] != '1' ) {
$say_phrase = '';
$username = SQLSelectOne("SELECT * FROM users WHERE ID='".$event['USER_ID']."'");
$tlgid = SQLSelectOne("SELECT * FROM tlg_user WHERE MEMBER_ID='".$event['USER_ID']."'");
$say_phrase .= $username['NAME'].", поздравляем c Днем Рождения!\r\n";
$sayname .= $username['NAME'].", ";
$cnt=1;
$to = $event['EMAIL'];
if ( $event['EMAIL'] == '' ) $to = $username['EMAIL'];
if ( $to != '' ) {
$subj = $event['TITLE'];
$say_phrase .= "<b>".$event['TITLE']."</b>\r\nНа почте для вас поздравление.";
$body = '<html><head></head><body>
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">
<h1><span style="font-size:20px">'.$event['TITLE'].'</span></h1>
</div>
<p>'.$event['NOTES'].'</p>
<h3 style="color:#aaa; font-style:italic">Алиса</h3>
</body></html>';
$attachurl = "";
$attachfilename = "";
SwiftMailHtml($from, $to, $subj, $body, $attachurl = "",$attachfilename = "");
} else {
$say_phrase .= $event['TITLE'].".\r\nЖаль, не вышло отправить поздравительное письмо - не указан Емайл.";
}
if ( $event['PHONE'] != '' ) {
require_once './lib/sms.ru.php';
$smsru = new SMSRU('f923f5ca-288b-8d34-8154-dbbab0ef6047');
$data = new stdClass();
$data->to = $event['PHONE'];
$data->text = $event['TITLE'];
$data->from = 'DoctorVita';
$sms = $smsru->send_one($data);
if ($sms->status == "OK") {
$say_phrase .= "\r\nПоздравила через СМС, отлично.";
} else {
$say_phrase .= "\r\nЖаль, СМС поздравление отправить не вышло, ошибка отправки.";
}
} else {
$say_phrase .= "\r\nХотела отправить поздравление через СМС, но не указан номер телефона.";
}
if ( $tlgid['USER_ID'] != '' ) {
$telegram_module->sendMessageToUser( $tlgid['USER_ID'], $say_phrase);
}
}
}
foreach($events as $event) {
if ( $event['USER_ID'] == '0' && $event['CALENDAR_CATEGORY_ID'] == '19' && $event['IS_TASK'] != '1' ) {
$say_nouser='';
$say_nouser .= $event['TITLE'];
$cnt=1;
$to = $event['EMAIL'];
if ( $to != '' ) {
$subj = $event['TITLE'];
$body = '<html><head></head><body>
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">
<h1><span style="font-size:20px">'.$event['TITLE'].'</span></h1>
</div>
<p>'.$event['NOTES'].'</p>
<h3 style="color:#aaa; font-style:italic">Алиса</h3>
</body></html>';
$attachurl = "";
$attachfilename = "";
SwiftMailHtml($from, $to, $subj, $body, $attachurl = "",$attachfilename = "");
}
if ( $event['PHONE'] != '' ) {
require_once './lib/sms.ru.php';
$smsru = new SMSRU('f923f5ca-288b-8d34-8154-dbbab0ef6047');
$data = new stdClass();
$data->to = $event['PHONE'];
$data->text = $event['TITLE'];
$data->from = 'DoctorVita';
$sms = $smsru->send_one($data);
}
}
}
if($cnt) {
say("Сегодня день Рождения у ".$sayname.$say_nouser." - разослала открыточки и поздравления.", 1);
// echo "Сегодня день Рождения у ".$sayname.$say_nouser." - разослала открыточки и поздравления.";
} else {
$events_soon=SQLSelect("
SELECT *, TO_DAYS(DATE(CONCAT_WS('-', DATE_FORMAT(NOW(), '%Y'),
DATE_FORMAT(DUE, '%m'), DATE_FORMAT(DUE, '%d'))))-TO_DAYS(NOW()) as AGE
FROM calendar_events WHERE (TO_DAYS(DATE(CONCAT_WS('-', DATE_FORMAT(NOW(), '%Y'), DATE_FORMAT(DUE, '%m'), DATE_FORMAT(DUE, '%d'))))>TO_DAYS(NOW()))
AND (TO_DAYS(DATE(CONCAT_WS('-', DATE_FORMAT(NOW(), '%Y'), DATE_FORMAT(DUE, '%m'), DATE_FORMAT(DUE, '%d'))))-TO_DAYS(NOW())<=".(int)$how_soon.")
AND IS_REPEATING=1 AND REPEAT_TYPE=1 AND IS_TASK=0 and CALENDAR_CATEGORY_ID=19 ORDER BY DUE
");
if($events_soon[0]['TITLE']) {
$soonbirthname = SQLSelectOne("SELECT * FROM users WHERE ID='".$events_soon[0]['USER_ID']."'");
if($soonbirthname['NAME']) {
$uname=$soonbirthname['NAME'];
$namearr = array(
"Петр" => "Петра",
"Ирина Николаевна" => "Ирины Николаевны",
"Людмила Ильинична" => "Людмилы Ильиничны",
"Людмила Юрьевна" => "Людмилы Юрьевны",
"Марина" => "Марины",
"Надежда" => "Надежды",
"Ольга" => "Ольги Юрьевны",
"Елена Николаевна" => "Елены Николаевны",
"Сергей" => "Сергея",
);
$move = $namearr[$uname];
// echo "Ближайший день рождения отмечаем у <b>".$move.".</b> Дней осталось: <b>".$events_soon[0]['AGE'].".";
say("Ближайший день рождения отмечаем у ".$move.". Дней осталось: ".$events_soon[0]['AGE'].".", 1);
} else {
// echo "До события <b>".$events_soon[0]['TITLE']."</b> дней осталось: <b>".$events_soon[0]['AGE'].".";
say("До события ".$events_soon[0]['TITLE']." дней осталось: ".$events_soon[0]['AGE'].".", 1);
}
}
}
}
}
|
NotesToday
|
дела на сегодня в 09.45
// сценарий NotesToday
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar=new app_calendar();
$calendar->usual($out);
$events=$out['EVENTS_TODAY'];
$say_phrase='';
$say_name ='';
$say_title ='';
$say_events=0;
$say_tasks=0;
if (is_array($out['EVENTS_TODAY'])) {
foreach($events as $event) {
if ( $event['USER_ID'] != '0' && $event['CALENDAR_CATEGORY_ID'] != '0' && $event['IS_TASK'] != '1' ) {
// события с пользователем без категории
$uname = SQLSelectOne("SELECT * FROM users WHERE ID='".$event['USER_ID']."'");
$un=$uname['USERNAME'];
callMethod("$un.Events");
$say_events=1;
$say_name .=$uname['NAME']."; ";
} elseif ( $event['USER_ID'] == '0' && $event['CALENDAR_CATEGORY_ID'] == '0' && $event['IS_TASK'] != '1' )
{
// события без пользователя без категории
$say_events=2;
$say_title.=$event['TITLE']."; ";
}
sleep(3);
}
if ($say_events=='1') {$say_phrase .= "Сегодня имеются события в календаре для ".$say_name;}
if ($say_events=='2') {$say_phrase .= "Сегодня имеются общие для всех события в календаре: ".$say_title;}
if ($say_events=='0') {$say_phrase .= "В календаре на сегодня событий нет.\r\n";}
foreach($events as $event) {
if ( $event['USER_ID'] != '0' && $event['IS_TASK'] == '1' ) {
// задачи пользователям
$uname = SQLSelectOne("SELECT * FROM users WHERE ID='".$event['USER_ID']."'");
$say_tasks=1;
$say_phrase.="задача для ".$uname['NAME'].". ";
} elseif ( $event['USER_ID'] == '0' && $event['IS_TASK'] == '1' )
{
$say_tasks=2;
$say_phrase.="задачи для всех: ".$event['TITLE'].". ";
}
}
if ($say_tasks=='1') {$say_phrase .= "Сегодня имеются задачи в календаре для ".$say_name;}
if ($say_tasks=='2') {$say_phrase .= "Сегодня имеются общие для всех задачи в календаре: ".$say_title;}
if ($say_tasks=='0') {$say_phrase .= "Задач календаре на сегодня нет.\r\n";}
//По категориям
//Именины
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '23' && $event['IS_TASK'] != '1' ) {
// именины всем
$say_phrase.="Сегодня отмечают Именины: ".$event['TITLE'].". ";
}
}
//ДР
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '19' && $event['IS_TASK'] != '1' ) {
$say_phrase.="Ура, сегодня День рождения у ".$event['TITLE'].". ";
}
}
//Напоминания
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '22' && $event['IS_TASK'] != '1' ) {
$say_phrase.="Напоминания: ".$event['TITLE'].". ";
}
}
//Семейные праздники
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '24' && $event['IS_TASK'] != '1' ) {
$say_phrase.="В семье сегодня праздник: ".$event['TITLE'].". ";
}
}
//Православные праздники
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '20' && $event['IS_TASK'] != '1' ) {
$say_phrase.="Православные сегодня отмечают: ".$event['TITLE'].". ";
}
}
//Праздники РФ
foreach($events as $event) {
if ( $event['CALENDAR_CATEGORY_ID'] == '21' && $event['IS_TASK'] != '1' ) {
$say_phrase.="Вся Россия сегодня отмечает: ".$event['TITLE'].". ";
}
}
} else {
$say_phrase.="Ну надо же, ни событий, ни задач. Халява.";
}
sg("ThisComputer.EventsToday",$say_phrase);
playSound('oglasite_ves');
//sleep(3);
//say($say_phrase,1);
//echo $say_phrase;
|
NotesToUsers
|
события адресно пользователям в 10.06
//сценарий notesToUsers
$from = "pphilonenko@gmail.com";
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
if (file_exists('./modules/app_calendar/app_calendar.class.php'))
{
Define('TEMP_APP_CALENDAR_SOONLIMIT', '5'); //лимит дней которые проговаривает
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar=new app_calendar();
$calendar->usual($out);
$events=$out['EVENTS_TODAY'];
if (is_array($out['EVENTS_TODAY'])) {
$sayname = '';
foreach($events as $event) {
if ( $event['USER_ID'] != '0' && $event['CALENDAR_CATEGORY_ID'] == '22' && $event['IS_TASK'] != '1' ) {
$say_phrase = '';
$username = SQLSelectOne("SELECT * FROM users WHERE ID='".$event['USER_ID']."'");
$tlgid = SQLSelectOne("SELECT * FROM tlg_user WHERE MEMBER_ID='".$event['USER_ID']."'");
$say_phrase .= $username['NAME'].", ваши напоминания!\r\n";
$sayname .= $username['NAME'].", ";
$to = $event['EMAIL'];
if ( $event['EMAIL'] == '' ) $to = $username['EMAIL'];
if ( $to != '' ) {
$subj = $event['TITLE'];
$say_phrase .= "<b>".$event['TITLE'].".</b>\r\nОтправила напоминание вам на электронную почту.";
$body = '<html><head></head><body>
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">
<h1><span style="font-size:20px">'.$event['TITLE'].'</span></h1>
</div>
<p>'.$event['NOTES'].'</p>
<h3 style="color:#aaa; font-style:italic">Алиса</h3>
</body></html>';
$attachurl = "";
$attachfilename = "";
SwiftMailHtml($from, $to, $subj, $body, $attachurl = "",$attachfilename = "");
} else {
$say_phrase .= $event['TITLE'].".\r\nНе указан Емайл для отправки напоминания.";
}
if ( $event['PHONE'] != '' ) {
require_once './lib/sms.ru.php';
$smsru = new SMSRU('f923f5ca-288b-8d34-8154-dbbab0ef6047');
$data = new stdClass();
$data->to = $event['PHONE'];
$data->text = $event['TITLE'];
$data->from = 'DoctorVita';
// $data->time = time() + 7*60*60; // Отложить отправку на 7 часов
// $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС)
// $data->test = 1; // Позволяет выполнить запрос в тестовом режиме без реальной отправки сообщения
$sms = $smsru->send_one($data);
if ($sms->status == "OK") {
$say_phrase .= "\r\nСМС напоминание для вас так же отправлено успешно. Ваш новый баланс: $sms->balance руб.";
} else {
$say_phrase .= "\r\nСМС напоминание для вас не отправлено. Код ошибки: $sms->status_code. Текст ошибки: $sms->status_text.";
}
} else {
$say_phrase .= "\r\nДля отправки СМС напоминания не указан номер телефона.";
}
if ( $tlgid['USER_ID'] != '' ) {
$telegram_module->sendMessageToUser( $tlgid['USER_ID'], $say_phrase);
// echo $say_phrase."\r\n";
}
}
}
say("Имеются напоминания о событиях в календаре для ".$sayname."- разослала.", 0);
// echo "Имеются события и задачи в календаре для ".$sayname."- разослала.";
} else {
say("Напоминаний в календаре на сегодня ни для кого нет.", 1);
// echo "Событий и задач в календаре на сегодня ни для кого нет.";
}
}
|