WIKINDX API trunk

SEARCHCOMMON
in package

Common functions used by QSEARCH and ASEARCH but also by, for example, INSERTCITATION and the soundExplorer plugin

The gateway is getIds(). Thus, the function of this class is to return resource ids that match the words in a complex search phrase.

If the search is from neither ASEARCH, QSEARCH, nor INSERTCITATION, then $fields and $phrase must be populated. $unions can be added to with further SELECT statements.

If the search is advanced search, arrays such as $this->parsePhrase->ands are multidimensionsal. Otherwise, they are single dimension arrays.

Table of Contents

Properties

$cte  : mixed
array
$db  : mixed
object
$metadata  : mixed
object
$notExceptsFound  : mixed
bool
$parsePhrase  : mixed
object
$stmt  : mixed
object
$ua  : mixed
object

Methods

abstractUnion()  : string
Create union for the abstract field
addedByIdUnion()  : void
Create union for the addedBy field ids
addToCte()  : void
For advsearch, add Select and Comparison SQL statements to CTE array
aFieldSql()  : string
create the unions for advanced search using various types of field other than Word
attachmentUnion()  : string
Create union for searching attachments
categoryIdUnion()  : void
Create union for the category field ids
checkNonExcepts()  : void
Check the entire asearch input for any Button1 which is AND or OR.
checkWordFirst()  : void
Check if a word search is the first field. If not set active flags to TRUE so that the first word field's Button1 is not treated as an AND
collectionIdUnion()  : void
Create union for the collection field ids
createComparisonCondition()  : mixed
Format comparisons for SQL conditions
creatorIdUnion()  : void
Create union for the creator field ids
creatorUnion()  : string
Create union for the creator field
customLUnion()  : string
Create union for the customL field
customSUnion()  : string
Create union for the customS field
editedByIdUnion()  : void
Create union for the publication year field
keywordIdUnion()  : void
Create union for the resource keyword field ids
keywordUnion()  : string
Create union for the keyword field
languageUnion()  : string
Create union for the language field
maturityIndexUnion()  : void
Create union for the maturity index field ids
metadataUnion()  : string
Create union for the metadata field
metaKeywordIdUnion()  : void
Create union for the metadata keyword field ids
noteUnion()  : string
Create union for the note field
parseInput()  : mixed
parse the search input
publicationYearUnion()  : void
Create union for the publication year field ids
publisherIdUnion()  : void
Create union for the publisher field ids
qFieldSql()  : string
create the unions for quick search
resetAsearchArrays()  : void
Reset the arrays in asearch word parsing
subcategoryIdUnion()  : void
Create union for the subcategory field ids
tagIdUnion()  : void
Create union for the import tag field ids
titleUnion()  : string
Create union for the title field
typeUnion()  : void
Create union for the resource type field ids
useBibQs()  : string
Select statement for a user bibliography if browsing one during insert citation
userTagIdUnion()  : void
Create union for the userTag field ids
userTagUnion()  : string
Create union for the userTag field

Properties

$notExceptsFound

bool

private mixed $notExceptsFound = \FALSE

Methods

abstractUnion()

Create union for the abstract field

private abstractUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

addedByIdUnion()

Create union for the addedBy field ids

private addedByIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

addToCte()

For advsearch, add Select and Comparison SQL statements to CTE array

private addToCte(array<string|int, mixed> $input, string $sql[, bool $not = FALSE ]) : void
Parameters
$input : array<string|int, mixed>
$sql : string
$not : bool = FALSE

= FALSE

aFieldSql()

create the unions for advanced search using various types of field other than Word

private aFieldSql(string $field[, string $search = '' ][, string $searchFT = '' ][, bool $apos = FALSE ][, array<string|int, mixed> $input = [] ]) : string
Parameters
$field : string
$search : string = ''

= ''

$searchFT : string = ''

= ''

$apos : bool = FALSE

= FALSE

$input : array<string|int, mixed> = []

= []

Return values
string

attachmentUnion()

Create union for searching attachments

private attachmentUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

categoryIdUnion()

Create union for the category field ids

private categoryIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

checkNonExcepts()

Check the entire asearch input for any Button1 which is AND or OR.

private checkNonExcepts() : void

When compiling non-word cte statements, we cannot have a final cte array which only has EXCEPT statements. If there are no AND or OR Button1s, we must convert any potential EXCEPT cte to INTERSECT with negative condition.

Note that comparison fields have no NOT value for Button1

checkWordFirst()

Check if a word search is the first field. If not set active flags to TRUE so that the first word field's Button1 is not treated as an AND

private checkWordFirst() : void

collectionIdUnion()

Create union for the collection field ids

private collectionIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

createComparisonCondition()

Format comparisons for SQL conditions

private createComparisonCondition(string $field, string $key, mixed $Value1[, mixed $Value2 = '' ]) : mixed
Parameters
$field : string
$key : string
$Value1 : mixed
$Value2 : mixed = ''

= ''

creatorIdUnion()

Create union for the creator field ids

private creatorIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

creatorUnion()

Create union for the creator field

private creatorUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

customLUnion()

Create union for the customL field

private customLUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

customSUnion()

Create union for the customS field

private customSUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

editedByIdUnion()

Create union for the publication year field

private editedByIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

keywordIdUnion()

Create union for the resource keyword field ids

private keywordIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

keywordUnion()

Create union for the keyword field

private keywordUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

languageUnion()

Create union for the language field

private languageUnion(array<string|int, mixed> $input) : string
Parameters
$input : array<string|int, mixed>
Return values
string

maturityIndexUnion()

Create union for the maturity index field ids

private maturityIndexUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

metadataUnion()

Create union for the metadata field

private metadataUnion(string $search[, bool $apos = FALSE ][, string $type = '' ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

$type : string = ''

Optional 'q', 'p', 'm'

Return values
string

metaKeywordIdUnion()

Create union for the metadata keyword field ids

private metaKeywordIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

noteUnion()

Create union for the note field

private noteUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

parseInput()

parse the search input

private parseInput() : mixed

publicationYearUnion()

Create union for the publication year field ids

private publicationYearUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

publisherIdUnion()

Create union for the publisher field ids

private publisherIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

qFieldSql()

create the unions for quick search

private qFieldSql(string $search, string $searchFT[, bool $apos = FALSE ]) : string

$this->qsearchFields is the default set of fields to search for QUICKSEARCH and INSERTCITATION. Other functions, such as the soundexplorer plugin, can overwrite this public array.

Parameters
$search : string
$searchFT : string
$apos : bool = FALSE

= FALSE

Return values
string

resetAsearchArrays()

Reset the arrays in asearch word parsing

private resetAsearchArrays() : void

subcategoryIdUnion()

Create union for the subcategory field ids

private subcategoryIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

tagIdUnion()

Create union for the import tag field ids

private tagIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

titleUnion()

Create union for the title field

private titleUnion(string $search[, bool $apos = FALSE ][, bool $withSubtitle = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

$withSubtitle : bool = FALSE

= FALSE

Return values
string

typeUnion()

Create union for the resource type field ids

private typeUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

useBibQs()

Select statement for a user bibliography if browsing one during insert citation

private useBibQs() : string
Return values
string

userTagIdUnion()

Create union for the userTag field ids

private userTagIdUnion(array<string|int, mixed> $input) : void
Parameters
$input : array<string|int, mixed>

userTagUnion()

Create union for the userTag field

private userTagUnion(string $search[, bool $apos = FALSE ]) : string
Parameters
$search : string
$apos : bool = FALSE

= FALSE

Return values
string

        
On this page

Search results