function setMyTimer(_t, interval){
_t.start=Date.now();
_t.interval=_t.interval||interval;
_t.log_interval=_t.log_interval || 1000;
function log(){
const diff=_t.interval - (Date.now() - _t.start);
if(_t.log)_t.log(diff);
if(diff>_t.log_interval)
setTimeout(log,_t.log_interval);
else {
setTimeout(_t.main,diff<0?1:diff);
}
}
setTimeout(log,_t.log_interval);
}
setMyTimer({
main: ()=>console.log('test1'),
log: (diff)=>console.log('1:осталось '+diff+' ms ')
//, interval : 1200000
//, log_interval: 500
}, 50000);
setMyTimer({
main: ()=>console.log('test2'),
log: (diff)=>console.log('2:осталось '+diff+' ms ')
//, interval : 1200000
//, log_interval: 500
}, 20000);
setMyTimer({
main: ()=>console.log('test3'),
// log: (diff)=>console.log('2:осталось '+diff+' ms ')
//, interval : 1200000
//, log_interval: 500
}, 5000);
$vars=[
'var1'=>100,
'var3'=>2
];
echo execute('{var1}/{var3}', $vars);
function execute($expr,$vars){
$functionname='_'.md5($expr);
if(!function_exists($functionname)){
$filename=$functionname.'.tmp.php';
if(!file_exists($filename)) {
$php_expr = preg_replace_callback('/{(.*?)}/', function ($m) use ($vars) {
if (isset($vars[$m[1]]))
return '$' . $m[1];
else
return $m[0];
}, $expr);
file_put_contents($functionname . '.tmp.php', sprintf('<' . '?php
function %s($vars){
extract($vars);
return %s;
}
', $functionname, $php_expr));
}
include_once($functionname.'.tmp.php');
}
return $functionname($vars);
}
preg_replace("/href=\"".preg_quote($url,'/')."\"/i", "href=\"$base/$url\"", $html);
.blurry-text {
color: transparent;
text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
Примечание: в свою базу данных сохранять нельзя, так как данные в crm меняются иногда.
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0"
},
после чего все становится куда надо и само. Хотя так получается у каждого проекта свой phpunit ;) За цифры не бить - утянуто откуда-то не глядя... $lines=file('fields.txt');
foreach($lines as line) {
... explode('|', $line);
}