Scriptlog Docs

Scriptlog Documentation

Code reference for the Scriptlog codebase

User Tools

Site Tools


scriptlog:lib:service:migrationservice

This is an old revision of the document!


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.

scriptlog/lib/service/migrationservice.1790414213.txt.gz · Last modified: by admin