feat: ✨ make the website load for different subdomains
This commit is contained in:
parent
f00e97d294
commit
d39595d577
4 changed files with 80 additions and 54 deletions
|
@ -8,10 +8,10 @@ use Laminas\Feed\Writer\Feed;
|
|||
class PostHandler extends MySQLAdapter {
|
||||
public $data_directory;
|
||||
|
||||
function __construct() {
|
||||
parent::__construct();
|
||||
function __construct($SITE_CONFIG) {
|
||||
parent::__construct($SITE_CONFIG);
|
||||
|
||||
$this->data_directory = 'raw';
|
||||
$this->data_directory = 'raw/' . $this->SITE_CONFIG['HTTP_HOST'];
|
||||
}
|
||||
|
||||
function _normalize_post_data($post_data) {
|
||||
|
@ -130,7 +130,8 @@ class PostHandler extends MySQLAdapter {
|
|||
function try_get_cached_feed($path, $export_opt) {
|
||||
$post_cache = $this->_exec("SELECT feed_content, feed_created_on
|
||||
FROM feed_cache
|
||||
WHERE search_path=? AND export_type=?", "ss", $path, $export_opt)->fetch_assoc();
|
||||
WHERE host=? AND search_path=? AND export_type=?",
|
||||
"sss", $this->SITE_CONFIG['HTTP_HOST'], $path, $export_opt)->fetch_assoc();
|
||||
|
||||
if(!isset($post_cache)) {
|
||||
return null;
|
||||
|
@ -145,12 +146,12 @@ class PostHandler extends MySQLAdapter {
|
|||
$feed = @new Feed;
|
||||
|
||||
$feed->setTitle("DergFeed");
|
||||
$feed->setLink("https://lucidragons.de" . $path);
|
||||
$feed->setFeedLink("https://lucidragons.de/feeds/atom" . $path, "atom");
|
||||
$feed->setLink($this->SITE_CONFIG['uri_prefix'] . $path);
|
||||
$feed->setFeedLink($this->SITE_CONFIG['uri_prefix'] . "/feeds/atom" . $path, "atom");
|
||||
|
||||
$feed->setDateModified(time());
|
||||
|
||||
$feed->setDescription("DergenFeed for all your " . $path . " needs <3");
|
||||
$feed->setDescription("DergenFeed for all your " . $path . " needs");
|
||||
|
||||
$feed_posts = $this->_exec("SELECT
|
||||
post_path,
|
||||
|
@ -158,9 +159,9 @@ class PostHandler extends MySQLAdapter {
|
|||
post_content,
|
||||
post_metadata
|
||||
FROM posts
|
||||
WHERE (post_path = ?) OR (post_path LIKE ?)
|
||||
WHERE (host = ?) AND ((post_path = ?) OR (post_path LIKE ?))
|
||||
ORDER BY post_create_time DESC LIMIT 200",
|
||||
"ss", $path, $path . '/%');
|
||||
"sss", $this->SITE_CONFIG['HTTP_HOST'], $path, $path . '/%');
|
||||
|
||||
while($row = $feed_posts->fetch_array(MYSQLI_ASSOC)) {
|
||||
$row = $this->_normalize_post_data($row);
|
||||
|
@ -173,7 +174,7 @@ class PostHandler extends MySQLAdapter {
|
|||
$entry = $feed->createEntry();
|
||||
|
||||
$entry->setTitle($row['post_path'] . '> ' . $pmeta['title']);
|
||||
$entry->setLink('https://lucidragons.de' . $row['post_path']);
|
||||
$entry->setLink($this->SITE_CONFIG['uri_prefix'] . $row['post_path']);
|
||||
$entry->setDateModified(strtotime($row['post_update_time']));
|
||||
$entry->setDateCreated(strtotime($row['post_create_time']));
|
||||
|
||||
|
@ -197,12 +198,13 @@ class PostHandler extends MySQLAdapter {
|
|||
$feed = $this->construct_feed($path);
|
||||
|
||||
$this->_exec("INSERT INTO feed_cache
|
||||
(search_path, export_type, feed_content)
|
||||
(host, search_path, export_type, feed_content)
|
||||
VALUES
|
||||
(?, 'atom', ?),
|
||||
(?, 'rss', ?)",
|
||||
"ssss", $path, $feed->export('atom'),
|
||||
$path, $feed->export('rss'));
|
||||
(?, ?, 'atom', ?),
|
||||
(?, ?, 'rss', ?)",
|
||||
"ssssss",
|
||||
$this->SITE_CONFIG['HTTP_HOST'], $path, $feed->export('atom'),
|
||||
$this->SITE_CONFIG['HTTP_HOST'], $path, $feed->export('rss'));
|
||||
|
||||
return $this->try_get_cached_feed($path, $export_opt);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue