aboutsummaryrefslogtreecommitdiff
path: root/bridges/ScoopItBridge.php
blob: a3de71f11ccacdf99396600439197741d8f63793 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php

class ScoopItBridge extends BridgeAbstract
{
    const MAINTAINER = 'Pitchoule';
    const NAME = 'ScoopIt';
    const URI = 'https://www.scoop.it/';
    const CACHE_TIMEOUT = 21600; // 6h
    const DESCRIPTION = 'Returns most recent results from ScoopIt.';

    const PARAMETERS = [ [
        'u' => [
            'name' => 'keyword',
            'exampleValue' => 'docker',
            'required' => true
        ]
    ]];

    public function collectData()
    {
        $this->request = $this->getInput('u');
        $link = self::URI . 'search?q=' . urlencode($this->getInput('u'));

        $html = getSimpleHTMLDOM($link);

        foreach ($html->find('div.post-view') as $element) {
            $item = [];
            $item['uri'] = $element->find('a', 0)->href;
            $item['title'] = preg_replace(
                '~[[:cntrl:]]~',
                '',
                $element->find('div.tCustomization_post_title', 0)->plaintext
            );

            $item['content'] = preg_replace(
                '~[[:cntrl:]]~',
                '',
                $element->find('div.tCustomization_post_description', 0)->plaintext
            );

            $this->items[] = $item;
        }
    }
}