ffmpeg -ss 15 -i kino007.mp4 -vframes 1 -s 730x360 -f image2 kino007.jpg
-ss
("seek start")var el = document.createElement("script");
el.src = "https://code.jquery.com/jquery-3.3.1.min.js";
el.async = true;
el.crossorigin="anonymous";
document.body.appendChild(el);
current = current.setHours(21)
сделайте просто current.setHours(21)
(function(selector){ // ДОБАВЛЕНО
var done = false; // ДОБАВЛЕНО
function sAnim(el, fun, offset = 0) {
let self = document.querySelectorAll(el);
let winScrollY = window.scrollY;
let winHeight = window.innerHeight;
for (var i = 0; i < self.length; i++) {
let el = self[i];
let pos = el.getBoundingClientRect().top;
let top = pos.top + pageYOffset;
if (winScrollY > top - winHeight + winHeight / 100 * offset && winScrollY - winHeight < top - winHeight) {
//Нужно выполнить только 1 раз
if(done) return; // ДОБАВЛЕНО
fun(el);
done = true; // ДОБАВЛЕНО
}
}
}
function showHuntInSelecter(el) {
el.classList.add('show-hint');
setTimeout(function() {
el.classList.remove('show-hint');
}, 4000)
}
var scroll = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000 / 60)
};
var lastPosition = -1;
function loop() {
if (lastPosition == window.pageYOffset) {
scroll(loop);
return false;
} else lastPosition = window.pageYOffset;
// Функции при скролле
sAnim(selector, showHuntInSelecter, 30); // РЕДАКТИРОВАНО
// Функции при скролле
scroll(loop);
};
loop();
})('.selecter') // ДОБАВЛЕНО
SELECT
SUM( CASE WHEN `type` = 1 THEN `summ` END) 'dohod',
SUM( CASE WHEN `type` = 2 THEN `summ` END) 'rashod',
MONTH(dtr) 'month'
FROM myevents.event
WHERE
YEAR(dtr) = 2018
AND `month` BETWEEN 4 AND 5
GROUP BY `month`
wall.post()
публикует единственную запись.var params = {
"message": "Текст поста",
"from_group": 0,
};
var out = { "result": [] };
params.owner_id = 10101; // первая группа
params.guid = 'abrakadabra';
out.result.push( API.wall.post(data));
params.owner_id = 20202; // вторая группа
params.guid = 'drugayaabrakadabra';
out.result.push( API.wall.post(data));
// ...
params.owner_id = 2500025; // 25-я группа
params.guid = 'uniqueabrakadabra';
out.result.push( API.wall.post(data));
return out;
code
в методе execute()
$query = filter_input(
INPUT_GET,
'q',
FILTER_SANITIZE_STRING,
FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK
);
function mergeCount($arr) {
$keys = [];
foreach($arr as $item) {
$id = $item['id'];
$user = $item['user'];
if( isset( $keys[ $user])) {
$keys[ $user]['count']++;
} else {
$keys[$user] = [
'id' => $id,
'count' => 1
];
}
}
$result = [];
foreach($keys as $user=>$item) {
$result[] = [
'id' => $item['count'] > 1 ? $item['count'] : $item['id'],
'user' => $user
];
}
return $result;
}
$data = [
['id'=>367, 'user'=>'text'],
['id'=>370, 'user'=>'text'],
['id'=>432, 'user'=>'text1'],
['id'=>234, 'user'=>'text33'],
['id'=>264, 'user'=>'text33'],
];
$a = mergeCount($data);
print_r($a);
Array
(
[0] => Array
(
[id] => 2
[user] => text
)
[1] => Array
(
[id] => 432
[user] => text1
)
[2] => Array
(
[id] => 2
[user] => text33
)
)
{ "новый пользователь": [ // название диалога
{"propmt": "Введите ваше имя"}, // первый вопрос
{"propmt": "Введите email"}, // второй
{"propmt": "ник в телеграме"}, // третий
],
"ещё какой-то диалог":[/* вопросы */]
}
TG_12345_DIALOG: "новый пользователь" // из словаря диалогов
TG_12345_STEP: 2 // текущий шаг, ожидаемый ответ
TG_12345_REPLY_0: "Иван Петров" // полученные ответы
TG_12345_REPLY_1: "ivan@mail.ru"
var D = new Date();
D.setDate(1);
D.setMonth(7); // 0: Янв, 1: Фев, ... 7: Август
D.setHours(12); // опционально
D.setMinutes(0); // опционально
D.setSeconds(0); // опционально
if(D.getTime() > new Date().getTime()) D.setFullYear( D.getFullYear() - 1);
D.toString() // Tue Aug 01 2017 12:00:00 GMT+0300 (MSK)
// и можно из Даты создать объект moment:
var m = moment(D);
(0..1)
, можно так:substr($n,0,3 + ceil(-log10(abs($n))) - abs(floor($n)) - 1)