wikindx
Table of Contents
Packages
Classes
- API
- API hooks
- IDEASCOMMON
- IDEASCOMMON class
- EXPORTCOMMON
- EXPORT COMMON class
- FILETOTEXT
- Convert files of various types to text ready for searching.
- FileManager
- FileManager
- FileServer
- FileServer
- Location
- Location
- EncodeExplorer
- EncodeExplorer
- HIGHLIGHT
- HIGHLIGHT class.
- PASSWORD
- PASSWORD class.
Functions
- loadJavascript() : void
- Load the ajax javascript and the user javascript(s) into the HTML page output.
- jActionForm() : string
- Create and load the HTML form element insert for the AJAX action and function.
- jActionIcon() : string
- Create and load the IMG element insert for the AJAX action and function. Works with core/libs/LOADICONS.php.
- encode_jArray() : string
- Convert $jsonArray to JSON string and format any array elements referencing javascript functions.
- decode_jString() : mixed
- Convert JSON-formatted $jsonString to an array or object.
- _json_error() : void
- echo JSON error or return if none.
- getBibData() : array<string|int, mixed>
- Get data from citation sentences and return an array of citation data and an array of resource data ready for producing a bibliography from.
- getItemArray() : array<string|int, mixed>
- Create an array of bibliographic data matching the template fields
- addCreators() : void
- Add creators
- findSubsequentFootnoteTemplates() : void
- Find examples of ibid, idem, and opCit footnote templates.
- mapTemplate() : array<string|int, mixed>
- Map a template to the raw values and produce a basic bibliographic/footnote entry
- invertFormat() : string
- Invert the format of a title where necessary.
- mapSpecialTemplate() : string
- Map a special template (no partial, creator fields etc.—e.g., runningTimeTemplate) to the raw values and produce a string
- checkMultiplePunctuation() : array<string|int, mixed>
- Make sure we don't have multiple punctuation characters after a field —NOT CURRENTLY USED (see cleanItems())
- addLinks() : string
- Add link items such as URL and DOI
- addLinksFt() : string
- Find any links in footnotes and make active if required
- addDateStage1() : array<string|int, mixed>
- Add date: stage 1
- addDateStage2() : string
- Add date: stage 2
- formatDate() : string
- formatDay() : array<string|int, mixed>
- Format the day part of a date
- addRunningTime() : string
- Add and format running time (films, TV etc.)
- formatPages() : array<string|int, mixed>
- Add and format pages
- addOtherItems() : array<string|int, mixed>
- Find other items in various resource arrays for adding to the $items array
- setBookYears() : void
- For WIKINDX, if type is book, book_chapter or book article and there exists both 'year1' and 'year2' in $resource (entered as publication year and reprint year respectively), then switch these around as 'year1' is entered in the style template as 'originalPublicationYear' and 'year2' should be 'publicationYear'.
- cleanItems() : array<string|int, mixed>
- Clean up the $item elements, deal with ordinals, and flatten to final string.
- checkUltimate() : array<string|int, mixed>
- Check if the ultimate value should have its first characterf removed (double punctuation)
- editorSwitch() : bool
- Set any author/editor re-ordering for book and book_article type.
- formatCreators() : void
- Format creator name lists (authors, editors, etc.)
- numCreatorManage() : array<string|int, mixed>
- Keep only some elements in array if we've exceeded set thresholds and create an etAl string if necessary.
- rewriteCreatorStrings() : array<string|int, mixed>
- Rewrite creator strings
- addCustom() : array<string|int, mixed>
- Add custom fields.
- formatRunningTime() : string
- Format running time for audiovisual bibliography items
- findAmbiguousYears() : array<string|int, mixed>
- Add year fields.
- addEdition() : array<string|int, mixed>
- Add any edition field
- formatEdition() : mixed
- Format edition (might not be numeric)
- getOrdinalExtensionAlignment() : array<string|int, mixed>
- checkPartial() : array<string|int, mixed>
- Check that the first field of $template exists in $item and has a value.
- checkFallBackFields() : array<string|int, mixed>
- When using a fallback template, ensure the fields are valid for that resource type
- setCreatorRepeat() : array<string|int, mixed>
- Check against repeat creator options and amend $items if required If this is footnotes, then $newItems is also ordered correctly.
- setCreatorRepeatEndnotes() : array<string|int, mixed>
- Check against repeat creator options and amend $items if required If this is footnotes, then $newItems is also ordered correctly.
- mapTemplateCreatorRepeatString() : string
- Basic map template for creator repeat string
- settings() : mixed
- Deal with various settings, setting, getting, incrementing, decrementing etc.
- getNameString() : string
- Get the nameString variable
- checkInitials() : string
- Handle initials.
- hyphenatedInitials() : string
- Deal with hyphenated firstnames as initials
- addCreatorDelimiters() : void
- Add delimiters to creators
- formatMultiplePages() : string
- Format multiple pages.
- titleCapitalization() : string
- Do title capitalization
- setEtAl() : string
- Set et al. for multiple creators
- findAlternates() : array<string|int, mixed>
- Find alternate fields dependent on previous or following fields and deal with accordingly.
- formatTitle() : string
- Format a resource title
- formatShortTitle() : string
- Format a resource shorTitle
- mapDependencies() : array<string|int, mixed>
- Deal with __DEPENDENT_ON_PREVIOUS_FIELD__ for pre and post dependent on previous field's existence and __DEPENDENT_ON_NEXT_FIELD__ for pre and post dependent on the next field's existence
- mapTemplateIndependents() : void
- Map independent fields of templates.
- mapTemplatePlurals() : array<string|int, mixed>
- Deal with singular/plural dependencies for fields such as pages and creators
- replaceWhitespace() : string|array<string|int, mixed>
- Replace ASCII whitespace with locale's whitespace character(s) from elements of an array Callback
- stripTemplateBackticks() : array<string|int, mixed>
- Strip backticks used in template
- ordinals() : string
- format ordinals
- findAmbiguity() : array<string|int, mixed>
- Identify ambiguous in-text citations and references.
- fillinPreview() : array<string|int, mixed>
- Provide empty array elements in resourceData from the adminstyle plugin's preview functions to conform with what BIBCITEGATEWAY expects.
- setJustify() : string|false
- Generic code for setting justification
- setLineSpace() : string|false
- Generic code for setting line height
- setIndentation() : string|false
- Generic code for setting indentation
- setFontSize() : string|false
- Generic code for setting font size
- exportSettings() : mixed
- Setters and getters for various export preferences (e.g. from word processor)
- doCitations() : array<string|int, mixed>
- Compile and add the citations to the text
- mapTemplate() : array<string|int, mixed>
- Map a template to the raw values and produce a basic citation for inserting into the text
- checkResourceTypeTemplate() : array<string|int, mixed>
- Some resource types have specific templates for in-text citations
- forceAmbiguousTemplate() : array<string|int, mixed>
- Force the use of ambiguous templates overriding other templates other than subsequentCreatorTemplate
- checkSubsequentCreatorTemplate() : array<string|int, mixed>
- Confirm (or not) that a subsequentCreatorTemplate designation is correct.
- citationPosition() : array<string|int, mixed>
- Find required position of citation in sentence. Not all requests are possible so drop through three levels . . . Be careful! 0 => "Unchanged" 1 => "After previous creator name(s)" 2 => "After previous quotation" 3 => "Before end of sentence" 4 => "After end of sentence" 5 => "Before next soft punctuation" 6 => "After next soft punctuation"
- checkConsecutiveCitations() : array<string|int, mixed>
- For multiple citations that are repositioned after soft or hard punctuation, mark them as consecutive citations.
- checkFollowCreatorTemplate() : array<string|int, mixed>
- Confirm (or not) that a followCreatorTemplate designation is correct (in-text citations).
- checkConsecutiveCreatorTemplate() : array<string|int, mixed>
- Confirm (or not) that a consecutiveCreatorTemplate designation is correct (in-text citations).
- formatCitation() : array<string|int, mixed>
- Format the citation
- hyperlinkCitation() : void
- Hyperlink the citation text
- citationWrapping() : array<string|int, mixed>
- Format citation with wrapping characters taking account of consecutive citation runs and their delimiting characters
- trueFootnoteWrapping() : string
- Wrapping of true footnotes in the text — only used for endInc, endSameId, and endSameIdOrdered
- formatSentence() : string
- Format the sentence with each citation obeying required positions.
- positionCitationInSentence() : array<string|int, mixed>
- Position citations in the sentence.
- doPageSplit() : void
- Check if a citation page should indeed be split and deal with dependencies.
- mapTemplateTidyYears() : array<string|int, mixed>
- Do some pre-processing of various year fields in the template
- formatPages() : void
- Format pages.
- formatCreators() : void
- Format creator name lists (authors, editors, etc.)
- replacementYears() : array<string|int, mixed>
- Add replacement years fields to templates
- copyYearAlternates() : void
- Copy any alternates relating to pre and post fields from the 'year' field to 'year1' and 'year2' fields
- parseIndependent() : void
- Parse independent strings of new templates
- compileTemplates() : array<string|int, mixed>
- Compile in-text and endote-style citation templates
- addAmbiguity() : void
- Add any ambiguity letter to year field. Only for in-text citations
- formatYear() : void
- Format years for citations
- secondYearField() : array<string|int, mixed>
- Conditionally add second year field for formatting citations (e.g. revision year, reprint year etc.)—depends on resource type
- splitIntoSentences() : arrray
- Split text into sentences.
- parseSentences() : array<string|int, mixed>
- Parse the sentences array for citations and make some initial decisions
- findSubsequentTemplates() : void
- Decide if the template for this citation should be the subsequentCreatorTemplate or similar for endnote styles.
- findFollowCreatorTemplate() : array<string|int, mixed>
- Find cases for followCreatorTemplate and mark position after creator's name.
- getCPattern() : array<string|int, mixed>
- Create the preg pattern for finding a citation's creator names in the same sentence.
- tidySentences() : array<string|int, mixed>
- end-of-sentence characters have been captured in $split's array elements. These must be appended to the previous part sentence.
- quotationCitationIndex() : array<string|int, mixed>
- Add the citation index to relevant quotations.
- tidySentencesEndQuote() : array<string|int, mixed>
- Ensure hard punctuation just before a quotation end marker is treated as marking the end of a complete sentence.
- findSpecialQuotes() : string
- Find special quotes such as dialogue and nested quotes—mark them and protect contents of nested quotes
- findDialogueQuotes() : string
- Find dialogue quotes and mark them.
- findNestedQuotes() : string
- Find and mark nested quotations.
- findQuotes() : string
- Mark quotations and protect their content (in case the content has hard punctuation).
- blockQuote1() : string
- Mark blockquotes.
- blockQuote2() : string
- Format blockquotes and ensure tailend bits are part of it.
- blockQuoteSort() : string
- Sort the blockQuote array by length so that the preg_replace works as expected
- findEllipses() : string
- Mark ellipses and protect their content (in case the content has hard punctuation).
- findTitle() : array<string|int, mixed>
- Find and note existence of title and short title in sentences
- tidyInputText() : string
- Preliminary tidying of input text.
- reconstituteBlockquote() : string
- Reconsitute blockquote
- reconstituteQuote() : string
- Reconsitute quotation
- reconstituteQuoteCallback() : string
- Reconsitute quotation callback
- reconstituteText() : string
- Return sentence temporary markup to original
- debugPrint() : void
- Print an array prettily for debugging purposes
- getType() : array<string|int, string>
- Return an array containing the most used grammar types of a locale
- compileQuotationMarkers() : array<string|int, mixed>
- Return array of quotation markers for each locale.
- compileHardPunctuation() : array<string|int, mixed>
- Return array of hard punctuation (END of sentence only) for each locale.
- compileSoftPunctuation() : array<string|int, mixed>
- Return array of soft punctuation (within sentence) for each locale.
- compileAllPunctuation() : array<string|int, mixed>
- Return array of all hard and soft punctuation.
- compileAbbreviations() : array<string|int, mixed>
- Return array of abbreviations for each locale.
- compileNumbers() : array<string|int, mixed>
- Return array of number abbreviations (ordinals and measurements) for each locale.
- compileEllipses() : array<string|int, mixed>
- Return array of ellipses for each locale.
- compilePossessives() : array<string|int, string>
- Return array of possessives for each locale.
- compileEtAl() : array<string|int, mixed>
- Return array of et al. possibilities for each locale.
- compileCreatorConjunctions() : array<string|int, mixed>
- Return array of creator conjunction possibilities for each locale.
- compileWordSpace() : array<string|int, mixed>
- Return array of word space characters for each locale.
- compileApostrophe() : array<string|int, mixed>
- Return array of apostophe for each locale (e.g., in English the "'" of "it's" (short for "it is")
- compileInitialPunctuation() : array<string|int, mixed>
- Return array of initial punctuation for each locale.
- compileNumberConjunctions() : array<string|int, mixed>
- Return array of number conjunctions for each locale.
- abbreviationsAppend() : array<string|int, mixed>
- Append common (Latin) bibliographic abbreviations
- readComponentsList() : array<string|int, mixed>
- Read and return the list of all components installed
- writeComponentsList() : void
- Write a list of components from an array
- refreshComponentsListCache() : void
- Refresh the components list if needed, or forced by the caller
- isBuiltinComponent() : bool
- Is a component builtin?
- checkComponentsList() : array<string|int, mixed>
- Return a structured list of installed components
- computeComponentVersion() : int
- Compute a component version number from the current date
- computeComponentSignature() : string
- Compute the hash signature of a component from its installed code
- createComponentMetadataFile() : void
- Create the component.json file of a component
- enableComponent() : bool
- Enable a component
- disableComponent() : bool
- Disable a component
- checkComponentIntegrity() : int
- Check the integrity of a component
- componentIntegrityErrorMessage() : string
- Return the message of an error code of the function checkComponentIntegrity()
- extractComponentPackage() : bool
- Extract a WIKINDX Component Package to a folder
- extractComponentPackageDefinition() : array<string|int, mixed>
- Extract the component.json file of a WIKINDX Component Package to an array
- listPluginComponents() : array<string|int, mixed>
- List all plugins enabled in WIKINDX_DIR_COMPONENT_PLUGINS with a sane configuration
- listStyleComponents() : array<string|int, mixed>
- List all styles enabled in WIKINDX_DIR_COMPONENT_STYLES with a sane configuration
- listTemplateComponents() : array<string|int, mixed>
- List all templates enabled in WIKINDX_DIR_COMPONENT_TEMPLATES with a sane configuration
- checkPluginVersionCompatibility() : bool
- Check version compatibility of a plugin
- loadStyleInfo() : associative
- Extract info entries from a JSON bibliographic style file and return an associative array of childnode's value of 'info' node.
- format() : string
- Format for HTML or RTF/plain?
- bbcode() : string
- Deal with BBCODE
- endnoteId() : string
- Format the endnote ID in the endnotes
- trueFootnoteId() : string
- Format the true footnote ID in the footnotes section
- newline() : string
- Return a newline character.
- setHeaders() : void
- Set download headers
- readfile_chunked() : bool
- Download file to user
- createFileName() : array<string|int, mixed>
- create a fileName for this file. If directory based on session ID does not exist, create it.
- fileAttachUploadMaxSize() : int
- Get attachment max upload size in bytes
- imageUploadMaxSize() : int
- Get image max upload size in bytes
- fileUploadMaxSize() : int
- Get file max upload size in bytes
- return_bytes() : int
- Convert some ini values to numerical values (to bytes)
- dirToArray() : array<string|int, mixed>
- Enumerate files and subdirectories of a directory except . and .. subdirectories
- dirInDirToArray() : array<string|int, mixed>
- Enumerate subdirectories of a directory except . and .. subdirectories
- fileInDirToArray() : array<string|int, mixed>
- Enumerate files of a directory except . and .. subdirectories
- recurse_AbsoluteDirToArray() : array<string|int, mixed>
- Enumerate recursively files and subdirectories of a directory except . and .. subdirectories
- recurse_fileInDirToArray() : array<string|int, mixed>
- Enumerate recursively files and subdirectories of a directory except . and .. subdirectories
- recurse_dir_copy() : void
- Copy recursively a folder
- recurse_rmdir() : void
- Remove recursively a folder
- rmfile() : void
- Remove a file
- fileUpload() : array<string|int, mixed>
- Return filename, hash, type and size of an uploaded file or an array of such information for each file uploaded
- rearrangeFilesArray() : array<string|int, mixed>
- Rearrange the $_FILES array for multiple file uploads
- fileStore() : bool
- Store uploaded file in given directory with given name
- listFiles() : array<string|int, mixed>
- list and HTML format all files for sessionID
- tidyFiles() : void
- tidy up the files directory by removing all files and folders older than WIKINDX_FILE_DELETE_SECONDS
- zip() : mixed
- Zip up an array of files. File is stored in files dir.
- read_json_file() : mixed
- Read a JSON file to a data structure
- write_json_file() : int
- Write a data structure to a JSON file
- formatSize() : string
- Format a file size in bytes to the greater multiple for display
- getMimeType() : string
- Return the mime-type of a file
- getExtension() : string
- Return the extension of a file in lowercase (without point)
- replaceFileExtension() : string
- Replace the extension of a file by an other
- removeFileExtension() : string
- Remove the extension of a file path (and its point)
- base64_encode_file() : void
- Encode a file with base64 as an other file
- base64_decode_file() : void
- Encode a file with base64 as an other file
- bin2hex_encode_file() : void
- Encode a file with bin2hex as an other file
- hash_path() : string
- Generates a hash of a file or directory at the given path with the specified algo.
- _inlineHtmlAttribute() : string
- Build a string for insertion of an HTML tag attribute.
- formHeader() : string
- print form header with hidden action field
- formHeaderVisibleAction() : string
- print form header with visible action field -- typically used for tinyMCE popups
- formHeaderName() : string
- print form header with hidden action field and name and id fields
- formEnd() : string
- end a form
- formMultiHeader() : string
- print form header with hidden action field for multi-part upload forms
- formSubmit() : string
- print form footer with submit field
- closePopup() : string
- print form footer with close popup button
- formSubmitButton() : string
- print form footer with submit button field
- formReset() : string
- print form reset button
- hidden() : string
- print hidden form input
- hiddenNoJSNoId() : string
- print hidden form input without JavaScript action
- radioButton() : string
- print radio button
- radioButtonGroup() : string
- Print a radio button group.
- checkbox() : string
- print checkbox
- selectYesNoBox() : string
- create special select box that only provides yes (1) and no (0) as options (values)
- selectFBox() : string
- create select boxes for HTML forms
- selectedBox() : string
- create select boxes for HTML forms
- selectFBoxValue() : string
- create select boxes for HTML forms
- selectedBoxValue() : string
- create select boxes for HTML forms
- selectFBoxValueMultiple() : string
- create select boxes for HTML forms
- selectedBoxValueMultiple() : string
- create select boxes for HTML forms
- passwordInput() : string
- password input type
- honeypotInput() : string
- A honeypot field made with text input
- textInput() : string
- text input type
- colorInput() : string
- color input type
- textareaInput() : string
- textarea input type
- textareaInputmceNoEditor() : string
- textarea input type without MCE editor
- textareaReadonly() : string
- textarea readonly
- fileUpload() : string
- upload box
- fileUploadMultiple() : string
- upload box for multiple files
- dateInput() : string
- date input type
- label() : string
- Label Form element
- filterHTML() : string
- Filter HTML in fields destined for the search_ tables
- filterHTMLLinks() : string
- Filter HTML links for LISTCOMMON output
- escape() : mixed
- Escape strings inserted in HTML
- escapeHTMLTemp() : mixed
- Temporarily escape HTML entities
- _inlineHtmlAttribute() : string
- Build a string for insertion of an HTML tag attribute.
- h() : string
- <Hx> heading element
- div() : string
- <DIV> element
- divScrollable() : string
- Scrollable <DIV> element
- iframe() : string
- <IFRAME> element
- p() : string
- <P> element
- pBrowse() : string
- <P> element
- pre() : string
- <PRE> element
- ul() : string
- <UL> element
- ol() : string
- <OL> element
- li() : string
- <LI> element
- hr() : string
- <HR> element
- mark() : string
- <mark> element
- object() : string
- <OBJECT> element For display attachment previews
- span() : string
- <SPAN> element
- color() : string
- <SPAN color> element
- strong() : string
- <STRONG> element (Semantic equivalent of <B>)
- em() : string
- <EM> element (Semantic equivalent of <I>)
- u() : string
- <U> element
- img() : string
- <IMG> element
- anchor() : string
- <A> element used as internal anchor
- a() : string
- <A> element used as hyperlink
- aBrowse() : string
- <A> element used as hyperlink
- tableStart() : string
- Start a <TABLE> tag
- tableEnd() : string
- Close a <TABLE> tag
- tableCaption() : string
- provide a table <caption>
- tbodyStart() : string
- Provide a <tbody> tag
- tbodyEnd() : string
- Provide a </tbody> tag
- theadStart() : string
- Provde a <thead> tag
- theadEnd() : string
- Provide a </thead> tag
- tfootStart() : string
- Provide a <tfoot> tag
- tfootEnd() : string
- Provide a </tfoot> tag
- trStart() : string
- Provide a <tr> tag
- trEnd() : string
- Provide a </tr> tag
- tdStart() : string
- Provide a <td> tag without closing it or encapsulating data
- tdEnd() : string
- Provide a </td> tag
- td() : string
- Provide a <td>...</td> tag
- thStart() : string
- Provide a <th> tag without closing it or encapsulating data
- thEnd() : string
- Provide a </th> tag
- th() : string
- Provide a <th>...</th> tag
- cssInlineExternal() : string
- Insert a call to an external CSS file
- jsInline() : string
- Inlining JavaScript code
- jsInlineExternal() : string
- Insert a call to an external javascript file
- successToast() : string
- Format a text as a HTML success toast message (temporary info)
- errorToast() : string
- Format a text as a HTML error toast message (temporary info)
- nlToHtml() : string
- replace newlines and carriage returns with appropriate HTML code.
- htmlToNl() : mixed
- replace HTML newlines and carriage returns in a string or array with appropriate ANSI code.
- removeNl() : string
- remove all newlines.
- stripHtml() : mixed
- Strip HTML from string or array
- clearSortField() : string
- Strip HTML from string
- get_core_message() : string
- Translate a message from a domain
- get_message() : string
- Translate a message from a domain
- translate_message() : string
- Translate a message from a domain
- dateFormatFromString() : string
- Format dates and times for localization in numeric short format
- dateFormatFromTimeStamp() : string
- Format dates and times for localization in numeric short format
- codeISO639a1toName() : string
- Return the name of a language defined by its locale code or its ISO 639-1 (alpha-2) code.
- set_locales() : void
- Set the default locale of Intl library with the user's preferred locale
- load_locales() : array<string|int, mixed>
- Load the translation catalogs of the user's preferred language.
- determine_locale() : string
- Determine the user's preferred language.
- determine_locale_priority_stack() : array<string|int, string>
- Determine the user's preferred language.
- getAllLocales() : array<string|int, string>
- Return a selected list of all locales recognised by Intl and usable for translation and formatting
- localetoBCP47() : string
- Return the BCP 47 code that matches the code of a locale.
- getTranslatableLocales() : array<string|int, string>
- Get a list of translatable locales sorted by locale name
- searchLanguageCode() : string
- Return the language code matching a language name
- sort() : bool
- Sort an array according to the current Intl locale in ascending order
- asort() : bool
- Sort an array according to the current Intl locale in ascending order and maintain index association
- ksort() : bool
- Sort an array according to the current Intl locale in ascending order and maintain index association
- rsort() : bool
- Sort an array according to the current Intl locale in descending order
- arsort() : bool
- Sort an array according to the current Intl locale in descending order and maintain index association
- krsort() : bool
- Sort an array according to the current Intl locale in descending order and maintain index association
- messageTranslatorNeeded() : string
- Return a message if the project need translation contribution for the current locale
- getPagingParams() : array<string|int, mixed>
- Get the paging start and total
- getNum() : string
- Get information on the number or characters being used for alphabetical and dictionary paging
- setLinks() : array<string|int, mixed>
- Get links for alphabetical and dictionary paging
- getZoomSlices() : void
- Get zooming paging slices
- calculateZoomSlices() : mixed
- Calculate the zoom slices
- getZoomLinks() : array<string|int, mixed>
- Get the zoom links
- zoomToTop() : string
- Set zoom top link link
- zoomUpOneLevel() : string
- Set zoom up one level link
- storeZoomData() : void
- Store the zoom session
- getRootLink() : mixed
- Get the root link for the paging link
- linksInfo() : string
- Format display information string
- getUserBib() : array<string|int, mixed>
- Check for user bibliographies
- getBib() : mixed
- Get details about the bibliography being used
- getData() : array<string|int, mixed>
- get data from database
- grabCollection() : void
- Grab collection title
- grabPublisher() : void
- Grab publisher
- grabNames() : void
- grabNames
- webFormat() : string
- web_article, URL and accessed date
- year2Format() : string
- format YYYY/MM/DD of conference dates etc
- year1Format() : string
- format YYYY/MM/DD of publication
- timeFormat() : string
- format running time for films
- grabNoteAbstract() : void
- grabNoteAbstract
- grabKeywords() : void
- grabKeywords
- tidyOutput() : array<string|int, mixed>
- Tidy up the output for plain text
- header() : string
- Set some defaults and create the RTF opening tag
- footer() : string
- Create the RTF closing tag
- footnotes() : mixed
- Set RTF headers regarding footnotes/endnotes
- citation() : mixed
- Citation stuff The options for $citeStyle are: 'inText' In-text citations (needs bibliography appended) 'ftInc' Footnotes: the footnotes order increments from 1 (needs bibliography appended) 'endInc' Endnotes: the endnotes order increments from 1 'endSameId' Endnotes using the same ID for the same resource: the endnotes order increments from 1 'endSameIdOrdered' Endnotes using the same ID for the same resource: the endnotes order is set in the bibliography settings
- documentSettings() : mixed
- Deal with document defaults. This function has various roles depending on the value of $method Must be called before traverseDOM()
- cleanHtml() : string
- Clean up HTML before parsing and do some initial conversion
- specialCharsToRTF() : string
- Convert special characters.
- cleanBlockquotes() : string
- TinyMCE always puts p tags within blockquote—remove them!
- fonts() : mixed
- Deal with fonts. This function has various roles depending on the value of $method
- colours() : mixed
- Deal with colours. This function has various roles depending on the value of $method
- lists() : mixed
- Deal with lists. This function has various roles depending on the value of $method
- listToRTF() : string
- Convert lists to RTF (deals with nested lists too and recognizes unordered or ordered)
- newListTableItem() : string
- Create new listtable item
- textDecoration() : mixed
- text-decoration styling
- fontWeight() : string
- Convert font-weight
- fontSize() : string
- Convert font size to RTF
- traverseDOM() : string
- Traverse the DOM and produce RTF code
- nodeAttributes() : mixed
- Convert attributes
- tables() : mixed
- Deal with tables and their elements. This function has various roles depending on the value of $method
- setCellEdgeDefaults() : array<string|int, mixed>
- Set cell edge defaults in the table matrix.
- tableCellToRTF() : array<string|int, mixed>
- Convert table cell to RTF cell property string
- inheritParentBorders() : array<string|int, mixed>
- Transfer the parent's border properties to a spanned child
- getCellBorderParams() : array<string|int, mixed>
- Get cell border parameters
- updateCellEdges() : array<string|int, mixed>
- Update cell edge in the table matrix for one cell. i.e. border has been set for this table cell
- cellBordersToString() : string
- Create a string of cell border properties from an array
- calculateTableMatrix() : array<string|int, mixed>
- We need to set up a table matrix counting number of rows and number of their children so we can deal with various properties.
- getCellWidth() : string
- Get cell width
- startCellToRTF() : array<string|int, mixed>
- Start the process of converting a td or th element
- utf8_2_rtfansicpg1252() : string
- UTF-8 to ANSI Windows 1252 strings for RTF only
- domImageToRtfImagePlaceholders() : string
- Replace HTML image src attribut by a placeholder pointing to a cached file on disk
- domNodeAttributes2Array() : array<string|int, string>
- Convert attributes of a DOMNode to an array of attributes
- arrayMonthAndSeasonNames() : array<string|int, string>
- Return an array of months and season names
- monthAndSeasonName() : string
- Return a month or season name
- cardinalToOrdinal() : string
- Make an ordinal from a cardinal. Default is English
- cardinalToOrdinalWord() : string
- Convert ordinal to word
- cardinalToOrdinalWordLatin() : string
- Convert ordinal to word in Latin
- cardinalToGreek() : string
- convert cardinal (Arabic) to Greek numerals
- cardinalToRoman() : string
- convert cardinal (Arabic) to Roman numerals
- getUuid() : string
- Get UUID from database
- store() : bool
- Store/merge data.
- exists() : bool
- Check a row exists
- fetch() : array<string|int, mixed>|false
- Fetch data array
- fetchOne() : mixed
- Fetch one array element
- delete() : void
- Delete row
- deleteKeys() : bool
- Delete keys from the row data array
- build_query() : string
- Generate URL-encoded query string according to RFC 3986
- escape() : string
- Escape a component of a URL according to RFC 3986
- reduceUrl() : string
- Reduce the size of long URL to keep web browser display tidy
- getCurrentProtocol() : string
- Return the protocol requested by the HTTP client
- getVhost() : string
- Return the vHost name (Virtual Hostname)
- URL_exists() : bool
- Check that an internet resource exists
- html_numeric_entity_decode() : string
- Convert numeric HTML entities to their corresponding characters
- mb_ucfirst() : string
- A unicode aware replacement for ucfirst()
- mb_explode() : array<string|int, mixed>
- Simulate explode() for multibytes strings (as documented for PHP 7.0)
- mb_strrev() : string
- Simulate strrev() for multibytes strings
- mb_substr_replace() : string
- Simulate substr_replace() for multibytes strings
- mb_trim() : string
- Multi-byte safely strip white-spaces (or other characters) from the beginning and end of a string.
- mb_ltrim() : string
- Multi-byte safely strip white-spaces (or other characters) from the beginning of a string.
- mb_rtrim() : string
- Multi-byte safely strip white-spaces (or other characters) from the end of a string.
- listCoreMandatoryPHPExtensions() : array<string|int, string>
- Return an array of mandatory PHP extensions used by the WIKINDX core
- listCoreOptionalPHPExtensions() : array<string|int, string>
- Return an array of optional PHP extensions used by the WIKINDX core
- OSName() : string
- Return the normalized name of the current os
- matchPrefix() : bool
- Check if a prefix match against a string
- matchSuffix() : bool
- Check if a suffix match against a string
- curl_download_file_http() : bool
- Download a file from an url with HTTP
- uuid() : string
- Return a (pseudo) unique string of variable length using random_bytes().
- createDataFolders() : void
- Create default data folders used by the application
- checkFileSystemPerms() : mixed
- Check the permissions of various folders and files which must be writable
- arrayCombinations() : void
- Generate an array of all possible combinations of array values From https://stackoverflow.com/questions/10834393/php-how-to-get-all-possible-combinations-of-1d-array with minor adaptation ($space)
- splitDate() : array<string|int, mixed>
- Take input from HTML FORM <input type=date> and split into separate fields.
- balanceBraces() : string
- Balance braces after removing noSort in resource input/edit of title or for bibTeX input
- sumBraces() : int
- Balance braces after removing noSort or for bibTeX input — return result of sum of open - close braces
- noSortPattern() : string
- Create a preg pattern for checking presence of a WIKINDX_NO_SORT value at the beginning of a string.
- writeUserPassword() : void
- Write a hashed version of a user password in users table
- verifyUserPassword() : bool
- Verify that a password matches a password hash of a user
- array_value_select() : mixed
- Return the corresponding value of an array key or a default value
- createHelpTopicLink() : string
- Create a popup link for a Help Topic on the website
- canIResumeExecution() : bool
- Can I resume execution?
- command_exists() : bool
- Does an unix command exist?
- insertExportImages() : void
- Insert cached images inside exported files, and delete them
- reduceLongText() : string
- Reduce the size of long text (in select boxes usually) to keep web browser display tidy.
- computeBibtexKeyAuthorYear() : string
- Generate a BibTeX citation key for one resource with format 'AuthorYear'
- computeBibtexKeyAuthorID() : string
- Generate a BibTeX citation key for one resource with format 'Author.ResourceId'
- clearXmlString() : string
- Clear forbidden characters from an XML string
- clearDOI() : string
- Clear a DOI number
- validateDOI() : bool
- Validate a DOI number
- escape() : string
- Escape strings inserted in XML
- handleParams() : array<string|int, mixed>
- Handle the params array and act as a gateway to other functions
- initialiseParams() : array<string|int, mixed>
- Initialise params for each type of list.
- commonInit() : array<string|int, mixed>
- Initialise common list parameters
- qsearchInit() : array<string|int, mixed>
- Initialise qsearch parameters
- citeInit() : array<string|int, mixed>
- Initialise cite parameters
- basketInit() : array<string|int, mixed>
- Initialise basket parameters
- browseInit() : array<string|int, mixed>
- Initialise browse parameters
- ideasInit() : array<string|int, mixed>
- Initialise ideas parameters
- advsearchInit() : array<string|int, mixed>
- Initialise advsearch parameters
- advsearchForm() : array<string|int, mixed>
- Get some advsearch parameters for initialising the advsearch form
- setParams() : array<string|int, mixed>
- Set a parameter. Multiple parameters can be set.
- finalize() : mixed
- After completion of listing, save parameters
- loadStaticConfig() : array<string|int, mixed>
- Load configuration from config.php
- wkx_session_open() : bool
- The open callback works like a constructor in classes and is executed when the session is being opened.
- wkx_session_close() : bool
- The close callback works like a destructor in classes and is executed after the session write callback has been called.
- wkx_session_read() : string
- The read callback must always return a session encoded (serialized) string, or an empty string if there is no data to read.
- wkx_session_write() : bool
- The write callback is called when the session needs to be saved and closed.
- wkx_session_destroy() : bool
- This callback is executed when a session is destroyed with session_destroy() or with session_regenerate_id() with the destroy parameter set to true.
- wkx_session_gc() : bool
- The garbage collector callback is invoked internally by PHP periodically in order to purge old session data.
- needUpdate() : bool
- Check if the current WIKINDX data (db and files) need an upgrade
- existsTableVersion() : bool
- Check if 'version' table that stores the version number of the db schema exists
- getCoreInternalVersion() : float
- Return the internal version stored in the database of the core
- setCoreInternalVersion() : mixed
- Write an internal version in the database of a component or the core
- getComponentInternalVersion() : float
- Return the internal version of a component stored in the database
- setComponentInternalVersion() : mixed
- Write an internal version of a component in the database
- deleteComponentInternalVersion() : mixed
- Delete an internal version of a component from the database
- existsSuperadminAccount() : bool
- Check if 'users' table has not been filled with the superadmin account
- getConfigContactEmail() : float
- Return the configContactEmail depending on the software version
- logonCheckUpgradeDB() : bool
- Initial logon to the system when upgrading the database.
- wkx_error_handler() : bool
- Custom PHP errors handler
- wkx_error_log() : void
- Write a message to the application log
- wkx_clear_error_log() : mixed
- Remove expired error logs (14 days max) and limit their size to 25 MB by file
- buildUpgradePage() : mixed
Functions
loadJavascript()
Load the ajax javascript and the user javascript(s) into the HTML page output.
loadJavascript([mixed $scripts = [] ]) : void
Parameters
- $scripts : mixed = []
-
Either an array of .js scripts to load or a single string.
jActionForm()
Create and load the HTML form element insert for the AJAX action and function.
jActionForm(string $action, array<string|int, mixed> $jsonArray[, bool $return = FALSE ]) : string
Parameters
- $action : string
-
The javascript action such as 'onclick' etc.
- $jsonArray : array<string|int, mixed>
-
The parameter to be passed to gateway() as an array ready to be converted to JSON
- $return : bool = FALSE
-
If TRUE, generated javascript has a return from the gateway() function. Default is FALSE.
Return values
stringjActionIcon()
Create and load the IMG element insert for the AJAX action and function. Works with core/libs/LOADICONS.php.
jActionIcon(string $icon, string $action, array<string|int, mixed> $jsonArray[, bool $return = FALSE ]) : string
Parameters
- $icon : string
-
The icon to make an image of ('add', 'delete', 'view' etc.)
- $action : string
-
The javascript action such as 'onclick' etc.
- $jsonArray : array<string|int, mixed>
-
The parameter to be passed to gateway() as an array ready to be converted to JSON
- $return : bool = FALSE
-
If TRUE, generated javascript has a return from the gateway() function. Default is FALSE.
Return values
string —The image tag
encode_jArray()
Convert $jsonArray to JSON string and format any array elements referencing javascript functions.
encode_jArray(array<string|int, mixed> $jsonArray[, bool $quote = FALSE ]) : string
Parameters
- $jsonArray : array<string|int, mixed>
-
The unformatted JSON array
- $quote : bool = FALSE
-
No encoding of quotation marks (") if set to FALSE. Default is FALSE.
Return values
string —The JSON string
decode_jString()
Convert JSON-formatted $jsonString to an array or object.
decode_jString(string $jsonString) : mixed
Parameters
- $jsonString : string
-
The JSON string
Return values
mixed —Array or object
_json_error()
echo JSON error or return if none.
_json_error(string $type) : void
Parameters
- $type : string
getBibData()
Get data from citation sentences and return an array of citation data and an array of resource data ready for producing a bibliography from.
getBibData(mixed $sentences, array<string|int, mixed> $resIds, array<string|int, mixed> $flags) : array<string|int, mixed>
We only get here if the text from which $sentences is produced has citations (and thus resource data for the bibliography). NB elements of the $sentences array might not themselves have citations/resource data — discard these.
$resIds is an ordered list of resourceIds for in-text bibliographies and endnote-style citations using the same ID number where the style dictates the bibliography order is NOT to be used: in this case, we use the citation array's endnoteId. In other endnote styles, we order $resourceData by the citation array's endnoteId value.
Parameters
- $sentences : mixed
- $resIds : array<string|int, mixed>
- $flags : array<string|int, mixed>
Return values
array<string|int, mixed>getItemArray()
Create an array of bibliographic data matching the template fields
getItemArray(array<string|int, mixed> $localBibType, array<string|int, mixed> $bibStyle, mixed $creatorStyle, array<string|int, mixed> $template, array<string|int, mixed> $customTypes, array<string|int, mixed> $flags, string $styleLocalisation, string $type, array<string|int, mixed> $resourceData, array<string|int, mixed> $citationData, string $puncPattern, string $space) : array<string|int, mixed>
Parameters
- $localBibType : array<string|int, mixed>
- $bibStyle : array<string|int, mixed>
- $creatorStyle : mixed
- $template : array<string|int, mixed>
- $customTypes : array<string|int, mixed>
- $flags : array<string|int, mixed>
- $styleLocalisation : string
- $type : string
- $resourceData : array<string|int, mixed>
- $citationData : array<string|int, mixed>
- $puncPattern : string
- $space : string
Return values
array<string|int, mixed>addCreators()
Add creators
addCreators(array<string|int, mixed> $localBibType, array<string|int, mixed> $template, array<string|int, mixed> $resourceData, array<string|int, mixed> $creatorStyle, string $styleLocalisation, string $type, array<string|int, mixed> &$items, array<string|int, mixed> $flags) : void
Parameters
- $localBibType : array<string|int, mixed>
- $template : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $creatorStyle : array<string|int, mixed>
- $styleLocalisation : string
- $type : string
- $items : array<string|int, mixed>
- $flags : array<string|int, mixed>
findSubsequentFootnoteTemplates()
Find examples of ibid, idem, and opCit footnote templates.
findSubsequentFootnoteTemplates(array<string|int, mixed> &$footnotes, string $citeType) : void
If using endnotes that use the same ID for the same resource, set only to templateEndnote.
Parameters
- $footnotes : array<string|int, mixed>
- $citeType : string
mapTemplate()
Map a template to the raw values and produce a basic bibliographic/footnote entry
mapTemplate(array<string|int, mixed> $localBibType, array<string|int, mixed> $bibStyle, string $styleLocalisation, array<string|int, mixed> $template, string $allPuncPattern, array<string|int, mixed> $item, array<string|int, mixed> $flags) : array<string|int, mixed>
Parameters
- $localBibType : array<string|int, mixed>
- $bibStyle : array<string|int, mixed>
- $styleLocalisation : string
- $template : array<string|int, mixed>
- $allPuncPattern : string
- $item : array<string|int, mixed>
- $flags : array<string|int, mixed>
Return values
array<string|int, mixed>invertFormat()
Invert the format of a title where necessary.
invertFormat(string $title, string $pre, string $post) : string
e.g., if the original title has elements in italics and the title field of the template is enclosed in italics, remove the formatting of those original elements. The same for underline, bold, superscript, and subscript. The formatting comes from tinyMCE so we know what it is for each type.
Parameters
- $title : string
- $pre : string
- $post : string
Return values
stringmapSpecialTemplate()
Map a special template (no partial, creator fields etc.—e.g., runningTimeTemplate) to the raw values and produce a string
mapSpecialTemplate(array<string|int, mixed> $template, array<string|int, mixed> $item) : string
Parameters
- $template : array<string|int, mixed>
- $item : array<string|int, mixed>
Return values
stringcheckMultiplePunctuation()
Make sure we don't have multiple punctuation characters after a field —NOT CURRENTLY USED (see cleanItems())
checkMultiplePunctuation(string $itemString, string $lastItemString, string $puncPattern, string $pre, string $post) : array<string|int, mixed>
Parameters
- $itemString : string
- $lastItemString : string
- $puncPattern : string
- $pre : string
- $post : string
Return values
array<string|int, mixed>addLinks()
Add link items such as URL and DOI
addLinks(string|array<string|int, mixed>|null $item, array<string|int, mixed> $flags) : string
Parameters
- $item : string|array<string|int, mixed>|null
- $flags : array<string|int, mixed>
Return values
stringaddLinksFt()
Find any links in footnotes and make active if required
addLinksFt(string $item, array<string|int, mixed> $flags) : string
Parameters
- $item : string
- $flags : array<string|int, mixed>
Return values
stringaddDateStage1()
Add date: stage 1
addDateStage1(array<string|int, mixed> $localBibType, string $styleLocalisation, array<string|int, mixed> $bibStyle, array<string|int, mixed> $data, array<string|int, mixed> $items) : array<string|int, mixed>
For 'web_article', $startDay and $startMonth represent the publication date
Parameters
- $localBibType : array<string|int, mixed>
- $styleLocalisation : string
- $bibStyle : array<string|int, mixed>
- $data : array<string|int, mixed>
- $items : array<string|int, mixed>
Return values
array<string|int, mixed>addDateStage2()
Add date: stage 2
addDateStage2(array<string|int, mixed> $localBibType, string $styleLocalisation, array<string|int, mixed> $bibStyle, string|int $startDay, string|int $startMonth, string|int $endDay, string|int $endMonth) : string
Parameters
- $localBibType : array<string|int, mixed>
- $styleLocalisation : string
- $bibStyle : array<string|int, mixed>
- $startDay : string|int
- $startMonth : string|int
- $endDay : string|int
- $endMonth : string|int
Return values
stringformatDate()
formatDate(mixed $startDay, mixed $endDay, mixed $startMonth, mixed $endMonth, mixed $monthArray, mixed $bibStyle) : string
Parameters
- $startDay : mixed
- $endDay : mixed
- $startMonth : mixed
- $endMonth : mixed
- $monthArray : mixed
- $bibStyle : mixed
Return values
stringformatDay()
Format the day part of a date
formatDay(string|int $startDay, string|int $endDay, array<string|int, mixed> $bibStyle, string $styleLocalisation) : array<string|int, mixed>
Parameters
- $startDay : string|int
- $endDay : string|int
- $bibStyle : array<string|int, mixed>
- $styleLocalisation : string
Return values
array<string|int, mixed>addRunningTime()
Add and format running time (films, TV etc.)
addRunningTime(string $styleLocalisation, array<string|int, mixed> $bibStyle, array<string|int, mixed> $data) : string
Parameters
- $styleLocalisation : string
- $bibStyle : array<string|int, mixed>
- $data : array<string|int, mixed>
Return values
stringformatPages()
Add and format pages
formatPages(array<string|int, mixed> $data, array<string|int, mixed> $bibStyle, array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $bibStyle : array<string|int, mixed>
- $items : array<string|int, mixed>
Return values
array<string|int, mixed>addOtherItems()
Find other items in various resource arrays for adding to the $items array
addOtherItems(array<string|int, mixed> $localBibType, array<string|int, mixed> $resourceData, array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
- $localBibType : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $items : array<string|int, mixed>
Return values
array<string|int, mixed>setBookYears()
For WIKINDX, if type is book, book_chapter or book article and there exists both 'year1' and 'year2' in $resource (entered as publication year and reprint year respectively), then switch these around as 'year1' is entered in the style template as 'originalPublicationYear' and 'year2' should be 'publicationYear'.
setBookYears(array<string|int, mixed> &$resource, string $type) : void
Parameters
- $resource : array<string|int, mixed>
- $type : string
cleanItems()
Clean up the $item elements, deal with ordinals, and flatten to final string.
cleanItems(string $styleLocalisation, array<string|int, mixed> $itemArray, string $allPuncPattern, string $space, string $ultimate, array<string|int, mixed> $flags) : array<string|int, mixed>
Keep the print statements (commented out for production) as they are useful for debugging. Note that we use '·' to help show spaces either end of the string.
Parameters
- $styleLocalisation : string
- $itemArray : array<string|int, mixed>
- $allPuncPattern : string
- $space : string
- $ultimate : string
- $flags : array<string|int, mixed>
Return values
array<string|int, mixed>checkUltimate()
Check if the ultimate value should have its first characterf removed (double punctuation)
checkUltimate(array<string|int, mixed> $item, string $ultimate, array<string|int, mixed> $puncs) : array<string|int, mixed>
Parameters
- $item : array<string|int, mixed>
- $ultimate : string
- $puncs : array<string|int, mixed>
Return values
array<string|int, mixed>editorSwitch()
Set any author/editor re-ordering for book and book_article type.
editorSwitch(array<string|int, mixed> $bibStyle, array<string|int, mixed> &$template, array<string|int, mixed>|null &$creators, string $type) : bool
If required, we unset the 'authors' element in template, set resourcecreatorRole to 1, and copy the editorSwitch template to the 'authors' element so that the primary creator name formatting settings are used. Setting resourcecreatorRole to 1, we don't need to unset the 'editors' element in $template.
Parameters
- $bibStyle : array<string|int, mixed>
- $template : array<string|int, mixed>
- $creators : array<string|int, mixed>|null
- $type : string
Return values
boolformatCreators()
Format creator name lists (authors, editors, etc.)
formatCreators(array<string|int, mixed> $creators, string $nameType, array<string|int, mixed> $localBibType, array<string|int, mixed> $creatorStyle, string $styleLocalisation, array<string|int, mixed> $template, string $type, array<string|int, mixed> &$items, array<string|int, mixed> $flags) : void
Parameters
- $creators : array<string|int, mixed>
-
Multi-associative array of creator names e.g. this array might be of the primary authors:
array([0] => array(['surname'] => 'Grimshaw', ['firstname'] => Mark, ['initials'] => 'N', ['prefix'] => ), [1] => array(['surname'] => 'Witt', ['firstname'] => Jan, ['initials'] => , ['prefix'] => 'de'))
- $nameType : string
- $localBibType : array<string|int, mixed>
- $creatorStyle : array<string|int, mixed>
- $styleLocalisation : string
- $template : array<string|int, mixed>
- $type : string
- $items : array<string|int, mixed>
- $flags : array<string|int, mixed>
numCreatorManage()
Keep only some elements in array if we've exceeded set thresholds and create an etAl string if necessary.
numCreatorManage(array<string|int, mixed> $bibStyle, array<string|int, mixed> $cArray, string $localNameType, string $list, string $limit, string $moreThan, bool $italics, string $abbreviation, string $delimitTwo, string $delimitFirstBetween, string $delimitNextBetween, string $delimitLast) : array<string|int, mixed>
Produce the near-final creator string. Check if there are plural creators.
Parameters
- $bibStyle : array<string|int, mixed>
- $cArray : array<string|int, mixed>
- $localNameType : string
- $list : string
- $limit : string
- $moreThan : string
- $italics : bool
- $abbreviation : string
- $delimitTwo : string
- $delimitFirstBetween : string
- $delimitNextBetween : string
- $delimitLast : string
Return values
array<string|int, mixed>rewriteCreatorStrings()
Rewrite creator strings
rewriteCreatorStrings(array<string|int, mixed> $template, string $nameString, string $nameType, bool &$firstInList, bool &$rewriteCreatorBeforeDone) : array<string|int, mixed>
Parameters
- $template : array<string|int, mixed>
- $nameString : string
- $nameType : string
- $firstInList : bool
- $rewriteCreatorBeforeDone : bool
Return values
array<string|int, mixed>addCustom()
Add custom fields.
addCustom(array<string|int, mixed> $customTypes, array<string|int, mixed>|string $data, string $type, array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
- $customTypes : array<string|int, mixed>
- $data : array<string|int, mixed>|string
- $type : string
- $items : array<string|int, mixed>
Return values
array<string|int, mixed>formatRunningTime()
Format running time for audiovisual bibliography items
formatRunningTime(string $styleLocalisation, array<string|int, mixed> $bibStyle, mixed $hours, mixed $minutes, mixed $seconds, mixed $milliseconds) : string
Parameters
- $styleLocalisation : string
- $bibStyle : array<string|int, mixed>
- $hours : mixed
- $minutes : mixed
- $seconds : mixed
- $milliseconds : mixed
Return values
stringfindAmbiguousYears()
Add year fields.
findAmbiguousYears(array<string|int, mixed> $localBibType, array<string|int, mixed> $resourceData, array<string|int, mixed> $citationData, array<string|int, mixed> $bibStyle, array<string|int, mixed> $template, string $type, array<string|int, mixed> $items) : array<string|int, mixed>
Ambiguous entires are those with the same author(s) and same publication year(s). For in-text styles, we must deal with any ambiguity and place any letter picked up in CITE.php accordingly—ambiguous entires here are ONLY when the entries come from cited text. Append the letter to the main publication year except for certain types. a) For certain types, if the second year field follows immediately on from the first year field in the template, append the letter there. NB. This assumes the template provides some conjunction between the two fields so that the result might be: 2012–2021a or 2012/2021b b) If a) is not the case for these types, append the letter to the 'resourceyearYear1' field in the template as it must match the in-text citation. c) If there is no ambiguity or this is not an in-text style, return the years unchanged.
TODO: The use of 'ambiguousTemplate' in the citation means no letter is provided — perhaps this should be looked at at some later date so that the bibliographic entries are disambiguated . . .
Parameters
- $localBibType : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $citationData : array<string|int, mixed>
- $bibStyle : array<string|int, mixed>
- $template : array<string|int, mixed>
- $type : string
- $items : array<string|int, mixed>
Return values
array<string|int, mixed>addEdition()
Add any edition field
addEdition(array<string|int, mixed> $localBibType, array<string|int, mixed> $data, array<string|int, mixed> $bibStyle, string $styleLocalisation, string $type, array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
- $localBibType : array<string|int, mixed>
- $data : array<string|int, mixed>
- $bibStyle : array<string|int, mixed>
- $styleLocalisation : string
- $type : string
- $items : array<string|int, mixed>
Return values
array<string|int, mixed>formatEdition()
Format edition (might not be numeric)
formatEdition(mixed $edition, array<string|int, mixed> $bibStyle, string $styleLocalisation) : mixed
Parameters
- $edition : mixed
- $bibStyle : array<string|int, mixed>
- $styleLocalisation : string
getOrdinalExtensionAlignment()
getOrdinalExtensionAlignment(mixed $alignment) : array<string|int, mixed>
Parameters
- $alignment : mixed
Return values
array<string|int, mixed>checkPartial()
Check that the first field of $template exists in $item and has a value.
checkPartial(array<string|int, mixed> $template, array<string|int, mixed> $item, bool $esDone) : array<string|int, mixed>
If it does not, and $template has a partial template array, rearrange $template
Parameters
- $template : array<string|int, mixed>
- $item : array<string|int, mixed>
- $esDone : bool
Return values
array<string|int, mixed>checkFallBackFields()
When using a fallback template, ensure the fields are valid for that resource type
checkFallBackFields(object|null $styleMap, array<string|int, mixed> $template, string $fallbacks, string $type) : array<string|int, mixed>
Parameters
- $styleMap : object|null
- $template : array<string|int, mixed>
- $fallbacks : string
- $type : string
Return values
array<string|int, mixed>setCreatorRepeat()
Check against repeat creator options and amend $items if required If this is footnotes, then $newItems is also ordered correctly.
setCreatorRepeat(object $styleMap, array<string|int, mixed> $bibStyle, array<string|int, mixed> $items, array<string|int, mixed> $bibFootnoteIds, array<string|int, mixed>|bool $footnotes, array<string|int, mixed> $flags) : array<string|int, mixed>
Parameters
- $styleMap : object
- $bibStyle : array<string|int, mixed>
- $items : array<string|int, mixed>
- $bibFootnoteIds : array<string|int, mixed>
- $footnotes : array<string|int, mixed>|bool
- $flags : array<string|int, mixed>
Return values
array<string|int, mixed>setCreatorRepeatEndnotes()
Check against repeat creator options and amend $items if required If this is footnotes, then $newItems is also ordered correctly.
setCreatorRepeatEndnotes(object $styleMap, array<string|int, mixed> $bibStyle, array<string|int, mixed> $items, array<string|int, mixed> $footnotes, array<string|int, mixed> $flags) : array<string|int, mixed>
Parameters
- $styleMap : object
- $bibStyle : array<string|int, mixed>
- $items : array<string|int, mixed>
- $footnotes : array<string|int, mixed>
- $flags : array<string|int, mixed>
Return values
array<string|int, mixed>mapTemplateCreatorRepeatString()
Basic map template for creator repeat string
mapTemplateCreatorRepeatString(array<string|int, mixed> $cTemplate, string $string, string $output, bool $replaceFormatting) : string
Parameters
- $cTemplate : array<string|int, mixed>
- $string : string
- $output : string
- $replaceFormatting : bool
Return values
stringsettings()
Deal with various settings, setting, getting, incrementing, decrementing etc.
settings(string $method[, mixed $extra = FALSE ]) : mixed
This is a common location for this sort of thing.
Parameters
- $method : string
- $extra : mixed = FALSE
Tags
getNameString()
Get the nameString variable
getNameString(string $initialsStyle, string $firstNameInitial, string $nameStyle, string $uppercase, array<string|int, mixed> $style, array<string|int, mixed> $creator, string $localisation[, bool $citation = FALSE ][, array<string|int, mixed> $citationVars = [] ][, bool $ftUseSurname = FALSE ]) : string
Parameters
- $initialsStyle : string
- $firstNameInitial : string
- $nameStyle : string
- $uppercase : string
- $style : array<string|int, mixed>
- $creator : array<string|int, mixed>
- $localisation : string
- $citation : bool = FALSE
-
default = FALSE
- $citationVars : array<string|int, mixed> = []
-
default = []
- $ftUseSurname : bool = FALSE
-
default = FALSE
Return values
stringcheckInitials()
Handle initials.
checkInitials(array<string|int, mixed> &$creator, int $initialsStyle, bool $firstNameInitial, string $localisation) : string
Parameters
- $creator : array<string|int, mixed>
-
Associative array of creator name e.g.
array(['surname'] => 'Grimshaw', ['firstname'] => Mark, ['initials'] => 'M N G', ['prefix'] => ))
Initials must be space-delimited.
- $initialsStyle : int
- $firstNameInitial : bool
- $localisation : string
Tags
Return values
string —Formatted string of initials.
hyphenatedInitials()
Deal with hyphenated firstnames as initials
hyphenatedInitials(array<string|int, mixed> $hyphenated, int $initialsStyle) : string
'Jean-Pierre' should become 'J.-P.'
Parameters
- $hyphenated : array<string|int, mixed>
- $initialsStyle : int
Return values
stringaddCreatorDelimiters()
Add delimiters to creators
addCreatorDelimiters(array<string|int, mixed> $style, array<string|int, mixed> &$cArray, string $delimitTwo, string $delimitFirstBetween, string $delimitNextBetween, string $delimitLast) : void
Parameters
- $style : array<string|int, mixed>
- $cArray : array<string|int, mixed>
- $delimitTwo : string
- $delimitFirstBetween : string
- $delimitNextBetween : string
- $delimitLast : string
formatMultiplePages()
Format multiple pages.
formatMultiplePages(int $pageFormat, int|string $rangeDelimiter, string $start, string $end) : string
$this->style['pageFormat']: 0 == 132-9 1 == 132-39 2 == 132-139
Parameters
- $pageFormat : int
- $rangeDelimiter : int|string
- $start : string
-
Page start.
- $end : string
-
Page end.
Return values
stringtitleCapitalization()
Do title capitalization
titleCapitalization(string|null $pString, string $delimitLeft, string $delimitRight[, int $CondCapitalization = 1 ]) : string
Parameters
- $pString : string|null
-
Raw title string.
- $delimitLeft : string
- $delimitRight : string
- $CondCapitalization : int = 1
-
Default is 1.
Return values
string —Formatted title string.
setEtAl()
Set et al. for multiple creators
setEtAl(array<string|int, mixed> &$creators, int $limit, bool $italics, string $abbreviation) : string
Parameters
- $creators : array<string|int, mixed>
- $limit : int
- $italics : bool
- $abbreviation : string
Return values
stringfindAlternates()
Find alternate fields dependent on previous or following fields and deal with accordingly.
findAlternates(array<string|int, mixed> $template, array<string|int, mixed> $item) : array<string|int, mixed>
Parameters
- $template : array<string|int, mixed>
- $item : array<string|int, mixed>
Return values
array<string|int, mixed>formatTitle()
Format a resource title
formatTitle(array<string|int, mixed> $resource, array<string|int, mixed> $styleCitation, string $puncPattern, string $space[, bool $trans = FALSE ]) : string
Parameters
- $resource : array<string|int, mixed>
- $styleCitation : array<string|int, mixed>
- $puncPattern : string
- $space : string
- $trans : bool = FALSE
-
Default FALSE
Return values
stringformatShortTitle()
Format a resource shorTitle
formatShortTitle(array<string|int, mixed> $resource, array<string|int, mixed> $styleCitation[, bool $trans = FALSE ][, bool $ftUseTitle = FALSE ]) : string
Parameters
- $resource : array<string|int, mixed>
- $styleCitation : array<string|int, mixed>
- $trans : bool = FALSE
-
Default FALSE
- $ftUseTitle : bool = FALSE
-
Default FALSE
Return values
stringmapDependencies()
Deal with __DEPENDENT_ON_PREVIOUS_FIELD__ for pre and post dependent on previous field's existence and __DEPENDENT_ON_NEXT_FIELD__ for pre and post dependent on the next field's existence
mapDependencies(array<string|int, mixed> $value, bool $previousFieldExists, mixed $nextFieldExists, string $pre, string $post) : array<string|int, mixed>
Parameters
- $value : array<string|int, mixed>
- $previousFieldExists : bool
- $nextFieldExists : mixed
- $pre : string
- $post : string
Return values
array<string|int, mixed>mapTemplateIndependents()
Map independent fields of templates.
mapTemplateIndependents(array<string|int, mixed> $independent, array<string|int, mixed> &$itemArray) : void
Check for independent characters. These (should) come in pairs.
Parameters
- $independent : array<string|int, mixed>
- $itemArray : array<string|int, mixed>
mapTemplatePlurals()
Deal with singular/plural dependencies for fields such as pages and creators
mapTemplatePlurals(array<string|int, mixed> $value, string $pre, string $post, mixed $plurals) : array<string|int, mixed>
Parameters
- $value : array<string|int, mixed>
- $pre : string
- $post : string
- $plurals : mixed
Return values
array<string|int, mixed>replaceWhitespace()
Replace ASCII whitespace with locale's whitespace character(s) from elements of an array Callback
replaceWhitespace(string|array<string|int, mixed> $input, string|array<string|int, mixed> $citeLocalisation) : string|array<string|int, mixed>
Parameters
- $input : string|array<string|int, mixed>
- $citeLocalisation : string|array<string|int, mixed>
Return values
string|array<string|int, mixed>stripTemplateBackticks()
Strip backticks used in template
stripTemplateBackticks(string $pre, mixed $post) : array<string|int, mixed>
Parameters
- $pre : string
- $post : mixed
Return values
array<string|int, mixed>ordinals()
format ordinals
ordinals(array<string|int, mixed> $matches, string $output) : string
Parameters
- $matches : array<string|int, mixed>
- $output : string
Return values
stringfindAmbiguity()
Identify ambiguous in-text citations and references.
findAmbiguity(array<string|int, mixed> $sentences, array<string|int, mixed> $resIds, int $ambiguousAction) : array<string|int, mixed>
An ambiguous citation is one reference that has the same creator(s) and publication year(s) as another. There are three options: Do nothing (use the original templates for the citation and reference) Add a letter after the year with the original citation template (in which case the bibliographic entry must also use the letter) Use the ambiguous template for the in-text citation and no letter for the reference.
The order of the reference in the bibliography provides the ordering of the letters. The $resIds array provides this order.
Parameters
- $sentences : array<string|int, mixed>
- $resIds : array<string|int, mixed>
- $ambiguousAction : int
-
(1 = letter, 2 = template)
Return values
array<string|int, mixed>fillinPreview()
Provide empty array elements in resourceData from the adminstyle plugin's preview functions to conform with what BIBCITEGATEWAY expects.
fillinPreview(array<string|int, mixed> $resourceData) : array<string|int, mixed>
Parameters
- $resourceData : array<string|int, mixed>
Return values
array<string|int, mixed>setJustify()
Generic code for setting justification
setJustify(string $input) : string|false
Parameters
- $input : string
Return values
string|falsesetLineSpace()
Generic code for setting line height
setLineSpace(string $input) : string|false
Parameters
- $input : string
Return values
string|falsesetIndentation()
Generic code for setting indentation
setIndentation(string $input[, mixed $bq = FALSE ]) : string|false
Parameters
- $input : string
- $bq : mixed = FALSE
Return values
string|falsesetFontSize()
Generic code for setting font size
setFontSize(string $input) : string|false
Parameters
- $input : string
Return values
string|falseexportSettings()
Setters and getters for various export preferences (e.g. from word processor)
exportSettings(string $method[, mixed $extra = FALSE ]) : mixed
Parameters
- $method : string
- $extra : mixed = FALSE
-
Default = FALSE
doCitations()
Compile and add the citations to the text
doCitations(array<string|int, mixed> $sentences, array<string|int, mixed> $orderedResIds, array<string|int, mixed> $styleInfo, array<string|int, mixed> $styleCitation, array<string|int, mixed> $templates, array<string|int, mixed> $replaceInTextCitationTemplates, array<string|int, mixed> $flags, string $hyperlinkBase) : array<string|int, mixed>
Parameters
- $sentences : array<string|int, mixed>
- $orderedResIds : array<string|int, mixed>
- $styleInfo : array<string|int, mixed>
- $styleCitation : array<string|int, mixed>
- $templates : array<string|int, mixed>
- $replaceInTextCitationTemplates : array<string|int, mixed>
- $flags : array<string|int, mixed>
- $hyperlinkBase : string
Return values
array<string|int, mixed>mapTemplate()
Map a template to the raw values and produce a basic citation for inserting into the text
mapTemplate(array<string|int, mixed> &$citation, int $cIndex, string $sentence, array<string|int, mixed> $templates, array<string|int, mixed> $styleCitation, string $citeLocalisation, array<string|int, mixed> $item) : array<string|int, mixed>
Parameters
- $citation : array<string|int, mixed>
- $cIndex : int
- $sentence : string
- $templates : array<string|int, mixed>
- $styleCitation : array<string|int, mixed>
- $citeLocalisation : string
- $item : array<string|int, mixed>
Return values
array<string|int, mixed>checkResourceTypeTemplate()
Some resource types have specific templates for in-text citations
checkResourceTypeTemplate(array<string|int, mixed> $citations, array<string|int, mixed> $replaceTemplates, array<string|int, mixed> $templates) : array<string|int, mixed>
Parameters
- $citations : array<string|int, mixed>
- $replaceTemplates : array<string|int, mixed>
- $templates : array<string|int, mixed>
Return values
array<string|int, mixed>forceAmbiguousTemplate()
Force the use of ambiguous templates overriding other templates other than subsequentCreatorTemplate
forceAmbiguousTemplate(array<string|int, mixed> $citations) : array<string|int, mixed>
Parameters
- $citations : array<string|int, mixed>
Return values
array<string|int, mixed>checkSubsequentCreatorTemplate()
Confirm (or not) that a subsequentCreatorTemplate designation is correct.
checkSubsequentCreatorTemplate(array<string|int, mixed> $styleCitation, mixed $sentence) : array<string|int, mixed>
$styleCitation['subsequentCreatorRange'] == 0 // Entire text $styleCitation['subsequentCreatorRange'] == 1 // Paragraph $styleCitation['subsequentCreatorRange'] == 2 // Section
Parameters
- $styleCitation : array<string|int, mixed>
- $sentence : mixed
Return values
array<string|int, mixed>citationPosition()
Find required position of citation in sentence. Not all requests are possible so drop through three levels . . . Be careful! 0 => "Unchanged" 1 => "After previous creator name(s)" 2 => "After previous quotation" 3 => "Before end of sentence" 4 => "After end of sentence" 5 => "Before next soft punctuation" 6 => "After next soft punctuation"
citationPosition(array<string|int, mixed> $styleCitation, string $citeLocalisation, array<string|int, mixed> $citations, string &$sentence) : array<string|int, mixed>
NB positions 0, 3 and 4 are final destinations that if provided, preclude all later options
Parameters
- $styleCitation : array<string|int, mixed>
- $citeLocalisation : string
- $citations : array<string|int, mixed>
- $sentence : string
Return values
array<string|int, mixed>checkConsecutiveCitations()
For multiple citations that are repositioned after soft or hard punctuation, mark them as consecutive citations.
checkConsecutiveCitations(array<string|int, mixed> $sentence, int $citationStyle) : array<string|int, mixed>
Parameters
- $sentence : array<string|int, mixed>
- $citationStyle : int
Return values
array<string|int, mixed>checkFollowCreatorTemplate()
Confirm (or not) that a followCreatorTemplate designation is correct (in-text citations).
checkFollowCreatorTemplate(array<string|int, mixed> $styleCitation, array<string|int, mixed> $citations) : array<string|int, mixed>
Parameters
- $styleCitation : array<string|int, mixed>
- $citations : array<string|int, mixed>
Return values
array<string|int, mixed>checkConsecutiveCreatorTemplate()
Confirm (or not) that a consecutiveCreatorTemplate designation is correct (in-text citations).
checkConsecutiveCreatorTemplate(array<string|int, mixed> $citations) : array<string|int, mixed>
Parameters
- $citations : array<string|int, mixed>
Return values
array<string|int, mixed>formatCitation()
Format the citation
formatCitation(array<string|int, mixed> $citation, int $cIndex, array<string|int, mixed> $styleCitation, mixed $itemArray, array<string|int, mixed> $flags, string $hyperlinkBase) : array<string|int, mixed>
Parameters
- $citation : array<string|int, mixed>
- $cIndex : int
- $styleCitation : array<string|int, mixed>
- $itemArray : mixed
- $flags : array<string|int, mixed>
- $hyperlinkBase : string
Return values
array<string|int, mixed>hyperlinkCitation()
Hyperlink the citation text
hyperlinkCitation(mixed &$citeText, int $id, string $hyperlinkBase) : void
Parameters
- $citeText : mixed
- $id : int
- $hyperlinkBase : string
citationWrapping()
Format citation with wrapping characters taking account of consecutive citation runs and their delimiting characters
citationWrapping(array<string|int, mixed> $styleCitation, array<string|int, mixed> $citation, string $citeText, string $pageSplit, string $output) : array<string|int, mixed>
Parameters
- $styleCitation : array<string|int, mixed>
- $citation : array<string|int, mixed>
- $citeText : string
- $pageSplit : string
- $output : string
Return values
array<string|int, mixed>trueFootnoteWrapping()
Wrapping of true footnotes in the text — only used for endInc, endSameId, and endSameIdOrdered
trueFootnoteWrapping(array<string|int, mixed> $styleCitation, array<string|int, mixed> $citation, string $citeText, array<string|int, mixed> $flags) : string
Parameters
- $styleCitation : array<string|int, mixed>
- $citation : array<string|int, mixed>
- $citeText : string
- $flags : array<string|int, mixed>
Return values
stringformatSentence()
Format the sentence with each citation obeying required positions.
formatSentence(array<string|int, mixed> $citation, int $cIndex, string $sentence, array<string|int, mixed> $styleCitation, string $citeLocalisation, mixed $citeText, bool $pageSplit, bool $isConsecutive, array<string|int, mixed> $flags) : string
Parameters
- $citation : array<string|int, mixed>
- $cIndex : int
- $sentence : string
- $styleCitation : array<string|int, mixed>
- $citeLocalisation : string
- $citeText : mixed
- $pageSplit : bool
- $isConsecutive : bool
- $flags : array<string|int, mixed>
Return values
stringpositionCitationInSentence()
Position citations in the sentence.
positionCitationInSentence(string $sentence, array<string|int, mixed> $citeTexts, array<string|int, mixed> $patterns, array<string|int, mixed> $hardPuncs, string $space) : array<string|int, mixed>
The array $hardPuncs contains bools. If TRUE, the $hardPunc pattern is part of the search pattern. This encodes whatever the hard punctuation was and thus might include concluding space characters. If we don't want a space before the citation, these space characters must be placed after the citation. The matching array element from $citeTexts must be an array. If the elements of this array are integers, they refer to elements of the callback's $matches array
Parameters
- $sentence : string
- $citeTexts : array<string|int, mixed>
- $patterns : array<string|int, mixed>
- $hardPuncs : array<string|int, mixed>
- $space : string
Return values
array<string|int, mixed>doPageSplit()
Check if a citation page should indeed be split and deal with dependencies.
doPageSplit(array<string|int, mixed> &$styleCitation, array<string|int, mixed> &$citation, string &$pre, string &$post) : void
Splitting only occurs if the cited creator's name(s) is in the sentence.
Deal with DEPENDENT_ON_PREVIOUS_FIELD for characters dependent on previous field's existence and DEPENDENT_ON_NEXT_FIELD for characters dependent on the next field's existence
Parameters
- $styleCitation : array<string|int, mixed>
- $citation : array<string|int, mixed>
- $pre : string
- $post : string
mapTemplateTidyYears()
Do some pre-processing of various year fields in the template
mapTemplateTidyYears(array<string|int, mixed> $template, array<string|int, mixed> $item) : array<string|int, mixed>
Parameters
- $template : array<string|int, mixed>
- $item : array<string|int, mixed>
Return values
array<string|int, mixed>formatPages()
Format pages.
formatPages(array<string|int, mixed> $styleCitation, string $pages, array<string|int, mixed> &$item[, bool $footnotes = FALSE ][, string $field = 'pages' ]) : void
If $footnotes is TRUE, these are pages for short footnotes
Parameters
- $styleCitation : array<string|int, mixed>
- $pages : string
- $item : array<string|int, mixed>
- $footnotes : bool = FALSE
-
Default FALSE
- $field : string = 'pages'
-
Default 'pages'
formatCreators()
Format creator name lists (authors, editors, etc.)
formatCreators(array<string|int, mixed> $creators, array<string|int, mixed> $styleCitation, string $citeLocalisation, array<string|int, mixed> &$item, array<string|int, mixed> $resIds, int $resId) : void
Parameters
- $creators : array<string|int, mixed>
-
Multi-associative array of creator names e.g. this array might be of the primary authors:
array([0] => array(['surname'] => 'Grimshaw', ['firstname'] => Mark, ['initials'] => 'N', ['prefix'] => ), [1] => array(['surname'] => 'Witt', ['firstname'] => Jan, ['initials'] => , ['prefix'] => 'de'))
- $styleCitation : array<string|int, mixed>
- $citeLocalisation : string
- $item : array<string|int, mixed>
- $resIds : array<string|int, mixed>
- $resId : int
replacementYears()
Add replacement years fields to templates
replacementYears(string $template, array<string|int, mixed> $style, STYLEMAP $styleMap) : array<string|int, mixed>
Parameters
- $template : string
- $style : array<string|int, mixed>
- $styleMap : STYLEMAP
Return values
array<string|int, mixed>copyYearAlternates()
Copy any alternates relating to pre and post fields from the 'year' field to 'year1' and 'year2' fields
copyYearAlternates(string $yearField, array<string|int, mixed> &$newTemplate) : void
Parameters
- $yearField : string
- $newTemplate : array<string|int, mixed>
parseIndependent()
Parse independent strings of new templates
parseIndependent(array<string|int, mixed> &$template) : void
Parameters
- $template : array<string|int, mixed>
compileTemplates()
Compile in-text and endote-style citation templates
compileTemplates(array<string|int, mixed> $template, array<string|int, mixed> $citationFields, array<string|int, mixed> $years[, bool $freeStanding = FALSE ]) : array<string|int, mixed>
Parameters
- $template : array<string|int, mixed>
- $citationFields : array<string|int, mixed>
- $years : array<string|int, mixed>
- $freeStanding : bool = FALSE
-
Default FALSE
Return values
array<string|int, mixed>addAmbiguity()
Add any ambiguity letter to year field. Only for in-text citations
addAmbiguity(array<string|int, mixed> $styleCitation, array<string|int, mixed> &$item, array<string|int, mixed> $citation) : void
Parameters
- $styleCitation : array<string|int, mixed>
- $item : array<string|int, mixed>
- $citation : array<string|int, mixed>
formatYear()
Format years for citations
formatYear(array<string|int, mixed> $styleCitation, array<string|int, mixed> &$item, array<string|int, mixed> $resource) : void
Parameters
- $styleCitation : array<string|int, mixed>
- $item : array<string|int, mixed>
- $resource : array<string|int, mixed>
secondYearField()
Conditionally add second year field for formatting citations (e.g. revision year, reprint year etc.)—depends on resource type
secondYearField(mixed $types, string|array<string|int, mixed> $citationYearsTemplate, array<string|int, mixed> $row) : array<string|int, mixed>
Parameters
- $types : mixed
- $citationYearsTemplate : string|array<string|int, mixed>
- $row : array<string|int, mixed>
Return values
array<string|int, mixed>splitIntoSentences()
Split text into sentences.
splitIntoSentences(string $citeLocalisation, string $text) : arrray
Must discount abbreviations ending in an end-of-sentence character and such characters deep within quotation marks
Parameters
- $citeLocalisation : string
- $text : string
Return values
arrray —Array of ordered sentences.
parseSentences()
Parse the sentences array for citations and make some initial decisions
parseSentences(string $citeLocalisation, array<string|int, mixed> $styleCitation, array<string|int, mixed> $input) : array<string|int, mixed>
Parameters
- $citeLocalisation : string
- $styleCitation : array<string|int, mixed>
- $input : array<string|int, mixed>
Return values
array<string|int, mixed>findSubsequentTemplates()
Decide if the template for this citation should be the subsequentCreatorTemplate or similar for endnote styles.
findSubsequentTemplates(array<string|int, mixed> $styleCitation, string $sentence, null &$templateField, array<string|int, mixed> $resIds, int $resId, int $resIdsIndex, string $currentPages, string $previousPages) : void
We don't have all information yet to make further decisions (e.g., creator's name).
Parameters
- $styleCitation : array<string|int, mixed>
- $sentence : string
- $templateField : null
- $resIds : array<string|int, mixed>
- $resId : int
- $resIdsIndex : int
- $currentPages : string
- $previousPages : string
findFollowCreatorTemplate()
Find cases for followCreatorTemplate and mark position after creator's name.
findFollowCreatorTemplate(string $citeLocalisation, array<string|int, mixed> $styleCitation, array<string|int, mixed> $sentenceArray, int $citationKey, array<string|int, mixed> $previousCPatterns) : array<string|int, mixed>
If an author has already been found by a previous citation in the sentence, do not mark the position for this citation. We check by comparing this $cPattern with previous ones in this sentence.
Parameters
- $citeLocalisation : string
- $styleCitation : array<string|int, mixed>
- $sentenceArray : array<string|int, mixed>
- $citationKey : int
- $previousCPatterns : array<string|int, mixed>
Return values
array<string|int, mixed>getCPattern()
Create the preg pattern for finding a citation's creator names in the same sentence.
getCPattern(array<string|int, mixed> $creators, string $citeLocalisation, string $cInitialPunc, string $spaceRaw, string $space) : array<string|int, mixed>
Parameters
- $creators : array<string|int, mixed>
- $citeLocalisation : string
- $cInitialPunc : string
- $spaceRaw : string
- $space : string
Return values
array<string|int, mixed> —[$cPattern, $puncTrim]
tidySentences()
end-of-sentence characters have been captured in $split's array elements. These must be appended to the previous part sentence.
tidySentences(string $citeLocalisation, array<string|int, mixed> $split, array<string|int, mixed> $puncs) : array<string|int, mixed>
Parameters
- $citeLocalisation : string
- $split : array<string|int, mixed>
- $puncs : array<string|int, mixed>
Return values
array<string|int, mixed>quotationCitationIndex()
Add the citation index to relevant quotations.
quotationCitationIndex(string $citeLocalisation, array<string|int, mixed> $sentences) : array<string|int, mixed>
Parameters
- $citeLocalisation : string
- $sentences : array<string|int, mixed>
Return values
array<string|int, mixed>tidySentencesEndQuote()
Ensure hard punctuation just before a quotation end marker is treated as marking the end of a complete sentence.
tidySentencesEndQuote(string $citeLocalisation, array<string|int, mixed> $sentences, array<string|int, mixed> $quotes, array<string|int, mixed> $puncs) : array<string|int, mixed>
Parameters
- $citeLocalisation : string
- $sentences : array<string|int, mixed>
- $quotes : array<string|int, mixed>
- $puncs : array<string|int, mixed>
Return values
array<string|int, mixed>findSpecialQuotes()
Find special quotes such as dialogue and nested quotes—mark them and protect contents of nested quotes
findSpecialQuotes(string $text, array<string|int, mixed> $quotes, array<string|int, mixed> $apostrophes, string $space) : string
Parameters
- $text : string
- $quotes : array<string|int, mixed>
- $apostrophes : array<string|int, mixed>
- $space : string
Return values
stringfindDialogueQuotes()
Find dialogue quotes and mark them.
findDialogueQuotes(mixed $para, string $qStart, string $qEnd, string $apos1, string $apos2) : string
First use the split paragraphs in attempt to find dialogue quotes (odd numbers of quotation marks in each paragraph indicate dialogue). Need to ensure we don't count quote characters that function as apostrophe or possessive. Need mark only the start and continuation of such a pattern leaving quote marks in between. The pattern might be:
Here begins "some dialogue." Mark said “Stéphane!"
// paragraph with odd number of marks. The last marks the start.“What?” said Stéphane. “Go away. . .
// paragraph with odd number of marks.“OK” said Mark.
// First subsequent paragraph with even number of marks.Could also be:
Here begins "some dialogue." Mark said “Stéphane!
// paragraph with odd number of marks. The last marks the start.“What?” said Stéphane. “Go away. . .
// paragraph with odd number of marks.“OK.”
// First subsequent paragraph with even number of marks. . . . and other variations . . .Parameters
- $para : mixed
- $qStart : string
- $qEnd : string
- $apos1 : string
- $apos2 : string
Return values
stringfindNestedQuotes()
Find and mark nested quotations.
findNestedQuotes(string $text, string $qStart, string $qEnd, string $quoteProtection, string $apos2, string $space) : string
Parameters
- $text : string
- $qStart : string
- $qEnd : string
- $quoteProtection : string
- $apos2 : string
- $space : string
Return values
stringfindQuotes()
Mark quotations and protect their content (in case the content has hard punctuation).
findQuotes(string $text, string $citeLocalisation, string $space) : string
We also find the number of qords in long quotations and mark the text as blockquote if required. If doing this, we also need to ensure that any punctuation immediately following is part of the blockquote plus any citation or footnote.
Parameters
- $text : string
- $citeLocalisation : string
- $space : string
Return values
stringblockQuote1()
Mark blockquotes.
blockQuote1(array<string|int, mixed> $matches) : string
This is only used when exporting a document (e.g., from the word processor)
Parameters
- $matches : array<string|int, mixed>
-
return string
Return values
stringblockQuote2()
Format blockquotes and ensure tailend bits are part of it.
blockQuote2(string $text, string $citeLocalisation, string $space) : string
This is only used when exporting a document (e.g., from the word processor) We use
because of the indent options available to the user
Parameters
- $text : string
- $citeLocalisation : string
- $space : string
-
return string
Return values
stringblockQuoteSort()
Sort the blockQuote array by length so that the preg_replace works as expected
blockQuoteSort(string $a, string $b) : string
Parameters
- $a : string
- $b : string
Return values
stringfindEllipses()
Mark ellipses and protect their content (in case the content has hard punctuation).
findEllipses(string $text, string $citeLocalisation, string $space) : string
Parameters
- $text : string
- $citeLocalisation : string
- $space : string
Return values
stringfindTitle()
Find and note existence of title and short title in sentences
findTitle(array<string|int, mixed> $sentences) : array<string|int, mixed>
Parameters
- $sentences : array<string|int, mixed>
Return values
array<string|int, mixed>tidyInputText()
Preliminary tidying of input text.
tidyInputText(string $text, string $citeLocalisation, string $space) : string
Text from TinyMce can be a complete mess . . . For example:
"[cite]201:101[/cite]. Here is an initial citation [cite]100:252-253[/cite] that has page numbers. Yet another quote from the same source with a different page number is: "Bløh, bløh, bløh"[cite]46:65-66[/cite].
Here's a new paragraph with a subsequent citation [cite]46:71[/cite]. And again [cite]46:99[/cite]. Here, [cite]101[/cite], is a work by one author who also, [cite]101[/cite], in the 44th. year, wrote this ambiguous tome stating: "yet more blah, blah, blah" [cite]100:133[/cite]. Again, a citation with multiple authors, a publication year, and a page number: "We were 'worked' like slaves" says [cite]111:41[/cite], and another with no creator [cite]99[/cite]. Try this: "A quotation. Here we go again. Third part of quotation ?" A "quotation . . . with ellipses !" So . . . here. . . . and....there... again… ? Finally. . . . it's working!
A web citation: [cite]357[/cite].
Another paragraph with a citation that has no creators[cite]1172[/cite]. "But I'll be back."
New paragraph.
I say "blah blah" [cite]515[/cite][cite]535[/cite] something.
A sentence with a citation [cite]515[/cite] and then another [cite]535[/cite] that follows.
Problems here include:
- No paragraph start at beginning of sentence (but there could be).
- Use of
for a new paragraph mixed with use of...
User input practices can vary. For example, variable number of spaces (or none) before the [cite] tag. These must be removed as the citation style dictates if there should be a space before citations or not.
Note that tinyMCE appears to do its own tidying up—not always successfully! For example, resource metadata that, in the editor's HTML view, looks like:
I say "blah blah"[cite]515[/cite][cite]535[/cite] something.
A sentence with a citation[cite]515[/cite] and then another[cite]535[/cite] that follows.
might be returned by tinyMCE as:I say "blah blah"[cite]515[/cite][cite]535[/cite] something.
A sentence with a citation[cite]515[/cite] and then another[cite]535[/cite] that follows.
There is a missing paragraph end at the end of the first sentence—this must be dealt with.The sentences and paragraphs need to be normalized before starting the citation parsing in such a way that the resultant text does not differ (too much) from the original but that the citation parsing can do its job. The above example should end up as:
"
[cite]201:101[/cite]. Here is an initial citation[cite]100:252-253[/cite] that has page numbers. Yet another quote from the same source with a different page number is: "Bløh, bløh, bløh"[cite]46:65-66[/cite].
Here's a new paragraph with a subsequent citation[cite]46:71[/cite]. And again[cite]46:99[/cite]. Here,[cite]101[/cite], is a work by one author who also,[cite]101[/cite], in the 44th. year, wrote this ambiguous tome stating: "yet more blah, blah, blah"[cite]100:133[/cite]. Again, a citation with multiple authors, a publication year, and a page number: "We were 'worked' like slaves" says[cite]111:41[/cite], and another with no creator[cite]99[/cite]. Try this: "A quotation. Here we go again. Third part of quotation ?" A "quotation . . . with ellipses !" So . . . here. . . . and....there... again… ? Finally. . . . it's working!
A web citation:[cite]357[/cite].
Another paragraph with a citation that has no creators[cite]1172[/cite]. "But I'll be back."
New paragraph.
I say "blah blah"[cite]515[/cite][cite]535[/cite] something.
A sentence with a citation[cite]515[/cite] and then another[cite]535[/cite] that follows.
before then replacing paragraph tags and passing onto the citation parser.
Parameters
- $text : string
- $citeLocalisation : string
- $space : string
Return values
stringreconstituteBlockquote()
Reconsitute blockquote
reconstituteBlockquote(string $newText, array<string|int, mixed> $quotes) : string
Parameters
- $newText : string
- $quotes : array<string|int, mixed>
Return values
stringreconstituteQuote()
Reconsitute quotation
reconstituteQuote(string $newText, array<string|int, mixed> $quotes[, bool $keepQuoteMarks = TRUE ]) : string
Parameters
- $newText : string
- $quotes : array<string|int, mixed>
- $keepQuoteMarks : bool = TRUE
-
Default = TRUE
Return values
stringreconstituteQuoteCallback()
Reconsitute quotation callback
reconstituteQuoteCallback(array<string|int, mixed> $matches, string $qStart, string $qEnd, bool $keepQuoteMarks) : string
Parameters
- $matches : array<string|int, mixed>
- $qStart : string
- $qEnd : string
- $keepQuoteMarks : bool
Return values
stringreconstituteText()
Return sentence temporary markup to original
reconstituteText(string $newText, string $citeLocalisation, array<string|int, mixed> $flags, array<string|int, mixed> $quotes) : string
Parameters
- $newText : string
- $citeLocalisation : string
- $flags : array<string|int, mixed>
- $quotes : array<string|int, mixed>
Return values
stringdebugPrint()
Print an array prettily for debugging purposes
debugPrint(array<string|int, mixed> $array) : void
Parameters
- $array : array<string|int, mixed>
getType()
Return an array containing the most used grammar types of a locale
getType([string $locale = "en" ][, string $type = "" ]) : array<string|int, string>
When grammar type is not defined for a locale, the grammar type of the language is used, and in last resort the grammar type of 'en'.
'en' is not 'en_GB' but a generic/default form using typical English grammar types (e.g., " and " as quotes). It must exist in the array.
Parameters
- $locale : string = "en"
-
Code of a locale (format: ll[_Script][_CC])(optional, 'en' by default)
- $type : string = ""
-
Grammar type ('' by default). One of: 'quotation', 'hardPunctuation', 'softPunctuation', 'allPunctuation', 'abbreviations', 'numbers', 'ellipses', 'possessives', 'etAl', 'creatorConjunctions', 'wordSpace', 'apostrophe', 'initialPunctuation', 'numberConjunctions'
Tags
Return values
array<string|int, string> —[0 => "", 1 => ""] Where the value of 0 is the starting quotation and 1 is the ending quotation
compileQuotationMarkers()
Return array of quotation markers for each locale.
compileQuotationMarkers() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
The first member of the array opens the quotation, the second member closes it.
Some languages have alternate quote marks (se 'da' below for an example). Ensure there are an even number of elements in the array.
Tags
Return values
array<string|int, mixed>compileHardPunctuation()
Return array of hard punctuation (END of sentence only) for each locale.
compileHardPunctuation() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
Spaces around punctuation must be present if required. Space characters here are assumed to be the same as those entered for compileWordSpace() below.
Return values
array<string|int, mixed>compileSoftPunctuation()
Return array of soft punctuation (within sentence) for each locale.
compileSoftPunctuation() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
Spaces around punctuation must be present if required. Space characters here are assumed to be the same as those entered for compileWordSpace() below.
Used for finding creator names in sentences—see compileCreatorConjunctions()
Return values
array<string|int, mixed>compileAllPunctuation()
Return array of all hard and soft punctuation.
compileAllPunctuation() : array<string|int, mixed>
Used when compiling bibliographies and deciding whether to remove the title-subtitle conjunction (removed if title is closed with punctuation).
Return values
array<string|int, mixed>compileAbbreviations()
Return array of abbreviations for each locale.
compileAbbreviations() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
This is not necessarily an exhaustive list for each language.
———> The point is to avoid a false end of sentence <——— Only abbreviations with a locale-specific, end-of-sentence character at the end should be listed (see compileHardPunctuation() for each locale). –––> Do NOT add this final end-of-sentence character. <–––
Abbreviations are case sensitive so give all possible forms.
Common (Latin) bibliographic abbreviations are appended to each locale.
Abbreviation arrays are used to distinguish false sentence endings (abbreviations) from real sentence endings.
Abbreviations such as U.S.A. etc. are dealt with in the code.
Return values
array<string|int, mixed>compileNumbers()
Return array of number abbreviations (ordinals and measurements) for each locale.
compileNumbers() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
In English, an ordinal would be '2nd.', '44th.' etc. The '.' is a false end-of-sentence character. You can also add abbreviations following a number where there is no space inbetween (e.g., units such as weight, measurement, time). These can also be listed in abbreviations above but there a space is inserted in the code before the abbreviation. It is probably safest to have the number abbreviation duplicated in abbreviations.
Anything listed here is assumed to have a cardinal/digit before it (checked in regexp with '\d?') and no intervening space.
———> The point is to avoid a false end of sentence <——— Only abbreviations with a locale-specific, end-of-sentence character at the end should be listed (see compileHardPunctuation() for each locale). –––> Do NOT add this final end-of-sentence character. <–––
Abbreviations are case sensitive so give all possible forms.
Tags
Return values
array<string|int, mixed>compileEllipses()
Return array of ellipses for each locale.
compileEllipses() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
Needs listing ONLY if the ellipses contain hard punctuation for the locale. NB Necessary to order by size so that longer strings end up in the regexp as the first matches tried. Particularly important if using similar characters as in English.
Tags
Return values
array<string|int, mixed>compilePossessives()
Return array of possessives for each locale.
compilePossessives() : array<string|int, string>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
When using the word processor, how is the possessive defined. This is only for a single creator's surname (or following values from the etAll array below) and is used to detect if that name is in the same sentence as the citation (e.g., "Grimshaw's", "Jones'", "and colleagues'"). English has two forms (singular or plural/words that end in 's').
Tags
Return values
array<string|int, string>compileEtAl()
Return array of et al. possibilities for each locale.
compileEtAl() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
This is used only for checking the occurrence of creator names in a sentence (e.g., 'Grimshaw et al.', 'Jones and colleagues'). It relates to repositioning of the citation after the creator's name. Each locale should list common abbreviations for multiple creator names.
Add spaces to ONLY the start of the phrase if required. Space characters here are assumed to be the same as those entered for compileWordSpace() below.
Return values
array<string|int, mixed>compileCreatorConjunctions()
Return array of creator conjunction possibilities for each locale.
compileCreatorConjunctions() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array or else the 'en' array will be used by default.
This is used only for checking the occurrence of creator names in a sentence. An example would be 'Grimshaw, Grimshaw-Aagaard & Aulery claim that . . .' where '&' is the conjunction. Checking for the ',' is done through compileSoftPunctuation().
It relates to repositioning of the citation after the creator's name. Each locale should list common conjunctions between multiple creator names.
Add spaces to either or both sides of the phrase if required. Space characters here are assumed to be the same as those entered for compileWordSpace() below.
Return values
array<string|int, mixed>compileWordSpace()
Return array of word space characters for each locale.
compileWordSpace() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array element thus [""] or else the 'en' array will be used by default.
This is used in regexps for identifying potential gaps between words that a language might have. As the regexps are UTF-8-safe, you can use not only multiple characters but also multibyte characters here.
Each array should have only ONE element.
Word space characters here are assumed to be the same as those entered in other functions here where it is indicated they might be required either side of the characters being entered.
Note, that if your language uses the same word space character as the English 'en' locale, then you need not add your locale here as the 'en' character will be used.
Return values
array<string|int, mixed>compileApostrophe()
Return array of apostophe for each locale (e.g., in English the "'" of "it's" (short for "it is")
compileApostrophe() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array element thus [""] or else the 'en' array will be used by default.
This is used in regexps for avoiding misidentification of quotation marks. You should only add a locale and apostrophe forms here (if not using the default 'en' locale) if the locale's apostrophe is the same as one of the quotation marks for that locale—see compileQuotationMarkers().
The regexp assumes an apostrophe is preceded and followed by a word character.
As the regexps are UTF-8-safe, you can use not only multiple characters but also multibyte characters here.
Note, that if your language uses the same apostrophe character as the English 'en' locale, then you need not add your locale here as the 'en' character will be used.
If you put in an empty array for your locale, no conjunctions will be used between numbers.
Return values
array<string|int, mixed>compileInitialPunctuation()
Return array of initial punctuation for each locale.
compileInitialPunctuation() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use it, put in an empty array element thus [""] or else the 'en' array will be used by default.
This is used in regexps for identifying initials when part of a name (e.g. M.N. Grimshaw-Aagaard). As the regexps are UTF-8-safe, you can use not only multiple characters but also multibyte characters here.
It is also used in citation and bibliographic formatting to replace the '.' character following creator initials if a creator initial option is chosen that uses '.' (default English) while the style localisation specifies something else.
If there is no equivalent in your locale for the English character, put in an empty array element.
The first element of the 'en' array represents the character(s) between initials. For example: M. N. Grimshaw-Aagaard where periods are extracted from the 'en' array. Spaces come from compileWordSpace() above.
Each array should have only ONE element.
There should be no whitespace characters either side—the regexp takes care of this along with compileWordSpace() above.
Note, that if your language uses the same initial character as the English 'en' locale, then you need not add your locale here as the 'en' character will be used.
Return values
array<string|int, mixed>compileNumberConjunctions()
Return array of number conjunctions for each locale.
compileNumberConjunctions() : array<string|int, mixed>
'en' must be a key of the returned array.
If a language does not use such conjunctions, put in an empty array element thus [""] or else the 'en' array will be used by default.
When presenting, for example, running time (film, TV, etc.), numbers can be conjoined by characters. For example, running time might be given as 2'45", 2:45, and so on, but these can be replaced if appropriate characters are provided for your locale and the bibliographic style localisation is set to that locale.
It is important that there be parity between the lengths of the 'en' array and another locale and across conjunction positions in the array. If there is no equivalent in your locale for the English conjunction, put in an empty array element.
For example: 2 hours, 45 minutes where comma is extracted from the 'en' array. Spaces come from compileWordSpace() above. Note that the last element has the spaces around the English word.
Note, that if your language uses the same characters as the English 'en' locale, then you need not add your locale here as the 'en' character set will be used.
Return values
array<string|int, mixed>abbreviationsAppend()
Append common (Latin) bibliographic abbreviations
abbreviationsAppend(mixed $array) : array<string|int, mixed>
Parameters
- $array : mixed
Tags
Return values
array<string|int, mixed>readComponentsList()
Read and return the list of all components installed
readComponentsList([bool $force = FALSE ]) : array<string|int, mixed>
Status of activation are kept in /data/components.json file, other data are in /cache/components.json file because the status must be be persistent between two upgrades, or a component is uninstalled. This function merges status after reading the two files.
Use only this function to read the components list.
Parameters
- $force : bool = FALSE
-
Forces the cache overwriting if it already exists (optional, FALSE by default)
Return values
array<string|int, mixed>writeComponentsList()
Write a list of components from an array
writeComponentsList(array<string|int, mixed> $ComponentsList) : void
Status of activation are kept in /data/components.json file, other data are in /cache/components.json file because the status must be be persistent between two upgrades, or a component is uninstalled. This function separates the status from the other fields and saves them in separate files.
Use only this function to save the components list.
Parameters
- $ComponentsList : array<string|int, mixed>
-
Components list (with activation status)
refreshComponentsListCache()
Refresh the components list if needed, or forced by the caller
refreshComponentsListCache([bool $force = FALSE ]) : void
Parameters
- $force : bool = FALSE
-
Forces the file overwriting if it already exists (optional, FALSE by default)
isBuiltinComponent()
Is a component builtin?
isBuiltinComponent(string $component_type, string $component_id) : bool
A builtin component is packed with the core. It can be updated and cannot be disabled or uninstalled.
Parameters
- $component_type : string
- $component_id : string
Return values
boolcheckComponentsList()
Return a structured list of installed components
checkComponentsList() : array<string|int, mixed>
The list is extracted form the component.json file of each component and an integrity check is performed against the component. A default activation status is computed from this minimal integrity check and the configuration read.
Return values
array<string|int, mixed>computeComponentVersion()
Compute a component version number from the current date
computeComponentVersion() : int
The component version number is the number of days elapsed since the launch of the system of components (v6 on 2020-01-12)
Return values
intcomputeComponentSignature()
Compute the hash signature of a component from its installed code
computeComponentSignature(string $component_type, string $component_id) : string
The algorithm used is defined implicitly by the WIKINDX_PACKAGE_HASH_ALGO constant.
During the hashing a temp folder is created inside cache/cmpsigning/<type_id>
Parameters
- $component_type : string
-
(plugin, style, template)
- $component_id : string
Return values
stringcreateComponentMetadataFile()
Create the component.json file of a component
createComponentMetadataFile(string $component_type, string $component_id) : void
Do not overwrite the file if it already exists.
Parameters
- $component_type : string
-
(plugin, style, template)
- $component_id : string
enableComponent()
Enable a component
enableComponent(string $component_type, string $component_id) : bool
Parameters
- $component_type : string
-
(plugin, style, template)
- $component_id : string
Return values
bool —TRUE on success, FALSE otherwise
disableComponent()
Disable a component
disableComponent(string $component_type, string $component_id) : bool
Parameters
- $component_type : string
-
(plugin, style, template)
- $component_id : string
Return values
bool —TRUE on success, FALSE otherwise
checkComponentIntegrity()
Check the integrity of a component
checkComponentIntegrity(string $componentDirPath) : int
Parameters
- $componentDirPath : string
-
A path to the folder of a component
Return values
int —Error code: 0 is for OK and others issues.
componentIntegrityErrorMessage()
Return the message of an error code of the function checkComponentIntegrity()
componentIntegrityErrorMessage(int $error_code) : string
Parameters
- $error_code : int
Return values
string —An error message
extractComponentPackage()
Extract a WIKINDX Component Package to a folder
extractComponentPackage(string $ComponentPackageFile, string $DestinationFolder) : bool
Only Zip packages are supported.
If missing, the destination folder is created silently. otherwise its contents is overwritten and existing files that are not in the archive are deleted.
It is not necessary to delete the files of the previous component that occupies the same destination, which limits the loss of an already installed component if the operation does not complete.
However, it is always possible to end up in an inconsistent state if the operation failed between the decompression of two files. It should be very rare.
So a component should never create files and folders in its code directories otherwise they will be deleted. Use the private cache and data folders of a component for this task.*
BUGS: https://bugs.php.net/bug.php?id=79912 Phar crashs with an exception on Gzip/Bzip2 archives
Parameters
- $ComponentPackageFile : string
-
Absolute or relative path to an archive file created with \FILE\createComponentPackage
- $DestinationFolder : string
-
Absolute or relative path of a folder where the archive is extracted
Return values
bool —TRUE on success, FALSE otherwise
extractComponentPackageDefinition()
Extract the component.json file of a WIKINDX Component Package to an array
extractComponentPackageDefinition(string $ComponentPackageFile) : array<string|int, mixed>
Only Zip packages are supported.
The component.json file is read in memory before parsing.
Parameters
- $ComponentPackageFile : string
-
Absolute or relative path to an archive file created with \FILE\createComponentPackage
Return values
array<string|int, mixed> —Structured definition of the component
listPluginComponents()
List all plugins enabled in WIKINDX_DIR_COMPONENT_PLUGINS with a sane configuration
listPluginComponents([bool $all = FALSE ]) : array<string|int, mixed>
Parameters
- $all : bool = FALSE
-
If TRUE, lists also disabled components
Return values
array<string|int, mixed> —Sorted associative array - keys = component_id, values = component_longname.
listStyleComponents()
List all styles enabled in WIKINDX_DIR_COMPONENT_STYLES with a sane configuration
listStyleComponents([bool $all = FALSE ]) : array<string|int, mixed>
Parameters
- $all : bool = FALSE
-
If TRUE, lists also disabled components
Return values
array<string|int, mixed> —Sorted associative array - keys = component_id, values = component_longname.
listTemplateComponents()
List all templates enabled in WIKINDX_DIR_COMPONENT_TEMPLATES with a sane configuration
listTemplateComponents([bool $all = FALSE ]) : array<string|int, mixed>
Parameters
- $all : bool = FALSE
-
If TRUE, lists also disabled components
Return values
array<string|int, mixed>checkPluginVersionCompatibility()
Check version compatibility of a plugin
checkPluginVersionCompatibility(string $dir) : bool
Parameters
- $dir : string
Return values
boolloadStyleInfo()
Extract info entries from a JSON bibliographic style file and return an associative array of childnode's value of 'info' node.
loadStyleInfo(string $file) : associative
Parameters
- $file : string
-
Location of a StyleFile
Return values
associative —array - keys = name, description, styleLocalisation, citeLocalisation, osbibversion
format()
Format for HTML or RTF/plain?
format(string $data, string $outputFormat[, int|false $citeId = FALSE ][, int|false $bibId = FALSE ]) : string
Parameters
- $data : string
-
Input string
- $outputFormat : string
-
One of 'wikindx', 'html', 'cite', 'wp', 'plain', 'rtf'
- $citeId : int|false = FALSE
-
Default FALSE (Only present and used if formatting a citation for 'wikindx' or 'html' output)
- $bibId : int|false = FALSE
-
Default FALSE (Only present and used if formatting a bibliography reference for 'wikindx' or 'html' output)
Return values
stringbbcode()
Deal with BBCODE
bbcode(string $data, string $outputFormat) : string
Parameters
- $data : string
- $outputFormat : string
Return values
stringendnoteId()
Format the endnote ID in the endnotes
endnoteId(array<string|int, mixed> $citationStyle, int $id, string $outputFormat) : string
Parameters
- $citationStyle : array<string|int, mixed>
- $id : int
- $outputFormat : string
Return values
stringtrueFootnoteId()
Format the true footnote ID in the footnotes section
trueFootnoteId(array<string|int, mixed> $citationStyle, int $id, string $outputFormat) : string
Parameters
- $citationStyle : array<string|int, mixed>
- $id : int
- $outputFormat : string
Return values
stringnewline()
Return a newline character.
newline(string $outputFormat) : string
Also, bibliographic/footnote templates may have the special string 'NEWLINE'
Parameters
- $outputFormat : string
Return values
stringsetHeaders()
Set download headers
setHeaders(string $type, int $size, string $filename, string $lastmodified[, string $mode = 'inline' ][, string $charset = '' ]) : void
Parameters
- $type : string
- $size : int
- $filename : string
- $lastmodified : string
- $mode : string = 'inline'
-
'inline' or 'attachment' ('attachment' forces the download)
- $charset : string = ''
-
Default is ''
readfile_chunked()
Download file to user
readfile_chunked(string $file) : bool
From http://uk3.php.net/function.readfile
Parameters
- $file : string
Return values
boolcreateFileName()
create a fileName for this file. If directory based on session ID does not exist, create it.
createFileName(string $dirName, string $string, string $extension) : array<string|int, mixed>
Parameters
- $dirName : string
- $string : string
-
File contents
- $extension : string
-
File extension
Return values
array<string|int, mixed> —(filename, full filepath)
fileAttachUploadMaxSize()
Get attachment max upload size in bytes
fileAttachUploadMaxSize() : int
WIKINDX_FILE_ATTACH_SIZE_UPPER_LIMIT is the upper limit
Return values
intimageUploadMaxSize()
Get image max upload size in bytes
imageUploadMaxSize() : int
WIKINDX_IMG_SIZE_UPPER_LIMIT is the upper limit
Return values
intfileUploadMaxSize()
Get file max upload size in bytes
fileUploadMaxSize() : int
1G is the upper limit
Return values
intreturn_bytes()
Convert some ini values to numerical values (to bytes)
return_bytes(int|string $val) : int
Parameters
- $val : int|string
Return values
intdirToArray()
Enumerate files and subdirectories of a directory except . and .. subdirectories
dirToArray(string $dir) : array<string|int, mixed>
Parameters
- $dir : string
-
A directory to explore
Return values
array<string|int, mixed> —An array of file and subdirectory names
dirInDirToArray()
Enumerate subdirectories of a directory except . and .. subdirectories
dirInDirToArray(string $dir) : array<string|int, mixed>
Parameters
- $dir : string
-
A directory to explore
Return values
array<string|int, mixed> —An array of subdirectory names
fileInDirToArray()
Enumerate files of a directory except . and .. subdirectories
fileInDirToArray(string $dir) : array<string|int, mixed>
Parameters
- $dir : string
-
A directory to explore
Return values
array<string|int, mixed> —An array of filenames
recurse_AbsoluteDirToArray()
Enumerate recursively files and subdirectories of a directory except . and .. subdirectories
recurse_AbsoluteDirToArray(string $dir) : array<string|int, mixed>
Parameters
- $dir : string
-
A directory to explore
Return values
array<string|int, mixed> —An array of file and subdirectory absolute paths
recurse_fileInDirToArray()
Enumerate recursively files and subdirectories of a directory except . and .. subdirectories
recurse_fileInDirToArray(string $dir) : array<string|int, mixed>
Parameters
- $dir : string
-
A directory to explore
Return values
array<string|int, mixed> —An array of file and subdirectory paths
recurse_dir_copy()
Copy recursively a folder
recurse_dir_copy(string $src, string $dst) : void
Parameters
- $src : string
-
Source directory
- $dst : string
-
Destination directory
recurse_rmdir()
Remove recursively a folder
recurse_rmdir(string $dir) : void
Parameters
- $dir : string
-
Target directory
rmfile()
Remove a file
rmfile(string $file) : void
Parameters
- $file : string
-
Target filename
fileUpload()
Return filename, hash, type and size of an uploaded file or an array of such information for each file uploaded
fileUpload([false|string $filename = FALSE ][, bool $multiple = FALSE ]) : array<string|int, mixed>
Parameters
- $filename : false|string = FALSE
- $multiple : bool = FALSE
-
multiple files (default FALSE)
Return values
array<string|int, mixed> —(filename, hash, type, size) or array of these
rearrangeFilesArray()
Rearrange the $_FILES array for multiple file uploads
rearrangeFilesArray(array<string|int, mixed> $files) : array<string|int, mixed>
Parameters
- $files : array<string|int, mixed>
Return values
array<string|int, mixed>fileStore()
Store uploaded file in given directory with given name
fileStore(string $dirName, string $name[, int|false $index = FALSE ]) : bool
Parameters
- $dirName : string
- $name : string
- $index : int|false = FALSE
-
if moving multiple file uploads
Return values
boollistFiles()
list and HTML format all files for sessionID
listFiles() : array<string|int, mixed>
Return values
array<string|int, mixed> —(filesDir, fileDeleteSecs, fileArray)
tidyFiles()
tidy up the files directory by removing all files and folders older than WIKINDX_FILE_DELETE_SECONDS
tidyFiles() : void
zip()
Zip up an array of files. File is stored in files dir.
zip(array<string|int, mixed> $files, string $dirpath) : mixed
Parameters
- $files : array<string|int, mixed>
-
unqualified filenames (key is label of file, value is filename on disk)
- $dirpath : string
-
directory path
Return values
mixed —unqualified SHA1'ed filename of zip or FALSE if failure
read_json_file()
Read a JSON file to a data structure
read_json_file(string $file) : mixed
Read a JSON file and unserialize its content to a data structure with json_decode()
Parameters
- $file : string
-
An absolute or relative path to a file
Tags
Return values
mixed —A value, a data structure, or NULL on error
write_json_file()
Write a data structure to a JSON file
write_json_file(string $file, mixed $data) : int
Serialize a data structure with json_encode() and write it in a file
Parameters
- $file : string
-
An absolute or relative path to a file
- $data : mixed
-
A data structure or a value
Tags
Return values
int —JSON_ERROR_NONE on success, a JSON error constant on encoding error, or JSON_ERROR_NONE - 1 on file writing error
formatSize()
Format a file size in bytes to the greater multiple for display
formatSize(int $size) : string
Parameters
- $size : int
-
In bytes
Return values
stringgetMimeType()
Return the mime-type of a file
getMimeType(string $filepath[, string $altfilename = "" ]) : string
The PHP finfo() function doesn't always return the right mime-type, so it tries to read it from OCF containers and to fallback on file extension when the mime-type is obviously too generic (e.g. text/plain, text/xml).
You can provide an alternate filename to force the extension instead of taking the extension of filepath.
Parameters
- $filepath : string
-
An absolute or relative file path
- $altfilename : string = ""
-
Default is ""
Return values
string —A mime-type
getExtension()
Return the extension of a file in lowercase (without point)
getExtension(string $filepath) : string
Parameters
- $filepath : string
-
An absolute or relative file path
Return values
stringreplaceFileExtension()
Replace the extension of a file by an other
replaceFileExtension(string $filepath, string $new_extension) : string
Parameters
- $filepath : string
-
An absolute or relative file path
- $new_extension : string
-
New extension (without point)
Return values
stringremoveFileExtension()
Remove the extension of a file path (and its point)
removeFileExtension(string $filepath) : string
Parameters
- $filepath : string
-
An absolute or relative file path
Return values
stringbase64_encode_file()
Encode a file with base64 as an other file
base64_encode_file(string $fsrc, string $fdst) : void
Parameters
- $fsrc : string
-
An absolute or relative file path as source
- $fdst : string
-
An absolute or relative file path as destination
Tags
base64_decode_file()
Encode a file with base64 as an other file
base64_decode_file(string $fsrc, string $fdst) : void
Parameters
- $fsrc : string
-
An absolute or relative file path as source
- $fdst : string
-
An absolute or relative file path as destination
Tags
bin2hex_encode_file()
Encode a file with bin2hex as an other file
bin2hex_encode_file(string $fsrc, string $fdst) : void
Parameters
- $fsrc : string
-
An absolute or relative file path as source
- $fdst : string
-
An absolute or relative file path as destination
hash_path()
Generates a hash of a file or directory at the given path with the specified algo.
hash_path(string $algo, string $path) : string
If the path is to a single file, it uses hash_file. Otherwise, it recursively loops through all files in a directory to generate the hash of hashes of those files.
Parameters
- $algo : string
-
- the hash algo
- $path : string
-
- the path of the folder or file
Tags
Return values
string_inlineHtmlAttribute()
Build a string for insertion of an HTML tag attribute.
_inlineHtmlAttribute([string $name = '' ][, mixed $value = '' ]) : string
Ensures that the attribute value is never empty (incorrect syntax)
Parameters
- $name : string = ''
- $value : mixed = ''
-
Default is ''
Return values
stringformHeader()
print form header with hidden action field
formHeader(string $action[, string $js = '' ][, bool $BT = TRUE ]) : string
$js is for javascript functions
Parameters
- $action : string
- $js : string = ''
-
Default is ''
- $BT : bool = TRUE
-
Default is TRUE
Return values
stringformHeaderVisibleAction()
print form header with visible action field -- typically used for tinyMCE popups
formHeaderVisibleAction(string $action, string $name[, string $js = '' ][, bool $BT = TRUE ]) : string
$js is for javascript functions
Parameters
- $action : string
- $name : string
- $js : string = ''
-
Default is ''
- $BT : bool = TRUE
-
Default is TRUE
Return values
stringformHeaderName()
print form header with hidden action field and name and id fields
formHeaderName(string $action, string $name[, string $js = '' ][, bool $BT = TRUE ]) : string
js is for javascript functions
Parameters
- $action : string
- $name : string
- $js : string = ''
-
Default is ''
- $BT : bool = TRUE
-
Default is TRUE
Return values
stringformEnd()
end a form
formEnd() : string
Return values
stringformMultiHeader()
print form header with hidden action field for multi-part upload forms
formMultiHeader(string $action[, string $js = '' ]) : string
Parameters
- $action : string
- $js : string = ''
-
Default is ''
Return values
stringformSubmit()
print form footer with submit field
formSubmit([mixed $value = FALSE ][, string|false $name = FALSE ][, string $js = '' ]) : string
Parameters
- $value : mixed = FALSE
-
Default is FALSE
- $name : string|false = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringclosePopup()
print form footer with close popup button
closePopup(mixed $value) : string
Parameters
- $value : mixed
Return values
stringformSubmitButton()
print form footer with submit button field
formSubmitButton(mixed $value[, string|false $name = FALSE ][, string $js = '' ]) : string
Parameters
- $value : mixed
-
Default is FALSE
- $name : string|false = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringformReset()
print form reset button
formReset(mixed $value[, string $js = '' ]) : string
Parameters
- $value : mixed
- $js : string = ''
-
Default is ''
Return values
stringhidden()
print hidden form input
hidden(string $name, string $value[, string $js = '' ]) : string
Parameters
- $name : string
- $value : string
- $js : string = ''
-
Default is ''
Return values
stringhiddenNoJSNoId()
print hidden form input without JavaScript action
hiddenNoJSNoId(string $name, mixed $value) : string
Parameters
- $name : string
- $value : mixed
Return values
stringradioButton()
print radio button
radioButton(string $name[, mixed $value = FALSE ][, bool|string $checked = FALSE ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $checked : bool|string = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringradioButtonGroup()
Print a radio button group.
radioButtonGroup(string $groupName, array<string|int, mixed> $buttons, mixed $checkedValue[, string $divider = BR ][, string $js = '' ]) : string
For more fine-grained control over radio buttons (individual $js for each button, placement of label etc.), do not use this but use radioButton() directly.
Parameters
- $groupName : string
- $buttons : array<string|int, mixed>
-
[$buttonValue => $buttonLabel]
- $checkedValue : mixed
-
Which $buttonValue is checked
- $divider : string = BR
-
Default BR
- $js : string = ''
-
Default ''
Return values
stringcheckbox()
print checkbox
checkbox(string $label, string $name[, bool|string $checked = FALSE ][, string $title = '' ][, string $js = '' ]) : string
Parameters
- $label : string
- $name : string
- $checked : bool|string = FALSE
-
Default is FALSE
- $title : string = ''
-
Default is ''
- $js : string = ''
-
Default is ''
Return values
stringselectYesNoBox()
create special select box that only provides yes (1) and no (0) as options (values)
selectYesNoBox(string $name, string|null $select[, string $js = '' ]) : string
'selected value' is set SELECTED
Parameters
- $name : string
- $select : string|null
- $js : string = ''
-
Default is ''
Return values
stringselectFBox()
create select boxes for HTML forms
selectFBox(string $name, array<string|int, mixed> $array[, int $size = 3 ][, int|bool $override = FALSE ][, string $js = '' ]) : string
First OPTION is always SELECTED optional $override allows the programmer to override the user set preferences for character limiting in select boxes
Parameters
- $name : string
- $array : array<string|int, mixed>
- $size : int = 3
-
Default is 3
- $override : int|bool = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringselectedBox()
create select boxes for HTML forms
selectedBox(string $name, array<string|int, mixed> $array, string $select[, int $size = 3 ][, int|bool $override = FALSE ][, string $js = '' ]) : string
'selected value' is set SELECTED optional $override allows the programmer to override the user set preferences for character limiting in select boxes
Parameters
- $name : string
- $array : array<string|int, mixed>
- $select : string
- $size : int = 3
-
Default is 3
- $override : int|bool = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringselectFBoxValue()
create select boxes for HTML forms
selectFBoxValue(string $name, array<string|int, mixed> $array[, int $size = 3 ][, int|bool $override = FALSE ][, string $js = '' ]) : string
First entry is default selection. OPTION VALUE is set so expects assoc. array where key holds this value optional $override allows the programmer to override the user set preferences for character limiting in select boxes
Parameters
- $name : string
- $array : array<string|int, mixed>
- $size : int = 3
-
Default is 3
- $override : int|bool = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringselectedBoxValue()
create select boxes for HTML forms
selectedBoxValue(string $name, array<string|int, mixed> $array, string $select[, int $size = 3 ][, int|bool $override = FALSE ][, string $js = '' ]) : string
$select is default selection. OPTION VALUE is set so expects assoc. array where key holds this value optional $override allows the programmer to override the user set preferences for character limiting in select boxes
Parameters
- $name : string
- $array : array<string|int, mixed>
- $select : string
- $size : int = 3
-
Default is 3
- $override : int|bool = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringselectFBoxValueMultiple()
create select boxes for HTML forms
selectFBoxValueMultiple(string $name, array<string|int, mixed> $array[, int $size = 3 ][, int|bool $override = FALSE ][, string $js = '' ]) : string
First entry is default selection. OPTION VALUE is set so expects assoc. array where key holds this value. MULTIPLE values may be selected optional $override allows the programmer to override the user set preferences for character limiting in select boxes
Parameters
- $name : string
- $array : array<string|int, mixed>
- $size : int = 3
-
Default is 3
- $override : int|bool = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringselectedBoxValueMultiple()
create select boxes for HTML forms
selectedBoxValueMultiple(string $name, array<string|int, mixed> $array, array<string|int, mixed> $values[, int $size = 3 ][, int|bool $override = FALSE ][, string $js = '' ]) : string
OPTION VALUE is set so expects assoc. array where key holds this value. MULTIPLE values may be selected optional $override allows the programmer to override the user set preferences for character limiting in select boxes
Parameters
- $name : string
- $array : array<string|int, mixed>
- $values : array<string|int, mixed>
- $size : int = 3
-
Default is 3
- $override : int|bool = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringpasswordInput()
password input type
passwordInput(string $name[, mixed $value = FALSE ][, int $size = 20 ][, int $maxLength = 255 ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $size : int = 20
-
Default is 20
- $maxLength : int = 255
-
Default is 255
- $js : string = ''
-
Default is ''
Return values
stringhoneypotInput()
A honeypot field made with text input
honeypotInput(string $name) : string
Robots fill it by mistake and are pawned!
Parameters
- $name : string
Return values
stringtextInput()
text input type
textInput(string $name[, mixed $value = FALSE ][, int $size = 20 ][, int $maxLength = 255 ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $size : int = 20
-
Default is 20
- $maxLength : int = 255
-
Default is 255
- $js : string = ''
-
Default is ''
Return values
stringcolorInput()
color input type
colorInput(string $name[, mixed $value = FALSE ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringtextareaInput()
textarea input type
textareaInput(string $name[, mixed $value = FALSE ][, int $cols = 30 ][, int $rows = 5 ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $cols : int = 30
-
Default is 30
- $rows : int = 5
-
Default is 5
- $js : string = ''
-
Default is ''
Return values
stringtextareaInputmceNoEditor()
textarea input type without MCE editor
textareaInputmceNoEditor(string $name[, mixed $value = FALSE ][, int $cols = 30 ][, int $rows = 5 ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $cols : int = 30
-
Default is 30
- $rows : int = 5
-
Default is 5
- $js : string = ''
-
Default is ''
Return values
stringtextareaReadonly()
textarea readonly
textareaReadonly(string $name[, mixed $value = FALSE ][, int $cols = 30 ][, int $rows = 5 ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $cols : int = 30
-
Default is 30
- $rows : int = 5
-
Default is 5
- $js : string = ''
-
Default is ''
Return values
stringfileUpload()
upload box
fileUpload(string $name[, int $size = 20 ][, string $accept = "" ][, string $js = '' ]) : string
Parameters
- $name : string
- $size : int = 20
-
Default is 20
- $accept : string = ""
-
Default is "" (all file types)
- $js : string = ''
-
Default is ''
Return values
stringfileUploadMultiple()
upload box for multiple files
fileUploadMultiple(string $name[, int $size = 20 ][, string $accept = "" ][, string $js = '' ]) : string
Parameters
- $name : string
- $size : int = 20
-
Default is 20
- $accept : string = ""
-
Default is "" (all file types)
- $js : string = ''
-
Default is ''
Return values
stringdateInput()
date input type
dateInput(string $name[, mixed $value = FALSE ][, string $js = '' ]) : string
Parameters
- $name : string
- $value : mixed = FALSE
-
Default is FALSE
- $js : string = ''
-
Default is ''
Return values
stringlabel()
Label Form element
label(string $for) : string
Parameters
- $for : string
-
Id of the form control associated to this label
Return values
stringfilterHTML()
Filter HTML in fields destined for the search_ tables
filterHTML(string $html) : string
Parameters
- $html : string
Return values
stringfilterHTMLLinks()
Filter HTML links for LISTCOMMON output
filterHTMLLinks(string $html) : string
This function is used only to remove links from a formatted resource when it is displayed inside a link because nested links are not supported by HTML.
Parameters
- $html : string
Return values
stringescape()
Escape strings inserted in HTML
escape(mixed $value[, bool $force = FALSE ]) : mixed
If $value is not a string, return $value unchanged
NB: This function ignores the special case of backticks as attribute delimiters. IE is no longer supported.
Parameters
- $value : mixed
- $force : bool = FALSE
-
If true force escaping of allready escaped entities (Default if FALSE)
escapeHTMLTemp()
Temporarily escape HTML entities
escapeHTMLTemp(bool $protect, mixed $value) : mixed
If $value is not a string, return $value unchanged
This function is usually called twice. The first time ($protect = TRUE) will convert HTML entities. Presumably something is then done with the returned string, after which the function can be called with $protect = FALSE. The intention is to allow operations on a string that might interfere with or be interfered by any HTML entities in the string that are of type &...;
Parameters
- $protect : bool
- $value : mixed
_inlineHtmlAttribute()
Build a string for insertion of an HTML tag attribute.
_inlineHtmlAttribute([string $name = '' ][, string $value = '' ]) : string
Ensures that the attribute value is never empty (incorrect syntax)
Parameters
- $name : string = ''
-
Default is ''
- $value : string = ''
-
Default is ''
Return values
stringh()
<Hx> heading element
h([mixed $data = '' ][, string $class = '' ][, int $level = 4 ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
- $level : int = 4
-
Default is 4
Return values
stringdiv()
<DIV> element
div(string $id[, mixed $data = '' ][, string $class = '' ]) : string
If no $data, then this is probably used in conjunction with AJAX to hide or unhide a page element
Parameters
- $id : string
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringdivScrollable()
Scrollable <DIV> element
divScrollable(string $id[, mixed $data = '' ][, string $class = '' ][, int $width = 500 ][, int $height = 200 ]) : string
If no $data, then this is probably used in conjunction with AJAX to hide or unhide a page element
Parameters
- $id : string
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
- $width : int = 500
-
Default is 500px
- $height : int = 200
-
Default is 200px
Return values
stringiframe()
<IFRAME> element
iframe(string $id[, mixed $data = '' ][, string $class = '' ]) : string
If no $data, then this is probably used in conjunction with AJAX to hide or unhide a page element
Parameters
- $id : string
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringp()
<P> element
p([mixed $data = '' ][, string $class = '' ][, string $align = 'left' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
- $align : string = 'left'
-
Default is 'left'
Return values
stringpBrowse()
<P> element
pBrowse([mixed $data = '' ][, string $class = '' ]) : string
for browsing creators, collections etc. (tag colour) where a background colour needs to be specified
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringpre()
<PRE> element
pre(mixed $data[, string $class = '' ][, string $align = 'left' ]) : string
Parameters
- $data : mixed
- $class : string = ''
-
Default is ''
- $align : string = 'left'
-
Default is 'left'
Return values
stringul()
<UL> element
ul([mixed $data = '' ][, string $class = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringol()
<OL> element
ol([mixed $data = '' ][, string $class = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringli()
<LI> element
li([mixed $data = '' ][, string $class = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringhr()
<HR> element
hr([string $class = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
Return values
stringmark()
<mark> element
mark(mixed $data) : string
Parameters
- $data : mixed
Return values
stringobject()
<OBJECT> element For display attachment previews
object(mixed $data, string $type, int $width, int $height) : string
Parameters
- $data : mixed
- $type : string
- $width : int
- $height : int
Return values
stringspan()
<SPAN> element
span([mixed $data = '' ][, string $class = '' ][, string $title = '' ][, string $js = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
- $title : string = ''
-
Default is ''
- $js : string = ''
-
Default is ''
Return values
stringcolor()
<SPAN color> element
color([mixed $data = '' ][, string $class = 'blackText' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = 'blackText'
-
Default is 'blackText'
Return values
stringstrong()
<STRONG> element (Semantic equivalent of <B>)
strong([mixed $data = '' ][, string $class = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringem()
<EM> element (Semantic equivalent of <I>)
em([mixed $data = '' ][, string $class = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringu()
<U> element
u(mixed $data[, string $class = '' ]) : string
Parameters
- $data : mixed
- $class : string = ''
-
Default is ''
Return values
stringimg()
<IMG> element
img(string $src, int $width, int $height[, string $title = '' ][, string $alt = '' ][, string $js = '' ]) : string
Parameters
- $src : string
- $width : int
- $height : int
- $title : string = ''
-
Default is ''
- $alt : string = ''
-
Default is ''
- $js : string = ''
-
Default is ''
Return values
stringanchor()
<A> element used as internal anchor
anchor(string $name[, mixed $data = '' ][, string $title = '' ]) : string
Parameters
- $name : string
- $data : mixed = ''
-
Default is ''
- $title : string = ''
-
Default is ''
Return values
stringa()
<A> element used as hyperlink
a(string $class, mixed $label, string $link[, string $target = '' ][, string $title = '' ]) : string
Parameters
- $class : string
- $label : mixed
- $link : string
- $target : string = ''
-
Default is ''
- $title : string = ''
-
Default is ''
Return values
stringaBrowse()
<A> element used as hyperlink
aBrowse([string $color = '#000' ][, string $size = '1em' ][, mixed $label = '' ][, string $link = '' ][, string $target = '' ][, string $title = '' ][, string $js = '' ]) : string
Hyperlinks for browsing creators, collections etc. (tag clouds) where the text colour and size is provided by the scripts to indicate frequency
Parameters
- $color : string = '#000'
-
Default is '#000'
- $size : string = '1em'
-
Default is '1em'
- $label : mixed = ''
-
Default is ''
- $link : string = ''
-
Default is ''
- $target : string = ''
-
Default is ''
- $title : string = ''
-
Default is ''
- $js : string = ''
-
Default is ''
Return values
stringtableStart()
Start a <TABLE> tag
tableStart([string $class = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
Return values
stringtableEnd()
Close a <TABLE> tag
tableEnd() : string
Return values
stringtableCaption()
provide a table <caption>
tableCaption([mixed $caption = '' ][, string $class = '' ]) : string
Parameters
- $caption : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
Return values
stringtbodyStart()
Provide a <tbody> tag
tbodyStart([string $class = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
Return values
stringtbodyEnd()
Provide a </tbody> tag
tbodyEnd() : string
Return values
stringtheadStart()
Provde a <thead> tag
theadStart([string $class = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
Return values
stringtheadEnd()
Provide a </thead> tag
theadEnd() : string
Return values
stringtfootStart()
Provide a <tfoot> tag
tfootStart([string $class = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
Return values
stringtfootEnd()
Provide a </tfoot> tag
tfootEnd() : string
Return values
stringtrStart()
Provide a <tr> tag
trStart([string $class = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
Return values
stringtrEnd()
Provide a </tr> tag
trEnd() : string
Return values
stringtdStart()
Provide a <td> tag without closing it or encapsulating data
tdStart([string $class = '' ][, int|string $colspan = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
- $colspan : int|string = ''
-
Default is ''
Return values
stringtdEnd()
Provide a </td> tag
tdEnd() : string
Return values
stringtd()
Provide a <td>...</td> tag
td([mixed $data = '' ][, string $class = '' ][, int|string $colspan = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
- $colspan : int|string = ''
-
Default is ''
Return values
stringthStart()
Provide a <th> tag without closing it or encapsulating data
thStart([string $class = '' ][, int|string $colspan = '' ]) : string
Parameters
- $class : string = ''
-
Default is ''
- $colspan : int|string = ''
-
Default is ''
Return values
stringthEnd()
Provide a </th> tag
thEnd() : string
Return values
stringth()
Provide a <th>...</th> tag
th([mixed $data = '' ][, string $class = '' ][, int|string $colspan = '' ]) : string
Parameters
- $data : mixed = ''
-
Default is ''
- $class : string = ''
-
Default is ''
- $colspan : int|string = ''
-
Default is ''
Return values
stringcssInlineExternal()
Insert a call to an external CSS file
cssInlineExternal(string $url[, string $media = "all" ]) : string
Parameters
- $url : string
- $media : string = "all"
-
Default is 'all' (can be 'all' for all media, 'print' for printing, 'screen' for screens)
Tags
Return values
stringjsInline()
Inlining JavaScript code
jsInline(string $jsCode[, string $execMode = "sync" ][, string $type = "" ]) : string
Parameters
- $jsCode : string
- $execMode : string = "sync"
-
When the script should be executed? Default is 'sync'
- $type : string = ""
-
Script type? Default is ''
Tags
Return values
stringjsInlineExternal()
Insert a call to an external javascript file
jsInlineExternal(string $url[, string $execMode = "sync" ][, string $type = "" ]) : string
Parameters
- $url : string
- $execMode : string = "sync"
- $type : string = ""
-
Script type? Default is ''
Tags
Return values
stringsuccessToast()
Format a text as a HTML success toast message (temporary info)
successToast(mixed $string) : string
Parameters
- $string : mixed
Return values
stringerrorToast()
Format a text as a HTML error toast message (temporary info)
errorToast(mixed $string) : string
Parameters
- $string : mixed
Return values
stringnlToHtml()
replace newlines and carriage returns with appropriate HTML code.
nlToHtml(mixed $string) : string
first multiples then singles. Used for display back from DB table
Parameters
- $string : mixed
Return values
stringhtmlToNl()
replace HTML newlines and carriage returns in a string or array with appropriate ANSI code.
htmlToNl(mixed $string) : mixed
first multiples then singles. Used for display back from DB table
Parameters
- $string : mixed
removeNl()
remove all newlines.
removeNl(mixed $string) : string
For cases when user cut 'n' pastes multiple lines into single-line text box Used before writing to DB table
Parameters
- $string : mixed
Return values
stringstripHtml()
Strip HTML from string or array
stripHtml(mixed $string) : mixed
Parameters
- $string : mixed
clearSortField()
Strip HTML from string
clearSortField(mixed $string) : string
Parameters
- $string : mixed
Return values
stringget_core_message()
Translate a message from a domain
get_core_message(string $sectionKey, string $messageKey[, mixed $messageParam = "" ]) : string
This function is mimicking dgettext().
Parameters
- $sectionKey : string
-
Section key of the catalog
- $messageKey : string
-
Message key of the catalog
- $messageParam : mixed = ""
-
Optional array or single value that replaces '###' in the message. Default is ""
Tags
Return values
stringget_message()
Translate a message from a domain
get_message(string $domain, string $sectionKey, string $messageKey[, mixed $messageParam = "" ]) : string
This function is mimicking dgettext().
Parameters
- $domain : string
-
Catalog domain name
- $sectionKey : string
-
Section key of the catalog
- $messageKey : string
-
Message key of the catalog
- $messageParam : mixed = ""
-
Optional array or single value that replaces '###' in the message. Default is ""
Tags
Return values
stringtranslate_message()
Translate a message from a domain
translate_message(string $domain, string $message) : string
This function is mimicking dgettext().
Parameters
- $domain : string
-
Catalog domain name
- $message : string
-
Message to translate
Tags
Return values
stringdateFormatFromString()
Format dates and times for localization in numeric short format
dateFormatFromString(string $datetime) : string
Use it for displaying data to the user, not formatting data for the db.
If $datetime is not parseable then its value is returned unformated.
If IntlDateFormatter instanciation fails then the date is formated with "Y-M-d H:i:s" pattern.
Parameters
- $datetime : string
-
comes in from the database in the format 'YYYY-MM-DD HH:MM:SS' e.g. 2013-01-31 15:54:55
Return values
stringdateFormatFromTimeStamp()
Format dates and times for localization in numeric short format
dateFormatFromTimeStamp(int $timestamp) : string
Use it for displaying data to the user, not formatting data for the db.
If IntlDateFormatter instanciation fails then the date is formated with "Y-M-d H:i:s" pattern.
Parameters
- $timestamp : int
Return values
stringcodeISO639a1toName()
Return the name of a language defined by its locale code or its ISO 639-1 (alpha-2) code.
codeISO639a1toName(string $codeISO) : string
Parameters
- $codeISO : string
Tags
Return values
stringset_locales()
Set the default locale of Intl library with the user's preferred locale
set_locales() : void
load_locales()
Load the translation catalogs of the user's preferred language.
load_locales(string $domain, string $locale) : array<string|int, mixed>
Parameters
- $domain : string
- $locale : string
Return values
array<string|int, mixed>determine_locale()
Determine the user's preferred language.
determine_locale([string|null $force_locale = NULL ]) : string
This function builds a language priority stack and return the first entry as the user's preferred language.
If $force_locale is passed, this function will try to use this locale first.
Parameters
- $force_locale : string|null = NULL
-
Code of a locale (format: ll[_Script][_CC])(optional, NULL by default)
Return values
stringdetermine_locale_priority_stack()
Determine the user's preferred language.
determine_locale_priority_stack([string|null $force_locale = NULL ]) : array<string|int, string>
This function builds a language priority stack. The first is the highest priority.
If $force_locale is passed, this function will try to use this locale first.
Parameters
- $force_locale : string|null = NULL
-
Code of a locale (format: ll[_Script][_CC])(optional, NULL by default)
Return values
array<string|int, string>getAllLocales()
Return a selected list of all locales recognised by Intl and usable for translation and formatting
getAllLocales([bool $sorted_by_key = FALSE ]) : array<string|int, string>
Each entry of the returned array is locale code (format: ll[_Script][_CC]) as key and its name as value [format: language (Country, Variant)].
ll is a mandatory language code CC is an optional country code variant is an optional script, money or collation code
Parameters
- $sorted_by_key : bool = FALSE
-
If TRUE, sort the table by keys instead of values
Tags
Return values
array<string|int, string>localetoBCP47()
Return the BCP 47 code that matches the code of a locale.
localetoBCP47(string $locale) : string
The BCP 47 code is used in the lang attribute of any HTML tag. The list of supported languages is simple enough to avoid having to encounter any particular case.
Parameters
- $locale : string
-
Code of a locale (format: ll[_Script][_CC])
Tags
Return values
string —If a BCP47 code is missing, return 'en'
getTranslatableLocales()
Get a list of translatable locales sorted by locale name
getTranslatableLocales(string $in_locale) : array<string|int, string>
This is a list of locales that a translator can use to translate a text, and not a list of locales currently available on the system.
Parameters
- $in_locale : string
-
Transalate locales names with local $in_locale
Return values
array<string|int, string> —Each key is a locale code and its value a displayname.
searchLanguageCode()
Return the language code matching a language name
searchLanguageCode(string $language_name) : string
If no language code matchs the name, return "".
NB: this function is slow and should not be used outside the upgrade code
Parameters
- $language_name : string
Return values
stringsort()
Sort an array according to the current Intl locale in ascending order
sort(array<string|int, mixed> &$array[, int $flags = Collator::SORT_REGULAR ]) : bool
This function is a wrapper of collator_sort() that works as sort().
If you really need more flexibility or the full power of an Unicode sort algo, use the original function.
Parameters
- $array : array<string|int, mixed>
-
Array of strings to sort.
- $flags : int = Collator::SORT_REGULAR
-
Optional sorting type, one of the following:
- Collator::SORT_REGULAR - compare items normally (don't change types)
- Collator::SORT_NUMERIC - compare items numerically
- Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.
return bool TRUE on success, FALSE otherwise
Tags
Return values
boolasort()
Sort an array according to the current Intl locale in ascending order and maintain index association
asort(array<string|int, mixed> &$array[, int $flags = Collator::SORT_REGULAR ]) : bool
This function is a wrapper of collator_asort() that works as asort().
If you really need more flexibility or the full power of an Unicode sort algo, use the original function.
Parameters
- $array : array<string|int, mixed>
-
Array of strings to sort.
- $flags : int = Collator::SORT_REGULAR
-
Optional sorting type, one of the following:
- Collator::SORT_REGULAR - compare items normally (don't change types)
- Collator::SORT_NUMERIC - compare items numerically
- Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.
return bool TRUE on success, FALSE otherwise
Tags
Return values
boolksort()
Sort an array according to the current Intl locale in ascending order and maintain index association
ksort(array<string|int, mixed> &$array[, int $flags = Collator::SORT_REGULAR ]) : bool
This function is a wrapper of Collator::compare() that works as ksort().
If you really need more flexibility or the full power of an Unicode sort algo, use the original function.
Parameters
- $array : array<string|int, mixed>
-
Array of strings to sort.
- $flags : int = Collator::SORT_REGULAR
-
Optional sorting type, one of the following:
- Collator::SORT_REGULAR - compare items normally (don't change types)
- Collator::SORT_NUMERIC - compare items numerically
- Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.
return bool TRUE on success, FALSE otherwise
Tags
Return values
boolrsort()
Sort an array according to the current Intl locale in descending order
rsort(array<string|int, mixed> &$array[, int $flags = Collator::SORT_REGULAR ]) : bool
This function is a wrapper of Collator::compare() that works as rsort().
If you really need more flexibility or the full power of an Unicode sort algo, use the original function.
Parameters
- $array : array<string|int, mixed>
-
Array of strings to sort.
- $flags : int = Collator::SORT_REGULAR
-
Optional sorting type, one of the following:
- Collator::SORT_REGULAR - compare items normally (don't change types)
- Collator::SORT_NUMERIC - compare items numerically
- Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.
return bool TRUE on success, FALSE otherwise
Tags
Return values
boolarsort()
Sort an array according to the current Intl locale in descending order and maintain index association
arsort(array<string|int, mixed> &$array[, int $flags = Collator::SORT_REGULAR ]) : bool
This function is a wrapper of Collator::compare() that works as arsort().
If you really need more flexibility or the full power of an Unicode sort algo, use the original function.
Parameters
- $array : array<string|int, mixed>
-
Array of strings to sort.
- $flags : int = Collator::SORT_REGULAR
-
Optional sorting type, one of the following:
- Collator::SORT_REGULAR - compare items normally (don't change types)
- Collator::SORT_NUMERIC - compare items numerically
- Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.
return bool TRUE on success, FALSE otherwise
Tags
Return values
boolkrsort()
Sort an array according to the current Intl locale in descending order and maintain index association
krsort(array<string|int, mixed> &$array[, int $flags = Collator::SORT_REGULAR ]) : bool
This function is a wrapper of Collator::compare() that works as krsort().
If you really need more flexibility or the full power of an Unicode sort algo, use the original function.
Parameters
- $array : array<string|int, mixed>
-
Array of strings to sort.
- $flags : int = Collator::SORT_REGULAR
-
Optional sorting type, one of the following:
- Collator::SORT_REGULAR - compare items normally (don't change types)
- Collator::SORT_NUMERIC - compare items numerically
- Collator::SORT_STRING - compare items as strings Default sorting type is Collator::SORT_REGULAR. It is also used if an invalid flags value has been specified.
return bool TRUE on success, FALSE otherwise
Tags
Return values
boolmessageTranslatorNeeded()
Return a message if the project need translation contribution for the current locale
messageTranslatorNeeded() : string
return string
Return values
stringgetPagingParams()
Get the paging start and total
getPagingParams(array<string|int, mixed> $vars) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
Return values
array<string|int, mixed>getNum()
Get information on the number or characters being used for alphabetical and dictionary paging
getNum(array<string|int, mixed> $pagingArray, string $conjunction, int $start, int $total) : string
Parameters
- $pagingArray : array<string|int, mixed>
- $conjunction : string
- $start : int
- $total : int
Return values
stringsetLinks()
Get links for alphabetical and dictionary paging
setLinks(array<string|int, mixed> $pagingArray, string $conjunction, int $start, string $browserTabID, string $queryString) : array<string|int, mixed>
Parameters
- $pagingArray : array<string|int, mixed>
- $conjunction : string
- $start : int
- $browserTabID : string
- $queryString : string
Return values
array<string|int, mixed>getZoomSlices()
Get zooming paging slices
getZoomSlices(int $paging, int $start, int $total, int $maxLinks, array<string|int, mixed> $vars, string $queryString, string $prefix) : void
Parameters
- $paging : int
- $start : int
- $total : int
- $maxLinks : int
- $vars : array<string|int, mixed>
- $queryString : string
- $prefix : string
calculateZoomSlices()
Calculate the zoom slices
calculateZoomSlices(int $paging, int $start, int $total, int $maxLinks, int $row, array<string|int, mixed> $storeSlices, array<string|int, mixed> $vars, object $icons, object $store, string $rootLink, string $queryString, string $prefix, mixed $BT, bool $reloaded) : mixed
Parameters
- $paging : int
- $start : int
- $total : int
- $maxLinks : int
- $row : int
- $storeSlices : array<string|int, mixed>
- $vars : array<string|int, mixed>
- $icons : object
- $store : object
- $rootLink : string
- $queryString : string
- $prefix : string
- $BT : mixed
- $reloaded : bool
getZoomLinks()
Get the zoom links
getZoomLinks(int $paging, int $start, array<string|int, mixed> $starts, array<string|int, mixed> $ends, array<string|int, mixed> $slices, int $row, int $sliceSize, array<string|int, mixed> $storeColumns, array<string|int, mixed> $storeStarts, array<string|int, mixed> $storeEnds, object $icons, string $rootLink, string $queryString, string $BT) : array<string|int, mixed>
Parameters
- $paging : int
- $start : int
- $starts : array<string|int, mixed>
- $ends : array<string|int, mixed>
- $slices : array<string|int, mixed>
- $row : int
- $sliceSize : int
- $storeColumns : array<string|int, mixed>
- $storeStarts : array<string|int, mixed>
- $storeEnds : array<string|int, mixed>
- $icons : object
- $rootLink : string
- $queryString : string
- $BT : string
Return values
array<string|int, mixed>zoomToTop()
Set zoom top link link
zoomToTop(object $icons, string $rootLink, string $queryString, string $BT) : string
Parameters
- $icons : object
- $rootLink : string
- $queryString : string
- $BT : string
Return values
stringzoomUpOneLevel()
Set zoom up one level link
zoomUpOneLevel(int $row, array<string|int, mixed> $storeColumns, array<string|int, mixed> $storeStarts, array<string|int, mixed> $storeEnds, object $icons, string $rootLink, string $queryString, string $BT) : string
Parameters
- $row : int
- $storeColumns : array<string|int, mixed>
- $storeStarts : array<string|int, mixed>
- $storeEnds : array<string|int, mixed>
- $icons : object
- $rootLink : string
- $queryString : string
- $BT : string
Return values
stringstoreZoomData()
Store the zoom session
storeZoomData(string $prefix, string $storeSlices, string $storeSliceSizes, string $storeStarts, string $storeEnds, string $storeColumns, object $store) : void
Parameters
- $prefix : string
- $storeSlices : string
- $storeSliceSizes : string
- $storeStarts : string
- $storeEnds : string
- $storeColumns : string
- $store : object
getRootLink()
Get the root link for the paging link
getRootLink(string $queryString) : mixed
Parameters
- $queryString : string
linksInfo()
Format display information string
linksInfo(int $start, int $total, int $paging[, false|string $bibTitle = FALSE ][, false|string $ideas = FALSE ]) : string
Parameters
- $start : int
- $total : int
- $paging : int
- $bibTitle : false|string = FALSE
-
Default is FALSE
- $ideas : false|string = FALSE
-
Default is FALSE
Return values
stringgetUserBib()
Check for user bibliographies
getUserBib() : array<string|int, mixed>
Return values
array<string|int, mixed>getBib()
Get details about the bibliography being used
getBib(string $bibTitle) : mixed
Parameters
- $bibTitle : string
getData()
get data from database
getData(array<string|int, mixed> $resourceData, object $common, object $bibCite) : array<string|int, mixed>
Parameters
- $resourceData : array<string|int, mixed>
- $common : object
- $bibCite : object
Return values
array<string|int, mixed>grabCollection()
Grab collection title
grabCollection(array<string|int, mixed> $rowTypes, array<string|int, mixed> &$entryArray, array<string|int, mixed> $resourceData, object $map) : void
Parameters
- $rowTypes : array<string|int, mixed>
- $entryArray : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $map : object
grabPublisher()
Grab publisher
grabPublisher(array<string|int, mixed> $rowTypes, array<string|int, mixed> &$entryArray, array<string|int, mixed> $resourceData, object $map) : void
Parameters
- $rowTypes : array<string|int, mixed>
- $entryArray : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $map : object
grabNames()
grabNames
grabNames(array<string|int, mixed> $rowTypes, array<string|int, mixed> &$entryArray, array<string|int, mixed> $resourceData, object $map, object $common) : void
Parameters
- $rowTypes : array<string|int, mixed>
- $entryArray : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $map : object
- $common : object
webFormat()
web_article, URL and accessed date
webFormat(array<string|int, mixed> $row, array<string|int, mixed> $urls) : string
Parameters
- $row : array<string|int, mixed>
- $urls : array<string|int, mixed>
Return values
stringyear2Format()
format YYYY/MM/DD of conference dates etc
year2Format(array<string|int, mixed> $row) : string
Parameters
- $row : array<string|int, mixed>
Return values
stringyear1Format()
format YYYY/MM/DD of publication
year1Format(array<string|int, mixed> $row) : string
Parameters
- $row : array<string|int, mixed>
Return values
stringtimeFormat()
format running time for films
timeFormat(array<string|int, mixed> $row) : string
Parameters
- $row : array<string|int, mixed>
Return values
stringgrabNoteAbstract()
grabNoteAbstract
grabNoteAbstract(array<string|int, mixed> &$entryArray, array<string|int, mixed> $resourceData, object $bibCite) : void
Parameters
- $entryArray : array<string|int, mixed>
- $resourceData : array<string|int, mixed>
- $bibCite : object
grabKeywords()
grabKeywords
grabKeywords(array<string|int, mixed> &$entryArray, array<string|int, mixed> $rIds, object $db) : void
Parameters
- $entryArray : array<string|int, mixed>
- $rIds : array<string|int, mixed>
- $db : object
tidyOutput()
Tidy up the output for plain text
tidyOutput(array<string|int, mixed> $input) : array<string|int, mixed>
Parameters
- $input : array<string|int, mixed>
Return values
array<string|int, mixed>header()
Set some defaults and create the RTF opening tag
header() : string
Return values
stringfooter()
Create the RTF closing tag
footer() : string
Return values
stringfootnotes()
Set RTF headers regarding footnotes/endnotes
footnotes(string $method[, mixed $extra = FALSE ]) : mixed
See notes at the beginning of this file. But especially remember that endSameId and endSameIdOrdered are fake endnotes (span data-wikindxbib is removed in RTFEXPORT::parseHTML())
Parameters
- $method : string
- $extra : mixed = FALSE
-
Default FALSE
citation()
Citation stuff The options for $citeStyle are: 'inText' In-text citations (needs bibliography appended) 'ftInc' Footnotes: the footnotes order increments from 1 (needs bibliography appended) 'endInc' Endnotes: the endnotes order increments from 1 'endSameId' Endnotes using the same ID for the same resource: the endnotes order increments from 1 'endSameIdOrdered' Endnotes using the same ID for the same resource: the endnotes order is set in the bibliography settings
citation(string $method[, mixed $extra1 = FALSE ][, mixed $extra2 = FALSE ]) : mixed
Most of the formatting of citations is accomplished by the citation engine and formatting in HTML and a bibliography is appended where appropriate.
Parameters
- $method : string
- $extra1 : mixed = FALSE
-
Default FALSE
- $extra2 : mixed = FALSE
-
Default FALSE
documentSettings()
Deal with document defaults. This function has various roles depending on the value of $method Must be called before traverseDOM()
documentSettings(string $method[, mixed $extra = FALSE ][, string $paperSize = 'A4' ][, string $lineSpacing = 'singleSpace' ]) : mixed
Parameters
- $method : string
- $extra : mixed = FALSE
-
Default FALSE
- $paperSize : string = 'A4'
-
Default 'A4'
- $lineSpacing : string = 'singleSpace'
-
Default 'singleSpace'
cleanHtml()
Clean up HTML before parsing and do some initial conversion
cleanHtml(string $text) : string
Parameters
- $text : string
Return values
stringspecialCharsToRTF()
Convert special characters.
specialCharsToRTF(string $text, bool $protectCurlyBrace) : string
For RTF, for escaping special characters used to build control words, it is recommended to convert to hex
Parameters
- $text : string
- $protectCurlyBrace : bool
Return values
stringcleanBlockquotes()
TinyMCE always puts p tags within blockquote—remove them!
cleanBlockquotes(string $text) : string
Parameters
- $text : string
Return values
stringfonts()
Deal with fonts. This function has various roles depending on the value of $method
fonts(string $method[, string $font = '' ]) : mixed
Parameters
- $method : string
- $font : string = ''
-
Default ''
colours()
Deal with colours. This function has various roles depending on the value of $method
colours(string $method[, string $colour = '' ]) : mixed
Parameters
- $method : string
- $colour : string = ''
-
Default ''
lists()
Deal with lists. This function has various roles depending on the value of $method
lists(string $method[, string $string = '' ]) : mixed
Parameters
- $method : string
- $string : string = ''
-
Default ''
listToRTF()
Convert lists to RTF (deals with nested lists too and recognizes unordered or ordered)
listToRTF(array<string|int, mixed> $stack, string $listType) : string
Although list items might have style attributes such as align right, these are ignored by RTF so ignore them here too.
Parameters
- $stack : array<string|int, mixed>
- $listType : string
Return values
stringnewListTableItem()
Create new listtable item
newListTableItem(int $levelnfc, int $listIndex) : string
Parameters
- $levelnfc : int
- $listIndex : int
Return values
stringtextDecoration()
text-decoration styling
textDecoration(string $style) : mixed
Parameters
- $style : string
fontWeight()
Convert font-weight
fontWeight(string $style) : string
Parameters
- $style : string
Return values
stringfontSize()
Convert font size to RTF
fontSize(string $size) : string
Parameters
- $size : string
Return values
stringtraverseDOM()
Traverse the DOM and produce RTF code
traverseDOM(DOMNode $domNode[, mixed $listLevel = 0 ][, int $tableNestLevel = 0 ]) : string
Parameters
- $domNode : DOMNode
- $listLevel : mixed = 0
- $tableNestLevel : int = 0
-
Default = 0
Return values
stringnodeAttributes()
Convert attributes
nodeAttributes(DOMNode $node[, bool $wantArray = FALSE ]) : mixed
Parameters
- $node : DOMNode
- $wantArray : bool = FALSE
-
Default = FALSE
tables()
Deal with tables and their elements. This function has various roles depending on the value of $method
tables(string $method[, mixed $extra = FALSE ][, mixed $extra2 = FALSE ]) : mixed
For each table, there is a $tableObject, and each nested table gets a new $tableObject
Parameters
- $method : string
- $extra : mixed = FALSE
-
Default = FALSE
- $extra2 : mixed = FALSE
-
Default FALSE
setCellEdgeDefaults()
Set cell edge defaults in the table matrix.
setCellEdgeDefaults(array<string|int, mixed> $tableMatrix, string $key, mixed $value) : array<string|int, mixed>
Done when first encountering a table tag.
Also used to set the table parameter 'cellpadding' on all cells.
Parameters
- $tableMatrix : array<string|int, mixed>
- $key : string
- $value : mixed
Return values
array<string|int, mixed>tableCellToRTF()
Convert table cell to RTF cell property string
tableCellToRTF(array<string|int, mixed> $attributes, array<string|int, mixed> $cellArray, int $thisRowNumber, int $thisCellNumber[, bool $th = FALSE ]) : array<string|int, mixed>
Parameters
- $attributes : array<string|int, mixed>
- $cellArray : array<string|int, mixed>
- $thisRowNumber : int
- $thisCellNumber : int
- $th : bool = FALSE
-
(Default FALSE)
Return values
array<string|int, mixed>inheritParentBorders()
Transfer the parent's border properties to a spanned child
inheritParentBorders(array<string|int, mixed> $childCell, int $childRowNumber) : array<string|int, mixed>
Child can never have top edge
Parameters
- $childCell : array<string|int, mixed>
- $childRowNumber : int
Return values
array<string|int, mixed>getCellBorderParams()
Get cell border parameters
getCellBorderParams(string $key, string $value[, array<string|int, mixed> $attributes = [] ]) : array<string|int, mixed>
Parameters
- $key : string
- $value : string
- $attributes : array<string|int, mixed> = []
-
Default [] (used only if $key == 'border-style')
Return values
array<string|int, mixed>updateCellEdges()
Update cell edge in the table matrix for one cell. i.e. border has been set for this table cell
updateCellEdges(array<string|int, mixed> $cellArray, array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $cellArray : array<string|int, mixed>
- $params : array<string|int, mixed>
-
($style, $width, $color)
Return values
array<string|int, mixed>cellBordersToString()
Create a string of cell border properties from an array
cellBordersToString(array<string|int, mixed> $cellArray, array<string|int, mixed> $edges) : string
We also deal with rowspans where there may or may not be padding and borders
Parameters
- $cellArray : array<string|int, mixed>
- $edges : array<string|int, mixed>
Return values
stringcalculateTableMatrix()
We need to set up a table matrix counting number of rows and number of their children so we can deal with various properties.
calculateTableMatrix(DOMNode $domNode) : array<string|int, mixed>
Need to count max row cells in a table before we can set up the matrix. Note that the HTML code for vertical spanning ('rowspan') is likely to have uneven numbers of cells. Where there are gaps, we must insert the child cell. Note the relationship (Parent/Child) row no./cell no. for each member of a spanned group to be able to deal with inserted cell properties later on. Cell borders, background colours, properties and so on inherit from the table properties but can override them with individual cell settings. This function is called on an opening table or tbody tag, so, here, we first set up the table matrix consisting of rows where the key is the row count for the table and the value is an array comprising an array of default properties for each cell. These properties can then be overriden in tableCellToRTF().
Parameters
- $domNode : DOMNode
Return values
array<string|int, mixed>getCellWidth()
Get cell width
getCellWidth(array<string|int, mixed> $attributes) : string
Parameters
- $attributes : array<string|int, mixed>
Return values
stringstartCellToRTF()
Start the process of converting a td or th element
startCellToRTF(DOMNode $domNode, bool $rowSpanParent, int $tableNestLevel) : array<string|int, mixed>
Parameters
- $domNode : DOMNode
- $rowSpanParent : bool
- $tableNestLevel : int
-
// > 1 == nested
Return values
array<string|int, mixed>utf8_2_rtfansicpg1252()
UTF-8 to ANSI Windows 1252 strings for RTF only
utf8_2_rtfansicpg1252(string $string) : string
Returns a string encoded accordingly to Rich Text Format (RTF) Specification Version 1.9.1.
Parameters
- $string : string
-
UTF-8 encoded string
Tags
Return values
string —plain ASCII with RTF specific sequences for others characters
domImageToRtfImagePlaceholders()
Replace HTML image src attribut by a placeholder pointing to a cached file on disk
domImageToRtfImagePlaceholders(DOMNode $domNode) : string
The file is hex encoded in cache/files and its filename is inserted inside src, using a pattern as "##
Online resources are dwnloaded and included like others images.
The real insertion is postponed and delegated to \UTILS\insertExportImages() that consumes less memory.
Parameters
- $domNode : DOMNode
Return values
stringdomNodeAttributes2Array()
Convert attributes of a DOMNode to an array of attributes
domNodeAttributes2Array(DOMNode $domNode) : array<string|int, string>
Parameters
- $domNode : DOMNode
Return values
array<string|int, string>arrayMonthAndSeasonNames()
Return an array of months and season names
arrayMonthAndSeasonNames(string $format[, string $locale = "en_GB" ]) : array<string|int, string>
Parameters
- $format : string
-
Short form (short), Long form (long) (Default is 'long')
- $locale : string = "en_GB"
-
Code of a locale (format: ll[_Script][_CC])(optional, 'en_GB' by default)
Tags
Return values
array<string|int, string>monthAndSeasonName()
Return a month or season name
monthAndSeasonName(int $number, string $format[, string $locale = "en_GB" ]) : string
Parameters
- $number : int
-
Month or season number
- $format : string
-
Short form (short), Long form (long) (Default is 'long')
- $locale : string = "en_GB"
-
Code of a locale (format: ll[_Script][_CC])(optional, 'en_GB' by default)
Tags
Return values
stringcardinalToOrdinal()
Make an ordinal from a cardinal. Default is English
cardinalToOrdinal(int $number[, string $locale = "en_GB" ][, string $gender = "m" ][, string $pre = '' ][, string $post = '' ]) : string
Parameters
- $number : int
-
Number value
- $locale : string = "en_GB"
-
Code of a locale (format: ll[_Script][_CC])(optional, 'en_GB' by default)
- $gender : string = "m"
-
One letter code for masculine (m), feminine (f) (optional, 'm' by default)
- $pre : string = ''
-
Tag framing the extension of the ordinal on the left
- $post : string = ''
-
Tag framing the extension of the ordinal on the right
Tags
Return values
stringcardinalToOrdinalWord()
Convert ordinal to word
cardinalToOrdinalWord(int $number[, string $locale = "en_GB" ][, string $gender = "m" ]) : string
This implementation is limited to the numeric range 1 to 10,000 for Latin, and to ICU spec. range for others (very high).
When a formatter is not defined or return an error, the English formatter is used instead.
When $number is negative, an empty string is returned.
Parameters
- $number : int
-
Positive number value
- $locale : string = "en_GB"
-
Code of a locale (format: ll[_Script][_CC])(optional, 'en_GB' by default)
- $gender : string = "m"
-
One letter code for masculine (m), feminine (f), or neutral (n) (optional, 'm' by default)
Tags
Return values
stringcardinalToOrdinalWordLatin()
Convert ordinal to word in Latin
cardinalToOrdinalWordLatin(int $number[, string $gender = "m" ]) : string
This implementation is limited to the numeric range 1 to 10,000. higher numbers are formatted with ICU English formatter instead.
When $number is negative, an empty string is returned.
Parameters
- $number : int
-
Positive number value
- $gender : string = "m"
-
One letter code for masculine (m), feminine (f), or neutral (n) (optional, 'm' by default)
Return values
stringcardinalToGreek()
convert cardinal (Arabic) to Greek numerals
cardinalToGreek(int $cardinal) : string
This implementation is limited to the numeric range 1 to 9,999 following the ancient greek alphabetical numeral system.
Its use is intended only for modern notation of years, centuries, or volumes ..., like Roman numbers in modern latin scripts.
When $cardinal is outside the accepted range, the empty string is returned.
Parameters
- $cardinal : int
Tags
Return values
stringcardinalToRoman()
convert cardinal (Arabic) to Roman numerals
cardinalToRoman(int $cardinal) : string
This implementation is limited to the numeric range 0 to 3,999 following the standard form of Roman numerals, plus the medieval nulla (N).
Its use is intended only for modern notation of years, centuries, or volumes ...
When $cardinal is outside the accepted range, the empty string is returned.
Parameters
- $cardinal : int
Tags
Return values
stringgetUuid()
Get UUID from database
getUuid(class $db) : string
Parameters
- $db : class
Return values
string —$uuid
store()
Store/merge data.
store(SQL $db, string $uuid, array<string|int, mixed> $data[, bool $overwrite = FALSE ]) : bool
If $overwrite is FALSE, the data to be stored is merged with the existing data in the database.
Parameters
- $db : SQL
- $uuid : string
- $data : array<string|int, mixed>
- $overwrite : bool = FALSE
-
Default is FALSE
Return values
bool —FALSE if $uuid is not set or $data empty, otherwise TRUE
exists()
Check a row exists
exists(SQL $db, string $uuid) : bool
Parameters
- $db : SQL
- $uuid : string
Return values
boolfetch()
Fetch data array
fetch(SQL $db, string $uuid) : array<string|int, mixed>|false
Parameters
- $db : SQL
- $uuid : string
Return values
array<string|int, mixed>|false —$data
fetchOne()
Fetch one array element
fetchOne(SQL $db, string $uuid, string $key) : mixed
Parameters
- $db : SQL
- $uuid : string
- $key : string
Return values
mixed —$data FALSE if $key is not in row
delete()
Delete row
delete(SQL $db, string $uuid) : void
Parameters
- $db : SQL
- $uuid : string
deleteKeys()
Delete keys from the row data array
deleteKeys(SQL $db, string $uuid, array<string|int, mixed> $deleteKeys) : bool
Parameters
- $db : SQL
- $uuid : string
- $deleteKeys : array<string|int, mixed>
Return values
bool —FALSE if row doesn't exist, otherwise TRUE
build_query()
Generate URL-encoded query string according to RFC 3986
build_query(array<string|int, mixed>|object $data) : string
This function is a wrapper for http_build_query() where $encoding_type parameter is always PHP_QUERY_RFC3986
Parameters
- $data : array<string|int, mixed>|object
-
Array or object key-value pairs
Return values
stringescape()
Escape a component of a URL according to RFC 3986
escape(mixed $url) : string
This function attempts to split a URL into its components and recompose it after decoding and re-encoding the components.
A well-constructed URL should not suffer from this operation. Those that are malformed can be corrected but if an & character appears in the parameters, parameters may disappear.
Use the \URL\build_query() function to construct well-encoded parameters.
If $url is not a string, $url is casted to string type before escaping.
Parameters
- $url : mixed
-
URL
Tags
Return values
stringreduceUrl()
Reduce the size of long URL to keep web browser display tidy
reduceUrl(string $url[, int|null $limit = NULL ]) : string
Parameters
- $url : string
-
URL to reduce
- $limit : int|null = NULL
-
Max number unicode characters (Default is the value of user option 'StringLimit')
Return values
stringgetCurrentProtocol()
Return the protocol requested by the HTTP client
getCurrentProtocol() : string
Return values
string —http or https (in lowercase)
getVhost()
Return the vHost name (Virtual Hostname)
getVhost() : string
Read also the special 'CLI_VHOST' constant which can be defined to simulate a vHost in CLI mode.
Return an empty string when the vHost cannot be read.
Return values
stringURL_exists()
Check that an internet resource exists
URL_exists(string $url) : bool
The resource is queried with the HTTP protocol to find out if it really exists online. The HTTP error code returned must be between 200 and 300.
Parameters
- $url : string
Return values
boolhtml_numeric_entity_decode()
Convert numeric HTML entities to their corresponding characters
html_numeric_entity_decode(string $str) : string
Act like html_entity_decode() builtin but converts also control characters.
Parameters
- $str : string
Tags
Return values
stringmb_ucfirst()
A unicode aware replacement for ucfirst()
mb_ucfirst(string $str[, string|null $encoding = NULL ]) : string
TODO(LkpPo): remove this polyfill when PHP 8.4 will be the minimum PHP version
Parameters
- $str : string
- $encoding : string|null = NULL
-
Encoding ID Default is NULL
Tags
Return values
stringmb_explode()
Simulate explode() for multibytes strings (as documented for PHP 7.0)
mb_explode(string $delimiter, string $string[, int|null $limit = PHP_INT_MAX ]) : array<string|int, mixed>
Parameters
- $delimiter : string
- $string : string
- $limit : int|null = PHP_INT_MAX
-
Default is PHP_INT_MAX.
Return values
array<string|int, mixed>mb_strrev()
Simulate strrev() for multibytes strings
mb_strrev(string $str) : string
Parameters
- $str : string
Return values
stringmb_substr_replace()
Simulate substr_replace() for multibytes strings
mb_substr_replace(string $string, string $replacement, int $start[, int|null $length = NULL ][, string|null $encoding = NULL ]) : string
Parameters
- $string : string
- $replacement : string
- $start : int
-
Start position in characters
- $length : int|null = NULL
-
Default is NULL
- $encoding : string|null = NULL
-
Encoding ID Default is NULL
Return values
stringmb_trim()
Multi-byte safely strip white-spaces (or other characters) from the beginning and end of a string.
mb_trim(string $string[, string $characters = "
" ][, string|null $encoding = NULL ]) : string
Parameters
- $string : string
-
The string that will be trimmed.
- $characters : string = " "
-
Optionally, the stripped characters can also be specified using the $characters parameter. Simply list all characters that you want to be stripped.
- $encoding : string|null = NULL
-
The encoding parameter is the character encoding Default is NULL
Tags
Return values
string —The trimmed string
mb_ltrim()
Multi-byte safely strip white-spaces (or other characters) from the beginning of a string.
mb_ltrim(string $string[, string $characters = "
" ][, string|null $encoding = NULL ]) : string
Parameters
- $string : string
-
The string that will be trimmed.
- $characters : string = " "
-
Optionally, the stripped characters can also be specified using the $characters parameter. Simply list all characters that you want to be stripped.
- $encoding : string|null = NULL
-
The encoding parameter is the character encoding Default is NULL
Tags
Return values
string —The trimmed string
mb_rtrim()
Multi-byte safely strip white-spaces (or other characters) from the end of a string.
mb_rtrim(string $string[, string $characters = "
" ][, string|null $encoding = NULL ]) : string
Parameters
- $string : string
-
The string that will be trimmed.
- $characters : string = " "
-
Optionally, the stripped characters can also be specified using the $characters parameter. Simply list all characters that you want to be stripped.
- $encoding : string|null = NULL
-
The encoding parameter is the character encoding Default is NULL
Tags
Return values
string —The trimmed string
listCoreMandatoryPHPExtensions()
Return an array of mandatory PHP extensions used by the WIKINDX core
listCoreMandatoryPHPExtensions() : array<string|int, string>
The name of each extension is the value of an array entry. An extension name use the same casing as get_loaded_extensions().
Return values
array<string|int, string>listCoreOptionalPHPExtensions()
Return an array of optional PHP extensions used by the WIKINDX core
listCoreOptionalPHPExtensions() : array<string|int, string>
The name of each extension is the value of an array entry. An extension name use the same casing as get_loaded_extensions().
Return values
array<string|int, string>OSName()
Return the normalized name of the current os
OSName() : string
Values can be:
- "windows" for Cygwin, mingw, msys, or Windows
- "mac" forall version of MAC OSX
- The raw name in lowercase (a-z chars only) for others
Return values
stringmatchPrefix()
Check if a prefix match against a string
matchPrefix(string $string, string $prefix[, bool $casesensitive = FALSE ]) : bool
Parameters
- $string : string
-
A string
- $prefix : string
-
A prefix
- $casesensitive : bool = FALSE
-
Perform a case sensitive comparison if TRUE (FALSE by default)
Return values
boolmatchSuffix()
Check if a suffix match against a string
matchSuffix(string $string, string $suffix[, bool $casesensitive = FALSE ]) : bool
Parameters
- $string : string
-
A string
- $suffix : string
-
A suffix
- $casesensitive : bool = FALSE
-
Perform a case sensitive comparison if TRUE (FALSE by default)
Return values
boolcurl_download_file_http()
Download a file from an url with HTTP
curl_download_file_http(string $url, string $file) : bool
NB: follow 32 redirects (for SourceForge) and don't check certificats and fingerprints
Parameters
- $url : string
-
The url of a web resource
- $file : string
-
The path of a local file
Return values
bool —TRUE if the download is successful, FALSE otherwise
uuid()
Return a (pseudo) unique string of variable length using random_bytes().
uuid([int $length = 16 ]) : string
Parameters
- $length : int = 16
-
Length of the returned string (Default is 16)
Return values
stringcreateDataFolders()
Create default data folders used by the application
createDataFolders() : void
checkFileSystemPerms()
Check the permissions of various folders and files which must be writable
checkFileSystemPerms([bool $withFiles = FALSE ]) : mixed
Parameters
- $withFiles : bool = FALSE
-
Also check file perms (Default is FALSE)
arrayCombinations()
Generate an array of all possible combinations of array values From https://stackoverflow.com/questions/10834393/php-how-to-get-all-possible-combinations-of-1d-array with minor adaptation ($space)
arrayCombinations(array<string|int, mixed> $arr, string $temp_string, string $space, array<string|int, mixed> &$collect) : void
Parameters
- $arr : array<string|int, mixed>
- $temp_string : string
- $space : string
- $collect : array<string|int, mixed>
splitDate()
Take input from HTML FORM <input type=date> and split into separate fields.
splitDate(string $dateInput) : array<string|int, mixed>
Date comes in as 'yyyy-mm-dd' (but displayed on web form as 'dd / mm / yyyy'). All three fields must have a valid value else the form input is FALSE. This should be tested before calling this function.
Parameters
- $dateInput : string
Return values
array<string|int, mixed> —array(year, month, day)
balanceBraces()
Balance braces after removing noSort in resource input/edit of title or for bibTeX input
balanceBraces(string $string) : string
Parameters
- $string : string
Return values
stringsumBraces()
Balance braces after removing noSort or for bibTeX input — return result of sum of open - close braces
sumBraces(string $string) : int
Parameters
- $string : string
Return values
intnoSortPattern()
Create a preg pattern for checking presence of a WIKINDX_NO_SORT value at the beginning of a string.
noSortPattern([array<string|int, mixed> $noSortArray = [] ]) : string
If empty($noSortArray), then we use WIKINDX_NO_SORT (and assume that WIKINDX_NO_SORT has been checked for content). Otherwise, $noSortArray is from admin::configure::updateNoSort()
Parameters
- $noSortArray : array<string|int, mixed> = []
-
Default is []
Return values
stringwriteUserPassword()
Write a hashed version of a user password in users table
writeUserPassword(SQL $db, string $usersId, string $usersPassword) : void
Implementation history: see \UTILS\verifyUserPassword()
Parameters
- $db : SQL
-
An SQL object
- $usersId : string
-
A user Id
- $usersPassword : string
-
A clear password to encrypt/hash
verifyUserPassword()
Verify that a password matches a password hash of a user
verifyUserPassword(SQL $db, string $usersId, string $usersPassword) : bool
It hides the implementation changes linked to the evolution of cryptographic techniques.
Parameters
- $db : SQL
-
An SQL object
- $usersId : string
-
A user Id
- $usersPassword : string
-
A clear password to verify
Tags
Return values
boolarray_value_select()
Return the corresponding value of an array key or a default value
array_value_select(array<string|int, mixed> $array, mixed $key[, mixed $defaultKey = NULL ][, mixed $defaultValue = NULL ]) : mixed
This function is an access to the value of an array with fallback solutions in the event of absence.
This function is useful when it is necessary to select a value from a list and one of the inputs is also the default key or it is mandatory to obtain a consistent value at the output of the selection without having to write additional code.
Parameters
- $array : array<string|int, mixed>
-
An array to search the key for
- $key : mixed
-
The key whose value must be returned
- $defaultKey : mixed = NULL
-
The default key whose value must be returned if the key was not found (NULL by default)
- $defaultValue : mixed = NULL
-
The value returned if no key was found (NULL by default)
createHelpTopicLink()
Create a popup link for a Help Topic on the website
createHelpTopicLink(mixed $helpTopic) : string
Parameters
- $helpTopic : mixed
Return values
string —HTML link tag
canIResumeExecution()
Can I resume execution?
canIResumeExecution([int $memorySizeRemaining = 1048576 ][, int $excutionTimeRemaining = 6 ]) : bool
Says if it is possible to continue the execution of the program according to the consumption of memory and time.
Use this for memory or time intensive tasks you intend to interrupt without crash.
Say TRUE:
- if 10 MB or less remains before the PHP max memory limit
- or if 6 s. or less time remains before max_execution_time.
Otherwise FALSE.
NB:
- If memory_limit option is set to -1, the memory condition is not checked.
- If max_execution_time option is set to 0, the time condition is not checked.
Parameters
- $memorySizeRemaining : int = 1048576
-
Memory size in bytes of remaining before the limit (Default is 10MB = 1024 * 1024 bytes)
- $excutionTimeRemaining : int = 6
-
Execution time remaining before the max executionlimit (Default is 6 seconds)
Return values
boolcommand_exists()
Does an unix command exist?
command_exists(string $command) : bool
Parameters
- $command : string
-
Command to test with the default shell
Return values
bool —TRUE on success
insertExportImages()
Insert cached images inside exported files, and delete them
insertExportImages(string $fileName) : void
The file is written to consume as little memory as possible because the number of images can be large.
Parameters
- $fileName : string
reduceLongText()
Reduce the size of long text (in select boxes usually) to keep web browser display tidy.
reduceLongText(string $text[, bool|int $override = FALSE ][, int $words = 0 ][, bool $balance = TRUE ]) : string
Optional $override allows the programmer to override the user set preferences for number of characters. If optional $words is greater than 0, then that number of words is used rather than a number of characters. If optional $balance l= TRUE, the return string is something like 'xxxx ... xxxx' else it is 'xxxx ...' (if there are chars/words removed). If $words is being used, then $balance is ignored and the first $words are returned.
Parameters
- $text : string
- $override : bool|int = FALSE
-
Default is FALSE
- $words : int = 0
-
Default is 0
- $balance : bool = TRUE
-
Default TRUE
Return values
stringcomputeBibtexKeyAuthorYear()
Generate a BibTeX citation key for one resource with format 'AuthorYear'
computeBibtexKeyAuthorYear(int $resourceId, string $creatorPrefix, string $creatorSurname, string|int $year, array<string|int, string> $bibtexKeys) : string
LkpPo(TODO): fix the max length
Parameters
- $resourceId : int
-
Resource Id
- $creatorPrefix : string
-
Prefix of the first creator of the resource
- $creatorSurname : string
-
Surname of the first creator of the resource
- $year : string|int
-
Year of publication of the resource
- $bibtexKeys : array<string|int, string>
-
An array of existing BibTeX citation keys already stored in db
Return values
stringcomputeBibtexKeyAuthorID()
Generate a BibTeX citation key for one resource with format 'Author.ResourceId'
computeBibtexKeyAuthorID(int $resourceId, string $creatorPrefix, string $creatorSurname, array<string|int, string> $bibtexKeys) : string
LkpPo(TODO): fix the max length
Parameters
- $resourceId : int
-
Resource Id
- $creatorPrefix : string
-
Prefix of the first creator of the resource
- $creatorSurname : string
-
Surname of the first creator of the resource
- $bibtexKeys : array<string|int, string>
-
An array of existing BibTeX citation keys already stored in db
Return values
stringclearXmlString()
Clear forbidden characters from an XML string
clearXmlString(string $xmlstring) : string
If a forbidden character is in a XML string, PHP XML libraries crash.
This function should be used to remove forbidden characters from an XML file or string when the source in untrusted.
Parameters
- $xmlstring : string
-
An XML string
Tags
Return values
stringclearDOI()
Clear a DOI number
clearDOI(string $string) : string
Parameters
- $string : string
Tags
Return values
stringvalidateDOI()
Validate a DOI number
validateDOI(string $string) : bool
The DOI prefix is <directoryIndicator>.<registrantCode>
The following rules apply:
-
The directory indicator can contain only numeric values. The directory indicator is usually 10 but other indicators may be designated as compliant by the DOI Foundation.
-
The registrant code can contain only numeric values and one or several full stops which are used to subdivide the code. For example: 10.1000, 10.500.100, etc. If the directory indicator is 10 then a registrant code is mandatory
Parameters
- $string : string
Tags
Return values
boolescape()
Escape strings inserted in XML
escape(mixed $value) : string
If $value is not a string, $value is casted to string type before escaping.
Parameters
- $value : mixed
Return values
stringhandleParams()
Handle the params array and act as a gateway to other functions
handleParams(string $method[, mixed $extra = FALSE ][, string $type = FALSE ]) : array<string|int, mixed>
Parameters
- $method : string
- $extra : mixed = FALSE
-
Default FALSE
- $type : string = FALSE
-
Default FALSE
Return values
array<string|int, mixed>initialiseParams()
Initialise params for each type of list.
initialiseParams(string $type, array<string|int, mixed> $extra) : array<string|int, mixed>
Parameters
- $type : string
- $extra : array<string|int, mixed>
Return values
array<string|int, mixed>commonInit()
Initialise common list parameters
commonInit(array<string|int, mixed> $vars, array<string|int, mixed> $params, string $type, bool $reorder) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
- $params : array<string|int, mixed>
- $type : string
- $reorder : bool
Return values
array<string|int, mixed>qsearchInit()
Initialise qsearch parameters
qsearchInit(array<string|int, mixed> $vars, array<string|int, mixed> $params, string $type, bool $reorder) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
- $params : array<string|int, mixed>
- $type : string
- $reorder : bool
Return values
array<string|int, mixed>citeInit()
Initialise cite parameters
citeInit(array<string|int, mixed> $vars, array<string|int, mixed> $params, string $type, bool $reorder) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
- $params : array<string|int, mixed>
- $type : string
- $reorder : bool
Return values
array<string|int, mixed>basketInit()
Initialise basket parameters
basketInit(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>browseInit()
Initialise browse parameters
browseInit(array<string|int, mixed> $vars, array<string|int, mixed> $params, string $type, bool $reorder) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
- $params : array<string|int, mixed>
- $type : string
- $reorder : bool
Return values
array<string|int, mixed>ideasInit()
Initialise ideas parameters
ideasInit(array<string|int, mixed> $vars, array<string|int, mixed> $params, mixed $reorder) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
- $params : array<string|int, mixed>
- $reorder : mixed
Return values
array<string|int, mixed>advsearchInit()
Initialise advsearch parameters
advsearchInit(array<string|int, mixed> $vars, array<string|int, mixed> $params, string $type, bool $reorder) : array<string|int, mixed>
Parameters
- $vars : array<string|int, mixed>
- $params : array<string|int, mixed>
- $type : string
- $reorder : bool
Return values
array<string|int, mixed>advsearchForm()
Get some advsearch parameters for initialising the advsearch form
advsearchForm(array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>setParams()
Set a parameter. Multiple parameters can be set.
setParams(array<string|int, mixed> $extra, array<string|int, mixed> $params) : array<string|int, mixed>
Parameters
- $extra : array<string|int, mixed>
- $params : array<string|int, mixed>
Return values
array<string|int, mixed>finalize()
After completion of listing, save parameters
finalize(string $listStmt, mixed $type, array<string|int, mixed> $params) : mixed
Parameters
- $listStmt : string
-
*param string $type
- $type : mixed
- $params : array<string|int, mixed>
loadStaticConfig()
Load configuration from config.php
loadStaticConfig() : array<string|int, mixed>
This function die() if a config parameter is wrong.
Return values
array<string|int, mixed> —Array of error messages
wkx_session_open()
The open callback works like a constructor in classes and is executed when the session is being opened.
wkx_session_open(string $savePath, string $sessionName) : bool
It is the first callback function executed when the session is started automatically or manually with session_start(). Return value is true for success, false for failure.
Parameters
- $savePath : string
- $sessionName : string
Return values
boolwkx_session_close()
The close callback works like a destructor in classes and is executed after the session write callback has been called.
wkx_session_close() : bool
It is also invoked when session_write_close() is called. Return value should be true for success, false for failure.
Return values
boolwkx_session_read()
The read callback must always return a session encoded (serialized) string, or an empty string if there is no data to read.
wkx_session_read(string $sessionId) : string
This callback is called internally by PHP when the session starts or when session_start() is called. Before this callback is invoked PHP will invoke the open callback.
The value this callback returns must be in exactly the same serialized format that was originally passed for storage to the write callback. The value returned will be unserialized automatically by PHP and used to populate the $_SESSION superglobal. While the data looks similar to serialize() please note it is a different format which is specified in the session.serialize_handler ini setting.
Parameters
- $sessionId : string
Return values
stringwkx_session_write()
The write callback is called when the session needs to be saved and closed.
wkx_session_write(string $sessionId, string $sessionData) : bool
This callback receives the current session ID a serialized version the $_SESSION superglobal. The serialization method used internally by PHP is specified in the session.serialize_handler ini setting.
The serialized session data passed to this callback should be stored against the passed session ID. When retrieving this data, the read callback must return the exact value that was originally passed to the write callback.
This callback is invoked when PHP shuts down or explicitly when session_write_close() is called. Note that after executing this function PHP will internally execute the close callback.
Parameters
- $sessionId : string
- $sessionData : string
Return values
boolwkx_session_destroy()
This callback is executed when a session is destroyed with session_destroy() or with session_regenerate_id() with the destroy parameter set to true.
wkx_session_destroy(string $sessionId) : bool
Return value should be true for success, false for failure.
Parameters
- $sessionId : string
Return values
boolwkx_session_gc()
The garbage collector callback is invoked internally by PHP periodically in order to purge old session data.
wkx_session_gc(int $maxSessionLifetime) : bool
The frequency is controlled by WIKINDX_SESSION_GC_FREQUENCY. The value of lifetime which is passed to this callback is a fallback set in session.gc_maxlifetime.
The real value of lifetime is:
- WIKINDX_SESSION_AUTH_MAXLIFETIME for sessions which have been authenticated at least once.
- WIKINDX_SESSION_AUTH_REMEMBERME_MAXLIFETIME for sessions which have been authenticated at least once with a "Remember Me" flag.
- WIKINDX_SESSION_NOTAUTH_MAXLIFETIME for sessions which have never been authenticated.
Return value should be true for success, false for failure.
Parameters
- $maxSessionLifetime : int
-
(in seconds)
Return values
boolneedUpdate()
Check if the current WIKINDX data (db and files) need an upgrade
needUpdate(object $db) : bool
Parameters
- $db : object
-
An SQL object
Return values
boolexistsTableVersion()
Check if 'version' table that stores the version number of the db schema exists
existsTableVersion(object $db) : bool
Check also the old names of the version table.
This function is used only during the upgrade process.
Parameters
- $db : object
-
An SQL object
Return values
boolgetCoreInternalVersion()
Return the internal version stored in the database of the core
getCoreInternalVersion(object $db) : float
This function is used only during the upgrade process, and the value should be looked up in the field regardless of the version.
Parameters
- $db : object
-
An SQL object
Return values
floatsetCoreInternalVersion()
Write an internal version in the database of a component or the core
setCoreInternalVersion(object $db[, string $version = NULL ]) : mixed
This function is used only during the upgrade process, and the value should be written in the field regardless of the version.
If $version is NULL, the version number used it 0.0.
Parameters
- $db : object
-
An SQL object
- $version : string = NULL
-
(Default is NULL)
getComponentInternalVersion()
Return the internal version of a component stored in the database
getComponentInternalVersion(object $db, string $ComponentType, string $ComponentId) : float
This function is used only during the upgrade process or when a component is installed, and the value should be looked up in the field regardless of the version.
Parameters
- $db : object
-
An SQL object
- $ComponentType : string
-
Type of a component
- $ComponentId : string
-
Id of a component
Return values
floatsetComponentInternalVersion()
Write an internal version of a component in the database
setComponentInternalVersion(object $db, string $ComponentType, string $ComponentId[, string $version = NULL ]) : mixed
This function is used only during the upgrade process or when a component is installed, and the value should be written n the field regardless of the version.
If $version is NULL, the version number used it 0.0.
Parameters
- $db : object
-
An SQL object
- $ComponentType : string
-
Type of a component
- $ComponentId : string
-
Id of a component
- $version : string = NULL
-
(Default is NULL)
deleteComponentInternalVersion()
Delete an internal version of a component from the database
deleteComponentInternalVersion(object $db, string $ComponentType, string $ComponentId) : mixed
This function is used only during the upgrade process or when a component is uninstalled, and the value should be written n the field regardless of the version.
Parameters
- $db : object
-
An SQL object
- $ComponentType : string
-
Type of a component
- $ComponentId : string
-
Id of a component
existsSuperadminAccount()
Check if 'users' table has not been filled with the superadmin account
existsSuperadminAccount(object $db) : bool
This function is used only during the upgrade process.
Parameters
- $db : object
-
An SQL object
Return values
boolgetConfigContactEmail()
Return the configContactEmail depending on the software version
getConfigContactEmail(object $db) : float
This function is used only during the upgrade process, and the value should be looked up in the field regardless of the version.
Parameters
- $db : object
-
An SQL object
Return values
floatlogonCheckUpgradeDB()
Initial logon to the system when upgrading the database.
logonCheckUpgradeDB(object $db, string $username, string $password) : bool
Parameters
- $db : object
-
An SQL object
- $username : string
- $password : string
Return values
bool —TRUE if able to authenticate
wkx_error_handler()
Custom PHP errors handler
wkx_error_handler(int $errno, string $errstr, string $errfile, int $errline) : bool
cf. https://www.php.net/manual/fr/function.set-error-handler.php
The $errcontext parameter is not used because it is deprecated since PHP 7.2 It is no longer possible to know the context of the error. Instead we use the debug_print_backtrace() function.
NB: fatal errors like ‘parse error’ are still written in the log defined by error_log php.ini option because this handler cannot be called in that case.
Parameters
- $errno : int
-
PHP error code
- $errstr : string
-
PHP error message
- $errfile : string
-
File or script where the error occurred
- $errline : int
-
Error line number
Return values
boolwkx_error_log()
Write a message to the application log
wkx_error_log(mixed $Message) : void
When the application is not yet configured, the message is written to the log defined by php.ini.
Parameters
- $Message : mixed
-
Message
wkx_clear_error_log()
Remove expired error logs (14 days max) and limit their size to 25 MB by file
wkx_clear_error_log() : mixed
buildUpgradePage()
buildUpgradePage(string $body) : mixed
Parameters
- $body : string