Hamtaren::nastaAutoInc()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
nc 1
nop 1
dl 0
loc 8
c 0
b 0
f 0
cc 1
rs 10
1
<?php
2
3
namespace KW\Inlagg;
4
5
use Anax\Commons\ContainerInjectableInterface;
6
use Anax\Commons\ContainerInjectableTrait;
7
8
class Hamtaren implements ContainerInjectableInterface
9
{
10
    use ContainerInjectableTrait;
11
12
    public function __construct($di)
13
    {
14
        $this->di = $di;
15
    }
16
17
    /**
18
    * Create a part of a table containing one type, one link, ordered by date or rank
19
    *
20
    * @param string $str the string to format as slug.
21
    *
22
    * @return str the formatted slug.
23
    */
24
    public function hamtaEnFraga($slug)
25
    {
26
        $db = $this->di->get("db");
27
        $db->connect();
28
        $sql = "SELECT * FROM inlagg JOIN anvandare2 ON anvandare2.anvandarid=inlagg.userid WHERE slug=?;";
29
        $res = $db->executeFetch($sql, [$slug]);
30
31
        return $res;
32
    }
33
34
    public function hamtaKommentarer($tillhor, $sortko)
35
    {
36
        $db = $this->di->get("db");
37
        $db->connect();
38
        if ($sortko == "rankning") {
39
            $sql = "SELECT * FROM inlagg JOIN anvandare2 ON anvandare2.anvandarid=inlagg.userid WHERE tillhor=? AND type='kommentar' ORDER BY rankning DESC;";
40
        } else {
41
            $sql = "SELECT * FROM inlagg JOIN anvandare2 ON anvandare2.anvandarid=inlagg.userid WHERE tillhor=? AND type='kommentar' ORDER BY published ASC;";
42
        }
43
        $res = $db->executeFetchAll($sql, [$tillhor]);
44
45
        return $res;
46
    }
47
48
49
    //sortering är rankning eller published
50
    public function hamtaSvar($tillhor, $sortsv)
51
    {
52
        $db = $this->di->get("db");
53
        $db->connect();
54
        if ($sortsv == "rankning") {
55
            $sql = "SELECT * FROM inlagg JOIN anvandare2 ON anvandare2.anvandarid=inlagg.userid WHERE tillhor=? AND type='svar' ORDER BY rankning DESC;";
56
        } else {
57
            $sql = "SELECT * FROM inlagg JOIN anvandare2 ON anvandare2.anvandarid=inlagg.userid WHERE tillhor=? AND type='svar' ORDER BY published ASC;";
58
        }
59
60
        $res = $db->executeFetchAll($sql, [$tillhor]);
61
62
        return $res;
63
    }
64
65
    public function hamtaTaggar($inlaggid)
66
    {
67
        $db = $this->di->get("db");
68
        $db->connect();
69
        $sql = "SELECT * FROM inlaggtagg JOIN taggar ON inlaggtagg.tagg=taggar.taggid WHERE inlagg=?;";
70
        $res = $db->executeFetchAll($sql, [$inlaggid]);
71
72
        return $res;
73
    }
74
75
    public function nastaAutoInc($tabellnamn)
76
    {
77
        $db = $this->di->get("db");
78
        $db->connect();
79
        $sql = "SELECT `auto_increment` FROM INFORMATION_SCHEMA.TABLES WHERE table_name=?;";
80
        $res = $db->executeFetch($sql, [$tabellnamn]);
81
82
        return $res;
83
    }
84
85
    public function befintligaSluggar()
86
    {
87
        $db = $this->di->get("db");
88
        $db->connect();
89
        $sql = "SELECT slug FROM inlagg;";
90
        $sluggar = $db->executeFetchAll($sql);
91
92
        $sluggarna = [];
93
        foreach ($sluggar as $value) {
94
            array_push($sluggarna, $value->slug);
95
        };
96
        return $sluggarna;
97
    }
98
99
100
    public function max($tal)
101
    {
102
        if ($tal <= 80) {
103
            return $tal;
104
        }
105
        return 80;
106
    }
107
108
109
    public function inlaggetHarSluggen($id)
110
    {
111
        $db = $this->di->get("db");
112
        $db->connect();
113
        $sql = "SELECT slug, title FROM inlagg WHERE id=?;";
114
        $res = $db->executeFetch($sql, [$id]);
115
        return $res;
116
    }
117
}
118