This is an old revision of the document!
Table of Contents
MigrationService
Layer: Service · Source: lib/service/MigrationService.php:29 (lines 29–1016)
final class MigrationService
MigrationService
Main service for handling content import from various platforms
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 (4)
| Visibility | Name | Value | Line |
|---|---|---|---|
- | SOURCE_WORDPRESS | 'wordpress'; | 47 |
- | SOURCE_GHOST | 'ghost'; | 48 |
- | SOURCE_BLOGSPOT | 'blogspot'; | 49 |
- | SOURCE_SCRIPTLOG | 'scriptlog'; | 50 |
Properties (2)
| Visibility | Type | Name | Default | Line |
|---|---|---|---|---|
private | (untyped) | $categoryMap | []; | 44 |
private | (untyped) | $postIdMap | []; | 45 |
Methods (31)
| Visibility | Method | Summary | Line |
|---|---|---|---|
| public | __construct() | MigrationService constructor. | 58 |
| public | setAuthorId() | Set author ID for imported content | 85 |
| public | getStats() | Get import statistics | 95 |
| public | getImportUsers() | Get users available as import authors for the import form. | 107 |
| public | resetStats() | Reset import statistics | 119 |
| public | importFromWordPress() | Import content from WordPress WXR file | 142 |
| public | importFromGhost() | Import content from Ghost JSON file | 177 |
| public | importFromBlogspot() | Import content from Blogspot XML file | 212 |
| public | importFromScriptlog() | Import content from Scriptlog native JSON file | 250 |
| private | importScriptlogTopics() | Import topics from Scriptlog export | 302 |
| private | importScriptlogPosts() | Import posts from Scriptlog export | 337 |
| private | importScriptlogPages() | Import pages from Scriptlog export | 393 |
| private | importScriptlogComments() | Import comments from Scriptlog export | 447 |
| private | importScriptlogMenus() | Import menus from Scriptlog export | 490 |
| private | importScriptlogSettings() | Import settings from Scriptlog export | 519 |
| public | previewImport() | Preview import data without importing | 559 |
| private | importCategories() | Import categories/topics | 631 |
| private | importPosts() | Import posts | 666 |
| private | importPages() | Import pages | 733 |
| private | importComments() | Import comments | 777 |
| private | assignCategories() | Assign categories to post | 821 |
| private | findTopicBySlug() | Find topic by slug | 853 |
| private | findPostBySlug() | Find post by slug | 866 |
| private | createTopic() | Create topic | 880 |
| private | createPost() | Create post | 900 |
| private | createComment() | Create comment | 917 |
| private | ensureUniqueSlug() | Ensure unique slug | 934 |
| private | sanitizeInput() | Sanitize input | 953 |
| private | mapStatus() | Map post status | 968 |
| private | mapCommentStatus() | Map comment status | 987 |
| private | formatDate() | Format date | 1007 |
__construct()
public function __construct(Sanitize $sanitizer, UserDao $userDao)
lines 58–78 (21)
MigrationService constructor.
| Parameter | Type | Default | Description |
|---|---|---|---|
$sanitizer | ''Sanitize'' | required | Input sanitizer for import data |
$userDao | ''UserDao'' | required | Data access for import author lookups |
setAuthorId()
public function setAuthorId($authorId)
lines 85–88 (4)
Set author ID for imported content
| Parameter | Type | Default | Description |
|---|---|---|---|
$authorId | (untyped) | required | none |
Returns: (none declared)
getStats()
public function getStats()
lines 95–98 (4)
Get import statistics
Takes no parameters.
Returns: (none declared) — array
getImportUsers()
public function getImportUsers(): array
lines 107–112 (6)
Get users available as import authors for the import form.
Normalizes the DAO result to an array so callers never receive false.
Takes no parameters.
Returns: array — array List of user rows, empty when no users exist
resetStats()
public function resetStats()
lines 119–134 (16)
Reset import statistics
Takes no parameters.
Returns: (none declared) — void
importFromWordPress()
public function importFromWordPress($wxrContent)
lines 142–169 (28)
Import content from WordPress WXR file
| Parameter | Type | Default | Description |
|---|---|---|---|
$wxrContent | (untyped) | required | none |
Returns: (none declared) — array
importFromGhost()
public function importFromGhost($jsonContent)
lines 177–204 (28)
Import content from Ghost JSON file
| Parameter | Type | Default | Description |
|---|---|---|---|
$jsonContent | (untyped) | required | none |
Returns: (none declared) — array
importFromBlogspot()
public function importFromBlogspot($xmlContent)
lines 212–242 (31)
Import content from Blogspot XML file
| Parameter | Type | Default | Description |
|---|---|---|---|
$xmlContent | (untyped) | required | none |
Returns: (none declared) — array
importFromScriptlog()
public function importFromScriptlog($jsonContent)
lines 250–295 (46)
Import content from Scriptlog native JSON file
| Parameter | Type | Default | Description |
|---|---|---|---|
$jsonContent | (untyped) | required | none |
Returns: (none declared) — array
importScriptlogTopics()
private function importScriptlogTopics($topics)
lines 302–330 (29)
Import topics from Scriptlog export
| Parameter | Type | Default | Description |
|---|---|---|---|
$topics | (untyped) | required | none |
Returns: (none declared)
importScriptlogPosts()
private function importScriptlogPosts($posts)
lines 337–386 (50)
Import posts from Scriptlog export
| Parameter | Type | Default | Description |
|---|---|---|---|
$posts | (untyped) | required | none |
Returns: (none declared)
importScriptlogPages()
private function importScriptlogPages($pages)
lines 393–440 (48)
Import pages from Scriptlog export
| Parameter | Type | Default | Description |
|---|---|---|---|
$pages | (untyped) | required | none |
Returns: (none declared)
importScriptlogComments()
private function importScriptlogComments($comments)
lines 447–483 (37)
Import comments from Scriptlog export
| Parameter | Type | Default | Description |
|---|---|---|---|
$comments | (untyped) | required | none |
Returns: (none declared)
importScriptlogMenus()
private function importScriptlogMenus($menus)
lines 490–512 (23)
Import menus from Scriptlog export
| Parameter | Type | Default | Description |
|---|---|---|---|
$menus | (untyped) | required | none |
Returns: (none declared)
importScriptlogSettings()
private function importScriptlogSettings($settings)
lines 519–550 (32)
Import settings from Scriptlog export
| Parameter | Type | Default | Description |
|---|---|---|---|
$settings | (untyped) | required | none |
Returns: (none declared)
previewImport()
public function previewImport($content, $source)
lines 559–624 (66)
Preview import data without importing
| Parameter | Type | Default | Description |
|---|---|---|---|
$content | (untyped) | required | none |
$source | (untyped) | required | none |
Returns: (none declared) — array
importCategories()
private function importCategories($categories)
lines 631–659 (29)
Import categories/topics
| Parameter | Type | Default | Description |
|---|---|---|---|
$categories | (untyped) | required | none |
Returns: (none declared)
importPosts()
private function importPosts($posts)
lines 666–726 (61)
Import posts
| Parameter | Type | Default | Description |
|---|---|---|---|
$posts | (untyped) | required | none |
Returns: (none declared)
importPages()
private function importPages($pages)
lines 733–769 (37)
Import pages
| Parameter | Type | Default | Description |
|---|---|---|---|
$pages | (untyped) | required | none |
Returns: (none declared)
importComments()
private function importComments($comments, $postId)
lines 777–813 (37)
Import comments
| Parameter | Type | Default | Description |
|---|---|---|---|
$comments | (untyped) | required | none |
$postId | (untyped) | required | none |
Returns: (none declared)
assignCategories()
private function assignCategories($postId, $categories)
lines 821–845 (25)
Assign categories to post
| Parameter | Type | Default | Description |
|---|---|---|---|
$postId | (untyped) | required | none |
$categories | (untyped) | required | none |
Returns: (none declared)
findTopicBySlug()
private function findTopicBySlug($slug)
lines 853–858 (6)
Find topic by slug
| Parameter | Type | Default | Description |
|---|---|---|---|
$slug | (untyped) | required | none |
Returns: (none declared) — array|null
findPostBySlug()
private function findPostBySlug($slug)
lines 866–871 (6)
Find post by slug
| Parameter | Type | Default | Description |
|---|---|---|---|
$slug | (untyped) | required | none |
Returns: (none declared) — array|null
createTopic()
private function createTopic($name, $slug)
lines 880–892 (13)
Create topic
| Parameter | Type | Default | Description |
|---|---|---|---|
$name | (untyped) | required | none |
$slug | (untyped) | required | none |
Returns: (none declared) — int|false
createPost()
private function createPost($data)
lines 900–909 (10)
Create post
| Parameter | Type | Default | Description |
|---|---|---|---|
$data | (untyped) | required | none |
Returns: (none declared) — int|false
createComment()
private function createComment($data)
lines 917–926 (10)
Create comment
| Parameter | Type | Default | Description |
|---|---|---|---|
$data | (untyped) | required | none |
Returns: (none declared) — int|false
ensureUniqueSlug()
private function ensureUniqueSlug($slug)
lines 934–945 (12)
Ensure unique slug
| Parameter | Type | Default | Description |
|---|---|---|---|
$slug | (untyped) | required | none |
Returns: (none declared) — string
sanitizeInput()
private function sanitizeInput($input)
lines 953–960 (8)
Sanitize input
| Parameter | Type | Default | Description |
|---|---|---|---|
$input | (untyped) | required | none |
Returns: (none declared) — string
mapStatus()
private function mapStatus($status)
lines 968–979 (12)
Map post status
| Parameter | Type | Default | Description |
|---|---|---|---|
$status | (untyped) | required | none |
Returns: (none declared) — string
mapCommentStatus()
private function mapCommentStatus($status)
lines 987–999 (13)
Map comment status
| Parameter | Type | Default | Description |
|---|---|---|---|
$status | (untyped) | required | none |
Returns: (none declared) — string
formatDate()
private function formatDate($date)
lines 1007–1015 (9)
Format date
| Parameter | Type | Default | Description |
|---|---|---|---|
$date | (untyped) | required | none |
Returns: (none declared) — string
Imports
| Alias | Fully-qualified name |
|---|---|
ImportException | ''Scriptlog\Core\ImportException'' |
Registry | ''Scriptlog\Core\Registry'' |
Sanitize | ''Scriptlog\Core\Sanitize'' |
UserDao | ''Scriptlog\Dao\UserDao'' |
BlogspotImporter | ''BlogspotImporter'' |
GhostImporter | ''GhostImporter'' |
ScriptlogImporter | ''ScriptlogImporter'' |
WordPressImporter | ''WordPressImporter'' |
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
