CompleteImportService
in package
Handles complete term import with temp tables, translation merging, overwrite modes, and tag processing.
Tags
Table of Contents
Properties
Methods
- __construct() : mixed
- importComplete() : void
- Import terms with complete processing (handles tags, overwrite modes).
- importTagsOnly() : void
- Import tags only (no terms).
- cleanupTempTables() : void
- Cleanup temporary tables.
- executeMainImportQuery() : void
- Execute the main import/update query based on overwrite mode.
- executeTempTableBatch() : void
- Execute a batch insert for temp table import.
- handleTagsImport() : void
- Handle tags import.
- handleTranslationMerge() : void
- Handle translation merging for overwrite modes 4 and 5.
- initTempTables() : void
- Initialize temporary tables for import.
- loadDataToTempTable() : void
- Load data into temporary table using LOAD DATA.
- loadDataToTempTableWithPHP() : void
- Load data into temporary table using PHP (fallback).
Properties
$utilities
private
ImportUtilities
$utilities
Methods
__construct()
public
__construct(ImportUtilities $utilities) : mixed
Parameters
- $utilities : ImportUtilities
-
Shared import helpers
importComplete()
Import terms with complete processing (handles tags, overwrite modes).
public
importComplete(int $langId, array{txt: int, tr: int, ro: int, se: int, tl: int} $fields, string $columnsClause, string $delimiter, string $fileName, int $status, int $overwrite, bool $ignoreFirst, string $translDelim, string $tabType) : void
Parameters
- $langId : int
-
Language ID
- $fields : array{txt: int, tr: int, ro: int, se: int, tl: int}
-
Field indexes
- $columnsClause : string
-
SQL columns clause
- $delimiter : string
-
Field delimiter
- $fileName : string
-
Path to input file
- $status : int
-
Word status
- $overwrite : int
-
Overwrite mode
- $ignoreFirst : bool
-
Ignore first line
- $translDelim : string
-
Translation delimiter
- $tabType : string
-
Tab type (c, t, h)
importTagsOnly()
Import tags only (no terms).
public
importTagsOnly(array{tl: int} $fields, string $tabType, string $fileName, bool $ignoreFirst) : void
Parameters
- $fields : array{tl: int}
-
Field indexes
- $tabType : string
-
Tab type (c, t, h)
- $fileName : string
-
Path to input file
- $ignoreFirst : bool
-
Ignore first line
cleanupTempTables()
Cleanup temporary tables.
private
cleanupTempTables() : void
executeMainImportQuery()
Execute the main import/update query based on overwrite mode.
private
executeMainImportQuery(int $langId, array<string|int, mixed> $fields, int $status, int $overwrite) : void
Parameters
- $langId : int
-
Language ID
- $fields : array<string|int, mixed>
-
Field indexes
- $status : int
-
Word status
- $overwrite : int
-
Overwrite mode (0-5)
executeTempTableBatch()
Execute a batch insert for temp table import.
private
executeTempTableBatch(array<int, array<int, string>> $rows, array{txt: int, tr: int, ro: int, se: int, tl: int} $fields) : void
Parameters
- $rows : array<int, array<int, string>>
-
Array of row data
- $fields : array{txt: int, tr: int, ro: int, se: int, tl: int}
-
Field indexes
handleTagsImport()
Handle tags import.
private
handleTagsImport(int $langId) : void
Parameters
- $langId : int
-
Language ID
handleTranslationMerge()
Handle translation merging for overwrite modes 4 and 5.
private
handleTranslationMerge(int $langId, string $translDelim, string $tabType) : void
Parameters
- $langId : int
-
Language ID
- $translDelim : string
-
Translation delimiter from import
- $tabType : string
-
Tab type (c, t, h)
initTempTables()
Initialize temporary tables for import.
private
initTempTables() : void
loadDataToTempTable()
Load data into temporary table using LOAD DATA.
private
loadDataToTempTable(bool $removeSpaces, array<string|int, mixed> $fields, string $columnsClause, string $delimiter, string $fileName, bool $ignoreFirst) : void
Parameters
- $removeSpaces : bool
-
Whether to remove spaces
- $fields : array<string|int, mixed>
-
Field indexes
- $columnsClause : string
-
SQL columns clause
- $delimiter : string
-
Field delimiter
- $fileName : string
-
Path to input file
- $ignoreFirst : bool
-
Ignore first line
loadDataToTempTableWithPHP()
Load data into temporary table using PHP (fallback).
private
loadDataToTempTableWithPHP(bool $removeSpaces, array{txt: int, tr: int, ro: int, se: int, tl: int} $fields, string $delimiter, string $fileName, bool $ignoreFirst) : void
Uses chunked batch inserts to handle large files without excessive memory.
Parameters
- $removeSpaces : bool
-
Whether to remove spaces
- $fields : array{txt: int, tr: int, ro: int, se: int, tl: int}
-
Field indexes
- $delimiter : string
-
Field delimiter
- $fileName : string
-
Path to input file
- $ignoreFirst : bool
-
Ignore first line