Passed
Push — feature/super-model ( c51526...6844b5 )
by axel
03:18
created

SearchUserModel::getLastOnline()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace MalScraper\Model\Search;
4
5
use MalScraper\Helper\Helper;
6
use MalScraper\Model\MainModel;
7
8
/**
9
 * SearchUserModel class.
10
 */
11
class SearchUserModel extends MainModel
12
{
13
    /**
14
     * Search query.
15
     *
16
     * @var string
17
     */
18
    protected $_query;
19
20
    /**
21
     * Page number.
22
     *
23
     * @var int
24
     */
25
    private $_page;
26
27
    /**
28
     * Default constructor.
29
     *
30
     * @param string $query
31
     * @param int $page
32
     * @param string $parserArea
33
     *
34
     * @return void
35
     */
36
	public function __construct($query, $page, $parserArea = '#content')
37
    {
38
    	$this->_query = $query;
39
        $this->_page = 24 * ($page - 1);
40
        $this->_url = $this->_myAnimeListUrl.'/users.php?q='.$query.'&show='.$this->_page;
41
    	$this->_parserArea = $parserArea;
42
43
        parent::errorCheck($this);
44
    }
45
46
    /**
47
     * Default call.
48
     *
49
     * @param string $method
50
     * @param array  $arguments
51
     *
52
     * @return array|string|int
53
     */
54
    public function __call($method, $arguments)
55
    {
56
        if ($this->_error)
57
            return $this->_error;
58
        return call_user_func_array([$this, $method], $arguments);
59
    }
60
61
    /**
62
     * Get name.
63
     *
64
     * @param \simplehtmldom_1_5\simple_html_dom $user
65
     *
66
     * @return string
67
     */
68
    private function getName($user)
69
    {
70
        return $user->find('a', 0)->plaintext;
71
    }
72
73
    /**
74
     * Get image.
75
     *
76
     * @param \simplehtmldom_1_5\simple_html_dom $user
77
     *
78
     * @return string
79
     */
80
    private function getImage($user)
81
    {
82
        return Helper::imageUrlCleaner($user->find('img', 0)->src);
83
    }
84
85
    /**
86
     * Get last online.
87
     *
88
     * @param \simplehtmldom_1_5\simple_html_dom $user
89
     *
90
     * @return string
91
     */
92
    private function getLastOnline($user)
93
    {
94
        return $user->find('small', 0)->plaintext;
95
    }
96
97
    /**
98
     * Get result list.
99
     *
100
     * @return array
101
     */
102
    private function getAllInfo()
103
    {
104
        $data = [];
105
        foreach ($this->_parser->find('.borderClass') as $user) {
106
            if ($user->align != 'center') { continue; }
107
108
            $temp_user = [];
109
110
            $temp_user['name'] = $this->getName($user);
111
            $temp_user['image'] = $this->getImage($user);
112
            $temp_user['last_online'] = $this->getLastOnline($user);
113
114
            $data[] = $temp_user;
115
        }
116
117
        return $data;
118
    }
119
}