====== ThemeService ======
**Layer:** ''Service'' · **Source:** ''lib/service/ThemeService.php:23'' (lines 23–467)
----
class ThemeService
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Class ThemeService |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0.0 |
| ''@since'' | Since Release 1.0.0 |
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (10) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$theme_id'' | | 30 |
| ''private'' | ''(untyped)'' | ''$theme_title'' | | 37 |
| ''private'' | ''(untyped)'' | ''$theme_description'' | | 44 |
| ''private'' | ''(untyped)'' | ''$theme_designer'' | | 51 |
| ''private'' | ''(untyped)'' | ''$theme_directory'' | | 58 |
| ''private'' | ''(untyped)'' | ''$theme_status'' | | 65 |
| ''private'' | ''(untyped)'' | ''$themeDao'' | | 72 |
| ''private'' | ''(untyped)'' | ''$validator'' | | 79 |
| ''private'' | ''(untyped)'' | ''$sanitize'' | | 82 |
| ''private'' | ''(untyped)'' | ''$licenseService'' | | 85 |
======= Methods (18) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 94 |
| public | ''setThemeId()'' | Set Theme ID | 107 |
| public | ''setThemeTitle()'' | Set Theme Title | 117 |
| public | ''setThemeDescription()'' | Set Theme Description | 127 |
| public | ''setThemeDesigner()'' | Set Theme Designer | 137 |
| public | ''setThemeDirectory()'' | Set Theme Directory | 147 |
| public | ''setThemeStatus()'' | Set Theme Status | 157 |
| public | ''grabThemes()'' | Retrieve themes | 168 |
| public | ''grabTheme()'' | Retrieve a single theme | 179 |
| public | ''addTheme()'' | Add a new theme | 188 |
| public | ''modifyTheme()'' | Modify an existing theme | 206 |
| public | ''activateInstalledTheme()'' | Activate an installed theme | 235 |
| public | ''activateInstalledThemeWithLicense()'' | Activate an installed theme, validating the license key first. | 251 |
| public | ''deactivateInstalledTheme()'' | Deactivate an installed theme | 360 |
| private | ''deactivateThemeLicense()'' | Notify the MyBlog license server that a premium theme is being | 384 |
| public | ''removeTheme()'' | Remove a theme | 427 |
| public | ''isThemeExists()'' | isThemeExists | 452 |
| public | ''totalThemes()'' | totalThemes | 463 |
======== __construct() ========
public function __construct(ThemeDao $themeDao, FormValidator $validator, Sanitize $sanitize)
//lines 94–100 (7)//
Constructor
^ Parameter ^ Type ^ Default ^ Description ^
| ''$themeDao'' | [[scriptlog:lib:dao:themedao|''ThemeDao'']] | //required// | //none// |
| ''$validator'' | [[scriptlog:lib:core:formvalidator|''FormValidator'']] | //required// | //none// |
| ''$sanitize'' | [[scriptlog:lib:core:sanitize|''Sanitize'']] | //required// | //none// |
======== setThemeId() ========
public function setThemeId($theme_id)
//lines 107–110 (4)//
Set Theme ID
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_id'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setThemeTitle() ========
public function setThemeTitle($theme_title)
//lines 117–120 (4)//
Set Theme Title
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_title'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setThemeDescription() ========
public function setThemeDescription($theme_description)
//lines 127–130 (4)//
Set Theme Description
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_description'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setThemeDesigner() ========
public function setThemeDesigner($theme_designer)
//lines 137–140 (4)//
Set Theme Designer
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_designer'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setThemeDirectory() ========
public function setThemeDirectory($theme_directory)
//lines 147–150 (4)//
Set Theme Directory
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_directory'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setThemeStatus() ========
public function setThemeStatus($theme_status)
//lines 157–160 (4)//
Set Theme Status
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_status'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== grabThemes() ========
public function grabThemes($orderBy = 'ID')
//lines 168–171 (4)//
Retrieve themes
^ Parameter ^ Type ^ Default ^ Description ^
| ''$orderBy'' | ''(untyped)'' | '''ID''' | Column to order by |
**Returns:** ''(none declared)'' — array
======== grabTheme() ========
public function grabTheme($id)
//lines 179–182 (4)//
Retrieve a single theme
^ Parameter ^ Type ^ Default ^ Description ^
| ''$id'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — array
======== addTheme() ========
public function addTheme()
//lines 188–200 (13)//
Add a new theme
//Takes no parameters.//
**Returns:** ''(none declared)''
======== modifyTheme() ========
public function modifyTheme()
//lines 206–229 (24)//
Modify an existing theme
//Takes no parameters.//
**Returns:** ''(none declared)''
======== activateInstalledTheme() ========
public function activateInstalledTheme()
//lines 235–239 (5)//
Activate an installed theme
//Takes no parameters.//
**Returns:** ''(none declared)''
======== activateInstalledThemeWithLicense() ========
public function activateInstalledThemeWithLicense($licenseKey = null)
//lines 251–354 (104)//
Activate an installed theme, validating the license key first.
Free themes activate immediately without a license key.
Premium themes require a valid license key that is checked against
the MyBlog license API before activation is allowed.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$licenseKey'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — array{success: bool, message: string}
======== deactivateInstalledTheme() ========
public function deactivateInstalledTheme()
//lines 360–371 (12)//
Deactivate an installed theme
//Takes no parameters.//
**Returns:** ''(none declared)''
======== deactivateThemeLicense() ========
private function deactivateThemeLicense($theme)
//lines 384–420 (37)//
Notify the MyBlog license server that a premium theme is being
deactivated, releasing one activation slot for the license key.
Runs best-effort: failures are swallowed so the admin can still
deactivate the theme locally. Only premium themes with a stored
license key and product identifier trigger a remote call.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — void
======== removeTheme() ========
public function removeTheme()
//lines 427–444 (18)//
Remove a theme
//Takes no parameters.//
**Returns:** ''(none declared)'' — bool
======== isThemeExists() ========
public function isThemeExists($theme_title)
//lines 452–455 (4)//
isThemeExists
^ Parameter ^ Type ^ Default ^ Description ^
| ''$theme_title'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — boolean
======== totalThemes() ========
public function totalThemes(array $data = []): ?int
//lines 463–466 (4)//
totalThemes
^ Parameter ^ Type ^ Default ^ Description ^
| ''$data'' | ''array'' | ''[]'' | //none// |
**Returns:** ''?int'' — integer|numeric|null
======= Imports =======
^ Alias ^ Fully-qualified name ^
| ''FormValidator'' | [[scriptlog:lib:core:formvalidator|''Scriptlog\Core\FormValidator'']] |
| ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] |
| ''ThemeDao'' | [[scriptlog:lib:dao:themedao|''Scriptlog\Dao\ThemeDao'']] |
| ''ThemeLicenseService'' | [[scriptlog:lib:service:themelicenseservice|''Scriptlog\Service\ThemeLicenseService'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//