| @@ 297-319 (lines=23) @@ | ||
| 294 | * @param boolean $publish Check if it needs to be publish |
|
| 295 | * @return int With count |
|
| 296 | */ |
|
| 297 | public function countAllContentOfTag($tag, $type, $publish = true){ |
|
| 298 | $now = date('Y-m-d H:i:s'); |
|
| 299 | $params = [$tag, $type]; |
|
| 300 | ||
| 301 | $this->db->select("COUNT(c.id) AS countAll") |
|
| 302 | ->from("content AS c") |
|
| 303 | ->join("content_tags AS t", "t.idContent = c.id") |
|
| 304 | ->where("t.slug = ?") |
|
| 305 | ->andWhere("c.`type` = ?") |
|
| 306 | ->andWhere("c.`deleted` IS NULL"); |
|
| 307 | ||
| 308 | if($publish){ |
|
| 309 | $this->db->andWhere("c.published <= ?"); |
|
| 310 | $params[] = $now; |
|
| 311 | } |
|
| 312 | ||
| 313 | $this->db->execute($params); |
|
| 314 | ||
| 315 | $this->db->setFetchModeClass(__CLASS__); |
|
| 316 | $count = $this->db->fetchOne(); |
|
| 317 | ||
| 318 | return $count->countAll; |
|
| 319 | } |
|
| 320 | ||
| 321 | /***** |
|
| 322 | *** |
|
| @@ 146-168 (lines=23) @@ | ||
| 143 | * @param string $type Wich type of content ex. blog, page etc. |
|
| 144 | * @return object With content data from database |
|
| 145 | */ |
|
| 146 | public function getContentByUrl($url, $type, $publish = true){ |
|
| 147 | $now = date('Y-m-d H:i:s'); |
|
| 148 | $params = [$url, $type]; |
|
| 149 | ||
| 150 | $this->db->select("c.*") |
|
| 151 | ->from("content AS c") |
|
| 152 | // ->join("user AS u", "c.author = u.id") |
|
| 153 | ->where("c.url = ?") |
|
| 154 | ->andWhere("c.`type` = ?") |
|
| 155 | ->andWhere("c.`deleted` IS NULL"); |
|
| 156 | ||
| 157 | if($publish){ |
|
| 158 | $this->db->andWhere("c.published <= ?"); |
|
| 159 | $params[] = $now; |
|
| 160 | } |
|
| 161 | ||
| 162 | $this->db->orderBy('c.published DESC, c.created DESC') |
|
| 163 | ->limit(1) |
|
| 164 | ->execute($params); |
|
| 165 | ||
| 166 | $this->db->setFetchModeClass(__CLASS__); |
|
| 167 | return $this->db->fetchOne(); |
|
| 168 | } |
|
| 169 | ||
| 170 | /** |
|
| 171 | * Get content from database by slug |
|
| @@ 178-199 (lines=22) @@ | ||
| 175 | * @param string $type Wich type of content ex. blog, page etc. |
|
| 176 | * @return object With content data from database |
|
| 177 | */ |
|
| 178 | public function getContentBySlug($slug, $type, $publish = true){ |
|
| 179 | $now = date('Y-m-d H:i:s'); |
|
| 180 | $params = array($slug, $type); |
|
| 181 | $this->db->select("c.*") |
|
| 182 | ->from("content AS c") |
|
| 183 | // ->join("user AS u", "c.author = u.id") |
|
| 184 | ->where("c.slug = ?") |
|
| 185 | ->andWhere("c.`type` = ?") |
|
| 186 | ->andWhere("c.`deleted` IS NULL"); |
|
| 187 | ||
| 188 | if($publish){ |
|
| 189 | $this->db->andWhere("c.published <= ?"); |
|
| 190 | $params[] = $now; |
|
| 191 | } |
|
| 192 | ||
| 193 | $this->db->orderBy('c.published DESC, c.created DESC') |
|
| 194 | ->limit(1) |
|
| 195 | ->execute($params); |
|
| 196 | ||
| 197 | $this->db->setFetchModeClass(__CLASS__); |
|
| 198 | return $this->db->fetchOne(); |
|
| 199 | } |
|
| 200 | ||
| 201 | /** |
|
| 202 | * Get content from database by index |
|