fetch('/events/api/get', { method: 'POST', body: sq[0] })
.then(response => response[index].json())
.then((data) => {
console.log(data);
data.forEach((response, index) => {
content[0] = response[index].location !== '' ? '<span data-type="location">' + response[index].location + '</span>' : '';
readyDescription[0] = response[index].content.matchAll(/<p[^>]*>(([^>]|.)*?)<\/p>/ug);
content[0] += '<span data-type="description">' + readyDescription[0][1][0].length > 234 ? mb_strimwidth(readyDescription[0][1][0], 0, 234, '...') : readyDescription[0][1][0] + '</span>';
dateFormat[0] = [
moment(response[index].date_from, 'd/m/Y'),
moment(response[index].date_to, 'd/m/Y')
];
eventCard[0] = '<span id="date">' + response[index].date_to ? dateFormat[0].join(' - ') : dateFormat[0][0] + '</span><img src="' + response[index].titleImage + '" alt="' + response[index].title + '" />';
eventCard[0] += '<span id="title">' + response[index].title + '</span><p>' + content[0] + '</p><a href="/events/' + response[index].id + '">Show more</a>';
responseHtml[0] += '<li>' + eventCard[0] + '</li>';
});
$('#events-body > .events-feed main .slider').html(responseHtml[0]);
$('.load-screen-services').addClass('list-smart-close');
})
.catch(() => { $('.load-screen-services').addClass('list-smart-close'); });
data.forEach((link) => {
link.map((response) => {
content = response.location !== '' ? '<span data-type="location">' + response.location + '</span>' : '';
readyDescription = response.content.matchAll(/<p[^>]*>(([^>]|.)*?)<\/p>/ug);
content += '<span data-type="description">' + readyDescription[1][0].length > 234 ? mb_strimwidth(readyDescription[1][0], 0, 234, '...') : readyDescription[1][0] + '</span>';
dateFormat = [
moment(response.date_from, 'd/m/Y'),
moment(response.date_to, 'd/m/Y')
];
eventCard = '<span id="date">' + response.date_to ? dateFormat.join(' - ') : dateFormat[0] + '</span><img src="' + response.titleImage + '" alt="' + response.title + '" />';
eventCard += '<span id="title">' + response.title + '</span><p>{content}</p><a href="/events/' + response.id + '">Show more</a>';
$('.slider').append('<li>' + eventCard + '</li>');
});
});
matchAll()
?SELECT JSON_UNQUOTE(JSON_EXTRACT(meta, "$.seoData.faqService")) as "question", JSON_UNQUOTE(JSON_EXTRACT(meta, "$.seoData.faqService")) as "answer" FROM serviceList WHERE id='1'
<?php
namespace app\widgets;
use Yii;
use yii\base\Widget;
use yii\web\View;
use yii\helpers\Json;
use app\models\Event;
class EventProgram extends Widget{
public $id;
public function init() { parent::init(); }
public function run(){
$queryContent = [];
$queryData = Event::findOne(['id' => $this->id]);
preg_replace_all('#<div id=\"matherial\"[^>]*>(\X*?)</div>#', $queryData->content, $description);
preg_replace_all('#<table[^>]*>(\X*?)</table>#', $queryData->content, $program);
$queryContent[]['description'] = $description[1][0];
$queryContent[] = ['programData' => []];
for($i = 0; $i < count($program[1]); $i++){
preg_match_all('#<tr[^>]*>(\X*?)</tr>#', $program[$i][0], $datagrid);
for($j = 0; $j < count($datagrid); $j++){
$feedList = [];
preg_match_all('#<td[^>]*>(\X*?)</td>#', $datagrid[$j][0], $programResponse);
for($k = 0; $k < count($datagrid); $k++){
preg_match_all('#<td[^>]*>(\X*?)</td>#', $datagrid[$k][0], $queryFragment);
if($programResponse[0][0] == $queryFragment[0][0]){
$feedList[] = [
'period' => $queryFragment[0][0],
'title' => $queryFragment[1][0],
'content' => $queryFragment[2][0] ? $queryFragment[0][0] : NULL
];
}
}
$queryContent['programData'][] = [
'program' => [
'date' => $programResponse[0][0],
'feed' => $feedList
]
];
}
}
if(!strrpos($queryData->content, 'Organizator web site:')){ $isOrganizator = FALSE; }
return $this->render('eventPage/list', ['eventTable' => array_unique($queryContent), 'eventId' => $this->id, 'organizator' => $isOrganizator]);
}
}
?>