mirror of
https://github.com/YGGverse/YGGtracker.git
synced 2025-01-22 20:54:52 +00:00
implement sitemap
This commit is contained in:
parent
355edf1063
commit
e750dac85d
@ -93,6 +93,7 @@ git checkout -b my-pr-branch-name
|
|||||||
+ [ ] Content filters
|
+ [ ] Content filters
|
||||||
|
|
||||||
* [x] Other
|
* [x] Other
|
||||||
|
+ [x] Sitemap
|
||||||
+ [x] RSS
|
+ [x] RSS
|
||||||
+ [x] Moderation
|
+ [x] Moderation
|
||||||
+ [ ] Federative API
|
+ [ ] Federative API
|
||||||
|
@ -3,4 +3,5 @@
|
|||||||
|
|
||||||
* * * * * indexer magnet --rotate
|
* * * * * indexer magnet --rotate
|
||||||
|
|
||||||
* * * * * /usr/bin/php /YGGtracker/src/crontab/scrape.php
|
* * * * * /usr/bin/php /YGGtracker/src/crontab/scrape.php
|
||||||
|
0 0 * * * /usr/bin/php /YGGtracker/src/crontab/sitemap.php
|
78
src/crontab/sitemap.php
Normal file
78
src/crontab/sitemap.php
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// Lock multi-thread execution
|
||||||
|
$semaphore = sem_get(crc32('yggtracker.crontab.sitemap'), 1);
|
||||||
|
|
||||||
|
if (false === sem_acquire($semaphore, true)) {
|
||||||
|
|
||||||
|
exit (PHP_EOL . 'yggtracker.crontab.sitemap process locked by another thread.' . PHP_EOL);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load system dependencies
|
||||||
|
require_once(__DIR__ . '/../config/app.php');
|
||||||
|
require_once(__DIR__ . '/../library/database.php');
|
||||||
|
|
||||||
|
// Init Debug
|
||||||
|
$debug = [
|
||||||
|
'time' => [
|
||||||
|
'ISO8601' => date('c'),
|
||||||
|
'total' => microtime(true),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
// Connect DB
|
||||||
|
try {
|
||||||
|
|
||||||
|
$db = new Database(DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD);
|
||||||
|
|
||||||
|
} catch(Exception $e) {
|
||||||
|
|
||||||
|
var_dump($e);
|
||||||
|
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Begin
|
||||||
|
try {
|
||||||
|
|
||||||
|
// Delete cache
|
||||||
|
@unlink(__DIR__ . '/../public/sitemap.xml');
|
||||||
|
|
||||||
|
if ($handle = fopen(__DIR__ . '/../public/sitemap.xml', 'w+'))
|
||||||
|
{
|
||||||
|
|
||||||
|
fwrite($handle, '<?xml version="1.0" encoding="UTF-8"?>');
|
||||||
|
fwrite($handle, '<urlset>');
|
||||||
|
|
||||||
|
foreach ($db->getMagnets() as $magnet)
|
||||||
|
{
|
||||||
|
if ($magnet->public && $magnet->approved)
|
||||||
|
{
|
||||||
|
fwrite($handle, sprintf('<url><loc>%s/magnet.php?magnetId=%s</loc></url>', WEBSITE_URL, $magnet->magnetId));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fwrite($handle, '</urlset>');
|
||||||
|
fclose($handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (EXception $e) {
|
||||||
|
|
||||||
|
var_dump($e);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debug output
|
||||||
|
$debug['time']['total'] = microtime(true) - $debug['time']['total'];
|
||||||
|
|
||||||
|
print_r(
|
||||||
|
array_merge($debug, [
|
||||||
|
'db' => [
|
||||||
|
'total' => [
|
||||||
|
'select' => $db->getDebug()->query->select->total,
|
||||||
|
'insert' => $db->getDebug()->query->insert->total,
|
||||||
|
'update' => $db->getDebug()->query->update->total,
|
||||||
|
'delete' => $db->getDebug()->query->delete->total,
|
||||||
|
]
|
||||||
|
]
|
||||||
|
])
|
||||||
|
);
|
Loading…
x
Reference in New Issue
Block a user