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'' | [[scriptlog:lib:core:sanitize|''Sanitize'']] | //required// | Input sanitizer for import data | | ''$userDao'' | [[scriptlog:lib:dao: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:lib:core:importexception|''Scriptlog\Core\ImportException'']] | | ''Registry'' | [[scriptlog:lib:core:registry|''Scriptlog\Core\Registry'']] | | ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] | | ''UserDao'' | [[scriptlog:lib:dao:userdao|''Scriptlog\Dao\UserDao'']] | | ''BlogspotImporter'' | [[scriptlog:lib:utility:blogspotimporter|''BlogspotImporter'']] | | ''GhostImporter'' | [[scriptlog:lib:utility:ghostimporter|''GhostImporter'']] | | ''ScriptlogImporter'' | [[scriptlog:lib:utility:scriptlogimporter|''ScriptlogImporter'']] | | ''WordPressImporter'' | [[scriptlog:lib:utility:wordpressimporter|''WordPressImporter'']] |
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
