Размер:
AAA
Цвет: CCC
Изображения: Вкл.Выкл.
Обычная версия сайта

Поиск статьи

Искать по
Строка поиска
Не задана строка для поиска"; } else { $query = ''; switch ($sp) { case 'aut': $search = mysqli_real_escape_string($mysqli, $str); $query = "SELECT * FROM art WHERE avtors_ru LIKE '%" . $search . "%'"; break; case 'doi': $search = mysqli_real_escape_string($mysqli, $str); $query = "SELECT * FROM art WHERE doi LIKE '%" . $search . "%'"; break; case 'nazv': $value = mysqli_real_escape_string($mysqli, trim($str)); $query = "SELECT * FROM art WHERE name_ru LIKE '%" . $value . "%'"; break; case 'keyw': $q = explode(" ", $str); $conditions = []; foreach ($q as $value) { $value = mysqli_real_escape_string($mysqli, $value); $conditions[] = "name_ru LIKE '%" . $value . "%'"; } $crone_query = implode(" OR ", $conditions); $query = "SELECT * FROM art WHERE " . $crone_query; break; default: echo "Некорректный параметр поиска"; break; } if ($query !== '') { $result = $mysqli->query($query); if ($result === false) { error_log("Ошибка SQL в search_ru.php: " . $mysqli->error); echo "Не удалось выполнить поиск"; } elseif ($result->num_rows > 0) { echo "

Результаты поиска

"; while ($z = $result->fetch_assoc()) { // Год и выпуск $id_y = (int)$z['id_y']; $result_year = $mysqli->query( "SELECT * FROM `years` WHERE `id_y` = " . $id_y ); if ($result_year === false) { error_log("Ошибка SQL при получении года: " . $mysqli->error); continue; } $fetch_year = $result_year->fetch_assoc(); if (!$fetch_year) { continue; } // Язык $lang = $z['lang'] === 'ru' ? 'на русск.' : 'на англ.'; $doi = !empty($fetch_year['doi']) ? ', DOI: ' . h($fetch_year['doi']) : ''; echo '

' . 'Том ' . h($fetch_year['tom']) . ' (' . h($fetch_year['year']) . ' год), ' . h($fetch_year['vip']) . ' выпуск' . $doi . '

'; echo '

' . h($z['avtors_ru']) . ' ' . h($z['name_r']) . '
' . h($z['name_ru']) . ''; echo '

' . h($z['annot_ru']) . '

(' . h($lang) . ', стр. ' . h($z['kolpage']); if ((int)$z['ris'] !== 0) { echo ', рис. ' . h($z['ris']); } if ((int)$z['talb'] !== 0) { echo ', табл. ' . h($z['tabl']); } if ((int)$z['nlinks'] !== 0) { echo ', ссылок ' . h($z['nlinks']); } echo ', ' . h($z['fformat']) . ', '; // Проверяем путь к файлу перед получением размера. // Запрещаем выход за пределы каталога публикаций. $base_dir = '/var/www/old/sites/vestnik/'; $relative_path = str_replace('\\', '/', $z['link']); if ( $relative_path !== '' && strpos($relative_path, "\0") === false && !preg_match('~^(?:/|[A-Za-z]:)~', $relative_path) ) { $base_real = realpath($base_dir); $file_real = realpath($base_dir . $relative_path); if ( $base_real !== false && $file_real !== false && strpos( $file_real, rtrim($base_real, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR ) === 0 && is_file($file_real) && is_readable($file_real) ) { echo ' ' . (int)round(filesize($file_real) / 1024) . ' КБ'; } } echo ')

'; } $result_year->free(); $result->free(); } else { echo "По вашему запросу ничего не найдено"; $result->free(); } } } } ?>