Completed
Pull Request — master (#233)
by
unknown
10:59
created

Publisher::getAllPublishersByQuery()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2
Metric Value
dl 0
loc 3
ccs 0
cts 0
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 2
1
<?php
2
/**
3
 * COPS (Calibre OPDS PHP Server) class file
4
 *
5
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
6
 * @author     At Libitum <[email protected]>
7
 */
8
9
require_once('base.php');
10
11
class Publisher extends Base {
12
    const ALL_PUBLISHERS_ID = "cops:publishers";
13
    const SQL_ALL_PUBLISHERS = 
14
    		"select publishers.id as id, publishers.name as name, count(*) as count 
15
    		 from publishers 
16
    			inner join books_publishers_link as link on publishers.id = link.publisher 
17
    			inner join ({0}) as filter on filter.id = link.book
18
    		 group by publishers.id, publishers.name 
19
    		 order by publishers.name";
20
    const SQL_PUBLISHERS_FOR_SEARCH = 
21 11
    		"select publishers.id as id, publishers.name as name, count(*) as count 
22 11
    		 from publishers 
23 11
    			inner join books_publishers_link as link on publishers.id = link.publisher 
24 11
    			inner join ({0}) as filter on filter.id = link.book 
25
    		 where upper (publishers.name) like ? 
26 9
    		 group by publishers.id, publishers.name 
27 9
    		 order by publishers.name";
28
29
30 7
    public $id;
31 7
    public $name;
32
33
    public function __construct($post) {
34 7
        $this->id = $post->id;
35
        $this->name = $post->name;
36 7
    }
37
38
    public function getUri () {
39 4
        return "?page=".parent::PAGE_PUBLISHER_DETAIL."&id=$this->id";
40 4
    }
41
42 4
    public function getEntryId () {
43 4
        return self::ALL_PUBLISHERS_ID.":".$this->id;
44 4
    }
45 4
46
    public static function getCount() {
47
        // str_format (localize("publishers.alphabetical", count(array))
48
        return parent::getCountGeneric ("publishers", self::ALL_PUBLISHERS_ID, parent::PAGE_ALL_PUBLISHERS);
0 ignored issues
show
Comprehensibility Bug introduced by
It seems like you call parent on a different method (getCountGeneric() instead of getCount()). Are you sure this is correct? If so, you might want to change this to $this->getCountGeneric().

This check looks for a call to a parent method whose name is different than the method from which it is called.

Consider the following code:

class Daddy
{
    protected function getFirstName()
    {
        return "Eidur";
    }

    protected function getSurName()
    {
        return "Gudjohnsen";
    }
}

class Son
{
    public function getFirstName()
    {
        return parent::getSurname();
    }
}

The getFirstName() method in the Son calls the wrong method in the parent class.

Loading history...
49
    }
50 1
51 1
    public static function getPublisherByBookId ($bookId) {
52 1
        $result = parent::getDb ()->prepare('select publishers.id as id, name
0 ignored issues
show
Comprehensibility Bug introduced by
It seems like you call parent on a different method (getDb() instead of getPublisherByBookId()). Are you sure this is correct? If so, you might want to change this to $this->getDb().

This check looks for a call to a parent method whose name is different than the method from which it is called.

Consider the following code:

class Daddy
{
    protected function getFirstName()
    {
        return "Eidur";
    }

    protected function getSurName()
    {
        return "Gudjohnsen";
    }
}

class Son
{
    public function getFirstName()
    {
        return parent::getSurname();
    }
}

The getFirstName() method in the Son calls the wrong method in the parent class.

Loading history...
53 1
from books_publishers_link, publishers
54 1
where publishers.id = publisher and book = ?');
55 1
        $result->execute (array ($bookId));
56
        if ($post = $result->fetchObject ()) {
57
            return new Publisher ($post);
58
        }
59
        return NULL;
60 2
    }
61 2
62
    public static function getPublisherById ($publisherId) {
63
        $result = parent::getDb ()->prepare('select id, name
0 ignored issues
show
Comprehensibility Bug introduced by
It seems like you call parent on a different method (getDb() instead of getPublisherById()). Are you sure this is correct? If so, you might want to change this to $this->getDb().

This check looks for a call to a parent method whose name is different than the method from which it is called.

Consider the following code:

class Daddy
{
    protected function getFirstName()
    {
        return "Eidur";
    }

    protected function getSurName()
    {
        return "Gudjohnsen";
    }
}

class Son
{
    public function getFirstName()
    {
        return parent::getSurname();
    }
}

The getFirstName() method in the Son calls the wrong method in the parent class.

Loading history...
64 23
from publishers where id = ?');
65 23
        $result->execute (array ($publisherId));
66
        if ($post = $result->fetchObject ()) {
67
            return new Publisher ($post);
68
        }
69
        return NULL;
70
    }
71
72
    public static function getAllPublishers() {
73
        return Base::getEntryArrayWithBookNumber (self::SQL_ALL_PUBLISHERS, array (), "Publisher");
74
    }
75
76
    public static function getAllPublishersByQuery($query) {
77
        return Base::getEntryArrayWithBookNumber (self::SQL_PUBLISHERS_FOR_SEARCH, array ('%' . $query . '%'), "Publisher");
78
    }
79
}
80