QueryGenerator
Class for generating front end for building queries
since v11, will be removed in v12
Table of Contents
Properties
- $comp_offsets : array<string|int, mixed>
- $compSQL : array<string|int, mixed>
- $enablePrefix : bool
- $enableQueryParts : bool
- $extFieldLists : array<string|int, mixed>
- $fieldList : string
- Field list
- $fields : array<string|int, mixed>
- Array of the fields possible
- $lang : array<string|int, mixed>
- $name : string
- Form data name prefix
- $noWrap : string
- $queryConfig : array<string|int, mixed>
- The query config
- $table : string
- Table for the query
- $tableArray : array<string|int, mixed>
- $fieldName : string
- $formName : string
- $settings : array<string|int, mixed>
Methods
- __construct() : mixed
- cleanInputVal() : string
- Clear input value
- cleanUpQueryConfig() : array<string|int, mixed>
- Clean up query config
- getFormElements() : array<string|int, mixed>
- Get form elements
- getLabelCol() : string
- Get label column
- getQuery() : string
- Get query
- getQuerySingle() : string
- Get single query
- getSelectQuery() : string
- Get select query
- getSubscript() : array<string|int, mixed>
- Get subscript
- getTreeList() : string
- Recursively fetch all descendants of a given page
- getUserDefQuery() : mixed
- Get user definition query
- init() : mixed
- Init function
- initUserDef() : mixed
- Init user definition
- makeFieldList() : string
- Make a list of fields for current table
- makeOptionList() : string
- Make option list
- makeSelectorTable() : string
- Make selector table
- mkCompSelect() : string
- Make comparison select
- mkFieldToInputSelect() : string
- Make field to input select
- mkOperatorSelect() : string
- Make operator select
- mkTableSelect() : string
- Make table select
- mkTypeSelect() : string
- Make type select
- printCodeArray() : string
- Print code array
- procesData() : mixed
- Process data
- setAndCleanUpExternalLists() : mixed
- Set and clean up external lists
- setFormName() : mixed
- Sets the current name of the input form.
- updateIcon() : string
- Update icon
- userDef() : string
- User definition
- userDefCleanUp() : array<string|int, mixed>
- User definition clean up
- verifyComparison() : int
- Verify comparison
- verifyType() : string
- Verify type
- convertIso8601DatetimeStringToUnixTimestamp() : array<string|int, mixed>
- Convert ISO-8601 timestamp (string) into unix timestamp (int)
- getBackendUserAuthentication() : BackendUserAuthentication
- getDateTimePickerField() : string
- getLanguageService() : LanguageService
- isDateOfIso8601Format() : bool
- Checks if the given value is of the ISO 8601 format.
- makeComparisonSelector() : string
Properties
$comp_offsets
public
array<string|int, mixed>
$comp_offsets
= ['text' => 0, 'number' => 1, 'multiple' => 2, 'relation' => 2, 'date' => 3, 'time' => 3, 'boolean' => 4, 'binary' => 5]
$compSQL
public
array<string|int, mixed>
$compSQL
= [
// Type = text offset = 0
'0' => '#FIELD# LIKE \'%#VALUE#%\'',
'1' => '#FIELD# NOT LIKE \'%#VALUE#%\'',
'2' => '#FIELD# LIKE \'#VALUE#%\'',
'3' => '#FIELD# NOT LIKE \'#VALUE#%\'',
'4' => '#FIELD# LIKE \'%#VALUE#\'',
'5' => '#FIELD# NOT LIKE \'%#VALUE#\'',
'6' => '#FIELD# = \'#VALUE#\'',
'7' => '#FIELD# != \'#VALUE#\'',
// Type = number, offset = 32
'32' => '#FIELD# = \'#VALUE#\'',
'33' => '#FIELD# != \'#VALUE#\'',
'34' => '#FIELD# > #VALUE#',
'35' => '#FIELD# < #VALUE#',
'36' => '#FIELD# >= #VALUE# AND #FIELD# <= #VALUE1#',
'37' => 'NOT (#FIELD# >= #VALUE# AND #FIELD# <= #VALUE1#)',
'38' => '#FIELD# IN (#VALUE#)',
'39' => '#FIELD# NOT IN (#VALUE#)',
'40' => '(#FIELD# & #VALUE#)=#VALUE#',
'41' => '(#FIELD# & #VALUE#)!=#VALUE#',
'42' => '(#FIELD# | #VALUE#)=#VALUE#',
'43' => '(#FIELD# | #VALUE#)!=#VALUE#',
// Type = multiple, relation, offset = 64
'64' => '#FIELD# = \'#VALUE#\'',
'65' => '#FIELD# != \'#VALUE#\'',
'66' => '#FIELD# LIKE \'%#VALUE#%\' AND #FIELD# LIKE \'%#VALUE1#%\'',
'67' => '(#FIELD# NOT LIKE \'%#VALUE#%\' OR #FIELD# NOT LIKE \'%#VALUE1#%\')',
'68' => '#FIELD# IN (#VALUE#)',
'69' => '#FIELD# NOT IN (#VALUE#)',
'70' => '(#FIELD# & #VALUE#)=#VALUE#',
'71' => '(#FIELD# & #VALUE#)!=#VALUE#',
'72' => '(#FIELD# | #VALUE#)=#VALUE#',
'73' => '(#FIELD# | #VALUE#)!=#VALUE#',
// Type = date, offset = 32
'96' => '#FIELD# = \'#VALUE#\'',
'97' => '#FIELD# != \'#VALUE#\'',
'98' => '#FIELD# > #VALUE#',
'99' => '#FIELD# < #VALUE#',
'100' => '#FIELD# >= #VALUE# AND #FIELD# <= #VALUE1#',
'101' => 'NOT (#FIELD# >= #VALUE# AND #FIELD# <= #VALUE1#)',
'102' => '(#FIELD# & #VALUE#)=#VALUE#',
'103' => '(#FIELD# & #VALUE#)!=#VALUE#',
'104' => '(#FIELD# | #VALUE#)=#VALUE#',
'105' => '(#FIELD# | #VALUE#)!=#VALUE#',
// Type = boolean, offset = 128
'128' => '#FIELD# = \'1\'',
'129' => '#FIELD# != \'1\'',
// Type = binary = 160
'160' => '#FIELD# = \'#VALUE#\'',
'161' => '#FIELD# != \'#VALUE#\'',
'162' => '(#FIELD# & #VALUE#)=#VALUE#',
'163' => '(#FIELD# & #VALUE#)=0',
]
$enablePrefix
public
bool
$enablePrefix
= false
$enableQueryParts
public
bool
$enableQueryParts
= false
$extFieldLists
public
array<string|int, mixed>
$extFieldLists
= []
$fieldList
Field list
public
string
$fieldList
$fields
Array of the fields possible
public
array<string|int, mixed>
$fields
= []
$lang
public
array<string|int, mixed>
$lang
= ['OR' => 'or', 'AND' => 'and', 'comparison' => [
// Type = text offset = 0
'0_' => 'contains',
'1_' => 'does not contain',
'2_' => 'starts with',
'3_' => 'does not start with',
'4_' => 'ends with',
'5_' => 'does not end with',
'6_' => 'equals',
'7_' => 'does not equal',
// Type = number , offset = 32
'32_' => 'equals',
'33_' => 'does not equal',
'34_' => 'is greater than',
'35_' => 'is less than',
'36_' => 'is between',
'37_' => 'is not between',
'38_' => 'is in list',
'39_' => 'is not in list',
'40_' => 'binary AND equals',
'41_' => 'binary AND does not equal',
'42_' => 'binary OR equals',
'43_' => 'binary OR does not equal',
// Type = multiple, relation, offset = 64
'64_' => 'equals',
'65_' => 'does not equal',
'66_' => 'contains',
'67_' => 'does not contain',
'68_' => 'is in list',
'69_' => 'is not in list',
'70_' => 'binary AND equals',
'71_' => 'binary AND does not equal',
'72_' => 'binary OR equals',
'73_' => 'binary OR does not equal',
// Type = date,time offset = 96
'96_' => 'equals',
'97_' => 'does not equal',
'98_' => 'is greater than',
'99_' => 'is less than',
'100_' => 'is between',
'101_' => 'is not between',
'102_' => 'binary AND equals',
'103_' => 'binary AND does not equal',
'104_' => 'binary OR equals',
'105_' => 'binary OR does not equal',
// Type = boolean, offset = 128
'128_' => 'is True',
'129_' => 'is False',
// Type = binary , offset = 160
'160_' => 'equals',
'161_' => 'does not equal',
'162_' => 'contains',
'163_' => 'does not contain',
]]
$name
Form data name prefix
public
string
$name
$noWrap
public
string
$noWrap
= ' nowrap'
$queryConfig
The query config
public
array<string|int, mixed>
$queryConfig
= []
$table
Table for the query
public
string
$table
$tableArray
public
array<string|int, mixed>
$tableArray
$fieldName
protected
string
$fieldName
$formName
protected
string
$formName
= ''
$settings
protected
array<string|int, mixed>
$settings
= []
Settings, usually from the controller, previously known as MOD_SETTINGS
Methods
__construct()
public
__construct() : mixed
cleanInputVal()
Clear input value
public
cleanInputVal(array<string|int, mixed> $conf[, string $suffix = '' ]) : string
Parameters
- $conf : array<string|int, mixed>
- $suffix : string = ''
Return values
stringcleanUpQueryConfig()
Clean up query config
public
cleanUpQueryConfig(array<string|int, mixed> $queryConfig) : array<string|int, mixed>
Parameters
- $queryConfig : array<string|int, mixed>
-
Query config
Return values
array<string|int, mixed>getFormElements()
Get form elements
public
getFormElements([int $subLevel = 0 ][, string $queryConfig = '' ][, string $parent = '' ]) : array<string|int, mixed>
Parameters
- $subLevel : int = 0
- $queryConfig : string = ''
- $parent : string = ''
Return values
array<string|int, mixed>getLabelCol()
Get label column
public
getLabelCol() : string
Return values
stringgetQuery()
Get query
public
getQuery(array<string|int, mixed> $queryConfig[, string $pad = '' ]) : string
Parameters
- $queryConfig : array<string|int, mixed>
- $pad : string = ''
Return values
stringgetQuerySingle()
Get single query
public
getQuerySingle(array<string|int, mixed> $conf, bool $first) : string
Parameters
- $conf : array<string|int, mixed>
- $first : bool
Return values
stringgetSelectQuery()
Get select query
public
getSelectQuery([string $qString = '' ]) : string
Parameters
- $qString : string = ''
Return values
stringgetSubscript()
Get subscript
public
getSubscript(array<string|int, mixed> $arr) : array<string|int, mixed>
Parameters
- $arr : array<string|int, mixed>
Return values
array<string|int, mixed>getTreeList()
Recursively fetch all descendants of a given page
public
getTreeList(int $id, int $depth[, int $begin = 0 ][, string $permClause = '' ]) : string
Parameters
- $id : int
-
uid of the page
- $depth : int
- $begin : int = 0
- $permClause : string = ''
Return values
string —comma separated list of descendant pages
getUserDefQuery()
Get user definition query
public
getUserDefQuery(array<string|int, mixed> $qcArr, bool $first) : mixed
Parameters
- $qcArr : array<string|int, mixed>
- $first : bool
init()
Init function
public
init(string $name, string $table[, string $fieldList = '' ][, array<string|int, mixed> $settings = [] ]) : mixed
Parameters
- $name : string
-
The name
- $table : string
-
The table name
- $fieldList : string = ''
-
The field list
- $settings : array<string|int, mixed> = []
-
Module settings like checkboxes in the interface
initUserDef()
Init user definition
public
initUserDef() : mixed
makeFieldList()
Make a list of fields for current table
public
makeFieldList() : string
Return values
string —Separated list of fields
makeOptionList()
Make option list
public
makeOptionList(string $fieldName, array<string|int, mixed> $conf, string $table) : string
Parameters
- $fieldName : string
- $conf : array<string|int, mixed>
- $table : string
Return values
stringmakeSelectorTable()
Make selector table
public
makeSelectorTable(array<string|int, mixed> $modSettings[, string $enableList = 'table,fields,query,group,order,limit' ]) : string
Parameters
- $modSettings : array<string|int, mixed>
- $enableList : string = 'table,fields,query,group,order,limit'
Return values
stringmkCompSelect()
Make comparison select
public
mkCompSelect(string $name, string $comparison, int $neg) : string
Parameters
- $name : string
- $comparison : string
- $neg : int
Return values
stringmkFieldToInputSelect()
Make field to input select
public
mkFieldToInputSelect(string $name, string $fieldName) : string
Parameters
- $name : string
- $fieldName : string
Return values
stringmkOperatorSelect()
Make operator select
public
mkOperatorSelect(string $name, string $op, bool $draw, bool $submit) : string
Parameters
- $name : string
- $op : string
- $draw : bool
- $submit : bool
Return values
stringmkTableSelect()
Make table select
public
mkTableSelect(string $name, string $cur) : string
Parameters
- $name : string
- $cur : string
Return values
stringmkTypeSelect()
Make type select
public
mkTypeSelect(string $name, string $fieldName[, string $prepend = 'FIELD_' ]) : string
Parameters
- $name : string
- $fieldName : string
- $prepend : string = 'FIELD_'
Return values
stringprintCodeArray()
Print code array
public
printCodeArray(array<string|int, mixed> $codeArr[, int $recursionLevel = 0 ]) : string
Parameters
- $codeArr : array<string|int, mixed>
- $recursionLevel : int = 0
Return values
stringprocesData()
Process data
public
procesData([array<string|int, mixed> $qC = [] ]) : mixed
Parameters
- $qC : array<string|int, mixed> = []
-
Query config
setAndCleanUpExternalLists()
Set and clean up external lists
public
setAndCleanUpExternalLists(string $name, string $list[, string $force = '' ]) : mixed
Parameters
- $name : string
-
The name
- $list : string
-
The list
- $force : string = ''
setFormName()
Sets the current name of the input form.
public
setFormName(string $formName) : mixed
Parameters
- $formName : string
-
The name of the form.
updateIcon()
Update icon
public
updateIcon() : string
Return values
stringuserDef()
User definition
public
userDef(string $fieldPrefix, array<string|int, mixed> $conf, string $fieldName, string $fieldType) : string
Parameters
- $fieldPrefix : string
- $conf : array<string|int, mixed>
- $fieldName : string
- $fieldType : string
Return values
stringuserDefCleanUp()
User definition clean up
public
userDefCleanUp(array<string|int, mixed> $queryConfig) : array<string|int, mixed>
Parameters
- $queryConfig : array<string|int, mixed>
Return values
array<string|int, mixed>verifyComparison()
Verify comparison
public
verifyComparison(string $comparison, int $neg) : int
Parameters
- $comparison : string
- $neg : int
Return values
intverifyType()
Verify type
public
verifyType(string $fieldName) : string
Parameters
- $fieldName : string
Return values
stringconvertIso8601DatetimeStringToUnixTimestamp()
Convert ISO-8601 timestamp (string) into unix timestamp (int)
protected
convertIso8601DatetimeStringToUnixTimestamp(array<string|int, mixed> $conf) : array<string|int, mixed>
Parameters
- $conf : array<string|int, mixed>
Return values
array<string|int, mixed>getBackendUserAuthentication()
protected
getBackendUserAuthentication() : BackendUserAuthentication
Return values
BackendUserAuthenticationgetDateTimePickerField()
protected
getDateTimePickerField(string $name, string $timestamp, string $type) : string
Parameters
- $name : string
-
the field name
- $timestamp : string
-
ISO-8601 timestamp
- $type : string
-
[datetime, date, time, timesec, year]
Return values
stringgetLanguageService()
protected
getLanguageService() : LanguageService
Return values
LanguageServiceisDateOfIso8601Format()
Checks if the given value is of the ISO 8601 format.
protected
isDateOfIso8601Format(mixed $date) : bool
Parameters
- $date : mixed
Return values
boolmakeComparisonSelector()
protected
makeComparisonSelector(string $subscript, string $fieldName, array<string|int, mixed> $conf) : string
Parameters
- $subscript : string
- $fieldName : string
- $conf : array<string|int, mixed>