mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-23 01:55:27 +03:00
71 lines
1.6 KiB
PHP
71 lines
1.6 KiB
PHP
<?php
|
|
|
|
class BooruprojectBridge extends DanbooruBridge {
|
|
|
|
const MAINTAINER = 'mitsukarenai';
|
|
const NAME = 'Booruproject';
|
|
const URI = 'https://booru.org/';
|
|
const DESCRIPTION = 'Returns images from given page of booruproject';
|
|
const PARAMETERS = array(
|
|
'global' => array(
|
|
'p' => array(
|
|
'name' => 'page',
|
|
'defaultValue' => 0,
|
|
'type' => 'number'
|
|
),
|
|
't' => array(
|
|
'name' => 'tags',
|
|
'required' => true,
|
|
'exampleValue' => 'tagme',
|
|
'title' => 'Use "all" to get all posts'
|
|
)
|
|
),
|
|
'Booru subdomain (subdomain.booru.org)' => array(
|
|
'i' => array(
|
|
'name' => 'Subdomain',
|
|
'required' => true,
|
|
'exampleValue' => 'rm'
|
|
)
|
|
)
|
|
);
|
|
|
|
const PATHTODATA = '.thumb';
|
|
const IDATTRIBUTE = 'id';
|
|
const TAGATTRIBUTE = 'title';
|
|
const PIDBYPAGE = 20;
|
|
|
|
protected function getFullURI(){
|
|
return $this->getURI()
|
|
. 'index.php?page=post&s=list&pid='
|
|
. ($this->getInput('p') ? ($this->getInput('p') - 1) * static::PIDBYPAGE : '')
|
|
. '&tags=' . urlencode($this->getInput('t'));
|
|
}
|
|
|
|
protected function getTags($element){
|
|
$tags = parent::getTags($element);
|
|
$tags = explode(' ', $tags);
|
|
|
|
// Remove statistics from the tags list (identified by colon)
|
|
foreach($tags as $key => $tag) {
|
|
if(strpos($tag, ':') !== false) unset($tags[$key]);
|
|
}
|
|
|
|
return implode(' ', $tags);
|
|
}
|
|
|
|
public function getURI(){
|
|
if(!is_null($this->getInput('i'))) {
|
|
return 'https://' . $this->getInput('i') . '.booru.org/';
|
|
}
|
|
|
|
return parent::getURI();
|
|
}
|
|
|
|
public function getName(){
|
|
if(!is_null($this->getInput('i'))) {
|
|
return static::NAME . ' ' . $this->getInput('i');
|
|
}
|
|
|
|
return parent::getName();
|
|
}
|
|
}
|