{source}
<?php
$db = JFactory::getDbo();// Pobranie danych wyszukiwania z $_POST z sanitizacją
$wyszukiwanie = isset($_POST['wyszukiwanie']) ? $db->escape(substr($_POST['wyszukiwanie'], 1), true) : '';// Zapytanie 1: Wyszukiwanie obiektów
$query3 = $db->getQuery(true);
$query3->select($db->quoteName('value'))
->from($db->quoteName('json_fields'))
->where($db->quoteName('name') . " = 'Nazwa obiektu'")
->where($db->quoteName('value') . ' LIKE ' . $db->quote('%' . $wyszukiwanie . '%'));$db->setQuery($query3);
$resultss = $db->loadObjectList();// Wyświetlenie formularza tylko dla pierwszego wyniku
if (!empty($resultss)) {
echo "<div class='mt-5 mb-5 mwysz'>
<span class='pzbiory h5'>PRZESZUKAJ ZBIORY</span>
<form class='formo' action='iart-wszyskie-wyszukiwanie' method='get'>
<input id='searchIn' name='wyszukiwanie' type='text' />
<input type='submit' class='isub' value='Wyszukaj' />
</form>
</div>";
}// Zapytanie 2: Pobranie danych z json_files i json_fields
$query = $db->getQuery(true);
$query->select(
$db->quoteName('original_path') . ", " .
"GROUP_CONCAT(CONCAT(" . $db->quoteName('name') . ", ' : ', " . $db->quoteName('value') . ") SEPARATOR ';<br>') AS test"
)
->from($db->quoteName('json_files'))
->join('INNER', $db->quoteName('json_fields') . ' ON ' . $db->quoteName('json_fields.object_id') . ' = ' . $db->quoteName('json_files.object_id'))
->group($db->quoteName('original_path'))
->order('RAND()')
->setLimit(20);$db->setQuery($query);
$results = $db->loadObjectList();// Wyświetlanie wyników
if (!empty($results)) {
echo "<div class='position-relative test123'>"; foreach ($results as $result) {
// Przetwarzanie danych dla każdego obiektu
$all = $result->test;
$path = str_replace('/home/zamek/ftp/newwww/iartapi/app/Config/../../public/', '', $result->original_path); $title = '';
if (strpos($all, 'Nazwa obiektu :') !== false) {
$title = str_replace('Nazwa obiektu :', '', substr($all, strpos($all, 'Nazwa obiektu :'), strpos($all, ';') - strpos($all, 'Nazwa obiektu :')));
} echo "<div class='item'>
<a href='/iartopis?path={$path}&title={$title}'>
<img class='' src='/iartapi/public/{$path}' onclick='opis({$result->original_path})' class='img-fluid p-2' />
</a>"; // Wyświetlenie tytułu
if (!empty($title)) {
echo "<span class='h5'>{$title}</span>";
} // Wyświetlenie autora
$author = '';
if (strpos($all, 'Wytworzenie obiektu - osoba / autor :') !== false) {
$author = str_replace('Wytworzenie obiektu - osoba / autor :', '', substr($all, strpos($all, 'Wytworzenie obiektu - osoba / autor :'), strpos($all, ';', strpos($all, 'Wytworzenie obiektu - osoba / autor :')) - strpos($all, 'Wytworzenie obiektu - osoba / autor :')));
}
echo !empty($author) ? $author . ', ' : ''; // Wyświetlenie datowania
$dating = '';
if (strpos($all, 'Datowanie opisowe :') !== false) {
$dating = str_replace('Datowanie opisowe :', '', substr($all, strpos($all, 'Datowanie opisowe :'), strpos($all, ';', strpos($all, 'Datowanie opisowe :')) - strpos($all, 'Datowanie opisowe :')));
}
echo !empty($dating) ? $dating : ''; echo "</div>";
} echo "</div>";
}
?>{/source}
$db = JFactory::getDbo();// Pobranie danych wyszukiwania z $_POST z sanitizacją
$wyszukiwanie = isset($_POST['wyszukiwanie']) ? $db->escape(substr($_POST['wyszukiwanie'], 1), true) : '';// Zapytanie 1: Wyszukiwanie obiektów
$query3 = $db->getQuery(true);
$query3->select($db->quoteName('value'))
->from($db->quoteName('json_fields'))
->where($db->quoteName('name') . " = 'Nazwa obiektu'")
->where($db->quoteName('value') . ' LIKE ' . $db->quote('%' . $wyszukiwanie . '%'));$db->setQuery($query3);
$resultss = $db->loadObjectList();// Wyświetlenie formularza tylko dla pierwszego wyniku
if (!empty($resultss)) {
echo "<div class='mt-5 mb-5 mwysz'>
<span class='pzbiory h5'>PRZESZUKAJ ZBIORY</span>
<form class='formo' action='iart-wszyskie-wyszukiwanie' method='get'>
<input id='searchIn' name='wyszukiwanie' type='text' />
<input type='submit' class='isub' value='Wyszukaj' />
</form>
</div>";
}// Zapytanie 2: Pobranie danych z json_files i json_fields
$query = $db->getQuery(true);
$query->select(
$db->quoteName('original_path') . ", " .
"GROUP_CONCAT(CONCAT(" . $db->quoteName('name') . ", ' : ', " . $db->quoteName('value') . ") SEPARATOR ';<br>') AS test"
)
->from($db->quoteName('json_files'))
->join('INNER', $db->quoteName('json_fields') . ' ON ' . $db->quoteName('json_fields.object_id') . ' = ' . $db->quoteName('json_files.object_id'))
->group($db->quoteName('original_path'))
->order('RAND()')
->setLimit(20);$db->setQuery($query);
$results = $db->loadObjectList();// Wyświetlanie wyników
if (!empty($results)) {
echo "<div class='position-relative test123'>"; foreach ($results as $result) {
// Przetwarzanie danych dla każdego obiektu
$all = $result->test;
$path = str_replace('/home/zamek/ftp/newwww/iartapi/app/Config/../../public/', '', $result->original_path); $title = '';
if (strpos($all, 'Nazwa obiektu :') !== false) {
$title = str_replace('Nazwa obiektu :', '', substr($all, strpos($all, 'Nazwa obiektu :'), strpos($all, ';') - strpos($all, 'Nazwa obiektu :')));
} echo "<div class='item'>
<a href='/iartopis?path={$path}&title={$title}'>
<img class='' src='/iartapi/public/{$path}' onclick='opis({$result->original_path})' class='img-fluid p-2' />
</a>"; // Wyświetlenie tytułu
if (!empty($title)) {
echo "<span class='h5'>{$title}</span>";
} // Wyświetlenie autora
$author = '';
if (strpos($all, 'Wytworzenie obiektu - osoba / autor :') !== false) {
$author = str_replace('Wytworzenie obiektu - osoba / autor :', '', substr($all, strpos($all, 'Wytworzenie obiektu - osoba / autor :'), strpos($all, ';', strpos($all, 'Wytworzenie obiektu - osoba / autor :')) - strpos($all, 'Wytworzenie obiektu - osoba / autor :')));
}
echo !empty($author) ? $author . ', ' : ''; // Wyświetlenie datowania
$dating = '';
if (strpos($all, 'Datowanie opisowe :') !== false) {
$dating = str_replace('Datowanie opisowe :', '', substr($all, strpos($all, 'Datowanie opisowe :'), strpos($all, ';', strpos($all, 'Datowanie opisowe :')) - strpos($all, 'Datowanie opisowe :')));
}
echo !empty($dating) ? $dating : ''; echo "</div>";
} echo "</div>";
}
?>{/source}
