| @@ 222-232 (lines=11) @@ | ||
| 219 | * @todo SS4 compat |
|
| 220 | * @return int |
|
| 221 | */ |
|
| 222 | public function getNumPosts() |
|
| 223 | { |
|
| 224 | $sqlQuery = new SQLQuery(); |
|
| 225 | $sqlQuery->setFrom('"Post"'); |
|
| 226 | $sqlQuery->setSelect('COUNT("Post"."ID")'); |
|
| 227 | $sqlQuery->addInnerJoin('SilverStripe\\Security\\Member', '"Post"."AuthorID" = "Member"."ID"'); |
|
| 228 | $sqlQuery->addWhere('"Member"."ForumStatus" = \'Normal\''); |
|
| 229 | $sqlQuery->addWhere('"ThreadID" = ' . $this->ID); |
|
| 230 | ||
| 231 | return $sqlQuery->execute()->value(); |
|
| 232 | } |
|
| 233 | ||
| 234 | /** |
|
| 235 | * Check if they have visited this thread before. If they haven't increment |
|
| @@ 291-300 (lines=10) @@ | ||
| 288 | * |
|
| 289 | * @return int Returns the number of posts |
|
| 290 | */ |
|
| 291 | public function getNumPosts() |
|
| 292 | { |
|
| 293 | $sqlQuery = new SQLQuery(); |
|
| 294 | $sqlQuery->setFrom('"Post"'); |
|
| 295 | $sqlQuery->setSelect('COUNT("Post"."ID")'); |
|
| 296 | $sqlQuery->addInnerJoin('SilverStripe\\Security\\Member', '"Post"."AuthorID" = "Member"."ID"'); |
|
| 297 | $sqlQuery->addInnerJoin('SilverStripe\\CMS\\Model\\SiteTree', '"Post"."ForumID" = "SiteTree"."ID"'); |
|
| 298 | $sqlQuery->addWhere('"Member"."ForumStatus" = \'Normal\''); |
|
| 299 | $sqlQuery->addWhere('"SiteTree"."ParentID" = ' . $this->ID); |
|
| 300 | return $sqlQuery->execute()->value(); |
|
| 301 | } |
|
| 302 | ||
| 303 | ||
| @@ 309-318 (lines=10) @@ | ||
| 306 | * |
|
| 307 | * @return int Returns the number of topics (threads) |
|
| 308 | */ |
|
| 309 | public function getNumTopics() |
|
| 310 | { |
|
| 311 | $sqlQuery = new SQLQuery(); |
|
| 312 | $sqlQuery->setFrom('"Post"'); |
|
| 313 | $sqlQuery->setSelect('COUNT(DISTINCT("ThreadID"))'); |
|
| 314 | $sqlQuery->addInnerJoin('SilverStripe\\Security\\Member', '"Post"."AuthorID" = "Member"."ID"'); |
|
| 315 | $sqlQuery->addInnerJoin('SilverStripe\\CMS\\Model\\SiteTree', '"Post"."ForumID" = "SiteTree"."ID"'); |
|
| 316 | $sqlQuery->addWhere('"Member"."ForumStatus" = \'Normal\''); |
|
| 317 | $sqlQuery->addWhere('"SiteTree"."ParentID" = ' . $this->ID); |
|
| 318 | return $sqlQuery->execute()->value(); |
|
| 319 | } |
|
| 320 | ||
| 321 | ||
| @@ 327-336 (lines=10) @@ | ||
| 324 | * |
|
| 325 | * @return int Returns the number of distinct authors |
|
| 326 | */ |
|
| 327 | public function getNumAuthors() |
|
| 328 | { |
|
| 329 | $sqlQuery = new SQLQuery(); |
|
| 330 | $sqlQuery->setFrom('"Post"'); |
|
| 331 | $sqlQuery->setSelect('COUNT(DISTINCT("AuthorID"))'); |
|
| 332 | $sqlQuery->addInnerJoin('SilverStripe\\Security\\Member', '"Post"."AuthorID" = "Member"."ID"'); |
|
| 333 | $sqlQuery->addInnerJoin('SilverStripe\\CMS\\Model\\SiteTree', '"Post"."ForumID" = "SiteTree"."ID"'); |
|
| 334 | $sqlQuery->addWhere('"Member"."ForumStatus" = \'Normal\''); |
|
| 335 | $sqlQuery->addWhere('"SiteTree"."ParentID" = ' . $this->ID); |
|
| 336 | return $sqlQuery->execute()->value(); |
|
| 337 | } |
|
| 338 | ||
| 339 | /** |
|