====== TopicService ======
**Layer:** ''Service'' · **Source:** ''lib/service/TopicService.php:22'' (lines 22–344)
----
class TopicService
TopicService Class
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Service Class |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (8) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$topic_id'' | | 29 |
| ''private'' | ''(untyped)'' | ''$topic_title'' | | 36 |
| ''private'' | ''(untyped)'' | ''$topic_slug'' | | 43 |
| ''private'' | ''(untyped)'' | ''$topic_status'' | | 50 |
| ''private'' | ''(untyped)'' | ''$topic_locale'' | | 57 |
| ''private'' | ''(untyped)'' | ''$topicDao'' | | 65 |
| ''private'' | ''(untyped)'' | ''$validator'' | | 72 |
| ''private'' | ''(untyped)'' | ''$sanitizer'' | | 79 |
======= Methods (22) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | (undocumented) | 81 |
| public | ''setTopicId()'' | setTopicId | 94 |
| public | ''setTopicTitle()'' | setTopicTitle | 105 |
| public | ''setTopicSlug()'' | setTopicSlug | 116 |
| public | ''setTopicStatus()'' | setTopicStatus | 127 |
| public | ''setTopicLocale()'' | setTopicLocale | 138 |
| public | ''grabTopics()'' | grabTopics | 149 |
| public | ''grabTopic()'' | grabTopic | 160 |
| public | ''getActiveTopicsApi()'' | Get paginated active topics for API | 174 |
| public | ''countActiveTopicsApi()'' | Count active topics for API | 185 |
| public | ''getTopicApi()'' | Get a single topic with post count for API | 196 |
| public | ''getPostsByTopicApi()'' | Get paginated posts by topic for API | 211 |
| public | ''countPostsByTopicApi()'' | Count published posts by topic for API | 223 |
| public | ''addTopic()'' | addTopic | 232 |
| public | ''modifyTopic()'' | modifyTopic | 247 |
| public | ''removeTopic()'' | removeTopic | 264 |
| public | ''totalTopics()'' | totalTopics | 283 |
| public | ''localeDropDown()'' | localeDropDown | 295 |
| public | ''checkTopicSlugExists()'' | Check if a topic slug already exists. | 306 |
| public | ''createTopicApi()'' | Create a topic from raw data for the API. | 317 |
| public | ''updateTopicApi()'' | Update a topic with raw data for the API. | 329 |
| public | ''removeTopicApi()'' | Delete a topic and its relationships for the API. | 340 |
======== __construct() ========
public function __construct(TopicDao $topicDao, FormValidator $validator, Sanitize $sanitizer)
//lines 81–86 (6)//
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topicDao'' | [[scriptlog:lib:dao:topicdao|''TopicDao'']] | //required// | //none// |
| ''$validator'' | [[scriptlog:lib:core:formvalidator|''FormValidator'']] | //required// | //none// |
| ''$sanitizer'' | [[scriptlog:lib:core:sanitize|''Sanitize'']] | //required// | //none// |
======== setTopicId() ========
public function setTopicId($topic_id)
//lines 94–97 (4)//
setTopicId
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topic_id'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setTopicTitle() ========
public function setTopicTitle($topic_title)
//lines 105–108 (4)//
setTopicTitle
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topic_title'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setTopicSlug() ========
public function setTopicSlug($topic_slug)
//lines 116–119 (4)//
setTopicSlug
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topic_slug'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setTopicStatus() ========
public function setTopicStatus($topic_status)
//lines 127–130 (4)//
setTopicStatus
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topic_status'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setTopicLocale() ========
public function setTopicLocale($topic_locale)
//lines 138–141 (4)//
setTopicLocale
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topic_locale'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== grabTopics() ========
public function grabTopics($orderBy = 'ID')
//lines 149–152 (4)//
grabTopics
^ Parameter ^ Type ^ Default ^ Description ^
| ''$orderBy'' | ''(untyped)'' | '''ID''' | //none// |
**Returns:** ''(none declared)''
======== grabTopic() ========
public function grabTopic($id)
//lines 160–163 (4)//
grabTopic
^ Parameter ^ Type ^ Default ^ Description ^
| ''$id'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== getActiveTopicsApi() ========
public function getActiveTopicsApi($page = 1, $perPage = 10, $sortBy = 'ID', $sortOrder = 'DESC')
//lines 174–178 (5)//
Get paginated active topics for API
^ Parameter ^ Type ^ Default ^ Description ^
| ''$page'' | ''(untyped)'' | ''1'' | //none// |
| ''$perPage'' | ''(untyped)'' | ''10'' | //none// |
| ''$sortBy'' | ''(untyped)'' | '''ID''' | //none// |
| ''$sortOrder'' | ''(untyped)'' | '''DESC''' | //none// |
**Returns:** ''(none declared)'' — array
======== countActiveTopicsApi() ========
public function countActiveTopicsApi()
//lines 185–188 (4)//
Count active topics for API
//Takes no parameters.//
**Returns:** ''(none declared)'' — integer
======== getTopicApi() ========
public function getTopicApi($topicId)
//lines 196–199 (4)//
Get a single topic with post count for API
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topicId'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — array|false
======== getPostsByTopicApi() ========
public function getPostsByTopicApi($topicId, $page = 1, $perPage = 10, $sortBy = 'ID', $sortOrder = 'DESC')
//lines 211–215 (5)//
Get paginated posts by topic for API
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topicId'' | ''(untyped)'' | //required// | //none// |
| ''$page'' | ''(untyped)'' | ''1'' | //none// |
| ''$perPage'' | ''(untyped)'' | ''10'' | //none// |
| ''$sortBy'' | ''(untyped)'' | '''ID''' | //none// |
| ''$sortOrder'' | ''(untyped)'' | '''DESC''' | //none// |
**Returns:** ''(none declared)'' — array
======== countPostsByTopicApi() ========
public function countPostsByTopicApi($topicId)
//lines 223–226 (4)//
Count published posts by topic for API
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topicId'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — integer
======== addTopic() ========
public function addTopic()
//lines 232–241 (10)//
addTopic
//Takes no parameters.//
**Returns:** ''(none declared)''
======== modifyTopic() ========
public function modifyTopic()
//lines 247–258 (12)//
modifyTopic
//Takes no parameters.//
**Returns:** ''(none declared)''
======== removeTopic() ========
public function removeTopic()
//lines 264–275 (12)//
removeTopic
//Takes no parameters.//
**Returns:** ''(none declared)''
======== totalTopics() ========
public function totalTopics(array $data = []): ?int
//lines 283–286 (4)//
totalTopics
^ Parameter ^ Type ^ Default ^ Description ^
| ''$data'' | ''array'' | ''[]'' | //none// |
**Returns:** ''?int'' — integer|numeric|null
======== localeDropDown() ========
public function localeDropDown($selected = "")
//lines 295–298 (4)//
localeDropDown
^ Parameter ^ Type ^ Default ^ Description ^
| ''$selected'' | ''(untyped)'' | ''""'' | //none// |
**Returns:** ''(none declared)'' — string
======== checkTopicSlugExists() ========
public function checkTopicSlugExists($slug)
//lines 306–309 (4)//
Check if a topic slug already exists.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$slug'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — bool
======== createTopicApi() ========
public function createTopicApi(array $data)
//lines 317–320 (4)//
Create a topic from raw data for the API.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$data'' | ''array'' | //required// | //none// |
**Returns:** ''(none declared)'' — int
======== updateTopicApi() ========
public function updateTopicApi($topicId, array $data)
//lines 329–332 (4)//
Update a topic with raw data for the API.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topicId'' | ''(untyped)'' | //required// | //none// |
| ''$data'' | ''array'' | //required// | //none// |
**Returns:** ''(none declared)'' — void
======== removeTopicApi() ========
public function removeTopicApi($topicId)
//lines 340–343 (4)//
Delete a topic and its relationships for the API.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$topicId'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — void
======= Imports =======
^ Alias ^ Fully-qualified name ^
| ''FormValidator'' | [[scriptlog:lib:core:formvalidator|''Scriptlog\Core\FormValidator'']] |
| ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] |
| ''TopicDao'' | [[scriptlog:lib:dao:topicdao|''Scriptlog\Dao\TopicDao'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//