Browse Source

[Bridges] Moebooru and MyImouto based imageboards derive from MoebooruBridge

Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
Pierre Mazière 7 năm trước cách đây
mục cha
commit
fd6bcbbafe

+ 3 - 38
bridges/KonachanBridge.php

@@ -1,46 +1,11 @@
 <?php
-class KonachanBridge extends BridgeAbstract{
+require_once('MoebooruBridge.php');
+
+class KonachanBridge extends MoebooruBridge {
 
 	const MAINTAINER = "mitsukarenai";
 	const NAME = "Konachan";
 	const URI = "http://konachan.com/";
 	const DESCRIPTION = "Returns images from given page";
 
-    const PARAMETERS = array( array(
-        'p'=>array(
-            'name'=>'page',
-            'defaultValue'=>1,
-            'type'=>'number'
-        ),
-        't'=>array('name'=>'tags')
-    ));
-
-    public function collectData(){
-        $html = $this->getSimpleHTMLDOM(
-            self::URI.'/post?'
-            .'&page='.$this->getInput('p')
-            .'&tags='.urlencode($this->getInput('t'))
-        ) or $this->returnServerError('Could not request Konachan.');
-
-	$input_json = explode('Post.register(', $html);
-	foreach($input_json as $element)
-	 $data[] = preg_replace('/}\)(.*)/', '}', $element);
-	unset($data[0]);
-
-        foreach($data as $datai) {
-	    $json = json_decode($datai, TRUE);
-            $item = array();
-            $item['uri'] = self::URI.'/post/show/'.$json['id'];
-            $item['postid'] = $json['id'];
-            $item['timestamp'] = $json['created_at'];
-            $item['imageUri'] = $json['file_url'];
-            $item['title'] = 'Konachan | '.$json['id'];
-            $item['content'] = '<a href="' . $item['imageUri'] . '"><img src="' . $json['preview_url'] . '" /></a><br>Tags: '.$json['tags'];
-            $this->items[] = $item;
-        }
-    }
-
-    public function getCacheDuration(){
-        return 1800; // 30 minutes
-    }
 }

+ 4 - 39
bridges/LolibooruBridge.php

@@ -1,46 +1,11 @@
 <?php
-class LolibooruBridge extends BridgeAbstract{
+require_once('MoebooruBridge.php');
+
+class LolibooruBridge extends MoebooruBridge{
 
 	const MAINTAINER = "mitsukarenai";
 	const NAME = "Lolibooru";
-	const URI = "http://lolibooru.moe/";
+	const URI = "https://lolibooru.moe/";
 	const DESCRIPTION = "Returns images from given page and tags";
 
-    const PARAMETERS = array( array(
-        'p'=>array(
-            'name'=>'page',
-            'defaultValue'=>1,
-            'type'=>'number'
-        ),
-        't'=>array('name'=>'tags')
-    ));
-
-    public function collectData(){
-        $html = $this->getSimpleHTMLDOM(
-            self::URI.'post?'
-            .'&page='.$this->getInput('p')
-            .'&tags='.urlencode($this->getInput('t'))
-        ) or $this->returnServerError('Could not request Lolibooru.');
-
-	$input_json = explode('Post.register(', $html);
-	foreach($input_json as $element)
-	 $data[] = preg_replace('/}\)(.*)/', '}', $element);
-	unset($data[0]);
-
-        foreach($data as $datai) {
-	    $json = json_decode($datai, TRUE);
-            $item = array();
-            $item['uri'] = self::URI.'post/show/'.$json['id'];
-            $item['postid'] = $json['id'];
-            $item['timestamp'] = $json['created_at'];
-            $item['imageUri'] = $json['file_url'];
-            $item['title'] = 'Lolibooru | '.$json['id'];
-            $item['content'] = '<a href="' . $item['imageUri'] . '"><img src="' . $json['preview_url'] . '" /></a><br>Tags: '.$json['tags'];
-            $this->items[] = $item;
-        }
-    }
-
-    public function getCacheDuration(){
-        return 1800; // 30 minutes
-    }
 }

+ 3 - 38
bridges/SakugabooruBridge.php

@@ -1,46 +1,11 @@
 <?php
-class SakugabooruBridge extends BridgeAbstract{
+require_once('MoebooruBridge.php');
+
+class SakugabooruBridge extends MoebooruBridge{
 
 	const MAINTAINER = "mitsukarenai";
 	const NAME = "Sakugabooru";
 	const URI = "http://sakuga.yshi.org/";
 	const DESCRIPTION = "Returns images from given page";
 
-    const PARAMETERS = array( array(
-        'p'=>array(
-            'name'=>'page',
-            'defaultValue'=>1,
-            'type'=>'number'
-        ),
-        't'=>array('name'=>'tags')
-    ));
-
-    public function collectData(){
-        $html = $this->getSimpleHTMLDOM(
-            self::URI.'post?'
-            .'&page='.$this->getInput('p')
-            .'&tags='.urlencode($this->getInput('t'))
-        ) or $this->returnServerError('Could not request Sakugabooru.');
-
-	$input_json = explode('Post.register(', $html);
-	foreach($input_json as $element)
-	 $data[] = preg_replace('/}\)(.*)/', '}', $element);
-	unset($data[0]);
-
-        foreach($data as $datai) {
-	    $json = json_decode($datai, TRUE);
-            $item = array();
-            $item['uri'] = self::URI.'/post/show/'.$json['id'];
-            $item['postid'] = $json['id'];
-            $item['timestamp'] = $json['created_at'];
-            $item['imageUri'] = $json['file_url'];
-            $item['title'] = 'Sakugabooru | '.$json['id'];
-            $item['content'] = '<a href="' . $item['imageUri'] . '"><img src="' . $json['preview_url'] . '" /></a><br>Tags: '.$json['tags'];
-            $this->items[] = $item;
-        }
-    }
-
-    public function getCacheDuration(){
-        return 1800; // 30 minutes
-    }
 }

+ 3 - 38
bridges/YandereBridge.php

@@ -1,46 +1,11 @@
 <?php
-class YandereBridge extends BridgeAbstract{
+require_once('MoebooruBridge.php');
+
+class YandereBridge extends MoebooruBridge{
 
 	const MAINTAINER = "mitsukarenai";
 	const NAME = "Yande.re";
 	const URI = "https://yande.re/";
 	const DESCRIPTION = "Returns images from given page and tags";
 
-    const PARAMETERS = array( array(
-        'p'=>array(
-            'name'=>'page',
-            'type'=>'number',
-            'defaultValue'=>1
-        ),
-        't'=>array('name'=>'tags')
-    ));
-
-    public function collectData(){
-        $html = $this->getSimpleHTMLDOM(
-            self::URI.'post?'
-            .'&page='.$this->getInput('p')
-            .'&tags='.urlencode($this->getInput('t'))
-        ) or $this->returnServerError('Could not request Yander.');
-
-	$input_json = explode('Post.register(', $html);
-	foreach($input_json as $element)
-	 $data[] = preg_replace('/}\)(.*)/', '}', $element);
-	unset($data[0]);
-
-        foreach($data as $datai) {
-	    $json = json_decode($datai, TRUE);
-            $item = array();
-            $item['uri'] = self::URI.'post/show/'.$json['id'];
-            $item['postid'] = $json['id'];
-            $item['timestamp'] = $json['created_at'];
-            $item['imageUri'] = $json['file_url'];
-            $item['title'] = 'Yandere | '.$json['id'];
-            $item['content'] = '<a href="' . $item['imageUri'] . '"><img src="' . $json['preview_url'] . '" /></a><br>Tags: '.$json['tags'];
-            $this->items[] = $item;
-        }
-    }
-
-    public function getCacheDuration(){
-        return 1800; // 30 minutes
-    }
 }