vBulletin v6.0.4

vB_Api_Phrase extends vB_Api
in package

vB_Api_Phrase

Tags
access

public

Table of Contents

Methods

__serialize()  : array<string|int, mixed>
__sleep()  : array<string|int, mixed>
__unserialize()  : void
__wakeup()  : void
callNamed()  : The
Call the given api function by name with a named arguments list.
checkApiState()  : mixed
This method checks whether the API method is enabled.
clearCache()  : mixed
Clears all previously loaded API objects.
delete()  : array<string|int, mixed>
Delete a phrase
fetch()  : array<string|int, mixed>
Fetch phrases
fetch_phrasetypes()  : array<string|int, mixed>
Fetches an array of existing phrase types from the database
fetchByGroup()  : array<string|int, mixed>
Fetch phrases by group
fetchEmailPhrases()  : array<string|int, mixed>
Returns message and subject for an email.
fetchOrphans()  : array<string|int, mixed>
Fetch orphan phrases
fetchPrivateMessagePhrases()  : array<string|int, mixed>
Returns message and subject for sending a private message (would also work for notifications if needed)
findUpdates()  : array<string|int, mixed>
Find custom phrases that need updating
getApiClassName()  : mixed
getBasePhrases()  : array<string|int, mixed>
Fetch raw phrases from the master language
getLanguageid()  : array<string|int, mixed>
Fetch the "best" languageid in the order of current session's languageid, the default languageid from datastore, or the master languageid (-1).
getPhrases()  : array<string|int, mixed>
Fetch raw phrases
instance()  : vB_Api
Returns an instance of the API object which translates exceptions to an array Use this method for API clients.
instanceInternal()  : vB_Api
Returns an instance of the API object which doesn't handle exceptions This should only be used in other API objects, not for clients of the API
map_vb4_input_to_vb5()  : string
Returns vb5 api method name.
map_vb5_errors_to_vb4()  : mixed
Alters the error array in any way necessary to interface correctly with vb4.
map_vb5_output_to_vb4()  : mixed
Alters the output array in any way necessary to interface correctly with vb4.
processOrphans()  : void
Process orphan phrases
renderPhrases()  : array<string|int, mixed>
Returns rendered phrases from phrase strings and/or data
renderPhrasesNoShortcode()  : array<string|int, mixed>
Returns rendered phrases from phrase strings and/or data
replace()  : void
Find and replace phrases in languages
replaceShortcodesInString()  : string
Replaces {shortcodes} in a string
save()  : standard
Add a new phrase or update an existing phrase
search()  : array<string|int, mixed>
Search phrases

Methods

__serialize()

public __serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

__sleep()

public __sleep() : array<string|int, mixed>
Return values
array<string|int, mixed>

__unserialize()

public __unserialize(array<string|int, mixed> $serialized) : void
Parameters
$serialized : array<string|int, mixed>

callNamed()

Call the given api function by name with a named arguments list.

public callNamed() : The

Used primarily to translate REST requests into API calls.

Return values
The

return of the method or an error if the method doesn't exist, or is static, a constructor or destructor, or otherwise shouldn't be callable as and API method. It is also an error if the value of a paramater is not provided and that parameter doesn't have a default value.

checkApiState()

This method checks whether the API method is enabled.

public checkApiState(mixed $method) : mixed

For extensions check make sure $controller property is already set.

Parameters
$method : mixed

clearCache()

Clears all previously loaded API objects.

public static clearCache() : mixed

Intended for use in tests where the loading pattern can cause issues with objects that cache thier own data.

delete()

Delete a phrase

public delete(int $phraseid) : array<string|int, mixed>
Parameters
$phraseid : int

Pharse ID to be deleted

Return values
array<string|int, mixed>

-- the record for the phrase to be deleted.

fetch()

Fetch phrases

public fetch(array<string|int, mixed> $phrases[, int $languageid = NULL ]) : array<string|int, mixed>
Parameters
$phrases : array<string|int, mixed>

An array of phrase ID to be fetched

$languageid : int = NULL

Language ID. If not set, it will use current session's languageid, if passed a 0, use the current user/forum default language.

Tags
deprecated

-- use renderPhrases or getPhrases depending on if you

Return values
array<string|int, mixed>

-- phraseid => phrase value

fetch_phrasetypes()

Fetches an array of existing phrase types from the database

public fetch_phrasetypes([mixed $doUcFirst = false ]) : array<string|int, mixed>
Parameters
$doUcFirst : mixed = false
Return values
array<string|int, mixed>

fetchByGroup()

Fetch phrases by group

public fetchByGroup(mixed $groups[, int $languageid = NULL ]) : array<string|int, mixed>
Parameters
$groups : mixed
$languageid : int = NULL

Language ID. If not set, it will use current session's languageid

Return values
array<string|int, mixed>

Phrase' texts

fetchEmailPhrases()

Returns message and subject for an email.

public fetchEmailPhrases(string $email_phrase[, array<string|int, mixed> $email_vars = [] ][, array<string|int, mixed> $emailsub_vars = [] ][, int $languageid = 0 ][, string $emailsub_phrase = '' ]) : array<string|int, mixed>

This does NOT insert the {shortcode} substitutions, that is done in the mail send() function where we know the recipient's username, etc.

Parameters
$email_phrase : string

Name of email phrase to fetch

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

Variables for the email message phrase

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

Variables for the email subject phrase

$languageid : int = 0

Language ID from which to pull the phrase (see fetch_phrase $languageid) note that 0 means forum default language while null means the language for the current user. The former is the better default for this function because we rarely send email to the current user. However we should really be passing that in consistantly.

$emailsub_phrase : string = ''

If not empty, select the subject phrase with the given name

Return values
array<string|int, mixed>

fetchOrphans()

Fetch orphan phrases

public fetchOrphans() : array<string|int, mixed>
Return values
array<string|int, mixed>

Orphan phrases

fetchPrivateMessagePhrases()

Returns message and subject for sending a private message (would also work for notifications if needed)

public fetchPrivateMessagePhrases(int $userid, string $email_phrase[, array<string|int, mixed> $email_vars = [] ][, array<string|int, mixed> $emailsub_vars = [] ][, int $languageid = 0 ][, string $emailsub_phrase = '' ]) : array<string|int, mixed>

This inserts the {shortcode} substitutions.

This is intended to be a replacement for fetchEmailPhrases() and should be used in its place when the phrases are going to be used for a notification or private message sent within vBulletin. fetchEmailPhrases() should be used when sending an actual email. The function signature is the same with the exception of $userid as the first parameter, done this way since it is not optional.

Parameters
$userid : int

User ID of the recipient of the message.

$email_phrase : string

Name of email phrase to fetch

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

Variables for the email message phrase

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

Variables for the email subject phrase

$languageid : int = 0

Language ID from which to pull the phrase (see fetch_phrase $languageid) note that 0 means forum default language while null means the language for the current user. The former is the better default for this function because we rarely send email to the current user. However we should really be passing that in consistantly.

$emailsub_phrase : string = ''

If not empty, select the subject phrase with the given name

Return values
array<string|int, mixed>

findUpdates()

Find custom phrases that need updating

public findUpdates() : array<string|int, mixed>
Return values
array<string|int, mixed>

Updated phrases

getApiClassName()

public static getApiClassName(mixed $controller) : mixed
Parameters
$controller : mixed

getBasePhrases()

Fetch raw phrases from the master language

public getBasePhrases(array<string|int, mixed>|string $phrases) : array<string|int, mixed>

This will pull the phrases from the either the custom phrases or master language even if a translation is available in the user's language. It is mostly intended for fetching phrase values for editing purposes. It's not generally suited for direct display other than for editing of the phrase itself

Parameters
$phrases : array<string|int, mixed>|string

An array of phraseids to be fetched, a string will be treatd as an array of one phraseid

Return values
array<string|int, mixed>

-- 'phrases' -- [phraseid => phrase value]

getLanguageid()

Fetch the "best" languageid in the order of current session's languageid, the default languageid from datastore, or the master languageid (-1).

public getLanguageid([bool $getCharset = false ]) : array<string|int, mixed>

This is the languageid that's used by fetch().

Parameters
$getCharset : bool = false

(Optional) true to also return charset of current languageid. Default false.

Return values
array<string|int, mixed>

'languageid' => languageid used for current session's phrases

getPhrases()

Fetch raw phrases

public getPhrases(array<string|int, mixed> $phrases[, int $languageid = null ]) : array<string|int, mixed>

Note that these are not suitable for display to the user as is since many phrases have placeholders and this will not substitute them. It is available in situations where the client expects to render the phrases itself (particularly in situations where the phrase can be cached and reused client side).

Parameters
$phrases : array<string|int, mixed>

An array of phrase ID to be fetched

$languageid : int = null

Language ID. If not set, it will use current session's languageid, if passed a 0, use the current user/forum default language.

Return values
array<string|int, mixed>

-- 'phrases' -- [phraseid => phrase value]

instance()

Returns an instance of the API object which translates exceptions to an array Use this method for API clients.

public static instance(string $controller[, bool $refresh_cache = false ]) : vB_Api
Parameters
$controller : string

-- name of the API controller to load

$refresh_cache : bool = false

-- true if we want to force the cache to update with a new api object primarily intended for testing

Return values
vB_Api

instanceInternal()

Returns an instance of the API object which doesn't handle exceptions This should only be used in other API objects, not for clients of the API

public static instanceInternal(string $controller[, bool $refresh_cache = false ]) : vB_Api
Parameters
$controller : string

-- name of the API controller to load

$refresh_cache : bool = false

-- true if we want to force the cache to update with a new api object primarily intended for testing

Return values
vB_Api

map_vb4_input_to_vb5()

Returns vb5 api method name.

public static map_vb4_input_to_vb5(string $method, array<string|int, mixed> &$request) : string

May alter request array.

Parameters
$method : string

-- vb4 method name

$request : array<string|int, mixed>

-- $_REQUEST array for this api request

Return values
string

map_vb5_errors_to_vb4()

Alters the error array in any way necessary to interface correctly with vb4.

public static map_vb5_errors_to_vb4(string $method, array<string|int, mixed> &$data) : mixed
Parameters
$method : string

-- vb4 method name

$data : array<string|int, mixed>

-- error array from vb5

map_vb5_output_to_vb4()

Alters the output array in any way necessary to interface correctly with vb4.

public static map_vb5_output_to_vb4(string $method, array<string|int, mixed> &$data) : mixed
Parameters
$method : string

-- vb4 method name

$data : array<string|int, mixed>

-- output array from vb5

processOrphans()

Process orphan phrases

public processOrphans(array<string|int, mixed> $del, array<string|int, mixed> $keep) : void
Parameters
$del : array<string|int, mixed>

Orphan phrases to be deleted. In format ['varname@fieldname'] will also accept url encoded ['varname%40fieldname']

$keep : array<string|int, mixed>

Orphan phrases to be kept -- array of phraseids.

renderPhrases()

Returns rendered phrases from phrase strings and/or data

public renderPhrases(mixed $phrases[, mixed $languageid = null ]) : array<string|int, mixed>
Parameters
$phrases : mixed
$languageid : mixed = null
Return values
array<string|int, mixed>

'phrases' => ['key' => rendered phrase]

renderPhrasesNoShortcode()

Returns rendered phrases from phrase strings and/or data

public renderPhrasesNoShortcode(mixed $phrases[, mixed $languageid = null ]) : array<string|int, mixed>

In some circumstances, primarily email, we need to defer shortcode replacement because we need to handle things for a user other than the current logged in user (many of the shortcodes are user specific). This allows us to do that.

Parameters
$phrases : mixed
$languageid : mixed = null
Return values
array<string|int, mixed>

'phrases' => ['key' => rendered phrase]

replace()

Find and replace phrases in languages

public replace(array<string|int, mixed> $replace, string $searchstring, string $replacestring, int $languageid) : void
Parameters
$replace : array<string|int, mixed>

A list of phrase ID to be replaced

$searchstring : string

Search string

$replacestring : string

Replace string

$languageid : int

Language ID

replaceShortcodesInString()

Replaces {shortcodes} in a string

public replaceShortcodesInString(mixed $string) : string

The phrase API might not be the best place for this function, since it just replaces shortcodes in an arbitrary string. But these shortcodes are mostly associated with phrases, so it makes the most sense right now. It also simplifies things, as we can reuse the doShortcodeReplacements function.

Parameters
$string : mixed
Return values
string

The string with the {shortcodes} replaced with their corresponding values.

save()

Add a new phrase or update an existing phrase

public save(string $fieldname, string $varname, array<string|int, mixed> $data) : standard
Parameters
$fieldname : string

New Phrase Type for adding, old Phrase Type for editing

$varname : string

New Varname for adding, old Varname for editing

$data : array<string|int, mixed>

Phrase data to be added or updated 'text' => Phrase text array. 'oldvarname' => Old varname for editing only 'oldfieldname' => Old fieldname for editing only 't' => 'ismaster' => 'product' => Product ID of the phrase

Return values
standard

success array

Search phrases

public search(array<string|int, mixed> $criteria) : array<string|int, mixed>
Parameters
$criteria : array<string|int, mixed>

Criteria to search phrases. It may have the following items: 'searchstring' => Search for Text 'searchwhere' => Search in: 0 - Phrase Text Only, 1 - Phrase Variable Name Only, 2 - Phrase Text and Phrase Variable Name 'casesensitive' => Case-Sensitive 1 - Yes, 0 - No 'exactmatch' => Exact Match 1 - Yes, 0 - No 'languageid' => Search in Language. The ID of the language 'phrasetype' => Phrase Type. Phrase group IDs to search in. 'transonly' => Search Translated Phrases Only 1 - Yes, 0 - No 'product' => Product ID to search in.

Return values
array<string|int, mixed>

Phrases


        
On this page

Search results