Documentation

CompleteImportService

Handles complete term import with temp tables, translation merging, overwrite modes, and tag processing.

Tags
category

Lwt

author

HugoFara hugo.farajallah@protonmail.com

license

Unlicense http://unlicense.org/

link
https://hugofara.github.io/lwt/developer/api
since
3.0.0

Table of Contents

Properties

$utilities  : ImportUtilities

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

Methods

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

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)

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


        
On this page

Search results