OXID eShop CE  6.1.5
OxidEsales\EshopCommunity\Core\GenericImport\GenericImport Class Reference
+ Collaboration diagram for OxidEsales\EshopCommunity\Core\GenericImport\GenericImport:

Public Member Functions

 init ()
 
 getImportObject ($type)
 
 setImportType ($type)
 
 setCsvFileFieldsOrder ($csvFields)
 
 setCsvContainsHeader ($csvContainsHeader)
 
 importFile ($importFilePath=null)
 
 importData ($data)
 
 getStatistics ()
 
 getImportedRowCount ()
 
 getImportObjectsList ()
 

Public Attributes

const ERROR_USER_NO_RIGHTS = 'Not sufficient rights to perform operation!'
 
const ERROR_NO_INIT = 'Init not executed, Access denied!'
 

Protected Member Functions

 importOne ($data)
 
 afterImport ($data)
 
 getImportType ()
 
 addImportedId ($id)
 
 mapFields ($data)
 
 csvTextConvert ($text, $mode)
 
 getCsvFieldsTerminator ()
 
 getCsvFieldsEncolser ()
 
 checkAccess ($importObject, $isWriteAction)
 
 createImportObject ($type)
 

Protected Attributes

 $objects
 
 $importType = null
 
 $importedIds = []
 
 $returnMessage
 
 $defaultStringTerminator = ';'
 
 $defaultStringEncloser = '"'
 
 $csvContainsHeader = null
 
 $importFilePath
 
 $isInitialized = false
 
 $userId = null
 
 $statistics = []
 
 $retried = false
 
 $csvFileFieldsOrder = []
 
 $maxLineLength = 8192
 

Detailed Description

Class responsible for generic import functionality.

Member Function Documentation

◆ addImportedId()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::addImportedId (   $id)
protected

Adds true to $_aImportedIds where key is given.

Parameters
mixed$id- given key

◆ afterImport()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::afterImport (   $data)
protected

Performs after import actions. If any error occurred during import tries to run import again and marks retried as true. If after running import second time all of the records failed, stops.

Parameters
array$data

◆ checkAccess()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::checkAccess (   $importObject,
  $isWriteAction 
)
protected

Checks if user has sufficient rights.

Parameters
ImportObject$importObjectData type object
boolean$isWriteActionCheck for write permissions
Exceptions
Exception

◆ createImportObject()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::createImportObject (   $type)
protected

Creates and returns import object.

Parameters
string$typeType name in objects dir.
Returns
ImportObject

◆ csvTextConvert()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::csvTextConvert (   $text,
  $mode 
)
protected

Parses and replaces special chars.

Parameters
string$textinput text
bool$modetrue = Text2CSV, false = CSV2Text
Returns
string

◆ getCsvFieldsEncolser()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getCsvFieldsEncolser ( )
protected

Get csv field encloser symbol.

Returns
string

◆ getCsvFieldsTerminator()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getCsvFieldsTerminator ( )
protected

Set csv field terminator symbol.

Returns
string

◆ getImportedRowCount()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getImportedRowCount ( )

Returns count of imported rows, total, during import.

Returns
int $_iImportedRowCount

◆ getImportObject()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getImportObject (   $type)

Get import object according import type.

Parameters
string$typeImport object type.
Returns
ImportObject

◆ getImportObjectsList()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getImportObjectsList ( )

Returns allowed for import objects list.

Returns
array

◆ getImportType()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getImportType ( )
protected

Gets import object type according type prefix.

Exceptions
Exceptionif no such import type prefix
Returns
string

◆ getStatistics()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::getStatistics ( )

Returns statistics information about import.

Returns
array

◆ importData()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::importData (   $data)

Performs import action.

Parameters
array$data

◆ importFile()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::importFile (   $importFilePath = null)

Main import method, whole import of all types via a given csv file is done here.

Parameters
string$importFilePathFull path of the CSV file.
Returns
string

◆ importOne()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::importOne (   $data)
protected

Main Import Handler, imports one row/call/object... returns true if there were any data processed, and master loop should run import again.

after importing, fills $this->_aStatistics[$this->_iIdx] with array of r=>(boolean)result, m=>(string)error message

Parameters
array$data
Returns
bool

◆ init()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::init ( )

Init parameters needed for import. Creates Objects, checks Rights etc.

Exceptions
Exception
Returns
boolean

◆ mapFields()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::mapFields (   $data)
protected

Maps numeric array to assoc. Array

Parameters
array$datanumeric indices
Returns
array assoc. indices

◆ setCsvContainsHeader()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::setCsvContainsHeader (   $csvContainsHeader)

Set if CSV file contains header row.

Parameters
bool$csvContainsHeaderWhether imported file has a header row.

◆ setCsvFileFieldsOrder()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::setCsvFileFieldsOrder (   $csvFields)

Set CSV file columns names.

Parameters
array$csvFieldsCSV fields.

◆ setImportType()

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::setImportType (   $type)

Set import object type prefix.

Parameters
string$typeImport type prefix.

Member Data Documentation

◆ $csvContainsHeader

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$csvContainsHeader = null
protected

◆ $csvFileFieldsOrder

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$csvFileFieldsOrder = []
protected

◆ $defaultStringEncloser

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$defaultStringEncloser = '"'
protected

◆ $defaultStringTerminator

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$defaultStringTerminator = ';'
protected

◆ $importedIds

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$importedIds = []
protected

◆ $importFilePath

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$importFilePath
protected

◆ $importType

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$importType = null
protected

◆ $isInitialized

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$isInitialized = false
protected

◆ $maxLineLength

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$maxLineLength = 8192
protected

◆ $objects

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$objects
protected
Initial value:
= [
'A' => 'Article',
'K' => 'Category',
'H' => 'Vendor',
'C' => 'CrossSelling',
'Z' => 'Accessories2Article',
'T' => 'Article2Category',
'I' => 'Article2Action',
'P' => 'ScalePrice',
'U' => 'User',
'O' => 'Order',
'R' => 'OrderArticle',
'N' => 'Country',
'Y' => 'ArticleExtends',
]

◆ $retried

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$retried = false
protected

◆ $returnMessage

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$returnMessage
protected

◆ $statistics

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$statistics = []
protected

◆ $userId

OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::$userId = null
protected

◆ ERROR_NO_INIT

const OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::ERROR_NO_INIT = 'Init not executed, Access denied!'

◆ ERROR_USER_NO_RIGHTS

const OxidEsales\EshopCommunity\Core\GenericImport\GenericImport::ERROR_USER_NO_RIGHTS = 'Not sufficient rights to perform operation!'

The documentation for this class was generated from the following file: