33 lines
788 B
PHP
33 lines
788 B
PHP
<?php
|
|
|
|
class NyaaLinkFixerExtension extends Minz_Extension
|
|
{
|
|
public function init()
|
|
{
|
|
$this->registerHook('entry_before_insert', [$this, 'fixNyaaLink']);
|
|
$this->registerHook('entry_before_display', [$this, 'fixNyaaLink']);
|
|
}
|
|
|
|
/**
|
|
* Fix Nyaa.si download links to view links
|
|
* Converts: https://nyaa.si/download/1234567.torrent
|
|
* To: https://nyaa.si/view/123457
|
|
*
|
|
* @param FreshRSS_Entry $entry
|
|
* @return FreshRSS_Entry
|
|
*/
|
|
public function fixNyaaLink($entry)
|
|
{
|
|
$link = $entry->link();
|
|
|
|
// Check if the link is a Nyaa.si download link
|
|
if (preg_match('#^https?://nyaa\.si/download/(\d+)\.torrent$#i', $link, $matches)) {
|
|
$torrentId = $matches[1];
|
|
$newLink = "https://nyaa.si/view/{$torrentId}";
|
|
$entry->_link($newLink);
|
|
}
|
|
|
|
return $entry;
|
|
}
|
|
}
|