diff --git a/.github/workflows/lint-code.yml b/.github/workflows/lint-code.yml index 7b39cae..e67b1ae 100644 --- a/.github/workflows/lint-code.yml +++ b/.github/workflows/lint-code.yml @@ -37,7 +37,7 @@ jobs: run: composer run lint:php - name: Lint Plugin scripts (JS) - run: composer run format:js:fix && composer run lint:js + run: composer run lint:js #- name: Lint stylesheets (CSS) # run: composer run lint:css diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml deleted file mode 100644 index 1eb8882..0000000 --- a/.github/workflows/pre-release.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Pre-release Handler - -on: - release: - types: [published] - -jobs: - build: - name: Build the Plugin for pre-release - if: "github.event.release.prerelease" - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install dependencies - run: | - composer install --no-dev --optimize-autoloader --no-progress - - - name: Build Plugin - run: | - composer run build - - - name: Rename dist/ folder - run: | - mv dist/ footnotes/ - - - name: Create release archive - uses: montudor/action-zip@v0.1.0 - with: - args: zip -X -r footnotes-${{ github.event.release.tag_name }}.zip footnotes - - - name: Upload archive as artifact - uses: actions/upload-artifact@v2 - with: - name: footnotes-${{ github.event.release.tag_name }} - path: footnotes-${{ github.event.release.tag_name }}.zip - - - name: Upload archive to release - uses: JasonEtco/upload-to-release@master - with: - args: footnotes-${{ github.event.release.tag_name }}.zip application/zip - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - #- name: Deploy release to Wordpress.org - # uses: 10up/action-wordpress-plugin-deploy@stable - # with: - # generate-zip: true - # env: - # SVN_USERNAME: ${{ secrets.SVN_USERNAME }} - # SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} diff --git a/.github/workflows/release-handler.yml b/.github/workflows/release-handler.yml new file mode 100644 index 0000000..eeb93f5 --- /dev/null +++ b/.github/workflows/release-handler.yml @@ -0,0 +1,87 @@ +# This workflow handles GitHub releases and pre-releases. +# It builds the Plugin, zips up an archive to add to the +# release entry on GitHub and (in the case of a full release) +# pushes the release to the WP Plugin Directory SVN repo. + +name: Release Handler + +on: + release: + types: [published] + +jobs: + build_plugin: + name: Build the Plugin for pre-release + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install dependencies + run: | + composer install --no-dev --optimize-autoloader --no-progress + + - name: Build Plugin + run: | + composer run build + + - name: Rename Plugin folder + run: | + mv dist/ footnotes/ + + - name: Upload Plugin artifact + uses: actions/upload-artifact@v2 + with: + name: footnotes-${{ github.event.release.tag_name }} + path: footnotes + + create_archive: + name: Create an archive for the release and add it to GitHub + runs-on: ubuntu-latest + needs: build_plugin + + steps: + - name: Download Plugin artifact + uses: actions/download-artifact@v2 + with: + name: footnotes-${{ github.event.release.tag_name }} + + - name: Create release archive + uses: montudor/action-zip@v0.1.0 + with: + args: zip -X -r footnotes-${{ github.event.release.tag_name }}.zip footnotes + + #- name: Upload archive as artifact + # uses: actions/upload-artifact@v2 + # with: + # name: footnotes-${{ github.event.release.tag_name }} + # path: footnotes-${{ github.event.release.tag_name }}.zip + + - name: Upload archive to release + uses: JasonEtco/upload-to-release@master + with: + args: footnotes-${{ github.event.release.tag_name }}.zip application/zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + release_to_svn: + name: Push the release to the WordPress Plugin Directory repo. + if: "!github.event.release.prerelease" + runs-on: ubuntu-latest + needs: create_archive + + steps: + - name: Download Plugin artifact + uses: actions/download-artifact@v2 + with: + name: footnotes-${{ github.event.release.tag_name }} + + - name: Deploy release to Wordpress.org + id: deploy + uses: 10up/action-wordpress-plugin-deploy@stable + env: + SVN_USERNAME: ${{ secrets.SVN_USERNAME }} + SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} + SLUG: footnotes/branches/svn-test + ASSETS_DIR: assets diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f12d971 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "footnotes.wiki"] + path = footnotes.wiki + url = git://github.com/markcheret/footnotes.wiki diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea19841..a7b70aa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,41 +1,199 @@ -# **footnotes** Contributing Guide +# footnotes Contributing Guidelines -**footnotes** welcomes contributions! +This project welcomes contributions! + +This document describes everything you need to know about working with this +project. + +## Table of Contents + +* [Code of Conduct](#code-of-conduct) +* [Requesting Features and Reporting Bugs](#requesting-feature-and-reporting-bugs) +* [Development](#development) +* [Releases](#releases) +* [Translating](#translating) ## Code of Conduct Please read and ensure that you adhere to the project's [Code of Conduct][coc]. -## Requesting Features/Reporting Bugs +## Requesting Features and Reporting Bugs -To request a new feature or to report a bug, create an [Issue][new-issue] and -choose the correct template. +To request a new feature or to report a bug, create an [Issue][new-issue]: -## Contributing Code +* example templates are provided; +* if you are reporting a bug that has security implications, please see + the project [security guidelines][security]. -- **footnotes** uses [GitHub Flow][github-flow]; -- branch off of `main` to start developing (`git checkout -b `); -- ensure that your new branch has a descriptive name; -- create a remote copy of your new branch (`git push`); -- create a draft [pull request][pull-request] to merge your branch with `main` — - tag any related Issues, and if they are assigned to a Project board, this will - automatically move them into the ‘In Progress’ bucket; and -- when you think you're finished, un-draft your pull request — if the PR is - assigned to a Project board, this will automatically move it and any related - Issues into the ‘Review in progress’ bucket. +## Development -## Commits +### Version Control -- **footnotes** uses the [Conventional Commits][conventional-commits] for - commit message formatting; -- we recommend using [Commitizen][commitizen] to automate this: - - install it globally using `npm install -g commitizen`; - - use `git cz` instead of `git commit`. -- keep individual commits as small as possible. +Version control for this project uses [Git][git] for development and +[Apache Subversion][svn] for releases: -## Versioning +* The [development repository][dev-repo] is hosted on [GitHub][github]; and +* the [release repository][rel-repo] is hosted on the [WordPress Plugin Directory][wp-plugin-dir], +a Subversion repository hosted by the WordPress Plugins team: + * information on using the WordPress Plugin Directory can be found in the + [_WordPress Plugin Handbook_][wp-plugin-handbook]. -**footnotes** uses [WordPress Versioning][wpver]. +#### Branching + +This project uses the [GitHub Flow][github-flow] branching methodology: + +* branch off of `main` to start developing (`git checkout -b `); +* ensure that your new branch has a descriptive name (e.g., ‘fix-foo-bug’); +* create a remote copy of your new branch (`git push`); +* create a draft [pull request][new-pull-request] to merge your branch with `main`: + * tag any related or to-close Issues, Projects and Milestones: + * if any Issues are assigned to a Project board, this will automatically + move them into the ‘In Progress’ bucket. + * assign the PR to yourself unless you have a good reason not to. +* when you think you're finished, un-draft your pull request: + * if the request is assigned to a Project board, this will automatically + move it and any related Issues into the ‘Review in progress’ bucket. + +#### Committing + +This project uses the [Conventional Commits][conventional-commits] format for +commit messages: + +* commit message formatting can be automatically enforced by using + [Commitizen][commitizen]: + * install it globally using `npm install -g commitizen`; then + * use `git cz` instead of `git commit`. +* please keep individual commits as small and atomic as possible. + +### Configuration + +The only configurable environment variable is the `PRODUCTION_ENV` flag in +`src/footnotes.php`. This should always be set to `false` on this repo, and is +automatically flipped during the release process. + +### Code Formatting + +This repo. uses [Husky][husky] to run pre-commit code formatting and linting +on all staged files. This ensures that only style-conformant code can be +committed (although this can be bypassed by passing the `--no-verify` argument +to your `git commit` command). + +The individual commands used by Husky can also be called manually: + +* Run `composer run format` to run all format commands. +* Run `composer run format:fix` to attempt to automatically fix all formatter warnings + and errors. + +* Run `composer run lint` to run all linting commands. +* Run `composer run lint:fix` to attempt to automatically fix all linter warnings + and errors. + +_NB: `npm` can also be used in place of `composer`._ + +#### PHP + +PHP code must follow the [WordPress PHP Coding Standards][wpcs-php]. PHP code +is written for compatability with PHP 8.0. + +1. Run `composer run lint:php` to lint all PHP files with + [PHP CodeSniffer][phpcs]; and +1. run `composer run lint:php:fix` to attempt to automatically fix warnings and + errors using the PHP Code Beautifier and Formatter tool. + +#### JavaScript + +JavaScript code must follow the [WordPress JavaScript Coding Standards][wpcs-js]. +JavaScript code targets the [ESNext][esnext] standard. + +1. Run `composer run format:js` to format all JS files with [Prettier] + [prettier]; and +1. run `composer run format:js:fix` to attempt to automatically fix warnings and + errors. + +1. Run `composer run lint:js` to lint all JS files with [ESLint][eslint]; and +1. run `composer run lint:js:fix` to attempt to automatically fix warnings and errors. + +Prettier and ESLint configuration settings are found in `package.json`. Prettier +ignore rules are found in `.prettierignore`. + +#### CSS + +CSS stylesheets must follow the [WordPress CSS Coding Standards][wpcs-css]. + +1. Run `composer run lint:css` to lint all CSS files with [stylelint] + [stylelint]; and +1. run `composer run lint:css:fix` to attempt to automatically fix warnings and + errors. + +stylelint configuration settings are found in `package.json`. + +#### Markdown + +* Run `composer run lint:md` to lint all Markdown files with [markdownLint] + [markdownlint]; and +* run `composer run lint:md:fix` to attempt to automatically fix warnings and errors. + +#### HTML + +Run `composer run lint:html` to lint all HTML files with [HTMLHint][htmlhint]. + +#### YAML + +Run `composer run validate:yaml` to validate all YAML files with [yaml-validator][yaml-validator]. + +#### JSON + +TODO + +### Testing + +TODO + +## Documentation + +This repo. uses [Husky][husky] to run pre-push documentation generation. This is +to guarantee that all HTML documentation on the remote repo. should be up-to-date, +but this step can be bypassed if necessary by passing the `--no-verify` flag to +the `git push` command. + +### Tooling + +HTML documentation of the codebase is generated using [phpDocumentor][phpdocumentor]. +Due to conflicts, this cannot be included as a project dependency. Please install +the package globally by following the steps on the site. + +phpDocumentor configuration settings are found in `phpdoc.dist.xml`. + +### Documenting + +The codebase is documented using PHPDoc docblocks. + +### Documentation Commands + +| Command | Result | +|----------------|--------------------------------| +| `composer run docs` | Regenerate HTML documentation. | + +## Releases + +Only Project Collaborators can issue new releases. + +### Versioning + +This project uses [WordPress Versioning][wpver] for version numbering (as of 2.7). + +### Building + +Run `composer run build` to build the Plugin. + +### Releasing + +Run `composer run release` to run use the release handler: + +* this is still a WIP! +* TODO: move to a GitHub Action so that the only way of handling a release is to + create one on GitHub: + * TODO: create separate pre-release and non-pre-release Actions ## Translating @@ -43,8 +201,21 @@ Translations are welcome! [coc]: https://github.com/markcheret/footnotes/blob/main/CODE_OF_CONDUCT.md [new-issue]: https://github.com/markcheret/footnotes/issues/new/choose +[security]: https://github.com/markcheret/footnotes/blob/main/SECURITY.md +[git]: https://git-scm.com/ +[svn]: https://subversion.apache.org/ +[dev-repo]: https://github.com/markcheret/footnotes +[github]: https://github.com +[rel-repo]: https://plugins.svn.wordpress.org/footnotes/ +[wp-plugin-dir]: https://plugins.svn.wordpress.org/ +[wp-plugin-handbook]: https://developer.wordpress.org/plugins/wordpress-org/how-to-use-subversion/ [github-flow]: https://githubflow.github.io/ -[pull-request]: https://github.com/markcheret/footnotes/compare +[new-pull-request]: https://github.com/markcheret/footnotes/compare [conventional-commits]: https://www.conventionalcommits.org [commitizen]: https://www.npmjs.com/package/commitizen +[husky]: https://typicode.github.io/husky/#/ +[esnext]: https://esnext.github.io/esnext/ +[markdownlint]: https://github.com/DavidAnson/markdownlint +[htmlhint]: https://htmlhint.com/ +[yaml-validator]: https://www.npmjs.com/package/yaml-validator [wpver]: https://make.wordpress.org/core/handbook/about/release-cycle/version-numbering/ diff --git a/README.md b/README.md index 63e5c0a..54539e7 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,11 @@ ![stable tag](https://img.shields.io/wordpress/plugin/v/footnotes?style=flat-square) ![WP rating](https://img.shields.io/wordpress/plugin/stars/footnotes?style=flat-square) ![Reqd PHP](https://img.shields.io/wordpress/plugin/required-php/footnotes?style=flat-square) ![Reqd WP](https://img.shields.io/wordpress/plugin/wp-version/footnotes?style=flat-square) ![WordPress Plugin: Tested WP Version](https://img.shields.io/wordpress/plugin/tested/footnotes?style=flat-square) -![GitHub contributors](https://img.shields.io/github/contributors/markcheret/footnotes?style=flat-square) ![GitHub commits since tagged version](https://img.shields.io/github/commits-since/markcheret/footnotes/2.7.0?style=flat-square) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/markcheret/footnotes?style=flat-square) ![issues](https://img.shields.io/github/issues/markcheret/footnotes?style=flat-square) ![PRs](https://img.shields.io/github/issues-pr/markcheret/footnotes?style=flat-square) +![GitHub contributors](https://img.shields.io/github/contributors/markcheret/footnotes?style=flat-square) ![GitHub commits since tagged version](https://img.shields.io/github/commits-since/markcheret/footnotes/2.7.3?style=flat-square) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/markcheret/footnotes?style=flat-square) ![issues](https://img.shields.io/github/issues/markcheret/footnotes?style=flat-square) ![PRs](https://img.shields.io/github/issues-pr/markcheret/footnotes?style=flat-square) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![Snyk Vulnerabilities for GitHub Repo](https://img.shields.io/snyk/vulnerabilities/github/markcheret/footnotes?style=flat-square) [![OSSAR](https://github.com/markcheret/footnotes/actions/workflows/ossar-analysis.yml/badge.svg)](https://github.com/markcheret/footnotes/actions/workflows/ossar-analysis.yml) [![Code Linting](https://github.com/markcheret/footnotes/actions/workflows/php.yml/badge.svg)](https://github.com/markcheret/footnotes/actions/workflows/lint-code.yml) -[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) +[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![Coverage Status](https://coveralls.io/repos/github/markcheret/footnotes/badge.svg?branch=main)](https://coveralls.io/github/markcheret/footnotes?branch=main) ![footnotes](https://raw.githubusercontent.com/markcheret/footnotes/main/.github/img/footnotes.png) @@ -26,10 +26,8 @@ Featured on [wpmudev][wpmudev] — cheers for the review, folks! * [Features](#features) * [Getting Started](#getting-started) -* [Deploying](#deploying) -* [Testing](#testing) -* [Code Formatting](#code-formatting) * [Documentation](#documentation) +* [Testing](#testing) * [Acknowledgments](#acknowledgements) * [License](#license) * [Contact Information](#contact-information) @@ -38,9 +36,9 @@ Featured on [wpmudev][wpmudev] — cheers for the review, folks! This Plugin provides: -* fully customizable footnote start and end shortcodes; +* fully-customizable footnote start and end shortcodes; * stylable tooltips supporting hyperlinks and dedicated text; -* a responsive 'reference container', with customisable positioning; +* a responsive reference container, with customisable positioning; * a wide choice of different numbering styles; * a freely-configurable and optional backlink symbol; * footnote appearance customisation via dashboard settings and custom CSS style @@ -56,98 +54,23 @@ This Plugin provides: 1. install all dependencies (`composer install`): * you will have to install `php-mbstring` manually if you do not already have it. + +## Documentation -## Deploying - -Automated release deployments will be introduced soon. - -### Building - -1. Run `_tools/build-stylesheets.sh -c` to concatenate stylesheets; -1. manually minify the output files in `css/tmp/`, saving them as `.min.css` files: - * the intention is to replace this with automated minification, meaning that - all of these steps can be rolled into a single `build` command. -1. run `_tools/build-stylesheets.sh -d` to deploy the minified files to `dist/`: - * **this will delete any existing `dist/` folder!** -1. run `composer run build` to move over the remaining files to `dist/`: - * currently, the files to include in a distribution are hard-coded in - `_tools/build.sh`; but - * the intention is to replace this with a proper parsing of the `.distignore` - file - -### Releasing - -1. Ensure that you have configured your Git config. with SVN credentials; -1. run the above [build](#building) commands; and -1. run `composer run release` and follow the prompts. +View the current docs [here][footnotes-docs]. ## Testing -This repo. uses [PHPUnit](phpunit) to run automated tests. -To run the full test suite, use `composer run test`. +This repo. uses [PHPUnit](phpunit) to run automated tests. To run the full test +suite, use `composer run test`. Test cases are found in the `tests/` directory. PHPUnit settings are available in the file `phpunit.xml`. -## Code Formatting - -This repo. uses pre-commit code formatting and linting on all staged files. -This ensures that only style-conformant code can be committed. - -The individual commands can also be called manually: - -* Run `composer run format` to run all format commands. -* Run `composer run format:fix` to attempt to automatically fix all formatter warnings - and errors. - -* Run `composer run lint` to run all linting commands. -* Run `composer run lint:fix` to attempt to automatically fix all linter warnings - and errors. - -### PHP Code - -PHP code must follow the [WordPress PHP Coding Standards][wpcs-php]. - -1. Run `composer run lint:php` to lint all JS/TS files with [PHP CodeSniffer][phpcs] -1. Run `composer run lint:php:fix` to attempt to automatically fix warnings and - errors with the PHP Code Beautifier and Formatter. - -### JavaScript Code - -JavaScript code must follow the [WordPress JavaScript Coding Standards][wpcs-js]. - -* Run `composer run format:js` to format all JS files with [Prettier][prettier]. -* Run `composer run format:js:fix` to attempt to automatically fix warnings and errors. - -* Run `composer run lint:js` to lint all JS files with [ESLint][eslint]. -* Run `composer run lint:js:fix` to attempt to automatically fix warnings and errors. - -Prettier configuration settings are found in `.prettierrc`. - -ESLint configuration settings are found in `.eslintrc.js`. File ignore rules are -found in `.eslintignore`. - -### CSS Stylesheets - -JavaScript code must follow the [WordPress CSS Coding Standards][wpcs-css]. - -* Run `composer run lint:css` to format all CSS files with [stylelint][stylelint]. -* Run `npcomposerm run lint:css:fix` to attempt to automatically fix warnings and - errors. - -stylelint configuration settings are found in `.stylelint.json`. - -## Documentation - -Run `composer run docs` to automatically generate HTML documentation with -[phpDocumentor][phpdocumentor]. - -View the current docs [here][footnotes-docs]. - ## Acknowledgements -Huge thanks to every **footnotes user**, contributor, bug reporter, feature +Huge thanks to every **footnotes** user, contributor, bug reporter, feature requester and fan! ## License diff --git a/_tools/build-stylesheets.sh b/_tools/build-stylesheets.sh index 6864fa0..f7177bc 100755 --- a/_tools/build-stylesheets.sh +++ b/_tools/build-stylesheets.sh @@ -14,31 +14,32 @@ echo "Running $(dirname "$0")/build-stylesheets.sh" if [[ $1 == "-c" ]]; then - echo "Concatenating files and placing in \`tmp/css/\`..." + echo "Concatenating files and placing in \`dist/{public,admin}/css/\`..." - mkdir -p ./tmp/css - cat ./src/css/dev-common.css > ./tmp/css/footnotes-nottbrpl0.css + mkdir -p ./dist/{public,admin}/css - cat ./src/css/dev-{common,layout-reference-container}.css > ./tmp/css/footnotes-nottbrpl1.css - cat ./src/css/dev-{common,layout-entry-content}.css > ./tmp/css/footnotes-nottbrpl2.css - cat ./src/css/dev-{common,layout-main-content}.css > ./tmp/css/footnotes-nottbrpl3.css + cat ./src/public/css/dev-common.css > ./dist/public/css/footnotes-nottbrpl0.css - cat ./src/css/dev-{common,tooltips}.css > ./tmp/css/footnotes-jqttbrpl0.css - cat ./src/css/dev-{common,tooltips,layout-reference-container}.css > ./tmp/css/footnotes-jqttbrpl1.css - cat ./src/css/dev-{common,tooltips,layout-entry-content}.css > ./tmp/css/footnotes-jqttbrpl2.css - cat ./src/css/dev-{common,tooltips,layout-main-content}.css > ./tmp/css/footnotes-jqttbrpl3.css + cat ./src/public/css/dev-{common,layout-reference-container}.css > ./dist/public/css/footnotes-nottbrpl1.css + cat ./src/public/css/dev-{common,layout-entry-content}.css > ./dist/public/css/footnotes-nottbrpl2.css + cat ./src/public/css/dev-{common,layout-main-content}.css > ./dist/public/css/footnotes-nottbrpl3.css - cat ./src/css/dev-{common,tooltips,tooltips-alternative}.css > ./tmp/css/footnotes-alttbrpl0.css - cat ./src/css/dev-{common,tooltips,tooltips-alternative,layout-reference-container}.css > ./tmp/css/footnotes-alttbrpl1.css - cat ./src/css/dev-{common,tooltips,tooltips-alternative,layout-entry-content}.css > ./tmp/css/footnotes-alttbrpl2.css - cat ./src/css/dev-{common,tooltips,tooltips-alternative,layout-main-content}.css > ./tmp/css/footnotes-alttbrpl3.css + cat ./src/public/css/dev-{common,tooltips}.css > ./dist/public/css/footnotes-jqttbrpl0.css + cat ./src/public/css/dev-{common,tooltips,layout-reference-container}.css > ./dist/public/css/footnotes-jqttbrpl1.css + cat ./src/public/css/dev-{common,tooltips,layout-entry-content}.css > ./dist/public/css/footnotes-jqttbrpl2.css + cat ./src/public/css/dev-{common,tooltips,layout-main-content}.css > ./dist/public/css/footnotes-jqttbrpl3.css - cat ./src/css/dev-{common,tooltips,amp-tooltips}.css > ./tmp/css/footnotes-amptbrpl0.css - cat ./src/css/dev-{common,tooltips,amp-tooltips,layout-reference-container}.css > ./tmp/css/footnotes-amptbrpl1.css - cat ./src/css/dev-{common,tooltips,amp-tooltips,layout-entry-content}.css > ./tmp/css/footnotes-amptbrpl2.css - cat ./src/css/dev-{common,tooltips,amp-tooltips,layout-main-content}.css > ./tmp/css/footnotes-amptbrpl3.css + cat ./src/public/css/dev-{common,tooltips,tooltips-alternative}.css > ./dist/public/css/footnotes-alttbrpl0.css + cat ./src/public/css/dev-{common,tooltips,tooltips-alternative,layout-reference-container}.css > ./dist/public/css/footnotes-alttbrpl1.css + cat ./src/public/css/dev-{common,tooltips,tooltips-alternative,layout-entry-content}.css > ./dist/public/css/footnotes-alttbrpl2.css + cat ./src/public/css/dev-{common,tooltips,tooltips-alternative,layout-main-content}.css > ./dist/public/css/footnotes-alttbrpl3.css - cat ./src/css/settings.css > ./tmp/css/settings.css + cat ./src/public/css/dev-{common,tooltips,amp-tooltips}.css > ./dist/public/css/footnotes-amptbrpl0.css + cat ./src/public/css/dev-{common,tooltips,amp-tooltips,layout-reference-container}.css > ./dist/public/css/footnotes-amptbrpl1.css + cat ./src/public/css/dev-{common,tooltips,amp-tooltips,layout-entry-content}.css > ./dist/public/css/footnotes-amptbrpl2.css + cat ./src/public/css/dev-{common,tooltips,amp-tooltips,layout-main-content}.css > ./dist/public/css/footnotes-amptbrpl3.css + + cat ./src/{admin/css/settings,includes/css/logo}.css > ./dist/admin/css/settings.css echo "Stylesheet concatenation complete." exit 0 diff --git a/_tools/build.sh b/_tools/build.sh index d0f5782..eca7823 100755 --- a/_tools/build.sh +++ b/_tools/build.sh @@ -1,31 +1,47 @@ #!/bin/bash +# TODO: Add transpilation to PHP 7.4 + echo "Building Plugin..." # Moves everything including the style sheets over to `dist/` echo "Copying directories..." rm -rf dist/ mkdir dist -cp -r -t dist src/{class,languages,templates,img}/ -echo "Copying files..." -cp -t dist ./{SECURITY.md,CHANGELOG.md,wpml-config.xml} src/{license.txt,readme.txt,includes.php} -echo "Setting production flag..." -sed "s/'PRODUCTION_ENV', false/'PRODUCTION_ENV', true/g" src/footnotes.php > dist/footnotes.php -echo "Production flag set." +rsync -av --progress --exclude css src/* dist +echo "Setting production flag environment flag..." +sed -i -E "s/('PRODUCTION_ENV'[ ]?,[ ]?)false/\1true/g" ./dist/footnotes.php +echo "Production environment flag set." + +echo "Setting pre-release version tags..." +grep " \* Version:" dist/footnotes.php | grep -Po "\d+\.\d+(\.\d+)?d$" +if [ $? != 0 ]; then echo "Development version tag (`d`) not set!"; exit 1; fi +PLUGIN_DEV_VERSION="$(grep " \* Version:" dist/footnotes.php | grep -Po "\d+\.\d+(\.\d+)?d$")" +PLUGIN_PRE_VERSION="${PLUGIN_DEV_VERSION/d/p}" +find dist -type f -exec sed -i "s/$PLUGIN_DEV_VERSION/$PLUGIN_PRE_VERSION/g" {} + +if [ $? != 0 ]; then echo "Pre-release tag (`p`) could not be set!"; exit 1; fi +echo "Pre-release version tags set." -# TODO: once automatic minification is implemented, this should handle that. -# For now, we shall have to assume that this command is being run on a repo. with -# minimised stylesheet files already in `dist/css/`. echo "Building stylesheets..." ./_tools/build-stylesheets.sh -c if [ $? != 0 ]; then echo "Concatenation failed!"; exit 1; fi echo "Stylesheet build complete." echo "Minifying CSS and JS..." -mkdir -p dist/{css,js} npm run minify if [ $? != 0 ]; then echo "Minification failed!"; exit 1; fi +echo "Deleting unminified files from `dist/`..." +rm -r dist/*/{js,css}/*[^\.min].{js,css} echo "Minification complete." +echo "Downgrading to PHP 7.4..." +./vendor/bin/rector process +echo "Downgrading complete." + +if [[ $1 == "-v" ]]; then + rm -rf ../VVV/www/wordpress-two/public_html/wp-content/plugins/footnotes + mv dist footnotes && mv footnotes ../VVV/www/wordpress-two/public_html/wp-content/plugins +fi + echo "Build complete." exit 0 diff --git a/_tools/deploy-dev.sh b/_tools/deploy-dev.sh new file mode 100755 index 0000000..07c83e7 --- /dev/null +++ b/_tools/deploy-dev.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [[ $1 == "-v" ]]; then + echo "Deploying to VVV site #1" + rm -rf ../VVV/www/wordpress-one/public_html/wp-content/plugins/footnotes + cp -r src footnotes && mv footnotes ../VVV/www/wordpress-one/public_html/wp-content/plugins + #rm -rf ./footnotes +fi + +echo "Deploy complete." +exit 0 diff --git a/_tools/release.sh b/_tools/release.sh index 4a9f0ec..e6048c5 100755 --- a/_tools/release.sh +++ b/_tools/release.sh @@ -65,7 +65,7 @@ echo "- Checking versions..." STABLE_TAG="$(grep "Stable Tag:" src/readme.txt)" ROOT_HEADER_VERSION="$(grep " Version:" src/footnotes.php | grep -Po " Version: \d+\.\d+(\.\d+)?[a-z]?$")" -JS_VERSION="$(grep "version :" src/js/wysiwyg-editor.js)" +JS_VERSION="$(grep "version:" src/js/wysiwyg-editor.js)" # Step 3(b): Check that all version declarations exists diff --git a/composer.json b/composer.json index d3a510e..4b633cf 100644 --- a/composer.json +++ b/composer.json @@ -6,23 +6,21 @@ "cm": "npm run cz", "release": "./_tools/release.sh", "release:commit": "composer run release -- -c", + "deploy": "composer run build -- -v", + "deploy:dev": "./_tools/deploy-dev.sh -v", "build": "./_tools/build.sh", - "lint": "composer run lint:php && npm run lint", - "lint:fix": "composer run lint:php:fix && npm run lint:fix", - "format": "npm run format", - "format:fix": "npm run format:fix", - "lint:php": "./vendor/bin/phpcs --standard=WordPress,PHPCompatibilityWP --runtime-set testVersion 7.0- --colors --encoding=utf-8 -p ./src/*.php ./src/*/*.php ./src/*/*/*.php", - "lint:php:fix": "./vendor/bin/phpcbf --standard=WordPress,PHPCompatibilityWP --runtime-set testVersion 7.0- --colors --encoding=utf-8 -p ./src/*.php ./src/*/*.php ./src/*/*/*.php", + "lint": "composer run lint:php; npm run lint", + "lint:fix": "composer run lint:php:fix; npm run lint:fix", + "lint:php": "./vendor/bin/phpcs", + "lint:php:fix": "./vendor/bin/phpcbf", "lint:css": "npm run lint:css", "lint:css:fix": "npm run lint:css:fix", "lint:js": "npm run lint:js", "lint:js:fix": "npm run lint:js:fix", - "format:js": "npm run format:js", - "format:js:fix": "npm run format:js:fix", "lint:md": "npm run lint:md", "lint:md:fix": "npm run lint:md:fix", "lint:html": "npm run lint:html", - "docs": "./vendor/bin/phpdoc", + "docs": "phpDocumentor", "post-install-cmd": "npm install", "minify": "npm run minify", "minify:css": "npm run minify:css", @@ -33,9 +31,9 @@ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.1", "phpcompatibility/php-compatibility": "*", "wp-coding-standards/wpcs": "^2.3", - "phpdocumentor/phpdocumentor": "^3.0", "marcocesarato/php-conventional-changelog": "^1.9", - "phpcompatibility/phpcompatibility-wp": "*" + "phpcompatibility/phpcompatibility-wp": "*", + "rector/rector": "^0.10.16" }, "prefer-stable": true } diff --git a/composer.lock b/composer.lock index 16e044f..1a3fc00 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1b1e75ba247201e270b06cd85706a3bd", + "content-hash": "7eec0f0bab2d0e2649d7e14fcb7a9433", "packages": [], "packages-dev": [ { @@ -80,6 +80,211 @@ ], "time": "2020-11-11T10:22:58+00:00" }, + { + "name": "composer/semver", + "version": "3.2.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.54", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.2.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-13T08:59:24+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "31d57697eb1971712a08031cfaff5a846d10bdf5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/31d57697eb1971712a08031cfaff5a846d10bdf5", + "reference": "31d57697eb1971712a08031cfaff5a846d10bdf5", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/2.0.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-04-09T19:40:06+00:00" + }, + { + "name": "danielstjules/stringy", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/danielstjules/Stringy.git", + "reference": "df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e", + "reference": "df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Stringy\\": "src/" + }, + "files": [ + "src/Create.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel St. Jules", + "email": "danielst.jules@gmail.com", + "homepage": "http://www.danielstjules.com" + } + ], + "description": "A string manipulation library with multibyte support", + "homepage": "https://github.com/danielstjules/Stringy", + "keywords": [ + "UTF", + "helpers", + "manipulation", + "methods", + "multibyte", + "string", + "utf-8", + "utility", + "utils" + ], + "support": { + "issues": "https://github.com/danielstjules/Stringy/issues", + "source": "https://github.com/danielstjules/Stringy" + }, + "time": "2017-06-12T01:10:27+00:00" + }, { "name": "dealerdirect/phpcodesniffer-composer-installer", "version": "v0.7.1", @@ -151,38 +356,38 @@ "time": "2020-12-07T18:04:37+00:00" }, { - "name": "doctrine/event-manager", - "version": "1.1.1", + "name": "doctrine/inflector", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + "url": "https://github.com/doctrine/inflector.git", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": "<2.9@dev" + "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -209,24 +414,25 @@ { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" } ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" ], "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.x" }, "funding": [ { @@ -238,137 +444,11 @@ "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", "type": "tidelift" } ], - "time": "2020-05-29T18:28:51+00:00" - }, - { - "name": "friendsofphp/proxy-manager-lts", - "version": "v1.0.3", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", - "reference": "121af47c9aee9c03031bdeca3fac0540f59aa5c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/121af47c9aee9c03031bdeca3fac0540f59aa5c3", - "reference": "121af47c9aee9c03031bdeca3fac0540f59aa5c3", - "shasum": "" - }, - "require": { - "laminas/laminas-code": "~3.4.1|^4.0", - "php": ">=7.1", - "symfony/filesystem": "^4.4.17|^5.0" - }, - "conflict": { - "laminas/laminas-stdlib": "<3.2.1", - "zendframework/zend-stdlib": "<3.2.1" - }, - "replace": { - "ocramius/proxy-manager": "^2.1" - }, - "require-dev": { - "ext-phar": "*", - "symfony/phpunit-bridge": "^5.2" - }, - "type": "library", - "extra": { - "thanks": { - "name": "ocramius/proxy-manager", - "url": "https://github.com/Ocramius/ProxyManager" - } - }, - "autoload": { - "psr-4": { - "ProxyManager\\": "src/ProxyManager" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.io/" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - } - ], - "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", - "homepage": "https://github.com/FriendsOfPHP/proxy-manager-lts", - "keywords": [ - "aop", - "lazy loading", - "proxy", - "proxy pattern", - "service proxies" - ], - "support": { - "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", - "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.3" - }, - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", - "type": "tidelift" - } - ], - "time": "2021-01-14T21:52:44+00:00" - }, - { - "name": "jawira/plantuml", - "version": "v1.54.0", - "source": { - "type": "git", - "url": "https://github.com/jawira/plantuml.git", - "reference": "d313d5373618fef6a6c09eeae9676538c38da6a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jawira/plantuml/zipball/d313d5373618fef6a6c09eeae9676538c38da6a9", - "reference": "d313d5373618fef6a6c09eeae9676538c38da6a9", - "shasum": "" - }, - "suggest": { - "pds/skeleton": "Standard PHP package skeleton", - "phing/phing": "PHP Build Tool" - }, - "bin": [ - "bin/plantuml" - ], - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-3.0-or-later" - ], - "authors": [ - { - "name": "Jawira Portugal" - } - ], - "description": "Provides PlantUML integration: plantuml executable and plantuml.jar", - "keywords": [ - "diagram", - "plantuml", - "plantuml.jar", - "uml" - ], - "support": { - "issues": "https://github.com/jawira/plantuml/issues", - "source": "https://github.com/jawira/plantuml/tree/v1.54.0" - }, - "time": "2021-04-09T13:05:56+00:00" + "time": "2020-05-29T15:13:26+00:00" }, { "name": "jean85/pretty-package-versions", @@ -425,936 +505,18 @@ }, "time": "2021-02-04T16:20:16+00:00" }, - { - "name": "laminas/laminas-code", - "version": "4.2.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-code.git", - "reference": "e7e8f8a9c267520051d8026ff1da74823a3d8b97" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/e7e8f8a9c267520051d8026ff1da74823a3d8b97", - "reference": "e7e8f8a9c267520051d8026ff1da74823a3d8b97", - "shasum": "" - }, - "require": { - "laminas/laminas-eventmanager": "^3.3", - "php": "^7.4 || ~8.0.0" - }, - "conflict": { - "phpspec/prophecy": "<1.9.0" - }, - "replace": { - "zendframework/zend-code": "self.version" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4", - "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.1.4", - "laminas/laminas-stdlib": "^3.3.0", - "phpunit/phpunit": "^9.4.2", - "psalm/plugin-phpunit": "^0.14.0", - "vimeo/psalm": "^4.3.1" - }, - "suggest": { - "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", - "laminas/laminas-stdlib": "Laminas\\Stdlib component", - "laminas/laminas-zendframework-bridge": "A bridge with Zend Framework" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Code\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", - "homepage": "https://laminas.dev", - "keywords": [ - "code", - "laminas", - "laminasframework" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-code/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-code/issues", - "rss": "https://github.com/laminas/laminas-code/releases.atom", - "source": "https://github.com/laminas/laminas-code" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-04-14T22:05:06+00:00" - }, - { - "name": "laminas/laminas-eventmanager", - "version": "3.3.1", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-eventmanager.git", - "reference": "966c859b67867b179fde1eff0cd38df51472ce4a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/966c859b67867b179fde1eff0cd38df51472ce4a", - "reference": "966c859b67867b179fde1eff0cd38df51472ce4a", - "shasum": "" - }, - "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.3 || ^8.0" - }, - "replace": { - "zendframework/zend-eventmanager": "^3.2.1" - }, - "require-dev": { - "container-interop/container-interop": "^1.1", - "laminas/laminas-coding-standard": "~1.0.0", - "laminas/laminas-stdlib": "^2.7.3 || ^3.0", - "phpbench/phpbench": "^0.17.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "container-interop/container-interop": "^1.1, to use the lazy listeners feature", - "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\EventManager\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Trigger and listen to events within a PHP application", - "homepage": "https://laminas.dev", - "keywords": [ - "event", - "eventmanager", - "events", - "laminas" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-eventmanager/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-eventmanager/issues", - "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom", - "source": "https://github.com/laminas/laminas-eventmanager" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-03-08T15:24:29+00:00" - }, - { - "name": "laminas/laminas-zendframework-bridge", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "6cccbddfcfc742eb02158d6137ca5687d92cee32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6cccbddfcfc742eb02158d6137ca5687d92cee32", - "reference": "6cccbddfcfc742eb02158d6137ca5687d92cee32", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", - "psalm/plugin-phpunit": "^0.15.1", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.6" - }, - "type": "library", - "extra": { - "laminas": { - "module": "Laminas\\ZendFrameworkBridge" - } - }, - "autoload": { - "files": [ - "src/autoload.php" - ], - "psr-4": { - "Laminas\\ZendFrameworkBridge\\": "src//" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Alias legacy ZF class names to Laminas Project equivalents.", - "keywords": [ - "ZendFramework", - "autoloading", - "laminas", - "zf" - ], - "support": { - "forum": "https://discourse.laminas.dev/", - "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", - "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", - "source": "https://github.com/laminas/laminas-zendframework-bridge" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-02-25T21:54:58+00:00" - }, - { - "name": "league/commonmark", - "version": "1.5.8", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", - "reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" - }, - "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" - }, - "bin": [ - "bin/commonmark" - ], - "type": "library", - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", - "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" - ], - "support": { - "docs": "https://commonmark.thephpleague.com/", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" - }, - "funding": [ - { - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "type": "custom" - }, - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://www.patreon.com/colinodell", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2021-03-28T18:51:39+00:00" - }, - { - "name": "league/flysystem", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.x" - }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], - "time": "2020-08-23T07:39:11+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2021-01-18T20:58:21+00:00" - }, - { - "name": "league/pipeline", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/pipeline.git", - "reference": "aa14b0e3133121f8be39e9a3b6ddd011fc5bb9a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/pipeline/zipball/aa14b0e3133121f8be39e9a3b6ddd011fc5bb9a8", - "reference": "aa14b0e3133121f8be39e9a3b6ddd011fc5bb9a8", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "leanphp/phpspec-code-coverage": "^4.2", - "phpspec/phpspec": "^4.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Pipeline\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net", - "role": "Author" - }, - { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com", - "role": "Maintainer" - } - ], - "description": "A plug and play pipeline implementation.", - "keywords": [ - "composition", - "design pattern", - "pattern", - "pipeline", - "sequential" - ], - "support": { - "issues": "https://github.com/thephpleague/pipeline/issues", - "source": "https://github.com/thephpleague/pipeline/tree/master" - }, - "time": "2018-06-05T21:06:51+00:00" - }, - { - "name": "league/tactician", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/tactician.git", - "reference": "e79f763170f3d5922ec29e85cffca0bac5cd8975" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/tactician/zipball/e79f763170f3d5922ec29e85cffca0bac5cd8975", - "reference": "e79f763170f3d5922ec29e85cffca0bac5cd8975", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "mockery/mockery": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^9.3.8", - "squizlabs/php_codesniffer": "^3.5.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Tactician\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ross Tuck", - "homepage": "http://tactician.thephpleague.com" - } - ], - "description": "A small, flexible command bus. Handy for building service layers.", - "keywords": [ - "command", - "command bus", - "service layer" - ], - "support": { - "issues": "https://github.com/thephpleague/tactician/issues", - "source": "https://github.com/thephpleague/tactician/tree/v1.1.0" - }, - "time": "2021-02-14T15:29:04+00:00" - }, - { - "name": "league/tactician-bundle", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/tactician-bundle.git", - "reference": "89c51277423ac485b62580c38322426c3ec6ad47" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/tactician-bundle/zipball/89c51277423ac485b62580c38322426c3ec6ad47", - "reference": "89c51277423ac485b62580c38322426c3ec6ad47", - "shasum": "" - }, - "require": { - "league/tactician": "^1.0", - "league/tactician-container": "^2.0", - "league/tactician-logger": "^0.10.0", - "php": ">=7.2", - "symfony/config": "^3.4|^4.4|^5.0", - "symfony/dependency-injection": "^3.4|^4.4|^5.0", - "symfony/http-kernel": "^3.4|^4.4|^5.0", - "symfony/yaml": "^3.4|^4.4|^5.0" - }, - "require-dev": { - "matthiasnoback/symfony-config-test": "^4.2.1", - "matthiasnoback/symfony-dependency-injection-test": "^4.2.1", - "mockery/mockery": "~1.0", - "phpunit/phpunit": "~8.5", - "symfony/console": "^3.4|^4.4|^5.0", - "symfony/framework-bundle": "^3.4.31|^4.4|^5.0", - "symfony/security-bundle": "^3.4|^4.4|^5.0", - "symfony/security-core": "^3.4|^4.4|^5.0", - "symfony/validator": "^3.4|^4.4|^5.0" - }, - "suggest": { - "league/tactician-doctrine": "For doctrine transaction middleware", - "symfony/console": "For debugging command-to-handler routing using the tactician:debug console command", - "symfony/security": "For command security middleware", - "symfony/validator": "For command validator middleware" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Tactician\\Bundle\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rafael Dohms", - "homepage": "http://doh.ms" - }, - { - "name": "Richard Tuin", - "homepage": "http://www.rtuin.nl/" - }, - { - "name": "Xander Smalbil", - "email": "xander@videofunk.nl" - }, - { - "name": "Ross Tuck", - "email": "me@rosstuck.com" - } - ], - "description": "Bundle to integrate Tactician with Symfony projects", - "keywords": [ - "bundle", - "symfony", - "tactician" - ], - "support": { - "issues": "https://github.com/thephpleague/tactician-bundle/issues", - "source": "https://github.com/thephpleague/tactician-bundle/tree/v1.3.0" - }, - "time": "2021-01-31T17:06:29+00:00" - }, - { - "name": "league/tactician-container", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/tactician-container.git", - "reference": "d1a5d884e072b8cafbff802d07766076eb2ffcb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/tactician-container/zipball/d1a5d884e072b8cafbff802d07766076eb2ffcb0", - "reference": "d1a5d884e072b8cafbff802d07766076eb2ffcb0", - "shasum": "" - }, - "require": { - "league/tactician": "^1.0", - "php": ">=5.5", - "psr/container": "^1.0" - }, - "require-dev": { - "league/container": "~2.3", - "phpunit/phpunit": "~4.3", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Tactician\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nigel Greenway", - "homepage": "http://futurepixels.co.uk" - } - ], - "description": "Tactician integration for any container implementing PSR-11", - "keywords": [ - "container", - "container-interop", - "di", - "interoperable", - "league", - "tactician" - ], - "support": { - "issues": "https://github.com/thephpleague/tactician-container/issues", - "source": "https://github.com/thephpleague/tactician-container/tree/master" - }, - "time": "2017-04-13T06:27:12+00:00" - }, - { - "name": "league/tactician-logger", - "version": "v0.10.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/tactician-logger.git", - "reference": "3ff9ee04e4cbec100af827f829ed4c7ff7c08442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/tactician-logger/zipball/3ff9ee04e4cbec100af827f829ed4c7ff7c08442", - "reference": "3ff9ee04e4cbec100af827f829ed4c7ff7c08442", - "shasum": "" - }, - "require": { - "league/tactician": "^1.0", - "php": ">=5.5.0", - "psr/log": "~1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9", - "phpunit/phpunit": "4.*", - "squizlabs/php_codesniffer": "~2.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Tactician\\Logger\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ross Tuck" - } - ], - "description": "Adds PSR-3 logging support to the Tactician command bus", - "homepage": "https://github.com/thephpleague/tactician-logger", - "keywords": [ - "log", - "logging", - "tactician" - ], - "support": { - "issues": "https://github.com/thephpleague/tactician-logger/issues", - "source": "https://github.com/thephpleague/tactician-logger/tree/master" - }, - "time": "2016-08-23T05:50:38+00:00" - }, - { - "name": "league/uri", - "version": "6.4.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri.git", - "reference": "09da64118eaf4c5d52f9923a1e6a5be1da52fd9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/09da64118eaf4c5d52f9923a1e6a5be1da52fd9a", - "reference": "09da64118eaf4c5d52f9923a1e6a5be1da52fd9a", - "shasum": "" - }, - "require": { - "ext-json": "*", - "league/uri-interfaces": "^2.1", - "php": ">=7.2", - "psr/http-message": "^1.0" - }, - "conflict": { - "league/uri-schemes": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^8.0 || ^9.0", - "psr/http-factory": "^1.0" - }, - "suggest": { - "ext-fileinfo": "Needed to create Data URI from a filepath", - "ext-intl": "Needed to improve host validation", - "league/uri-components": "Needed to easily manipulate URI objects", - "psr/http-factory": "Needed to use the URI factory" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "URI manipulation library", - "homepage": "http://uri.thephpleague.com", - "keywords": [ - "data-uri", - "file-uri", - "ftp", - "hostname", - "http", - "https", - "middleware", - "parse_str", - "parse_url", - "psr-7", - "query-string", - "querystring", - "rfc3986", - "rfc3987", - "rfc6570", - "uri", - "uri-template", - "url", - "ws" - ], - "support": { - "docs": "https://uri.thephpleague.com", - "forum": "https://thephpleague.slack.com", - "issues": "https://github.com/thephpleague/uri/issues", - "source": "https://github.com/thephpleague/uri/tree/6.4.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2020-11-22T14:29:11+00:00" - }, - { - "name": "league/uri-interfaces", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "667f150e589d65d79c89ffe662e426704f84224f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/667f150e589d65d79c89ffe662e426704f84224f", - "reference": "667f150e589d65d79c89ffe662e426704f84224f", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "Common interface for URI representation", - "homepage": "http://github.com/thephpleague/uri-interfaces", - "keywords": [ - "rfc3986", - "rfc3987", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/thephpleague/uri-interfaces/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/2.2.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2020-10-31T13:45:51+00:00" - }, { "name": "marcocesarato/php-conventional-changelog", - "version": "1.10.3", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/marcocesarato/php-conventional-changelog.git", - "reference": "03607fc4366bcda26bb498d4666fc16179e3f53e" + "reference": "1ae4b4207cb3ef133336beb80c9129f513814ae2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/marcocesarato/php-conventional-changelog/zipball/03607fc4366bcda26bb498d4666fc16179e3f53e", - "reference": "03607fc4366bcda26bb498d4666fc16179e3f53e", + "url": "https://api.github.com/repos/marcocesarato/php-conventional-changelog/zipball/1ae4b4207cb3ef133336beb80c9129f513814ae2", + "reference": "1ae4b4207cb3ef133336beb80c9129f513814ae2", "shasum": "" }, "require": { @@ -1413,105 +575,364 @@ ], "support": { "issues": "https://github.com/marcocesarato/php-conventional-changelog/issues", - "source": "https://github.com/marcocesarato/php-conventional-changelog/tree/v1.10.3" + "source": "https://github.com/marcocesarato/php-conventional-changelog/tree/v1.10.2" }, - "time": "2021-05-11T16:16:27+00:00" + "time": "2021-04-16T09:03:46+00:00" }, { - "name": "monolog/monolog", - "version": "2.2.0", + "name": "nette/caching", + "version": "v3.1.1", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" + "url": "https://github.com/nette/caching.git", + "reference": "3e771c589dee414724be473c24ad16dae50c1960" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "url": "https://api.github.com/repos/nette/caching/zipball/3e771c589dee414724be473c24ad16dae50c1960", + "reference": "3e771c589dee414724be473c24ad16dae50c1960", "shasum": "" }, "require": { - "php": ">=7.2", - "psr/log": "^1.0.1" - }, - "provide": { - "psr/log-implementation": "1.0.0" + "nette/finder": "^2.4 || ^3.0", + "nette/utils": "^2.4 || ^3.0", + "php": ">=7.2 <8.1" }, "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7", - "graylog2/gelf-php": "^1.4.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.6.1", - "phpstan/phpstan": "^0.12.59", - "phpunit/phpunit": "^8.5", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <7.0.1", - "swiftmailer/swiftmailer": "^5.3|^6.0" + "latte/latte": "^2.10", + "nette/di": "^v3.0", + "nette/tester": "^2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.4" }, "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + "ext-pdo_sqlite": "to use SQLiteStorage or SQLiteJournal" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-master": "3.1-dev" } }, "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.2.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" + "name": "David Grudl", + "homepage": "https://davidgrudl.com" }, { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" + "name": "Nette Community", + "homepage": "https://nette.org/contributors" } ], - "time": "2020-12-14T13:15:25+00:00" + "description": "⏱ Nette Caching: library with easy-to-use API and many cache backends.", + "homepage": "https://nette.org", + "keywords": [ + "cache", + "journal", + "memcached", + "nette", + "sqlite" + ], + "support": { + "issues": "https://github.com/nette/caching/issues", + "source": "https://github.com/nette/caching/tree/v3.1.1" + }, + "time": "2021-03-06T14:07:38+00:00" + }, + { + "name": "nette/finder", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/nette/finder.git", + "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/finder/zipball/4ad2c298eb8c687dd0e74ae84206a4186eeaed50", + "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50", + "shasum": "" + }, + "require": { + "nette/utils": "^2.4 || ^3.0", + "php": ">=7.1" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "^2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", + "homepage": "https://nette.org", + "keywords": [ + "filesystem", + "glob", + "iterator", + "nette" + ], + "support": { + "issues": "https://github.com/nette/finder/issues", + "source": "https://github.com/nette/finder/tree/v2.5.2" + }, + "time": "2020-01-03T20:35:40+00:00" + }, + { + "name": "nette/neon", + "version": "v3.2.2", + "source": { + "type": "git", + "url": "https://github.com/nette/neon.git", + "reference": "e4ca6f4669121ca6876b1d048c612480e39a28d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/neon/zipball/e4ca6f4669121ca6876b1d048c612480e39a28d5", + "reference": "e4ca6f4669121ca6876b1d048c612480e39a28d5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.1" + }, + "require-dev": { + "nette/tester": "^2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍸 Nette NEON: encodes and decodes NEON file format.", + "homepage": "https://ne-on.org", + "keywords": [ + "export", + "import", + "neon", + "nette", + "yaml" + ], + "support": { + "issues": "https://github.com/nette/neon/issues", + "source": "https://github.com/nette/neon/tree/v3.2.2" + }, + "time": "2021-02-28T12:30:32+00:00" + }, + { + "name": "nette/robot-loader", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/nette/robot-loader.git", + "reference": "3973cf3970d1de7b30888fd10b92dac9e0c2fd82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/3973cf3970d1de7b30888fd10b92dac9e0c2fd82", + "reference": "3973cf3970d1de7b30888fd10b92dac9e0c2fd82", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "nette/finder": "^2.5 || ^3.0", + "nette/utils": "^3.0", + "php": ">=7.1" + }, + "require-dev": { + "nette/tester": "^2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", + "homepage": "https://nette.org", + "keywords": [ + "autoload", + "class", + "interface", + "nette", + "trait" + ], + "support": { + "issues": "https://github.com/nette/robot-loader/issues", + "source": "https://github.com/nette/robot-loader/tree/v3.4.0" + }, + "time": "2021-03-07T15:12:01+00:00" + }, + { + "name": "nette/utils", + "version": "v3.2.2", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", + "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", + "shasum": "" + }, + "require": { + "php": ">=7.2 <8.1" + }, + "conflict": { + "nette/di": "<3.0.6" + }, + "require-dev": { + "nette/tester": "~2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v3.2.2" + }, + "time": "2021-03-03T22:53:25+00:00" }, { "name": "nikic/php-parser", @@ -1742,36 +1163,40 @@ "time": "2021-02-15T12:58:46+00:00" }, { - "name": "phpdocumentor/flyfinder", - "version": "1.0.0", + "name": "phpstan/phpdoc-parser", + "version": "0.5.4", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/FlyFinder.git", - "reference": "0443e747872cc4a4d8f4b830d16a0357c14df7a6" + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "e352d065af1ae9b41c12d1dfd309e90f7b1f55c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/FlyFinder/zipball/0443e747872cc4a4d8f4b830d16a0357c14df7a6", - "reference": "0443e747872cc4a4d8f4b830d16a0357c14df7a6", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/e352d065af1ae9b41c12d1dfd309e90f7b1f55c9", + "reference": "e352d065af1ae9b41c12d1dfd309e90f7b1f55c9", "shasum": "" }, "require": { - "league/flysystem": "^1.0", - "php": "^7.2" + "php": "^7.1 || ^8.0" }, "require-dev": { - "league/flysystem-memory": "~1", - "mockery/mockery": "^1.3" + "phing/phing": "^2.16.3", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.60", + "phpstan/phpstan-strict-rules": "^0.12.5", + "phpunit/phpunit": "^7.5.20", + "symfony/process": "^5.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "0.5-dev" } }, "autoload": { "psr-4": { - "Flyfinder\\": [ + "PHPStan\\PhpDocParser\\": [ "src/" ] } @@ -1780,457 +1205,127 @@ "license": [ "MIT" ], - "description": "Flysystem plugin to add file finding capabilities to the Filesystem entity", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "Flysystem", - "phpdoc" - ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { - "issues": "https://github.com/phpDocumentor/FlyFinder/issues", - "source": "https://github.com/phpDocumentor/FlyFinder/tree/1.0.0" + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/0.5.4" }, - "time": "2020-03-13T14:02:28+00:00" + "time": "2021-04-03T14:46:19+00:00" }, { - "name": "phpdocumentor/graphviz", - "version": "2.0.0", + "name": "phpstan/phpstan", + "version": "0.12.85", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/GraphViz.git", - "reference": "929e97b4ab6765fc4eb2f944b091a4a02807ee5d" + "url": "https://github.com/phpstan/phpstan.git", + "reference": "20e6333c0067875ad7697cd8acdf245c6ef69d03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/GraphViz/zipball/929e97b4ab6765fc4eb2f944b091a4a02807ee5d", - "reference": "929e97b4ab6765fc4eb2f944b091a4a02807ee5d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/20e6333c0067875ad7697cd8acdf245c6ef69d03", + "reference": "20e6333c0067875ad7697cd8acdf245c6ef69d03", "shasum": "" }, "require": { - "php": "^7.2 || 8.0.*" + "php": "^7.1|^8.0" }, - "require-dev": { - "ext-simplexml": "*", - "mockery/mockery": "^1.2", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^8.2 || ^9.2" + "conflict": { + "phpstan/phpstan-shim": "*" }, + "bin": [ + "phpstan", + "phpstan.phar" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "0.12-dev" } }, "autoload": { - "psr-4": { - "phpDocumentor\\GraphViz\\": "src/phpDocumentor/GraphViz", - "phpDocumentor\\GraphViz\\PHPStan\\": "./src/phpDocumentor/PHPStan" - } + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ + "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/0.12.85" + }, + "funding": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpstan", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" } ], - "description": "Wrapper for Graphviz", - "support": { - "issues": "https://github.com/phpDocumentor/GraphViz/issues", - "source": "https://github.com/phpDocumentor/GraphViz/tree/2.0.0" - }, - "time": "2021-02-02T20:48:43+00:00" + "time": "2021-04-27T14:13:16+00:00" }, { - "name": "phpdocumentor/phpdocumentor", - "version": "v3.0.0", + "name": "phpstan/phpstan-phpunit", + "version": "0.12.18", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/phpDocumentor.git", - "reference": "405da431bdc7ca02512cb6aa15f4ed43ffca8175" + "url": "https://github.com/phpstan/phpstan-phpunit.git", + "reference": "ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor/zipball/405da431bdc7ca02512cb6aa15f4ed43ffca8175", - "reference": "405da431bdc7ca02512cb6aa15f4ed43ffca8175", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72", + "reference": "ab44aec7cfb5cb267b8bc30a8caea86dd50d1f72", "shasum": "" }, "require": { - "doctrine/event-manager": "^1.1", - "ext-ctype": "*", - "ext-hash": "*", - "ext-iconv": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "jawira/plantuml": "^1.27", - "jean85/pretty-package-versions": "^1.2", - "league/commonmark": "^1.5", - "league/flysystem": "^1.0", - "league/pipeline": "^1.0", - "league/tactician": "^1.0", - "league/tactician-bundle": "^1.2", - "league/uri": "^6.0", - "league/uri-interfaces": "^2.0", - "php": ">=7.2.5", - "phpdocumentor/flyfinder": "^1.0", - "phpdocumentor/graphviz": "^2.0@dev", - "phpdocumentor/reflection": "^4.0", - "phpdocumentor/reflection-common": "^2.0", - "phpdocumentor/reflection-docblock": "^5.0", - "phpdocumentor/type-resolver": "^1.0", - "psr/cache": "^1.0", - "psr/log": "^1.1", - "scrivo/highlight.php": "^9.17", - "symfony/cache": "^5.0", - "symfony/config": "^5.0", - "symfony/console": "^5.0", - "symfony/contracts": "^2.0", - "symfony/dependency-injection": "^5.0", - "symfony/dom-crawler": "5.1.*", - "symfony/dotenv": "^5.0", - "symfony/event-dispatcher": "^5.0", - "symfony/expression-language": "^5.0", - "symfony/filesystem": "^5.0", - "symfony/finder": "5.1.*", - "symfony/flex": "^1.3.1", - "symfony/framework-bundle": "^5.0", - "symfony/http-foundation": "^5.0.7", - "symfony/http-kernel": "^5.0.8", - "symfony/monolog-bundle": "^3.0", - "symfony/process": "5.1.*", - "symfony/proxy-manager-bridge": "^5.0", - "symfony/routing": "^5.0", - "symfony/stopwatch": "^5.0", - "symfony/string": "5.1.*", - "symfony/yaml": "^5.0", - "twig/twig": "~2.0", - "webmozart/assert": "^1.3" + "php": "^7.1 || ^8.0", + "phpstan/phpstan": "^0.12.60" }, "conflict": { - "symfony/symfony": "*" - }, - "replace": { - "paragonie/random_compat": "2.*", - "symfony/polyfill-iconv": "*", - "symfony/polyfill-php56": "*", - "symfony/polyfill-php70": "*", - "symfony/polyfill-php71": "*", - "symfony/polyfill-php72": "*" + "phpunit/phpunit": "<7.0" }, "require-dev": { - "fzaninotto/faker": "^1.9", - "mikey179/vfsstream": "^1.2", - "mockery/mockery": "^1.0" + "phing/phing": "^2.16.3", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-strict-rules": "^0.12.6", + "phpunit/phpunit": "^7.5.20" }, - "bin": [ - "bin/phpdoc.php", - "bin/phpdoc" - ], - "type": "library", + "type": "phpstan-extension", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "0.12-dev" }, - "symfony": { - "id": "01C32VS9393M1CP9R8TEJMH62G", - "allow-contrib": false, - "require": "^5.0" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Guides\\": "src/Guides/", - "phpDocumentor\\": [ - "src/phpDocumentor/" + "phpstan": { + "includes": [ + "extension.neon", + "rules.neon" ] } }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Documentation Generator for PHP", - "homepage": "https://www.phpdoc.org", - "keywords": [ - "api", - "application", - "dga", - "documentation", - "phpdoc" - ], - "support": { - "issues": "https://github.com/phpDocumentor/phpDocumentor/issues", - "source": "https://github.com/phpDocumentor/phpDocumentor/tree/v3.0.0" - }, - "time": "2020-10-27T20:24:27+00:00" - }, - { - "name": "phpdocumentor/reflection", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/Reflection.git", - "reference": "447928a45710d6313e68774cf12b5f730b909baa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/447928a45710d6313e68774cf12b5f730b909baa", - "reference": "447928a45710d6313e68774cf12b5f730b909baa", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.0", - "php": ">=7.2", - "phpdocumentor/reflection-common": "^2.0", - "phpdocumentor/reflection-docblock": "^5", - "phpdocumentor/type-resolver": "^1.0", - "psr/log": "~1.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mikey179/vfsstream": "~1.2", - "mockery/mockery": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-4.x": "4.1.x-dev" - } - }, "autoload": { "psr-4": { - "phpDocumentor\\": "src/phpDocumentor" + "PHPStan\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Reflection library to do Static Analysis for PHP Projects", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], + "description": "PHPUnit extensions and rules for PHPStan", "support": { - "issues": "https://github.com/phpDocumentor/Reflection/issues", - "source": "https://github.com/phpDocumentor/Reflection/tree/4.x" + "issues": "https://github.com/phpstan/phpstan-phpunit/issues", + "source": "https://github.com/phpstan/phpstan-phpunit/tree/0.12.18" }, - "time": "2020-06-19T18:26:14+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", - "webmozart/assert": "^1.9.1" - }, - "require-dev": { - "mockery/mockery": "~1.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" - }, - "time": "2020-09-03T19:13:55+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "ext-tokenizer": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" - }, - "time": "2020-09-17T18:55:26+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/master" - }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2021-03-06T11:51:27+00:00" }, { "name": "psr/container", @@ -2330,59 +1425,6 @@ }, "time": "2019-01-08T18:20:26+00:00" }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, - "time": "2016-08-06T14:39:51+00:00" - }, { "name": "psr/log", "version": "1.1.3", @@ -2434,38 +1476,565 @@ "time": "2020-03-23T09:12:05+00:00" }, { - "name": "scrivo/highlight.php", - "version": "v9.18.1.6", + "name": "rector/rector", + "version": "0.10.16", "source": { "type": "git", - "url": "https://github.com/scrivo/highlight.php.git", - "reference": "44a3d4136edb5ad8551590bf90f437db80b2d466" + "url": "https://github.com/rectorphp/rector.git", + "reference": "e6157560c122ca104d1d1b8255f309f6d07c8933" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/44a3d4136edb5ad8551590bf90f437db80b2d466", - "reference": "44a3d4136edb5ad8551590bf90f437db80b2d466", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/e6157560c122ca104d1d1b8255f309f6d07c8933", + "reference": "e6157560c122ca104d1d1b8255f309f6d07c8933", "shasum": "" }, "require": { + "composer/semver": "^3.2", + "composer/xdebug-handler": "^1.4|^2.0", + "danielstjules/stringy": "^3.1", + "doctrine/inflector": "^2.0", + "ext-dom": "*", "ext-json": "*", - "ext-mbstring": "*", - "php": ">=5.4" + "jean85/pretty-package-versions": "^1.6", + "nette/caching": "^3.1", + "nette/robot-loader": "^3.4", + "nette/utils": "^3.2", + "nikic/php-parser": "^4.10.4", + "php": "^7.3|^8.0", + "phpstan/phpdoc-parser": "^0.5.4", + "phpstan/phpstan": "^0.12.83", + "phpstan/phpstan-phpunit": "^0.12.18", + "rector/rector-cakephp": "^0.10.4", + "rector/rector-doctrine": "^0.10.6", + "rector/rector-installer": "^0.10.0", + "rector/rector-laravel": "^0.10.2", + "rector/rector-nette": "^0.10.8", + "rector/rector-phpunit": "^0.10.8", + "rector/rector-symfony": "^0.10.5", + "sebastian/diff": "^4.0.4", + "symfony/console": "^4.4.8|^5.1", + "symfony/dependency-injection": "^5.1", + "symfony/finder": "^4.4.8|^5.1", + "symfony/http-kernel": "^4.4.8|^5.1", + "symfony/process": "^4.4.8|^5.1", + "symplify/astral": "^9.3", + "symplify/autowire-array-parameter": "^9.3", + "symplify/console-color-diff": "^9.3", + "symplify/package-builder": "^9.3", + "symplify/rule-doc-generator-contracts": "^9.3", + "symplify/set-config-resolver": "^9.3", + "symplify/simple-php-doc-parser": "^9.3", + "symplify/skipper": "^9.3", + "symplify/smart-file-system": "^9.3", + "symplify/symfony-php-config": "^9.3", + "tracy/tracy": "^2.8", + "webmozart/assert": "^1.10" + }, + "replace": { + "rector/rector-prefixed": "self.version" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5.7", - "sabberworm/php-css-parser": "^8.3", - "symfony/finder": "^2.8|^3.4", - "symfony/var-dumper": "^2.8|^3.4" + "friendsofphp/php-cs-fixer": "^2.18.6", + "nette/application": "^3.0.7", + "nette/di": "^3.0", + "nette/forms": "^3.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-nette": "^0.12.16", + "phpunit/phpunit": "^9.5", + "rector/rector-generator": "^0.1.7", + "rector/rector-phpstan-rules": "^0.1", + "symplify/coding-standard": "^9.3", + "symplify/easy-ci": "^9.3", + "symplify/easy-coding-standard": "^9.3", + "symplify/easy-testing": "^9.3", + "symplify/phpstan-extensions": "^9.3", + "symplify/phpstan-rules": "^9.3", + "symplify/rule-doc-generator": "^9.3" }, + "bin": [ + "bin/rector" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + } + }, "autoload": { - "psr-0": { - "Highlight\\": "", - "HighlightUtilities\\": "" + "psr-4": { + "Rector\\": [ + "packages", + "rules" + ], + "Rector\\Core\\": "src", + "Rector\\Compiler\\": "utils/compiler/src" }, "files": [ - "HighlightUtilities/functions.php" + "src/functions/node_helper.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tomas Votruba", + "email": "tomas.vot@gmail.com", + "homepage": "https://tomasvotruba.com" + }, + { + "name": "Jan Mikes", + "email": "j.mikes@me.com", + "homepage": "https://janmikes.cz" + } + ], + "description": "Instant upgrade and refactoring of your PHP code", + "homepage": "https://getrector.org", + "keywords": [ + "ast", + "automated refactoring", + "instant refactoring", + "instant upgrades" + ], + "support": { + "issues": "https://github.com/rectorphp/rector/issues", + "source": "https://github.com/rectorphp/rector/tree/0.10.16" + }, + "funding": [ + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-30T08:28:36+00:00" + }, + { + "name": "rector/rector-cakephp", + "version": "0.10.4", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-cakephp.git", + "reference": "5155ac30d2cd04144690c118a030af0a4a1e68f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-cakephp/zipball/5155ac30d2cd04144690c118a030af0a4a1e68f4", + "reference": "5155ac30d2cd04144690c118a030af0a4a1e68f4", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.3", + "rector/rector": "^0.10.5" + }, + "conflict": { + "rector/rector": "<=0.10.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symplify/easy-coding-standard": "^9.2", + "symplify/phpstan-extensions": "^9.2", + "symplify/phpstan-rules": "^9.2", + "symplify/rule-doc-generator": "^9.2" + }, + "type": "rector-extension", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + }, + "rector": { + "includes": [ + "config/config.php" + ] + } + }, + "autoload": { + "psr-4": { + "Rector\\CakePHP\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for CakePHP", + "support": { + "issues": "https://github.com/rectorphp/rector-cakephp/issues", + "source": "https://github.com/rectorphp/rector-cakephp/tree/0.10.4" + }, + "time": "2021-04-15T22:27:55+00:00" + }, + { + "name": "rector/rector-doctrine", + "version": "0.10.6", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-doctrine.git", + "reference": "52dbdf1d60c522c1c40142a194960610db451f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-doctrine/zipball/52dbdf1d60c522c1c40142a194960610db451f91", + "reference": "52dbdf1d60c522c1c40142a194960610db451f91", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "rector/rector": "^0.10.10" + }, + "conflict": { + "rector/rector": "<=0.10.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symplify/easy-coding-standard": "^9.2", + "symplify/phpstan-extensions": "^9.2", + "symplify/phpstan-rules": "^9.2", + "symplify/rule-doc-generator": "^9.2", + "tracy/tracy": "^2.8" + }, + "type": "rector-extension", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + }, + "rector": { + "includes": [ + "config/config.php" + ] + } + }, + "autoload": { + "psr-4": { + "Rector\\Doctrine\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for Doctrine", + "support": { + "issues": "https://github.com/rectorphp/rector-doctrine/issues", + "source": "https://github.com/rectorphp/rector-doctrine/tree/0.10.6" + }, + "time": "2021-04-24T12:17:00+00:00" + }, + { + "name": "rector/rector-installer", + "version": "0.10.1", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-installer.git", + "reference": "2e8df01aac6a3dedd113ba57ea6f129b6a9872c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-installer/zipball/2e8df01aac6a3dedd113ba57ea6f129b6a9872c9", + "reference": "2e8df01aac6a3dedd113ba57ea6f129b6a9872c9", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1 || ^2.0", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "composer/composer": "^2.0", + "jangregor/phpstan-prophecy": "^0.8.1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector-phpstan-rules": "^0.1.0", + "symplify/easy-coding-standard": "^9.2.24", + "symplify/phpstan-extensions": "^9.2.24", + "symplify/phpstan-rules": "^9.2.24" + }, + "type": "composer-plugin", + "extra": { + "class": "Rector\\RectorInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "Rector\\RectorInstaller\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Composer plugin for automatic installation of rector extensions", + "support": { + "issues": "https://github.com/rectorphp/rector-installer/issues", + "source": "https://github.com/rectorphp/rector-installer/tree/0.10.1" + }, + "time": "2021-04-26T14:25:12+00:00" + }, + { + "name": "rector/rector-laravel", + "version": "0.10.2", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-laravel.git", + "reference": "d4ccd50d7975bea9a0ce961bbaded385b5ede739" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-laravel/zipball/d4ccd50d7975bea9a0ce961bbaded385b5ede739", + "reference": "d4ccd50d7975bea9a0ce961bbaded385b5ede739", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "rector/rector": "^0.10.5" + }, + "conflict": { + "rector/rector": "<=0.10.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symplify/easy-coding-standard": "^9.2", + "symplify/phpstan-extensions": "^9.2", + "symplify/phpstan-rules": "^9.2", + "symplify/rule-doc-generator": "^9.2", + "tracy/tracy": "^2.8" + }, + "type": "rector-extension", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + }, + "rector": { + "includes": [ + "config/config.php" + ] + } + }, + "autoload": { + "psr-4": { + "Rector\\Laravel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for Laravel Framework", + "support": { + "issues": "https://github.com/rectorphp/rector-laravel/issues", + "source": "https://github.com/rectorphp/rector-laravel/tree/0.10.2" + }, + "time": "2021-04-15T22:21:20+00:00" + }, + { + "name": "rector/rector-nette", + "version": "0.10.9", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-nette.git", + "reference": "19c85c870f9a7a90d1f2e9be9b3e048b4db69697" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-nette/zipball/19c85c870f9a7a90d1f2e9be9b3e048b4db69697", + "reference": "19c85c870f9a7a90d1f2e9be9b3e048b4db69697", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.3", + "rector/rector": "^0.10.12" + }, + "conflict": { + "rector/rector": "<=0.10.3" + }, + "require-dev": { + "nette/application": "^3.0.7", + "nette/di": "^3.0", + "nette/forms": "3.0.*", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-nette": "^0.12.16", + "phpunit/phpunit": "^9.5", + "rector/rector-phpstan-rules": "^0.1", + "symplify/easy-coding-standard": "^9.2", + "symplify/phpstan-extensions": "^9.2", + "symplify/phpstan-rules": "^9.2", + "symplify/rule-doc-generator": "^9.2" + }, + "type": "rector-extension", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + }, + "rector": { + "includes": [ + "config/config.php" + ] + } + }, + "autoload": { + "psr-4": { + "Rector\\Nette\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for Nette Framework", + "support": { + "issues": "https://github.com/rectorphp/rector-nette/issues", + "source": "https://github.com/rectorphp/rector-nette/tree/0.10.9" + }, + "time": "2021-04-26T10:35:59+00:00" + }, + { + "name": "rector/rector-phpunit", + "version": "0.10.8", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-phpunit.git", + "reference": "2b272b61cacf29bf0e448719165c8376cd41872e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-phpunit/zipball/2b272b61cacf29bf0e448719165c8376cd41872e", + "reference": "2b272b61cacf29bf0e448719165c8376cd41872e", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "rector/rector": "^0.10.10" + }, + "conflict": { + "rector/rector": "<=0.10.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symplify/easy-coding-standard": "^9.2", + "symplify/phpstan-extensions": "^9.2", + "symplify/phpstan-rules": "^9.2", + "symplify/rule-doc-generator": "^9.2", + "tracy/tracy": "^2.8" + }, + "type": "rector-extension", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + }, + "rector": { + "includes": [ + "config/config.php" + ] + } + }, + "autoload": { + "psr-4": { + "Rector\\PHPUnit\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for PHPUnit", + "support": { + "issues": "https://github.com/rectorphp/rector-phpunit/issues", + "source": "https://github.com/rectorphp/rector-phpunit/tree/0.10.8" + }, + "time": "2021-04-24T12:18:06+00:00" + }, + { + "name": "rector/rector-symfony", + "version": "0.10.6", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector-symfony.git", + "reference": "583e77ad2fc8c7740418d55884beb3d18822e115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector-symfony/zipball/583e77ad2fc8c7740418d55884beb3d18822e115", + "reference": "583e77ad2fc8c7740418d55884beb3d18822e115", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.3", + "rector/rector": "^0.10.12" + }, + "conflict": { + "rector/rector": "<=0.10.3" + }, + "require-dev": { + "phpstan/extension-installer": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector-phpstan-rules": "dev-main", + "symfony/security-core": "^5.2", + "symfony/security-http": "^5.2", + "symplify/easy-coding-standard": "^9.2", + "symplify/phpstan-extensions": "^9.2", + "symplify/phpstan-rules": "^9.2", + "symplify/rule-doc-generator": "^9.2" + }, + "type": "rector-extension", + "extra": { + "branch-alias": { + "dev-main": "0.10-dev" + }, + "rector": { + "includes": [ + "config/config.php" + ] + } + }, + "autoload": { + "psr-4": { + "Rector\\Symfony\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for Symfony Framework", + "support": { + "issues": "https://github.com/rectorphp/rector-symfony/issues", + "source": "https://github.com/rectorphp/rector-symfony/tree/0.10.6" + }, + "time": "2021-04-26T10:06:34+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2474,40 +2043,33 @@ ], "authors": [ { - "name": "Geert Bergman", - "homepage": "http://www.scrivo.org/", - "role": "Project Author" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Vladimir Jimenez", - "homepage": "https://allejo.io", - "role": "Maintainer" - }, - { - "name": "Martin Folkers", - "homepage": "https://twobrain.io", - "role": "Contributor" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "code", - "highlight", - "highlight.js", - "highlight.php", - "syntax" + "diff", + "udiff", + "unidiff", + "unified diff" ], "support": { - "issues": "https://github.com/scrivo/highlight.php/issues", - "source": "https://github.com/scrivo/highlight.php" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" }, "funding": [ { - "url": "https://github.com/allejo", + "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-12-22T19:20:29+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -2565,113 +2127,18 @@ }, "time": "2021-04-09T00:54:41+00:00" }, - { - "name": "symfony/cache", - "version": "v5.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "093d69bb10c959553c8beb828b8d4ea250a247dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/093d69bb10c959553c8beb828b8d4ea250a247dd", - "reference": "093d69bb10c959553c8beb828b8d4ea250a247dd", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0", - "psr/log": "^1.1", - "symfony/cache-contracts": "^1.1.7|^2", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" - }, - "conflict": { - "doctrine/dbal": "<2.10", - "symfony/dependency-injection": "<4.4", - "symfony/http-kernel": "<4.4", - "symfony/var-dumper": "<4.4" - }, - "provide": { - "psr/cache-implementation": "1.0|2.0", - "psr/simple-cache-implementation": "1.0", - "symfony/cache-implementation": "1.0|2.0" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/cache": "^1.6", - "doctrine/dbal": "^2.10|^3.0", - "predis/predis": "^1.1", - "psr/simple-cache": "^1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/filesystem": "^4.4|^5.0", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/messenger": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an extended PSR-6, PSR-16 (and tags) implementation", - "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], - "support": { - "source": "https://github.com/symfony/cache/tree/v5.2.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-16T09:10:13+00:00" - }, { "name": "symfony/config", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263" + "reference": "3817662ada105c8c4d1afdb4ec003003efd1d8d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/212d54675bf203ff8aef7d8cee8eecfb72f4a263", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263", + "url": "https://api.github.com/repos/symfony/config/zipball/3817662ada105c8c4d1afdb4ec003003efd1d8d8", + "reference": "3817662ada105c8c4d1afdb4ec003003efd1d8d8", "shasum": "" }, "require": { @@ -2720,7 +2187,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.2.4" + "source": "https://github.com/symfony/config/tree/v5.2.7" }, "funding": [ { @@ -2736,7 +2203,7 @@ "type": "tidelift" } ], - "time": "2021-02-23T23:58:19+00:00" + "time": "2021-04-07T16:07:52+00:00" }, { "name": "symfony/console", @@ -2835,116 +2302,18 @@ ], "time": "2021-04-19T14:07:32+00:00" }, - { - "name": "symfony/contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/contracts.git", - "reference": "8434102b404d119dcaf98c8fe19a2655573ac17a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/contracts/zipball/8434102b404d119dcaf98c8fe19a2655573ac17a", - "reference": "8434102b404d119dcaf98c8fe19a2655573ac17a", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0|^3.0", - "psr/container": "^1.1", - "psr/event-dispatcher": "^1.0" - }, - "replace": { - "symfony/cache-contracts": "self.version", - "symfony/deprecation-contracts": "self.version", - "symfony/event-dispatcher-contracts": "self.version", - "symfony/http-client-contracts": "self.version", - "symfony/service-contracts": "self.version", - "symfony/translation-contracts": "self.version" - }, - "require-dev": { - "symfony/polyfill-intl-idn": "^1.10" - }, - "suggest": { - "symfony/cache-implementation": "", - "symfony/event-dispatcher-implementation": "", - "symfony/http-client-implementation": "", - "symfony/service-implementation": "", - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\": "" - }, - "files": [ - "Deprecation/function.php" - ], - "exclude-from-classmap": [ - "**/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A set of abstractions extracted out of the Symfony components", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-04-11T23:07:08+00:00" - }, { "name": "symfony/dependency-injection", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "1e66194bed2a69fa395d26bf1067e5e34483afac" + "reference": "6ca378b99e3c9ba6127eb43b68389fb2b7348577" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1e66194bed2a69fa395d26bf1067e5e34483afac", - "reference": "1e66194bed2a69fa395d26bf1067e5e34483afac", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6ca378b99e3c9ba6127eb43b68389fb2b7348577", + "reference": "6ca378b99e3c9ba6127eb43b68389fb2b7348577", "shasum": "" }, "require": { @@ -3002,7 +2371,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.2.6" + "source": "https://github.com/symfony/dependency-injection/tree/v5.2.7" }, "funding": [ { @@ -3018,45 +2387,38 @@ "type": "tidelift" } ], - "time": "2021-03-22T11:10:24+00:00" + "time": "2021-04-24T14:32:26+00:00" }, { - "name": "symfony/dom-crawler", - "version": "v5.1.11", + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5d89ceb53ec65e1973a555072fac8ed5ecad3384", - "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "masterminds/html5": "<2.6" - }, - "require-dev": { - "masterminds/html5": "^2.6", - "symfony/css-selector": "^4.4|^5.0" - }, - "suggest": { - "symfony/css-selector": "" + "php": ">=7.1" }, "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" }, - "exclude-from-classmap": [ - "/Tests/" + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3065,18 +2427,18 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Eases DOM navigation for HTML and XML documents", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v5.1.11" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" }, "funding": [ { @@ -3092,90 +2454,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" - }, - { - "name": "symfony/dotenv", - "version": "v5.2.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/dotenv.git", - "reference": "783f12027c6b40ab0e93d6136d9f642d1d67cd6b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/783f12027c6b40ab0e93d6136d9f642d1d67cd6b", - "reference": "783f12027c6b40ab0e93d6136d9f642d1d67cd6b", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1" - }, - "require-dev": { - "symfony/process": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Dotenv\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Registers environment variables from a .env file", - "homepage": "https://symfony.com", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "source": "https://github.com/symfony/dotenv/tree/v5.2.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/error-handler", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03" + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/bdb7fb4188da7f4211e4b88350ba0dfdad002b03", - "reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782", + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782", "shasum": "" }, "require": { @@ -3215,7 +2507,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.2.6" + "source": "https://github.com/symfony/error-handler/tree/v5.2.7" }, "funding": [ { @@ -3231,7 +2523,7 @@ "type": "tidelift" } ], - "time": "2021-03-16T09:07:47+00:00" + "time": "2021-04-07T15:57:33+00:00" }, { "name": "symfony/event-dispatcher", @@ -3319,33 +2611,40 @@ "time": "2021-02-18T17:12:37+00:00" }, { - "name": "symfony/expression-language", - "version": "v5.2.4", + "name": "symfony/event-dispatcher-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/expression-language.git", - "reference": "3fc560e62bc5121751b792b11505db03a12cf83c" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/3fc560e62bc5121751b792b11505db03a12cf83c", - "reference": "3fc560e62bc5121751b792b11505db03a12cf83c", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/cache": "^4.4|^5.0", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2" + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\ExpressionLanguage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\EventDispatcher\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3353,18 +2652,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an engine that can compile and evaluate expressions", + "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/expression-language/tree/v5.2.4" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" }, "funding": [ { @@ -3380,20 +2687,20 @@ "type": "tidelift" } ], - "time": "2021-02-12T10:38:38+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f" + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0", + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0", "shasum": "" }, "require": { @@ -3426,7 +2733,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.6" + "source": "https://github.com/symfony/filesystem/tree/v5.2.7" }, "funding": [ { @@ -3442,20 +2749,20 @@ "type": "tidelift" } ], - "time": "2021-03-28T14:30:26+00:00" + "time": "2021-04-01T10:42:13+00:00" }, { "name": "symfony/finder", - "version": "v5.1.11", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "196f45723b5e618bf0e23b97e96d11652696ea9e" + "reference": "0d639a0943822626290d169965804f79400e6a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/196f45723b5e618bf0e23b97e96d11652696ea9e", - "reference": "196f45723b5e618bf0e23b97e96d11652696ea9e", + "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", + "reference": "0d639a0943822626290d169965804f79400e6a04", "shasum": "" }, "require": { @@ -3487,7 +2794,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.1.11" + "source": "https://github.com/symfony/finder/tree/v5.2.4" }, "funding": [ { @@ -3503,189 +2810,42 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-02-15T18:55:04+00:00" }, { - "name": "symfony/flex", - "version": "v1.12.2", + "name": "symfony/http-client-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/flex.git", - "reference": "e472606b4b3173564f0edbca8f5d32b52fc4f2c9" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/e472606b4b3173564f0edbca8f5d32b52fc4f2c9", - "reference": "e472606b4b3173564f0edbca8f5d32b52fc4f2c9", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": ">=7.1" - }, - "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "symfony/dotenv": "^4.4|^5.0", - "symfony/filesystem": "^4.4|^5.0", - "symfony/phpunit-bridge": "^4.4|^5.0", - "symfony/process": "^3.4|^4.4|^5.0" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-main": "1.12-dev" - }, - "class": "Symfony\\Flex\\Flex" - }, - "autoload": { - "psr-4": { - "Symfony\\Flex\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien.potencier@gmail.com" - } - ], - "description": "Composer plugin for Symfony", - "support": { - "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v1.12.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-16T14:05:05+00:00" - }, - { - "name": "symfony/framework-bundle", - "version": "v5.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/framework-bundle.git", - "reference": "8889da18c6faa76c6149a90e6542be4afe723f2f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/8889da18c6faa76c6149a90e6542be4afe723f2f", - "reference": "8889da18c6faa76c6149a90e6542be4afe723f2f", - "shasum": "" - }, - "require": { - "ext-xml": "*", - "php": ">=7.2.5", - "symfony/cache": "^5.2", - "symfony/config": "^5.0", - "symfony/dependency-injection": "^5.2", - "symfony/deprecation-contracts": "^2.1", - "symfony/error-handler": "^4.4.1|^5.0.1", - "symfony/event-dispatcher": "^5.1", - "symfony/filesystem": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-foundation": "^5.2.1", - "symfony/http-kernel": "^5.2.1", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/routing": "^5.2" - }, - "conflict": { - "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "phpunit/phpunit": "<5.4.3", - "symfony/asset": "<5.1", - "symfony/browser-kit": "<4.4", - "symfony/console": "<5.2.5", - "symfony/dom-crawler": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/form": "<5.2", - "symfony/http-client": "<4.4", - "symfony/lock": "<4.4", - "symfony/mailer": "<5.2", - "symfony/messenger": "<4.4", - "symfony/mime": "<4.4", - "symfony/property-access": "<5.2", - "symfony/property-info": "<4.4", - "symfony/serializer": "<5.2", - "symfony/stopwatch": "<4.4", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<4.4", - "symfony/twig-bundle": "<4.4", - "symfony/validator": "<5.2", - "symfony/web-profiler-bundle": "<4.4", - "symfony/workflow": "<5.2" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4", - "doctrine/cache": "~1.0", - "doctrine/persistence": "^1.3|^2.0", - "paragonie/sodium_compat": "^1.8", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.1", - "symfony/browser-kit": "^4.4|^5.0", - "symfony/console": "^5.2", - "symfony/css-selector": "^4.4|^5.0", - "symfony/dom-crawler": "^4.4|^5.0", - "symfony/dotenv": "^5.1", - "symfony/expression-language": "^4.4|^5.0", - "symfony/form": "^5.2", - "symfony/http-client": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/mailer": "^5.2", - "symfony/messenger": "^5.2", - "symfony/mime": "^4.4|^5.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^4.4|^5.0", - "symfony/property-info": "^4.4|^5.0", - "symfony/security-bundle": "^5.1", - "symfony/security-core": "^4.4|^5.2", - "symfony/security-csrf": "^4.4|^5.0", - "symfony/security-http": "^4.4|^5.0", - "symfony/serializer": "^5.2", - "symfony/stopwatch": "^4.4|^5.0", - "symfony/string": "^5.0", - "symfony/translation": "^5.0", - "symfony/twig-bundle": "^4.4|^5.0", - "symfony/validator": "^5.2", - "symfony/web-link": "^4.4|^5.0", - "symfony/workflow": "^5.2", - "symfony/yaml": "^4.4|^5.0", - "twig/twig": "^2.10|^3.0" + "php": ">=7.2.5" }, "suggest": { - "ext-apcu": "For best performance of the system caches", - "symfony/console": "For using the console commands", - "symfony/form": "For using forms", - "symfony/property-info": "For using the property_info service", - "symfony/serializer": "For using the serializer service", - "symfony/validator": "For using validation", - "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", - "symfony/yaml": "For using the debug:config and lint:yaml commands" + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } }, - "type": "symfony-bundle", "autoload": { "psr-4": { - "Symfony\\Bundle\\FrameworkBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\HttpClient\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3693,18 +2853,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v5.2.6" + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" }, "funding": [ { @@ -3720,20 +2888,20 @@ "type": "tidelift" } ], - "time": "2021-03-22T14:43:01+00:00" + "time": "2021-04-11T23:07:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf" + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", "shasum": "" }, "require": { @@ -3777,7 +2945,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.4" + "source": "https://github.com/symfony/http-foundation/tree/v5.2.7" }, "funding": [ { @@ -3793,20 +2961,20 @@ "type": "tidelift" } ], - "time": "2021-02-25T17:16:57+00:00" + "time": "2021-05-01T13:46:24+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2" + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", - "reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd", + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd", "shasum": "" }, "require": { @@ -3889,7 +3057,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.2.6" + "source": "https://github.com/symfony/http-kernel/tree/v5.2.7" }, "funding": [ { @@ -3905,170 +3073,7 @@ "type": "tidelift" } ], - "time": "2021-03-29T05:16:58+00:00" - }, - { - "name": "symfony/monolog-bridge", - "version": "v5.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "8a330ab86c4bdf3983b26abf64bf85574edf0d52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/8a330ab86c4bdf3983b26abf64bf85574edf0d52", - "reference": "8a330ab86c4bdf3983b26abf64bf85574edf0d52", - "shasum": "" - }, - "require": { - "monolog/monolog": "^1.25.1|^2", - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2" - }, - "conflict": { - "symfony/console": "<4.4", - "symfony/http-foundation": "<4.4" - }, - "require-dev": { - "symfony/console": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/mailer": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0", - "symfony/security-core": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.", - "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", - "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." - }, - "type": "symfony-bridge", - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Monolog\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides integration for Monolog with various Symfony components", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v5.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-06T07:59:01+00:00" - }, - { - "name": "symfony/monolog-bundle", - "version": "v3.7.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "4054b2e940a25195ae15f0a49ab0c51718922eb4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/4054b2e940a25195ae15f0a49ab0c51718922eb4", - "reference": "4054b2e940a25195ae15f0a49ab0c51718922eb4", - "shasum": "" - }, - "require": { - "monolog/monolog": "~1.22 || ~2.0", - "php": ">=7.1.3", - "symfony/config": "~4.4 || ^5.0", - "symfony/dependency-injection": "^4.4 || ^5.0", - "symfony/http-kernel": "~4.4 || ^5.0", - "symfony/monolog-bridge": "~4.4 || ^5.0" - }, - "require-dev": { - "symfony/console": "~4.4 || ^5.0", - "symfony/phpunit-bridge": "^5.1", - "symfony/yaml": "~4.4 || ^5.0" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bundle\\MonologBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony MonologBundle", - "homepage": "https://symfony.com", - "keywords": [ - "log", - "logging" - ], - "support": { - "issues": "https://github.com/symfony/monolog-bundle/issues", - "source": "https://github.com/symfony/monolog-bundle/tree/v3.7.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-31T07:20:47+00:00" + "time": "2021-05-01T14:53:15+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4558,16 +3563,16 @@ }, { "name": "symfony/process", - "version": "v5.1.11", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d279ae7f2d6e0e4e45f66de7d76006246ae00e4d" + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d279ae7f2d6e0e4e45f66de7d76006246ae00e4d", - "reference": "d279ae7f2d6e0e4e45f66de7d76006246ae00e4d", + "url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", "shasum": "" }, "require": { @@ -4600,7 +3605,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.1.11" + "source": "https://github.com/symfony/process/tree/v5.3.0-BETA1" }, "funding": [ { @@ -4616,123 +3621,43 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-04-08T10:27:02+00:00" }, { - "name": "symfony/proxy-manager-bridge", - "version": "v5.2.4", + "name": "symfony/service-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/proxy-manager-bridge.git", - "reference": "fd6bb40190b1719abbe831be09adf38e0744d5f5" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/fd6bb40190b1719abbe831be09adf38e0744d5f5", - "reference": "fd6bb40190b1719abbe831be09adf38e0744d5f5", - "shasum": "" - }, - "require": { - "composer/package-versions-deprecated": "^1.8", - "friendsofphp/proxy-manager-lts": "^1.0.2", - "php": ">=7.2.5", - "symfony/dependency-injection": "^5.0" - }, - "require-dev": { - "symfony/config": "^4.4|^5.0" - }, - "type": "symfony-bridge", - "autoload": { - "psr-4": { - "Symfony\\Bridge\\ProxyManager\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides integration for ProxyManager with various Symfony components", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.2.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:01:46+00:00" - }, - { - "name": "symfony/routing", - "version": "v5.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/31fba555f178afd04d54fd26953501b2c3f0c6e6", - "reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/config": "<5.0", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4", - "psr/log": "~1.0", - "symfony/config": "^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" + "psr/container": "^1.1" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "symfony/service-implementation": "" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\Service\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4740,24 +3665,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Maps an HTTP request to a set of configuration variables", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.2.6" + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" }, "funding": [ { @@ -4773,82 +3700,20 @@ "type": "tidelift" } ], - "time": "2021-03-14T13:53:33+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v5.2.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c", - "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/service-contracts": "^1.0|^2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a way to profile code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.2.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-04-01T10:43:52+00:00" }, { "name": "symfony/string", - "version": "v5.1.11", + "version": "v5.2.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "83bbb92d34881744b8021452a76532b28283dbfb" + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/83bbb92d34881744b8021452a76532b28283dbfb", - "reference": "83bbb92d34881744b8021452a76532b28283dbfb", + "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", "shasum": "" }, "require": { @@ -4902,7 +3767,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.1.11" + "source": "https://github.com/symfony/string/tree/v5.2.6" }, "funding": [ { @@ -4918,20 +3783,20 @@ "type": "tidelift" } ], - "time": "2021-01-25T14:41:58+00:00" + "time": "2021-03-17T17:12:15+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e" + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89412a68ea2e675b4e44f260a5666729f77f668e", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636", + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636", "shasum": "" }, "require": { @@ -4990,7 +3855,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.2.6" + "source": "https://github.com/symfony/var-dumper/tree/v5.2.7" }, "funding": [ { @@ -5006,234 +3871,851 @@ "type": "tidelift" } ], - "time": "2021-03-28T09:42:18+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { - "name": "symfony/var-exporter", - "version": "v5.2.4", + "name": "symplify/astral", + "version": "v9.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "5aed4875ab514c8cb9b6ff4772baa25fa4c10307" + "url": "https://github.com/symplify/astral.git", + "reference": "9707ba1a438bb0e22dca731ac16a47cb9944d1df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/5aed4875ab514c8cb9b6ff4772baa25fa4c10307", - "reference": "5aed4875ab514c8cb9b6ff4772baa25fa4c10307", + "url": "https://api.github.com/repos/symplify/astral/zipball/9707ba1a438bb0e22dca731ac16a47cb9944d1df", + "reference": "9707ba1a438bb0e22dca731ac16a47cb9944d1df", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "nette/utils": "^3.2", + "nikic/php-parser": "^4.10.4", + "php": ">=7.3", + "symfony/dependency-injection": "^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/autowire-array-parameter": "^9.3", + "symplify/package-builder": "^9.3" }, "require-dev": { - "symfony/var-dumper": "^4.4.9|^5.0.9" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "serialize" - ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.2.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:01:46+00:00" - }, - { - "name": "symfony/yaml", - "version": "v5.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "298a08ddda623485208506fcee08817807a251dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", - "reference": "298a08ddda623485208506fcee08817807a251dd", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/console": "<4.4" - }, - "require-dev": { - "symfony/console": "^4.4|^5.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-06T07:59:01+00:00" - }, - { - "name": "twig/twig", - "version": "v2.14.4", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "0b4ba691fb99ec7952d25deb36c0a83061b93bbf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b4ba691fb99ec7952d25deb36c0a83061b93bbf", - "reference": "0b4ba691fb99ec7952d25deb36c0a83061b93bbf", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + "phpunit/phpunit": "^9.5", + "symplify/easy-testing": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.14-dev" + "dev-main": "9.3-dev" } }, "autoload": { - "psr-0": { - "Twig_": "lib/" - }, "psr-4": { - "Twig\\": "src/" + "Symplify\\Astral\\": "src" } }, "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Toolking for smart daily work with AST", + "support": { + "source": "https://github.com/symplify/astral/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:11:32+00:00" + }, + { + "name": "symplify/autowire-array-parameter", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/autowire-array-parameter.git", + "reference": "ad7db59a20df653b563a7b2e6875d530db359e16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/autowire-array-parameter/zipball/ad7db59a20df653b563a7b2e6875d530db359e16", + "reference": "ad7db59a20df653b563a7b2e6875d530db359e16", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/dependency-injection": "^5.2", + "symplify/package-builder": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\AutowireArrayParameter\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Autowire array parameters for your Symfony applications", + "support": { + "source": "https://github.com/symplify/autowire-array-parameter/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:11:31+00:00" + }, + { + "name": "symplify/composer-json-manipulator", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/composer-json-manipulator.git", + "reference": "d988a434f08055aed92ff7ba284b274c7fa4d050" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/composer-json-manipulator/zipball/d988a434f08055aed92ff7ba284b274c7fa4d050", + "reference": "d988a434f08055aed92ff7ba284b274c7fa4d050", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/config": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/filesystem": "^4.4|^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/package-builder": "^9.3", + "symplify/smart-file-system": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\ComposerJsonManipulator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Package to load, merge and save composer.json file(s)", + "support": { + "source": "https://github.com/symplify/composer-json-manipulator/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T20:55:14+00:00" + }, + { + "name": "symplify/console-color-diff", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/console-color-diff.git", + "reference": "85dddabe5ed45a47bb325038f6c14b37014d96c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/console-color-diff/zipball/85dddabe5ed45a47bb325038f6c14b37014d96c1", + "reference": "85dddabe5ed45a47bb325038f6c14b37014d96c1", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "sebastian/diff": "^3.0|^4.0", + "symfony/console": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/package-builder": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\ConsoleColorDiff\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Package to print diffs in console with colors", + "support": { + "source": "https://github.com/symplify/console-color-diff/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:11:34+00:00" + }, + { + "name": "symplify/console-package-builder", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/console-package-builder.git", + "reference": "b59e4b46ba143e0b9f0589f842d840aab8bffacf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/console-package-builder/zipball/b59e4b46ba143e0b9f0589f842d840aab8bffacf", + "reference": "b59e4b46ba143e0b9f0589f842d840aab8bffacf", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "symfony/console": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symplify/symplify-kernel": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/package-builder": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\ConsolePackageBuilder\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Package to speed up building command line applications", + "support": { + "source": "https://github.com/symplify/console-package-builder/tree/v9.3.0" + }, + "time": "2021-04-26T17:11:31+00:00" + }, + { + "name": "symplify/easy-testing", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/easy-testing.git", + "reference": "d8bc9e2388ede8d3685f06ed9bc23285df97a550" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/easy-testing/zipball/d8bc9e2388ede8d3685f06ed9bc23285df97a550", + "reference": "d8bc9e2388ede8d3685f06ed9bc23285df97a550", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/console": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/finder": "^4.4|^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/console-package-builder": "^9.3", + "symplify/package-builder": "^9.3", + "symplify/smart-file-system": "^9.3", + "symplify/symplify-kernel": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "bin": [ + "bin/easy-testing" + ], + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\EasyTesting\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Testing made easy", + "support": { + "source": "https://github.com/symplify/easy-testing/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:11:32+00:00" + }, + { + "name": "symplify/package-builder", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/package-builder.git", + "reference": "003f5cd77f48cb729f03999d0b5afc5e6cfbc90a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/package-builder/zipball/003f5cd77f48cb729f03999d0b5afc5e6cfbc90a", + "reference": "003f5cd77f48cb729f03999d0b5afc5e6cfbc90a", + "shasum": "" + }, + "require": { + "nette/neon": "^3.2", + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/config": "^4.4|^5.2", + "symfony/console": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/finder": "^4.4|^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/easy-testing": "^9.3", + "symplify/symplify-kernel": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\PackageBuilder\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Dependency Injection, Console and Kernel toolkit for Symplify packages.", + "support": { + "source": "https://github.com/symplify/package-builder/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T20:55:47+00:00" + }, + { + "name": "symplify/rule-doc-generator-contracts", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/rule-doc-generator-contracts.git", + "reference": "b02f4b86397534e1afcf5d6466b15fb54b89f11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/rule-doc-generator-contracts/zipball/b02f4b86397534e1afcf5d6466b15fb54b89f11c", + "reference": "b02f4b86397534e1afcf5d6466b15fb54b89f11c", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\RuleDocGenerator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Contracts for production code of RuleDocGenerator", + "support": { + "source": "https://github.com/symplify/rule-doc-generator-contracts/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-03-18T11:17:08+00:00" + }, + { + "name": "symplify/set-config-resolver", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/set-config-resolver.git", + "reference": "fd8f515d293aaec34e1c631226641ac3e82f012d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/set-config-resolver/zipball/fd8f515d293aaec34e1c631226641ac3e82f012d", + "reference": "fd8f515d293aaec34e1c631226641ac3e82f012d", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/config": "^4.4|^5.2", + "symfony/console": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/filesystem": "^4.4|^5.2", + "symfony/finder": "^4.4|^5.2", + "symplify/smart-file-system": "^9.3", + "symplify/symplify-kernel": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\SetConfigResolver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Resolve config and sets from configs and cli opptions for CLI applications", + "support": { + "source": "https://github.com/symplify/set-config-resolver/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:12:22+00:00" + }, + { + "name": "symplify/simple-php-doc-parser", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/simple-php-doc-parser.git", + "reference": "b66e8ee42c45650a01a68ba88dfcc9d4442346fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/simple-php-doc-parser/zipball/b66e8ee42c45650a01a68ba88dfcc9d4442346fb", + "reference": "b66e8ee42c45650a01a68ba88dfcc9d4442346fb", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "phpstan/phpdoc-parser": "^0.5", + "symfony/config": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/package-builder": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symplify/easy-testing": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\SimplePhpDocParser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Service integration of phpstan/phpdoc-parser, with few extra goodies for practical simple use", + "support": { + "source": "https://github.com/symplify/simple-php-doc-parser/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:12:15+00:00" + }, + { + "name": "symplify/skipper", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/skipper.git", + "reference": "9cd7ec1b15f55d474a006690db34eef648c01c00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/skipper/zipball/9cd7ec1b15f55d474a006690db34eef648c01c00", + "reference": "9cd7ec1b15f55d474a006690db34eef648c01c00", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/config": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/filesystem": "^4.4|^5.2", + "symfony/finder": "^4.4|^5.2", + "symplify/package-builder": "^9.3", + "symplify/smart-file-system": "^9.3", + "symplify/symplify-kernel": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\Skipper\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Skip files by rule class, directory, file or fnmatch", + "support": { + "source": "https://github.com/symplify/skipper/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-04-26T17:12:16+00:00" + }, + { + "name": "symplify/smart-file-system", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/smart-file-system.git", + "reference": "d7a222bf576248700aa376fed6727ff665493c02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/smart-file-system/zipball/d7a222bf576248700aa376fed6727ff665493c02", + "reference": "d7a222bf576248700aa376fed6727ff665493c02", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2", + "php": ">=7.3", + "symfony/filesystem": "^4.4|^5.2", + "symfony/finder": "^4.4|^5.2" + }, + "require-dev": { + "nette/finder": "^2.5", + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\SmartFileSystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Sanitized FileInfo with safe getRealPath() and other handy methods", + "support": { + "source": "https://github.com/symplify/smart-file-system/tree/v9.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2021-03-11T14:51:03+00:00" + }, + { + "name": "symplify/symfony-php-config", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/symfony-php-config.git", + "reference": "0a5bf9f1d7d970f2df2b4e4225c297bd774c23c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/symfony-php-config/zipball/0a5bf9f1d7d970f2df2b4e4225c297bd774c23c8", + "reference": "0a5bf9f1d7d970f2df2b4e4225c297bd774c23c8", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "symfony/dependency-injection": "^5.2", + "symplify/package-builder": "^9.3", + "symplify/symplify-kernel": "^9.3" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.82", + "phpunit/phpunit": "^9.5", + "symfony/http-kernel": "^4.4|^5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\SymfonyPhpConfig\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Tools that easy work with Symfony PHP Configs", + "support": { + "source": "https://github.com/symplify/symfony-php-config/tree/v9.3.0" + }, + "time": "2021-04-26T17:12:31+00:00" + }, + { + "name": "symplify/symplify-kernel", + "version": "v9.3.0", + "source": { + "type": "git", + "url": "https://github.com/symplify/symplify-kernel.git", + "reference": "0c9b154f26f06007a1c0df32a608c24efb1cb605" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/symplify-kernel/zipball/0c9b154f26f06007a1c0df32a608c24efb1cb605", + "reference": "0c9b154f26f06007a1c0df32a608c24efb1cb605", + "shasum": "" + }, + "require": { + "jean85/pretty-package-versions": "^1.6|^2.0.1", + "php": ">=7.3", + "symfony/console": "^4.4|^5.2", + "symfony/dependency-injection": "^5.2", + "symfony/http-kernel": "^4.4|^5.2", + "symplify/autowire-array-parameter": "^9.3", + "symplify/composer-json-manipulator": "^9.3", + "symplify/package-builder": "^9.3", + "symplify/smart-file-system": "^9.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symplify\\SymplifyKernel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Internal Kernel for Symplify packages", + "support": { + "source": "https://github.com/symplify/symplify-kernel/tree/v9.3.0" + }, + "time": "2021-04-26T17:12:32+00:00" + }, + { + "name": "tracy/tracy", + "version": "v2.8.4", + "source": { + "type": "git", + "url": "https://github.com/nette/tracy.git", + "reference": "cb7d3dcd9469aa2aa6722edf6bee2d5d75188079" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/tracy/zipball/cb7d3dcd9469aa2aa6722edf6bee2d5d75188079", + "reference": "cb7d3dcd9469aa2aa6722edf6bee2d5d75188079", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-session": "*", + "php": ">=7.2 <8.1" + }, + "conflict": { + "nette/di": "<3.0" + }, + "require-dev": { + "latte/latte": "^2.5", + "nette/di": "^3.0", + "nette/mail": "^3.0", + "nette/tester": "^2.2", + "nette/utils": "^3.0", + "phpstan/phpstan": "^0.12", + "psr/log": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "classmap": [ + "src" + ], + "files": [ + "src/Tracy/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "name": "David Grudl", + "homepage": "https://davidgrudl.com" }, { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" + "name": "Nette Community", + "homepage": "https://nette.org/contributors" } ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", + "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.", + "homepage": "https://tracy.nette.org", "keywords": [ - "templating" + "Xdebug", + "debug", + "debugger", + "nette", + "profiler" ], "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.14.4" + "issues": "https://github.com/nette/tracy/issues", + "source": "https://github.com/nette/tracy/tree/v2.8.4" }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "type": "tidelift" - } - ], - "time": "2021-03-10T10:05:55+00:00" + "time": "2021-04-27T21:47:10+00:00" }, { "name": "webmozart/assert", diff --git a/docs/classes/Deactivator.html b/docs/classes/Deactivator.html new file mode 100644 index 0000000..5745e0b --- /dev/null +++ b/docs/classes/Deactivator.html @@ -0,0 +1,221 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
+

Documentation

+ + + + + +
+ +
+
+ + + + +
+
    +
+ +
+

+ Deactivator + + + + +

+ + + +

Class providing action(s) on plugin deactivation.

+ +

This class defines all code necessary to run during the plugin's deactivation.

+
+ + +
+ Tags + +
+
+
+ since +
+
+ 2.8.0 + +
+ +
+
+ + + + + + +

+ Table of Contents + +

+ +
+
+ deactivate() + +  : mixed +
+
Runs when the plugin is deactivated.
+ +
+ + + + + + + +
+

+ Methods + +

+
+

+ deactivate() + +

+ + +

Runs when the plugin is deactivated.

+ + + public + static deactivate() : mixed + +

Currently NOP.

+
+ + + +
+ Tags + +
+
+
+ since +
+
+ 2.8.0 + +
+ +
+
+ +
Return values
+ mixed + — +
+ + +
+
+ +
+
+
+
+

Search results

+ +
+
+
    +
    +
    +
    +
    +
    + + +
    + + + + diff --git a/docs/classes/Footnotes-Activator.html b/docs/classes/Footnotes-Activator.html new file mode 100644 index 0000000..9a24228 --- /dev/null +++ b/docs/classes/Footnotes-Activator.html @@ -0,0 +1,229 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
    +

    Documentation

    + + + + + +
    + +
    +
    + + + + +
    +
      +
    + +
    +

    + Footnotes_Activator + + + + +

    + + + +

    Class providing action(s) on plugin activation.

    + +

    This class defines all code necessary to run during the plugin's activation.

    +
    + + +
    + Tags + +
    +
    +
    + subpackage +
    +
    + +

    includes

    +
    + +
    +
    + since +
    +
    + 2.8.0 + +
    + +
    +
    + + + + + + +

    + Table of Contents + +

    + +
    +
    + activate() + +  : mixed +
    +
    Runs when the plugin is deactivated.
    + +
    + + + + + + + +
    +

    + Methods + +

    +
    +

    + activate() + +

    + + +

    Runs when the plugin is deactivated.

    + + + public + static activate() : mixed + +

    Currently NOP.

    +
    + + + +
    + Tags + +
    +
    +
    + since +
    +
    + 2.8.0 + +
    + +
    +
    + +
    Return values
    + mixed + — +
    + + +
    +
    + +
    +
    +
    +
    +

    Search results

    + +
    +
    +
      +
      +
      +
      +
      +
      + + +
      + + + + diff --git a/docs/classes/Footnotes-Admin.html b/docs/classes/Footnotes-Admin.html new file mode 100644 index 0000000..0a37713 --- /dev/null +++ b/docs/classes/Footnotes-Admin.html @@ -0,0 +1,710 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
      +

      Documentation

      + + + + + +
      + +
      +
      + + + + +
      +
        +
      + +
      +

      + Footnotes_Admin + + + + +

      + + + +

      Class provide all admin-specific functionality of the plugin.

      + +

      Defines the plugin name, version, and enqueues all admin-specific stylesheets +and JavaScript.

      +
      + + +
      + Tags + +
      +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + + + + + + +

      + Table of Contents + +

      + +
      +
      + $wysiwyg + +  : Footnotes_WYSIWYG +
      +
      The WYSIWYG editor integration object.
      + +
      + $plugin_name + +  : string +
      +
      The ID of this plugin.
      + +
      + $version + +  : string +
      +
      The version of this plugin.
      + +
      + __construct() + +  : mixed +
      +
      Initialize the class and set its properties.
      + +
      + enqueue_scripts() + +  : mixed +
      +
      Register the JavaScript for the admin area.
      + +
      + enqueue_styles() + +  : mixed +
      +
      Register the stylesheets for the admin area.
      + +
      + footnotes_action_links() + +  : array<string|int, string> +
      +
      Appends the Plugin links for display in the dashboard Plugins page.
      + +
      + load_dependencies() + +  : mixed +
      +
      Load the required admin-specific dependencies.
      + +
      + + + + + + +
      +

      + Properties + +

      +
      +

      + $wysiwyg + + + +

      + + +

      The WYSIWYG editor integration object.

      + + + public + Footnotes_WYSIWYG + $wysiwyg + + +
      + + +
      + Tags + +
      +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + +
      +
      +

      + $plugin_name + + + +

      + + +

      The ID of this plugin.

      + + + private + string + $plugin_name + + +
      + + +
      + Tags + +
      +
      +
      + access +
      +
      + +

      private

      +
      + +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + see +
      +
      + Footnotes::$plugin_name + +
      + +
      +
      + +
      +
      +

      + $version + + + +

      + + +

      The version of this plugin.

      + + + private + string + $version + + +
      + + +
      + Tags + +
      +
      +
      + access +
      +
      + +

      private

      +
      + +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + see +
      +
      + Footnotes::$version + +
      + +
      +
      + +
      +
      + +
      +

      + Methods + +

      +
      +

      + __construct() + +

      + + +

      Initialize the class and set its properties.

      + + + public + __construct(string $plugin_name, string $version) : mixed + +
      + +
      Parameters
      +
      +
      + $plugin_name + : string +
      +
      +

      The name of this plugin.

      +
      + +
      +
      + $version + : string +
      +
      +

      The version of this plugin.

      +
      + +
      +
      + + +
      + Tags + +
      +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + +
      Return values
      + mixed + — +
      + + +
      +
      +

      + enqueue_scripts() + +

      + + +

      Register the JavaScript for the admin area.

      + + + public + enqueue_scripts() : mixed + +
      + + + +
      + Tags + +
      +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + +
      Return values
      + mixed + — +
      + + +
      +
      +

      + enqueue_styles() + +

      + + +

      Register the stylesheets for the admin area.

      + + + public + enqueue_styles() : mixed + +
      + + + +
      + Tags + +
      +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + +
      Return values
      + mixed + — +
      + + +
      +
      + + + +

      Appends the Plugin links for display in the dashboard Plugins page.

      + + + public + footnotes_action_links(array<string|int, string> $links) : array<string|int, string> + +
      + +
      Parameters
      +
      +
      + $links + : array<string|int, string> +
      +
      +

      The default set of links to display.

      +
      + +
      +
      + + +
      + Tags + +
      +
      +
      + since +
      +
      + 1.5.0 + +
      + +
      +
      + since +
      +
      + 2.8.0 + +

      Moved from Footnotes_Hooks class to Footnotes_Admin.

      +
      + +
      +
      + +
      Return values
      + array<string|int, string> + — +

      The full set of links to display.

      +
      + + +
      +
      +

      + load_dependencies() + +

      + + +

      Load the required admin-specific dependencies.

      + + + private + load_dependencies() : mixed + +

      Includes the following files that provide the admin-specific functionality +of this plugin:

      + +
      + + + +
      + Tags + +
      +
      +
      + access +
      +
      + +

      private

      +
      + +
      +
      + since +
      +
      + 2.8.0 + +
      + +
      +
      + +
      Return values
      + mixed + — +
      + + +
      +
      + +
      +
      +
      +
      +

      Search results

      + +
      +
      +
        +
        +
        +
        +
        +
        + + +
        + + + + diff --git a/docs/classes/Footnotes-Config.html b/docs/classes/Footnotes-Config.html index 50a827d..1a7f677 100644 --- a/docs/classes/Footnotes-Config.html +++ b/docs/classes/Footnotes-Config.html @@ -52,7 +52,10 @@

        Namespaces

        Global

        -
        +

        footnotes

        + +
        @@ -70,7 +73,6 @@
        @@ -83,14 +85,15 @@ -

        Contains all Plugin Constants. Contains no Method or Property.

        +

        Class defining plugin constants.

        -
        +

        This class contains no methods of properties.

        +
        @@ -99,6 +102,15 @@
        + subpackage +
        +
        + +

        includes

        +
        + +
        +
        since
        @@ -106,6 +118,23 @@
        +
        +
        + todo +
        +
        + +

        Remove.

        +
        + +
        +
        + deprecated +
        +
        + +
        +
        @@ -125,42 +154,35 @@  = '<span style="color:#ff6d3b; font-weight:bold;">&hearts;</span>' -
        Html tag for the LOVE symbol.
        +
        HTML element for the ‘love’ symbol.
        C_STR_LOVE_SYMBOL_HEADING  = '<span class="footnotes_heart_heading">&hearts;</span>'
        -
        HTML code for the 'love' symbol used in dashboard heading
        +
        HTML element for the ‘love’ symbol used in dashboard heading
        C_STR_NO_LOVE_SLUG  = '[[no footnotes: love]]'
        -
        Short code to DON'T display the 'LOVE ME' slug on certain pages.
        +
        Shortcode to NOT display the ‘LOVE ME’ slug on certain pages.
        C_STR_PLUGIN_HEADING_NAME  = '<span class="footnotes_logo_heading footnotes_logo_part1_heading">foot</span><span class="footnotes_logo_heading footnotes_logo_part2_heading">notes</span>'
        -
        Public Plugin name for dashboard heading
        - -
        - C_STR_PLUGIN_NAME - -  = 'footnotes' -
        -
        Internal Plugin name.
        +
        Public plugin name for use as a dashboard heading.
        C_STR_PLUGIN_PUBLIC_NAME  = '<span class="footnotes_logo footnotes_logo_part1">foot</span><span class="footnotes_logo footnotes_logo_part2">notes</span>'
        -
        Public Plugin name.
        +
        Public plugin name.
        @@ -172,21 +194,21 @@ Constants -
        +

        C_STR_LOVE_SYMBOL

        -

        Html tag for the LOVE symbol.

        +

        HTML element for the ‘love’ symbol.

        - + public string C_STR_LOVE_SYMBOL @@ -210,25 +232,42 @@
        + +
        + todo +
        +
        + +

        Remove.

        +
        + +
        +
        + deprecated +
        +
        + +
        +
        -
        +

        C_STR_LOVE_SYMBOL_HEADING

        -

        HTML code for the 'love' symbol used in dashboard heading

        +

        HTML element for the ‘love’ symbol used in dashboard heading

        - + public string C_STR_LOVE_SYMBOL_HEADING @@ -252,25 +291,42 @@
        + +
        + todo +
        +
        + +

        Remove.

        +
        + +
        +
        + deprecated +
        +
        + +
        +
        -
        +

        C_STR_NO_LOVE_SLUG

        -

        Short code to DON'T display the 'LOVE ME' slug on certain pages.

        +

        Shortcode to NOT display the ‘LOVE ME’ slug on certain pages.

        - + public string C_STR_NO_LOVE_SLUG @@ -294,25 +350,42 @@
        + +
        + todo +
        +
        + +

        Remove.

        +
        + +
        +
        + deprecated +
        +
        + +
        +
        -
        +

        C_STR_PLUGIN_HEADING_NAME

        -

        Public Plugin name for dashboard heading

        +

        Public plugin name for use as a dashboard heading.

        - + public string C_STR_PLUGIN_HEADING_NAME @@ -321,10 +394,10 @@

        After properly displaying in dashboard headings until WPv5.4, the above started -in WPv5.5 being torn apart as if the headline was text-align:justify and not -the last line. That ugly display bug badly affected the plugin’s communication. -The only working solution found so far is using position:fixed in one heading -that isn’t translated, and dropping the logo in another, translatable heading.

        +in WP 5.5 being torn apart as if the headline was text-align:justify and not +the last line. That ugly display bug badly affected the plugin's communication. +The only working solution found so far is using position:fixed in one heading +that isn't translated, and dropping the logo in another, translatable heading.

        @@ -342,44 +415,19 @@ that isn’t translated, and dropping the logo in another, translatable heading.
        - - -
        -
        -

        - C_STR_PLUGIN_NAME - -

        - - - -

        Internal Plugin name.

        - - - public - string - C_STR_PLUGIN_NAME - = 'footnotes' - - - -
        - - -
        - Tags - -
        -
        -
        - since +
        + todo +
        +
        + +

        Remove.

        +
        + +
        +
        + deprecated
        - 1.5.0
        @@ -387,21 +435,21 @@ that isn’t translated, and dropping the logo in another, translatable heading.
        -
        +

        C_STR_PLUGIN_PUBLIC_NAME

        -

        Public Plugin name.

        +

        Public plugin name.

        - + public string C_STR_PLUGIN_PUBLIC_NAME @@ -425,6 +473,23 @@ that isn’t translated, and dropping the logo in another, translatable heading.
        + +
        + todo +
        +
        + +

        Remove.

        +
        + +
        +
        + deprecated +
        +
        + +
        +
        diff --git a/docs/classes/Footnotes-Convert.html b/docs/classes/Footnotes-Convert.html index 7cfd36b..ad05ec6 100644 --- a/docs/classes/Footnotes-Convert.html +++ b/docs/classes/Footnotes-Convert.html @@ -52,7 +52,10 @@

        Namespaces

        Global

        -
        +

        footnotes

        +
          +
        +
        @@ -70,7 +73,6 @@
        @@ -83,12 +85,12 @@ -

        Converts data types and Footnotes specific values.

        +

        Class providing variable type and value conversion functions.

        @@ -99,6 +101,15 @@
        + subpackage +
        +
        + +

        includes

        +
        + +
        +
        since
        @@ -123,23 +134,23 @@
        debug() -  : void +  : mixed
        -
        Displays a Variable.
        +
        Displays a variable.
        get_arrow()  : array<string|int, mixed>|string
        -
        Get a html Array short code depending on Arrow-Array key index.
        +
        Get an HTML array short code depending on Arrow-Array key index.
        index()  : string
        -
        Converts a integer into the user-defined counter style for the footnotes.
        +
        Converts an integer into the user-defined counter style for the footnotes.
        to_bool() @@ -160,14 +171,14 @@  : string
        -
        Converts an integer into latin ascii characters, either lower or upper-case.
        +
        Converts an integer into Latin ASCII characters, either lower or upper-case.
        to_romanic()  : string
        -
        Converts an integer to a romanic letter.
        +
        Converts an integer to a Roman numeral.
        @@ -193,16 +204,16 @@ -

        Displays a Variable.

        +

        Displays a variable.

        public - static debug(mixed $p_mixed_value) : void + static debug(mixed $p_mixed_value) : mixed
        @@ -233,11 +244,20 @@
        + +
        + todo +
        +
        + +

        Replace with proper logging/debug functions.

        +
        +
        Return values
        - void + mixed
        @@ -254,12 +274,12 @@ -

        Get a html Array short code depending on Arrow-Array key index.

        +

        Get an HTML array short code depending on Arrow-Array key index.

        public @@ -274,7 +294,7 @@ : int = -1
        -

        Index representing the Arrow. If empty all Arrows are specified.

        +

        Index representing the arrow. If empty, all arrows are specified.

        @@ -294,13 +314,22 @@
        + +
        + todo +
        +
        + +

        Review.

        +
        +
        Return values
        array<string|int, mixed>|string — -

        Array of all Arrows if Index is empty otherwise html tag of a specific arrow.

        +

        Array of all arrows if index is empty, otherwise HTML tag of a specific arrow.

        @@ -316,12 +345,12 @@ -

        Converts a integer into the user-defined counter style for the footnotes.

        +

        Converts an integer into the user-defined counter style for the footnotes.

        public @@ -345,7 +374,7 @@ : string = 'arabic_plain'
        -

        Style of the new/converted Index.

        +

        Counter style to use.

        @@ -365,24 +394,13 @@
        - -
        - since -
        -
        - 2.2.0 - -

        lowercase Roman numerals supported

        -
        -
        Return values
        string — -

        Converted Index as string in the defined counter style.

        -

        Edited:

        +

        Converted Index converted to the defined counter style.

        @@ -398,9 +416,9 @@

        Converts a string depending on its value to a boolean.

        @@ -438,13 +456,22 @@
        + +
        + todo +
        +
        + +

        Replace with built-in type casting.

        +
        +
        Return values
        bool — -

        Boolean representing the string.

        +

        Boolean value represented by the string.

        @@ -460,9 +487,9 @@

        Converts an integer to a leading-0 integer.

        @@ -480,7 +507,7 @@ : int
        -

        Value/Index to be converted.

        +

        Value to be converted.

        @@ -500,6 +527,15 @@
        + +
        + todo +
        +
        + +

        Replace with built-in string formatting.

        +
        +
        @@ -522,18 +558,19 @@ -

        Converts an integer into latin ascii characters, either lower or upper-case.

        +

        Converts an integer into Latin ASCII characters, either lower or upper-case.

        private static to_latin(int $p_int_value, bool $p_bool_upper_case) : string -

        Function available from A to ZZ ( means 676 footnotes at 1 page possible).

        +

        This function works from values A–ZZ (meaning there is a limit of 676 +gootnotes per Page).

        Parameters
        @@ -543,7 +580,7 @@ : int
        -

        Value/Index to be converted.

        +

        Value to be converted.

        @@ -552,7 +589,86 @@ : bool
        -

        True to convert the value to upper case letter, otherwise to lower case.

        +

        Whether to convert the value to upper-case.

        +
        + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 1.0-gamma + +
        + +
        +
        + todo +
        +
        + +

        Replace with built-in char casting.

        +
        + +
        +
        + +
        Return values
        + string + — +
        + + +
        +
        +

        + to_romanic() + +

        + + +

        Converts an integer to a Roman numeral.

        + + + private + static to_romanic(int $p_int_value, bool $p_bool_upper_case) : string + +
        + +
        Parameters
        +
        +
        + $p_int_value + : int +
        +
        +

        Value to be converted.

        +
        + +
        +
        + $p_bool_upper_case + : bool +
        +
        +

        Whether to convert the value to upper-case.

        @@ -581,87 +697,6 @@
        -
        -
        -

        - to_romanic() - -

        - - -

        Converts an integer to a romanic letter.

        - - - private - static to_romanic(int $p_int_value, bool $p_bool_upper_case) : string - -
        - -
        Parameters
        -
        -
        - $p_int_value - : int -
        -
        -

        Value/Index to be converted.

        -
        - -
        -
        - $p_bool_upper_case - : bool -
        -
        -

        Whether to uppercase.

        -
        - -
        -
        - - -
        - Tags - -
        -
        -
        - since -
        -
        - 1.0-gamma - -
        - -
        -
        - since -
        -
        - 2.2.0 - -

        optionally lowercase (code from Latin)

        -
        - -
        -
        - -
        Return values
        - string - — -

        Edited:

        -
        - -
        diff --git a/docs/classes/Footnotes-Core.html b/docs/classes/Footnotes-Core.html new file mode 100644 index 0000000..20384cd --- /dev/null +++ b/docs/classes/Footnotes-Core.html @@ -0,0 +1,929 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
        +

        Documentation

        + + + + + +
        + +
        +
        + + + + +
        + + +
        +

        + Core + + + + +

        + + + +

        Class providing core plugin functionality.

        + +

        This is used to define internationalization, admin-specific hooks, and +public-facing site hooks.

        +
        + + +
        + Tags + +
        +
        +
        + since +
        +
        + 1.5.0 + +
        + +
        +
        + + + + + + +

        + Table of Contents + +

        + +
        +
        + $loader + +  : Footnotes_Loader +
        +
        The loader that's responsible for maintaining and registering all hooks +that power the plugin.
        + +
        + $plugin_name + +  : string +
        +
        The unique identifier of this plugin
        + +
        + $version + +  : string +
        +
        The current version of the plugin.
        + +
        + __construct() + +  : void +
        +
        Builds the core of the plugin.
        + +
        + get_loader() + +  : Footnotes_Loader +
        +
        Returns a reference to the class that orchestrates the hooks with the plugin.
        + +
        + get_plugin_name() + +  : string +
        +
        Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.
        + +
        + get_version() + +  : string +
        +
        Gets the version number of the plugin.
        + +
        + run() + +  : void +
        +
        Runs the loader to execute all of the hooks with WordPress.
        + +
        + define_admin_hooks() + +  : void +
        +
        Register all of the hooks related to the admin area functionality of the +plugin.
        + +
        + define_public_hooks() + +  : void +
        +
        Register all of the hooks related to the public-facing functionality of +the plugin.
        + +
        + load_dependencies() + +  : void +
        +
        Load the required dependencies for this plugin.
        + +
        + set_locale() + +  : void +
        +
        Define the locale for this plugin for internationalization.
        + +
        + + + + + + +
        +

        + Properties + +

        +
        +

        + $loader + + + +

        + + +

        The loader that's responsible for maintaining and registering all hooks +that power the plugin.

        + + + protected + Footnotes_Loader + $loader + + +
        + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + +
        +
        +

        + $plugin_name + + + +

        + + +

        The unique identifier of this plugin

        + + + protected + string + $plugin_name + + +
        + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + +
        +
        +

        + $version + + + +

        + + +

        The current version of the plugin.

        + + + protected + string + $version + + +
        + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + see +
        +
        + PLUGIN_VERSION + +
        + +
        +
        + +
        +
        + +
        +

        + Methods + +

        +
        +

        + __construct() + +

        + + +

        Builds the core of the plugin.

        + + + public + __construct() : void + +

        Set the plugin name and the plugin version that can be used throughout the +plugin. Load the dependencies, define the locale, and set the hooks for +the admin area and the public-facing side of the site.

        +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 1.0.0 + +
        + +
        +
        + see +
        +
        + PLUGIN_VERSION + +
        + +
        +
        + +
        Return values
        + void + — +
        + + +
        +
        +

        + get_loader() + +

        + + +

        Returns a reference to the class that orchestrates the hooks with the plugin.

        + + + public + get_loader() : Footnotes_Loader + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + +
        Return values
        + Footnotes_Loader + — +
        + + +
        +
        +

        + get_plugin_name() + +

        + + +

        Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.

        + + + public + get_plugin_name() : string + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + +
        Return values
        + string + — +
        + + +
        +
        +

        + get_version() + +

        + + +

        Gets the version number of the plugin.

        + + + public + get_version() : string + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + +
        Return values
        + string + — +
        + + +
        +
        +

        + run() + +

        + + +

        Runs the loader to execute all of the hooks with WordPress.

        + + + public + run() : void + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 1.5.0 + +
        + +
        +
        + +
        Return values
        + void + — +
        + + +
        +
        +

        + define_admin_hooks() + +

        + + +

        Register all of the hooks related to the admin area functionality of the +plugin.

        + + + private + define_admin_hooks() : void + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 1.5.0 + +
        + +
        +
        + since +
        +
        + 2.8.0 + +

        Moved hook registrations from various classes into Footnotes_Admin.

        +
        + +
        +
        + uses +
        +
        + Footnotes_Admin + +

        Defines admin functionality.

        +
        + +
        +
        + +
        Return values
        + void + — +
        + + +
        +
        +

        + define_public_hooks() + +

        + + +

        Register all of the hooks related to the public-facing functionality of +the plugin.

        + + + private + define_public_hooks() : void + +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + uses +
        +
        + Footnotes_Admin + +

        Defines public-facing functionality.

        +
        + +
        +
        + +
        Return values
        + void + — +
        + + +
        +
        +

        + load_dependencies() + +

        + + +

        Load the required dependencies for this plugin.

        + + + private + load_dependencies() : void + +

        Includes the following files that make up the plugin:

        +
          +
        • +Footnotes_Loader: orchestrates the hooks of the plugin;
        • +
        • +Footnotes_i18n: defines internationalization functionality;
        • +
        • +Footnotes_Config: defines plugin details;
        • +
        • +Footnotes_Convert: provides conversion methods;
        • +
        • +Footnotes_Settings: defines customisable plugin settings;
        • +
        • +Footnotes_Template: handles template rendering;
        • +
        • +Footnotes_Admin: defines all hooks for the admin area; and
        • +
        • +Footnotes_Public: defines all hooks for the public side of the site.
        • +
        +

        Creates an instance of the loader which will be used to register the hooks +with WordPress.

        +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + +
        Return values
        + void + — +
        + + +
        +
        +

        + set_locale() + +

        + + +

        Define the locale for this plugin for internationalization.

        + + + private + set_locale() : void + +

        Uses Footnotes_i18n in order to set the domain and to +register the hook with WordPress.

        +
        + + + +
        + Tags + +
        +
        +
        + since +
        +
        + 2.8.0 + +
        + +
        +
        + uses +
        +
        + Footnotes_i18n + +

        Handles initialization functions.

        +
        + +
        +
        + +
        Return values
        + void + — +
        + + +
        +
        + +
        +
        +
        +
        +

        Search results

        + +
        +
        +
          +
          +
          +
          +
          +
          + + +
          + + + + diff --git a/docs/classes/Footnotes-Deactivator.html b/docs/classes/Footnotes-Deactivator.html new file mode 100644 index 0000000..85bef01 --- /dev/null +++ b/docs/classes/Footnotes-Deactivator.html @@ -0,0 +1,230 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
          +

          Documentation

          + + + + + +
          + +
          +
          + + + + +
          +
            +
          + +
          +

          + Footnotes_Deactivator + + + + +

          + + + +

          Class providing action(s) on plugin deactivation.

          + +

          This class defines all code necessary to run during the plugin's deactivation.

          +
          + + +
          + Tags + +
          +
          +
          + subpackage +
          +
          + +

          includes

          +
          + +
          +
          + since +
          +
          + 2.8.0 + +
          + +
          +
          + + + + + + +

          + Table of Contents + +

          + +
          +
          + deactivate() + +  : mixed +
          +
          Runs when the plugin is deactivated.
          + +
          + + + + + + + +
          +

          + Methods + +

          +
          +

          + deactivate() + +

          + + +

          Runs when the plugin is deactivated.

          + + + public + static deactivate() : mixed + +

          Currently NOP.

          +
          + + + +
          + Tags + +
          +
          +
          + since +
          +
          + 2.8.0 + +
          + +
          +
          + +
          Return values
          + mixed + — +
          + + +
          +
          + +
          +
          +
          +
          +

          Search results

          + +
          +
          +
            +
            +
            +
            +
            +
            + + +
            + + + + diff --git a/docs/classes/Footnotes-Layout-Engine.html b/docs/classes/Footnotes-Layout-Engine.html index e632707..1ecd856 100644 --- a/docs/classes/Footnotes-Layout-Engine.html +++ b/docs/classes/Footnotes-Layout-Engine.html @@ -52,7 +52,11 @@

            Namespaces

            Global

            -
            +

            footnotes

            + +
            @@ -70,7 +74,6 @@
            @@ -83,12 +86,12 @@ -

            Layout Engine for the administration dashboard.

            +

            Class to be extended by page layout sub-classes.

            @@ -99,6 +102,14 @@
            + abstract +
            +
            + +
            + +
            +
            since
            @@ -125,77 +136,78 @@  : array<string|int, mixed> -
            Stores all Sections for the child sub page.
            +
            Stores all Sections for the child sub-page.
            $a_str_sub_page_hook  : null|string
            -
            Stores the Hook connection string for the child sub page.
            +
            Stores the Hook connection string for the child sub-page.
            + +
            + $plugin_name + +  : string +
            +
            The ID of this plugin.
            description()  : mixed
            -
            Output the Description of a section. May be overwritten in any section.
            +
            Output the description of a section. May be overwritten in any section.
            display_content()  : mixed
            -
            Displays the content of specific sub page.
            +
            Displays the content of specific sub-page.
            get_priority()  : int
            -
            Returns a Priority index. Lower numbers have a higher Priority.
            +
            Returns a Priority index. Lower numbers have a higher priority.
            register_sections()  : mixed
            -
            Registers all sections for a sub page.
            +
            Registers all sections for a sub-page.
            register_sub_page()  : mixed
            -
            Registers a sub page.
            +
            Registers a sub-page.
            add_checkbox()  : string
            -
            Returns the html tag for an input [type = checkbox].
            +
            Constructs the HTML for a checkbox `<input>` element.
            add_color_selection()  : string
            -
            Returns the html tag for an input [type = text] with color selection class.
            +
            Constructs the HTML for a text `<input>` element with the colour selection +class.
            add_label()  : string
            -
            Returns the html tag for an input/select label.
            - -
            - add_line_space() - -  : string -
            -
            Returns a line break to have a space between two lines.
            +
            Returns the HTML tag for an `<input>`/`<select>` label.
            add_meta_box() @@ -204,54 +216,47 @@
            Returns an array describing a meta box.
            -
            - add_newline() - -  : string -
            -
            Returns a line break to start a new line.
            -
            add_num_box()  : string
            -
            Returns the html tag for an input [type = num].
            +
            Constructs the HTML for numeric `<input>` element.
            add_section()  : array<string|int, mixed>
            -
            Returns an array describing a sub page section.
            +
            Returns an array describing a sub-page section.
            add_select_box()  : string
            -
            Returns the html tag for a select box.
            +
            Constructs the HTML for a `<select>` element.
            add_text()  : string
            -
            Returns a simple text inside html <span> text.
            +
            Returns a simple text inside HTML `<span>` element.
            add_text_box()  : string
            -
            Returns the html tag for an input [type = text].
            +
            Constructs the HTML for a text `<input>` element.
            add_textarea()  : string
            -
            Returns the html tag for a text area.
            +
            Constructs the HTML for a `<textarea>` element.
            get_meta_boxes() @@ -265,49 +270,49 @@  : array<string|int, mixed>
            -
            Returns an array of all registered sections for a sub page.
            +
            Returns an array of all registered sections for a sub-page.
            get_sub_page_slug()  : string
            -
            Returns the unique slug of the child sub page.
            +
            Returns the unique slug of the child sub-page.
            get_sub_page_title()  : string
            -
            Returns the title of the child sub page.
            +
            Returns the title of the child sub-page.
            load_setting()  : array<string|int, mixed>
            -
            Loads specific setting and returns an array with the keys [id, name, value].
            +
            Loads a specified setting.
            append_scripts()  : mixed
            -
            Append javascript and css files for specific sub page.
            +
            Append JavaScript and CSS files for specific sub-page.
            register_meta_boxes()  : mixed
            -
            Registers all Meta boxes for a sub page.
            +
            Registers all Meta boxes for a sub-page.
            save_settings()  : bool
            -
            Save all Plugin settings.
            +
            Save all plugin settings.
            @@ -335,12 +340,12 @@ -

            Stores all Sections for the child sub page.

            +

            Stores all Sections for the child sub-page.

            protected @@ -357,6 +362,15 @@
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -382,12 +396,12 @@ -

            Stores the Hook connection string for the child sub page.

            +

            Stores the Hook connection string for the child sub-page.

            protected @@ -405,6 +419,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -415,6 +438,62 @@ ull
            +
            +
            +

            + $plugin_name + + + +

            + + +

            The ID of this plugin.

            + + + protected + string + $plugin_name + + +
            + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            +
            @@ -434,12 +513,12 @@ ull
            -

            Output the Description of a section. May be overwritten in any section.

            +

            Output the description of a section. May be overwritten in any section.

            public @@ -462,6 +541,15 @@ ull
            + +
            + todo +
            +
            + +

            Required? Should be abstract?

            +
            +
            @@ -483,12 +571,12 @@ ull
            -

            Displays the content of specific sub page.

            +

            Displays the content of specific sub-page.

            public @@ -511,6 +599,15 @@ ull
            + +
            + todo +
            +
            + +

            Review nonce verification.

            +
            +
            @@ -532,12 +629,12 @@ ull
            -

            Returns a Priority index. Lower numbers have a higher Priority.

            +

            Returns a Priority index. Lower numbers have a higher priority.

            public @@ -553,6 +650,14 @@ ull
            + abstract +
            +
            + +
            + +
            +
            since
            @@ -581,12 +686,12 @@ ull -

            Registers all sections for a sub page.

            +

            Registers all sections for a sub-page.

            public @@ -630,12 +735,12 @@ ull -

            Registers a sub page.

            +

            Registers a sub-page.

            public @@ -679,12 +784,12 @@ ull -

            Returns the html tag for an input [type = checkbox].

            +

            Constructs the HTML for a checkbox `<input>` element.

            protected @@ -699,7 +804,7 @@ ull : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -712,6 +817,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -719,6 +833,15 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -740,12 +863,13 @@ ull
            -

            Returns the html tag for an input [type = text] with color selection class.

            +

            Constructs the HTML for a text `<input>` element with the colour selection +class.

            protected @@ -760,7 +884,7 @@ ull : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -773,6 +897,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -780,6 +913,24 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            + +
            +
            + todo +
            +
            + +

            Use proper colorpicker element.

            +
            +
            @@ -801,12 +952,12 @@ ull -

            Returns the html tag for an input/select label.

            +

            Returns the HTML tag for an `<input>`/`<select>` label.

            protected @@ -821,7 +972,7 @@ ull : string
            -

            Name of the Settings key to connect the Label with the input/select field.

            +

            Settings key.

            @@ -843,6 +994,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -851,53 +1011,13 @@ ull
            -
            - -
            Return values
            - string - — -
            - - - -
            -

            - add_line_space() - -

            - - -

            Returns a line break to have a space between two lines.

            - - - protected - add_line_space() : string - -
            - - - -
            - Tags - -
            -
            -
            - since +
            + todo
            - 1.5.0 -
            +

            Refactor HTML generation.

            +
            @@ -920,9 +1040,9 @@ ull

            Returns an array describing a meta box.

            @@ -940,7 +1060,7 @@ ull : string
            -

            Parent Section ID.

            +

            Parent section ID.

            @@ -980,6 +1100,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -987,65 +1116,41 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor meta boxes into their own class?

            +
            + +
            +
            + todo +
            +
            + +

            Pass actual functions rather than strings?

            +
            +
            Return values
            array<string|int, mixed> — -

            meta box description to be able to append a meta box to the output.

            +

            { +A dashboard meta box.

            +
            @type  string  $parent  Parent section ID.
            +@type  string  $id  Meta box ID.
            +@type  string  $title  Meta box title.
            +@type  string  $callback  Meta box callback function.
            +
            +

            }

            -
            -
            -

            - add_newline() - -

            - - -

            Returns a line break to start a new line.

            - - - protected - add_newline() : string - -
            - - - -
            - Tags - -
            -
            -
            - since -
            -
            - 1.5.0 - -
            - -
            -
            - -
            Return values
            - string - — -
            - -
            -

            Returns the html tag for an input [type = num].

            +

            Constructs the HTML for numeric `<input>` element.

            protected @@ -1078,7 +1183,7 @@ ull : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -1105,7 +1210,7 @@ ull : bool = false
            -

            true if 0.1 steps and floating to string, false if integer (default).

            +

            true if float, false if integer. Default false.

            @@ -1118,6 +1223,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1126,13 +1240,12 @@ ull
            -
            - since +
            + todo
            - 2.1.4 -

            step argument and number_format() to allow decimals ..

            +

            Refactor HTML generation.

            @@ -1141,8 +1254,7 @@ ull
            Return values
            string — -

            Edited:

            -
            +
            @@ -1157,12 +1269,12 @@ ull -

            Returns an array describing a sub page section.

            +

            Returns an array describing a sub-page section.

            protected @@ -1195,7 +1307,7 @@ ull : int
            -

            Settings Container Index.

            +

            Settings Container index.

            @@ -1204,7 +1316,8 @@ ull : bool = true
            -

            Should a Submit Button be displayed for this section, default: true.

            +

            Whether a ‘Submit’ button should +be displayed for this section. Default true.

            @@ -1217,6 +1330,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1224,13 +1346,29 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor sections into their own class?

            +
            +
            Return values
            array<string|int, mixed> — -

            Array describing the section.

            +

            { +A dashboard section.

            +
            @type  string  $id  Section ID.
            +@type  string  $title  Section title.
            +@type  bool  $submit  Whether the section has a submit button or not.
            +@type  int  $container  Settings Container index.
            +
            +

            }

            @@ -1246,12 +1384,12 @@ ull -

            Returns the html tag for a select box.

            +

            Constructs the HTML for a `<select>` element.

            protected @@ -1266,7 +1404,7 @@ ull : string
            -

            Name of the Settings key to pre select the current value.

            +

            Setting key.

            @@ -1275,7 +1413,7 @@ ull : array<string|int, mixed>
            -

            Possible options to be selected.

            +

            Possible options.

            @@ -1288,52 +1426,29 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            1.5.0 -
              -
            • Bugfix: Dashboard: Referrers and tooltips: Backlink symbol: debug select box by reverting identity check to equality check, thanks to @lolzim bug report.
            • -
            -
            - -
            -
            - since -
            -
            - 2.5.13 -
            -
            -
            - since -
            -
            - 2.5.15 - -

            Bugfix: Dashboard: General settings: Footnote start and end short codes: debug select box for shortcodes with pointy brackets.

            -
            - -
            -
            - since -
            -
            - 2.6.1 - -

            Restore esc_attr() in load_setting(), remove htmlspecialchars() here.

            -
            -
            - reporter + todo
            -

            @lolzim

            +

            Refactor HTML generation.

            @@ -1357,12 +1472,12 @@ ull -

            Returns a simple text inside html <span> text.

            +

            Returns a simple text inside HTML `<span>` element.

            protected @@ -1377,7 +1492,7 @@ ull : string
            -

            Message to be surrounded with simple html tag (span).

            +

            Message to be surrounded with <span> tags.

            @@ -1390,6 +1505,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1397,6 +1521,15 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -1418,12 +1551,12 @@ ull -

            Returns the html tag for an input [type = text].

            +

            Constructs the HTML for a text `<input>` element.

            protected @@ -1438,7 +1571,7 @@ ull : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -1447,7 +1580,7 @@ ull : int = 999
            -

            Maximum length of the input, default 999 characters.

            +

            Maximum length of the input. Default length 999 chars.

            @@ -1456,7 +1589,7 @@ ull : bool = false
            -

            Set the input to be read only, default false.

            +

            Set the input to be read only. Default false.

            @@ -1465,7 +1598,7 @@ ull : bool = false
            -

            Set the input to be hidden, default false.

            +

            Set the input to be hidden. Default false.

            @@ -1478,6 +1611,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1485,6 +1627,15 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -1506,12 +1657,12 @@ ull -

            Returns the html tag for a text area.

            +

            Constructs the HTML for a `<textarea>` element.

            protected @@ -1526,7 +1677,7 @@ ull : string
            -

            Name of the Settings key to pre fill the text area.

            +

            Setting key.

            @@ -1539,6 +1690,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1546,6 +1706,15 @@ ull
            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -1567,9 +1736,9 @@ ull

            Returns an array of all registered meta boxes.

            @@ -1588,6 +1757,23 @@ ull
            + abstract +
            +
            + +
            + +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1616,12 +1802,12 @@ ull -

            Returns an array of all registered sections for a sub page.

            +

            Returns an array of all registered sections for a sub-page.

            protected @@ -1637,6 +1823,23 @@ ull
            + abstract +
            +
            + +
            + +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1665,12 +1868,12 @@ ull -

            Returns the unique slug of the child sub page.

            +

            Returns the unique slug of the child sub-page.

            protected @@ -1686,6 +1889,23 @@ ull
            + abstract +
            +
            + +
            + +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1714,12 +1934,12 @@ ull -

            Returns the title of the child sub page.

            +

            Returns the title of the child sub-page.

            protected @@ -1735,6 +1955,23 @@ ull
            + abstract +
            +
            + +
            + +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1763,12 +2000,12 @@ ull -

            Loads specific setting and returns an array with the keys [id, name, value].

            +

            Loads a specified setting.

            protected @@ -1783,7 +2020,7 @@ ull : string
            -

            Settings Array key name.

            +

            Setting key.

            @@ -1796,6 +2033,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -1810,19 +2056,7 @@ ull
            2.5.11 -

            Remove escapement function. -When refactoring the codebase after 2.5.8, all and every output was escaped. -After noticing that the plugin was broken, all escapement functions were removed.

            -
            - -
            -
            - since -
            -
            - 2.5.15 - -

            To fix it, the data was escaped in add_select_box() instead.

            +

            Broken due to accidental removal of esc_attr() call.

            @@ -1832,41 +2066,7 @@ After noticing that the plugin was broken, all escapement functions were removed
            2.6.1 -

            Restore esc_attr() in load_setting().

            -
            - -
            -
            - link -
            -
            - https://github.com/markcheret/footnotes/pull/50/commits/25c3f2f12eb5de1079e9215bf624ec4289b095a5 - -
            -
            - link -
            -
            -

            In that process, this instance of esc_attr() was removed too, so the plugin was -broken again.

            -
            - -
            -
            - link -
            -
            - https://github.com/markcheret/footnotes/pull/50/commits/25c3f2f12eb5de1079e9215bf624ec4289b095a5#diff-a8ed6e859c32a18fc10bbbad3b4dd8ce7f43f2378d29471c7638e314ab30f1bdL349-L354 - -
            -
            - see -
            -
            - add_select_box() - -

            This is the only instance of esc_|kses|sanitize in the pre-2.5.11 codebase. -Removing this did not fix the quotation mark backslash escapement bug.

            +

            Restore esc_attr() call.

            @@ -1875,7 +2075,13 @@ Removing this did not fix the quotation mark backslash escapement bug.

            Return values
            array<string|int, mixed> — -

            Contains Settings ID, Settings Name and Settings Value.

            +

            { +A configurable setting.

            +
            @type  string  $id  Setting key.
            +@type  string  $name  Setting name.
            +@type  string  $value  Setting value.
            +
            +

            }

            @@ -1891,12 +2097,12 @@ Removing this did not fix the quotation mark backslash escapement bug.

            -

            Append javascript and css files for specific sub page.

            +

            Append JavaScript and CSS files for specific sub-page.

            private @@ -1912,6 +2118,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            + access +
            +
            + +

            private

            +
            + +
            +
            since
            @@ -1919,6 +2134,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            +
            +
            + todo +
            +
            + +

            Move to Footnotes_Admin.

            +
            +
            @@ -1940,12 +2164,12 @@ Removing this did not fix the quotation mark backslash escapement bug.

            -

            Registers all Meta boxes for a sub page.

            +

            Registers all Meta boxes for a sub-page.

            private @@ -1960,7 +2184,7 @@ Removing this did not fix the quotation mark backslash escapement bug.

            : string
            -

            Parent section unique id.

            +

            Parent section unique ID.

            @@ -1973,6 +2197,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            + access +
            +
            + +

            private

            +
            + +
            +
            since
            @@ -2001,12 +2234,12 @@ Removing this did not fix the quotation mark backslash escapement bug.

            -

            Save all Plugin settings.

            +

            Save all plugin settings.

            private @@ -2022,6 +2255,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            + access +
            +
            + +

            private

            +
            + +
            +
            since
            @@ -2029,13 +2271,23 @@ Removing this did not fix the quotation mark backslash escapement bug.

            +
            +
            + todo +
            +
            + +

            Review nonce verification.

            +
            +
            Return values
            bool — -
            +

            true on save success, else false.

            +
            diff --git a/docs/classes/Footnotes-Layout-Init.html b/docs/classes/Footnotes-Layout-Init.html index ec5f7e4..6710ff4 100644 --- a/docs/classes/Footnotes-Layout-Init.html +++ b/docs/classes/Footnotes-Layout-Init.html @@ -52,7 +52,11 @@

            Namespaces

            Global

            -
            +

            footnotes

            + +
            @@ -70,7 +74,6 @@
            @@ -83,12 +86,12 @@ -

            Handles the Settings interface of the Plugin.

            +

            Class to initialise all defined page layouts.

            @@ -127,26 +130,26 @@
            Slug for the Plugin main menu.
            -
            - C_STR_MAIN_MENU_TITLE - -  = 'ManFisher' -
            -
            Plugin main menu name.
            -
            + $plugin_name + +  : string +
            +
            The ID of this plugin.
            + +
            $settings_page -  : array<string|int, mixed> +  : Footnotes_Layout_Settings
            -
            Contains the settings layoutEngine
            +
            Contains the settings page.
            __construct()  : mixed
            -
            Class Constructor. Initializes all WordPress hooks for the Plugin Settings.
            +
            Initializes all WordPress hooks for the Plugin Settings.
            get_plugin_meta_information() @@ -169,6 +172,13 @@
            Registers the footnotes submenu page.
            +
            + load_dependencies() + +  : mixed +
            +
            Load the required dependencies for the layouts pages.
            +
            @@ -186,9 +196,9 @@

            Slug for the Plugin main menu.

            @@ -220,48 +230,6 @@
            - -
            -

            - C_STR_MAIN_MENU_TITLE - -

            - - - -

            Plugin main menu name.

            - - - public - string - C_STR_MAIN_MENU_TITLE - = 'ManFisher' - - - -
            - - -
            - Tags - -
            -
            -
            - since -
            -
            - 1.5.0 - -
            - -
            -
            -
            @@ -277,6 +245,62 @@ -property -private " +> +

            + $plugin_name + + + +

            + + +

            The ID of this plugin.

            + + + private + string + $plugin_name + + +
            + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            private

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + + +

            $settings_page @@ -285,16 +309,16 @@

            -

            Contains the settings layoutEngine

            +

            Contains the settings page.

            private - array<string|int, mixed> + Footnotes_Layout_Settings $settings_page @@ -336,20 +360,32 @@ -

            Class Constructor. Initializes all WordPress hooks for the Plugin Settings.

            +

            Initializes all WordPress hooks for the Plugin Settings.

            public - __construct() : mixed + __construct(string $plugin_name) : mixed
            - +
            Parameters
            +
            +
            + $plugin_name + : string +
            +
            +

            The name of the plugin.

            +
            + +
            +
            +
            Tags @@ -364,6 +400,16 @@
            + +
            + since +
            +
            + 2.8.0 + +

            Added $plugin_name parameter.

            +
            +
            @@ -385,9 +431,9 @@

            AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin.

            @@ -434,9 +480,9 @@

            Registers the settings and initialises the settings page.

            @@ -483,9 +529,9 @@

            Registers the footnotes submenu page.

            @@ -529,6 +575,73 @@
            + +
            +

            + load_dependencies() + +

            + + +

            Load the required dependencies for the layouts pages.

            + + + private + load_dependencies() : mixed + +

            Include the following files that make up the plugin:

            +
              +
            • +Footnotes_Config: defines plugin constants;
            • +
            • +Footnotes_Settings: defines configurable plugin settings; and
            • +
            • +Footnotes_Layout_Settings: defines the plugin settings page.
            • +
            +
            + + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            private

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + mixed + — +
            + +
            diff --git a/docs/classes/Footnotes-Layout-Settings.html b/docs/classes/Footnotes-Layout-Settings.html index ff4d841..785692d 100644 --- a/docs/classes/Footnotes-Layout-Settings.html +++ b/docs/classes/Footnotes-Layout-Settings.html @@ -52,7 +52,11 @@

            Namespaces

            Global

            -
            +

            footnotes

            + +
            @@ -70,7 +74,6 @@
            @@ -86,12 +89,12 @@ -

            Displays and handles all Settings of the Plugin.

            +

            Class to initialise all defined page layouts.

            @@ -109,6 +112,15 @@
            + +
            + see +
            +
            + Footnotes_Layout_Engine + +
            +
            @@ -128,16 +140,30 @@  : array<string|int, mixed> -
            Stores all Sections for the child sub page.
            +
            Stores all Sections for the child sub-page.
            $a_str_sub_page_hook  : null|string
            -
            Stores the Hook connection string for the child sub page.
            +
            Stores the Hook connection string for the child sub-page.
            + +
            + $plugin_name + +  : string +
            +
            The ID of this plugin.
            + __construct() + +  : mixed +
            +
            Initialize the class and set its properties.
            + +
            amp_compat()  : mixed @@ -170,14 +196,14 @@  : mixed
            -
            Output the Description of a section. May be overwritten in any section.
            +
            Output the description of a section. May be overwritten in any section.
            display_content()  : mixed
            -
            Displays the content of specific sub page.
            +
            Displays the content of specific sub-page.
            donate() @@ -198,7 +224,7 @@  : int
            -
            Returns a Priority index. Lower numbers have a higher Priority.
            +
            Returns a priority index.
            hard_links() @@ -212,7 +238,7 @@  : mixed
            -
            Displays a short introduction to the Plugin.
            +
            Displays a short introduction to the plugin.
            hyperlink_arrow() @@ -240,7 +266,7 @@  : mixed
            -
            Displays all settings for 'I love Footnotes'.
            +
            Displays all settings for ‘I love Footnotes’ note.
            mouseover_box() @@ -310,14 +336,14 @@  : mixed
            -
            Registers all sections for a sub page.
            +
            Registers all sections for a sub-page.
            register_sub_page()  : mixed
            -
            Registers a sub page.
            +
            Registers a sub-page.
            scrolling() @@ -345,28 +371,22 @@  : string
            -
            Returns the html tag for an input [type = checkbox].
            +
            Constructs the HTML for a checkbox `<input>` element.
            add_color_selection()  : string
            -
            Returns the html tag for an input [type = text] with color selection class.
            +
            Constructs the HTML for a text `<input>` element with the colour selection +class.
            add_label()  : string
            -
            Returns the html tag for an input/select label.
            - -
            - add_line_space() - -  : string -
            -
            Returns a line break to have a space between two lines.
            +
            Returns the HTML tag for an `<input>`/`<select>` label.
            add_meta_box() @@ -375,110 +395,103 @@
            Returns an array describing a meta box.
            -
            - add_newline() - -  : string -
            -
            Returns a line break to start a new line.
            -
            add_num_box()  : string
            -
            Returns the html tag for an input [type = num].
            +
            Constructs the HTML for numeric `<input>` element.
            add_section()  : array<string|int, mixed>
            -
            Returns an array describing a sub page section.
            +
            Returns an array describing a sub-page section.
            add_select_box()  : string
            -
            Returns the html tag for a select box.
            +
            Constructs the HTML for a `<select>` element.
            add_text()  : string
            -
            Returns a simple text inside html <span> text.
            +
            Returns a simple text inside HTML `<span>` element.
            add_text_box()  : string
            -
            Returns the html tag for an input [type = text].
            +
            Constructs the HTML for a text `<input>` element.
            add_textarea()  : string
            -
            Returns the html tag for a text area.
            +
            Constructs the HTML for a `<textarea>` element.
            get_meta_boxes() -  : array<string|int, mixed> +  : array<string|int, array<string|int, mixed>>
            -
            Returns an array of all registered meta boxes for each section of the sub page.
            +
            Returns an array of all registered meta boxes for each section of the sub-page.
            get_sections() -  : array<string|int, mixed> +  : array<string|int, array<string|int, mixed>>
            -
            Returns an array of all registered sections for the sub page.
            +
            Returns an array of all registered sections for the sub-page.
            get_sub_page_slug()  : string
            -
            Returns the unique slug of the sub page.
            +
            Returns the unique slug of the sub-page.
            get_sub_page_title()  : string
            -
            Returns the title of the sub page.
            +
            Returns the title of the sub-page.
            load_setting()  : array<string|int, mixed>
            -
            Loads specific setting and returns an array with the keys [id, name, value].
            +
            Loads a specified setting.
            append_scripts()  : mixed
            -
            Append javascript and css files for specific sub page.
            +
            Append JavaScript and CSS files for specific sub-page.
            register_meta_boxes()  : mixed
            -
            Registers all Meta boxes for a sub page.
            +
            Registers all Meta boxes for a sub-page.
            save_settings()  : bool
            -
            Save all Plugin settings.
            +
            Save all plugin settings.
            @@ -506,12 +519,12 @@ -

            Stores all Sections for the child sub page.

            +

            Stores all Sections for the child sub-page.

            protected @@ -528,6 +541,15 @@
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -553,12 +575,12 @@ -

            Stores the Hook connection string for the child sub page.

            +

            Stores the Hook connection string for the child sub-page.

            protected @@ -576,6 +598,15 @@ ull
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -586,6 +617,62 @@ ull
            +
            +
            +

            + $plugin_name + + + +

            + + +

            The ID of this plugin.

            + + + protected + string + $plugin_name + + +
            + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            +
            @@ -599,15 +686,76 @@ ull
            -method -public " +> +

            + __construct() + +

            + + +

            Initialize the class and set its properties.

            + + + public + __construct(string $plugin_name) : mixed + +
            + +
            Parameters
            +
            +
            + $plugin_name + : string +
            +
            +

            The name of this plugin.

            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + mixed + — +
            + + + +

            amp_compat()

            Displays the AMP compatibility mode option.

            @@ -628,16 +776,6 @@ ull
            since
            -
            - 2.5.11 - -

            (draft)

            -
            - -
            -
            - since -
            2.6.0 @@ -665,9 +803,9 @@ ull

            Displays the Custom CSS box.

            @@ -691,58 +829,7 @@ ull
            1.5.0 -

            Edited:

            -
            - -
            -
            - since -
            -
            - 2.1.6 - -

            drop localized notices for CSS classes as the number increased to 16 -list directly in the template, as CSS is in English anyway

            -
            - -
            -
            - since -
            -
            - 2.2.2 - -

            migrate Custom CSS to a dedicated tab

            -
            - -
            -
            - since -
            -
            - 2.3.0 - -

            say 'copy-paste' instead of 'cut and paste' since cutting is not needed

            -
            - -
            -
            - since -
            -
            - 2.5.1 - -

            mention validity while visible, thanks to @rkupadhya bug report

            -
            - -
            -
            - see -
            -
            - -

            templates/dashboard/customize-css.html

            -
            +
            @@ -758,21 +845,21 @@ list directly in the template, as CSS is in English anyway

            class="phpdocumentor-element -method -public - " + -deprecated " >

            custom_css_migration()

            Displays transitional legacy Custom CSS box.

            - + public custom_css_migration() : mixed @@ -793,6 +880,14 @@ list directly in the template, as CSS is in English anyway

            + +
            + deprecated +
            +
            + +
            +
            @@ -814,9 +909,9 @@ list directly in the template, as CSS is in English anyway

            Displays the new Custom CSS box.

            @@ -863,12 +958,12 @@ list directly in the template, as CSS is in English anyway

            -

            Output the Description of a section. May be overwritten in any section.

            +

            Output the description of a section. May be overwritten in any section.

            public @@ -891,6 +986,15 @@ list directly in the template, as CSS is in English anyway

            + +
            + todo +
            +
            + +

            Required? Should be abstract?

            +
            +
            @@ -912,12 +1016,12 @@ list directly in the template, as CSS is in English anyway

            -

            Displays the content of specific sub page.

            +

            Displays the content of specific sub-page.

            public @@ -940,6 +1044,15 @@ list directly in the template, as CSS is in English anyway

            + +
            + todo +
            +
            + +

            Review nonce verification.

            +
            +
            @@ -961,9 +1074,9 @@ list directly in the template, as CSS is in English anyway

            Displays all Donate button to support the developers.

            @@ -1010,9 +1123,9 @@ list directly in the template, as CSS is in English anyway

            Displays the footnotes in excerpt setting.

            @@ -1036,43 +1149,8 @@ list directly in the template, as CSS is in English anyway

            1.5.0 -

            Edited heading

            -
            +
            -
            -
            - since -
            -
            - 2.1.1 - -

            more settings and notices, thanks to @nikelaos

            -
            - -
            -
            - since -
            -
            - 2.2.0 - -

            dedicated to the excerpt setting and its notices

            -
            - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13687068 - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/jquery-comes-up-in-feed-content/#post-13110879 -
            @@ -1094,18 +1172,19 @@ list directly in the template, as CSS is in English anyway

            -

            Returns a Priority index. Lower numbers have a higher Priority.

            +

            Returns a priority index.

            public get_priority() : int -
            +

            Lower numbers have a higher priority.

            +
            @@ -1143,9 +1222,9 @@ list directly in the template, as CSS is in English anyway

            Displays all options for the fragment identifier configuration.

            @@ -1169,18 +1248,7 @@ list directly in the template, as CSS is in English anyway

            2.2.0 -

            in scrolling().

            -
            - -
            -
            - since -
            -
            - 2.5.12 - -

            separate metabox.

            -
            +
            @@ -1203,12 +1271,12 @@ list directly in the template, as CSS is in English anyway

            -

            Displays a short introduction to the Plugin.

            +

            Displays a short introduction to the plugin.

            public @@ -1231,23 +1299,6 @@ list directly in the template, as CSS is in English anyway

            - -
            - since -
            -
            - 2.7.0 - -

            Sanitize Lorem Ipsum filler text.

            -
            - -
            -
            - link -
            -
            - https://blog.prototypr.io/why-testing-with-real-content-is-better-than-lorem-ipsum-c7c79586ee72 -
            @@ -1269,9 +1320,9 @@ list directly in the template, as CSS is in English anyway

            Displays all settings for the backlink symbol.

            @@ -1295,81 +1346,8 @@ list directly in the template, as CSS is in English anyway

            1.5.0 -
              -
            • Update: symbol for backlinks removed; hyperlink moved to the reference number.
            • -
            -
            - -
            -
            - since -
            -
            - 2.0.0 - -

            The former 'hyperlink arrow' is incompatible with combined identical footnotes.

            -
              -
            • Update: Reference container: clarify backlink semantics by prepended transitional up arrow, thanks to @mmallett issue report.
            • -
            -
            - -
            -
            - since -
            -
            - 2.0.3 - -
              -
            • Update: Restore arrow settings to customize or disable the now prepended arrow symbol, thanks to @mmallett issue report.
            • -
            -
            - -
            -
            - since -
            -
            - 2.0.4 -
            -
            -
            - since -
            -
            - 2.1.4 - -

            moved to Settings > Reference container > Display a backlink symbol

            -
            - -
            -
            - since -
            -
            - 2.2.1 - -

            and 2.2.4 back here

            -
            - -
            -
            - reporter -
            -
            - -

            @mmallett

            -
            - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/mouse-over-broken/#post-13593037 -
            @@ -1391,9 +1369,9 @@ list directly in the template, as CSS is in English anyway

            Displays the setting for the input label issue solution.

            @@ -1440,9 +1418,9 @@ list directly in the template, as CSS is in English anyway

            Displays available Hooks to look for Footnote short codes.

            @@ -1451,7 +1429,12 @@ list directly in the template, as CSS is in English anyway

            public lookup_hooks() : mixed
            -
            +

            Priority level was initially a hard-coded default +shows ‘9223372036854775807’ in the numbox +empty should be interpreted as PHP_INT_MAX, +but a numbox cannot be set to empty, see here +define -1 as PHP_INT_MAX instead

            +
            @@ -1466,53 +1449,7 @@ list directly in the template, as CSS is in English anyway

            1.5.5 -

            Edited:

            -
            - -
            -
            - since -
            -
            - 2.1.1 - -

            priority level setting for the_content

            -
            - -
            -
            - since -
            -
            - 2.1.4 - -

            priority level settings for the other hooks

            -

            priority level was initially hard-coded default -shows "9223372036854775807" in the numbox -empty should be interpreted as PHP_INT_MAX, -but a numbox cannot be set to empty: https://github.com/Modernizr/Modernizr/issues/171 -define -1 as PHP_INT_MAX instead

            -
            - -
            -
            - since -
            -
            - 2.2.9 - -

            removed the warning about the widget text hook

            -
            - -
            -
            - since -
            -
            - 2.2.9 - -

            added guidance for the widget text hook

            -
            +
            @@ -1535,12 +1472,12 @@ define -1 as PHP_INT_MAX instead

            -

            Displays all settings for 'I love Footnotes'.

            +

            Displays all settings for ‘I love Footnotes’ note.

            public @@ -1561,28 +1498,7 @@ define -1 as PHP_INT_MAX instead

            1.5.0 -

            Edited:

            -
            - -
            -
            - since -
            -
            - 2.2.0 - -

            position-sensitive placeholders to support more locales

            -
            - -
            -
            - since -
            -
            - 2.2.0 - -

            more options

            -
            +
            @@ -1605,9 +1521,9 @@ define -1 as PHP_INT_MAX instead

            Displays enabled status for the footnotes mouse-over box.

            @@ -1631,28 +1547,7 @@ define -1 as PHP_INT_MAX instead

            1.5.2 -

            Edited:

            -
            - -
            -
            - since -
            -
            - 2.2.0 - -

            5 parts to address increased settings number

            -
            - -
            -
            - since -
            -
            - 2.2.5 - -

            position settings for alternative tooltips

            -
            +
            @@ -1675,9 +1570,9 @@ define -1 as PHP_INT_MAX instead

            Displays style settings for the footnotes mouse-over box.

            @@ -1724,9 +1619,9 @@ define -1 as PHP_INT_MAX instead

            Displays dimensions setting for the footnotes mouse-over box.

            @@ -1773,9 +1668,9 @@ define -1 as PHP_INT_MAX instead

            Displays position settings for the footnotes mouse-over box.

            @@ -1822,9 +1717,9 @@ define -1 as PHP_INT_MAX instead

            Displays dedicated tooltip text settings for the footnotes mouse-over box.

            @@ -1871,9 +1766,9 @@ define -1 as PHP_INT_MAX instead

            Displays timing settings for the footnotes mouse-over box.

            @@ -1920,9 +1815,9 @@ define -1 as PHP_INT_MAX instead

            Displays truncation settings for the footnotes mouse-over box.

            @@ -1969,9 +1864,9 @@ define -1 as PHP_INT_MAX instead

            Displays all options for the footnotes numbering.

            @@ -2018,9 +1913,9 @@ define -1 as PHP_INT_MAX instead

            Displays all settings for the reference container.

            @@ -2044,36 +1939,8 @@ define -1 as PHP_INT_MAX instead

            1.5.0 -

            Completed:

            -
            +
            -
            -
            - since -
            -
            - 2.1.4: - -

            layout and typography options

            -
            - -
            -
            - since -
            -
            - 2.2.5 - -

            options for label element and label bottom border, thanks to @markhillyer

            -
            - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ -
            @@ -2095,12 +1962,12 @@ define -1 as PHP_INT_MAX instead

            -

            Registers all sections for a sub page.

            +

            Registers all sections for a sub-page.

            public @@ -2144,12 +2011,12 @@ define -1 as PHP_INT_MAX instead

            -

            Registers a sub page.

            +

            Registers a sub-page.

            public @@ -2193,9 +2060,9 @@ define -1 as PHP_INT_MAX instead

            Displays all options for the scrolling behavior.

            @@ -2242,9 +2109,9 @@ define -1 as PHP_INT_MAX instead

            Displays all options for the footnotes start and end tag short codes.

            @@ -2268,90 +2135,8 @@ define -1 as PHP_INT_MAX instead

            1.5.0 -

            Edited heading

            -
            +
            -
            -
            - since -
            -
            - 2.2.0 - -

            start/end short codes: more predefined options

            -
            - -
            -
            - since -
            -
            - 2.2.0 - -

            3 boxes for clarity

            -
            - -
            -
            - since -
            -
            - 2.2.5 - -

            support for Ibid. notation thanks to @meglio

            -
            - -
            -
            - since -
            -
            - 2.4.0 - -

            added warning about Block Editor escapement disruption

            -
            - -
            -
            - since -
            -
            - 2.4.0 - -

            removed the HTML comment tag option

            -
            - -
            -
            - since -
            -
            - 2.5.0 - -

            Shortcode syntax validation: add more information around the setting, thanks to @andreasra

            -
            - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/doesnt-work-with-mailpoet/ - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/add-support-for-ibid-notation/ - -
            -
            - link -
            -
            - https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/ -
            @@ -2373,9 +2158,9 @@ define -1 as PHP_INT_MAX instead

            Displays all settings for the footnote referrers.

            @@ -2399,28 +2184,7 @@ define -1 as PHP_INT_MAX instead

            1.5.0 -

            Edited heading

            -
            - -
            -
            - since -
            -
            - 2.1.1 - -

            option for superscript (optionally baseline referrers)

            -
            - -
            -
            - since -
            -
            - 2.2.0 - -

            option for link element moved here

            -
            +
            @@ -2443,12 +2207,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns the html tag for an input [type = checkbox].

            +

            Constructs the HTML for a checkbox `<input>` element.

            protected @@ -2463,7 +2227,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -2476,6 +2240,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -2483,6 +2256,15 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -2504,12 +2286,13 @@ define -1 as PHP_INT_MAX instead

            -

            Returns the html tag for an input [type = text] with color selection class.

            +

            Constructs the HTML for a text `<input>` element with the colour selection +class.

            protected @@ -2524,7 +2307,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -2537,6 +2320,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -2544,6 +2336,24 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            + +
            +
            + todo +
            +
            + +

            Use proper colorpicker element.

            +
            +
            @@ -2565,12 +2375,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns the html tag for an input/select label.

            +

            Returns the HTML tag for an `<input>`/`<select>` label.

            protected @@ -2585,7 +2395,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to connect the Label with the input/select field.

            +

            Settings key.

            @@ -2607,6 +2417,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -2615,53 +2434,13 @@ define -1 as PHP_INT_MAX instead

            -
            - -
            Return values
            - string - — -
            - - -
            -
            -

            - add_line_space() - -

            - - -

            Returns a line break to have a space between two lines.

            - - - protected - add_line_space() : string - -
            - - - -
            - Tags - -
            -
            -
            - since +
            + todo
            - 1.5.0 -
            +

            Refactor HTML generation.

            +
            @@ -2684,9 +2463,9 @@ define -1 as PHP_INT_MAX instead

            Returns an array describing a meta box.

            @@ -2704,7 +2483,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Parent Section ID.

            +

            Parent section ID.

            @@ -2744,6 +2523,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -2751,65 +2539,41 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor meta boxes into their own class?

            +
            + +
            +
            + todo +
            +
            + +

            Pass actual functions rather than strings?

            +
            +
            Return values
            array<string|int, mixed> — -

            meta box description to be able to append a meta box to the output.

            +

            { +A dashboard meta box.

            +
            @type  string  $parent  Parent section ID.
            +@type  string  $id  Meta box ID.
            +@type  string  $title  Meta box title.
            +@type  string  $callback  Meta box callback function.
            +
            +

            }

            -
            -
            -

            - add_newline() - -

            - - -

            Returns a line break to start a new line.

            - - - protected - add_newline() : string - -
            - - - -
            - Tags - -
            -
            -
            - since -
            -
            - 1.5.0 - -
            - -
            -
            - -
            Return values
            - string - — -
            - -
            -

            Returns the html tag for an input [type = num].

            +

            Constructs the HTML for numeric `<input>` element.

            protected @@ -2842,7 +2606,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -2869,7 +2633,7 @@ define -1 as PHP_INT_MAX instead

            : bool = false
            -

            true if 0.1 steps and floating to string, false if integer (default).

            +

            true if float, false if integer. Default false.

            @@ -2882,6 +2646,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -2890,13 +2663,12 @@ define -1 as PHP_INT_MAX instead

            -
            - since +
            + todo
            - 2.1.4 -

            step argument and number_format() to allow decimals ..

            +

            Refactor HTML generation.

            @@ -2905,8 +2677,7 @@ define -1 as PHP_INT_MAX instead

            Return values
            string — -

            Edited:

            -
            +
            @@ -2921,12 +2692,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns an array describing a sub page section.

            +

            Returns an array describing a sub-page section.

            protected @@ -2959,7 +2730,7 @@ define -1 as PHP_INT_MAX instead

            : int
            -

            Settings Container Index.

            +

            Settings Container index.

            @@ -2968,7 +2739,8 @@ define -1 as PHP_INT_MAX instead

            : bool = true
            -

            Should a Submit Button be displayed for this section, default: true.

            +

            Whether a ‘Submit’ button should +be displayed for this section. Default true.

            @@ -2981,6 +2753,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -2988,13 +2769,29 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor sections into their own class?

            +
            +
            Return values
            array<string|int, mixed> — -

            Array describing the section.

            +

            { +A dashboard section.

            +
            @type  string  $id  Section ID.
            +@type  string  $title  Section title.
            +@type  bool  $submit  Whether the section has a submit button or not.
            +@type  int  $container  Settings Container index.
            +
            +

            }

            @@ -3010,12 +2807,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns the html tag for a select box.

            +

            Constructs the HTML for a `<select>` element.

            protected @@ -3030,7 +2827,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to pre select the current value.

            +

            Setting key.

            @@ -3039,7 +2836,7 @@ define -1 as PHP_INT_MAX instead

            : array<string|int, mixed>
            -

            Possible options to be selected.

            +

            Possible options.

            @@ -3052,52 +2849,29 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            1.5.0 -
              -
            • Bugfix: Dashboard: Referrers and tooltips: Backlink symbol: debug select box by reverting identity check to equality check, thanks to @lolzim bug report.
            • -
            -
            - -
            -
            - since -
            -
            - 2.5.13 -
            -
            -
            - since -
            -
            - 2.5.15 - -

            Bugfix: Dashboard: General settings: Footnote start and end short codes: debug select box for shortcodes with pointy brackets.

            -
            - -
            -
            - since -
            -
            - 2.6.1 - -

            Restore esc_attr() in load_setting(), remove htmlspecialchars() here.

            -
            -
            - reporter + todo
            -

            @lolzim

            +

            Refactor HTML generation.

            @@ -3121,12 +2895,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns a simple text inside html <span> text.

            +

            Returns a simple text inside HTML `<span>` element.

            protected @@ -3141,7 +2915,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Message to be surrounded with simple html tag (span).

            +

            Message to be surrounded with <span> tags.

            @@ -3154,6 +2928,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -3161,6 +2944,15 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -3182,12 +2974,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns the html tag for an input [type = text].

            +

            Constructs the HTML for a text `<input>` element.

            protected @@ -3202,7 +2994,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to pre load the input field.

            +

            Setting key.

            @@ -3211,7 +3003,7 @@ define -1 as PHP_INT_MAX instead

            : int = 999
            -

            Maximum length of the input, default 999 characters.

            +

            Maximum length of the input. Default length 999 chars.

            @@ -3220,7 +3012,7 @@ define -1 as PHP_INT_MAX instead

            : bool = false
            -

            Set the input to be read only, default false.

            +

            Set the input to be read only. Default false.

            @@ -3229,7 +3021,7 @@ define -1 as PHP_INT_MAX instead

            : bool = false
            -

            Set the input to be hidden, default false.

            +

            Set the input to be hidden. Default false.

            @@ -3242,6 +3034,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -3249,6 +3050,15 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -3270,12 +3080,12 @@ define -1 as PHP_INT_MAX instead

            -

            Returns the html tag for a text area.

            +

            Constructs the HTML for a `<textarea>` element.

            protected @@ -3290,7 +3100,7 @@ define -1 as PHP_INT_MAX instead

            : string
            -

            Name of the Settings key to pre fill the text area.

            +

            Setting key.

            @@ -3303,6 +3113,15 @@ define -1 as PHP_INT_MAX instead

            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -3310,6 +3129,15 @@ define -1 as PHP_INT_MAX instead

            +
            +
            + todo +
            +
            + +

            Refactor HTML generation.

            +
            +
            @@ -3331,16 +3159,16 @@ define -1 as PHP_INT_MAX instead

            -

            Returns an array of all registered meta boxes for each section of the sub page.

            +

            Returns an array of all registered meta boxes for each section of the sub-page.

            protected - get_meta_boxes() : array<string|int, mixed> + get_meta_boxes() : array<string|int, array<string|int, mixed>>
            @@ -3352,6 +3180,17 @@ define -1 as PHP_INT_MAX instead

            + see +
            +
            + Footnotes_Layout_Engine::add_meta_box() + +

            For more information on the +meta box array format.

            +
            + +
            +
            since
            @@ -3364,72 +3203,18 @@ define -1 as PHP_INT_MAX instead

            since
            - 2.0.0 + 2.2.0 -

            discontinued

            -
            - -
            -
            - since -
            -
            - 2.0.4 - -

            restored to meet user demand for arrow symbol semantics

            -
            - -
            -
            - since -
            -
            - 2.1.4 - -

            discontinued, content moved to Settings > Reference container > Display a backlink symbol

            -
            - -
            -
            - since -
            -
            - 2.0.4 - -

            to reflect changes in meta box label display since WPv5.5 -spans need position:fixed and become unlocalizable -fix: logo is kept only in the label that doesn't need to be translated: -Change string "%s styling" to "Footnotes styling" to fix layout in WPv5.5

            -
            - -
            -
            - since -
            -
            - 2.1.6 - -

            / 2.2.0 tabs reordered and renamed

            -
            - -
            -
            - see -
            -
            - details - -

            in class/config.php

            +

            Re-order and rename tabs.

            Return values
            - array<string|int, mixed> + array<string|int, array<string|int, mixed>> — -

            Edited for 2.0.0 and later.

            -

            hyperlink_arrow meta box:

            +

            All of the registered meta boxes.

            @@ -3445,16 +3230,16 @@ Change string "%s styling" to "Footnotes styling" to fix lay -

            Returns an array of all registered sections for the sub page.

            +

            Returns an array of all registered sections for the sub-page.

            protected - get_sections() : array<string|int, mixed> + get_sections() : array<string|int, array<string|int, mixed>>
            @@ -3466,6 +3251,17 @@ Change string "%s styling" to "Footnotes styling" to fix lay
            + see +
            +
            + Footnotes_Layout_Engine::add_section() + +

            For more information on the +section array format.

            +
            + +
            +
            since
            @@ -3480,33 +3276,16 @@ Change string "%s styling" to "Footnotes styling" to fix lay
            2.1.6 -

            tabs reordered and renamed

            +

            Remove conditional rendering of ‘Expert’ tab.

            -
            -
            - since -
            -
            - 2.1.6 - -

            removed if statement around expert tab

            -
            - -
            -
            - link -
            -
            - https://www.linkedin.com/pulse/20140610191154-4746170-configuration-vs-customization-when-and-why-would-i-implement-each -
            Return values
            - array<string|int, mixed> + array<string|int, array<string|int, mixed>> — -

            Edited:

            +

            All of the registered sections.

            @@ -3522,12 +3301,12 @@ Change string "%s styling" to "Footnotes styling" to fix lay -

            Returns the unique slug of the sub page.

            +

            Returns the unique slug of the sub-page.

            protected @@ -3571,12 +3350,12 @@ Change string "%s styling" to "Footnotes styling" to fix lay -

            Returns the title of the sub page.

            +

            Returns the title of the sub-page.

            protected @@ -3620,12 +3399,12 @@ Change string "%s styling" to "Footnotes styling" to fix lay -

            Loads specific setting and returns an array with the keys [id, name, value].

            +

            Loads a specified setting.

            protected @@ -3640,7 +3419,7 @@ Change string "%s styling" to "Footnotes styling" to fix lay : string
            -

            Settings Array key name.

            +

            Setting key.

            @@ -3653,6 +3432,15 @@ Change string "%s styling" to "Footnotes styling" to fix lay
            + access +
            +
            + +

            protected

            +
            + +
            +
            since
            @@ -3667,19 +3455,7 @@ Change string "%s styling" to "Footnotes styling" to fix lay
            2.5.11 -

            Remove escapement function. -When refactoring the codebase after 2.5.8, all and every output was escaped. -After noticing that the plugin was broken, all escapement functions were removed.

            -
            - -
            -
            - since -
            -
            - 2.5.15 - -

            To fix it, the data was escaped in add_select_box() instead.

            +

            Broken due to accidental removal of esc_attr() call.

            @@ -3689,41 +3465,7 @@ After noticing that the plugin was broken, all escapement functions were removed
            2.6.1 -

            Restore esc_attr() in load_setting().

            -
            - -
            -
            - link -
            -
            - https://github.com/markcheret/footnotes/pull/50/commits/25c3f2f12eb5de1079e9215bf624ec4289b095a5 - -
            -
            - link -
            -
            -

            In that process, this instance of esc_attr() was removed too, so the plugin was -broken again.

            -
            - -
            -
            - link -
            -
            - https://github.com/markcheret/footnotes/pull/50/commits/25c3f2f12eb5de1079e9215bf624ec4289b095a5#diff-a8ed6e859c32a18fc10bbbad3b4dd8ce7f43f2378d29471c7638e314ab30f1bdL349-L354 - -
            -
            - see -
            -
            - add_select_box() - -

            This is the only instance of esc_|kses|sanitize in the pre-2.5.11 codebase. -Removing this did not fix the quotation mark backslash escapement bug.

            +

            Restore esc_attr() call.

            @@ -3732,7 +3474,13 @@ Removing this did not fix the quotation mark backslash escapement bug.

            Return values
            array<string|int, mixed> — -

            Contains Settings ID, Settings Name and Settings Value.

            +

            { +A configurable setting.

            +
            @type  string  $id  Setting key.
            +@type  string  $name  Setting name.
            +@type  string  $value  Setting value.
            +
            +

            }

            @@ -3748,12 +3496,12 @@ Removing this did not fix the quotation mark backslash escapement bug.

            -

            Append javascript and css files for specific sub page.

            +

            Append JavaScript and CSS files for specific sub-page.

            private @@ -3769,6 +3517,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            + access +
            +
            + +

            private

            +
            + +
            +
            since
            @@ -3776,6 +3533,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            +
            +
            + todo +
            +
            + +

            Move to Footnotes_Admin.

            +
            +
            @@ -3797,12 +3563,12 @@ Removing this did not fix the quotation mark backslash escapement bug.

            -

            Registers all Meta boxes for a sub page.

            +

            Registers all Meta boxes for a sub-page.

            private @@ -3817,7 +3583,7 @@ Removing this did not fix the quotation mark backslash escapement bug.

            : string
            -

            Parent section unique id.

            +

            Parent section unique ID.

            @@ -3830,6 +3596,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            + access +
            +
            + +

            private

            +
            + +
            +
            since
            @@ -3858,12 +3633,12 @@ Removing this did not fix the quotation mark backslash escapement bug.

            -

            Save all Plugin settings.

            +

            Save all plugin settings.

            private @@ -3879,6 +3654,15 @@ Removing this did not fix the quotation mark backslash escapement bug.

            + access +
            +
            + +

            private

            +
            + +
            +
            since
            @@ -3886,13 +3670,23 @@ Removing this did not fix the quotation mark backslash escapement bug.

            +
            +
            + todo +
            +
            + +

            Review nonce verification.

            +
            +
            Return values
            bool — -
            +

            true on save success, else false.

            +
            diff --git a/docs/classes/Footnotes-Loader.html b/docs/classes/Footnotes-Loader.html new file mode 100644 index 0000000..6961141 --- /dev/null +++ b/docs/classes/Footnotes-Loader.html @@ -0,0 +1,752 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
            +

            Documentation

            + + + + + +
            + +
            +
            + + + + +
            +
              +
            + +
            +

            + Footnotes_Loader + + + + +

            + + + +

            Class defining action/filter registration for the plugin.

            + +

            Maintain a list of all hooks that are registered throughout the plugin, and +register them with the WordPress API. Call the run function to execute the +list of actions and filters.

            +
            + + +
            + Tags + +
            +
            +
            + subpackage +
            +
            + +

            includes

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + + + + + + +

            + Table of Contents + +

            + +
            +
            + $actions + +  : array<string|int, mixed> +
            +
            The array of actions registered with WordPress.
            + +
            + $filters + +  : array<string|int, mixed> +
            +
            The array of filters registered with WordPress.
            + +
            + __construct() + +  : mixed +
            +
            Initialize the collections used to maintain the actions and filters.
            + +
            + add_action() + +  : mixed +
            +
            Add a new action to the collection to be registered with WordPress.
            + +
            + add_filter() + +  : mixed +
            +
            Add a new filter to the collection to be registered with WordPress.
            + +
            + run() + +  : mixed +
            +
            Registers the filters and actions with WordPress.
            + +
            + add() + +  : array<string|int, mixed> +
            +
            A utility function that is used to register the actions and hooks into a single +collection.
            + +
            + + + + + + +
            +

            + Properties + +

            +
            +

            + $actions + + + +

            + + +

            The array of actions registered with WordPress.

            + + + protected + array<string|int, mixed> + $actions + + +
            + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            +
            +

            + $filters + + + +

            + + +

            The array of filters registered with WordPress.

            + + + protected + array<string|int, mixed> + $filters + + +
            + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            protected

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            +
            + +
            +

            + Methods + +

            +
            +

            + __construct() + +

            + + +

            Initialize the collections used to maintain the actions and filters.

            + + + public + __construct() : mixed + +
            + + + +
            + Tags + +
            +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + mixed + — +
            + + +
            +
            +

            + add_action() + +

            + + +

            Add a new action to the collection to be registered with WordPress.

            + + + public + add_action(string $hook, object $component, string $callback[, int $priority = 10 ][, int $accepted_args = 1 ]) : mixed + +
            + +
            Parameters
            +
            +
            + $hook + : string +
            +
            +

            The name of the WordPress action that is being registered.

            +
            + +
            +
            + $component + : object +
            +
            +

            A reference to the instance of the object on which the action is defined.

            +
            + +
            +
            + $callback + : string +
            +
            +

            The name of the function definition on the $component.

            +
            + +
            +
            + $priority + : int + = 10
            +
            +

            (optional) The priority at which the function should be fired. Default is 10.

            +
            + +
            +
            + $accepted_args + : int + = 1
            +
            +

            (optional) The number of arguments that should be passed to the $callback. Default is 1.

            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + mixed + — +
            + + +
            +
            +

            + add_filter() + +

            + + +

            Add a new filter to the collection to be registered with WordPress.

            + + + public + add_filter(string $hook, object $component, string $callback[, int $priority = 10 ][, int $accepted_args = 1 ]) : mixed + +
            + +
            Parameters
            +
            +
            + $hook + : string +
            +
            +

            The name of the WordPress filter that is being registered.

            +
            + +
            +
            + $component + : object +
            +
            +

            A reference to the instance of the object on which the filter is defined.

            +
            + +
            +
            + $callback + : string +
            +
            +

            The name of the function definition on the $component.

            +
            + +
            +
            + $priority + : int + = 10
            +
            +

            (optional) The priority at which the function should be fired. Default is 10.

            +
            + +
            +
            + $accepted_args + : int + = 1
            +
            +

            (optional) The number of arguments that should be passed to the $callback. Default is 1.

            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + mixed + — +
            + + +
            +
            +

            + run() + +

            + + +

            Registers the filters and actions with WordPress.

            + + + public + run() : mixed + +
            + + + +
            + Tags + +
            +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + mixed + — +
            + + +
            +
            +

            + add() + +

            + + +

            A utility function that is used to register the actions and hooks into a single +collection.

            + + + private + add(array<string|int, mixed> $hooks, string $hook, object $component, string $callback, int $priority, int $accepted_args) : array<string|int, mixed> + +
            + +
            Parameters
            +
            +
            + $hooks + : array<string|int, mixed> +
            +
            +

            The collection of hooks that is being registered (that is, actions or filters).

            +
            + +
            +
            + $hook + : string +
            +
            +

            The name of the WordPress filter that is being registered.

            +
            + +
            +
            + $component + : object +
            +
            +

            A reference to the instance of the object on which the filter is defined.

            +
            + +
            +
            + $callback + : string +
            +
            +

            The name of the function definition on the $component.

            +
            + +
            +
            + $priority + : int +
            +
            +

            The priority at which the function should be fired.

            +
            + +
            +
            + $accepted_args + : int +
            +
            +

            The number of arguments that should be passed to the $callback.

            +
            + +
            +
            + + +
            + Tags + +
            +
            +
            + access +
            +
            + +

            private

            +
            + +
            +
            + since +
            +
            + 2.8.0 + +
            + +
            +
            + +
            Return values
            + array<string|int, mixed> + — +

            The collection of actions and filters registered with WordPress.

            +
            + + +
            +
            + +
            +
            +
            +
            +

            Search results

            + +
            +
            +
              +
              +
              +
              +
              +
              + + +
              + + + + diff --git a/docs/classes/Footnotes-Parser.html b/docs/classes/Footnotes-Parser.html new file mode 100644 index 0000000..48c63fe --- /dev/null +++ b/docs/classes/Footnotes-Parser.html @@ -0,0 +1,2559 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
              +

              Documentation

              + + + + + +
              + +
              +
              + + + + +
              +
                +
              + +
              +

              + Footnotes_Parser + + + + +

              + + + +

              Searches and replaces the footnotes and generates the reference container.

              + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + since +
              +
              + 2.8.0 + +

              Rename class from Footnotes_Task to Footnotes_Parser.

              +
              + +
              +
              + + + + + + +

              + Table of Contents + +

              + +
              +
              + $a_arr_footnotes + +  : array<string|int, string> +
              +
              Contains all footnotes found in the searched content.
              + +
              + $a_bool_allow_love_me + +  : bool +
              +
              Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.
              + +
              + $a_bool_hard_links_enabled + +  : bool +
              +
              Hard links for AMP compatibility.
              + +
              + $a_bool_mirror_tooltip_text + +  : bool +
              +
              Whether to mirror the tooltip text in the reference container.
              + +
              + $a_bool_syntax_error_flag + +  : bool +
              +
              Footnote delimiter syntax validation enabled.
              + +
              + $a_int_post_id + +  : int +
              +
              Autoload a.k.a. infinite scroll, or archive view.
              + +
              + $a_int_reference_container_id + +  : int +
              +
              Multiple reference containers in content and widgets.
              + +
              + $a_int_scroll_offset + +  : int +
              +
              Scroll offset.
              + +
              + $a_int_tooltip_shortcode_length + +  : int +
              +
              The tooltip delimiter shortcode length.
              + +
              + $a_str_end_tag + +  : string +
              +
              Footnote delimiter end short code.
              + +
              + $a_str_end_tag_regex + +  : string +
              +
              Footnote delimiter end short code in RegEx format.
              + +
              + $a_str_footnote_link_slug + +  : string +
              +
              The footnote slug.
              + +
              + $a_str_link_close_tag + +  : string +
              +
              The closing tag.
              + +
              + $a_str_link_open_tag + +  : string +
              +
              The opening tag.
              + +
              + $a_str_link_span + +  : string +
              +
              The span element name.
              + +
              + $a_str_post_container_id_compound + +  : string +
              +
              Contains the concatenated fragment ID base.
              + +
              + $a_str_prefix + +  : string +
              +
              Prefix for the Footnote html element ID.
              + +
              + $a_str_referrer_link_slug + +  : string +
              +
              The referrer slug.
              + +
              + $a_str_start_tag + +  : string +
              +
              Footnote delimiter start short code.
              + +
              + $a_str_start_tag_regex + +  : string +
              +
              Footnote delimiter start short code in RegEx format.
              + +
              + $a_str_tooltip_shortcode + +  : string +
              +
              The tooltip delimiter shortcode.
              + +
              + $a_str_link_ids_separator + +  : string +
              +
              The slug and identifier separator.
              + +
              + __construct() + +  : mixed +
              +
              Initialize the class and set its properties.
              + +
              + exec() + +  : string +
              +
              Replaces all footnotes that occur in the given content.
              + +
              + footnotes_in_content() + +  : string +
              +
              Replaces footnotes in the content of the current page/post.
              + +
              + footnotes_in_excerpt() + +  : string +
              +
              Processes existing excerpt or replaces it with a new one generated on the basis of the post.
              + +
              + footnotes_in_title() + +  : string +
              +
              Replaces footnotes in the post/page title.
              + +
              + footnotes_in_widget_text() + +  : string +
              +
              Replaces footnotes in the content of the current widget.
              + +
              + footnotes_in_widget_title() + +  : string +
              +
              Replaces footnotes in the widget title.
              + +
              + footnotes_output_footer() + +  : mixed +
              +
              Displays the 'LOVE FOOTNOTES' slug if enabled.
              + +
              + footnotes_output_head() + +  : mixed +
              +
              Outputs the custom css to the header of the public page.
              + +
              + generate_excerpt() + +  : string +
              +
              Generates excerpt on the basis of the post.
              + +
              + generate_excerpt_with_footnotes() + +  : string +
              +
              Generates excerpt with footnotes on the basis of the post.
              + +
              + reference_container() + +  : string +
              +
              Generates the reference container.
              + +
              + register_hooks() + +  : mixed +
              +
              Register WordPress hooks to replace Footnotes in the content of a public page.
              + +
              + search() + +  : string +
              +
              Replaces all footnotes in the given content and appends them to the static property.
              + +
              + unify_delimiters() + +  : mixed +
              +
              Brings the delimiters and unifies their various HTML escapement schemas.
              + +
              + + + + + + +
              +

              + Properties + +

              +
              +

              + $a_arr_footnotes + + + +

              + + +

              Contains all footnotes found in the searched content.

              + + + public + static array<string|int, string> + $a_arr_footnotes + = array() + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              +
              +

              + $a_bool_allow_love_me + + + +

              + + +

              Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.

              + + + public + static bool + $a_bool_allow_love_me + = rue + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              +
              + + + +

              Hard links for AMP compatibility.

              + + + public + static bool + $a_bool_hard_links_enabled + = alse + +

              A property because used both in search() and reference_container().

              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.0.0 + +
              + +
              +
              + +
              +
              +

              + $a_bool_mirror_tooltip_text + + + +

              + + +

              Whether to mirror the tooltip text in the reference container.

              + + + public + static bool + $a_bool_mirror_tooltip_text + = alse + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.5.2 + +
              + +
              +
              + +
              +
              +

              + $a_bool_syntax_error_flag + + + +

              + + +

              Footnote delimiter syntax validation enabled.

              + + + public + static bool + $a_bool_syntax_error_flag + = rue + +

              The algorithm first checks for balanced footnote opening and closing tag short codes. +The first encountered error triggers the display of a warning below the post title.

              +

              Unbalanced short codes have caused significant trouble because they are hard to detect. +Any compiler or other tool reports syntax errors in the first place. Footnotes' exception +is considered a design flaw, and the feature is released as a bug fix after overdue 2.3.0 +released in urgency to provide AMP compat before 2021.

              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.4.0 + +
              + +
              +
              + +
              +
              +

              + $a_int_post_id + + + +

              + + +

              Autoload a.k.a. infinite scroll, or archive view.

              + + + public + static int + $a_int_post_id + = 0 + +

              As multiple posts are appended to each other, functions and fragment IDs must be disambiguated. +post ID to make everything unique wrt infinite scroll and archive view.

              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.0.6 + +
              + +
              +
              + +
              +
              +

              + $a_int_reference_container_id + + + +

              + + +

              Multiple reference containers in content and widgets.

              + + + public + static int + $a_int_reference_container_id + = 1 + +

              This ID disambiguates multiple reference containers in a page +as they may occur when the widget_text hook is active and the page +is built with Elementor and has an accordion or similar toggle sections.

              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.2.9 + +
              + +
              +
              + +
              +
              +

              + $a_int_scroll_offset + + + +

              + + +

              Scroll offset.

              + + + public + static int + $a_int_scroll_offset + = 34 + +

              Websites may use high fixed headers not contracting at scroll. +Scroll offset may now need to get into inline CSS. +Hence it needs to be loaded twice, because priority levels may not match.

              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.1.4 + +
              + +
              +
              + +
              +
              +

              + $a_int_tooltip_shortcode_length + + + +

              + + +

              The tooltip delimiter shortcode length.

              + + + public + static int + $a_int_tooltip_shortcode_length + = 12 + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.5.2 + +
              + +
              +
              + +
              +
              +

              + $a_str_end_tag + + + +

              + + +

              Footnote delimiter end short code.

              + + + public + static string + $a_str_end_tag + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + since +
              +
              + 2.6.2 + +

              Move from constant to class property.

              +
              + +
              +
              + +
              +
              +

              + $a_str_end_tag_regex + + + +

              + + +

              Footnote delimiter end short code in RegEx format.

              + + + public + static string + $a_str_end_tag_regex + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.4.0 + +
              + +
              +
              + since +
              +
              + 2.6.2 + +

              Move from global constant to class property.

              +
              + +
              +
              + +
              +
              + + + +

              The footnote slug.

              + + + public + static string + $a_str_footnote_link_slug + = 'f' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + +
              +
              + + + +

              The closing tag.

              + + + public + static string + $a_str_link_close_tag + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + todo +
              +
              + +

              Remove.

              +
              + +
              +
              + +
              +
              + + + +

              The opening tag.

              + + + public + static string + $a_str_link_open_tag + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + todo +
              +
              + +

              Remove.

              +
              + +
              +
              + +
              +
              + + + +

              The span element name.

              + + + public + static string + $a_str_link_span + = 'span' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + todo +
              +
              + +

              Remove.

              +
              + +
              +
              + +
              +
              +

              + $a_str_post_container_id_compound + + + +

              + + +

              Contains the concatenated fragment ID base.

              + + + public + static string + $a_str_post_container_id_compound + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + +
              +
              +

              + $a_str_prefix + + + +

              + + +

              Prefix for the Footnote html element ID.

              + + + public + static string + $a_str_prefix + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.8 + +
              + +
              +
              + +
              +
              + + + +

              The referrer slug.

              + + + public + static string + $a_str_referrer_link_slug + = 'r' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + +
              +
              +

              + $a_str_start_tag + + + +

              + + +

              Footnote delimiter start short code.

              + + + public + static string + $a_str_start_tag + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + since +
              +
              + 2.6.2 + +

              Move from constant to class property.

              +
              + +
              +
              + +
              +
              +

              + $a_str_start_tag_regex + + + +

              + + +

              Footnote delimiter start short code in RegEx format.

              + + + public + static string + $a_str_start_tag_regex + = '' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.4.0 + +
              + +
              +
              + since +
              +
              + 2.6.2 + +

              Move from global constant to class property.

              +
              + +
              +
              + +
              +
              +

              + $a_str_tooltip_shortcode + + + +

              + + +

              The tooltip delimiter shortcode.

              + + + public + static string + $a_str_tooltip_shortcode + = '[[/tooltip]]' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.5.2 + +
              + +
              +
              + +
              +
              + + + +

              The slug and identifier separator.

              + + + private + static string + $a_str_link_ids_separator + = '+' + +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.3.0 + +
              + +
              +
              + +
              +
              + +
              +

              + Methods + +

              +
              +

              + __construct() + +

              + + +

              Initialize the class and set its properties.

              + + + public + __construct() : mixed + +
              + + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.8.0 + +
              + +
              +
              + todo +
              +
              + +

              Reorganise dependencies.

              +
              + +
              +
              + todo +
              +
              + +

              Move call to register_hooks() to Footnotes_Public.

              +
              + +
              +
              + +
              Return values
              + mixed + — +
              + + +
              +
              +

              + exec() + +

              + + +

              Replaces all footnotes that occur in the given content.

              + + + public + exec(string $p_str_content[, bool $p_bool_output_references = false ][, bool $p_bool_hide_footnotes_text = false ]) : string + +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              Any string that may contain footnotes to be replaced.

              +
              + +
              +
              + $p_bool_output_references + : bool + = false
              +
              +

              Appends the Reference Container to the output if set to true, default true.

              +
              + +
              +
              + $p_bool_hide_footnotes_text + : bool + = false
              +
              +

              Hide footnotes found in the string.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +
              + + +
              +
              +

              + footnotes_in_content() + +

              + + +

              Replaces footnotes in the content of the current page/post.

              + + + public + footnotes_in_content(string $p_str_content) : string + +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              Page/Post content.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_content Content with replaced footnotes.

              +
              + + +
              +
              +

              + footnotes_in_excerpt() + +

              + + +

              Processes existing excerpt or replaces it with a new one generated on the basis of the post.

              + + + public + footnotes_in_excerpt(string $p_str_excerpt) : string + +

              The input was already the processed excerpt, no more footnotes to search. +But issue #65 brought up that manual excerpts can include processable footnotes. +Default 'manual' is fallback and is backwards-compatible with the initial setup.

              +
              + +
              Parameters
              +
              +
              + $p_str_excerpt + : string +
              +
              +

              Excerpt content.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_excerpt Processed or new excerpt.

              +
              + + +
              +
              +

              + footnotes_in_title() + +

              + + +

              Replaces footnotes in the post/page title.

              + + + public + footnotes_in_title(string $p_str_content) : string + +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              Title.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_content Title with replaced footnotes.

              +
              + + +
              +
              +

              + footnotes_in_widget_text() + +

              + + +

              Replaces footnotes in the content of the current widget.

              + + + public + footnotes_in_widget_text(string $p_str_content) : string + +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              Widget content.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_content Content with replaced footnotes.

              +
              + + +
              +
              +

              + footnotes_in_widget_title() + +

              + + +

              Replaces footnotes in the widget title.

              + + + public + footnotes_in_widget_title(string $p_str_content) : string + +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              Widget content.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_content Content with replaced footnotes.

              +
              + + +
              +
              + + + +

              Displays the 'LOVE FOOTNOTES' slug if enabled.

              + + + public + footnotes_output_footer() : mixed + +
              + + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + mixed + — +
              + + +
              +
              +

              + footnotes_output_head() + +

              + + +

              Outputs the custom css to the header of the public page.

              + + + public + footnotes_output_head() : mixed + +
              + + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + todo +
              +
              + +

              Refactor to enqueue stylesheets properly in Footnotes_Public.

              +
              + +
              +
              + +
              Return values
              + mixed + — +
              + + +
              +
              +

              + generate_excerpt() + +

              + + +

              Generates excerpt on the basis of the post.

              + + + public + generate_excerpt(string $p_str_content) : string + +

              Applies full WordPress excerpt processing.

              +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              The post.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + link +
              +
              + https://developer.wordpress.org/reference/functions/wp_trim_excerpt/ + +
              +
              + link +
              +
              + https://developer.wordpress.org/reference/functions/wp_trim_words/ + +
              +
              + since +
              +
              + 2.6.2 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_content An excerpt of the post.

              +
              + + +
              +
              +

              + generate_excerpt_with_footnotes() + +

              + + +

              Generates excerpt with footnotes on the basis of the post.

              + + + public + generate_excerpt_with_footnotes(string $p_str_content) : string + +

              Does not apply full WordPress excerpt processing.

              +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              The post.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + see +
              +
              + self::generate_excerpt() + +

              Uses information and some code from Advanced Excerpt.

              +
              + +
              +
              + link +
              +
              + https://wordpress.org/plugins/advanced-excerpt/ + +
              +
              + since +
              +
              + 2.6.3 + +
              + +
              +
              + +
              Return values
              + string + — +

              $p_str_content An excerpt of the post.

              +
              + + +
              +
              +

              + reference_container() + +

              + + +

              Generates the reference container.

              + + + public + reference_container() : string + +
              + + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + +
              Return values
              + string + — +
              + + +
              +
              +

              + register_hooks() + +

              + + +

              Register WordPress hooks to replace Footnotes in the content of a public page.

              + + + public + register_hooks() : mixed + +
              + + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + since +
              +
              + 1.5.4 + +

              Add support for @see 'the_post' hook.

              +
              + +
              +
              + since +
              +
              + 2.0.5 + +

              Enable all hooks by default.

              +
              + +
              +
              + since +
              +
              + 2.1.0 + +

              Remove @see 'the_post' support.

              +
              + +
              +
              + todo +
              +
              + +

              Move to Footnotes_Public.

              +
              + +
              +
              + +
              Return values
              + mixed + — +
              + + +
              +
              + + + +

              Replaces all footnotes in the given content and appends them to the static property.

              + + + public + search(string $p_str_content, bool $p_bool_hide_footnotes_text) : string + +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              Any content to be parsed for footnotes.

              +
              + +
              +
              + $p_bool_hide_footnotes_text + : bool +
              +
              +

              Hide footnotes found in the string.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 1.5.0 + +
              + +
              +
              + todo +
              +
              + +

              Refactor to parse DOM rather than using RegEx.

              +
              + +
              +
              + +
              Return values
              + string + — +
              + + +
              +
              +

              + unify_delimiters() + +

              + + +

              Brings the delimiters and unifies their various HTML escapement schemas.

              + + + public + unify_delimiters(string $p_str_content) : mixed + +

              While the Classic Editor (visual mode) escapes both pointy brackets, +the Block Editor enforces balanced escapement only in code editor mode +when the opening tag is already escaped. In visual mode, the Block Editor +does not escape the greater-than sign.

              +
              + +
              Parameters
              +
              +
              + $p_str_content + : string +
              +
              +

              The footnote, including delimiters.

              +
              + +
              +
              + + +
              + Tags + +
              +
              +
              + since +
              +
              + 2.1.14 + +
              + +
              +
              + +
              Return values
              + mixed + — +
              + + +
              +
              + +
              +
              +
              +
              +

              Search results

              + +
              +
              +
                +
                +
                +
                +
                +
                + + +
                + + + + diff --git a/docs/classes/Footnotes-Public.html b/docs/classes/Footnotes-Public.html new file mode 100644 index 0000000..918448f --- /dev/null +++ b/docs/classes/Footnotes-Public.html @@ -0,0 +1,1054 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                +

                Documentation

                + + + + + +
                + +
                +
                + + + + +
                +
                  +
                + +
                +

                + Footnotes_Public + + + + +

                + + + +

                Class provide all admin-specific functionality of the plugin.

                + +

                Defines the plugin name, version, and enqueues all public-facing stylesheets +and JavaScript.

                +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.8.0 + +
                + +
                +
                + + + + + + +

                + Table of Contents + +

                + +
                +
                + $a_bool_alternative_tooltips_enabled + +  : bool +
                +
                Allows to determine whether alternative tooltips are enabled.
                + +
                + $a_bool_amp_enabled + +  : bool +
                +
                Allows to determine whether AMP compatibility mode is enabled.
                + +
                + $a_bool_tooltips_enabled + +  : bool +
                +
                Flag for using tooltips.
                + +
                + $a_obj_task + +  : Footnotes_Parser +
                +
                The footnote parser.
                + +
                + $a_str_script_mode + +  : string +
                +
                Allows to determine the script mode among jQuery or plain JS.
                + +
                + $plugin_name + +  : string +
                +
                The ID of this plugin.
                + +
                + $reference_container_widget + +  : Footnotes_Widget_Reference_Container +
                +
                The reference container widget.
                + +
                + $version + +  : string +
                +
                The version of this plugin.
                + +
                + __construct() + +  : mixed +
                +
                Initialize the class and set its properties.
                + +
                + enqueue_scripts() + +  : mixed +
                +
                Register the JavaScript for the public-facing side of the site.
                + +
                + enqueue_styles() + +  : mixed +
                +
                Register the stylesheets for the public-facing side of the site.
                + +
                + register_widgets() + +  : mixed +
                +
                Register the widget(s) for the public-facing side of the site.
                + +
                + load_dependencies() + +  : mixed +
                +
                Load the required public-facing dependencies.
                + +
                + + + + + + +
                +

                + Properties + +

                +
                +

                + $a_bool_alternative_tooltips_enabled + + + +

                + + +

                Allows to determine whether alternative tooltips are enabled.

                + + + public + static bool + $a_bool_alternative_tooltips_enabled + = alse + +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.1.1 + +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                +
                +

                + $a_bool_amp_enabled + + + +

                + + +

                Allows to determine whether AMP compatibility mode is enabled.

                + + + public + static bool + $a_bool_amp_enabled + = alse + +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.6.0 + +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                +
                +

                + $a_bool_tooltips_enabled + + + +

                + + +

                Flag for using tooltips.

                + + + public + static bool + $a_bool_tooltips_enabled + = alse + +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.4.0 + +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                + +
                +

                + $a_str_script_mode + + + +

                + + +

                Allows to determine the script mode among jQuery or plain JS.

                + + + public + static string + $a_str_script_mode + = 'js' + +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.5.6 + +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                +
                +

                + $plugin_name + + + +

                + + +

                The ID of this plugin.

                + + + private + string + $plugin_name + + +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.8.0 + +
                + +
                +
                + access +
                +
                + +

                private

                +
                + +
                +
                + +
                + +
                +

                + $version + + + +

                + + +

                The version of this plugin.

                + + + private + string + $version + + +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.8.0 + +
                + +
                +
                + access +
                +
                + +

                private

                +
                + +
                +
                + +
                +
                + +
                +

                + Methods + +

                +
                +

                + __construct() + +

                + + +

                Initialize the class and set its properties.

                + + + public + __construct(string $plugin_name, string $version) : mixed + +
                + +
                Parameters
                +
                +
                + $plugin_name + : string +
                +
                +

                The name of this plugin.

                +
                + +
                +
                + $version + : string +
                +
                +

                The version of this plugin.

                +
                + +
                +
                + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.8.0 + +
                + +
                +
                + +
                Return values
                + mixed + — +
                + + +
                +
                +

                + enqueue_scripts() + +

                + + +

                Register the JavaScript for the public-facing side of the site.

                + + + public + enqueue_scripts() : mixed + +
                + + + +
                + Tags + +
                +
                +
                + since +
                +
                + 1.5.0 + +
                + +
                +
                + since +
                +
                + 2.0.0 + +

                Add jQueryUI dependency.

                +
                + +
                +
                + since +
                +
                + 2.1.2 + +

                Add jQuery Tools dependency.

                +
                + +
                +
                + since +
                +
                + 2.5.6 + +

                Add jQuery dependency.

                +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                Return values
                + mixed + — +
                + + +
                +
                +

                + enqueue_styles() + +

                + + +

                Register the stylesheets for the public-facing side of the site.

                + + + public + enqueue_styles() : mixed + +

                Enables enqueuing the formatted individual stylesheets if PRODUCTION_ENV +is true.

                +
                + + + +
                + Tags + +
                +
                +
                + since +
                +
                + 1.5.0 + +
                + +
                +
                + since +
                +
                + 2.5.5 + +

                Change stylesheet schema.

                +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                Return values
                + mixed + — +
                + + +
                +
                +

                + register_widgets() + +

                + + +

                Register the widget(s) for the public-facing side of the site.

                + + + public + register_widgets() : mixed + +
                + + + +
                + Tags + +
                +
                +
                + since +
                +
                + 1.5.0 + +
                + +
                +
                + since +
                +
                + 2.8.0 + +

                Moved from Footnotes to Footnotes_Public.

                +
                + +
                +
                + +
                Return values
                + mixed + — +
                + + +
                +
                +

                + load_dependencies() + +

                + + +

                Load the required public-facing dependencies.

                + + + private + load_dependencies() : mixed + +

                Include the following files that provide the public-facing functionality +of this plugin:

                + +
                + + + +
                + Tags + +
                +
                +
                + since +
                +
                + 2.8.0 + +
                + +
                +
                + +
                Return values
                + mixed + — +
                + + +
                +
                + +
                +
                +
                +
                +

                Search results

                + +
                +
                +
                  +
                  +
                  +
                  +
                  +
                  + + +
                  + + + + diff --git a/docs/classes/Footnotes-Settings.html b/docs/classes/Footnotes-Settings.html index 21d0a2f..3733979 100644 --- a/docs/classes/Footnotes-Settings.html +++ b/docs/classes/Footnotes-Settings.html @@ -52,7 +52,11 @@

                  Namespaces

                  Global

                  -
                  +

                  footnotes

                  + +
                  @@ -70,7 +74,6 @@
                  @@ -83,12 +86,12 @@ -

                  Loads the settings values, sets to default values if undefined.

                  +

                  Class defining configurable plugin settings.

                  @@ -99,6 +102,15 @@
                  + subpackage +
                  +
                  + +

                  includes

                  +
                  + +
                  +
                  since
                  @@ -146,49 +158,49 @@  = 'footnote_inputfield_expert_lookup_the_content_priority_level' -
                  Settings container key for 'the_content' hook priority level.
                  +
                  Settings container key for `the_content` hook priority level.
                  C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL  = 'footnote_inputfield_expert_lookup_the_excerpt_priority_level'
                  -
                  Settings container key for 'the_excerpt' hook priority level.
                  +
                  Settings container key for `the_excerpt` hook priority level.
                  C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL  = 'footnote_inputfield_expert_lookup_the_title_priority_level'
                  -
                  Settings container key for 'the_title' hook priority level.
                  +
                  Settings container key for `the_title` hook priority level.
                  C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL  = 'footnote_inputfield_expert_lookup_widget_text_priority_level'
                  -
                  Settings container key for 'widget_text' hook priority level.
                  +
                  Settings container key for `widget_text` hook priority level.
                  C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL  = 'footnote_inputfield_expert_lookup_widget_title_priority_level'
                  -
                  Settings container key for 'widget_title' hook priority level.
                  +
                  Settings container key for `widget_title` hook priority level.
                  C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X  = 'footnotes_inputfield_alternative_mouse_over_box_offset_x'
                  -
                  Settings container key for alternative tooltip x offset.
                  +
                  Settings container key for alternative tooltip _x_-offset.
                  C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y  = 'footnotes_inputfield_alternative_mouse_over_box_offset_y'
                  -
                  Settings container key for alternative tooltip y offset.
                  +
                  Settings container key for alternative tooltip _y_-offset.
                  C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH @@ -216,7 +228,8 @@  = 'footnote_inputfield_custom_mouse_over_box_excerpt_length'
                  -
                  Settings container key for the mouse-over box to define the max. length of the enabled excerpt.
                  +
                  Settings container key for the mouse-over box to define the max. length of +the enabled excerpt.
                  C_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH @@ -230,28 +243,28 @@  = 'footnote_inputfield_custom_mouse_over_box_offset_x'
                  -
                  Settings container key for the mouse-over box to define the offset (x).
                  +
                  Settings container key for the mouse-over box to define the _x_-offset.
                  C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y  = 'footnote_inputfield_custom_mouse_over_box_offset_y'
                  -
                  Settings container key for the mouse-over box to define the offset (y).
                  +
                  Settings container key for the mouse-over box to define the _y_-offset.
                  C_INT_FOOTNOTES_SCROLL_DOWN_DELAY  = 'footnotes_inputfield_scroll_down_delay'
                  -
                  Settings container key for scroll down delay.
                  +
                  Settings container key for scroll-down delay.
                  C_INT_FOOTNOTES_SCROLL_DOWN_DURATION  = 'footnotes_inputfield_scroll_down_duration'
                  -
                  Settings container key for scroll down duration.
                  +
                  Settings container key for scroll-down duration.
                  C_INT_FOOTNOTES_SCROLL_DURATION @@ -272,7 +285,7 @@  = 'footnotes_inputfield_scroll_up_delay'
                  -
                  Settings container key for scroll up delay.
                  +
                  Settings container key for scroll-up delay.
                  C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY @@ -426,35 +439,35 @@  = 'footnote_inputfield_expert_lookup_the_content'
                  -
                  Settings container key to enable the 'the_content' hook.
                  +
                  Settings container key to enable the `the_content` hook.
                  C_STR_EXPERT_LOOKUP_THE_EXCERPT  = 'footnote_inputfield_expert_lookup_the_excerpt'
                  -
                  Settings container key to enable the 'the_excerpt' hook.
                  +
                  Settings container key to enable the `the_excerpt` hook.
                  C_STR_EXPERT_LOOKUP_THE_TITLE  = 'footnote_inputfield_expert_lookup_the_title'
                  -
                  Settings container key to enable the 'the_title' hook.
                  +
                  Settings container key to enable the `the_title` hook.
                  C_STR_EXPERT_LOOKUP_WIDGET_TEXT  = 'footnote_inputfield_expert_lookup_widget_text'
                  -
                  Settings container key to enable the 'widget_text' hook.
                  +
                  Settings container key to enable the `widget_text` hook.
                  C_STR_EXPERT_LOOKUP_WIDGET_TITLE  = 'footnote_inputfield_expert_lookup_widget_title'
                  -
                  Settings container key to enable the 'widget_title' hook.
                  +
                  Settings container key to enable the `widget_title` hook.
                  C_STR_FOOTNOTE_FRAGMENT_ID_SLUG @@ -566,7 +579,7 @@  = 'footnote_inputfield_love'
                  -
                  Settings container key for the 'I love footnotes' text.
                  +
                  Settings container key for the ‘I love footnotes’ text.
                  C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE @@ -657,7 +670,7 @@  = 'footnote_inputfield_placeholder_end'
                  -
                  Settings container key for the short code of the footnote’s end.
                  +
                  Settings container key for the short code of the footnote's end.
                  C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED @@ -671,7 +684,7 @@  = 'footnote_inputfield_placeholder_start'
                  -
                  Settings container key for the short code of the footnote’s start.
                  +
                  Settings container key for the short code of the footnote's start.
                  C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED @@ -706,14 +719,16 @@  = 'footnotes_inputfield_tooltip_excerpt_mirror_enable'
                  -
                  Settings container key to enable mirroring the tooltip excerpt in the reference container.
                  +
                  Settings container key to enable mirroring the tooltip excerpt in the +reference container.
                  C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR  = 'footnotes_inputfield_tooltip_excerpt_mirror_separator'
                  -
                  Settings container key to configure the tooltip excerpt separator in the reference container.
                  +
                  Settings container key to configure the tooltip excerpt separator in the +reference container.
                  C_STR_FOOTNOTES_TOOLTIP_READON_LABEL @@ -851,23 +866,23 @@
                  $a_arr_container -  : array<string|int, mixed> +  : array<string|int, string>
                  Contains all Settings Container names.
                  $a_arr_default -  : array<string|int, mixed> +  : array<string|int, string|int>
                  -
                  Contains all Default Settings for each Settings Container.
                  +
                  Contains all default values for each Settings Container.
                  $a_arr_settings -  : array<string|int, mixed> +  : array<string|int, string|int>
                  -
                  Contains all Settings from each Settings container as soon as this class is initialized.
                  +
                  Contains all Settings from each Settings Container.
                  $a_obj_instance @@ -877,18 +892,11 @@
                  Stores a singleton reference of this class.
                  - clear_all() - -  : mixed -
                  -
                  Deletes each Settings Container and loads the default values for each Settings Container.
                  - -
                  get() -  : mixed +  : string|int|null
                  -
                  Returns the value of specified Settings name.
                  +
                  Returns the value of specified Setting.
                  get_container() @@ -900,9 +908,9 @@
                  get_defaults() -  : array<string|int, mixed> +  : array<string|int, string|int>
                  -
                  Returns the default values of a specific Settings Container.
                  +
                  Returns the default value(s) of a specific Settings Container.
                  instance() @@ -916,28 +924,28 @@  : mixed
                  -
                  Register all Settings Container for the Plugin Settings Page in the Dashboard.
                  +
                  Register all Settings Containers for the plugin Settings Page in the Dashboard.
                  save_options()  : bool
                  -
                  Updates a whole Settings container.
                  +
                  Updates a whole Setting Container on save.
                  __construct()  : mixed
                  -
                  Class Constructor. Loads all Settings from each WordPress Settings container.
                  +
                  Loads all Settings from each WordPress Settings Container.
                  load() -  : array<string|int, mixed> +  : array<string|int, string|int>
                  -
                  Loads all settings from specified settings container.
                  +
                  Loads all settings from specified Settings Containers.
                  load_all() @@ -963,16 +971,16 @@

                  Settings container key for the scalar value of the tooltip font size.

                  public - flo + float C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR = 'footnotes_inputfield_mouse_over_box_font_size_scalar' @@ -1005,9 +1013,9 @@

                  Settings container key for the backlinks column max width scalar.

                  @@ -1047,9 +1055,9 @@

                  Settings container key for the backlinks column width scalar.

                  @@ -1089,12 +1097,12 @@ -

                  Settings container key for 'the_content' hook priority level.

                  +

                  Settings container key for `the_content` hook priority level.

                  public @@ -1104,9 +1112,17 @@ -
                    -
                  • Bugfix: Reference container: fix relative position through priority level, thanks to @june01 @imeson @spaceling bug reports, thanks to @spaceling code contribution.
                  • -
                  +

                  Priority level of the_content and of widget_text as the only relevant +hooks must be less than 99 because social buttons may yield scripts +that contain the strings ‘((’ and ‘))’ (i.e., the default footnote +start and end shortcodes), which causes issues with fake footnotes.

                  +

                  Setting the_content priority to 10 instead of PHP_INT_MAX makes the +footnotes reference container display beneath the post and above other +features added by other plugins, e.g. related post lists and social buttons.

                  +

                  For the YARPP plugin to display related posts below the Footnotes reference container, +priority needs to be at least 1,200.

                  +

                  PHP_INT_MAX cannot be reset by leaving the number box empty, because +WebKit browsers don't allow it, so we must resort to -1.

                  @@ -1116,103 +1132,6 @@
                  - contributor -
                  -
                  - -

                  @spaceling

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-the-position-5/#post-13608594 - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-the-position-5/ - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-the-position-5/#post-13538345 - -
                  -
                  - link -
                  -
                  -
                    -
                  • Bugfix: Dashboard: priority level setting for the_content hook, thanks to @imeson bug report.
                  • -
                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-the-position-5/#post-13538345 - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/code-showing-up-in-references/ - -
                  -
                  - link -
                  -
                  - https://github.com/Modernizr/Modernizr/issues/171 - -
                  -
                  - reporter -
                  -
                  - -

                  @june01

                  -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @imeson

                  -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @imeson

                  -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @marthalindeman

                  -
                  - -
                  -
                  since
                  @@ -1220,38 +1139,6 @@
                  -
                  -
                  - since -
                  -
                  - 2.1.1 - -
                    -
                  • Bugfix: Priority levels: set the_content priority level to 98 to prevent plugin conflict, thanks to @marthalindeman bug report.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 2.1.6 - -

                  Priority level of the_content and of widget_text as the only relevant -hooks must be less than 99 because social buttons may yield scripts -that contain the strings '((' and '))', i.e. the default footnote -start and end short codes, causing issues with fake footnotes.

                  -

                  Setting the_content priority to 10 instead of PHP_INT_MAX i.e. 9223372036854775807 -makes the footnotes reference container display beneath the post and above other -features added by other plugins, e.g. related post lists and social buttons.

                  -

                  For YARPP to display related posts below the Footnotes reference container, -priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =< 1200).

                  -

                  PHP_INT_MAX cannot be reset by leaving the number box empty. because browsers -(WebKit) don’t allow it, so we must resort to -1.

                  -
                  -
                  @@ -1263,12 +1150,12 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for 'the_excerpt' hook priority level.

                  +

                  Settings container key for `the_excerpt` hook priority level.

                  public @@ -1305,12 +1192,12 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for 'the_title' hook priority level.

                  +

                  Settings container key for `the_title` hook priority level.

                  public @@ -1320,10 +1207,7 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -
                    -
                  • Bugfix: Dashboard: priority level settings for all other hooks, thanks to @nikelaos bug report.
                  • -
                  -
                  +
                  @@ -1332,22 +1216,6 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l
                  - reporter -
                  -
                  - -

                  @nikelaos

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13676705 - -
                  -
                  since
                  @@ -1366,12 +1234,12 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for 'widget_text' hook priority level.

                  +

                  Settings container key for `widget_text` hook priority level.

                  public @@ -1408,12 +1276,12 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for 'widget_title' hook priority level.

                  +

                  Settings container key for `widget_title` hook priority level.

                  public @@ -1450,12 +1318,12 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for alternative tooltip x offset.

                  +

                  Settings container key for alternative tooltip _x_-offset.

                  public @@ -1492,12 +1360,12 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for alternative tooltip y offset.

                  +

                  Settings container key for alternative tooltip _y_-offset.

                  public @@ -1534,9 +1402,9 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l

                  Settings container key for alternative tooltip width.

                  @@ -1576,9 +1444,9 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l

                  Settings container key for the mouse-over box to define the border radius.

                  @@ -1607,16 +1475,6 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l
                  -
                  -
                  - since -
                  -
                  - 2.0.7 - -

                  The mouse over box corners mustn’t be rounded as that is outdated.

                  -
                  -
                  @@ -1628,9 +1486,9 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l

                  Settings container key for the mouse-over box to define the border width.

                  @@ -1670,12 +1528,13 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -

                  Settings container key for the mouse-over box to define the max. length of the enabled excerpt.

                  +

                  Settings container key for the mouse-over box to define the max. length of +the enabled excerpt.

                  public @@ -1685,7 +1544,8 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l -
                  +

                  The default truncation length is 200 chars.

                  +
                  @@ -1701,16 +1561,6 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l
                  - -
                  - since -
                  -
                  - 2.0.7 - -

                  Increase default truncation length from 150 to 200 chars.

                  -
                  -
                  @@ -1722,9 +1572,9 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l

                  Settings container key for the mouse-over box to define the max. width.

                  @@ -1737,7 +1587,9 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l
                  -
                  +

                  The width should be limited to start with, for the box to have shape.

                  +

                  The default width is 450.

                  +
                  @@ -1753,17 +1605,6 @@ priority needs to be at least 1200 (i.e. 0 =< $l_int_the_content_priority =&l
                  - -
                  - since -
                  -
                  - 2.0.7 - -

                  Set default width 450. -The width should be limited to start with, for the box to have shape.

                  -
                  -
                  @@ -1775,12 +1616,12 @@ The width should be limited to start with, for the box to have shape.

                  -

                  Settings container key for the mouse-over box to define the offset (x).

                  +

                  Settings container key for the mouse-over box to define the _x_-offset.

                  public @@ -1817,12 +1658,12 @@ The width should be limited to start with, for the box to have shape.

                  -

                  Settings container key for the mouse-over box to define the offset (y).

                  +

                  Settings container key for the mouse-over box to define the _y_-offset.

                  public @@ -1832,7 +1673,9 @@ The width should be limited to start with, for the box to have shape.

                  -
                  +

                  The vertical offset must be negative for the box not to cover the current +line of text.

                  +
                  @@ -1859,12 +1702,12 @@ The width should be limited to start with, for the box to have shape.

                  -

                  Settings container key for scroll down delay.

                  +

                  Settings container key for scroll-down delay.

                  public @@ -1901,12 +1744,12 @@ The width should be limited to start with, for the box to have shape.

                  -

                  Settings container key for scroll down duration.

                  +

                  Settings container key for scroll-down duration.

                  public @@ -1943,9 +1786,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for scroll duration.

                  @@ -1958,10 +1801,7 @@ The width should be limited to start with, for the box to have shape.

                  -
                    -
                  • Bugfix: Scroll duration: make configurable to conform to website content and style requirements.
                  • -
                  -
                  +
                  @@ -1988,9 +1828,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for scroll offset.

                  @@ -2003,10 +1843,7 @@ The width should be limited to start with, for the box to have shape.

                  -
                    -
                  • Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers.
                  • -
                  -
                  +
                  @@ -2033,12 +1870,12 @@ The width should be limited to start with, for the box to have shape.

                  -

                  Settings container key for scroll up delay.

                  +

                  Settings container key for scroll-up delay.

                  public @@ -2075,9 +1912,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for tooltip display fade-in delay.

                  @@ -2117,9 +1954,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for tooltip display fade-in duration.

                  @@ -2159,9 +1996,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for tooltip display fade-out delay.

                  @@ -2201,9 +2038,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for tooltip display fade-out duration.

                  @@ -2243,9 +2080,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for reference container bottom margin.

                  @@ -2258,10 +2095,7 @@ The width should be limited to start with, for the box to have shape.

                  -
                    -
                  • Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report.
                  • -
                  -
                  +
                  @@ -2270,22 +2104,6 @@ The width should be limited to start with, for the box to have shape.

                  - reporter -
                  -
                  - -

                  @hamshe

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635 - -
                  -
                  since
                  @@ -2304,9 +2122,9 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for reference container top margin.

                  @@ -2319,10 +2137,7 @@ The width should be limited to start with, for the box to have shape.

                  -
                    -
                  • Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report.
                  • -
                  -
                  +
                  @@ -2331,22 +2146,6 @@ The width should be limited to start with, for the box to have shape.

                  - reporter -
                  -
                  - -

                  @hamshe

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635 - -
                  -
                  since
                  @@ -2365,16 +2164,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key to enable a max width for the backlinks column.

                  public - str + string C_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED = 'footnotes_inputfield_backlinks_column_max_width_enabled' @@ -2407,16 +2206,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for the backlinks column max width unit.

                  public - str + string C_STR_BACKLINKS_COLUMN_MAX_WIDTH_UNIT = 'footnotes_inputfield_backlinks_column_max_width_unit' @@ -2449,16 +2248,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key to enable the backlinks column width.

                  public - str + string C_STR_BACKLINKS_COLUMN_WIDTH_ENABLED = 'footnotes_inputfield_backlinks_column_width_enabled' @@ -2491,16 +2290,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for the backlinks column width unit.

                  public - str + string C_STR_BACKLINKS_COLUMN_WIDTH_UNIT = 'footnotes_inputfield_backlinks_column_width_unit' @@ -2533,16 +2332,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key to enable line breaks between backlinks.

                  public - str + string C_STR_BACKLINKS_LINE_BREAKS_ENABLED = 'footnotes_inputfield_backlinks_line_breaks_enabled' @@ -2562,7 +2361,8 @@ The width should be limited to start with, for the box to have shape.

                  2.1.4 -
                  +

                  Whether a
                  tag is inserted.

                  +
                  @@ -2575,16 +2375,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for a custom backlink separator.

                  public - str + string C_STR_BACKLINKS_SEPARATOR_CUSTOM = 'footnotes_inputfield_backlinks_separator_custom' @@ -2617,24 +2417,23 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key to enable the presence of a backlink separator.

                  public - str + string C_STR_BACKLINKS_SEPARATOR_ENABLED = 'footnotes_inputfield_backlinks_separator_enabled' -
                    -
                  • Bugfix: Reference container: make separating and terminating punctuation optional and configurable, thanks to @docteurfitness issue report and code contribution.
                  • -
                  +

                  Backlink separators and terminators are often not preferred, but a choice +should be provided along with the ability to customize.

                  @@ -2644,22 +2443,6 @@ The width should be limited to start with, for the box to have shape.

                  - contributor -
                  -
                  - -

                  @docteurfitness

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/update-2-1-3/#post-13704194 - -
                  -
                  since
                  @@ -2678,16 +2461,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for the backlink separator options.

                  public - str + string C_STR_BACKLINKS_SEPARATOR_OPTION = 'footnotes_inputfield_backlinks_separator_option' @@ -2720,16 +2503,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for a custom backlink terminator.

                  public - str + string C_STR_BACKLINKS_TERMINATOR_CUSTOM = 'footnotes_inputfield_backlinks_terminator_custom' @@ -2762,16 +2545,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key to enable the presence of a backlink terminator.

                  public - str + string C_STR_BACKLINKS_TERMINATOR_ENABLED = 'footnotes_inputfield_backlinks_terminator_enabled' @@ -2804,16 +2587,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for the backlink terminator options.

                  public - str + string C_STR_BACKLINKS_TERMINATOR_OPTION = 'footnotes_inputfield_backlinks_terminator_option' @@ -2846,16 +2629,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for combining identical footnotes.

                  public - str + string C_STR_COMBINE_IDENTICAL_FOOTNOTES = 'footnote_inputfield_combine_identical' @@ -2888,16 +2671,16 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key for the Custom CSS.

                  public - str + string C_STR_CUSTOM_CSS = 'footnote_inputfield_custom_css' @@ -2919,16 +2702,6 @@ The width should be limited to start with, for the box to have shape.

                  -
                  -
                  - since -
                  -
                  - 1.3.0 - -

                  Adding: new settings tab for custom CSS settings.

                  -
                  -
                  @@ -2940,22 +2713,24 @@ The width should be limited to start with, for the box to have shape.

                  Settings container key to enable display of legacy Custom CSS metaboxes.

                  public - str + string C_STR_CUSTOM_CSS_LEGACY_ENABLE = 'footnote_inputfield_custom_css_legacy_enable' -
                  +

                  This must be false if its setting is contained in the container to be hidden +because when saving, all missing constants are emptied, and Footnotes_Convert::to_bool() converts empty to false.

                  +
                  @@ -2978,8 +2753,8 @@ The width should be limited to start with, for the box to have shape.

                  2.3.0 -

                  The Boolean must be false if its setting is contained in the container to be hidden, -because when saving, all missing constants are emptied, and to_bool() converts empty to false.

                  +

                  Swap migration Boolean, meaning ‘show legacy’ instead of +‘migration complete’, due to storage data structure constraints.

                  @@ -2993,25 +2768,22 @@ because when saving, all missing constants are emptied, and to_bool() converts e

                  Settings container key for the Custom CSS migrated to a dedicated tab.

                  public - str + string C_STR_CUSTOM_CSS_NEW = 'footnote_inputfield_custom_css_new' -
                    -
                  • Update: Dashboard: Custom CSS: unearth text area and migrate to dedicated tab as designed.
                  • -
                  -
                  +
                  @@ -3038,16 +2810,16 @@ because when saving, all missing constants are emptied, and to_bool() converts e
                  -

                  Settings container key to enable the 'the_content' hook.

                  +

                  Settings container key to enable the `the_content` hook.

                  public - str + string C_STR_EXPERT_LOOKUP_THE_CONTENT = 'footnote_inputfield_expert_lookup_the_content' @@ -3080,16 +2852,16 @@ because when saving, all missing constants are emptied, and to_bool() converts e -

                  Settings container key to enable the 'the_excerpt' hook.

                  +

                  Settings container key to enable the `the_excerpt` hook.

                  public - str + string C_STR_EXPERT_LOOKUP_THE_EXCERPT = 'footnote_inputfield_expert_lookup_the_excerpt' @@ -3104,23 +2876,20 @@ because when saving, all missing constants are emptied, and to_bool() converts e
                  + see +
                  +
                  + C_STR_FOOTNOTES_IN_EXCERPT + +
                  + +
                  +
                  since
                  1.5.5 -
                    -
                  • Bugfix: Hooks: disable the_excerpt hook by default to fix issues, thanks to @nikelaos bug report.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 2.1.3 -
                  @@ -3130,83 +2899,9 @@ because when saving, all missing constants are emptied, and to_bool() converts e
                  2.6.3 -

                  Enable by default after debugging the 'Footnotes in excerpts' setting.

                  -
                    -
                  • Bugfix: Hooks: default-disable the_excerpt hook with respect to theme-specific excerpt handling, thanks to @mmallett bug reports.
                  • -
                  +

                  Enable by default.

                  -
                  -
                  - since -
                  -
                  - 2.6.5 - -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @nikelaos

                  -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @mmallett

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13687068 - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/jquery-comes-up-in-feed-content/#post-13110879 - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13687068 - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/broken-662/ - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/update-crashed-my-website-3/#post-14260969 - -
                  -
                  - see -
                  -
                  - C_STR_FOOTNOTES_IN_EXCERPT - -
                  -
                  @@ -3218,22 +2913,27 @@ because when saving, all missing constants are emptied, and to_bool() converts e -

                  Settings container key to enable the 'the_title' hook.

                  +

                  Settings container key to enable the `the_title` hook.

                  public - str + string C_STR_EXPERT_LOOKUP_THE_TITLE = 'footnote_inputfield_expert_lookup_the_title' -
                  +

                  These are checkboxes; the keyword checked is converted to true, whilst +an empty string (the default) is converted to false.

                  +

                  Hooks should all be enabled by default to prevent users from thinking at +first that the feature is broken in post titles (see here for more +information).

                  +
                  @@ -3251,14 +2951,15 @@ because when saving, all missing constants are emptied, and to_bool() converts e
                  - link + todo
                  -

                  Yet in titles, footnotes are still buggy, because WordPress -uses the title string in menus and in the title element, but -Footnotes doesn’t delete footnotes therein.

                  -
                  - + +

                  In titles, footnotes are still buggy, because WordPress uses the +title string in menus and in the title element, but Footnotes doesn't +delete footnotes in them.

                  +
                  +
                  @@ -3270,22 +2971,26 @@ Footnotes doesn’t delete footnotes therein.

                  -

                  Settings container key to enable the 'widget_text' hook.

                  +

                  Settings container key to enable the `widget_text` hook.

                  public - str + string C_STR_EXPERT_LOOKUP_WIDGET_TEXT = 'footnote_inputfield_expert_lookup_widget_text' -
                  +

                  The widget_text hook must be disabled by default, because it causes +multiple reference containers to appear in Elementor accordions, but +it must be enabled if multiple reference containers are desired, as +in Elementor toggles.

                  +
                  @@ -3312,16 +3017,16 @@ Footnotes doesn’t delete footnotes therein.

                  -

                  Settings container key to enable the 'widget_title' hook.

                  +

                  Settings container key to enable the `widget_title` hook.

                  public - str + string C_STR_EXPERT_LOOKUP_WIDGET_TITLE = 'footnote_inputfield_expert_lookup_widget_title' @@ -3354,16 +3059,16 @@ Footnotes doesn’t delete footnotes therein.

                  Settings container key for the fragment ID slug in footnotes.

                  public - str + string C_STR_FOOTNOTE_FRAGMENT_ID_SLUG = 'footnotes_inputfield_footnote_fragment_id_slug' @@ -3396,23 +3101,22 @@ Footnotes doesn’t delete footnotes therein.

                  Settings container key to enable superscript style normalization.

                  public - str + string C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT = 'footnotes_inputfield_referrers_normal_superscript' -

                  -Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report.

                  -
                  +
                  @@ -3421,22 +3125,6 @@ Footnotes doesn’t delete footnotes therein.

                  - reporter -
                  -
                  - -

                  @tomturowski

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/in-line-superscript-ref-rides-to-high/ - -
                  -
                  since
                  @@ -3455,25 +3143,22 @@ Footnotes doesn’t delete footnotes therein.

                  Settings container key for the footnote section shortcode.

                  public - str + string C_STR_FOOTNOTE_SECTION_SHORTCODE = 'footnotes_inputfield_section_shortcode' -
                    -
                  • Adding: Reference container: optionally per section by shortcode, thanks to @grflukas issue report.
                  • -
                  -
                  +
                  @@ -3482,22 +3167,6 @@ Footnotes doesn’t delete footnotes therein.

                  - reporter -
                  -
                  - -

                  @grflukas

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/multiple-reference-containers-in-single-post/ - -
                  -
                  since
                  @@ -3516,16 +3185,16 @@ Footnotes doesn’t delete footnotes therein.

                  Settings container key to enable shortcode syntax validation.

                  public - str + string C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE = 'footnotes_inputfield_shortcode_syntax_validation_enable' @@ -3558,23 +3227,23 @@ Footnotes doesn’t delete footnotes therein.

                  Settings container key for URL wrap option.

                  public - str + string C_STR_FOOTNOTE_URL_WRAP_ENABLED = 'footnote_inputfield_url_wrap_enabled' -

                  This is made optional because it causes weird line breaks. -Unicode-compliant browsers break URLs at slashes.

                  +

                  This is made optional because it causes weird line breaks. Unicode-compliant +browsers break URLs at slashes.

                  @@ -3602,22 +3271,23 @@ Unicode-compliant browsers break URLs at slashes.

                  Settings container key for alternative tooltip position.

                  public - str + string C_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION = 'footnotes_inputfield_alternative_mouse_over_box_position' -
                  +

                  Fixed-width is for alternative tooltips, cannot reuse max-width nor offsets.

                  +
                  @@ -3644,27 +3314,22 @@ Unicode-compliant browsers break URLs at slashes.

                  Settings container key to enable AMP compatibility mode.

                  public - str + string C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE = 'footnotes_inputfield_amp_compatibility_enable' -
                    -
                  • Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution.
                  • -
                  • Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
                  • -
                  • Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
                  • -
                  -
                  +
                  @@ -3673,69 +3338,12 @@ Unicode-compliant browsers break URLs at slashes.

                  - contributor -
                  -
                  - -

                  @milindmore22

                  -
                  - -
                  -
                  - contributor -
                  -
                  - -

                  @westonruter

                  -
                  - -
                  -
                  - link -
                  -
                  - https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933 - -
                  -
                  - link -
                  -
                  - https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785419655 - -
                  -
                  - link -
                  -
                  - https://github.com/markcheret/footnotes/issues/48#issuecomment-799580854 - -
                  -
                  - link -
                  -
                  - https://github.com/markcheret/footnotes/issues/48#issuecomment-799582394 - -
                  -
                  - since -
                  -
                  - 2.5.11 - -

                  (draft)

                  -
                  - -
                  -
                  since
                  2.6.0 -

                  (release)

                  -
                  +
                  @@ -3748,24 +3356,26 @@ Unicode-compliant browsers break URLs at slashes.

                  Settings container key to enable backlink tooltips.

                  public - str + string C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE = 'footnotes_inputfield_backlink_tooltip_enable' -
                    -
                  • Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
                  • -
                  +

                  When hard links are enabled, clicks on the backlinks are logged in the +browsing history, along with clicks on the referrers. +This tooltip hints to use the backbutton instead, so the history gets +streamlined again. +See here for more information.

                  @@ -3775,29 +3385,6 @@ Unicode-compliant browsers break URLs at slashes.

                  - reporter -
                  -
                  - -

                  @theroninjedi47

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/ - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/making-it-amp-compatible/#post-13837359 - -
                  -
                  since
                  @@ -3816,25 +3403,22 @@ Unicode-compliant browsers break URLs at slashes.

                  Settings container key to configure the backlink tooltip.

                  public - str + string C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT = 'footnotes_inputfield_backlink_tooltip_text' -
                    -
                  • Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
                  • -
                  -
                  +
                  @@ -3843,22 +3427,6 @@ Unicode-compliant browsers break URLs at slashes.

                  - reporter -
                  -
                  - -

                  @theroninjedi47

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/ - -
                  -
                  since
                  @@ -3877,16 +3445,16 @@ Unicode-compliant browsers break URLs at slashes.

                  Settings container key for the counter style of the footnotes.

                  public - str + string C_STR_FOOTNOTES_COUNTER_STYLE = 'footnote_inputfield_counter_style' @@ -3919,24 +3487,22 @@ Unicode-compliant browsers break URLs at slashes.

                  Settings container key to enable CSS smooth scrolling.

                  public - str + string C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING = 'footnotes_inputfield_css_smooth_scrolling' -
                    -
                  • Update: Scrolling: CSS-based smooth scroll behavior (optional), thanks to @paulgpetty and @bogosavljev issue reports.
                  • -
                  +

                  Native smooth scrolling only works in recent browsers.

                  @@ -3946,38 +3512,6 @@ Unicode-compliant browsers break URLs at slashes.

                  - reporter -
                  -
                  - -

                  @paulgpetty

                  -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @bogosavljev

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/functionally-great/#post-13607795 - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/compatibility-issue-with-wpforms/#post-14214720 - -
                  -
                  since
                  @@ -3989,29 +3523,31 @@ Unicode-compliant browsers break URLs at slashes.

                  -
                  +

                  C_STR_FOOTNOTES_EXPERT_MODE

                  Settings container key for the Expert mode.

                  - + public - str + string C_STR_FOOTNOTES_EXPERT_MODE = 'footnote_inputfield_enable_expert_mode' -
                  +

                  Since the removal of the the_post hook, the tab is no danger zone any longer. +All users, not experts only, need to be able to control relative positioning.

                  +
                  @@ -4034,9 +3570,24 @@ Unicode-compliant browsers break URLs at slashes.

                  2.1.6 -

                  This setting removed as irrelevant since priority level settings need permanent visibility.

                  -

                  Since the removal of the the_post hook, the tab is no danger zone any longer. -All users, not experts only, need to be able to control relative positioning.

                  +

                  Setting deprecated.

                  +
                  + +
                  +
                  + deprecated +
                  +
                  + +
                  + +
                  +
                  + todo +
                  +
                  + +

                  Un-deprecate.

                  @@ -4050,24 +3601,22 @@ All users, not experts only, need to be able to control relative positioning.

                  Settings container key to enable hard links.

                  public - str + string C_STR_FOOTNOTES_HARD_LINKS_ENABLE = 'footnotes_inputfield_hard_links_enable' -
                    -
                  • Adding: Referrers and backlinks: optional hard links for AMP compatibility, thanks to @psykonevro issue report, thanks to @martinneumannat issue report and code contribution.
                  • -
                  +

                  When the alternative reference container is enabled, hard links are too.

                  @@ -4077,38 +3626,6 @@ All users, not experts only, need to be able to control relative positioning.

                  - contributor -
                  -
                  - -

                  @martinneumannat

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/making-it-amp-compatible/ - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/footnotes-is-not-amp-compatible/ - -
                  -
                  - reporter -
                  -
                  - -

                  @psykonevro

                  -
                  - -
                  -
                  since
                  @@ -4127,7 +3644,7 @@ All users, not experts only, need to be able to control relative positioning.

                  @@ -4136,7 +3653,7 @@ All users, not experts only, need to be able to control relative positioning.

                  public - str + string C_STR_FOOTNOTES_IN_EXCERPT = 'footnote_inputfield_search_in_excerpt'
                  @@ -4151,6 +3668,15 @@ All users, not experts only, need to be able to control relative positioning.

                  + see +
                  +
                  + C_STR_EXPERT_LOOKUP_THE_EXCERPT + +
                  + +
                  +
                  since
                  @@ -4162,59 +3688,12 @@ All users, not experts only, need to be able to control relative positioning.

                  since -
                  - 2.6.2 - -

                  Debug No option.

                  -
                  - -
                  -
                  - since -
                  2.6.3 -

                  Enable by default after debugging both Yes and No options.

                  -
                    -
                  • Bugfix: Excerpts: make excerpt handling backward compatible, thanks to @mfessler bug report.
                  • -
                  +

                  Enabled by default.

                  -
                  -
                  - since -
                  -
                  - 2.7.0 - -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @mfessler

                  -
                  - -
                  -
                  - link -
                  -
                  - https://github.com/markcheret/footnotes/issues/65 - -
                  -
                  - see -
                  -
                  - C_STR_EXPERT_LOOKUP_THE_EXCERPT - -
                  -
                  @@ -4226,22 +3705,27 @@ All users, not experts only, need to be able to control relative positioning.

                  Settings container key to set the solution of the input element label issue.

                  public - str + string C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION = 'footnotes_inputfield_label_issue_solution' -
                  +

                  If hard links are not enabled, clicking a referrer in an input element label +toggles the state of the input element the label is connected to. +Beside hard links, other solutions include moving footnotes off the label and +append them, or disconnecting this label from the input element (discouraged). +See here for more information.

                  +
                  @@ -4259,11 +3743,13 @@ All users, not experts only, need to be able to control relative positioning.

                  - link + todo
                  - https://wordpress.org/support/topic/compatibility-issue-with-wpforms/#post-14212318 - + +

                  Review, remove?

                  +
                  +
                  @@ -4275,16 +3761,16 @@ All users, not experts only, need to be able to control relative positioning.

                  -

                  Settings container key for the 'I love footnotes' text.

                  +

                  Settings container key for the ‘I love footnotes’ text.

                  public - str + string C_STR_FOOTNOTES_LOVE = 'footnote_inputfield_love' @@ -4317,24 +3803,25 @@ All users, not experts only, need to be able to control relative positioning.

                  Settings container key to enable the alternative tooltips.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE = 'footnote_inputfield_custom_mouse_over_box_alternative' -
                    -
                  • Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback.
                  • -
                  +

                  These alternative tooltips work around a website-related jQuery UI +outage. They are low-script but use the AMP-incompatible onmouseover +and onmouseout arguments, along with CSS transitions for fade-in/out. +The very small script is inserted after the plugin's internal stylesheet.

                  @@ -4344,22 +3831,6 @@ All users, not experts only, need to be able to control relative positioning.

                  - reporter -
                  -
                  - -

                  @andreasra

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/footnotes-appearing-in-header/page/2/#post-13632566 - -
                  -
                  since
                  @@ -4378,22 +3849,25 @@ All users, not experts only, need to be able to control relative positioning.

                  Settings container key for the mouse-over box to define the background color.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND = 'footnote_inputfield_custom_mouse_over_box_background' -
                  +

                  Theme default background color is best, but theme default background color +doesn't seem to exist.

                  +

                  The default is currently #ffffff with #000000 as the text color.

                  +
                  @@ -4402,94 +3876,6 @@ All users, not experts only, need to be able to control relative positioning.

                  - since -
                  -
                  - 1.5.6 - -
                  - -
                  -
                  - since -
                  -
                  - 1.2.5..1.5.5 - -

                  #fff7a7 hard-coded.

                  -
                  - -
                  -
                  - since -
                  -
                  - 1.5.6..2.0.6 - -

                  #fff7a7 setting default. -The mouse over box shouldn’t feature a colored background. -By default, due to diverging user preferences. White is neutral.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.0.7..2.5.10 - -

                  #ffffff setting default.

                  -
                    -
                  • Bugfix: Tooltips: Styling: Background color: empty default value to adopt theme background, thanks to 4msc bug report.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 2.5.11 - -

                  Theme default background color is best. -But theme default background color doesn’t seem to exist.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.6.1 - -

                  default #ffffff again along with #000000 as font color.

                  -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @4msc

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/tooltip-not-showing-on-dark-theme-with-white-text/ - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/problem-with-footnotes-in-excerpts-of-the-blog-page/#post-14241849 - -
                  -
                  see
                  @@ -4497,6 +3883,15 @@ But theme default background color doesn’t seem to exist.

                  +
                  +
                  + since +
                  +
                  + 1.5.6 + +
                  +
                  @@ -4508,16 +3903,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the mouse-over box to define the border color.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR = 'footnote_inputfield_custom_mouse_over_box_border_color' @@ -4550,16 +3945,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the mouse-over box to define the color.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR = 'footnote_inputfield_custom_mouse_over_box_color' @@ -4574,43 +3969,6 @@ But theme default background color doesn’t seem to exist.

                  - since -
                  -
                  - 1.5.6 - -
                    -
                  • Bugfix: Tooltips: Styling: Font color: set to black for maximum contrast with respect to white default background, thanks to 4msc bug report.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 2.6.1 - -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @4msc

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/tooltip-not-showing-on-dark-theme-with-white-text/ - -
                  -
                  see
                  @@ -4618,6 +3976,15 @@ But theme default background color doesn’t seem to exist.

                  +
                  +
                  + since +
                  +
                  + 1.5.6 + +
                  +
                  @@ -4629,16 +3996,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key to enable the mouse-over box.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED = 'footnote_inputfield_custom_mouse_over_box_enabled' @@ -4671,16 +4038,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key to enable tooltip truncation.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED = 'footnote_inputfield_custom_mouse_over_box_excerpt_enabled' @@ -4702,6 +4069,17 @@ But theme default background color doesn’t seem to exist.

                  +
                  +
                  + todo +
                  +
                  + +

                  The mouse-over content truncation should be enabled by default to raise +awareness of the functionality, prevent the screen from being filled on +mouse-over, and allow the use of ‘Continue Reading’ functionality.

                  +
                  +
                  @@ -4713,22 +4091,25 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the mouse-over box to define the position.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION = 'footnote_inputfield_custom_mouse_over_box_position' -
                  +

                  The default position should not be lateral because of the risk +the box gets squeezed between note anchor at line end and window edge, +and top because reading at the bottom of the window is more likely.

                  +
                  @@ -4755,16 +4136,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the mouse-over box to define the box-shadow color.

                  public - str + string C_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR = 'footnote_inputfield_custom_mouse_over_box_shadow_color' @@ -4797,22 +4178,23 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for basic responsive page layout support options.

                  public - str + string C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT = 'footnotes_inputfield_page_layout_support' -
                  +

                  Whether to concatenate an additional stylesheet.

                  +
                  @@ -4839,25 +4221,22 @@ But theme default background color doesn’t seem to exist.

                  Settings container key to select the script mode for the reference container.

                  public - str + string C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE = 'footnotes_inputfield_reference_container_script_mode' -
                    -
                  • Bugfix: Reference container: optional alternative expanding and collapsing without jQuery for use with hard links, thanks to @hopper87it @pkverma99 issue reports.
                  • -
                  -
                  +
                  @@ -4866,22 +4245,6 @@ But theme default background color doesn’t seem to exist.

                  - reporter -
                  -
                  - -

                  @hopper87it

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/footnotes-wp-rocket/ - -
                  -
                  since
                  @@ -4900,25 +4263,22 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the referrer element.

                  public - str + string C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS = 'footnotes_inputfield_referrer_superscript_tags' -
                    -
                  • Bugfix: Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report.
                  • -
                  -
                  +
                  @@ -4927,22 +4287,6 @@ But theme default background color doesn’t seem to exist.

                  - reporter -
                  -
                  - -

                  @cwbayer

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/footnote-number-in-text-superscript-disrupts-leading/ - -
                  -
                  since
                  @@ -4961,16 +4305,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for scroll duration asymmetricity.

                  public - str + int C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY = 'footnotes_inputfield_scroll_duration_asymmetricity' @@ -5003,16 +4347,16 @@ But theme default background color doesn’t seem to exist.

                  -

                  Settings container key for the short code of the footnote’s end.

                  +

                  Settings container key for the short code of the footnote's end.

                  public - str + string C_STR_FOOTNOTES_SHORT_CODE_END = 'footnote_inputfield_placeholder_end' @@ -5045,16 +4389,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the user-defined short code of the footnotes end.

                  public - str + string C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED = 'footnote_inputfield_placeholder_end_user_defined' @@ -5087,16 +4431,16 @@ But theme default background color doesn’t seem to exist.

                  -

                  Settings container key for the short code of the footnote’s start.

                  +

                  Settings container key for the short code of the footnote's start.

                  public - str + string C_STR_FOOTNOTES_SHORT_CODE_START = 'footnote_inputfield_placeholder_start' @@ -5129,16 +4473,16 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the user-defined short code of the footnotes start.

                  public - str + string C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED = 'footnote_inputfield_placeholder_start_user_defined' @@ -5171,7 +4515,7 @@ But theme default background color doesn’t seem to exist.

                  @@ -5180,7 +4524,7 @@ But theme default background color doesn’t seem to exist.

                  public - str + string C_STR_FOOTNOTES_STYLING_AFTER = 'footnote_inputfield_custom_styling_after' @@ -5213,22 +4557,26 @@ But theme default background color doesn’t seem to exist.

                  Settings container key for the string before the footnote referrer.

                  public - str + string C_STR_FOOTNOTES_STYLING_BEFORE = 'footnote_inputfield_custom_styling_before' -
                  +

                  The default footnote referrer surroundings should be square brackets, as +in English or US American typesetting, for better UX thanks to a more +button-like appearance, as well as for stylistic consistency with the +expand-collapse button.

                  +
                  @@ -5255,26 +4603,27 @@ But theme default background color doesn’t seem to exist.

                  Settings container key to configure the tooltip excerpt delimiter.

                  public - str + string C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER = 'footnotes_inputfield_tooltip_excerpt_delimiter' -
                    -
                  • Update: Tooltips: ability to display dedicated content before [[/tooltip]], thanks to @jbj2199 issue report.
                  • -
                  -

                  The first implementation used a fixed shortcode provided in the changelog. -But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  +

                  The first implementation used a fixed shortcode provided in the changelog, +but footnotes should have freely-configurable shortcodes.

                  +

                  Tooltips can display another content than the footnote entry in the +reference container. The trigger is a shortcode in the footnote text +separating the tooltip text from the note. That is consistent with what +WordPress does for excerpts.

                  @@ -5284,22 +4633,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @jbj2199

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-tooltip-text/ - -
                  -
                  since
                  @@ -5318,22 +4651,26 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  -

                  Settings container key to enable mirroring the tooltip excerpt in the reference container.

                  +

                  Settings container key to enable mirroring the tooltip excerpt in the +reference container.

                  public - str + string C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE = 'footnotes_inputfield_tooltip_excerpt_mirror_enable' -
                  +

                  Tooltips, even jQuery-driven, may be hard to consult on mobiles. +This option allows users to read the tooltip content in the reference +container too. See here for more information, and here for why this must not be the default behavior.

                  +
                  @@ -5349,21 +4686,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  -
                  -
                  - link -
                  -
                  -

                  But this must not be the default behavior.

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-tooltip-text/#post-13935488 -
                  @@ -5375,16 +4697,17 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  -

                  Settings container key to configure the tooltip excerpt separator in the reference container.

                  +

                  Settings container key to configure the tooltip excerpt separator in the +reference container.

                  public - str + string C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR = 'footnotes_inputfield_tooltip_excerpt_mirror_separator' @@ -5417,25 +4740,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the label of the Read-on button in truncated tooltips.

                  public - str + string C_STR_FOOTNOTES_TOOLTIP_READON_LABEL = 'footnote_inputfield_readon_label' -
                    -
                  • Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision.
                  • -
                  -
                  +
                  @@ -5444,22 +4764,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @rovanov

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/offset-x-axis-and-offset-y-axis-does-not-working/ - -
                  -
                  since
                  @@ -5478,16 +4782,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the ID separator in fragment IDs.

                  public - str + string C_STR_HARD_LINK_IDS_SEPARATOR = 'footnotes_inputfield_hard_link_ids_separator' @@ -5520,16 +4824,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the backlink symbol selection.

                  public - str + string C_STR_HYPERLINK_ARROW = 'footnote_inputfield_custom_hyperlink_symbol' @@ -5549,36 +4853,8 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  1.5.0 -
                    -
                  • Update: Restore arrow settings to customize or disable the now prepended arrow symbol, thanks to @mmallett issue report.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 2.0.4 -
                  -
                  -
                  - reporter -
                  -
                  - -

                  @mmallett

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/mouse-over-broken/#post-13593037 -
                  @@ -5590,16 +4866,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the user-defined backlink symbol.

                  public - str + string C_STR_HYPERLINK_ARROW_USER_DEFINED = 'footnote_inputfield_custom_hyperlink_symbol_user' @@ -5632,82 +4908,21 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the link element option.

                  public - str + string C_STR_LINK_ELEMENT_ENABLED = 'footnote_inputfield_link_element_enabled' -
                    -
                  • Bugfix: Referrers and backlinks: Styling: make link elements optional to fix issues, thanks to @docteurfitness issue report and code contribution.
                  • -
                  -
                  - - -
                  - Tags - -
                  -
                  -
                  - contributor -
                  -
                  - -

                  @docteurfitness

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/update-2-1-3/#post-13704194 - -
                  -
                  - since -
                  -
                  - 2.1.4 - -
                  - -
                  -
                  - - -
                  -

                  - C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED - -

                  - - - -

                  Settings container key to enable setting the tooltip font size.

                  - - - public - str - C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED - = 'footnotes_inputfield_mouse_over_box_font_size_enabled' - - -
                  @@ -5727,6 +4942,51 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  + +
                  +

                  + C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED + +

                  + + + +

                  Settings container key to enable setting the tooltip font size.

                  + + + public + string + C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED + = 'footnotes_inputfield_mouse_over_box_font_size_enabled' + + + +
                  + + +
                  + Tags + +
                  +
                  +
                  + since +
                  +
                  + 2.1.4 + +

                  Tooltip font size reset to legacy by default since 2.1.4; +Was set to inherit since 2.1.1 as it overrode custom CSS, +Called mouse over box not tooltip for consistency.

                  +
                  + +
                  +
                  +

                  @@ -5735,16 +4995,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the unit of the tooltip font size.

                  public - str + string C_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT = 'footnotes_inputfield_mouse_over_box_font_size_unit' @@ -5777,25 +5037,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to enable the legacy layout of the reference container.

                  public - str + string C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE = 'footnotes_inputfield_reference_container_3column_layout_enable' -
                    -
                  • Bugfix: Reference container: option to restore pre-2.0.0 layout with the backlink symbol in an extra column.
                  • -
                  -
                  +
                  @@ -5822,25 +5079,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to enable the display of a backlink symbol.

                  public - str + string C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE = 'footnotes_inputfield_reference_container_backlink_symbol_enable' -
                    -
                  • Bugfix: Reference container: Backlink symbol: make optional, not suggest configuring it to invisible, thanks to @spaceling feedback.
                  • -
                  -
                  +
                  @@ -5849,22 +5103,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @spaceling

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-the-position-5/page/2/#post-13671138 - -
                  -
                  since
                  @@ -5883,25 +5121,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to get the backlink symbol switch side.

                  public - str + string C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH = 'footnotes_inputfield_reference_container_backlink_symbol_switch' -
                    -
                  • Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution.
                  • -
                  -
                  +
                  @@ -5910,22 +5145,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - contributor -
                  -
                  - -

                  @spaceling

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/change-the-position-5/#post-13615994 - -
                  -
                  since
                  @@ -5944,22 +5163,23 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to collapse the reference container by default.

                  public - str + string C_STR_REFERENCE_CONTAINER_COLLAPSE = 'footnote_inputfield_collapse_references' -
                  +

                  The string is converted to Boolean false if 'no', true if 'yes'.

                  +
                  @@ -5977,12 +5197,12 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - see + todo
                  - Footnotes_Convert::to_bool() - -
                  + +

                  Refactor to use sane typing.

                  +
                  @@ -5995,25 +5215,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to enable the reference container label bottom border.

                  public - str + string C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER = 'footnotes_inputfield_reference_container_label_bottom_border' -
                    -
                  • Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
                  • -
                  -
                  +
                  @@ -6022,22 +5239,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @markhillyer

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ - -
                  -
                  since
                  @@ -6056,25 +5257,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the reference container label element.

                  public - str + string C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT = 'footnotes_inputfield_reference_container_label_element' -
                    -
                  • Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
                  • -
                  -
                  +
                  @@ -6083,22 +5281,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @markhillyer

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ - -
                  -
                  since
                  @@ -6117,16 +5299,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the label of the reference container.

                  public - str + string C_STR_REFERENCE_CONTAINER_NAME = 'footnote_inputfield_references_label' @@ -6159,16 +5341,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the position of the reference container.

                  public - str + string C_STR_REFERENCE_CONTAINER_POSITION = 'footnote_inputfield_reference_container_place' @@ -6201,25 +5383,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for reference container position shortcode.

                  public - str + string C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE = 'footnote_inputfield_reference_container_position_shortcode' -
                    -
                  • Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report.
                  • -
                  -
                  +
                  @@ -6228,22 +5407,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @hamshe

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/reference-container-in-elementor/ - -
                  -
                  since
                  @@ -6262,25 +5425,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to enable reference container table row borders.

                  public - str + string C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE = 'footnotes_inputfield_reference_container_row_borders_enable' -
                    -
                  • Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report.
                  • -
                  -
                  +
                  @@ -6289,22 +5449,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @noobishh

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/borders-25/ - -
                  -
                  since
                  @@ -6323,25 +5467,22 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key to not display the reference container on the homepage.

                  public - str + string C_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE = 'footnotes_inputfield_reference_container_start_page_enable' -
                    -
                  • Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report.
                  • -
                  -
                  +
                  @@ -6350,22 +5491,6 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  - reporter -
                  -
                  - -

                  @dragon013

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/possible-to-hide-it-from-start-page/ - -
                  -
                  since
                  @@ -6384,16 +5509,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Settings container key for the fragment ID slug in referrers.

                  public - str + string C_STR_REFERRER_FRAGMENT_ID_SLUG = 'footnotes_inputfield_referrer_fragment_id_slug' @@ -6441,20 +5566,21 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Contains all Settings Container names.

                  private - array<string|int, mixed> + array<string|int, string> $a_arr_container = array('footnotes_storage', 'footnotes_storage_custom', 'footnotes_storage_expert', 'footnotes_storage_custom_css') -
                  +

                  These are the storage container names, one per dashboard tab.

                  +
                  @@ -6488,16 +5614,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  -

                  Contains all Default Settings for each Settings Container.

                  +

                  Contains all default values for each Settings Container.

                  private - array<string|int, mixed> + array<string|int, string|int> $a_arr_default = array( // General settings. @@ -6649,6 +5775,15 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  + see +
                  +
                  + +

                  C_STR_*

                  +
                  + +
                  +
                  since
                  @@ -6656,6 +5791,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  +
                  +
                  + todo +
                  +
                  + +

                  Review. Why are the constants just initialised with these values? +At the very least, we should stop using ‘yes’ to mean true etc.

                  +
                  +
                  @@ -6674,16 +5819,16 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  -

                  Contains all Settings from each Settings container as soon as this class is initialized.

                  +

                  Contains all Settings from each Settings Container.

                  private - array<string|int, mixed> + array<string|int, string|int> $a_arr_settings = array() @@ -6721,9 +5866,9 @@ But Footnotes’ UI design policy is to make shortcodes freely configurable.

                  Stores a singleton reference of this class.

                  @@ -6767,84 +5912,22 @@ ull
                  -method -public " -> -

                  - clear_all() - -

                  - - -

                  Deletes each Settings Container and loads the default values for each Settings Container.

                  - - - public - clear_all() : mixed - -
                  - - - -
                  - Tags - -
                  -
                  -
                  - since -
                  -
                  - 1.5.0 - -

                  Edit: This didn’t actually work.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.2.0 - -

                  this function is not called any longer when deleting the plugin, -to protect user data against loss, since manually updating a plugin is safer -done by deleting and reinstalling (see the warning about database backup).

                  -
                  - -
                  -
                  - -
                  Return values
                  - mixed - — -
                  - - -
                  -

                  get()

                  -

                  Returns the value of specified Settings name.

                  +

                  Returns the value of specified Setting.

                  public - get(string $p_str_key) : mixed + get(string $p_str_key) : string|int|null
                  @@ -6855,7 +5938,7 @@ done by deleting and reinstalling (see the warning about database backup).

                  : string
                  -

                  Settings Array Key name.

                  +

                  Setting key.

                  @@ -6879,9 +5962,9 @@ done by deleting and reinstalling (see the warning about database backup).

                  Return values
                  - mixed + string|int|null — -

                  Value of the Setting on Success or Null in Settings name is invalid.

                  +

                  Setting value, or null if setting key is invalid.

                  @@ -6897,9 +5980,9 @@ done by deleting and reinstalling (see the warning about database backup).

                  Returns the name of a specified Settings Container.

                  @@ -6917,7 +6000,7 @@ done by deleting and reinstalling (see the warning about database backup).

                  : int
                  -

                  Settings Container Array Key Index.

                  +

                  Settings Container index.

                  @@ -6959,16 +6042,16 @@ done by deleting and reinstalling (see the warning about database backup).

                  -

                  Returns the default values of a specific Settings Container.

                  +

                  Returns the default value(s) of a specific Settings Container.

                  public - get_defaults(int $p_int_index) : array<string|int, mixed> + get_defaults(int $p_int_index) : array<string|int, string|int>
                  @@ -6979,7 +6062,7 @@ done by deleting and reinstalling (see the warning about database backup).

                  : int
                  -

                  Settings Container Aray Key Index.

                  +

                  Settings Container index.

                  @@ -7003,9 +6086,10 @@ done by deleting and reinstalling (see the warning about database backup).

                  Return values
                  - array<string|int, mixed> + array<string|int, string|int> — -
                  +

                  Settings Container default value(s).

                  +
                  @@ -7020,9 +6104,9 @@ done by deleting and reinstalling (see the warning about database backup).

                  Returns a singleton of this class.

                  @@ -7048,6 +6132,15 @@ done by deleting and reinstalling (see the warning about database backup).

                  +
                  +
                  + todo +
                  +
                  + +

                  Remove?

                  +
                  +
                  @@ -7069,18 +6162,18 @@ done by deleting and reinstalling (see the warning about database backup).

                  -

                  Register all Settings Container for the Plugin Settings Page in the Dashboard.

                  +

                  Register all Settings Containers for the plugin Settings Page in the Dashboard.

                  public register_settings() : mixed -

                  Settings Container Label will be the same as the Settings Container Name.

                  +

                  The Settings Container label will be the same as the Settings Container name.

                  @@ -7119,12 +6212,12 @@ done by deleting and reinstalling (see the warning about database backup).

                  -

                  Updates a whole Settings container.

                  +

                  Updates a whole Setting Container on save.

                  public @@ -7139,7 +6232,7 @@ done by deleting and reinstalling (see the warning about database backup).

                  : int
                  -

                  Index of the Settings container.

                  +

                  Index of the Setting Container.

                  @@ -7148,7 +6241,7 @@ done by deleting and reinstalling (see the warning about database backup).

                  : array<string|int, mixed>
                  -

                  new Settings.

                  +

                  The new Settings value(s).

                  @@ -7189,12 +6282,12 @@ done by deleting and reinstalling (see the warning about database backup).

                  -

                  Class Constructor. Loads all Settings from each WordPress Settings container.

                  +

                  Loads all Settings from each WordPress Settings Container.

                  private @@ -7238,16 +6331,16 @@ done by deleting and reinstalling (see the warning about database backup).

                  -

                  Loads all settings from specified settings container.

                  +

                  Loads all settings from specified Settings Containers.

                  private - load(int $p_int_index) : array<string|int, mixed> + load(int $p_int_index) : array<string|int, string|int>
                  @@ -7258,7 +6351,7 @@ done by deleting and reinstalling (see the warning about database backup).

                  : int
                  -

                  Settings container array key index.

                  +

                  Settings container index.

                  @@ -7276,43 +6369,15 @@ done by deleting and reinstalling (see the warning about database backup).

                  1.5.0 -
                    -
                  • Bugfix: Removed the 'trim' function to allow leading and trailing whitespace in settings text boxes, thanks to @compasscare bug report.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 1.5.2 -
                  -
                  -
                  - reporter -
                  -
                  - -

                  @compasscare

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/leading-space-in-footnotes-tag/ -
                  Return values
                  - array<string|int, mixed> + array<string|int, string|int> — -

                  Settings loaded from defaults if container is empty (first usage).

                  +

                  Loaded settings (or defaults if specified container is empty).

                  @@ -7328,9 +6393,9 @@ done by deleting and reinstalling (see the warning about database backup).

                  Loads all Settings from each Settings container.

                  diff --git a/docs/classes/Footnotes-Task.html b/docs/classes/Footnotes-Task.html index 81f562b..a2daae5 100644 --- a/docs/classes/Footnotes-Task.html +++ b/docs/classes/Footnotes-Task.html @@ -51,9 +51,18 @@

                  Namespaces

                  -

                  Global

                  -
                  +
                  +
                  +

                  Packages

                  +

                  footnotes

                  + +

                  Default

                  +

                  Reports

                  @@ -78,14 +87,20 @@ Footnotes_Task +
                  + in package + +

                  Searches and replaces the footnotes and generates the reference container.

                  @@ -275,6 +290,13 @@
                  The slug and identifier separator.
                  + __construct() + +  : mixed +
                  +
                  Initialize the class and set its properties.
                  + +
                  exec()  : string @@ -398,9 +420,9 @@

                  Contains all footnotes found in the searched content.

                  @@ -445,9 +467,9 @@

                  Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.

                  @@ -492,9 +514,9 @@

                  Hard links for AMP compatibility.

                  @@ -612,9 +634,9 @@

                  Whether to mirror the tooltip text in the reference container.

                  @@ -659,9 +681,9 @@

                  Footnote delimiter syntax validation enabled.

                  @@ -709,9 +731,9 @@

                  Autoload a.k.a. infinite scroll, or archive view.

                  @@ -791,9 +813,9 @@

                  Multiple reference containers in content and widgets.

                  @@ -864,9 +886,9 @@

                  Scroll offset.

                  @@ -942,9 +964,9 @@

                  The tooltip delimiter shortcode length.

                  @@ -989,9 +1011,9 @@

                  Footnote delimiter end short code.

                  @@ -1047,9 +1069,9 @@

                  Footnote delimiter end short code in regex format.

                  @@ -1105,9 +1127,9 @@

                  The footnote slug.

                  @@ -1152,9 +1174,9 @@

                  The closing tag.

                  @@ -1199,9 +1221,9 @@

                  The opening tag.

                  @@ -1246,9 +1268,9 @@

                  The span element name.

                  @@ -1293,9 +1315,9 @@

                  Contains the concatenated fragment ID base.

                  @@ -1340,9 +1362,9 @@

                  Prefix for the Footnote html element ID.

                  @@ -1387,9 +1409,9 @@

                  The referrer slug.

                  @@ -1434,9 +1456,9 @@

                  Footnote delimiter start short code.

                  @@ -1492,9 +1514,9 @@

                  Footnote delimiter start short code in regex format.

                  @@ -1550,9 +1572,9 @@

                  The tooltip delimiter shortcode.

                  @@ -1597,9 +1619,9 @@

                  The slug and identifier separator.

                  @@ -1642,15 +1664,64 @@ -method -public " +> +

                  + __construct() + +

                  + + +

                  Initialize the class and set its properties.

                  + + + public + __construct() : mixed + +
                  + + + +
                  + Tags + +
                  +
                  +
                  + since +
                  +
                  + 2.8.0 + +
                  + +
                  +
                  + +
                  Return values
                  + mixed + — +
                  + + + +

                  exec()

                  Replaces all footnotes that occur in the given content.

                  @@ -1727,9 +1798,9 @@

                  Replaces footnotes in the content of the current page/post.

                  @@ -1817,9 +1888,9 @@

                  Processes existing excerpt or replaces it with a new one generated on the basis of the post.

                  @@ -1930,9 +2001,9 @@ Default 'manual' is fallback and is backward compatible with the initial setup.<

                  Replaces footnotes in the post/page title.

                  @@ -1992,9 +2063,9 @@ Default 'manual' is fallback and is backward compatible with the initial setup.<

                  Replaces footnotes in the content of the current widget.

                  @@ -2054,9 +2125,9 @@ Default 'manual' is fallback and is backward compatible with the initial setup.<

                  Replaces footnotes in the widget title.

                  @@ -2116,9 +2187,9 @@ Default 'manual' is fallback and is backward compatible with the initial setup.<

                  Displays the 'LOVE FOOTNOTES' slug if enabled.

                  @@ -2175,9 +2246,9 @@ Default 'manual' is fallback and is backward compatible with the initial setup.<

                  Outputs the custom css to the header of the public page.

                  @@ -2314,9 +2385,9 @@ Default 'manual' is fallback and is backward compatible with the initial setup.<

                  Generates excerpt on the basis of the post.

                  @@ -2449,9 +2520,9 @@ Applies full WordPress excerpt processing.

                  Generates excerpt with footnotes on the basis of the post.

                  @@ -2631,9 +2702,9 @@ Does not apply full WordPress excerpt processing.

                  Generates the reference container.

                  @@ -2740,9 +2811,9 @@ Does not apply full WordPress excerpt processing.

                  Register WordPress hooks to replace Footnotes in the content of a public page.

                  @@ -2909,9 +2980,9 @@ Does not apply full WordPress excerpt processing.

                  Replaces all footnotes in the given content and appends them to the static property.

                  @@ -3073,9 +3144,9 @@ Does not apply full WordPress excerpt processing.

                  Brings the delimiters and unifies their various HTML escapement schemas.

                  diff --git a/docs/classes/Footnotes-Template.html b/docs/classes/Footnotes-Template.html index 2a7c5a3..7ff1736 100644 --- a/docs/classes/Footnotes-Template.html +++ b/docs/classes/Footnotes-Template.html @@ -52,7 +52,11 @@

                  Namespaces

                  Global

                  -
                  +

                  footnotes

                  + +
                  @@ -70,7 +74,6 @@
                  @@ -83,14 +86,15 @@ -

                  Handles each Template file for the Plugin Frontend (e.g. Settings Dashboard, Public pages, ...).

                  +

                  Class defining template rendering.

                  -

                  Loads a template file, replaces all Placeholders and returns the replaced file content.

                  +

                  Loads a template file, replaces all Placeholders and returns the replaced +file content.

                  @@ -100,6 +104,15 @@
                  + subpackage +
                  +
                  + +

                  includes

                  +
                  + +
                  +
                  since
                  @@ -107,6 +120,15 @@
                  +
                  +
                  + todo +
                  +
                  + +

                  Refactor templating.

                  +
                  +
                  @@ -124,16 +146,16 @@
                  C_STR_DASHBOARD -  = 'dashboard' +  = 'admin/partials'
                  -
                  Directory name for dashboard templates.
                  +
                  Directory name for dashboard partials.
                  C_STR_PUBLIC -  = 'public' +  = 'public/partials'
                  -
                  Directory name for public templates.
                  +
                  Directory name for public partials.
                  $plugin_directory @@ -215,18 +237,18 @@ -

                  Directory name for dashboard templates.

                  +

                  Directory name for dashboard partials.

                  public string C_STR_DASHBOARD - = 'dashboard' + = 'admin/partials' @@ -257,18 +279,18 @@ -

                  Directory name for public templates.

                  +

                  Directory name for public partials.

                  public string C_STR_PUBLIC - = 'public' + = 'public/partials' @@ -314,9 +336,9 @@

                  Plugin Directory

                  @@ -361,9 +383,9 @@

                  Contains the content of the template after initialize.

                  @@ -408,9 +430,9 @@

                  Contains the content of the template after initialize with replaced place holders.

                  @@ -459,9 +481,9 @@

                  Class Constructor. Reads and loads the template file without replace any placeholder.

                  @@ -479,7 +501,7 @@ : string
                  -

                  Template file type (take a look on the Class constants).

                  +

                  Template file type.

                  @@ -488,7 +510,7 @@ : string
                  -

                  Template file name inside the Template directory without the file extension.

                  +

                  Template file name inside the partials/ directory, without the file extension.

                  @@ -497,10 +519,7 @@ : string = 'html'
                  -

                  Optional Template file extension (default: html).

                  -
                    -
                  • Adding: Templates: support for custom templates in sibling folder, thanks to @misfist issue report.
                  • -
                  +

                  (optional) Template file extension (default: 'html').

                  @@ -520,31 +539,15 @@
                  - -
                  - since -
                  -
                  - 2.2.6 - -
                  -
                  - reporter + todo
                  -

                  @misfist

                  +

                  Refactor templating.

                  -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/template-override-filter/ -
                  @@ -566,9 +569,9 @@

                  Returns the content of the template file with replaced placeholders.

                  @@ -594,6 +597,15 @@
                  + +
                  + todo +
                  +
                  + +

                  Refactor templating.

                  +
                  +
                  @@ -616,9 +628,9 @@

                  Get the template.

                  @@ -627,10 +639,7 @@ public get_template(string $p_str_file_type, string $p_str_file_name[, string $p_str_extension = 'html' ]) : mixed
                  -
                    -
                  • Adding: Templates: Enable template location stack, thanks to @misfist issue report and code contribution.
                  • -
                  -
                  +
                  Parameters
                  @@ -672,45 +681,27 @@
                  since
                  -
                  - 2.4.0d3 - -

                  Contribution.

                  -
                  - -
                  -
                  - since -
                  2.5.0 -

                  Release.

                  -
                  +
                  - contributor + todo
                  -

                  @misfist

                  +

                  Refactor templating.

                  -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/template-override-filter/#post-13864301 -
                  Return values
                  mixed — -

                  false | template path

                  +

                  false or the template path

                  @@ -726,9 +717,9 @@

                  Process template file.

                  @@ -767,53 +758,12 @@
                  -
                  - since +
                  + todo
                  - 2.0.3 -

                  Replace tab with a space.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.0.3 - -

                  Replace 2 spaces with 1.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.0.4 - -

                  Collapse multiple spaces.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.2.6 - -

                  Delete a space before a closing pointy bracket.

                  -
                  - -
                  -
                  - since -
                  -
                  - 2.5.4 - -

                  Collapse HTML comments and PHP/JS docblocks (only).

                  +

                  Refactor templating.

                  @@ -837,9 +787,9 @@

                  Reloads the original content of the template file.

                  @@ -865,6 +815,15 @@
                  + +
                  + todo +
                  +
                  + +

                  Refactor templating.

                  +
                  +
                  @@ -886,9 +845,9 @@

                  Replace all placeholders specified in array.

                  @@ -926,13 +885,22 @@
                  + +
                  + todo +
                  +
                  + +

                  Refactor templating.

                  +
                  +
                  Return values
                  bool — -

                  True on Success, False if Placeholders invalid.

                  +

                  true on Success, false if placeholders invalid.

                  diff --git a/docs/classes/Footnotes-WYSIWYG.html b/docs/classes/Footnotes-WYSIWYG.html index 366618f..d310496 100644 --- a/docs/classes/Footnotes-WYSIWYG.html +++ b/docs/classes/Footnotes-WYSIWYG.html @@ -52,7 +52,11 @@

                  Namespaces

                  Global

                  -
                  +

                  footnotes

                  + +
                  @@ -70,7 +74,6 @@
                  @@ -83,12 +86,12 @@ -

                  Handles the WSYIWYG-Buttons.

                  +

                  Class providing WYSIWYG editor intergration for the plugin.

                  @@ -120,7 +123,21 @@
                  -
                  +
                  + $plugin_name + +  : string +
                  +
                  The ID of this plugin.
                  + +
                  + __construct() + +  : mixed +
                  +
                  Initialize the class and set its properties.
                  + +
                  ajax_callback()  : mixed @@ -130,7 +147,7 @@
                  include_scripts() -  : array<string|int, mixed> +  : array<string|int, string>
                  Includes the Plugins WYSIWYG editor script.
                  @@ -144,17 +161,10 @@
                  new_visual_editor_button() -  : array<string|int, mixed> +  : array<string|int, string>
                  Append a new Button to the WYSIWYG editor of Posts and Pages.
                  -
                  - register_hooks() - -  : void -
                  -
                  Registers Button hooks.
                  -
                  @@ -162,6 +172,68 @@ +
                  +

                  + Properties + +

                  +
                  +

                  + $plugin_name + + + +

                  + + +

                  The ID of this plugin.

                  + + + private + string + $plugin_name + + +
                  + + +
                  + Tags + +
                  +
                  +
                  + access +
                  +
                  + +

                  private

                  +
                  + +
                  +
                  + since +
                  +
                  + 2.8.0 + +
                  + +
                  +
                  + +
                  +

                  @@ -169,6 +241,67 @@

                  +

                  + __construct() + +

                  + + +

                  Initialize the class and set its properties.

                  + + + public + __construct(string $plugin_name) : mixed + +
                  + +
                  Parameters
                  +
                  +
                  + $plugin_name + : string +
                  +
                  +

                  The name of this plugin.

                  +
                  + +
                  +
                  + + +
                  + Tags + +
                  +
                  +
                  + since +
                  +
                  + 2.8.0 + +
                  + +
                  +
                  + +
                  Return values
                  + mixed + — +
                  + + +
                  +

                  AJAX Callback function when the Footnotes Button is clicked. Either in the Plain text or Visual editor.

                  @@ -229,16 +362,16 @@

                  Includes the Plugins WYSIWYG editor script.

                  public - static include_scripts(array<string|int, mixed> $p_arr_plugins) : array<string|int, mixed> + static include_scripts(array<string|int, string> $p_arr_plugins) : array<string|int, string>
                  @@ -246,10 +379,10 @@
                  $p_arr_plugins - : array<string|int, mixed> + : array<string|int, string>
                  -

                  Scripts to be included to the editor.

                  +

                  Scripts to be included by the editor.

                  @@ -269,11 +402,20 @@
                  + +
                  + todo +
                  +
                  + +

                  Should this be static?

                  +
                  +
                  Return values
                  - array<string|int, mixed> + array<string|int, string>
                  @@ -290,9 +432,9 @@

                  Add a new button to the plain text editor.

                  @@ -339,16 +481,16 @@

                  Append a new Button to the WYSIWYG editor of Posts and Pages.

                  public - static new_visual_editor_button(array<string|int, mixed> $p_arr_buttons) : array<string|int, mixed> + static new_visual_editor_button(array<string|int, string> $p_arr_buttons) : array<string|int, string>
                  @@ -356,10 +498,10 @@
                  $p_arr_buttons - : array<string|int, mixed> + : array<string|int, string>
                  -

                  pre defined Buttons from WordPress.

                  +

                  Already-defined editor buttons.

                  @@ -380,87 +522,19 @@
                  -
                  - -
                  Return values
                  - array<string|int, mixed> - — -
                  - - -
                  -
                  -

                  - register_hooks() - -

                  - - -

                  Registers Button hooks.

                  - - - public - static register_hooks() : void - -
                  - - - -
                  - Tags - -
                  -
                  -
                  - since +
                  + todo
                  - 1.5.0 -
                    -
                  • Bugfix: Editor buttons: debug button by reverting name change in PHP file while JS file and HTML template remained unsynced, thanks to @gova bug report.
                  • -
                  +

                  Should this be static?

                  -
                  -
                  - since -
                  -
                  - 2.6.5 - -
                  - -
                  -
                  - reporter -
                  -
                  - -

                  @gova

                  -
                  - -
                  -
                  - link -
                  -
                  - https://wordpress.org/support/topic/back-end-footnotes-not-working-400-bad-erro/ -
                  Return values
                  - void + array<string|int, string>
                  diff --git a/docs/classes/Footnotes-Widget-Base.html b/docs/classes/Footnotes-Widget-Base.html index da53be0..afd84bd 100644 --- a/docs/classes/Footnotes-Widget-Base.html +++ b/docs/classes/Footnotes-Widget-Base.html @@ -52,7 +52,12 @@

                  Namespaces

                  Global

                  -
                  +

                  footnotes

                  + +
                  @@ -70,7 +75,6 @@
                  @@ -86,16 +90,15 @@ -

                  Base Class for all Plugin Widgets. Registers each Widget to WordPress.

                  +

                  Base class to be extended by all widget sub-classes.

                  -

                  The following Methods MUST be overwritten in each sub class: -public function widget($args, $instance) -> echo the Widget Content -public function form($instance) -> echo the Settings of the Widget

                  +

                  Any sub-class must override the appropriate method(s) provided by +WP_Widget.

                  @@ -105,12 +108,11 @@
                  - author + abstract
                  -

                  Stefan Herndler

                  -
                  +
                  @@ -121,6 +123,15 @@
                  + +
                  + todo +
                  +
                  + +

                  Review implemenation of Widgets API.

                  +
                  +
                  @@ -140,7 +151,7 @@  : mixed -
                  Class Constructor. Registers the child Widget to WordPress.
                  +
                  Registers the child Widget to WordPress.
                  get_description() @@ -194,12 +205,12 @@ -

                  Class Constructor. Registers the child Widget to WordPress.

                  +

                  Registers the child Widget to WordPress.

                  public @@ -220,37 +231,8 @@
                  1.5.0 -
                    -
                  • Update: replace deprecated function WP_Widget() with recommended __construct(), thanks to @dartiss code contribution.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 1.6.4 -
                  -
                  -
                  - contributor -
                  -
                  - -

                  @dartiss

                  -
                  - -
                  -
                  - link -
                  -
                  -

                  “The called constructor method for WP_Widget in Footnotes_Widget_ReferenceContainer is deprecated since version 4.3.0! Use __construct() instead.”

                  -
                  -
                  @@ -272,9 +254,9 @@

                  Returns the Description of the child widget.

                  @@ -293,6 +275,14 @@
                  + abstract +
                  +
                  + +
                  + +
                  +
                  since
                  @@ -321,9 +311,9 @@

                  Returns an unique ID as string used for the Widget Base ID.

                  @@ -342,6 +332,14 @@
                  + abstract +
                  +
                  + +
                  + +
                  +
                  since
                  @@ -370,9 +368,9 @@

                  Returns the Public name of child Widget to be displayed in the Configuration page.

                  @@ -391,6 +389,14 @@
                  + abstract +
                  +
                  + +
                  + +
                  +
                  since
                  @@ -419,9 +425,9 @@

                  Returns the width of the Widget. Default width is 250 pixel.

                  diff --git a/docs/classes/Footnotes-Widget-Reference-Container.html b/docs/classes/Footnotes-Widget-Reference-Container.html index c71ae8a..0b35688 100644 --- a/docs/classes/Footnotes-Widget-Reference-Container.html +++ b/docs/classes/Footnotes-Widget-Reference-Container.html @@ -52,7 +52,12 @@

                  Namespaces

                  Global

                  -
                  +

                  footnotes

                  + +
                  @@ -70,7 +75,6 @@
                  @@ -86,9 +90,9 @@

                  Registers a Widget to put the Reference Container to the widget area.

                  @@ -109,6 +113,24 @@
                  + +
                  + see +
                  +
                  + Footnotes_Widget_Base + +
                  + +
                  +
                  + todo +
                  +
                  + +

                  Review implemenation of Widgets API.

                  +
                  +
                  @@ -123,17 +145,24 @@
                  -
                  - __construct() +
                  + $plugin_name + +  : string +
                  +
                  The ID of this plugin.
                  + +
                  + __construct()  : mixed
                  -
                  Class Constructor. Registers the child Widget to WordPress.
                  +
                  Initialize the class and set its properties.
                  form() -  : void +  : mixed
                  Outputs the Settings of the Widget.
                  @@ -179,6 +208,77 @@ +
                  +

                  + Properties + +

                  +
                  +

                  + $plugin_name + + + +

                  + + +

                  The ID of this plugin.

                  + + + private + string + $plugin_name + + +
                  + + +
                  + Tags + +
                  +
                  +
                  + access +
                  +
                  + +

                  private

                  +
                  + +
                  +
                  + since +
                  +
                  + 2.8.0 + +
                  + +
                  +
                  + see +
                  +
                  + Footnotes::$plugin_name + +
                  + +
                  +
                  + +
                  +

                  @@ -193,23 +293,35 @@ >

                  __construct() - +

                  -

                  Class Constructor. Registers the child Widget to WordPress.

                  +

                  Initialize the class and set its properties.

                  public - __construct() : mixed + __construct(string $plugin_name) : mixed
                  - +
                  Parameters
                  +
                  +
                  + $plugin_name + : string +
                  +
                  +

                  The name of this plugin.

                  +
                  + +
                  +
                  +
                  Tags @@ -220,39 +332,10 @@ since
                  - 1.5.0 - -
                    -
                  • Update: replace deprecated function WP_Widget() with recommended __construct(), thanks to @dartiss code contribution.
                  • -
                  -
                  - -
                  -
                  - since -
                  -
                  - 1.6.4 + 2.8.0
                  -
                  -
                  - contributor -
                  -
                  - -

                  @dartiss

                  -
                  - -
                  -
                  - link -
                  -
                  -

                  “The called constructor method for WP_Widget in Footnotes_Widget_ReferenceContainer is deprecated since version 4.3.0! Use __construct() instead.”

                  -
                  -
                  @@ -274,16 +357,16 @@

                  Outputs the Settings of the Widget.

                  public - form(mixed $instance) : void + form(mixed $instance) : mixed
                  @@ -307,6 +390,14 @@
                  + link +
                  +
                  +

                  WP_Widget::form()

                  +
                  + +
                  +
                  since
                  @@ -318,10 +409,9 @@
                  Return values
                  - void + mixed — -

                  Edit: curly quotes 2.2.0

                  -
                  +
                  @@ -336,9 +426,9 @@

                  Outputs the Content of the Widget.

                  @@ -378,6 +468,14 @@
                  + link +
                  +
                  +

                  WP_Widget::widget()

                  +
                  + +
                  +
                  since
                  @@ -406,9 +504,9 @@

                  Returns the Description of the child widget.

                  @@ -427,6 +525,15 @@
                  + see +
                  +
                  + Footnotes_Widget_Base::get_description() + +
                  + +
                  +
                  since
                  @@ -440,8 +547,7 @@
                  Return values
                  string — -

                  Edit: curly quotes 2.2.0

                  -
                  +
                  @@ -456,9 +562,9 @@

                  Returns an unique ID as string used for the Widget Base ID.

                  @@ -477,6 +583,15 @@
                  + see +
                  +
                  + Footnotes_Widget_Base::get_id() + +
                  + +
                  +
                  since
                  @@ -505,9 +620,9 @@

                  Returns the Public name of the Widget to be displayed in the Configuration page.

                  @@ -526,6 +641,15 @@
                  + see +
                  +
                  + Footnotes_Widget_Base::get_name() + +
                  + +
                  +
                  since
                  @@ -554,9 +678,9 @@

                  Returns the width of the Widget. Default width is 250 pixel.

                  diff --git a/docs/classes/Footnotes-i18n.html b/docs/classes/Footnotes-i18n.html new file mode 100644 index 0000000..39bb171 --- /dev/null +++ b/docs/classes/Footnotes-i18n.html @@ -0,0 +1,258 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                  +

                  Documentation

                  + + + + + +
                  + +
                  +
                  + + + + +
                  +
                    +
                  + +
                  +

                  + Footnotes_i18n + + + + +

                  + + + +

                  Class providing internationalization functionality.

                  + +

                  Loads and defines the internationalization files for this plugin so that it +is ready for translation.

                  +
                  + + +
                  + Tags + +
                  +
                  +
                  + link +
                  +
                  +

                  GlotPress listing

                  +
                  + +
                  +
                  + subpackage +
                  +
                  + +

                  includes

                  +
                  + +
                  +
                  + since +
                  +
                  + 1.5.0 + +
                  + +
                  +
                  + since +
                  +
                  + 2.8.0 + +

                  Rename class from Footnotes_Language to Footnotes_i18n.

                  +
                  + +
                  +
                  + + + + + + +

                  + Table of Contents + +

                  + +
                  +
                  + load_plugin_textdomain() + +  : mixed +
                  +
                  Load the plugin text domain for translation.
                  + +
                  + + + + + + + +
                  +

                  + Methods + +

                  +
                  +

                  + load_plugin_textdomain() + +

                  + + +

                  Load the plugin text domain for translation.

                  + + + public + load_plugin_textdomain() : mixed + +
                  + + + +
                  + Tags + +
                  +
                  +
                  + since +
                  +
                  + 1.5.1 + +
                  + +
                  +
                  + since +
                  +
                  + 2.8.0 + +

                  Rename from load() to load_plugin_textdomain(). Remove unused $p_str_language_code parameter.

                  +
                  + +
                  +
                  + +
                  Return values
                  + mixed + — +
                  + + +
                  +
                  + +
                  +
                  +
                  +
                  +

                  Search results

                  + +
                  +
                  +
                    +
                    +
                    +
                    +
                    +
                    + + +
                    + + + + diff --git a/docs/classes/Footnotes.html b/docs/classes/Footnotes.html index a03c538..ea8c52e 100644 --- a/docs/classes/Footnotes.html +++ b/docs/classes/Footnotes.html @@ -71,6 +71,7 @@
                    @@ -83,14 +84,15 @@ -

                    Provides an entry point to the Plugin.

                    +

                    Class providing core plugin functionality.

                    -

                    Loads the dashboard and executes the task.

                    +

                    This is used to define internationalization, admin-specific hooks, and +public-facing site hooks.

                    @@ -121,75 +123,93 @@
                    -
                    - $a_bool_alternative_tooltips_enabled +
                    + $loader -  : bool +  : Footnotes_Loader
                    -
                    Allows to determine whether alternative tooltips are enabled.
                    +
                    The loader that's responsible for maintaining and registering all hooks +that power the plugin.
                    -
                    - $a_bool_amp_enabled +
                    + $plugin_name -  : bool +  : string
                    -
                    Allows to determine whether AMP compatibility mode is enabled.
                    +
                    The unique identifier of this plugin
                    -
                    - $a_bool_tooltips_enabled +
                    + $version -  : bool +  : string
                    -
                    Flag for using tooltips.
                    - -
                    - $a_obj_task - -  : Task -
                    -
                    The Plugin task.
                    - -
                    - $a_str_script_mode - -  : str -
                    -
                    Allows to determine the script mode among jQuery or plain JS.
                    +
                    The current version of the plugin.
                    - initialize_widgets() + __construct() -  : mixed +  : void
                    -
                    Initializes all Widgets of the Plugin.
                    +
                    Builds the core of the plugin.
                    - register_public() + get_loader() -  : mixed +  : Footnotes_Loader
                    -
                    Registers and enqueues scripts and stylesheets to the public pages.
                    +
                    Returns a reference to the class that orchestrates the hooks with the plugin.
                    + +
                    + get_plugin_name() + +  : string +
                    +
                    Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.
                    + +
                    + get_version() + +  : string +
                    +
                    Gets the version number of the plugin.
                    run() -  : mixed +  : void
                    -
                    Executes the Plugin.
                    +
                    Runs the loader to execute all of the hooks with WordPress.
                    - initialize_dashboard() + define_admin_hooks() -  : mixed +  : void
                    -
                    Initializes the Dashboard of the Plugin and loads them.
                    +
                    Register all of the hooks related to the admin area functionality of the +plugin.
                    - initialize_task() + define_public_hooks() -  : mixed +  : void
                    -
                    Initializes the Plugin Task and registers the Task hooks.
                    +
                    Register all of the hooks related to the public-facing functionality of +the plugin.
                    + +
                    + load_dependencies() + +  : void +
                    +
                    Load the required dependencies for this plugin.
                    + +
                    + set_locale() + +  : void +
                    +
                    Define the locale for this plugin for internationalization.
                    @@ -207,269 +227,29 @@ class=" phpdocumentor-element -property - -public - -static " -> -

                    - $a_bool_alternative_tooltips_enabled - - - -

                    - - -

                    Allows to determine whether alternative tooltips are enabled.

                    - - - public - static bool - $a_bool_alternative_tooltips_enabled - = alse - -
                      -
                    • Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback.
                    • -
                    -
                    - - -
                    - Tags - -
                    -
                    -
                    - since -
                    -
                    - 2.1.1 - -
                    - -
                    -
                    - since -
                    -
                    - 2.4.0 - -
                    - -
                    -
                    - reporter -
                    -
                    - -

                    @andreasra

                    -
                    - -
                    -
                    - link -
                    -
                    - https://wordpress.org/support/topic/footnotes-appearing-in-header/page/2/#post-13632566 - -
                    -
                    - contributor -
                    -
                    - -

                    Patrizia Lutz @misfist

                    -
                    - -
                    -
                    - -
                    -
                    -

                    - $a_bool_amp_enabled - - - -

                    - - -

                    Allows to determine whether AMP compatibility mode is enabled.

                    - - - public - static bool - $a_bool_amp_enabled - = alse - -
                      -
                    • Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution.
                    • -
                    • Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
                    • -
                    • Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
                    • -
                    -
                    - - -
                    - Tags - -
                    -
                    -
                    - since -
                    -
                    - 2.5.11 - -

                    (draft)

                    -
                    - -
                    -
                    - since -
                    -
                    - 2.6.0 - -

                    (release)

                    -
                    - -
                    -
                    - contributor -
                    -
                    - -

                    @milindmore22

                    -
                    - -
                    -
                    - contributor -
                    -
                    - -

                    @westonruter

                    -
                    - -
                    -
                    - link -
                    -
                    - https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933 - -
                    -
                    - link -
                    -
                    - https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785419655 - -
                    -
                    - link -
                    -
                    - https://github.com/markcheret/footnotes/issues/48#issuecomment-799580854 - -
                    -
                    - link -
                    -
                    - https://github.com/markcheret/footnotes/issues/48#issuecomment-799582394 - -
                    -
                    - -
                    -
                    -

                    - $a_bool_tooltips_enabled - - - -

                    - - -

                    Flag for using tooltips.

                    - - - public - static bool - $a_bool_tooltips_enabled - = alse - -
                    - - -
                    - Tags - -
                    -
                    -
                    - since -
                    -
                    - 2.4.0 - -
                    - -
                    -
                    - -
                    -
                    -

                    - $a_obj_task - +

                    + $loader +

                    -

                    The Plugin task.

                    +

                    The loader that's responsible for maintaining and registering all hooks +that power the plugin.

                    - public - Task - $a_obj_task - = -ull + protected + Footnotes_Loader + $loader +
                    @@ -483,7 +263,7 @@ ull since
                    - 1.5.0 + 2.8.0
                    @@ -495,33 +275,30 @@ ull class=" phpdocumentor-element -property - -public - -static " + -protected + " > -

                    - $a_str_script_mode - +

                    + $plugin_name +

                    -

                    Allows to determine the script mode among jQuery or plain JS.

                    +

                    The unique identifier of this plugin

                    - public - static str - $a_str_script_mode - = 'js' + protected + string + $plugin_name + -
                      -
                    • Bugfix: Reference container: optional alternative expanding and collapsing without jQuery for use with hard links, thanks to @hopper87it @pkverma99 issue reports.
                    • -
                    -
                    +
                    @@ -533,42 +310,66 @@ ull since
                    - 2.5.6 + 2.8.0 + +
                    + +
                    +
                    + +
                    +
                    +

                    + $version + + + +

                    + + +

                    The current version of the plugin.

                    + + + protected + string + $version + + +
                    + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 2.8.0
                    - reporter + see
                    - -

                    @hopper87it

                    -
                    + PLUGIN_VERSION + +
                    -
                    -
                    - reporter -
                    -
                    - -

                    @pkverma99

                    -
                    - -
                    -
                    - link -
                    -
                    - https://wordpress.org/support/topic/footnotes-wp-rocket/ - -
                    -
                    - link -
                    -
                    - https://wordpress.org/support/topic/footnotes-wp-rocket/#post-14076188 -
                    @@ -586,23 +387,26 @@ ull -public " > -

                    - initialize_widgets() - +

                    + __construct() +

                    -

                    Initializes all Widgets of the Plugin.

                    +

                    Builds the core of the plugin.

                    public - initialize_widgets() : mixed + __construct() : void -
                    +

                    Set the plugin name and the plugin version that can be used throughout the +plugin. Load the dependencies, define the locale, and set the hooks for +the admin area and the public-facing side of the site.

                    +
                    @@ -615,102 +419,24 @@ ull since
                    - 1.5.0 - -
                      -
                    • Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution
                    • -
                    -
                    - -
                    -
                    - since -
                    -
                    - 1.6.5 + 1.0.0
                    -
                    -
                    - contributor -
                    -
                    - -

                    @felipelavinz

                    -
                    - -
                    -
                    - link -
                    -
                    - https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 - -
                    -
                    - link -
                    -
                    - https://wordpress.org/support/topic/bug-function-create_function-is-deprecated/ - -
                    -
                    - link -
                    -
                    - https://wordpress.org/support/topic/deprecated-function-create_function-14/ - -
                    -
                    - link -
                    -
                    -

                    create_function() was deprecated in PHP 7.2.0 and removed in PHP 8.0.0.

                    -
                    - -
                    -
                    - link -
                    -
                    -

                    The fix is to move add_action() above into run(), -and use the bare register_widget() here.

                    -
                    - -
                    -
                    - reporter -
                    -
                    - -

                    @psykonevro

                    -
                    - -
                    -
                    - reporter -
                    -
                    - -

                    @daliasued

                    -
                    -
                    see
                    - self::run() + PLUGIN_VERSION -

                    Also, the visibility of initialize_widgets() is not private any longer.

                    -
                    +
                    Return values
                    - mixed + void
                    @@ -722,21 +448,21 @@ and use the bare register_widget() here.

                    -public " > -

                    - register_public() - +

                    + get_loader() +

                    -

                    Registers and enqueues scripts and stylesheets to the public pages.

                    +

                    Returns a reference to the class that orchestrates the hooks with the plugin.

                    public - register_public() : mixed + get_loader() : Footnotes_Loader
                    @@ -751,65 +477,114 @@ and use the bare register_widget() here.

                    since
                    - 1.5.0 + 2.8.0
                    -
                    -
                    - since -
                    -
                    - 2.0.0 - -

                    Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.

                    -
                    - -
                    -
                    - since -
                    -
                    - 2.0.3 - -

                    add versioning of public.css for cache busting

                    -
                    - -
                    -
                    - since -
                    -
                    - 2.0.4 - -

                    add jQuery UI from WordPress

                    -
                    - -
                    -
                    - since -
                    -
                    - 2.1.4 - -

                    automate passing version number for cache busting

                    -
                    - -
                    -
                    - since -
                    -
                    - 2.1.4 - -

                    optionally enqueue an extra stylesheet

                    -
                    -
                    Return values
                    - mixed + Footnotes_Loader + — +
                    + + +
                    +
                    +

                    + get_plugin_name() + +

                    + + +

                    Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.

                    + + + public + get_plugin_name() : string + +
                    + + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 2.8.0 + +
                    + +
                    +
                    + +
                    Return values
                    + string + — +
                    + + +
                    +
                    +

                    + get_version() + +

                    + + +

                    Gets the version number of the plugin.

                    + + + public + get_version() : string + +
                    + + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 2.8.0 + +
                    + +
                    +
                    + +
                    Return values
                    + string
                    @@ -826,16 +601,16 @@ and use the bare register_widget() here.

                    -

                    Executes the Plugin.

                    +

                    Runs the loader to execute all of the hooks with WordPress.

                    public - run() : mixed + run() : void
                    @@ -852,57 +627,13 @@ and use the bare register_widget() here.

                    1.5.0 -
                      -
                    • Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
                    • -
                    -
                    - -
                    -
                    - since -
                    -
                    - 1.6.5 - -
                    - -
                    -
                    - contributor -
                    -
                    - -

                    @felipelavinz

                    -
                    - -
                    -
                    - link -
                    -
                    - https://github.com/benleyjyc/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 - -
                    -
                    - link -
                    -
                    - https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 - -
                    -
                    - see -
                    -
                    - self::initialize_widgets() -
                    Return values
                    - mixed + void
                    @@ -914,23 +645,225 @@ and use the bare register_widget() here.

                    -private " > -

                    - initialize_dashboard() - +

                    + define_admin_hooks() +

                    + +

                    Register all of the hooks related to the admin area functionality of the +plugin.

                    + + + private + define_admin_hooks() : void + +
                    + + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 1.5.0 + +
                    + +
                    +
                    + since +
                    +
                    + 2.8.0 + +

                    Moved hook registrations from various classes into Footnotes_Admin.

                    +
                    + +
                    +
                    + uses +
                    +
                    + Footnotes_Admin + +

                    Defines admin functionality.

                    +
                    + +
                    +
                    + +
                    Return values
                    + void + — +
                    + + +
                    +
                    +

                    + define_public_hooks() + +

                    + + +

                    Register all of the hooks related to the public-facing functionality of +the plugin.

                    + + + private + define_public_hooks() : void + +
                    + + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 2.8.0 + +
                    + +
                    +
                    + uses +
                    +
                    + Footnotes_Admin + +

                    Defines public-facing functionality.

                    +
                    + +
                    +
                    + +
                    Return values
                    + void + — +
                    + + +
                    +
                    +

                    + load_dependencies() + +

                    + + +

                    Load the required dependencies for this plugin.

                    + + + private + load_dependencies() : void + +

                    Includes the following files that make up the plugin:

                    + +

                    Creates an instance of the loader which will be used to register the hooks +with WordPress.

                    +
                    + + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 2.8.0 + +
                    + +
                    +
                    + +
                    Return values
                    + void + — +
                    + + +
                    +
                    +

                    + set_locale() + +

                    + -

                    Initializes the Dashboard of the Plugin and loads them.

                    +

                    Define the locale for this plugin for internationalization.

                    private - initialize_dashboard() : mixed + set_locale() : void -
                    +

                    Uses Footnotes_i18n in order to set the domain and to +register the hook with WordPress.

                    +
                    @@ -943,64 +876,25 @@ and use the bare register_widget() here.

                    since
                    - 1.5.0 + 2.8.0
                    - - -
                    Return values
                    - mixed - — -
                    - - -
                    -
                    -

                    - initialize_task() - -

                    - - -

                    Initializes the Plugin Task and registers the Task hooks.

                    - - - private - initialize_task() : mixed - -
                    - - - -
                    - Tags - -
                    -
                    -
                    - since +
                    + uses
                    - 1.5.0 - -
                    + Footnotes_i18n + +

                    Handles initialization functions.

                    +
                    Return values
                    - mixed + void
                    diff --git a/docs/classes/footnotes-Activator.html b/docs/classes/footnotes-Activator.html new file mode 100644 index 0000000..49fb441 --- /dev/null +++ b/docs/classes/footnotes-Activator.html @@ -0,0 +1,248 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                    +

                    Documentation

                    + + + + + +
                    + +
                    +
                    + + + + +
                    + + +
                    +

                    + Activator + + +
                    + in package + +
                    + + +

                    + + + +

                    Class providing action(s) on plugin activation.

                    + +

                    This class defines all code necessary to run during the plugin's activation.

                    +
                    + + +
                    + Tags + +
                    +
                    +
                    + subpackage +
                    +
                    + +

                    includes

                    +
                    + +
                    +
                    + since +
                    +
                    + 2.8.0 + +
                    + +
                    +
                    + + + + + + +

                    + Table of Contents + +

                    + +
                    +
                    + activate() + +  : mixed +
                    +
                    Runs when the plugin is deactivated.
                    + +
                    + + + + + + + +
                    +

                    + Methods + +

                    +
                    +

                    + activate() + +

                    + + +

                    Runs when the plugin is deactivated.

                    + + + public + static activate() : mixed + +

                    Currently NOP.

                    +
                    + + + +
                    + Tags + +
                    +
                    +
                    + since +
                    +
                    + 2.8.0 + +
                    + +
                    +
                    + +
                    Return values
                    + mixed + — +
                    + + +
                    +
                    + +
                    +
                    +
                    +
                    +

                    Search results

                    + +
                    +
                    +
                      +
                      +
                      +
                      +
                      +
                      + + +
                      + + + + diff --git a/docs/classes/footnotes-Config.html b/docs/classes/footnotes-Config.html new file mode 100644 index 0000000..8cef5b9 --- /dev/null +++ b/docs/classes/footnotes-Config.html @@ -0,0 +1,527 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                      +

                      Documentation

                      + + + + + +
                      + +
                      +
                      + + + + +
                      + + +
                      +

                      + Config + + + + +

                      + + + +

                      Class defining plugin constants.

                      + +

                      This class contains no methods of properties.

                      +
                      + + +
                      + Tags + +
                      +
                      +
                      + subpackage +
                      +
                      + +

                      includes

                      +
                      + +
                      +
                      + since +
                      +
                      + 1.5.0 + +
                      + +
                      +
                      + todo +
                      +
                      + +

                      Remove.

                      +
                      + +
                      +
                      + deprecated +
                      +
                      + +
                      + +
                      +
                      + + + + + + +

                      + Table of Contents + +

                      + +
                      +
                      + C_STR_LOVE_SYMBOL + +  = '<span style="color:#ff6d3b; font-weight:bold;">&hearts;</span>' +
                      +
                      HTML element for the ‘love’ symbol.
                      + +
                      + C_STR_LOVE_SYMBOL_HEADING + +  = '<span class="footnotes_heart_heading">&hearts;</span>' +
                      +
                      HTML element for the ‘love’ symbol used in dashboard heading
                      + +
                      + C_STR_NO_LOVE_SLUG + +  = '[[no footnotes: love]]' +
                      +
                      Shortcode to NOT display the ‘LOVE ME’ slug on certain pages.
                      + +
                      + C_STR_PLUGIN_HEADING_NAME + +  = '<span class="footnotes_logo_heading footnotes_logo_part1_heading">foot</span><span class="footnotes_logo_heading footnotes_logo_part2_heading">notes</span>' +
                      +
                      Public plugin name for use as a dashboard heading.
                      + +
                      + C_STR_PLUGIN_PUBLIC_NAME + +  = '<span class="footnotes_logo footnotes_logo_part1">foot</span><span class="footnotes_logo footnotes_logo_part2">notes</span>' +
                      +
                      Public plugin name.
                      + +
                      + + + + +
                      +

                      + Constants + +

                      +
                      +

                      + C_STR_LOVE_SYMBOL + +

                      + + + +

                      HTML element for the ‘love’ symbol.

                      + + + public + string + C_STR_LOVE_SYMBOL + = '<span style="color:#ff6d3b; font-weight:bold;">&hearts;</span>' + + + +
                      + + +
                      + Tags + +
                      +
                      +
                      + since +
                      +
                      + 1.5.0 + +
                      + +
                      +
                      + todo +
                      +
                      + +

                      Remove.

                      +
                      + +
                      +
                      + deprecated +
                      +
                      + +
                      + +
                      +
                      + +
                      +
                      +

                      + C_STR_LOVE_SYMBOL_HEADING + +

                      + + + +

                      HTML element for the ‘love’ symbol used in dashboard heading

                      + + + public + string + C_STR_LOVE_SYMBOL_HEADING + = '<span class="footnotes_heart_heading">&hearts;</span>' + + + +
                      + + +
                      + Tags + +
                      +
                      +
                      + since +
                      +
                      + 2.0.4 + +
                      + +
                      +
                      + todo +
                      +
                      + +

                      Remove.

                      +
                      + +
                      +
                      + deprecated +
                      +
                      + +
                      + +
                      +
                      + +
                      +
                      +

                      + C_STR_NO_LOVE_SLUG + +

                      + + + +

                      Shortcode to NOT display the ‘LOVE ME’ slug on certain pages.

                      + + + public + string + C_STR_NO_LOVE_SLUG + = '[[no footnotes: love]]' + + + +
                      + + +
                      + Tags + +
                      +
                      +
                      + since +
                      +
                      + 1.5.0 + +
                      + +
                      +
                      + todo +
                      +
                      + +

                      Remove.

                      +
                      + +
                      +
                      + deprecated +
                      +
                      + +
                      + +
                      +
                      + +
                      +
                      +

                      + C_STR_PLUGIN_HEADING_NAME + +

                      + + + +

                      Public plugin name for use as a dashboard heading.

                      + + + public + string + C_STR_PLUGIN_HEADING_NAME + = '<span class="footnotes_logo_heading footnotes_logo_part1_heading">foot</span><span class="footnotes_logo_heading footnotes_logo_part2_heading">notes</span>' + + + +

                      After properly displaying in dashboard headings until WPv5.4, the above started +in WP 5.5 being torn apart as if the headline was text-align:justify and not +the last line. That ugly display bug badly affected the plugin's communication. +The only working solution found so far is using position:fixed in one heading +that isn't translated, and dropping the logo in another, translatable heading.

                      +
                      + + +
                      + Tags + +
                      +
                      +
                      + since +
                      +
                      + 2.0.4 + +
                      + +
                      +
                      + todo +
                      +
                      + +

                      Remove.

                      +
                      + +
                      +
                      + deprecated +
                      +
                      + +
                      + +
                      +
                      + +
                      +
                      +

                      + C_STR_PLUGIN_PUBLIC_NAME + +

                      + + + +

                      Public plugin name.

                      + + + public + string + C_STR_PLUGIN_PUBLIC_NAME + = '<span class="footnotes_logo footnotes_logo_part1">foot</span><span class="footnotes_logo footnotes_logo_part2">notes</span>' + + + +
                      + + +
                      + Tags + +
                      +
                      +
                      + since +
                      +
                      + 1.5.0 + +
                      + +
                      +
                      + todo +
                      +
                      + +

                      Remove.

                      +
                      + +
                      +
                      + deprecated +
                      +
                      + +
                      + +
                      +
                      + +
                      +
                      + + + + +
                      +
                      +
                      +
                      +

                      Search results

                      + +
                      +
                      +
                        +
                        +
                        +
                        +
                        +
                        + + +
                        + + + + diff --git a/docs/classes/footnotes-Core.html b/docs/classes/footnotes-Core.html new file mode 100644 index 0000000..f561bad --- /dev/null +++ b/docs/classes/footnotes-Core.html @@ -0,0 +1,930 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                        +

                        Documentation

                        + + + + + +
                        + +
                        +
                        + + + + +
                        + + +
                        +

                        + Core + + + + +

                        + + + +

                        Class providing core plugin functionality.

                        + +

                        This is used to define internationalization, admin-specific hooks, and +public-facing site hooks.

                        +
                        + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 1.5.0 + +
                        + +
                        +
                        + + + + + + +

                        + Table of Contents + +

                        + +
                        +
                        + $loader + +  : Footnotes_Loader +
                        +
                        The loader that's responsible for maintaining and registering all hooks +that power the plugin.
                        + +
                        + $plugin_name + +  : string +
                        +
                        The unique identifier of this plugin
                        + +
                        + $version + +  : string +
                        +
                        The current version of the plugin.
                        + +
                        + __construct() + +  : void +
                        +
                        Builds the core of the plugin.
                        + +
                        + get_loader() + +  : Footnotes_Loader +
                        +
                        Returns a reference to the class that orchestrates the hooks with the plugin.
                        + +
                        + get_plugin_name() + +  : string +
                        +
                        Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.
                        + +
                        + get_version() + +  : string +
                        +
                        Gets the version number of the plugin.
                        + +
                        + run() + +  : void +
                        +
                        Runs the loader to execute all of the hooks with WordPress.
                        + +
                        + define_admin_hooks() + +  : void +
                        +
                        Register all of the hooks related to the admin area functionality of the +plugin.
                        + +
                        + define_public_hooks() + +  : void +
                        +
                        Register all of the hooks related to the public-facing functionality of +the plugin.
                        + +
                        + load_dependencies() + +  : void +
                        +
                        Load the required dependencies for this plugin.
                        + +
                        + set_locale() + +  : void +
                        +
                        Define the locale for this plugin for internationalization.
                        + +
                        + + + + + + +
                        +

                        + Properties + +

                        +
                        +

                        + $loader + + + +

                        + + +

                        The loader that's responsible for maintaining and registering all hooks +that power the plugin.

                        + + + protected + Footnotes_Loader + $loader + + +
                        + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + +
                        +
                        +

                        + $plugin_name + + + +

                        + + +

                        The unique identifier of this plugin

                        + + + protected + string + $plugin_name + + +
                        + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + +
                        +
                        +

                        + $version + + + +

                        + + +

                        The current version of the plugin.

                        + + + protected + string + $version + + +
                        + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + see +
                        +
                        + PLUGIN_VERSION + +
                        + +
                        +
                        + +
                        +
                        + +
                        +

                        + Methods + +

                        +
                        +

                        + __construct() + +

                        + + +

                        Builds the core of the plugin.

                        + + + public + __construct() : void + +

                        Set the plugin name and the plugin version that can be used throughout the +plugin. Load the dependencies, define the locale, and set the hooks for +the admin area and the public-facing side of the site.

                        +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 1.0.0 + +
                        + +
                        +
                        + see +
                        +
                        + PLUGIN_VERSION + +
                        + +
                        +
                        + +
                        Return values
                        + void + — +
                        + + +
                        +
                        +

                        + get_loader() + +

                        + + +

                        Returns a reference to the class that orchestrates the hooks with the plugin.

                        + + + public + get_loader() : Footnotes_Loader + +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + +
                        Return values
                        + Footnotes_Loader + — +
                        + + +
                        +
                        +

                        + get_plugin_name() + +

                        + + +

                        Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.

                        + + + public + get_plugin_name() : string + +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + +
                        Return values
                        + string + — +
                        + + +
                        +
                        +

                        + get_version() + +

                        + + +

                        Gets the version number of the plugin.

                        + + + public + get_version() : string + +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + +
                        Return values
                        + string + — +
                        + + +
                        +
                        +

                        + run() + +

                        + + +

                        Runs the loader to execute all of the hooks with WordPress.

                        + + + public + run() : void + +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 1.5.0 + +
                        + +
                        +
                        + +
                        Return values
                        + void + — +
                        + + +
                        +
                        +

                        + define_admin_hooks() + +

                        + + +

                        Register all of the hooks related to the admin area functionality of the +plugin.

                        + + + private + define_admin_hooks() : void + +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 1.5.0 + +
                        + +
                        +
                        + since +
                        +
                        + 2.8.0 + +

                        Moved hook registrations from various classes into Footnotes_Admin.

                        +
                        + +
                        +
                        + uses +
                        +
                        + Footnotes_Admin + +

                        Defines admin functionality.

                        +
                        + +
                        +
                        + +
                        Return values
                        + void + — +
                        + + +
                        +
                        +

                        + define_public_hooks() + +

                        + + +

                        Register all of the hooks related to the public-facing functionality of +the plugin.

                        + + + private + define_public_hooks() : void + +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + uses +
                        +
                        + Footnotes_Admin + +

                        Defines public-facing functionality.

                        +
                        + +
                        +
                        + +
                        Return values
                        + void + — +
                        + + +
                        +
                        +

                        + load_dependencies() + +

                        + + +

                        Load the required dependencies for this plugin.

                        + + + private + load_dependencies() : void + +

                        Includes the following files that make up the plugin:

                        +
                          +
                        • +Footnotes_Loader: orchestrates the hooks of the plugin;
                        • +
                        • +Footnotes_i18n: defines internationalization functionality;
                        • +
                        • +Footnotes_Config: defines plugin details;
                        • +
                        • +Footnotes_Convert: provides conversion methods;
                        • +
                        • +Footnotes_Settings: defines customisable plugin settings;
                        • +
                        • +Footnotes_Template: handles template rendering;
                        • +
                        • +Footnotes_Admin: defines all hooks for the admin area; and
                        • +
                        • +Footnotes_Public: defines all hooks for the public side of the site.
                        • +
                        +

                        Creates an instance of the loader which will be used to register the hooks +with WordPress.

                        +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + +
                        Return values
                        + void + — +
                        + + +
                        +
                        +

                        + set_locale() + +

                        + + +

                        Define the locale for this plugin for internationalization.

                        + + + private + set_locale() : void + +

                        Uses Footnotes_i18n in order to set the domain and to +register the hook with WordPress.

                        +
                        + + + +
                        + Tags + +
                        +
                        +
                        + since +
                        +
                        + 2.8.0 + +
                        + +
                        +
                        + uses +
                        +
                        + Footnotes_i18n + +

                        Handles initialization functions.

                        +
                        + +
                        +
                        + +
                        Return values
                        + void + — +
                        + + +
                        +
                        + +
                        +
                        +
                        +
                        +

                        Search results

                        + +
                        +
                        +
                          +
                          +
                          +
                          +
                          +
                          + + +
                          + + + + diff --git a/docs/classes/footnotes-admin-Admin.html b/docs/classes/footnotes-admin-Admin.html new file mode 100644 index 0000000..beffba4 --- /dev/null +++ b/docs/classes/footnotes-admin-Admin.html @@ -0,0 +1,579 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                          +

                          Documentation

                          + + + + + +
                          + +
                          +
                          + + + + +
                          + + +
                          +

                          + Admin + + +
                          + in package + +
                          + + +

                          + + + +

                          Class provide all admin-specific functionality of the plugin.

                          + +

                          Defines the plugin name, version, and enqueues all admin-specific stylesheets +and JavaScript.

                          +
                          + + +
                          + Tags + +
                          +
                          +
                          + since +
                          +
                          + 2.8.0 + +
                          + +
                          +
                          + + + + + + +

                          + Table of Contents + +

                          + +
                          +
                          + $wysiwyg + +  : WYSIWYG +
                          +
                          The WYSIWYG editor integration object.
                          + +
                          + __construct() + +  : mixed +
                          +
                          Initialize the class and set its properties.
                          + +
                          + action_links() + +  : array<string|int, string> +
                          +
                          Appends the Plugin links for display in the dashboard Plugins page.
                          + +
                          + enqueue_scripts() + +  : void +
                          +
                          Register the JavaScript for the admin area.
                          + +
                          + enqueue_styles() + +  : void +
                          +
                          Register the stylesheets for the admin area.
                          + +
                          + load_dependencies() + +  : void +
                          +
                          Load the required admin-specific dependencies.
                          + +
                          + + + + + + +
                          +

                          + Properties + +

                          +
                          +

                          + $wysiwyg + + + +

                          + + +

                          The WYSIWYG editor integration object.

                          + + + public + WYSIWYG + $wysiwyg + + +
                          + + +
                          + Tags + +
                          +
                          +
                          + since +
                          +
                          + 2.8.0 + +
                          + +
                          +
                          + +
                          +
                          + +
                          +

                          + Methods + +

                          +
                          +

                          + __construct() + +

                          + + +

                          Initialize the class and set its properties.

                          + + + public + __construct(string $plugin_name, string $version) : mixed + +
                          + +
                          Parameters
                          +
                          +
                          + $plugin_name + : string +
                          +
                          + +
                          +
                          + $version + : string +
                          +
                          + +
                          +
                          + + +
                          + Tags + +
                          +
                          +
                          + since +
                          +
                          + 2.8.0 + +
                          + +
                          +
                          + +
                          Return values
                          + mixed + — +
                          + + +
                          +
                          + + + +

                          Appends the Plugin links for display in the dashboard Plugins page.

                          + + + public + action_links(array<string|int, string> $plugin_links) : array<string|int, string> + +
                          + +
                          Parameters
                          +
                          +
                          + $plugin_links + : array<string|int, string> +
                          +
                          +

                          The default set of links to display.

                          +
                          + +
                          +
                          + + +
                          + Tags + +
                          +
                          +
                          + since +
                          +
                          + 1.5.0 + +
                          + +
                          +
                          + since +
                          +
                          + 2.8.0 + +

                          Moved from Hooks class to Admin.

                          +
                          + +
                          +
                          + +
                          Return values
                          + array<string|int, string> + — +

                          The full set of links to display.

                          +
                          + + +
                          +
                          +

                          + enqueue_scripts() + +

                          + + +

                          Register the JavaScript for the admin area.

                          + + + public + enqueue_scripts() : void + +
                          + + + +
                          + Tags + +
                          +
                          +
                          + since +
                          +
                          + 2.8.0 + +
                          + +
                          +
                          + +
                          Return values
                          + void + — +
                          + + +
                          +
                          +

                          + enqueue_styles() + +

                          + + +

                          Register the stylesheets for the admin area.

                          + + + public + enqueue_styles() : void + +
                          + + + +
                          + Tags + +
                          +
                          +
                          + since +
                          +
                          + 2.8.0 + +
                          + +
                          +
                          + +
                          Return values
                          + void + — +
                          + + +
                          +
                          +

                          + load_dependencies() + +

                          + + +

                          Load the required admin-specific dependencies.

                          + + + private + load_dependencies() : void + +

                          Includes the following files that provide the admin-specific functionality +of this plugin:

                          +
                            +
                          • +WYSIWYG: Provides plugin integration with the WYSIWYG editor.
                          • +
                          • +Settings: Defines the plugin dashboard page(s).
                          • +
                          +
                          + + + +
                          + Tags + +
                          +
                          +
                          + access +
                          +
                          + +

                          private

                          +
                          + +
                          +
                          + since +
                          +
                          + 2.8.0 + +
                          + +
                          +
                          + +
                          Return values
                          + void + — +
                          + + +
                          +
                          + +
                          +
                          +
                          +
                          +

                          Search results

                          + +
                          +
                          +
                            +
                            +
                            +
                            +
                            +
                            + + +
                            + + + + diff --git a/docs/classes/footnotes-admin-WYSIWYG.html b/docs/classes/footnotes-admin-WYSIWYG.html new file mode 100644 index 0000000..794af8b --- /dev/null +++ b/docs/classes/footnotes-admin-WYSIWYG.html @@ -0,0 +1,447 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                            +

                            Documentation

                            + + + + + +
                            + +
                            +
                            + + + + +
                            + + +
                            +

                            + WYSIWYG + + +
                            + in package + +
                            + + +

                            + + + +

                            Class providing WYSIWYG editor intergration for the plugin.

                            + +
                            + + +
                            + Tags + +
                            +
                            +
                            + since +
                            +
                            + 1.5.0 + +
                            + +
                            +
                            + + + + + + +

                            + Table of Contents + +

                            + +
                            +
                            + ajax_callback() + +  : void +
                            +
                            AJAX Callback function when the Footnotes Button is clicked. Either in the Plain text or Visual editor.
                            + +
                            + include_scripts() + +  : array<string|int, string> +
                            +
                            Includes the Plugins WYSIWYG editor script.
                            + +
                            + new_plain_text_editor_button() + +  : void +
                            +
                            Add a new button to the plain text editor.
                            + +
                            + new_visual_editor_button() + +  : array<string|int, string> +
                            +
                            Append a new Button to the WYSIWYG editor of Posts and Pages.
                            + +
                            + + + + + + + +
                            +

                            + Methods + +

                            +
                            +

                            + ajax_callback() + +

                            + + +

                            AJAX Callback function when the Footnotes Button is clicked. Either in the Plain text or Visual editor.

                            + + + public + static ajax_callback() : void + +

                            Returns an JSON encoded array with the Footnotes start and end short code.

                            +
                            + + + +
                            + Tags + +
                            +
                            +
                            + since +
                            +
                            + 1.5.0 + +
                            + +
                            +
                            + +
                            Return values
                            + void + — +
                            + + +
                            +
                            +

                            + include_scripts() + +

                            + + +

                            Includes the Plugins WYSIWYG editor script.

                            + + + public + static include_scripts(array<string|int, string> $plugins) : array<string|int, string> + +
                            + +
                            Parameters
                            +
                            +
                            + $plugins + : array<string|int, string> +
                            +
                            +

                            Scripts to be included by the editor.

                            +
                            + +
                            +
                            + + +
                            + Tags + +
                            +
                            +
                            + since +
                            +
                            + 1.5.0 + +
                            + +
                            +
                            + todo +
                            +
                            + +

                            Should this be static?

                            +
                            + +
                            +
                            + +
                            Return values
                            + array<string|int, string> + — +
                            + + +
                            +
                            +

                            + new_plain_text_editor_button() + +

                            + + +

                            Add a new button to the plain text editor.

                            + + + public + static new_plain_text_editor_button() : void + +
                            + + + +
                            + Tags + +
                            +
                            +
                            + since +
                            +
                            + 1.5.0 + +
                            + +
                            +
                            + +
                            Return values
                            + void + — +
                            + + +
                            +
                            +

                            + new_visual_editor_button() + +

                            + + +

                            Append a new Button to the WYSIWYG editor of Posts and Pages.

                            + + + public + static new_visual_editor_button(array<string|int, string> $buttons) : array<string|int, string> + +
                            + +
                            Parameters
                            +
                            +
                            + $buttons + : array<string|int, string> +
                            +
                            +

                            Already-defined editor buttons.

                            +
                            + +
                            +
                            + + +
                            + Tags + +
                            +
                            +
                            + since +
                            +
                            + 1.5.0 + +
                            + +
                            +
                            + todo +
                            +
                            + +

                            Should this be static?

                            +
                            + +
                            +
                            + +
                            Return values
                            + array<string|int, string> + — +
                            + + +
                            +
                            + +
                            +
                            +
                            +
                            +

                            Search results

                            + +
                            +
                            +
                              +
                              +
                              +
                              +
                              +
                              + + +
                              + + + + diff --git a/docs/classes/footnotes-admin-layout-Engine.html b/docs/classes/footnotes-admin-layout-Engine.html new file mode 100644 index 0000000..3c73dc6 --- /dev/null +++ b/docs/classes/footnotes-admin-layout-Engine.html @@ -0,0 +1,2335 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                              +

                              Documentation

                              + + + + + +
                              + +
                              +
                              + + + + +
                              + + +
                              +

                              + Engine + + +
                              + in package + +
                              + + +

                              + + + +

                              Class to be extended by page layout sub-classes.

                              + +
                              + + +
                              + Tags + +
                              +
                              +
                              + abstract +
                              +
                              + +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + + + + + + +

                              + Table of Contents + +

                              + +
                              +
                              + $plugin_name + +  : string +
                              +
                              The ID of this plugin.
                              + +
                              + $sections + +  : array<string|int, mixed> +
                              +
                              Stores all Sections for the child sub-page.
                              + +
                              + $sub_page_hook + +  : string|null +
                              +
                              Stores the Hook connection string for the child sub-page.
                              + +
                              + description() + +  : void +
                              +
                              Output the description of a section. May be overwritten in any section.
                              + +
                              + display_content() + +  : void +
                              +
                              Displays the content of specific sub-page.
                              + +
                              + get_priority() + +  : int +
                              +
                              Returns a Priority index. Lower numbers have a higher priority.
                              + +
                              + register_sections() + +  : void +
                              +
                              Registers all sections for a sub-page.
                              + +
                              + register_sub_page() + +  : void +
                              +
                              Registers a sub-page.
                              + +
                              + add_checkbox() + +  : string +
                              +
                              Constructs the HTML for a checkbox 'input' element.
                              + +
                              + add_color_selection() + +  : string +
                              +
                              Constructs the HTML for a text 'input' element with the colour selection +class.
                              + +
                              + add_label() + +  : string +
                              +
                              Returns the HTML tag for a 'label' element.
                              + +
                              + add_meta_box() + +  : array<string|int, mixed> +
                              +
                              Returns an array describing a meta box.
                              + +
                              + add_num_box() + +  : string +
                              +
                              Constructs the HTML for numeric 'input' element.
                              + +
                              + add_section() + +  : array<string|int, mixed> +
                              +
                              Returns an array describing a sub-page section.
                              + +
                              + add_select_box() + +  : string +
                              +
                              Constructs the HTML for a 'select' element.
                              + +
                              + add_text() + +  : string +
                              +
                              Returns a simple text inside a 'span' element.
                              + +
                              + add_text_box() + +  : string +
                              +
                              Constructs the HTML for a text 'input' element.
                              + +
                              + add_textarea() + +  : string +
                              +
                              Constructs the HTML for a 'textarea' element.
                              + +
                              + get_meta_boxes() + +  : array<string|int, mixed> +
                              +
                              Returns an array of all registered meta boxes.
                              + +
                              + get_sections() + +  : array<string|int, mixed> +
                              +
                              Returns an array of all registered sections for a sub-page.
                              + +
                              + get_sub_page_slug() + +  : string +
                              +
                              Returns the unique slug of the child sub-page.
                              + +
                              + get_sub_page_title() + +  : string +
                              +
                              Returns the title of the child sub-page.
                              + +
                              + load_setting() + +  : array<string|int, mixed> +
                              +
                              Loads a specified setting.
                              + +
                              + append_scripts() + +  : void +
                              +
                              Append JavaScript and CSS files for specific sub-page.
                              + +
                              + register_meta_boxes() + +  : void +
                              +
                              Registers all Meta boxes for a sub-page.
                              + +
                              + save_settings() + +  : bool +
                              +
                              Save all plugin settings.
                              + +
                              + + + + + + +
                              +

                              + Properties + +

                              +
                              +

                              + $plugin_name + + + +

                              + + +

                              The ID of this plugin.

                              + + + protected + string + $plugin_name + + +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 2.8.0 + +
                              + +
                              +
                              + +
                              +
                              +

                              + $sections + + + +

                              + + +

                              Stores all Sections for the child sub-page.

                              + + + protected + array<string|int, mixed> + $sections + = array() + +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              +
                              +

                              + $sub_page_hook + + + +

                              + + +

                              Stores the Hook connection string for the child sub-page.

                              + + + protected + string|null + $sub_page_hook + = null + +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              +
                              + +
                              +

                              + Methods + +

                              +
                              +

                              + description() + +

                              + + +

                              Output the description of a section. May be overwritten in any section.

                              + + + public + description() : void + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Required? Should be abstract?

                              +
                              + +
                              +
                              + +
                              Return values
                              + void + — +
                              + + +
                              +
                              +

                              + display_content() + +

                              + + +

                              Displays the content of specific sub-page.

                              + + + public + display_content() : void + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Review nonce verification.

                              +
                              + +
                              +
                              + +
                              Return values
                              + void + — +
                              + + +
                              +
                              +

                              + get_priority() + +

                              + + +

                              Returns a Priority index. Lower numbers have a higher priority.

                              + + + public + abstract get_priority() : int + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + abstract +
                              +
                              + +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + int + — +
                              + + +
                              +
                              +

                              + register_sections() + +

                              + + +

                              Registers all sections for a sub-page.

                              + + + public + register_sections() : void + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + void + — +
                              + + +
                              +
                              +

                              + register_sub_page() + +

                              + + +

                              Registers a sub-page.

                              + + + public + register_sub_page() : void + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + void + — +
                              + + +
                              +
                              +

                              + add_checkbox() + +

                              + + +

                              Constructs the HTML for a checkbox 'input' element.

                              + + + protected + add_checkbox(string $setting_name) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_color_selection() + +

                              + + +

                              Constructs the HTML for a text 'input' element with the colour selection +class.

                              + + + protected + add_color_selection(string $setting_name) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.6 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Use proper colorpicker element.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_label() + +

                              + + +

                              Returns the HTML tag for a 'label' element.

                              + + + protected + add_label(string $setting_name, string $caption) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Settings key.

                              +
                              + +
                              +
                              + $caption + : string +
                              +
                              +

                              Label caption.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_meta_box() + +

                              + + +

                              Returns an array describing a meta box.

                              + + + protected + add_meta_box(string $section_id, string $id, string $title, string $callback_function_name) : array<string|int, mixed> + +
                              + +
                              Parameters
                              +
                              +
                              + $section_id + : string +
                              +
                              +

                              Parent section ID.

                              +
                              + +
                              +
                              + $id + : string +
                              +
                              +

                              Unique ID suffix.

                              +
                              + +
                              +
                              + $title + : string +
                              +
                              +

                              Title for the meta box.

                              +
                              + +
                              +
                              + $callback_function_name + : string +
                              +
                              +

                              Class method name for callback.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor meta boxes into their own class?

                              +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Pass actual functions rather than strings?

                              +
                              + +
                              +
                              + +
                              Return values
                              + array<string|int, mixed> + — +

                              { +A dashboard meta box.

                              +
                              @type  string  $parent  Parent section ID.
                              +@type  string  $id  Meta box ID.
                              +@type  string  $title  Meta box title.
                              +@type  string  $callback  Meta box callback function.
                              +
                              +

                              }

                              +
                              + + +
                              +
                              +

                              + add_num_box() + +

                              + + +

                              Constructs the HTML for numeric 'input' element.

                              + + + protected + add_num_box(string $setting_name, int $p_in_min, int $max[, bool $deci = false ]) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + $p_in_min + : int +
                              +
                              +

                              Minimum value.

                              +
                              + +
                              +
                              + $max + : int +
                              +
                              +

                              Maximum value.

                              +
                              + +
                              +
                              + $deci + : bool + = false
                              +
                              +

                              true if float, false if integer. Default false.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_section() + +

                              + + +

                              Returns an array describing a sub-page section.

                              + + + protected + add_section(string $id, string $title, int $settings_container_index[, bool $has_submit_button = true ]) : array<string|int, mixed> + +
                              + +
                              Parameters
                              +
                              +
                              + $id + : string +
                              +
                              +

                              Unique ID suffix.

                              +
                              + +
                              +
                              + $title + : string +
                              +
                              +

                              Title of the section.

                              +
                              + +
                              +
                              + $settings_container_index + : int +
                              +
                              +

                              Settings Container index.

                              +
                              + +
                              +
                              + $has_submit_button + : bool + = true
                              +
                              +

                              Whether a ‘Submit’ button should +be displayed for this section. Default true.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor sections into their own class?

                              +
                              + +
                              +
                              + +
                              Return values
                              + array<string|int, mixed> + — +

                              { +A dashboard section.

                              +
                              @type  string  $id  Section ID.
                              +@type  string  $title  Section title.
                              +@type  bool  $submit  Whether the section has a submit button or not.
                              +@type  int  $container  Settings Container index.
                              +
                              +

                              }

                              +
                              + + +
                              +
                              +

                              + add_select_box() + +

                              + + +

                              Constructs the HTML for a 'select' element.

                              + + + protected + add_select_box(string $setting_name, array<string|int, mixed> $options) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + $options + : array<string|int, mixed> +
                              +
                              +

                              Possible options.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_text() + +

                              + + +

                              Returns a simple text inside a 'span' element.

                              + + + protected + add_text(string $text) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $text + : string +
                              +
                              +

                              Message to be surrounded with <span> tags.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_text_box() + +

                              + + +

                              Constructs the HTML for a text 'input' element.

                              + + + protected + add_text_box(string $setting_name[, int $max_length = 999 ][, bool $readonly = false ][, bool $hidden = false ]) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + $max_length + : int + = 999
                              +
                              +

                              Maximum length of the input. Default length 999 chars.

                              +
                              + +
                              +
                              + $readonly + : bool + = false
                              +
                              +

                              Set the input to be read only. Default false.

                              +
                              + +
                              +
                              + $hidden + : bool + = false
                              +
                              +

                              Set the input to be hidden. Default false.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + add_textarea() + +

                              + + +

                              Constructs the HTML for a 'textarea' element.

                              + + + protected + add_textarea(string $setting_name) : string + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Refactor HTML generation.

                              +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + get_meta_boxes() + +

                              + + +

                              Returns an array of all registered meta boxes.

                              + + + protected + abstract get_meta_boxes() : array<string|int, mixed> + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + abstract +
                              +
                              + +
                              + +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + array<string|int, mixed> + — +
                              + + +
                              +
                              +

                              + get_sections() + +

                              + + +

                              Returns an array of all registered sections for a sub-page.

                              + + + protected + abstract get_sections() : array<string|int, mixed> + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + abstract +
                              +
                              + +
                              + +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + array<string|int, mixed> + — +
                              + + +
                              +
                              +

                              + get_sub_page_slug() + +

                              + + +

                              Returns the unique slug of the child sub-page.

                              + + + protected + abstract get_sub_page_slug() : string + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + abstract +
                              +
                              + +
                              + +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + get_sub_page_title() + +

                              + + +

                              Returns the title of the child sub-page.

                              + + + protected + abstract get_sub_page_title() : string + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + abstract +
                              +
                              + +
                              + +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + string + — +
                              + + +
                              +
                              +

                              + load_setting() + +

                              + + +

                              Loads a specified setting.

                              + + + protected + load_setting(string $setting_key_name) : array<string|int, mixed> + +
                              + +
                              Parameters
                              +
                              +
                              + $setting_key_name + : string +
                              +
                              +

                              Setting key.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              protected

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + since +
                              +
                              + 2.5.11 + +

                              Broken due to accidental removal of esc_attr() call.

                              +
                              + +
                              +
                              + since +
                              +
                              + 2.6.1 + +

                              Restore esc_attr() call.

                              +
                              + +
                              +
                              + +
                              Return values
                              + array<string|int, mixed> + — +

                              { +A configurable setting.

                              +
                              @type  string  $id  Setting key.
                              +@type  string  $name  Setting name.
                              +@type  string  $value  Setting value.
                              +
                              +

                              }

                              +
                              + + +
                              +
                              +

                              + append_scripts() + +

                              + + +

                              Append JavaScript and CSS files for specific sub-page.

                              + + + private + append_scripts() : void + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              private

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Move to Admin.

                              +
                              + +
                              +
                              + +
                              Return values
                              + void + — +
                              + + +
                              +
                              +

                              + register_meta_boxes() + +

                              + + +

                              Registers all Meta boxes for a sub-page.

                              + + + private + register_meta_boxes(string $parent_id) : void + +
                              + +
                              Parameters
                              +
                              +
                              + $parent_id + : string +
                              +
                              +

                              Parent section unique ID.

                              +
                              + +
                              +
                              + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              private

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + +
                              Return values
                              + void + — +
                              + + +
                              +
                              +

                              + save_settings() + +

                              + + +

                              Save all plugin settings.

                              + + + private + save_settings() : bool + +
                              + + + +
                              + Tags + +
                              +
                              +
                              + access +
                              +
                              + +

                              private

                              +
                              + +
                              +
                              + since +
                              +
                              + 1.5.0 + +
                              + +
                              +
                              + todo +
                              +
                              + +

                              Review nonce verification.

                              +
                              + +
                              +
                              + +
                              Return values
                              + bool + — +

                              true on save success, else false.

                              +
                              + + +
                              +
                              + +
                              +
                              +
                              +
                              +

                              Search results

                              + +
                              +
                              +
                                +
                                +
                                +
                                +
                                +
                                + + +
                                + + + + diff --git a/docs/classes/footnotes-admin-layout-Init.html b/docs/classes/footnotes-admin-layout-Init.html new file mode 100644 index 0000000..6cbb30b --- /dev/null +++ b/docs/classes/footnotes-admin-layout-Init.html @@ -0,0 +1,623 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                +

                                Documentation

                                + + + + + +
                                + +
                                +
                                + + + + +
                                + + +
                                +

                                + Init + + +
                                + in package + +
                                + + +

                                + + + +

                                Class to initialise all defined page layouts.

                                + +
                                + + +
                                + Tags + +
                                +
                                +
                                + since +
                                +
                                + 1.5.0 + +
                                + +
                                +
                                + + + + + + +

                                + Table of Contents + +

                                + +
                                +
                                + MAIN_MENU_SLUG + +  = 'footnotes' +
                                +
                                Slug for the Plugin main menu.
                                + +
                                + $settings + +  : Settings +
                                +
                                Contains the settings page.
                                + +
                                + __construct() + +  : mixed +
                                +
                                Initializes all WordPress hooks for the Plugin Settings.
                                + +
                                + get_plugin_meta_information() + +  : void +
                                +
                                AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin.
                                + +
                                + initialize_settings() + +  : void +
                                +
                                Registers the settings and initialises the settings page.
                                + +
                                + register_options_submenu() + +  : void +
                                +
                                Registers the footnotes submenu page.
                                + +
                                + load_dependencies() + +  : void +
                                +
                                Load the required dependencies for the layouts pages.
                                + +
                                + + + + +
                                +

                                + Constants + +

                                +
                                +

                                + MAIN_MENU_SLUG + +

                                + + + +

                                Slug for the Plugin main menu.

                                + + + public + string + MAIN_MENU_SLUG + = 'footnotes' + + + +
                                + + +
                                + Tags + +
                                +
                                +
                                + since +
                                +
                                + 1.5.0 + +
                                + +
                                +
                                + +
                                +
                                + + +
                                +

                                + Properties + +

                                +
                                +

                                + $settings + + + +

                                + + +

                                Contains the settings page.

                                + + + private + Settings + $settings + + +
                                + + +
                                + Tags + +
                                +
                                +
                                + since +
                                +
                                + 1.5.0 + +
                                + +
                                +
                                + +
                                +
                                + +
                                +

                                + Methods + +

                                +
                                +

                                + __construct() + +

                                + + +

                                Initializes all WordPress hooks for the Plugin Settings.

                                + + + public + __construct(string $plugin_name) : mixed + +
                                + +
                                Parameters
                                +
                                +
                                + $plugin_name + : string +
                                +
                                + +
                                +
                                + + +
                                + Tags + +
                                +
                                +
                                + since +
                                +
                                + 1.5.0 + +
                                + +
                                +
                                + since +
                                +
                                + 2.8.0 + +

                                Added $plugin_name parameter.

                                +
                                + +
                                +
                                + +
                                Return values
                                + mixed + — +
                                + + +
                                +
                                +

                                + get_plugin_meta_information() + +

                                + + +

                                AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin.

                                + + + public + get_plugin_meta_information() : void + +
                                + + + +
                                + Tags + +
                                +
                                +
                                + since +
                                +
                                + 1.5.0 + +
                                + +
                                +
                                + +
                                Return values
                                + void + — +
                                + + +
                                +
                                +

                                + initialize_settings() + +

                                + + +

                                Registers the settings and initialises the settings page.

                                + + + public + initialize_settings() : void + +
                                + + + +
                                + Tags + +
                                +
                                +
                                + since +
                                +
                                + 1.5.0 + +
                                + +
                                +
                                + +
                                Return values
                                + void + — +
                                + + +
                                + +
                                +

                                + load_dependencies() + +

                                + + +

                                Load the required dependencies for the layouts pages.

                                + + + private + load_dependencies() : void + +

                                Include the following files that make up the plugin:

                                +
                                  +
                                • +Config: defines plugin constants;
                                • +
                                • +Settings: defines configurable plugin settings; and
                                • +
                                • +Settings: defines the plugin settings page.
                                • +
                                +
                                + + + +
                                + Tags + +
                                +
                                +
                                + access +
                                +
                                + +

                                private

                                +
                                + +
                                +
                                + since +
                                +
                                + 2.8.0 + +
                                + +
                                +
                                + +
                                Return values
                                + void + — +
                                + + +
                                +
                                + +
                                +
                                +
                                +
                                +

                                Search results

                                + +
                                +
                                +
                                  +
                                  +
                                  +
                                  +
                                  +
                                  + + +
                                  + + + + diff --git a/docs/classes/footnotes-admin-layout-Settings.html b/docs/classes/footnotes-admin-layout-Settings.html new file mode 100644 index 0000000..1a00067 --- /dev/null +++ b/docs/classes/footnotes-admin-layout-Settings.html @@ -0,0 +1,3742 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                  +

                                  Documentation

                                  + + + + + +
                                  + +
                                  +
                                  + + + + +
                                  + + +
                                  +

                                  + Settings + + + extends Engine + + +
                                  + in package + +
                                  + + +

                                  + + + +

                                  Class to initialise all defined page layouts.

                                  + +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + see +
                                  +
                                  + Engine + +
                                  + +
                                  +
                                  + + + + + + +

                                  + Table of Contents + +

                                  + +
                                  +
                                  + $plugin_name + +  : string +
                                  +
                                  The ID of this plugin.
                                  + +
                                  + $sections + +  : array<string|int, mixed> +
                                  +
                                  Stores all Sections for the child sub-page.
                                  + +
                                  + $sub_page_hook + +  : string|null +
                                  +
                                  Stores the Hook connection string for the child sub-page.
                                  + +
                                  + __construct() + +  : mixed +
                                  +
                                  Initialize the class and set its properties.
                                  + +
                                  + amp_compat() + +  : void +
                                  +
                                  Displays the AMP compatibility mode option.
                                  + +
                                  + custom_css() + +  : mixed +
                                  +
                                  Displays the Custom CSS box.
                                  + +
                                  + custom_css_migration() + +  : void +
                                  +
                                  Displays transitional legacy Custom CSS box.
                                  + +
                                  + custom_css_new() + +  : void +
                                  +
                                  Displays the new Custom CSS box.
                                  + +
                                  + description() + +  : void +
                                  +
                                  Output the description of a section. May be overwritten in any section.
                                  + +
                                  + display_content() + +  : void +
                                  +
                                  Displays the content of specific sub-page.
                                  + +
                                  + donate() + +  : void +
                                  +
                                  Displays all Donate button to support the developers.
                                  + +
                                  + excerpts() + +  : void +
                                  +
                                  Displays the footnotes in excerpt setting.
                                  + +
                                  + get_priority() + +  : int +
                                  +
                                  Returns a priority index.
                                  + +
                                  + hard_links() + +  : void +
                                  +
                                  Displays all options for the fragment identifier configuration.
                                  + +
                                  + help() + +  : void +
                                  +
                                  Displays a short introduction to the plugin.
                                  + +
                                  + hyperlink_arrow() + +  : void +
                                  +
                                  Displays all settings for the backlink symbol.
                                  + +
                                  + label_solution() + +  : void +
                                  +
                                  Displays the setting for the input label issue solution.
                                  + +
                                  + lookup_hooks() + +  : void +
                                  +
                                  Displays available Hooks to look for Footnote short codes.
                                  + +
                                  + love() + +  : void +
                                  +
                                  Displays all settings for ‘I love Footnotes’ note.
                                  + +
                                  + mouseover_box() + +  : void +
                                  +
                                  Displays enabled status for the footnotes mouse-over box.
                                  + +
                                  + mouseover_box_appearance() + +  : void +
                                  +
                                  Displays style settings for the footnotes mouse-over box.
                                  + +
                                  + mouseover_box_dimensions() + +  : void +
                                  +
                                  Displays dimensions setting for the footnotes mouse-over box.
                                  + +
                                  + mouseover_box_position() + +  : void +
                                  +
                                  Displays position settings for the footnotes mouse-over box.
                                  + +
                                  + mouseover_box_text() + +  : void +
                                  +
                                  Displays dedicated tooltip text settings for the footnotes mouse-over box.
                                  + +
                                  + mouseover_box_timing() + +  : void +
                                  +
                                  Displays timing settings for the footnotes mouse-over box.
                                  + +
                                  + mouseover_box_truncation() + +  : void +
                                  +
                                  Displays truncation settings for the footnotes mouse-over box.
                                  + +
                                  + numbering() + +  : void +
                                  +
                                  Displays all options for the footnotes numbering.
                                  + +
                                  + reference_container() + +  : void +
                                  +
                                  Displays all settings for the reference container.
                                  + +
                                  + register_sections() + +  : void +
                                  +
                                  Registers all sections for a sub-page.
                                  + +
                                  + register_sub_page() + +  : void +
                                  +
                                  Registers a sub-page.
                                  + +
                                  + scrolling() + +  : void +
                                  +
                                  Displays all options for the scrolling behavior.
                                  + +
                                  + start_end() + +  : void +
                                  +
                                  Displays all options for the footnotes start and end tag short codes.
                                  + +
                                  + superscript() + +  : void +
                                  +
                                  Displays all settings for the footnote referrers.
                                  + +
                                  + add_checkbox() + +  : string +
                                  +
                                  Constructs the HTML for a checkbox 'input' element.
                                  + +
                                  + add_color_selection() + +  : string +
                                  +
                                  Constructs the HTML for a text 'input' element with the colour selection +class.
                                  + +
                                  + add_label() + +  : string +
                                  +
                                  Returns the HTML tag for a 'label' element.
                                  + +
                                  + add_meta_box() + +  : array<string|int, mixed> +
                                  +
                                  Returns an array describing a meta box.
                                  + +
                                  + add_num_box() + +  : string +
                                  +
                                  Constructs the HTML for numeric 'input' element.
                                  + +
                                  + add_section() + +  : array<string|int, mixed> +
                                  +
                                  Returns an array describing a sub-page section.
                                  + +
                                  + add_select_box() + +  : string +
                                  +
                                  Constructs the HTML for a 'select' element.
                                  + +
                                  + add_text() + +  : string +
                                  +
                                  Returns a simple text inside a 'span' element.
                                  + +
                                  + add_text_box() + +  : string +
                                  +
                                  Constructs the HTML for a text 'input' element.
                                  + +
                                  + add_textarea() + +  : string +
                                  +
                                  Constructs the HTML for a 'textarea' element.
                                  + +
                                  + get_meta_boxes() + +  : array<string|int, array<string|int, mixed>> +
                                  +
                                  Returns an array of all registered meta boxes for each section of the sub-page.
                                  + +
                                  + get_sections() + +  : array<string|int, array<string|int, mixed>> +
                                  +
                                  Returns an array of all registered sections for the sub-page.
                                  + +
                                  + get_sub_page_slug() + +  : string +
                                  +
                                  Returns the unique slug of the sub-page.
                                  + +
                                  + get_sub_page_title() + +  : string +
                                  +
                                  Returns the title of the sub-page.
                                  + +
                                  + load_setting() + +  : array<string|int, mixed> +
                                  +
                                  Loads a specified setting.
                                  + +
                                  + append_scripts() + +  : void +
                                  +
                                  Append JavaScript and CSS files for specific sub-page.
                                  + +
                                  + register_meta_boxes() + +  : void +
                                  +
                                  Registers all Meta boxes for a sub-page.
                                  + +
                                  + save_settings() + +  : bool +
                                  +
                                  Save all plugin settings.
                                  + +
                                  + + + + + + +
                                  +

                                  + Properties + +

                                  +
                                  +

                                  + $plugin_name + + + +

                                  + + +

                                  The ID of this plugin.

                                  + + + protected + string + $plugin_name + + +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 2.8.0 + +
                                  + +
                                  +
                                  + +
                                  +
                                  +

                                  + $sections + + + +

                                  + + +

                                  Stores all Sections for the child sub-page.

                                  + + + protected + array<string|int, mixed> + $sections + = array() + +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  +
                                  +

                                  + $sub_page_hook + + + +

                                  + + +

                                  Stores the Hook connection string for the child sub-page.

                                  + + + protected + string|null + $sub_page_hook + = null + +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  +
                                  + +
                                  +

                                  + Methods + +

                                  +
                                  +

                                  + __construct() + +

                                  + + +

                                  Initialize the class and set its properties.

                                  + + + public + __construct(string $plugin_name) : mixed + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $plugin_name + : string +
                                  +
                                  +

                                  The name of this plugin.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.8.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + mixed + — +
                                  + + +
                                  +
                                  +

                                  + amp_compat() + +

                                  + + +

                                  Displays the AMP compatibility mode option.

                                  + + + public + amp_compat() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.6.0 + +

                                  (release)

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + custom_css() + +

                                  + + +

                                  Displays the Custom CSS box.

                                  + + + public + custom_css() : mixed + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + mixed + — +
                                  + + +
                                  +
                                  +

                                  + custom_css_migration() + +

                                  + + +

                                  Displays transitional legacy Custom CSS box.

                                  + + + public + custom_css_migration() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.2 + +
                                  + +
                                  +
                                  + deprecated +
                                  +
                                  + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + custom_css_new() + +

                                  + + +

                                  Displays the new Custom CSS box.

                                  + + + public + custom_css_new() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.2 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + description() + +

                                  + + +

                                  Output the description of a section. May be overwritten in any section.

                                  + + + public + description() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Required? Should be abstract?

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + display_content() + +

                                  + + +

                                  Displays the content of specific sub-page.

                                  + + + public + display_content() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Review nonce verification.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + donate() + +

                                  + + +

                                  Displays all Donate button to support the developers.

                                  + + + public + donate() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + excerpts() + +

                                  + + +

                                  Displays the footnotes in excerpt setting.

                                  + + + public + excerpts() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + get_priority() + +

                                  + + +

                                  Returns a priority index.

                                  + + + public + get_priority() : int + +

                                  Lower numbers have a higher priority.

                                  +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + int + — +
                                  + + +
                                  +
                                  + + + +

                                  Displays all options for the fragment identifier configuration.

                                  + + + public + hard_links() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + help() + +

                                  + + +

                                  Displays a short introduction to the plugin.

                                  + + + public + help() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Review in light of admin/public split.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  + + + +

                                  Displays all settings for the backlink symbol.

                                  + + + public + hyperlink_arrow() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + label_solution() + +

                                  + + +

                                  Displays the setting for the input label issue solution.

                                  + + + public + label_solution() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.5.12 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + lookup_hooks() + +

                                  + + +

                                  Displays available Hooks to look for Footnote short codes.

                                  + + + public + lookup_hooks() : void + +

                                  Priority level was initially a hard-coded default +shows ‘9223372036854775807’ in the numbox +empty should be interpreted as PHP_INT_MAX, +but a numbox cannot be set to empty, see here +define -1 as PHP_INT_MAX instead

                                  +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.5 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + love() + +

                                  + + +

                                  Displays all settings for ‘I love Footnotes’ note.

                                  + + + public + love() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box() + +

                                  + + +

                                  Displays enabled status for the footnotes mouse-over box.

                                  + + + public + mouseover_box() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.2 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box_appearance() + +

                                  + + +

                                  Displays style settings for the footnotes mouse-over box.

                                  + + + public + mouseover_box_appearance() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box_dimensions() + +

                                  + + +

                                  Displays dimensions setting for the footnotes mouse-over box.

                                  + + + public + mouseover_box_dimensions() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box_position() + +

                                  + + +

                                  Displays position settings for the footnotes mouse-over box.

                                  + + + public + mouseover_box_position() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box_text() + +

                                  + + +

                                  Displays dedicated tooltip text settings for the footnotes mouse-over box.

                                  + + + public + mouseover_box_text() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box_timing() + +

                                  + + +

                                  Displays timing settings for the footnotes mouse-over box.

                                  + + + public + mouseover_box_timing() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + mouseover_box_truncation() + +

                                  + + +

                                  Displays truncation settings for the footnotes mouse-over box.

                                  + + + public + mouseover_box_truncation() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + numbering() + +

                                  + + +

                                  Displays all options for the footnotes numbering.

                                  + + + public + numbering() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + reference_container() + +

                                  + + +

                                  Displays all settings for the reference container.

                                  + + + public + reference_container() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + register_sections() + +

                                  + + +

                                  Registers all sections for a sub-page.

                                  + + + public + register_sections() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + register_sub_page() + +

                                  + + +

                                  Registers a sub-page.

                                  + + + public + register_sub_page() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + scrolling() + +

                                  + + +

                                  Displays all options for the scrolling behavior.

                                  + + + public + scrolling() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + start_end() + +

                                  + + +

                                  Displays all options for the footnotes start and end tag short codes.

                                  + + + public + start_end() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + superscript() + +

                                  + + +

                                  Displays all settings for the footnote referrers.

                                  + + + public + superscript() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + add_checkbox() + +

                                  + + +

                                  Constructs the HTML for a checkbox 'input' element.

                                  + + + protected + add_checkbox(string $setting_name) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_color_selection() + +

                                  + + +

                                  Constructs the HTML for a text 'input' element with the colour selection +class.

                                  + + + protected + add_color_selection(string $setting_name) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.6 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Use proper colorpicker element.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_label() + +

                                  + + +

                                  Returns the HTML tag for a 'label' element.

                                  + + + protected + add_label(string $setting_name, string $caption) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Settings key.

                                  +
                                  + +
                                  +
                                  + $caption + : string +
                                  +
                                  +

                                  Label caption.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_meta_box() + +

                                  + + +

                                  Returns an array describing a meta box.

                                  + + + protected + add_meta_box(string $section_id, string $id, string $title, string $callback_function_name) : array<string|int, mixed> + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $section_id + : string +
                                  +
                                  +

                                  Parent section ID.

                                  +
                                  + +
                                  +
                                  + $id + : string +
                                  +
                                  +

                                  Unique ID suffix.

                                  +
                                  + +
                                  +
                                  + $title + : string +
                                  +
                                  +

                                  Title for the meta box.

                                  +
                                  + +
                                  +
                                  + $callback_function_name + : string +
                                  +
                                  +

                                  Class method name for callback.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor meta boxes into their own class?

                                  +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Pass actual functions rather than strings?

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + array<string|int, mixed> + — +

                                  { +A dashboard meta box.

                                  +
                                  @type  string  $parent  Parent section ID.
                                  +@type  string  $id  Meta box ID.
                                  +@type  string  $title  Meta box title.
                                  +@type  string  $callback  Meta box callback function.
                                  +
                                  +

                                  }

                                  +
                                  + + +
                                  +
                                  +

                                  + add_num_box() + +

                                  + + +

                                  Constructs the HTML for numeric 'input' element.

                                  + + + protected + add_num_box(string $setting_name, int $p_in_min, int $max[, bool $deci = false ]) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + $p_in_min + : int +
                                  +
                                  +

                                  Minimum value.

                                  +
                                  + +
                                  +
                                  + $max + : int +
                                  +
                                  +

                                  Maximum value.

                                  +
                                  + +
                                  +
                                  + $deci + : bool + = false
                                  +
                                  +

                                  true if float, false if integer. Default false.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_section() + +

                                  + + +

                                  Returns an array describing a sub-page section.

                                  + + + protected + add_section(string $id, string $title, int $settings_container_index[, bool $has_submit_button = true ]) : array<string|int, mixed> + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $id + : string +
                                  +
                                  +

                                  Unique ID suffix.

                                  +
                                  + +
                                  +
                                  + $title + : string +
                                  +
                                  +

                                  Title of the section.

                                  +
                                  + +
                                  +
                                  + $settings_container_index + : int +
                                  +
                                  +

                                  Settings Container index.

                                  +
                                  + +
                                  +
                                  + $has_submit_button + : bool + = true
                                  +
                                  +

                                  Whether a ‘Submit’ button should +be displayed for this section. Default true.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor sections into their own class?

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + array<string|int, mixed> + — +

                                  { +A dashboard section.

                                  +
                                  @type  string  $id  Section ID.
                                  +@type  string  $title  Section title.
                                  +@type  bool  $submit  Whether the section has a submit button or not.
                                  +@type  int  $container  Settings Container index.
                                  +
                                  +

                                  }

                                  +
                                  + + +
                                  +
                                  +

                                  + add_select_box() + +

                                  + + +

                                  Constructs the HTML for a 'select' element.

                                  + + + protected + add_select_box(string $setting_name, array<string|int, mixed> $options) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + $options + : array<string|int, mixed> +
                                  +
                                  +

                                  Possible options.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_text() + +

                                  + + +

                                  Returns a simple text inside a 'span' element.

                                  + + + protected + add_text(string $text) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $text + : string +
                                  +
                                  +

                                  Message to be surrounded with <span> tags.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_text_box() + +

                                  + + +

                                  Constructs the HTML for a text 'input' element.

                                  + + + protected + add_text_box(string $setting_name[, int $max_length = 999 ][, bool $readonly = false ][, bool $hidden = false ]) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + $max_length + : int + = 999
                                  +
                                  +

                                  Maximum length of the input. Default length 999 chars.

                                  +
                                  + +
                                  +
                                  + $readonly + : bool + = false
                                  +
                                  +

                                  Set the input to be read only. Default false.

                                  +
                                  + +
                                  +
                                  + $hidden + : bool + = false
                                  +
                                  +

                                  Set the input to be hidden. Default false.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + add_textarea() + +

                                  + + +

                                  Constructs the HTML for a 'textarea' element.

                                  + + + protected + add_textarea(string $setting_name) : string + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Refactor HTML generation.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + get_meta_boxes() + +

                                  + + +

                                  Returns an array of all registered meta boxes for each section of the sub-page.

                                  + + + protected + get_meta_boxes() : array<string|int, array<string|int, mixed>> + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + see +
                                  +
                                  + Engine::add_meta_box() + +

                                  For more information on the +meta box array format.

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 2.2.0 + +

                                  Re-order and rename tabs.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + array<string|int, array<string|int, mixed>> + — +

                                  All of the registered meta boxes.

                                  +
                                  + + +
                                  +
                                  +

                                  + get_sections() + +

                                  + + +

                                  Returns an array of all registered sections for the sub-page.

                                  + + + protected + get_sections() : array<string|int, array<string|int, mixed>> + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + see +
                                  +
                                  + Engine::add_section() + +

                                  For more information on the section array format.

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 2.1.6 + +

                                  Remove conditional rendering of ‘Expert’ tab.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + array<string|int, array<string|int, mixed>> + — +

                                  All of the registered sections.

                                  +
                                  + + +
                                  +
                                  +

                                  + get_sub_page_slug() + +

                                  + + +

                                  Returns the unique slug of the sub-page.

                                  + + + protected + get_sub_page_slug() : string + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + get_sub_page_title() + +

                                  + + +

                                  Returns the title of the sub-page.

                                  + + + protected + get_sub_page_title() : string + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + string + — +
                                  + + +
                                  +
                                  +

                                  + load_setting() + +

                                  + + +

                                  Loads a specified setting.

                                  + + + protected + load_setting(string $setting_key_name) : array<string|int, mixed> + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $setting_key_name + : string +
                                  +
                                  +

                                  Setting key.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  protected

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 2.5.11 + +

                                  Broken due to accidental removal of esc_attr() call.

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 2.6.1 + +

                                  Restore esc_attr() call.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + array<string|int, mixed> + — +

                                  { +A configurable setting.

                                  +
                                  @type  string  $id  Setting key.
                                  +@type  string  $name  Setting name.
                                  +@type  string  $value  Setting value.
                                  +
                                  +

                                  }

                                  +
                                  + + +
                                  +
                                  +

                                  + append_scripts() + +

                                  + + +

                                  Append JavaScript and CSS files for specific sub-page.

                                  + + + private + append_scripts() : void + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  private

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Move to Admin.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + register_meta_boxes() + +

                                  + + +

                                  Registers all Meta boxes for a sub-page.

                                  + + + private + register_meta_boxes(string $parent_id) : void + +
                                  + +
                                  Parameters
                                  +
                                  +
                                  + $parent_id + : string +
                                  +
                                  +

                                  Parent section unique ID.

                                  +
                                  + +
                                  +
                                  + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  private

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + void + — +
                                  + + +
                                  +
                                  +

                                  + save_settings() + +

                                  + + +

                                  Save all plugin settings.

                                  + + + private + save_settings() : bool + +
                                  + + + +
                                  + Tags + +
                                  +
                                  +
                                  + access +
                                  +
                                  + +

                                  private

                                  +
                                  + +
                                  +
                                  + since +
                                  +
                                  + 1.5.0 + +
                                  + +
                                  +
                                  + todo +
                                  +
                                  + +

                                  Review nonce verification.

                                  +
                                  + +
                                  +
                                  + +
                                  Return values
                                  + bool + — +

                                  true on save success, else false.

                                  +
                                  + + +
                                  +
                                  + +
                                  +
                                  +
                                  +
                                  +

                                  Search results

                                  + +
                                  +
                                  +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + +
                                    + + + + diff --git a/docs/classes/footnotes-general-General.html b/docs/classes/footnotes-general-General.html new file mode 100644 index 0000000..bb24079 --- /dev/null +++ b/docs/classes/footnotes-general-General.html @@ -0,0 +1,1078 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                    +

                                    Documentation

                                    + + + + + +
                                    + +
                                    +
                                    + + + + +
                                    + + +
                                    +

                                    + General + + +
                                    + in package + +
                                    + + +

                                    + + + +

                                    Class provide all public-facing functionality of the plugin.

                                    + +

                                    Defines the plugin name, version, and enqueues all public-facing stylesheets +and JavaScript.

                                    +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +
                                    + +
                                    +
                                    + + + + + + +

                                    + Table of Contents + +

                                    + +
                                    +
                                    + $alternative_tooltips_enabled + +  : bool +
                                    +
                                    Allows to determine whether alternative tooltips are enabled.
                                    + +
                                    + $amp_enabled + +  : bool +
                                    +
                                    Allows to determine whether AMP compatibility mode is enabled.
                                    + +
                                    + $script_mode + +  : string +
                                    +
                                    Allows to determine the script mode among jQuery or plain JS.
                                    + +
                                    + $task + +  : Parser|null +
                                    +
                                    The footnote parser.
                                    + +
                                    + $tooltips_enabled + +  : bool +
                                    +
                                    Flag for using tooltips.
                                    + +
                                    + $plugin_name + +  : string +
                                    +
                                    The ID of this plugin.
                                    + +
                                    + $reference_container_widget + +  : Reference_Container +
                                    +
                                    The reference container widget.
                                    + +
                                    + $version + +  : string +
                                    +
                                    The version of this plugin.
                                    + +
                                    + __construct() + +  : mixed +
                                    +
                                    Initialize the class and set its properties.
                                    + +
                                    + enqueue_scripts() + +  : void +
                                    +
                                    Register the JavaScript for the public-facing side of the site.
                                    + +
                                    + enqueue_styles() + +  : void +
                                    +
                                    Register the stylesheets for the public-facing side of the site.
                                    + +
                                    + register_widgets() + +  : void +
                                    +
                                    Register the widget(s) for the public-facing side of the site.
                                    + +
                                    + load_dependencies() + +  : void +
                                    +
                                    Load the required public-facing dependencies.
                                    + +
                                    + + + + + + +
                                    +

                                    + Properties + +

                                    +
                                    +

                                    + $alternative_tooltips_enabled + + + +

                                    + + +

                                    Allows to determine whether alternative tooltips are enabled.

                                    + + + public + static bool + $alternative_tooltips_enabled + = false + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.1.1 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $amp_enabled + + + +

                                    + + +

                                    Allows to determine whether AMP compatibility mode is enabled.

                                    + + + public + static bool + $amp_enabled + = false + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.6.0 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $script_mode + + + +

                                    + + +

                                    Allows to determine the script mode among jQuery or plain JS.

                                    + + + public + static string + $script_mode + = 'js' + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.5.6 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $task + + + +

                                    + + +

                                    The footnote parser.

                                    + + + public + Parser|null + $task + = null + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 1.5.0 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + todo +
                                    +
                                    + +

                                    Review null init.

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $tooltips_enabled + + + +

                                    + + +

                                    Flag for using tooltips.

                                    + + + public + static bool + $tooltips_enabled + = false + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.4.0 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $plugin_name + + + +

                                    + + +

                                    The ID of this plugin.

                                    + + + private + string + $plugin_name + + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +
                                    + +
                                    +
                                    + access +
                                    +
                                    + +

                                    private

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $reference_container_widget + + + +

                                    + + +

                                    The reference container widget.

                                    + + + private + Reference_Container + $reference_container_widget + + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +
                                    + +
                                    +
                                    + +
                                    +
                                    +

                                    + $version + + + +

                                    + + +

                                    The version of this plugin.

                                    + + + private + string + $version + + +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +
                                    + +
                                    +
                                    + access +
                                    +
                                    + +

                                    private

                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    + +
                                    +

                                    + Methods + +

                                    +
                                    +

                                    + __construct() + +

                                    + + +

                                    Initialize the class and set its properties.

                                    + + + public + __construct(string $plugin_name, string $version) : mixed + +
                                    + +
                                    Parameters
                                    +
                                    +
                                    + $plugin_name + : string +
                                    +
                                    +

                                    The name of this plugin.

                                    +
                                    + +
                                    +
                                    + $version + : string +
                                    +
                                    +

                                    The version of this plugin.

                                    +
                                    + +
                                    +
                                    + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +
                                    + +
                                    +
                                    + +
                                    Return values
                                    + mixed + — +
                                    + + +
                                    +
                                    +

                                    + enqueue_scripts() + +

                                    + + +

                                    Register the JavaScript for the public-facing side of the site.

                                    + + + public + enqueue_scripts() : void + +
                                    + + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 1.5.0 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.0.0 + +

                                    Add jQueryUI dependency.

                                    +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.1.2 + +

                                    Add jQuery Tools dependency.

                                    +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.5.6 + +

                                    Add jQuery dependency.

                                    +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    Return values
                                    + void + — +
                                    + + +
                                    +
                                    +

                                    + enqueue_styles() + +

                                    + + +

                                    Register the stylesheets for the public-facing side of the site.

                                    + + + public + enqueue_styles() : void + +

                                    Enables enqueuing the formatted individual stylesheets if PRODUCTION_ENV +is true.

                                    +
                                    + + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 1.5.0 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.5.5 + +

                                    Change stylesheet schema.

                                    +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    Return values
                                    + void + — +
                                    + + +
                                    +
                                    +

                                    + register_widgets() + +

                                    + + +

                                    Register the widget(s) for the public-facing side of the site.

                                    + + + public + register_widgets() : void + +
                                    + + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 1.5.0 + +
                                    + +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +

                                    Moved from Footnotes to Public.

                                    +
                                    + +
                                    +
                                    + +
                                    Return values
                                    + void + — +
                                    + + +
                                    +
                                    +

                                    + load_dependencies() + +

                                    + + +

                                    Load the required public-facing dependencies.

                                    + + + private + load_dependencies() : void + +

                                    Include the following files that provide the public-facing functionality +of this plugin:

                                    +
                                      +
                                    • +Parser: parses Posts and Pages for footnote shortcodes; and
                                    • +
                                    • +Reference_Container: defines the Reference Container widget.
                                    • +
                                    +
                                    + + + +
                                    + Tags + +
                                    +
                                    +
                                    + since +
                                    +
                                    + 2.8.0 + +
                                    + +
                                    +
                                    + +
                                    Return values
                                    + void + — +
                                    + + +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +

                                    Search results

                                    + +
                                    +
                                    +
                                      +
                                      +
                                      +
                                      +
                                      +
                                      + + +
                                      + + + + diff --git a/docs/classes/footnotes-general-Parser.html b/docs/classes/footnotes-general-Parser.html new file mode 100644 index 0000000..95854a0 --- /dev/null +++ b/docs/classes/footnotes-general-Parser.html @@ -0,0 +1,2584 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                      +

                                      Documentation

                                      + + + + + +
                                      + +
                                      +
                                      + + + + +
                                      + + +
                                      +

                                      + Parser + + +
                                      + in package + +
                                      + + +

                                      + + + +

                                      Searches and replaces the footnotes and generates the reference container.

                                      + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.8.0 + +

                                      Rename class from Footnotes_Task to Parser.

                                      +
                                      + +
                                      +
                                      + + + + + + +

                                      + Table of Contents + +

                                      + +
                                      +
                                      + $allow_love_me + +  : bool +
                                      +
                                      Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.
                                      + +
                                      + $end_tag + +  : string|int +
                                      +
                                      Footnote delimiter end short code.
                                      + +
                                      + $end_tag_regex + +  : string|null +
                                      +
                                      Footnote delimiter end short code in RegEx format.
                                      + +
                                      + $footnote_link_slug + +  : string +
                                      +
                                      The footnote slug.
                                      + +
                                      + $footnotes + +  : array<string|int, mixed> +
                                      +
                                      Contains all footnotes found in the searched content.
                                      + +
                                      + $hard_links_enabled + +  : bool +
                                      +
                                      Hard links for AMP compatibility.
                                      + +
                                      + $link_close_tag + +  : string +
                                      +
                                      The closing tag.
                                      + +
                                      + $link_open_tag + +  : string +
                                      +
                                      The opening tag.
                                      + +
                                      + $link_span + +  : string +
                                      +
                                      The span element name.
                                      + +
                                      + $mirror_tooltip_text + +  : bool +
                                      +
                                      Whether to mirror the tooltip text in the reference container.
                                      + +
                                      + $post_container_id_compound + +  : string +
                                      +
                                      Contains the concatenated fragment ID base.
                                      + +
                                      + $post_id + +  : int +
                                      +
                                      Autoload a.k.a. infinite scroll, or archive view.
                                      + +
                                      + $prefix + +  : string +
                                      +
                                      Prefix for the Footnote html element ID.
                                      + +
                                      + $reference_container_id + +  : int +
                                      +
                                      Multiple reference containers in content and widgets.
                                      + +
                                      + $referrer_link_slug + +  : string +
                                      +
                                      The referrer slug.
                                      + +
                                      + $scroll_offset + +  : int +
                                      +
                                      Scroll offset.
                                      + +
                                      + $start_tag + +  : string|int +
                                      +
                                      Footnote delimiter start short code.
                                      + +
                                      + $start_tag_regex + +  : string|null +
                                      +
                                      Footnote delimiter start short code in RegEx format.
                                      + +
                                      + $syntax_error_flag + +  : bool +
                                      +
                                      Footnote delimiter syntax validation enabled.
                                      + +
                                      + $tooltip_shortcode + +  : string +
                                      +
                                      The tooltip delimiter shortcode.
                                      + +
                                      + $tooltip_shortcode_length + +  : int +
                                      +
                                      The tooltip delimiter shortcode length.
                                      + +
                                      + $link_ids_separator + +  : string +
                                      +
                                      The slug and identifier separator.
                                      + +
                                      + __construct() + +  : mixed +
                                      +
                                      Initialize the class and set its properties.
                                      + +
                                      + exec() + +  : string +
                                      +
                                      Replaces all footnotes that occur in the given content.
                                      + +
                                      + footnotes_in_content() + +  : string +
                                      +
                                      Replaces footnotes in the content of the current page/post.
                                      + +
                                      + footnotes_in_excerpt() + +  : string +
                                      +
                                      Processes existing excerpt or replaces it with a new one generated on the basis of the post.
                                      + +
                                      + footnotes_in_title() + +  : string +
                                      +
                                      Replaces footnotes in the post/page title.
                                      + +
                                      + footnotes_in_widget_text() + +  : string +
                                      +
                                      Replaces footnotes in the content of the current widget.
                                      + +
                                      + footnotes_in_widget_title() + +  : string +
                                      +
                                      Replaces footnotes in the widget title.
                                      + +
                                      + footnotes_output_footer() + +  : void +
                                      +
                                      Displays the 'LOVE FOOTNOTES' slug if enabled.
                                      + +
                                      + footnotes_output_head() + +  : void +
                                      +
                                      Outputs the custom css to the header of the public page.
                                      + +
                                      + generate_excerpt() + +  : string +
                                      +
                                      Generates excerpt on the basis of the post.
                                      + +
                                      + generate_excerpt_with_footnotes() + +  : string +
                                      +
                                      Generates excerpt with footnotes on the basis of the post.
                                      + +
                                      + reference_container() + +  : string +
                                      +
                                      Generates the reference container.
                                      + +
                                      + register_hooks() + +  : void +
                                      +
                                      Register WordPress hooks to replace Footnotes in the content of a public page.
                                      + +
                                      + search() + +  : string +
                                      +
                                      Replaces all footnotes in the given content and appends them to the static property.
                                      + +
                                      + unify_delimiters() + +  : string +
                                      +
                                      Brings the delimiters and unifies their various HTML escapement schemas.
                                      + +
                                      + + + + + + +
                                      +

                                      + Properties + +

                                      +
                                      +

                                      + $allow_love_me + + + +

                                      + + +

                                      Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.

                                      + + + public + static bool + $allow_love_me + = true + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $end_tag + + + +

                                      + + +

                                      Footnote delimiter end short code.

                                      + + + public + static string|int + $end_tag + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.6.2 + +

                                      Move from constant to class property.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $end_tag_regex + + + +

                                      + + +

                                      Footnote delimiter end short code in RegEx format.

                                      + + + public + static string|null + $end_tag_regex + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.4.0 + +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.6.2 + +

                                      Move from global constant to class property.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      The footnote slug.

                                      + + + public + static string + $footnote_link_slug + = 'f' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $footnotes + + + +

                                      + + +

                                      Contains all footnotes found in the searched content.

                                      + + + public + static array<string|int, mixed> + $footnotes + = array() + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      Hard links for AMP compatibility.

                                      + + + public + static bool + $hard_links_enabled + = false + +

                                      A property because used both in search() and reference_container().

                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.0.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      The closing tag.

                                      + + + public + static string + $link_close_tag + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Remove.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      The opening tag.

                                      + + + public + static string + $link_open_tag + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Remove.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      The span element name.

                                      + + + public + static string + $link_span + = 'span' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Remove.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $mirror_tooltip_text + + + +

                                      + + +

                                      Whether to mirror the tooltip text in the reference container.

                                      + + + public + static bool + $mirror_tooltip_text + = false + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.5.2 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $post_container_id_compound + + + +

                                      + + +

                                      Contains the concatenated fragment ID base.

                                      + + + public + static string + $post_container_id_compound + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $post_id + + + +

                                      + + +

                                      Autoload a.k.a. infinite scroll, or archive view.

                                      + + + public + static int + $post_id + = 0 + +

                                      As multiple posts are appended to each other, functions and fragment IDs must be disambiguated. +post ID to make everything unique wrt infinite scroll and archive view.

                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.0.6 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $prefix + + + +

                                      + + +

                                      Prefix for the Footnote html element ID.

                                      + + + public + static string + $prefix + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.8 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $reference_container_id + + + +

                                      + + +

                                      Multiple reference containers in content and widgets.

                                      + + + public + static int + $reference_container_id + = 1 + +

                                      This ID disambiguates multiple reference containers in a page +as they may occur when the widget_text hook is active and the page +is built with Elementor and has an accordion or similar toggle sections.

                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.2.9 + +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      The referrer slug.

                                      + + + public + static string + $referrer_link_slug + = 'r' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $scroll_offset + + + +

                                      + + +

                                      Scroll offset.

                                      + + + public + static int + $scroll_offset + = 34 + +

                                      Websites may use high fixed headers not contracting at scroll. +Scroll offset may now need to get into inline CSS. +Hence it needs to be loaded twice, because priority levels may not match.

                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.1.4 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $start_tag + + + +

                                      + + +

                                      Footnote delimiter start short code.

                                      + + + public + static string|int + $start_tag + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.6.2 + +

                                      Move from constant to class property.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $start_tag_regex + + + +

                                      + + +

                                      Footnote delimiter start short code in RegEx format.

                                      + + + public + static string|null + $start_tag_regex + = '' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.4.0 + +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.6.2 + +

                                      Move from global constant to class property.

                                      +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $syntax_error_flag + + + +

                                      + + +

                                      Footnote delimiter syntax validation enabled.

                                      + + + public + static bool + $syntax_error_flag + = true + +

                                      The algorithm first checks for balanced footnote opening and closing tag short codes. +The first encountered error triggers the display of a warning below the post title.

                                      +

                                      Unbalanced short codes have caused significant trouble because they are hard to detect. +Any compiler or other tool reports syntax errors in the first place. Footnotes' exception +is considered a design flaw, and the feature is released as a bug fix after overdue 2.3.0 +released in urgency to provide AMP compat before 2021.

                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.4.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $tooltip_shortcode + + + +

                                      + + +

                                      The tooltip delimiter shortcode.

                                      + + + public + static string + $tooltip_shortcode + = '[[/tooltip]]' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.5.2 + +
                                      + +
                                      +
                                      + +
                                      +
                                      +

                                      + $tooltip_shortcode_length + + + +

                                      + + +

                                      The tooltip delimiter shortcode length.

                                      + + + public + static int + $tooltip_shortcode_length + = 12 + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.5.2 + +
                                      + +
                                      +
                                      + +
                                      +
                                      + + + +

                                      The slug and identifier separator.

                                      + + + private + static string + $link_ids_separator + = '+' + +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.3.0 + +
                                      + +
                                      +
                                      + +
                                      +
                                      + +
                                      +

                                      + Methods + +

                                      +
                                      +

                                      + __construct() + +

                                      + + +

                                      Initialize the class and set its properties.

                                      + + + public + __construct() : mixed + +
                                      + + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.8.0 + +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Reorganise dependencies.

                                      +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Move call to register_hooks() to General.

                                      +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + mixed + — +
                                      + + +
                                      +
                                      +

                                      + exec() + +

                                      + + +

                                      Replaces all footnotes that occur in the given content.

                                      + + + public + exec(string $content[, bool $output_references = false ][, bool $hide_footnotes_text = false ]) : string + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      Any string that may contain footnotes to be replaced.

                                      +
                                      + +
                                      +
                                      + $output_references + : bool + = false
                                      +
                                      +

                                      Appends the Reference Container to the output if set to true, default true.

                                      +
                                      + +
                                      +
                                      + $hide_footnotes_text + : bool + = false
                                      +
                                      +

                                      Hide footnotes found in the string.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +
                                      + + +
                                      +
                                      +

                                      + footnotes_in_content() + +

                                      + + +

                                      Replaces footnotes in the content of the current page/post.

                                      + + + public + footnotes_in_content(string $content) : string + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      Page/Post content.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $content Content with replaced footnotes.

                                      +
                                      + + +
                                      +
                                      +

                                      + footnotes_in_excerpt() + +

                                      + + +

                                      Processes existing excerpt or replaces it with a new one generated on the basis of the post.

                                      + + + public + footnotes_in_excerpt(string $excerpt) : string + +

                                      The input was already the processed excerpt, no more footnotes to search. +But issue #65 brought up that manual excerpts can include processable footnotes. +Default 'manual' is fallback and is backwards-compatible with the initial setup.

                                      +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $excerpt + : string +
                                      +
                                      +

                                      Excerpt content.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $excerpt Processed or new excerpt.

                                      +
                                      + + +
                                      +
                                      +

                                      + footnotes_in_title() + +

                                      + + +

                                      Replaces footnotes in the post/page title.

                                      + + + public + footnotes_in_title(string $content) : string + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      Title.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $content Title with replaced footnotes.

                                      +
                                      + + +
                                      +
                                      +

                                      + footnotes_in_widget_text() + +

                                      + + +

                                      Replaces footnotes in the content of the current widget.

                                      + + + public + footnotes_in_widget_text(string $content) : string + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      Widget content.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $content Content with replaced footnotes.

                                      +
                                      + + +
                                      +
                                      +

                                      + footnotes_in_widget_title() + +

                                      + + +

                                      Replaces footnotes in the widget title.

                                      + + + public + footnotes_in_widget_title(string $content) : string + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      Widget content.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $content Content with replaced footnotes.

                                      +
                                      + + +
                                      +
                                      + + + +

                                      Displays the 'LOVE FOOTNOTES' slug if enabled.

                                      + + + public + footnotes_output_footer() : void + +
                                      + + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + void + — +
                                      + + +
                                      +
                                      +

                                      + footnotes_output_head() + +

                                      + + +

                                      Outputs the custom css to the header of the public page.

                                      + + + public + footnotes_output_head() : void + +
                                      + + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Refactor to enqueue stylesheets properly in General.

                                      +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + void + — +
                                      + + +
                                      +
                                      +

                                      + generate_excerpt() + +

                                      + + +

                                      Generates excerpt on the basis of the post.

                                      + + + public + generate_excerpt(string $content) : string + +

                                      Applies full WordPress excerpt processing.

                                      +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      The post.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + link +
                                      +
                                      + https://developer.wordpress.org/reference/functions/wp_trim_excerpt/ + +
                                      +
                                      + link +
                                      +
                                      + https://developer.wordpress.org/reference/functions/wp_trim_words/ + +
                                      +
                                      + since +
                                      +
                                      + 2.6.2 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $content An excerpt of the post.

                                      +
                                      + + +
                                      +
                                      +

                                      + generate_excerpt_with_footnotes() + +

                                      + + +

                                      Generates excerpt with footnotes on the basis of the post.

                                      + + + public + generate_excerpt_with_footnotes(string $content) : string + +

                                      Does not apply full WordPress excerpt processing.

                                      +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      The post.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + see +
                                      +
                                      + self::generate_excerpt() + +

                                      Uses information and some code from Advanced Excerpt.

                                      +
                                      + +
                                      +
                                      + link +
                                      +
                                      + https://wordpress.org/plugins/advanced-excerpt/ + +
                                      +
                                      + since +
                                      +
                                      + 2.6.3 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +

                                      $content An excerpt of the post.

                                      +
                                      + + +
                                      +
                                      +

                                      + reference_container() + +

                                      + + +

                                      Generates the reference container.

                                      + + + public + reference_container() : string + +
                                      + + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +
                                      + + +
                                      +
                                      +

                                      + register_hooks() + +

                                      + + +

                                      Register WordPress hooks to replace Footnotes in the content of a public page.

                                      + + + public + register_hooks() : void + +
                                      + + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 1.5.4 + +

                                      Add support for @see 'the_post' hook.

                                      +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.0.5 + +

                                      Enable all hooks by default.

                                      +
                                      + +
                                      +
                                      + since +
                                      +
                                      + 2.1.0 + +

                                      Remove @see 'the_post' support.

                                      +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Move to General.

                                      +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + void + — +
                                      + + +
                                      +
                                      + + + +

                                      Replaces all footnotes in the given content and appends them to the static property.

                                      + + + public + search(string $content, bool $hide_footnotes_text) : string + +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      Any content to be parsed for footnotes.

                                      +
                                      + +
                                      +
                                      + $hide_footnotes_text + : bool +
                                      +
                                      +

                                      Hide footnotes found in the string.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 1.5.0 + +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Refactor to parse DOM rather than using RegEx.

                                      +
                                      + +
                                      +
                                      + todo +
                                      +
                                      + +

                                      Decompose.

                                      +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +
                                      + + +
                                      +
                                      +

                                      + unify_delimiters() + +

                                      + + +

                                      Brings the delimiters and unifies their various HTML escapement schemas.

                                      + + + public + unify_delimiters(string $content) : string + +

                                      While the Classic Editor (visual mode) escapes both pointy brackets, +the Block Editor enforces balanced escapement only in code editor mode +when the opening tag is already escaped. In visual mode, the Block Editor +does not escape the greater-than sign.

                                      +
                                      + +
                                      Parameters
                                      +
                                      +
                                      + $content + : string +
                                      +
                                      +

                                      The footnote, including delimiters.

                                      +
                                      + +
                                      +
                                      + + +
                                      + Tags + +
                                      +
                                      +
                                      + since +
                                      +
                                      + 2.1.14 + +
                                      + +
                                      +
                                      + +
                                      Return values
                                      + string + — +
                                      + + +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                      +

                                      Search results

                                      + +
                                      +
                                      +
                                        +
                                        +
                                        +
                                        +
                                        +
                                        + + +
                                        + + + + diff --git a/docs/classes/footnotes-general-Widget-Base.html b/docs/classes/footnotes-general-Widget-Base.html new file mode 100644 index 0000000..beba6e9 --- /dev/null +++ b/docs/classes/footnotes-general-Widget-Base.html @@ -0,0 +1,507 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                        +

                                        Documentation

                                        + + + + + +
                                        + +
                                        +
                                        + + + + +
                                        + + +
                                        +

                                        + Base + + + extends WP_Widget + + +
                                        + in package + +
                                        + + +

                                        + + + +

                                        Base class to be extended by all widget sub-classes.

                                        + +

                                        Any sub-class must override the appropriate method(s) provided by +WP_Widget.

                                        +
                                        + + +
                                        + Tags + +
                                        +
                                        +
                                        + abstract +
                                        +
                                        + +
                                        + +
                                        +
                                        + since +
                                        +
                                        + 1.5.0 + +
                                        + +
                                        +
                                        + todo +
                                        +
                                        + +

                                        Review implemenation of Widgets API.

                                        +
                                        + +
                                        +
                                        + + + + + + +

                                        + Table of Contents + +

                                        + +
                                        +
                                        + __construct() + +  : mixed +
                                        +
                                        Registers the child Widget to WordPress.
                                        + +
                                        + get_description() + +  : string +
                                        +
                                        Returns the Description of the child widget.
                                        + +
                                        + get_id() + +  : string +
                                        +
                                        Returns an unique ID as string used for the Widget Base ID.
                                        + +
                                        + get_name() + +  : string +
                                        +
                                        Returns the Public name of child Widget to be displayed in the Configuration page.
                                        + +
                                        + get_widget_width() + +  : int +
                                        +
                                        Returns the width of the Widget. Default width is 250 pixel.
                                        + +
                                        + + + + + + + +
                                        +

                                        + Methods + +

                                        +
                                        +

                                        + __construct() + +

                                        + + +

                                        Registers the child Widget to WordPress.

                                        + + + public + __construct() : mixed + +
                                        + + + +
                                        + Tags + +
                                        +
                                        +
                                        + since +
                                        +
                                        + 1.5.0 + +
                                        + +
                                        +
                                        + +
                                        Return values
                                        + mixed + — +
                                        + + +
                                        +
                                        +

                                        + get_description() + +

                                        + + +

                                        Returns the Description of the child widget.

                                        + + + protected + abstract get_description() : string + +
                                        + + + +
                                        + Tags + +
                                        +
                                        +
                                        + abstract +
                                        +
                                        + +
                                        + +
                                        +
                                        + since +
                                        +
                                        + 1.5.0 + +
                                        + +
                                        +
                                        + +
                                        Return values
                                        + string + — +
                                        + + +
                                        +
                                        +

                                        + get_id() + +

                                        + + +

                                        Returns an unique ID as string used for the Widget Base ID.

                                        + + + protected + abstract get_id() : string + +
                                        + + + +
                                        + Tags + +
                                        +
                                        +
                                        + abstract +
                                        +
                                        + +
                                        + +
                                        +
                                        + since +
                                        +
                                        + 1.5.0 + +
                                        + +
                                        +
                                        + +
                                        Return values
                                        + string + — +
                                        + + +
                                        +
                                        +

                                        + get_name() + +

                                        + + +

                                        Returns the Public name of child Widget to be displayed in the Configuration page.

                                        + + + protected + abstract get_name() : string + +
                                        + + + +
                                        + Tags + +
                                        +
                                        +
                                        + abstract +
                                        +
                                        + +
                                        + +
                                        +
                                        + since +
                                        +
                                        + 1.5.0 + +
                                        + +
                                        +
                                        + +
                                        Return values
                                        + string + — +
                                        + + +
                                        +
                                        +

                                        + get_widget_width() + +

                                        + + +

                                        Returns the width of the Widget. Default width is 250 pixel.

                                        + + + protected + get_widget_width() : int + +
                                        + + + +
                                        + Tags + +
                                        +
                                        +
                                        + since +
                                        +
                                        + 1.5.0 + +
                                        + +
                                        +
                                        + +
                                        Return values
                                        + int + — +
                                        + + +
                                        +
                                        + +
                                        +
                                        +
                                        +
                                        +

                                        Search results

                                        + +
                                        +
                                        +
                                          +
                                          +
                                          +
                                          +
                                          +
                                          + + +
                                          + + + + diff --git a/docs/classes/footnotes-general-Widget-Reference-Container.html b/docs/classes/footnotes-general-Widget-Reference-Container.html new file mode 100644 index 0000000..76660e4 --- /dev/null +++ b/docs/classes/footnotes-general-Widget-Reference-Container.html @@ -0,0 +1,760 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                          +

                                          Documentation

                                          + + + + + +
                                          + +
                                          +
                                          + + + + +
                                          + + +
                                          +

                                          + Reference_Container + + + extends Base + + +
                                          + in package + +
                                          + + +

                                          + + + +

                                          Registers a Widget to put the Reference Container to the widget area.

                                          + +
                                          + + +
                                          + Tags + +
                                          +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + todo +
                                          +
                                          + +

                                          Review implemenation of Widgets API.

                                          +
                                          + +
                                          +
                                          + see +
                                          +
                                          + Base + +
                                          + +
                                          +
                                          + + + + + + +

                                          + Table of Contents + +

                                          + +
                                          +
                                          + $plugin_name + +  : string +
                                          +
                                          The ID of this plugin.
                                          + +
                                          + __construct() + +  : mixed +
                                          +
                                          Initialize the class and set its properties.
                                          + +
                                          + form() + +  : mixed +
                                          +
                                          Outputs the Settings of the Widget.
                                          + +
                                          + widget() + +  : mixed +
                                          +
                                          Outputs the Content of the Widget.
                                          + +
                                          + get_description() + +  : string +
                                          +
                                          Returns the Description of the child widget.
                                          + +
                                          + get_id() + +  : string +
                                          +
                                          Returns an unique ID as string used for the Widget Base ID.
                                          + +
                                          + get_name() + +  : string +
                                          +
                                          Returns the Public name of the Widget to be displayed in the Configuration page.
                                          + +
                                          + get_widget_width() + +  : int +
                                          +
                                          Returns the width of the Widget. Default width is 250 pixel.
                                          + +
                                          + + + + + + +
                                          +

                                          + Properties + +

                                          +
                                          +

                                          + $plugin_name + + + +

                                          + + +

                                          The ID of this plugin.

                                          + + + private + string + $plugin_name + + +
                                          + + +
                                          + Tags + +
                                          +
                                          +
                                          + access +
                                          +
                                          + +

                                          private

                                          +
                                          + +
                                          +
                                          + since +
                                          +
                                          + 2.8.0 + +
                                          + +
                                          +
                                          + see +
                                          +
                                          + Footnotes::$plugin_name + +
                                          + +
                                          +
                                          + +
                                          +
                                          + +
                                          +

                                          + Methods + +

                                          +
                                          +

                                          + __construct() + +

                                          + + +

                                          Initialize the class and set its properties.

                                          + + + public + __construct(string $plugin_name) : mixed + +
                                          + +
                                          Parameters
                                          +
                                          +
                                          + $plugin_name + : string +
                                          +
                                          +

                                          The name of this plugin.

                                          +
                                          + +
                                          +
                                          + + +
                                          + Tags + +
                                          +
                                          +
                                          + since +
                                          +
                                          + 2.8.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + mixed + — +
                                          + + +
                                          +
                                          +

                                          + form() + +

                                          + + +

                                          Outputs the Settings of the Widget.

                                          + + + public + form(mixed $instance) : mixed + +
                                          + +
                                          Parameters
                                          +
                                          +
                                          + $instance + : mixed +
                                          +
                                          +

                                          The instance of the widget.

                                          +
                                          + +
                                          +
                                          + + +
                                          + Tags + +
                                          +
                                          +
                                          + link +
                                          +
                                          +

                                          WP_Widget::form()

                                          +
                                          + +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + mixed + — +
                                          + + +
                                          +
                                          +

                                          + widget() + +

                                          + + +

                                          Outputs the Content of the Widget.

                                          + + + public + widget(mixed $args, mixed $instance) : mixed + +
                                          + +
                                          Parameters
                                          +
                                          +
                                          + $args + : mixed +
                                          +
                                          +

                                          The widget's arguments.

                                          +
                                          + +
                                          +
                                          + $instance + : mixed +
                                          +
                                          +

                                          The instance of the widget.

                                          +
                                          + +
                                          +
                                          + + +
                                          + Tags + +
                                          +
                                          +
                                          + link +
                                          +
                                          +

                                          WP_Widget::widget()

                                          +
                                          + +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + mixed + — +
                                          + + +
                                          +
                                          +

                                          + get_description() + +

                                          + + +

                                          Returns the Description of the child widget.

                                          + + + protected + get_description() : string + +
                                          + + + +
                                          + Tags + +
                                          +
                                          +
                                          + see +
                                          +
                                          + Base::get_description() + +
                                          + +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + string + — +
                                          + + +
                                          +
                                          +

                                          + get_id() + +

                                          + + +

                                          Returns an unique ID as string used for the Widget Base ID.

                                          + + + protected + get_id() : string + +
                                          + + + +
                                          + Tags + +
                                          +
                                          +
                                          + see +
                                          +
                                          + Base::get_id() + +
                                          + +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + string + — +
                                          + + +
                                          +
                                          +

                                          + get_name() + +

                                          + + +

                                          Returns the Public name of the Widget to be displayed in the Configuration page.

                                          + + + protected + get_name() : string + +
                                          + + + +
                                          + Tags + +
                                          +
                                          +
                                          + see +
                                          +
                                          + Base::get_name() + +
                                          + +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + string + — +
                                          + + +
                                          +
                                          +

                                          + get_widget_width() + +

                                          + + +

                                          Returns the width of the Widget. Default width is 250 pixel.

                                          + + + protected + get_widget_width() : int + +
                                          + + + +
                                          + Tags + +
                                          +
                                          +
                                          + since +
                                          +
                                          + 1.5.0 + +
                                          + +
                                          +
                                          + +
                                          Return values
                                          + int + — +
                                          + + +
                                          +
                                          + +
                                          +
                                          +
                                          +
                                          +

                                          Search results

                                          + +
                                          +
                                          +
                                            +
                                            +
                                            +
                                            +
                                            +
                                            + + +
                                            + + + + diff --git a/docs/classes/footnotes-includes-Activator.html b/docs/classes/footnotes-includes-Activator.html new file mode 100644 index 0000000..01025f5 --- /dev/null +++ b/docs/classes/footnotes-includes-Activator.html @@ -0,0 +1,238 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                            +

                                            Documentation

                                            + + + + + +
                                            + +
                                            +
                                            + + + + +
                                            + + +
                                            +

                                            + Activator + + +
                                            + in package + +
                                            + + +

                                            + + + +

                                            Class providing action(s) on plugin activation.

                                            + +

                                            This class defines all code necessary to run during the plugin's activation.

                                            +
                                            + + +
                                            + Tags + +
                                            +
                                            +
                                            + since +
                                            +
                                            + 2.8.0 + +
                                            + +
                                            +
                                            + + + + + + +

                                            + Table of Contents + +

                                            + +
                                            +
                                            + activate() + +  : void +
                                            +
                                            Runs when the plugin is deactivated.
                                            + +
                                            + + + + + + + +
                                            +

                                            + Methods + +

                                            +
                                            +

                                            + activate() + +

                                            + + +

                                            Runs when the plugin is deactivated.

                                            + + + public + static activate() : void + +

                                            Currently NOP.

                                            +
                                            + + + +
                                            + Tags + +
                                            +
                                            +
                                            + since +
                                            +
                                            + 2.8.0 + +
                                            + +
                                            +
                                            + +
                                            Return values
                                            + void + — +
                                            + + +
                                            +
                                            + +
                                            +
                                            +
                                            +
                                            +

                                            Search results

                                            + +
                                            +
                                            +
                                              +
                                              +
                                              +
                                              +
                                              +
                                              + + +
                                              + + + + diff --git a/docs/classes/footnotes-includes-Config.html b/docs/classes/footnotes-includes-Config.html new file mode 100644 index 0000000..ba0a891 --- /dev/null +++ b/docs/classes/footnotes-includes-Config.html @@ -0,0 +1,544 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                              +

                                              Documentation

                                              + + + + + +
                                              + +
                                              +
                                              + + + + +
                                              + + +
                                              +

                                              + Config + + +
                                              + in package + +
                                              + + +

                                              + + + +

                                              Class defining plugin constants.

                                              + +

                                              This class contains no methods of properties.

                                              +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + since +
                                              +
                                              + 1.5.0 + +
                                              + +
                                              +
                                              + since +
                                              +
                                              + 2.8.0 + +

                                              Renamed class from Footnotes_Config to Config. +Moved under footnotes\includes namespace.

                                              +
                                              + +
                                              +
                                              + todo +
                                              +
                                              + +

                                              Remove.

                                              +
                                              + +
                                              +
                                              + deprecated +
                                              +
                                              + +
                                              + +
                                              +
                                              + + + + + + +

                                              + Table of Contents + +

                                              + +
                                              +
                                              + LOVE_SYMBOL + +  = '<span style="color:#ff6d3b; font-weight:bold;">&hearts;</span>' +
                                              +
                                              HTML element for the ‘love’ symbol.
                                              + +
                                              + LOVE_SYMBOL_HEADING + +  = '<span class="footnotes_heart_heading">&hearts;</span>' +
                                              +
                                              HTML element for the ‘love’ symbol used in dashboard heading
                                              + +
                                              + NO_LOVE_SLUG + +  = '[[no footnotes: love]]' +
                                              +
                                              Shortcode to NOT display the ‘LOVE ME’ slug on certain pages.
                                              + +
                                              + PLUGIN_HEADING_NAME + +  = '<span class="footnotes_logo_heading footnotes_logo_part1_heading">foot</span><span class="footnotes_logo_heading footnotes_logo_part2_heading">notes</span>' +
                                              +
                                              Public plugin name for use as a dashboard heading.
                                              + +
                                              + PLUGIN_PUBLIC_NAME + +  = '<span class="footnotes_logo footnotes_logo_part1">foot</span><span class="footnotes_logo footnotes_logo_part2">notes</span>' +
                                              +
                                              Public plugin name.
                                              + +
                                              + + + + +
                                              +

                                              + Constants + +

                                              +
                                              +

                                              + LOVE_SYMBOL + +

                                              + + + +

                                              HTML element for the ‘love’ symbol.

                                              + + + public + string + LOVE_SYMBOL + = '<span style="color:#ff6d3b; font-weight:bold;">&hearts;</span>' + + + +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + since +
                                              +
                                              + 1.5.0 + +
                                              + +
                                              +
                                              + todo +
                                              +
                                              + +

                                              Remove.

                                              +
                                              + +
                                              +
                                              + deprecated +
                                              +
                                              + +
                                              + +
                                              +
                                              + +
                                              +
                                              +

                                              + LOVE_SYMBOL_HEADING + +

                                              + + + +

                                              HTML element for the ‘love’ symbol used in dashboard heading

                                              + + + public + string + LOVE_SYMBOL_HEADING + = '<span class="footnotes_heart_heading">&hearts;</span>' + + + +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + since +
                                              +
                                              + 2.0.4 + +
                                              + +
                                              +
                                              + todo +
                                              +
                                              + +

                                              Remove.

                                              +
                                              + +
                                              +
                                              + deprecated +
                                              +
                                              + +
                                              + +
                                              +
                                              + +
                                              +
                                              +

                                              + NO_LOVE_SLUG + +

                                              + + + +

                                              Shortcode to NOT display the ‘LOVE ME’ slug on certain pages.

                                              + + + public + string + NO_LOVE_SLUG + = '[[no footnotes: love]]' + + + +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + since +
                                              +
                                              + 1.5.0 + +
                                              + +
                                              +
                                              + todo +
                                              +
                                              + +

                                              Remove.

                                              +
                                              + +
                                              +
                                              + deprecated +
                                              +
                                              + +
                                              + +
                                              +
                                              + +
                                              +
                                              +

                                              + PLUGIN_HEADING_NAME + +

                                              + + + +

                                              Public plugin name for use as a dashboard heading.

                                              + + + public + string + PLUGIN_HEADING_NAME + = '<span class="footnotes_logo_heading footnotes_logo_part1_heading">foot</span><span class="footnotes_logo_heading footnotes_logo_part2_heading">notes</span>' + + + +

                                              After properly displaying in dashboard headings until WPv5.4, the above started +in WP 5.5 being torn apart as if the headline was text-align:justify and not +the last line. That ugly display bug badly affected the plugin's communication. +The only working solution found so far is using position:fixed in one heading +that isn't translated, and dropping the logo in another, translatable heading.

                                              +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + since +
                                              +
                                              + 2.0.4 + +
                                              + +
                                              +
                                              + todo +
                                              +
                                              + +

                                              Remove.

                                              +
                                              + +
                                              +
                                              + deprecated +
                                              +
                                              + +
                                              + +
                                              +
                                              + +
                                              +
                                              +

                                              + PLUGIN_PUBLIC_NAME + +

                                              + + + +

                                              Public plugin name.

                                              + + + public + string + PLUGIN_PUBLIC_NAME + = '<span class="footnotes_logo footnotes_logo_part1">foot</span><span class="footnotes_logo footnotes_logo_part2">notes</span>' + + + +
                                              + + +
                                              + Tags + +
                                              +
                                              +
                                              + since +
                                              +
                                              + 1.5.0 + +
                                              + +
                                              +
                                              + todo +
                                              +
                                              + +

                                              Remove.

                                              +
                                              + +
                                              +
                                              + deprecated +
                                              +
                                              + +
                                              + +
                                              +
                                              + +
                                              +
                                              + + + + +
                                              +
                                              +
                                              +
                                              +

                                              Search results

                                              + +
                                              +
                                              +
                                                +
                                                +
                                                +
                                                +
                                                +
                                                + + +
                                                + + + + diff --git a/docs/classes/footnotes-includes-Convert.html b/docs/classes/footnotes-includes-Convert.html new file mode 100644 index 0000000..3266682 --- /dev/null +++ b/docs/classes/footnotes-includes-Convert.html @@ -0,0 +1,743 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                +

                                                Documentation

                                                + + + + + +
                                                + +
                                                +
                                                + + + + +
                                                + + +
                                                +

                                                + Convert + + +
                                                + in package + +
                                                + + +

                                                + + + +

                                                Class providing variable type and value conversion functions.

                                                + +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.5.0 + +
                                                + +
                                                +
                                                + + + + + + +

                                                + Table of Contents + +

                                                + +
                                                +
                                                + debug() + +  : void +
                                                +
                                                Displays a variable.
                                                + +
                                                + get_arrow() + +  : string|array<string|int, string> +
                                                +
                                                Get an HTML array short code depending on Arrow-Array key index.
                                                + +
                                                + index() + +  : string +
                                                +
                                                Converts an integer into the user-defined counter style for the footnotes.
                                                + +
                                                + to_bool() + +  : bool +
                                                +
                                                Converts a string depending on its value to a boolean.
                                                + +
                                                + to_arabic_leading() + +  : string +
                                                +
                                                Converts an integer to a leading-0 integer.
                                                + +
                                                + to_latin() + +  : string +
                                                +
                                                Converts an integer into Latin ASCII characters, either lower or upper-case.
                                                + +
                                                + to_roman() + +  : string +
                                                +
                                                Converts an integer to a Roman numeral.
                                                + +
                                                + + + + + + + +
                                                +

                                                + Methods + +

                                                +
                                                +

                                                + debug() + +

                                                + + +

                                                Displays a variable.

                                                + + + public + static debug(mixed $p_mixed_value) : void + +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $p_mixed_value + : mixed +
                                                +
                                                +

                                                The variable to display.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.5.0 + +
                                                + +
                                                +
                                                + todo +
                                                +
                                                + +

                                                Replace with proper logging/debug functions.

                                                +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + void + — +
                                                + + +
                                                +
                                                +

                                                + get_arrow() + +

                                                + + +

                                                Get an HTML array short code depending on Arrow-Array key index.

                                                + + + public + static get_arrow([int $index = -1 ]) : string|array<string|int, string> + +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $index + : int + = -1
                                                +
                                                +

                                                Index representing the arrow. If empty, all arrows are specified.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.3.2 + +
                                                + +
                                                +
                                                + todo +
                                                +
                                                + +

                                                Review.

                                                +
                                                + +
                                                +
                                                + todo +
                                                +
                                                + +

                                                Single return type.

                                                +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + string|array<string|int, string> + — +

                                                Array of all arrows if index is empty, otherwise HTML tag of a specific arrow.

                                                +
                                                + + +
                                                +
                                                +

                                                + index() + +

                                                + + +

                                                Converts an integer into the user-defined counter style for the footnotes.

                                                + + + public + static index(int $index[, string $convert_style = 'arabic_plain' ]) : string + +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $index + : int +
                                                +
                                                +

                                                Index to be converted.

                                                +
                                                + +
                                                +
                                                + $convert_style + : string + = 'arabic_plain'
                                                +
                                                +

                                                Counter style to use.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.5.0 + +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + string + — +

                                                The index converted to the defined counter style.

                                                +
                                                + + +
                                                +
                                                +

                                                + to_bool() + +

                                                + + +

                                                Converts a string depending on its value to a boolean.

                                                + + + public + static to_bool(string $value) : bool + +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $value + : string +
                                                +
                                                +

                                                String to be converted to boolean.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.0-beta + +
                                                + +
                                                +
                                                + todo +
                                                +
                                                + +

                                                Replace with built-in type casting.

                                                +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + bool + — +

                                                Boolean value represented by the string.

                                                +
                                                + + +
                                                +
                                                +

                                                + to_arabic_leading() + +

                                                + + +

                                                Converts an integer to a leading-0 integer.

                                                + + + private + static to_arabic_leading(int $value) : string + +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $value + : int +
                                                +
                                                +

                                                Value to be converted.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.0-gamma + +
                                                + +
                                                +
                                                + todo +
                                                +
                                                + +

                                                Replace with built-in string formatting.

                                                +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + string + — +

                                                Value with a leading zero.

                                                +
                                                + + +
                                                +
                                                +

                                                + to_latin() + +

                                                + + +

                                                Converts an integer into Latin ASCII characters, either lower or upper-case.

                                                + + + private + static to_latin(int $value, bool $upper_case) : string + +

                                                This function works from values A–ZZ (meaning there is a limit of 676 +gootnotes per Page).

                                                +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $value + : int +
                                                +
                                                +

                                                Value to be converted.

                                                +
                                                + +
                                                +
                                                + $upper_case + : bool +
                                                +
                                                +

                                                Whether to convert the value to upper-case.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.0-gamma + +
                                                + +
                                                +
                                                + todo +
                                                +
                                                + +

                                                Replace with built-in char casting.

                                                +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + string + — +
                                                + + +
                                                +
                                                +

                                                + to_roman() + +

                                                + + +

                                                Converts an integer to a Roman numeral.

                                                + + + private + static to_roman(int $value, bool $upper_case) : string + +
                                                + +
                                                Parameters
                                                +
                                                +
                                                + $value + : int +
                                                +
                                                +

                                                Value to be converted.

                                                +
                                                + +
                                                +
                                                + $upper_case + : bool +
                                                +
                                                +

                                                Whether to convert the value to upper-case.

                                                +
                                                + +
                                                +
                                                + + +
                                                + Tags + +
                                                +
                                                +
                                                + since +
                                                +
                                                + 1.0-gamma + +
                                                + +
                                                +
                                                + +
                                                Return values
                                                + string + — +
                                                + + +
                                                +
                                                + +
                                                +
                                                +
                                                +
                                                +

                                                Search results

                                                + +
                                                +
                                                +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + +
                                                  + + + + diff --git a/docs/classes/footnotes-includes-Core.html b/docs/classes/footnotes-includes-Core.html new file mode 100644 index 0000000..ff7ec7c --- /dev/null +++ b/docs/classes/footnotes-includes-Core.html @@ -0,0 +1,957 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                  +

                                                  Documentation

                                                  + + + + + +
                                                  + +
                                                  +
                                                  + + + + +
                                                  + + +
                                                  +

                                                  + Core + + +
                                                  + in package + +
                                                  + + +

                                                  + + + +

                                                  Class providing core plugin functionality.

                                                  + +

                                                  This is used to define internationalization, admin-specific hooks, and +public-facing site hooks.

                                                  +
                                                  + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 1.5.0 + +
                                                  + +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +

                                                  Renamed class from Footnotes to Core. +Moved under footnotes\includes namespace.

                                                  +
                                                  + +
                                                  +
                                                  + + + + + + +

                                                  + Table of Contents + +

                                                  + +
                                                  +
                                                  + $loader + +  : Loader +
                                                  +
                                                  The loader that's responsible for maintaining and registering all hooks +that power the plugin.
                                                  + +
                                                  + $plugin_name + +  : string +
                                                  +
                                                  The unique identifier of this plugin
                                                  + +
                                                  + $version + +  : string +
                                                  +
                                                  The current version of the plugin.
                                                  + +
                                                  + __construct() + +  : void +
                                                  +
                                                  Builds the core of the plugin.
                                                  + +
                                                  + get_loader() + +  : Loader +
                                                  +
                                                  Returns a reference to the class that orchestrates the hooks with the plugin.
                                                  + +
                                                  + get_plugin_name() + +  : string +
                                                  +
                                                  Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.
                                                  + +
                                                  + get_version() + +  : string +
                                                  +
                                                  Gets the version number of the plugin.
                                                  + +
                                                  + run() + +  : void +
                                                  +
                                                  Runs the loader to execute all of the hooks with WordPress.
                                                  + +
                                                  + define_admin_hooks() + +  : void +
                                                  +
                                                  Register all of the hooks related to the admin area functionality of the +plugin.
                                                  + +
                                                  + define_public_hooks() + +  : void +
                                                  +
                                                  Register all of the hooks related to the public-facing functionality of +the plugin.
                                                  + +
                                                  + load_dependencies() + +  : void +
                                                  +
                                                  Load the required dependencies for this plugin.
                                                  + +
                                                  + set_locale() + +  : void +
                                                  +
                                                  Define the locale for this plugin for internationalization.
                                                  + +
                                                  + + + + + + +
                                                  +

                                                  + Properties + +

                                                  +
                                                  +

                                                  + $loader + + + +

                                                  + + +

                                                  The loader that's responsible for maintaining and registering all hooks +that power the plugin.

                                                  + + + protected + Loader + $loader + + +
                                                  + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  +
                                                  +

                                                  + $plugin_name + + + +

                                                  + + +

                                                  The unique identifier of this plugin

                                                  + + + protected + string + $plugin_name + + +
                                                  + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  +
                                                  +

                                                  + $version + + + +

                                                  + + +

                                                  The current version of the plugin.

                                                  + + + protected + string + $version + + +
                                                  + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + see +
                                                  +
                                                  + PLUGIN_VERSION + +
                                                  + +
                                                  +
                                                  + +
                                                  +
                                                  + +
                                                  +

                                                  + Methods + +

                                                  +
                                                  +

                                                  + __construct() + +

                                                  + + +

                                                  Builds the core of the plugin.

                                                  + + + public + __construct() : void + +

                                                  Set the plugin name and the plugin version that can be used throughout the +plugin. Load the dependencies, define the locale, and set the hooks for +the admin area and the public-facing side of the site.

                                                  +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 1.0.0 + +
                                                  + +
                                                  +
                                                  + global +
                                                  +
                                                  + +

                                                  string PLUGIN_VERSION

                                                  +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + void + — +
                                                  + + +
                                                  +
                                                  +

                                                  + get_loader() + +

                                                  + + +

                                                  Returns a reference to the class that orchestrates the hooks with the plugin.

                                                  + + + public + get_loader() : Loader + +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + Loader + — +
                                                  + + +
                                                  +
                                                  +

                                                  + get_plugin_name() + +

                                                  + + +

                                                  Gets the name of the plugin used to uniquely identify it within the +context of WordPress and to define internationalization functionality.

                                                  + + + public + get_plugin_name() : string + +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + string + — +
                                                  + + +
                                                  +
                                                  +

                                                  + get_version() + +

                                                  + + +

                                                  Gets the version number of the plugin.

                                                  + + + public + get_version() : string + +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + string + — +
                                                  + + +
                                                  +
                                                  +

                                                  + run() + +

                                                  + + +

                                                  Runs the loader to execute all of the hooks with WordPress.

                                                  + + + public + run() : void + +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 1.5.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + void + — +
                                                  + + +
                                                  +
                                                  +

                                                  + define_admin_hooks() + +

                                                  + + +

                                                  Register all of the hooks related to the admin area functionality of the +plugin.

                                                  + + + private + define_admin_hooks() : void + +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 1.5.0 + +
                                                  + +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +

                                                  Moved hook registrations from various classes into Admin\Admin.

                                                  +
                                                  + +
                                                  +
                                                  + see +
                                                  +
                                                  + Admin + +

                                                  Defines admin functionality.

                                                  +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + void + — +
                                                  + + +
                                                  +
                                                  +

                                                  + define_public_hooks() + +

                                                  + + +

                                                  Register all of the hooks related to the public-facing functionality of +the plugin.

                                                  + + + private + define_public_hooks() : void + +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + see +
                                                  +
                                                  + General + +

                                                  Defines public-facing functionality.

                                                  +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + void + — +
                                                  + + +
                                                  +
                                                  +

                                                  + load_dependencies() + +

                                                  + + +

                                                  Load the required dependencies for this plugin.

                                                  + + + private + load_dependencies() : void + +

                                                  Includes the following files that make up the plugin:

                                                  +
                                                    +
                                                  • +Loader: orchestrates the hooks of the plugin;
                                                  • +
                                                  • +i18n: defines internationalization functionality;
                                                  • +
                                                  • +Config: defines plugin details;
                                                  • +
                                                  • +Convert: provides conversion methods;
                                                  • +
                                                  • +Settings: defines customisable plugin settings;
                                                  • +
                                                  • +Template: handles template rendering;
                                                  • +
                                                  • +Admin: defines all hooks for the admin area; and
                                                  • +
                                                  • +Public: defines all hooks for the public side of the site.
                                                  • +
                                                  +

                                                  Creates an instance of the loader which will be used to register the hooks +with WordPress.

                                                  +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + void + — +
                                                  + + +
                                                  +
                                                  +

                                                  + set_locale() + +

                                                  + + +

                                                  Define the locale for this plugin for internationalization.

                                                  + + + private + set_locale() : void + +

                                                  Uses i18n in order to set the domain and to +register the hook with WordPress.

                                                  +
                                                  + + + +
                                                  + Tags + +
                                                  +
                                                  +
                                                  + since +
                                                  +
                                                  + 2.8.0 + +
                                                  + +
                                                  +
                                                  + uses +
                                                  +
                                                  + i18n + +

                                                  Handles initialization functions.

                                                  +
                                                  + +
                                                  +
                                                  + +
                                                  Return values
                                                  + void + — +
                                                  + + +
                                                  +
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  +

                                                  Search results

                                                  + +
                                                  +
                                                  +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    + + +
                                                    + + + + diff --git a/docs/classes/footnotes-includes-Deactivator.html b/docs/classes/footnotes-includes-Deactivator.html new file mode 100644 index 0000000..233f3ef --- /dev/null +++ b/docs/classes/footnotes-includes-Deactivator.html @@ -0,0 +1,238 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                    +

                                                    Documentation

                                                    + + + + + +
                                                    + +
                                                    +
                                                    + + + + +
                                                    + + +
                                                    +

                                                    + Deactivator + + +
                                                    + in package + +
                                                    + + +

                                                    + + + +

                                                    Class providing action(s) on plugin deactivation.

                                                    + +

                                                    This class defines all code necessary to run during the plugin's deactivation.

                                                    +
                                                    + + +
                                                    + Tags + +
                                                    +
                                                    +
                                                    + since +
                                                    +
                                                    + 2.8.0 + +
                                                    + +
                                                    +
                                                    + + + + + + +

                                                    + Table of Contents + +

                                                    + +
                                                    +
                                                    + deactivate() + +  : void +
                                                    +
                                                    Runs when the plugin is deactivated.
                                                    + +
                                                    + + + + + + + +
                                                    +

                                                    + Methods + +

                                                    +
                                                    +

                                                    + deactivate() + +

                                                    + + +

                                                    Runs when the plugin is deactivated.

                                                    + + + public + static deactivate() : void + +

                                                    Currently NOP.

                                                    +
                                                    + + + +
                                                    + Tags + +
                                                    +
                                                    +
                                                    + since +
                                                    +
                                                    + 2.8.0 + +
                                                    + +
                                                    +
                                                    + +
                                                    Return values
                                                    + void + — +
                                                    + + +
                                                    +
                                                    + +
                                                    +
                                                    +
                                                    +
                                                    +

                                                    Search results

                                                    + +
                                                    +
                                                    +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + + +
                                                      + + + + diff --git a/docs/classes/footnotes-includes-Loader.html b/docs/classes/footnotes-includes-Loader.html new file mode 100644 index 0000000..d2b979b --- /dev/null +++ b/docs/classes/footnotes-includes-Loader.html @@ -0,0 +1,791 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                      +

                                                      Documentation

                                                      + + + + + +
                                                      + +
                                                      +
                                                      + + + + +
                                                      + + +
                                                      +

                                                      + Loader + + +
                                                      + in package + +
                                                      + + +

                                                      + + + +

                                                      Class defining action/filter registration for the plugin.

                                                      + +

                                                      Maintain a list of all hooks that are registered throughout the plugin, and +register them with the WordPress API. Call the run function to execute the +list of actions and filters.

                                                      +
                                                      + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + + + + + + +

                                                      + Table of Contents + +

                                                      + +
                                                      +
                                                      + $actions + +  : array<string|int, mixed> +
                                                      +
                                                      The array of actions registered with WordPress.
                                                      + +
                                                      + $filters + +  : array<string|int, mixed> +
                                                      +
                                                      The array of filters registered with WordPress.
                                                      + +
                                                      + __construct() + +  : void +
                                                      +
                                                      Initialize the collections used to maintain the actions and filters.
                                                      + +
                                                      + add_action() + +  : void +
                                                      +
                                                      Add a new action to the collection to be registered with WordPress.
                                                      + +
                                                      + add_filter() + +  : void +
                                                      +
                                                      Add a new filter to the collection to be registered with WordPress.
                                                      + +
                                                      + run() + +  : void +
                                                      +
                                                      Registers the filters and actions with WordPress.
                                                      + +
                                                      + add() + +  : array<string|int, array<string|int, string|int|object>> +
                                                      +
                                                      A utility function that is used to register the actions and hooks into a single +collection.
                                                      + +
                                                      + + + + + + +
                                                      +

                                                      + Properties + +

                                                      +
                                                      +

                                                      + $actions + + + +

                                                      + + +

                                                      The array of actions registered with WordPress.

                                                      + + + protected + array<string|int, mixed> + $actions + + +
                                                      + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + see +
                                                      +
                                                      + Loader::add() + +

                                                      For more information on the hook array format.

                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      +
                                                      +

                                                      + $filters + + + +

                                                      + + +

                                                      The array of filters registered with WordPress.

                                                      + + + protected + array<string|int, mixed> + $filters + + +
                                                      + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + see +
                                                      +
                                                      + Loader::add() + +

                                                      For more information on the hook array format.

                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      +

                                                      + Methods + +

                                                      +
                                                      +

                                                      + __construct() + +

                                                      + + +

                                                      Initialize the collections used to maintain the actions and filters.

                                                      + + + public + __construct() : void + +
                                                      + + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + +
                                                      Return values
                                                      + void + — +
                                                      + + +
                                                      +
                                                      +

                                                      + add_action() + +

                                                      + + +

                                                      Add a new action to the collection to be registered with WordPress.

                                                      + + + public + add_action(string $hook, object $component, string $callback[, int $priority = 10 ][, int $accepted_args = 1 ]) : void + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $hook + : string +
                                                      +
                                                      +

                                                      The name of the WordPress action that is being registered.

                                                      +
                                                      + +
                                                      +
                                                      + $component + : object +
                                                      +
                                                      +

                                                      A reference to the instance of the object on which the action is defined.

                                                      +
                                                      + +
                                                      +
                                                      + $callback + : string +
                                                      +
                                                      +

                                                      The name of the function definition on the $component.

                                                      +
                                                      + +
                                                      +
                                                      + $priority + : int + = 10
                                                      +
                                                      +

                                                      Optional. The priority at which the function should be fired. Default is 10.

                                                      +
                                                      + +
                                                      +
                                                      + $accepted_args + : int + = 1
                                                      +
                                                      +

                                                      Optional. The number of arguments that should be passed to the $callback. Default is 1.

                                                      +
                                                      + +
                                                      +
                                                      + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + see +
                                                      +
                                                      + Loader::add() + +

                                                      For more information on the hook array format.

                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      Return values
                                                      + void + — +
                                                      + + +
                                                      +
                                                      +

                                                      + add_filter() + +

                                                      + + +

                                                      Add a new filter to the collection to be registered with WordPress.

                                                      + + + public + add_filter(string $hook, object $component, string $callback[, int $priority = 10 ][, int $accepted_args = 1 ]) : void + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $hook + : string +
                                                      +
                                                      +

                                                      The name of the WordPress filter that is being registered.

                                                      +
                                                      + +
                                                      +
                                                      + $component + : object +
                                                      +
                                                      +

                                                      A reference to the instance of the object on which the filter is defined.

                                                      +
                                                      + +
                                                      +
                                                      + $callback + : string +
                                                      +
                                                      +

                                                      The name of the function definition on the $component.

                                                      +
                                                      + +
                                                      +
                                                      + $priority + : int + = 10
                                                      +
                                                      +

                                                      Optional. The priority at which the function should be fired. Default is 10.

                                                      +
                                                      + +
                                                      +
                                                      + $accepted_args + : int + = 1
                                                      +
                                                      +

                                                      Optional. The number of arguments that should be passed to the $callback. Default is 1.

                                                      +
                                                      + +
                                                      +
                                                      + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + see +
                                                      +
                                                      + Loader::add() + +

                                                      For more information on the hook array format.

                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      Return values
                                                      + void + — +
                                                      + + +
                                                      +
                                                      +

                                                      + run() + +

                                                      + + +

                                                      Registers the filters and actions with WordPress.

                                                      + + + public + run() : void + +
                                                      + + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + see +
                                                      +
                                                      + Loader::add() + +

                                                      For more information on the hook array format.

                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      Return values
                                                      + void + — +
                                                      + + +
                                                      +
                                                      +

                                                      + add() + +

                                                      + + +

                                                      A utility function that is used to register the actions and hooks into a single +collection.

                                                      + + + private + add(array<string|int, array<string|int, string|int|object>> $hooks, string $hook, object $component, string $callback, int $priority, int $accepted_args) : array<string|int, array<string|int, string|int|object>> + +
                                                      + +
                                                      Parameters
                                                      +
                                                      +
                                                      + $hooks + : array<string|int, array<string|int, string|int|object>> +
                                                      +
                                                      +

                                                      The collection of hooks that is being registered (that is, actions or filters).

                                                      +
                                                      + +
                                                      +
                                                      + $hook + : string +
                                                      +
                                                      +

                                                      The name of the WordPress filter that is being registered.

                                                      +
                                                      + +
                                                      +
                                                      + $component + : object +
                                                      +
                                                      +

                                                      A reference to the instance of the object on which the filter is defined.

                                                      +
                                                      + +
                                                      +
                                                      + $callback + : string +
                                                      +
                                                      +

                                                      The name of the function definition on the $component.

                                                      +
                                                      + +
                                                      +
                                                      + $priority + : int +
                                                      +
                                                      +

                                                      The priority at which the function should be fired.

                                                      +
                                                      + +
                                                      +
                                                      + $accepted_args + : int +
                                                      +
                                                      +

                                                      The number of arguments that should be passed to the $callback.

                                                      +
                                                      + +
                                                      +
                                                      + + +
                                                      + Tags + +
                                                      +
                                                      +
                                                      + since +
                                                      +
                                                      + 2.8.0 + +
                                                      + +
                                                      +
                                                      + +
                                                      Return values
                                                      + array<string|int, array<string|int, string|int|object>> + — +

                                                      { +The registered hook(s).

                                                      +
                                                      @type string $hook The name of the registered WordPress hook.
                                                      +@type object $component A reference to the instance of the object on which the hook is defined.
                                                      +@type string $callback The name of the function definition on the `$component`.
                                                      +@type int $priority The priority at which the function should be fired.
                                                      +@type int $accepted_args The number of arguments that should be passed to the `$callback`.
                                                      +
                                                      +

                                                      }

                                                      +
                                                      + + +
                                                      +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Search results

                                                      + +
                                                      +
                                                      +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + +
                                                        + + + + diff --git a/docs/classes/footnotes-includes-Settings.html b/docs/classes/footnotes-includes-Settings.html new file mode 100644 index 0000000..2d7d5d9 --- /dev/null +++ b/docs/classes/footnotes-includes-Settings.html @@ -0,0 +1,6494 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                        +

                                                        Documentation

                                                        + + + + + +
                                                        + +
                                                        +
                                                        + + + + +
                                                        + + +
                                                        +

                                                        + Settings + + +
                                                        + in package + +
                                                        + + +

                                                        + + + +

                                                        Class defining configurable plugin settings.

                                                        + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.8.0 + +

                                                        Renamed class from Footnotes_Settings to Settings. +Moved under footnotes\includes namespace.

                                                        +
                                                        + +
                                                        +
                                                        + + + + + + +

                                                        + Table of Contents + +

                                                        + +
                                                        +
                                                        + BACKLINKS_COLUMN_MAX_WIDTH_ENABLED + +  = 'footnotes_inputfield_backlinks_column_max_width_enabled' +
                                                        +
                                                        Settings container key to enable a max width for the backlinks column.
                                                        + +
                                                        + BACKLINKS_COLUMN_MAX_WIDTH_SCALAR + +  = 'footnotes_inputfield_backlinks_column_max_width_scalar' +
                                                        +
                                                        Settings container key for the backlinks column max width scalar.
                                                        + +
                                                        + BACKLINKS_COLUMN_MAX_WIDTH_UNIT + +  = 'footnotes_inputfield_backlinks_column_max_width_unit' +
                                                        +
                                                        Settings container key for the backlinks column max width unit.
                                                        + +
                                                        + BACKLINKS_COLUMN_WIDTH_ENABLED + +  = 'footnotes_inputfield_backlinks_column_width_enabled' +
                                                        +
                                                        Settings container key to enable the backlinks column width.
                                                        + +
                                                        + BACKLINKS_COLUMN_WIDTH_SCALAR + +  = 'footnotes_inputfield_backlinks_column_width_scalar' +
                                                        +
                                                        Settings container key for the backlinks column width scalar.
                                                        + +
                                                        + BACKLINKS_COLUMN_WIDTH_UNIT + +  = 'footnotes_inputfield_backlinks_column_width_unit' +
                                                        +
                                                        Settings container key for the backlinks column width unit.
                                                        + +
                                                        + BACKLINKS_LINE_BREAKS_ENABLED + +  = 'footnotes_inputfield_backlinks_line_breaks_enabled' +
                                                        +
                                                        Settings container key to enable line breaks between backlinks.
                                                        + +
                                                        + BACKLINKS_SEPARATOR_CUSTOM + +  = 'footnotes_inputfield_backlinks_separator_custom' +
                                                        +
                                                        Settings container key for a custom backlink separator.
                                                        + +
                                                        + BACKLINKS_SEPARATOR_ENABLED + +  = 'footnotes_inputfield_backlinks_separator_enabled' +
                                                        +
                                                        Settings container key to enable the presence of a backlink separator.
                                                        + +
                                                        + BACKLINKS_SEPARATOR_OPTION + +  = 'footnotes_inputfield_backlinks_separator_option' +
                                                        +
                                                        Settings container key for the backlink separator options.
                                                        + +
                                                        + BACKLINKS_TERMINATOR_CUSTOM + +  = 'footnotes_inputfield_backlinks_terminator_custom' +
                                                        +
                                                        Settings container key for a custom backlink terminator.
                                                        + +
                                                        + BACKLINKS_TERMINATOR_ENABLED + +  = 'footnotes_inputfield_backlinks_terminator_enabled' +
                                                        +
                                                        Settings container key to enable the presence of a backlink terminator.
                                                        + +
                                                        + BACKLINKS_TERMINATOR_OPTION + +  = 'footnotes_inputfield_backlinks_terminator_option' +
                                                        +
                                                        Settings container key for the backlink terminator options.
                                                        + +
                                                        + COMBINE_IDENTICAL_FOOTNOTES + +  = 'footnote_inputfield_combine_identical' +
                                                        +
                                                        Settings container key for combining identical footnotes.
                                                        + +
                                                        + CUSTOM_CSS + +  = 'footnote_inputfield_custom_css' +
                                                        +
                                                        Settings container key for the Custom CSS.
                                                        + +
                                                        + CUSTOM_CSS_LEGACY_ENABLE + +  = 'footnote_inputfield_custom_css_legacy_enable' +
                                                        +
                                                        Settings container key to enable display of legacy Custom CSS metaboxes.
                                                        + +
                                                        + CUSTOM_CSS_NEW + +  = 'footnote_inputfield_custom_css_new' +
                                                        +
                                                        Settings container key for the Custom CSS migrated to a dedicated tab.
                                                        + +
                                                        + EXPERT_LOOKUP_THE_CONTENT + +  = 'footnote_inputfield_expert_lookup_the_content' +
                                                        +
                                                        Settings container key to enable the `the_content` hook.
                                                        + +
                                                        + EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL + +  = 'footnote_inputfield_expert_lookup_the_content_priority_level' +
                                                        +
                                                        Settings container key for `the_content` hook priority level.
                                                        + +
                                                        + EXPERT_LOOKUP_THE_EXCERPT + +  = 'footnote_inputfield_expert_lookup_the_excerpt' +
                                                        +
                                                        Settings container key to enable the `the_excerpt` hook.
                                                        + +
                                                        + EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL + +  = 'footnote_inputfield_expert_lookup_the_excerpt_priority_level' +
                                                        +
                                                        Settings container key for `the_excerpt` hook priority level.
                                                        + +
                                                        + EXPERT_LOOKUP_THE_TITLE + +  = 'footnote_inputfield_expert_lookup_the_title' +
                                                        +
                                                        Settings container key to enable the `the_title` hook.
                                                        + +
                                                        + EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL + +  = 'footnote_inputfield_expert_lookup_the_title_priority_level' +
                                                        +
                                                        Settings container key for `the_title` hook priority level.
                                                        + +
                                                        + EXPERT_LOOKUP_WIDGET_TEXT + +  = 'footnote_inputfield_expert_lookup_widget_text' +
                                                        +
                                                        Settings container key to enable the `widget_text` hook.
                                                        + +
                                                        + EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL + +  = 'footnote_inputfield_expert_lookup_widget_text_priority_level' +
                                                        +
                                                        Settings container key for `widget_text` hook priority level.
                                                        + +
                                                        + EXPERT_LOOKUP_WIDGET_TITLE + +  = 'footnote_inputfield_expert_lookup_widget_title' +
                                                        +
                                                        Settings container key to enable the `widget_title` hook.
                                                        + +
                                                        + EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL + +  = 'footnote_inputfield_expert_lookup_widget_title_priority_level' +
                                                        +
                                                        Settings container key for `widget_title` hook priority level.
                                                        + +
                                                        + FOOTNOTE_FRAGMENT_ID_SLUG + +  = 'footnotes_inputfield_footnote_fragment_id_slug' +
                                                        +
                                                        Settings container key for the fragment ID slug in footnotes.
                                                        + +
                                                        + FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT + +  = 'footnotes_inputfield_referrers_normal_superscript' +
                                                        +
                                                        Settings container key to enable superscript style normalization.
                                                        + +
                                                        + FOOTNOTE_SECTION_SHORTCODE + +  = 'footnotes_inputfield_section_shortcode' +
                                                        +
                                                        Settings container key for the footnote section shortcode.
                                                        + +
                                                        + FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE + +  = 'footnotes_inputfield_shortcode_syntax_validation_enable' +
                                                        +
                                                        Settings container key to enable shortcode syntax validation.
                                                        + +
                                                        + FOOTNOTE_URL_WRAP_ENABLED + +  = 'footnote_inputfield_url_wrap_enabled' +
                                                        +
                                                        Settings container key for URL wrap option.
                                                        + +
                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X + +  = 'footnotes_inputfield_alternative_mouse_over_box_offset_x' +
                                                        +
                                                        Settings container key for alternative tooltip _x_-offset.
                                                        + +
                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y + +  = 'footnotes_inputfield_alternative_mouse_over_box_offset_y' +
                                                        +
                                                        Settings container key for alternative tooltip _y_-offset.
                                                        + +
                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION + +  = 'footnotes_inputfield_alternative_mouse_over_box_position' +
                                                        +
                                                        Settings container key for alternative tooltip position.
                                                        + +
                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH + +  = 'footnotes_inputfield_alternative_mouse_over_box_width' +
                                                        +
                                                        Settings container key for alternative tooltip width.
                                                        + +
                                                        + FOOTNOTES_AMP_COMPATIBILITY_ENABLE + +  = 'footnotes_inputfield_amp_compatibility_enable' +
                                                        +
                                                        Settings container key to enable AMP compatibility mode.
                                                        + +
                                                        + FOOTNOTES_BACKLINK_TOOLTIP_ENABLE + +  = 'footnotes_inputfield_backlink_tooltip_enable' +
                                                        +
                                                        Settings container key to enable backlink tooltips.
                                                        + +
                                                        + FOOTNOTES_BACKLINK_TOOLTIP_TEXT + +  = 'footnotes_inputfield_backlink_tooltip_text' +
                                                        +
                                                        Settings container key to configure the backlink tooltip.
                                                        + +
                                                        + FOOTNOTES_COUNTER_STYLE + +  = 'footnote_inputfield_counter_style' +
                                                        +
                                                        Settings container key for the counter style of the footnotes.
                                                        + +
                                                        + FOOTNOTES_CSS_SMOOTH_SCROLLING + +  = 'footnotes_inputfield_css_smooth_scrolling' +
                                                        +
                                                        Settings container key to enable CSS smooth scrolling.
                                                        + +
                                                        + FOOTNOTES_EXPERT_MODE + +  = 'footnote_inputfield_enable_expert_mode' +
                                                        +
                                                        Settings container key for the Expert mode.
                                                        + +
                                                        + FOOTNOTES_HARD_LINKS_ENABLE + +  = 'footnotes_inputfield_hard_links_enable' +
                                                        +
                                                        Settings container key to enable hard links.
                                                        + +
                                                        + FOOTNOTES_IN_EXCERPT + +  = 'footnote_inputfield_search_in_excerpt' +
                                                        +
                                                        Settings container key to look for footnotes in post excerpts.
                                                        + +
                                                        + FOOTNOTES_LABEL_ISSUE_SOLUTION + +  = 'footnotes_inputfield_label_issue_solution' +
                                                        +
                                                        Settings container key to set the solution of the input element label issue.
                                                        + +
                                                        + FOOTNOTES_LOVE + +  = 'footnote_inputfield_love' +
                                                        +
                                                        Settings container key for the ‘I love footnotes’ text.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE + +  = 'footnote_inputfield_custom_mouse_over_box_alternative' +
                                                        +
                                                        Settings container key to enable the alternative tooltips.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND + +  = 'footnote_inputfield_custom_mouse_over_box_background' +
                                                        +
                                                        Settings container key for the mouse-over box to define the background color.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR + +  = 'footnote_inputfield_custom_mouse_over_box_border_color' +
                                                        +
                                                        Settings container key for the mouse-over box to define the border color.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS + +  = 'footnote_inputfield_custom_mouse_over_box_border_radius' +
                                                        +
                                                        Settings container key for the mouse-over box to define the border radius.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH + +  = 'footnote_inputfield_custom_mouse_over_box_border_width' +
                                                        +
                                                        Settings container key for the mouse-over box to define the border width.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_COLOR + +  = 'footnote_inputfield_custom_mouse_over_box_color' +
                                                        +
                                                        Settings container key for the mouse-over box to define the color.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_ENABLED + +  = 'footnote_inputfield_custom_mouse_over_box_enabled' +
                                                        +
                                                        Settings container key to enable the mouse-over box.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED + +  = 'footnote_inputfield_custom_mouse_over_box_excerpt_enabled' +
                                                        +
                                                        Settings container key to enable tooltip truncation.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH + +  = 'footnote_inputfield_custom_mouse_over_box_excerpt_length' +
                                                        +
                                                        Settings container key for the mouse-over box to define the max. length of +the enabled excerpt.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH + +  = 'footnote_inputfield_custom_mouse_over_box_max_width' +
                                                        +
                                                        Settings container key for the mouse-over box to define the max. width.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X + +  = 'footnote_inputfield_custom_mouse_over_box_offset_x' +
                                                        +
                                                        Settings container key for the mouse-over box to define the _x_-offset.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y + +  = 'footnote_inputfield_custom_mouse_over_box_offset_y' +
                                                        +
                                                        Settings container key for the mouse-over box to define the _y_-offset.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_POSITION + +  = 'footnote_inputfield_custom_mouse_over_box_position' +
                                                        +
                                                        Settings container key for the mouse-over box to define the position.
                                                        + +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR + +  = 'footnote_inputfield_custom_mouse_over_box_shadow_color' +
                                                        +
                                                        Settings container key for the mouse-over box to define the box-shadow color.
                                                        + +
                                                        + FOOTNOTES_PAGE_LAYOUT_SUPPORT + +  = 'footnotes_inputfield_page_layout_support' +
                                                        +
                                                        Settings container key for basic responsive page layout support options.
                                                        + +
                                                        + FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE + +  = 'footnotes_inputfield_reference_container_script_mode' +
                                                        +
                                                        Settings container key to select the script mode for the reference container.
                                                        + +
                                                        + FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS + +  = 'footnotes_inputfield_referrer_superscript_tags' +
                                                        +
                                                        Settings container key for the referrer element.
                                                        + +
                                                        + FOOTNOTES_SCROLL_DOWN_DELAY + +  = 'footnotes_inputfield_scroll_down_delay' +
                                                        +
                                                        Settings container key for scroll-down delay.
                                                        + +
                                                        + FOOTNOTES_SCROLL_DOWN_DURATION + +  = 'footnotes_inputfield_scroll_down_duration' +
                                                        +
                                                        Settings container key for scroll-down duration.
                                                        + +
                                                        + FOOTNOTES_SCROLL_DURATION + +  = 'footnotes_inputfield_scroll_duration' +
                                                        +
                                                        Settings container key for scroll duration.
                                                        + +
                                                        + FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY + +  = 'footnotes_inputfield_scroll_duration_asymmetricity' +
                                                        +
                                                        Settings container key for scroll duration asymmetricity.
                                                        + +
                                                        + FOOTNOTES_SCROLL_OFFSET + +  = 'footnotes_inputfield_scroll_offset' +
                                                        +
                                                        Settings container key for scroll offset.
                                                        + +
                                                        + FOOTNOTES_SCROLL_UP_DELAY + +  = 'footnotes_inputfield_scroll_up_delay' +
                                                        +
                                                        Settings container key for scroll-up delay.
                                                        + +
                                                        + FOOTNOTES_SHORT_CODE_END + +  = 'footnote_inputfield_placeholder_end' +
                                                        +
                                                        Settings container key for the short code of the footnote's end.
                                                        + +
                                                        + FOOTNOTES_SHORT_CODE_END_USER_DEFINED + +  = 'footnote_inputfield_placeholder_end_user_defined' +
                                                        +
                                                        Settings container key for the user-defined short code of the footnotes end.
                                                        + +
                                                        + FOOTNOTES_SHORT_CODE_START + +  = 'footnote_inputfield_placeholder_start' +
                                                        +
                                                        Settings container key for the short code of the footnote's start.
                                                        + +
                                                        + FOOTNOTES_SHORT_CODE_START_USER_DEFINED + +  = 'footnote_inputfield_placeholder_start_user_defined' +
                                                        +
                                                        Settings container key for the user-defined short code of the footnotes start.
                                                        + +
                                                        + FOOTNOTES_STYLING_AFTER + +  = 'footnote_inputfield_custom_styling_after' +
                                                        +
                                                        Settings container key for the string after the footnote referrer.
                                                        + +
                                                        + FOOTNOTES_STYLING_BEFORE + +  = 'footnote_inputfield_custom_styling_before' +
                                                        +
                                                        Settings container key for the string before the footnote referrer.
                                                        + +
                                                        + FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER + +  = 'footnotes_inputfield_tooltip_excerpt_delimiter' +
                                                        +
                                                        Settings container key to configure the tooltip excerpt delimiter.
                                                        + +
                                                        + FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE + +  = 'footnotes_inputfield_tooltip_excerpt_mirror_enable' +
                                                        +
                                                        Settings container key to enable mirroring the tooltip excerpt in the +reference container.
                                                        + +
                                                        + FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR + +  = 'footnotes_inputfield_tooltip_excerpt_mirror_separator' +
                                                        +
                                                        Settings container key to configure the tooltip excerpt separator in the +reference container.
                                                        + +
                                                        + FOOTNOTES_TOOLTIP_READON_LABEL + +  = 'footnote_inputfield_readon_label' +
                                                        +
                                                        Settings container key for the label of the Read-on button in truncated tooltips.
                                                        + +
                                                        + HARD_LINK_IDS_SEPARATOR + +  = 'footnotes_inputfield_hard_link_ids_separator' +
                                                        +
                                                        Settings container key for the ID separator in fragment IDs.
                                                        + +
                                                        + HYPERLINK_ARROW + +  = 'footnote_inputfield_custom_hyperlink_symbol' +
                                                        +
                                                        Settings container key for the backlink symbol selection.
                                                        + +
                                                        + HYPERLINK_ARROW_USER_DEFINED + +  = 'footnote_inputfield_custom_hyperlink_symbol_user' +
                                                        +
                                                        Settings container key for the user-defined backlink symbol.
                                                        + +
                                                        + LINK_ELEMENT_ENABLED + +  = 'footnote_inputfield_link_element_enabled' +
                                                        +
                                                        Settings container key for the link element option.
                                                        + +
                                                        + MOUSE_OVER_BOX_FADE_IN_DELAY + +  = 'footnotes_inputfield_mouse_over_box_fade_in_delay' +
                                                        +
                                                        Settings container key for tooltip display fade-in delay.
                                                        + +
                                                        + MOUSE_OVER_BOX_FADE_IN_DURATION + +  = 'footnotes_inputfield_mouse_over_box_fade_in_duration' +
                                                        +
                                                        Settings container key for tooltip display fade-in duration.
                                                        + +
                                                        + MOUSE_OVER_BOX_FADE_OUT_DELAY + +  = 'footnotes_inputfield_mouse_over_box_fade_out_delay' +
                                                        +
                                                        Settings container key for tooltip display fade-out delay.
                                                        + +
                                                        + MOUSE_OVER_BOX_FADE_OUT_DURATION + +  = 'footnotes_inputfield_mouse_over_box_fade_out_duration' +
                                                        +
                                                        Settings container key for tooltip display fade-out duration.
                                                        + +
                                                        + MOUSE_OVER_BOX_FONT_SIZE_ENABLED + +  = 'footnotes_inputfield_mouse_over_box_font_size_enabled' +
                                                        +
                                                        Settings container key to enable setting the tooltip font size.
                                                        + +
                                                        + MOUSE_OVER_BOX_FONT_SIZE_SCALAR + +  = 'footnotes_inputfield_mouse_over_box_font_size_scalar' +
                                                        +
                                                        Settings container key for the scalar value of the tooltip font size.
                                                        + +
                                                        + MOUSE_OVER_BOX_FONT_SIZE_UNIT + +  = 'footnotes_inputfield_mouse_over_box_font_size_unit' +
                                                        +
                                                        Settings container key for the unit of the tooltip font size.
                                                        + +
                                                        + REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE + +  = 'footnotes_inputfield_reference_container_3column_layout_enable' +
                                                        +
                                                        Settings container key to enable the legacy layout of the reference container.
                                                        + +
                                                        + REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE + +  = 'footnotes_inputfield_reference_container_backlink_symbol_enable' +
                                                        +
                                                        Settings container key to enable the display of a backlink symbol.
                                                        + +
                                                        + REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH + +  = 'footnotes_inputfield_reference_container_backlink_symbol_switch' +
                                                        +
                                                        Settings container key to get the backlink symbol switch side.
                                                        + +
                                                        + REFERENCE_CONTAINER_BOTTOM_MARGIN + +  = 'footnotes_inputfield_reference_container_bottom_margin' +
                                                        +
                                                        Settings container key for reference container bottom margin.
                                                        + +
                                                        + REFERENCE_CONTAINER_COLLAPSE + +  = 'footnote_inputfield_collapse_references' +
                                                        +
                                                        Settings container key to collapse the reference container by default.
                                                        + +
                                                        + REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER + +  = 'footnotes_inputfield_reference_container_label_bottom_border' +
                                                        +
                                                        Settings container key to enable the reference container label bottom border.
                                                        + +
                                                        + REFERENCE_CONTAINER_LABEL_ELEMENT + +  = 'footnotes_inputfield_reference_container_label_element' +
                                                        +
                                                        Settings container key for the reference container label element.
                                                        + +
                                                        + REFERENCE_CONTAINER_NAME + +  = 'footnote_inputfield_references_label' +
                                                        +
                                                        Settings container key for the label of the reference container.
                                                        + +
                                                        + REFERENCE_CONTAINER_POSITION + +  = 'footnote_inputfield_reference_container_place' +
                                                        +
                                                        Settings container key for the position of the reference container.
                                                        + +
                                                        + REFERENCE_CONTAINER_POSITION_SHORTCODE + +  = 'footnote_inputfield_reference_container_position_shortcode' +
                                                        +
                                                        Settings container key for reference container position shortcode.
                                                        + +
                                                        + REFERENCE_CONTAINER_ROW_BORDERS_ENABLE + +  = 'footnotes_inputfield_reference_container_row_borders_enable' +
                                                        +
                                                        Settings container key to enable reference container table row borders.
                                                        + +
                                                        + REFERENCE_CONTAINER_START_PAGE_ENABLE + +  = 'footnotes_inputfield_reference_container_start_page_enable' +
                                                        +
                                                        Settings container key to not display the reference container on the homepage.
                                                        + +
                                                        + REFERENCE_CONTAINER_TOP_MARGIN + +  = 'footnotes_inputfield_reference_container_top_margin' +
                                                        +
                                                        Settings container key for reference container top margin.
                                                        + +
                                                        + REFERRER_FRAGMENT_ID_SLUG + +  = 'footnotes_inputfield_referrer_fragment_id_slug' +
                                                        +
                                                        Settings container key for the fragment ID slug in referrers.
                                                        + +
                                                        + $container + +  : array<string|int, mixed> +
                                                        +
                                                        Contains all Settings Container names.
                                                        + +
                                                        + $default + +  : array<string|int, mixed> +
                                                        +
                                                        Contains all default values for each Settings Container.
                                                        + +
                                                        + $instance + +  : Settings|null +
                                                        +
                                                        Stores a singleton reference of this class.
                                                        + +
                                                        + $settings + +  : array<string|int, mixed> +
                                                        +
                                                        Contains all Settings from each Settings Container.
                                                        + +
                                                        + get() + +  : string|int|null +
                                                        +
                                                        Returns the value of specified Setting.
                                                        + +
                                                        + get_container() + +  : string +
                                                        +
                                                        Returns the name of a specified Settings Container.
                                                        + +
                                                        + get_defaults() + +  : array<string|int, string|int> +
                                                        +
                                                        Returns the default value(s) of a specific Settings Container.
                                                        + +
                                                        + instance() + +  : self +
                                                        +
                                                        Returns a singleton of this class.
                                                        + +
                                                        + register_settings() + +  : void +
                                                        +
                                                        Register all Settings Containers for the plugin Settings Page in the Dashboard.
                                                        + +
                                                        + save_options() + +  : bool +
                                                        +
                                                        Updates a whole Setting Container on save.
                                                        + +
                                                        + __construct() + +  : mixed +
                                                        +
                                                        Loads all Settings from each WordPress Settings Container.
                                                        + +
                                                        + load() + +  : array<string|int, string|int> +
                                                        +
                                                        Loads all settings from specified Settings Containers.
                                                        + +
                                                        + load_all() + +  : void +
                                                        +
                                                        Loads all Settings from each Settings container.
                                                        + +
                                                        + + + + +
                                                        +

                                                        + Constants + +

                                                        +
                                                        + + + + +

                                                        Settings container key to enable a max width for the backlinks column.

                                                        + + + public + string + BACKLINKS_COLUMN_MAX_WIDTH_ENABLED + = 'footnotes_inputfield_backlinks_column_max_width_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlinks column max width scalar.

                                                        + + + public + int + BACKLINKS_COLUMN_MAX_WIDTH_SCALAR + = 'footnotes_inputfield_backlinks_column_max_width_scalar' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlinks column max width unit.

                                                        + + + public + string + BACKLINKS_COLUMN_MAX_WIDTH_UNIT + = 'footnotes_inputfield_backlinks_column_max_width_unit' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable the backlinks column width.

                                                        + + + public + string + BACKLINKS_COLUMN_WIDTH_ENABLED + = 'footnotes_inputfield_backlinks_column_width_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlinks column width scalar.

                                                        + + + public + int + BACKLINKS_COLUMN_WIDTH_SCALAR + = 'footnotes_inputfield_backlinks_column_width_scalar' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlinks column width unit.

                                                        + + + public + string + BACKLINKS_COLUMN_WIDTH_UNIT + = 'footnotes_inputfield_backlinks_column_width_unit' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable line breaks between backlinks.

                                                        + + + public + string + BACKLINKS_LINE_BREAKS_ENABLED + = 'footnotes_inputfield_backlinks_line_breaks_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +

                                                        Whether a
                                                        tag is inserted.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for a custom backlink separator.

                                                        + + + public + string + BACKLINKS_SEPARATOR_CUSTOM + = 'footnotes_inputfield_backlinks_separator_custom' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable the presence of a backlink separator.

                                                        + + + public + string + BACKLINKS_SEPARATOR_ENABLED + = 'footnotes_inputfield_backlinks_separator_enabled' + + + +

                                                        Backlink separators and terminators are often not preferred, but a choice +should be provided along with the ability to customize.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlink separator options.

                                                        + + + public + string + BACKLINKS_SEPARATOR_OPTION + = 'footnotes_inputfield_backlinks_separator_option' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for a custom backlink terminator.

                                                        + + + public + string + BACKLINKS_TERMINATOR_CUSTOM + = 'footnotes_inputfield_backlinks_terminator_custom' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable the presence of a backlink terminator.

                                                        + + + public + string + BACKLINKS_TERMINATOR_ENABLED + = 'footnotes_inputfield_backlinks_terminator_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlink terminator options.

                                                        + + + public + string + BACKLINKS_TERMINATOR_OPTION + = 'footnotes_inputfield_backlinks_terminator_option' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + COMBINE_IDENTICAL_FOOTNOTES + +

                                                        + + + +

                                                        Settings container key for combining identical footnotes.

                                                        + + + public + string + COMBINE_IDENTICAL_FOOTNOTES + = 'footnote_inputfield_combine_identical' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + CUSTOM_CSS + +

                                                        + + + +

                                                        Settings container key for the Custom CSS.

                                                        + + + public + string + CUSTOM_CSS + = 'footnote_inputfield_custom_css' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + CUSTOM_CSS_LEGACY_ENABLE + +

                                                        + + + +

                                                        Settings container key to enable display of legacy Custom CSS metaboxes.

                                                        + + + public + string + CUSTOM_CSS_LEGACY_ENABLE + = 'footnote_inputfield_custom_css_legacy_enable' + + + +

                                                        This must be false if its setting is contained in the container to be hidden +because when saving, all missing constants are emptied, and Footnotes_Convert::to_bool() converts empty to false.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.2 + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +

                                                        Swap migration Boolean, meaning ‘show legacy’ instead of +‘migration complete’, due to storage data structure constraints.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + CUSTOM_CSS_NEW + +

                                                        + + + +

                                                        Settings container key for the Custom CSS migrated to a dedicated tab.

                                                        + + + public + string + CUSTOM_CSS_NEW + = 'footnote_inputfield_custom_css_new' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.2 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_THE_CONTENT + +

                                                        + + + +

                                                        Settings container key to enable the `the_content` hook.

                                                        + + + public + string + EXPERT_LOOKUP_THE_CONTENT + = 'footnote_inputfield_expert_lookup_the_content' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL + +

                                                        + + + +

                                                        Settings container key for `the_content` hook priority level.

                                                        + + + public + int + EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL + = 'footnote_inputfield_expert_lookup_the_content_priority_level' + + + +

                                                        Priority level of the_content and of widget_text as the only relevant +hooks must be less than 99 because social buttons may yield scripts +that contain the strings ‘((’ and ‘))’ (i.e., the default footnote +start and end shortcodes), which causes issues with fake footnotes.

                                                        +

                                                        Setting the_content priority to 10 instead of PHP_INT_MAX makes the +footnotes reference container display beneath the post and above other +features added by other plugins, e.g. related post lists and social buttons.

                                                        +

                                                        For the YARPP plugin to display related posts below the Footnotes reference container, +priority needs to be at least 1,200.

                                                        +

                                                        PHP_INT_MAX cannot be reset by leaving the number box empty, because +WebKit browsers don't allow it, so we must resort to -1.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.0.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_THE_EXCERPT + +

                                                        + + + +

                                                        Settings container key to enable the `the_excerpt` hook.

                                                        + + + public + string + EXPERT_LOOKUP_THE_EXCERPT + = 'footnote_inputfield_expert_lookup_the_excerpt' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + see +
                                                        +
                                                        + FOOTNOTES_IN_EXCERPT + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.5 + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.6.3 + +

                                                        Enable by default.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL + +

                                                        + + + +

                                                        Settings container key for `the_excerpt` hook priority level.

                                                        + + + public + int + EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL + = 'footnote_inputfield_expert_lookup_the_excerpt_priority_level' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.2 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_THE_TITLE + +

                                                        + + + +

                                                        Settings container key to enable the `the_title` hook.

                                                        + + + public + string + EXPERT_LOOKUP_THE_TITLE + = 'footnote_inputfield_expert_lookup_the_title' + + + +

                                                        These are checkboxes; the keyword checked is converted to true, whilst +an empty string (the default) is converted to false.

                                                        +

                                                        Hooks should all be enabled by default to prevent users from thinking at +first that the feature is broken in post titles (see here for more +information).

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.5 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        In titles, footnotes are still buggy, because WordPress uses the +title string in menus and in the title element, but Footnotes doesn't +delete footnotes in them.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL + +

                                                        + + + +

                                                        Settings container key for `the_title` hook priority level.

                                                        + + + public + int + EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL + = 'footnote_inputfield_expert_lookup_the_title_priority_level' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.2 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_WIDGET_TEXT + +

                                                        + + + +

                                                        Settings container key to enable the `widget_text` hook.

                                                        + + + public + string + EXPERT_LOOKUP_WIDGET_TEXT + = 'footnote_inputfield_expert_lookup_widget_text' + + + +

                                                        The widget_text hook must be disabled by default, because it causes +multiple reference containers to appear in Elementor accordions, but +it must be enabled if multiple reference containers are desired, as +in Elementor toggles.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL + +

                                                        + + + +

                                                        Settings container key for `widget_text` hook priority level.

                                                        + + + public + int + EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL + = 'footnote_inputfield_expert_lookup_widget_text_priority_level' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.2 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_WIDGET_TITLE + +

                                                        + + + +

                                                        Settings container key to enable the `widget_title` hook.

                                                        + + + public + string + EXPERT_LOOKUP_WIDGET_TITLE + = 'footnote_inputfield_expert_lookup_widget_title' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL + +

                                                        + + + +

                                                        Settings container key for `widget_title` hook priority level.

                                                        + + + public + int + EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL + = 'footnote_inputfield_expert_lookup_widget_title_priority_level' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.2 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTE_FRAGMENT_ID_SLUG + +

                                                        + + + +

                                                        Settings container key for the fragment ID slug in footnotes.

                                                        + + + public + string + FOOTNOTE_FRAGMENT_ID_SLUG + = 'footnotes_inputfield_footnote_fragment_id_slug' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT + +

                                                        + + + +

                                                        Settings container key to enable superscript style normalization.

                                                        + + + public + string + FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT + = 'footnotes_inputfield_referrers_normal_superscript' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTE_SECTION_SHORTCODE + +

                                                        + + + +

                                                        Settings container key for the footnote section shortcode.

                                                        + + + public + string + FOOTNOTE_SECTION_SHORTCODE + = 'footnotes_inputfield_section_shortcode' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.7.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE + +

                                                        + + + +

                                                        Settings container key to enable shortcode syntax validation.

                                                        + + + public + string + FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE + = 'footnotes_inputfield_shortcode_syntax_validation_enable' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.4.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTE_URL_WRAP_ENABLED + +

                                                        + + + +

                                                        Settings container key for URL wrap option.

                                                        + + + public + string + FOOTNOTE_URL_WRAP_ENABLED + = 'footnote_inputfield_url_wrap_enabled' + + + +

                                                        This is made optional because it causes weird line breaks. Unicode-compliant +browsers break URLs at slashes.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X + +

                                                        + + + +

                                                        Settings container key for alternative tooltip _x_-offset.

                                                        + + + public + int + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X + = 'footnotes_inputfield_alternative_mouse_over_box_offset_x' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y + +

                                                        + + + +

                                                        Settings container key for alternative tooltip _y_-offset.

                                                        + + + public + int + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y + = 'footnotes_inputfield_alternative_mouse_over_box_offset_y' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION + +

                                                        + + + +

                                                        Settings container key for alternative tooltip position.

                                                        + + + public + string + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION + = 'footnotes_inputfield_alternative_mouse_over_box_position' + + + +

                                                        Fixed-width is for alternative tooltips, cannot reuse max-width nor offsets.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH + +

                                                        + + + +

                                                        Settings container key for alternative tooltip width.

                                                        + + + public + int + FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH + = 'footnotes_inputfield_alternative_mouse_over_box_width' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_AMP_COMPATIBILITY_ENABLE + +

                                                        + + + +

                                                        Settings container key to enable AMP compatibility mode.

                                                        + + + public + string + FOOTNOTES_AMP_COMPATIBILITY_ENABLE + = 'footnotes_inputfield_amp_compatibility_enable' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.6.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable backlink tooltips.

                                                        + + + public + string + FOOTNOTES_BACKLINK_TOOLTIP_ENABLE + = 'footnotes_inputfield_backlink_tooltip_enable' + + + +

                                                        When hard links are enabled, clicks on the backlinks are logged in the +browsing history, along with clicks on the referrers. +This tooltip hints to use the backbutton instead, so the history gets +streamlined again. +See here for more information.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to configure the backlink tooltip.

                                                        + + + public + string + FOOTNOTES_BACKLINK_TOOLTIP_TEXT + = 'footnotes_inputfield_backlink_tooltip_text' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_COUNTER_STYLE + +

                                                        + + + +

                                                        Settings container key for the counter style of the footnotes.

                                                        + + + public + string + FOOTNOTES_COUNTER_STYLE + = 'footnote_inputfield_counter_style' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_CSS_SMOOTH_SCROLLING + +

                                                        + + + +

                                                        Settings container key to enable CSS smooth scrolling.

                                                        + + + public + string + FOOTNOTES_CSS_SMOOTH_SCROLLING + = 'footnotes_inputfield_css_smooth_scrolling' + + + +

                                                        Native smooth scrolling only works in recent browsers.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.12 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_EXPERT_MODE + +

                                                        + + + +

                                                        Settings container key for the Expert mode.

                                                        + + + public + string + FOOTNOTES_EXPERT_MODE + = 'footnote_inputfield_enable_expert_mode' + + + +

                                                        Since the removal of the the_post hook, the tab is no danger zone any longer. +All users, not experts only, need to be able to control relative positioning.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.5 + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.6 + +

                                                        Setting deprecated.

                                                        +
                                                        + +
                                                        +
                                                        + deprecated +
                                                        +
                                                        + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Un-deprecate.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable hard links.

                                                        + + + public + string + FOOTNOTES_HARD_LINKS_ENABLE + = 'footnotes_inputfield_hard_links_enable' + + + +

                                                        When the alternative reference container is enabled, hard links are too.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_IN_EXCERPT + +

                                                        + + + +

                                                        Settings container key to look for footnotes in post excerpts.

                                                        + + + public + string + FOOTNOTES_IN_EXCERPT + = 'footnote_inputfield_search_in_excerpt' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + see +
                                                        +
                                                        + EXPERT_LOOKUP_THE_EXCERPT + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.6.3 + +

                                                        Enabled by default.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_LABEL_ISSUE_SOLUTION + +

                                                        + + + +

                                                        Settings container key to set the solution of the input element label issue.

                                                        + + + public + string + FOOTNOTES_LABEL_ISSUE_SOLUTION + = 'footnotes_inputfield_label_issue_solution' + + + +

                                                        If hard links are not enabled, clicking a referrer in an input element label +toggles the state of the input element the label is connected to. +Beside hard links, other solutions include moving footnotes off the label and +append them, or disconnecting this label from the input element (discouraged). +See here for more information.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.12 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Review, remove?

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_LOVE + +

                                                        + + + +

                                                        Settings container key for the ‘I love footnotes’ text.

                                                        + + + public + string + FOOTNOTES_LOVE + = 'footnote_inputfield_love' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE + +

                                                        + + + +

                                                        Settings container key to enable the alternative tooltips.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE + = 'footnote_inputfield_custom_mouse_over_box_alternative' + + + +

                                                        These alternative tooltips work around a website-related jQuery UI +outage. They are low-script but use the AMP-incompatible onmouseover +and onmouseout arguments, along with CSS transitions for fade-in/out. +The very small script is inserted after the plugin's internal stylesheet.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.1 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the background color.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND + = 'footnote_inputfield_custom_mouse_over_box_background' + + + +

                                                        Theme default background color is best, but theme default background color +doesn't seem to exist.

                                                        +

                                                        The default is currently #ffffff with #000000 as the text color.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + see +
                                                        +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_COLOR + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the border color.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR + = 'footnote_inputfield_custom_mouse_over_box_border_color' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the border radius.

                                                        + + + public + int + FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS + = 'footnote_inputfield_custom_mouse_over_box_border_radius' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the border width.

                                                        + + + public + int + FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH + = 'footnote_inputfield_custom_mouse_over_box_border_width' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_COLOR + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the color.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_COLOR + = 'footnote_inputfield_custom_mouse_over_box_color' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + see +
                                                        +
                                                        + FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND + +
                                                        + +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_ENABLED + +

                                                        + + + +

                                                        Settings container key to enable the mouse-over box.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_ENABLED + = 'footnote_inputfield_custom_mouse_over_box_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.2 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED + +

                                                        + + + +

                                                        Settings container key to enable tooltip truncation.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED + = 'footnote_inputfield_custom_mouse_over_box_excerpt_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.4 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        The mouse-over content truncation should be enabled by default to raise +awareness of the functionality, prevent the screen from being filled on +mouse-over, and allow the use of ‘Continue Reading’ functionality.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the max. length of +the enabled excerpt.

                                                        + + + public + int + FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH + = 'footnote_inputfield_custom_mouse_over_box_excerpt_length' + + + +

                                                        The default truncation length is 200 chars.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the max. width.

                                                        + + + public + int + FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH + = 'footnote_inputfield_custom_mouse_over_box_max_width' + + + +

                                                        The width should be limited to start with, for the box to have shape.

                                                        +

                                                        The default width is 450.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the _x_-offset.

                                                        + + + public + int + FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X + = 'footnote_inputfield_custom_mouse_over_box_offset_x' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.7 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the _y_-offset.

                                                        + + + public + int + FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y + = 'footnote_inputfield_custom_mouse_over_box_offset_y' + + + +

                                                        The vertical offset must be negative for the box not to cover the current +line of text.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.7 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_POSITION + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the position.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_POSITION + = 'footnote_inputfield_custom_mouse_over_box_position' + + + +

                                                        The default position should not be lateral because of the risk +the box gets squeezed between note anchor at line end and window edge, +and top because reading at the bottom of the window is more likely.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.7 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR + +

                                                        + + + +

                                                        Settings container key for the mouse-over box to define the box-shadow color.

                                                        + + + public + string + FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR + = 'footnote_inputfield_custom_mouse_over_box_shadow_color' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.8 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_PAGE_LAYOUT_SUPPORT + +

                                                        + + + +

                                                        Settings container key for basic responsive page layout support options.

                                                        + + + public + string + FOOTNOTES_PAGE_LAYOUT_SUPPORT + = 'footnotes_inputfield_page_layout_support' + + + +

                                                        Whether to concatenate an additional stylesheet.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE + +

                                                        + + + +

                                                        Settings container key to select the script mode for the reference container.

                                                        + + + public + string + FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE + = 'footnotes_inputfield_reference_container_script_mode' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS + +

                                                        + + + +

                                                        Settings container key for the referrer element.

                                                        + + + public + string + FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS + = 'footnotes_inputfield_referrer_superscript_tags' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.1 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SCROLL_DOWN_DELAY + +

                                                        + + + +

                                                        Settings container key for scroll-down delay.

                                                        + + + public + int + FOOTNOTES_SCROLL_DOWN_DELAY + = 'footnotes_inputfield_scroll_down_delay' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.11 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SCROLL_DOWN_DURATION + +

                                                        + + + +

                                                        Settings container key for scroll-down duration.

                                                        + + + public + int + FOOTNOTES_SCROLL_DOWN_DURATION + = 'footnotes_inputfield_scroll_down_duration' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.11 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SCROLL_DURATION + +

                                                        + + + +

                                                        Settings container key for scroll duration.

                                                        + + + public + int + FOOTNOTES_SCROLL_DURATION + = 'footnotes_inputfield_scroll_duration' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY + +

                                                        + + + +

                                                        Settings container key for scroll duration asymmetricity.

                                                        + + + public + int + FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY + = 'footnotes_inputfield_scroll_duration_asymmetricity' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.11 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SCROLL_OFFSET + +

                                                        + + + +

                                                        Settings container key for scroll offset.

                                                        + + + public + int + FOOTNOTES_SCROLL_OFFSET + = 'footnotes_inputfield_scroll_offset' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SCROLL_UP_DELAY + +

                                                        + + + +

                                                        Settings container key for scroll-up delay.

                                                        + + + public + int + FOOTNOTES_SCROLL_UP_DELAY + = 'footnotes_inputfield_scroll_up_delay' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.11 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SHORT_CODE_END + +

                                                        + + + +

                                                        Settings container key for the short code of the footnote's end.

                                                        + + + public + string + FOOTNOTES_SHORT_CODE_END + = 'footnote_inputfield_placeholder_end' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SHORT_CODE_END_USER_DEFINED + +

                                                        + + + +

                                                        Settings container key for the user-defined short code of the footnotes end.

                                                        + + + public + string + FOOTNOTES_SHORT_CODE_END_USER_DEFINED + = 'footnote_inputfield_placeholder_end_user_defined' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SHORT_CODE_START + +

                                                        + + + +

                                                        Settings container key for the short code of the footnote's start.

                                                        + + + public + string + FOOTNOTES_SHORT_CODE_START + = 'footnote_inputfield_placeholder_start' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_SHORT_CODE_START_USER_DEFINED + +

                                                        + + + +

                                                        Settings container key for the user-defined short code of the footnotes start.

                                                        + + + public + string + FOOTNOTES_SHORT_CODE_START_USER_DEFINED + = 'footnote_inputfield_placeholder_start_user_defined' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_STYLING_AFTER + +

                                                        + + + +

                                                        Settings container key for the string after the footnote referrer.

                                                        + + + public + string + FOOTNOTES_STYLING_AFTER + = 'footnote_inputfield_custom_styling_after' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_STYLING_BEFORE + +

                                                        + + + +

                                                        Settings container key for the string before the footnote referrer.

                                                        + + + public + string + FOOTNOTES_STYLING_BEFORE + = 'footnote_inputfield_custom_styling_before' + + + +

                                                        The default footnote referrer surroundings should be square brackets, as +in English or US American typesetting, for better UX thanks to a more +button-like appearance, as well as for stylistic consistency with the +expand-collapse button.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER + +

                                                        + + + +

                                                        Settings container key to configure the tooltip excerpt delimiter.

                                                        + + + public + string + FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER + = 'footnotes_inputfield_tooltip_excerpt_delimiter' + + + +

                                                        The first implementation used a fixed shortcode provided in the changelog, +but footnotes should have freely-configurable shortcodes.

                                                        +

                                                        Tooltips can display another content than the footnote entry in the +reference container. The trigger is a shortcode in the footnote text +separating the tooltip text from the note. That is consistent with what +WordPress does for excerpts.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE + +

                                                        + + + +

                                                        Settings container key to enable mirroring the tooltip excerpt in the +reference container.

                                                        + + + public + string + FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE + = 'footnotes_inputfield_tooltip_excerpt_mirror_enable' + + + +

                                                        Tooltips, even jQuery-driven, may be hard to consult on mobiles. +This option allows users to read the tooltip content in the reference +container too. See here for more information, and here for why this must not be the default behavior.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR + +

                                                        + + + +

                                                        Settings container key to configure the tooltip excerpt separator in the +reference container.

                                                        + + + public + string + FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR + = 'footnotes_inputfield_tooltip_excerpt_mirror_separator' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.5.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + FOOTNOTES_TOOLTIP_READON_LABEL + +

                                                        + + + +

                                                        Settings container key for the label of the Read-on button in truncated tooltips.

                                                        + + + public + string + FOOTNOTES_TOOLTIP_READON_LABEL + = 'footnote_inputfield_readon_label' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the ID separator in fragment IDs.

                                                        + + + public + string + HARD_LINK_IDS_SEPARATOR + = 'footnotes_inputfield_hard_link_ids_separator' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the backlink symbol selection.

                                                        + + + public + string + HYPERLINK_ARROW + = 'footnote_inputfield_custom_hyperlink_symbol' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the user-defined backlink symbol.

                                                        + + + public + string + HYPERLINK_ARROW_USER_DEFINED + = 'footnote_inputfield_custom_hyperlink_symbol_user' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key for the link element option.

                                                        + + + public + string + LINK_ELEMENT_ENABLED + = 'footnote_inputfield_link_element_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FADE_IN_DELAY + +

                                                        + + + +

                                                        Settings container key for tooltip display fade-in delay.

                                                        + + + public + int + MOUSE_OVER_BOX_FADE_IN_DELAY + = 'footnotes_inputfield_mouse_over_box_fade_in_delay' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FADE_IN_DURATION + +

                                                        + + + +

                                                        Settings container key for tooltip display fade-in duration.

                                                        + + + public + int + MOUSE_OVER_BOX_FADE_IN_DURATION + = 'footnotes_inputfield_mouse_over_box_fade_in_duration' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FADE_OUT_DELAY + +

                                                        + + + +

                                                        Settings container key for tooltip display fade-out delay.

                                                        + + + public + int + MOUSE_OVER_BOX_FADE_OUT_DELAY + = 'footnotes_inputfield_mouse_over_box_fade_out_delay' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FADE_OUT_DURATION + +

                                                        + + + +

                                                        Settings container key for tooltip display fade-out duration.

                                                        + + + public + int + MOUSE_OVER_BOX_FADE_OUT_DURATION + = 'footnotes_inputfield_mouse_over_box_fade_out_duration' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FONT_SIZE_ENABLED + +

                                                        + + + +

                                                        Settings container key to enable setting the tooltip font size.

                                                        + + + public + string + MOUSE_OVER_BOX_FONT_SIZE_ENABLED + = 'footnotes_inputfield_mouse_over_box_font_size_enabled' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +

                                                        Tooltip font size reset to legacy by default since 2.1.4; +Was set to inherit since 2.1.1 as it overrode custom CSS, +Called mouse over box not tooltip for consistency.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FONT_SIZE_SCALAR + +

                                                        + + + +

                                                        Settings container key for the scalar value of the tooltip font size.

                                                        + + + public + float + MOUSE_OVER_BOX_FONT_SIZE_SCALAR + = 'footnotes_inputfield_mouse_over_box_font_size_scalar' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + MOUSE_OVER_BOX_FONT_SIZE_UNIT + +

                                                        + + + +

                                                        Settings container key for the unit of the tooltip font size.

                                                        + + + public + string + MOUSE_OVER_BOX_FONT_SIZE_UNIT + = 'footnotes_inputfield_mouse_over_box_font_size_unit' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.4 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE + +

                                                        + + + +

                                                        Settings container key to enable the legacy layout of the reference container.

                                                        + + + public + string + REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE + = 'footnotes_inputfield_reference_container_3column_layout_enable' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.1 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to enable the display of a backlink symbol.

                                                        + + + public + string + REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE + = 'footnotes_inputfield_reference_container_backlink_symbol_enable' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.1 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + + + +

                                                        Settings container key to get the backlink symbol switch side.

                                                        + + + public + string + REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH + = 'footnotes_inputfield_reference_container_backlink_symbol_switch' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.1 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_BOTTOM_MARGIN + +

                                                        + + + +

                                                        Settings container key for reference container bottom margin.

                                                        + + + public + int + REFERENCE_CONTAINER_BOTTOM_MARGIN + = 'footnotes_inputfield_reference_container_bottom_margin' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_COLLAPSE + +

                                                        + + + +

                                                        Settings container key to collapse the reference container by default.

                                                        + + + public + string + REFERENCE_CONTAINER_COLLAPSE + = 'footnote_inputfield_collapse_references' + + + +

                                                        The string is converted to Boolean false if 'no', true if 'yes'.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Refactor to use sane typing.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER + +

                                                        + + + +

                                                        Settings container key to enable the reference container label bottom border.

                                                        + + + public + string + REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER + = 'footnotes_inputfield_reference_container_label_bottom_border' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_LABEL_ELEMENT + +

                                                        + + + +

                                                        Settings container key for the reference container label element.

                                                        + + + public + string + REFERENCE_CONTAINER_LABEL_ELEMENT + = 'footnotes_inputfield_reference_container_label_element' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.5 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_NAME + +

                                                        + + + +

                                                        Settings container key for the label of the reference container.

                                                        + + + public + string + REFERENCE_CONTAINER_NAME + = 'footnote_inputfield_references_label' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_POSITION + +

                                                        + + + +

                                                        Settings container key for the position of the reference container.

                                                        + + + public + string + REFERENCE_CONTAINER_POSITION + = 'footnote_inputfield_reference_container_place' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_POSITION_SHORTCODE + +

                                                        + + + +

                                                        Settings container key for reference container position shortcode.

                                                        + + + public + string + REFERENCE_CONTAINER_POSITION_SHORTCODE + = 'footnote_inputfield_reference_container_position_shortcode' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_ROW_BORDERS_ENABLE + +

                                                        + + + +

                                                        Settings container key to enable reference container table row borders.

                                                        + + + public + string + REFERENCE_CONTAINER_ROW_BORDERS_ENABLE + = 'footnotes_inputfield_reference_container_row_borders_enable' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.2.10 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_START_PAGE_ENABLE + +

                                                        + + + +

                                                        Settings container key to not display the reference container on the homepage.

                                                        + + + public + string + REFERENCE_CONTAINER_START_PAGE_ENABLE + = 'footnotes_inputfield_reference_container_start_page_enable' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.1.1 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERENCE_CONTAINER_TOP_MARGIN + +

                                                        + + + +

                                                        Settings container key for reference container top margin.

                                                        + + + public + int + REFERENCE_CONTAINER_TOP_MARGIN + = 'footnotes_inputfield_reference_container_top_margin' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + REFERRER_FRAGMENT_ID_SLUG + +

                                                        + + + +

                                                        Settings container key for the fragment ID slug in referrers.

                                                        + + + public + string + REFERRER_FRAGMENT_ID_SLUG + = 'footnotes_inputfield_referrer_fragment_id_slug' + + + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 2.3.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + + +
                                                        +

                                                        + Properties + +

                                                        +
                                                        +

                                                        + $container + + + +

                                                        + + +

                                                        Contains all Settings Container names.

                                                        + + + private + array<string|int, mixed> + $container + = array('footnotes_storage', 'footnotes_storage_custom', 'footnotes_storage_expert', 'footnotes_storage_custom_css') + +

                                                        These are the storage container names, one per dashboard tab.

                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + $default + + + +

                                                        + + +

                                                        Contains all default values for each Settings Container.

                                                        + + + private + array<string|int, mixed> + $default + = array( + // General settings. + 'footnotes_storage' => array( + // AMP compatibility. + self::FOOTNOTES_AMP_COMPATIBILITY_ENABLE => '', + // Footnote start and end short codes. + self::FOOTNOTES_SHORT_CODE_START => '((', + self::FOOTNOTES_SHORT_CODE_END => '))', + self::FOOTNOTES_SHORT_CODE_START_USER_DEFINED => '', + self::FOOTNOTES_SHORT_CODE_END_USER_DEFINED => '', + self::FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE => 'yes', + // Footnotes numbering. + self::FOOTNOTES_COUNTER_STYLE => 'arabic_plain', + self::COMBINE_IDENTICAL_FOOTNOTES => 'yes', + // Scrolling behavior. + self::FOOTNOTES_CSS_SMOOTH_SCROLLING => 'no', + self::FOOTNOTES_SCROLL_OFFSET => 20, + self::FOOTNOTES_SCROLL_DURATION => 380, + self::FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY => 'no', + self::FOOTNOTES_SCROLL_DOWN_DURATION => 150, + self::FOOTNOTES_SCROLL_DOWN_DELAY => 0, + self::FOOTNOTES_SCROLL_UP_DELAY => 0, + self::FOOTNOTES_HARD_LINKS_ENABLE => 'no', + self::REFERRER_FRAGMENT_ID_SLUG => 'r', + self::FOOTNOTE_FRAGMENT_ID_SLUG => 'f', + self::HARD_LINK_IDS_SEPARATOR => '+', + self::FOOTNOTES_BACKLINK_TOOLTIP_ENABLE => 'yes', + self::FOOTNOTES_BACKLINK_TOOLTIP_TEXT => 'Alt+ ←', + // Reference container. + self::REFERENCE_CONTAINER_NAME => 'References', + self::REFERENCE_CONTAINER_LABEL_ELEMENT => 'p', + self::REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER => 'yes', + self::REFERENCE_CONTAINER_COLLAPSE => 'no', + self::FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE => 'jquery', + self::REFERENCE_CONTAINER_POSITION => 'post_end', + self::REFERENCE_CONTAINER_POSITION_SHORTCODE => '[[references]]', + self::FOOTNOTE_SECTION_SHORTCODE => '[[/footnotesection]]', + self::REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes', + self::REFERENCE_CONTAINER_TOP_MARGIN => 24, + self::REFERENCE_CONTAINER_BOTTOM_MARGIN => 0, + self::FOOTNOTES_PAGE_LAYOUT_SUPPORT => 'none', + self::FOOTNOTE_URL_WRAP_ENABLED => 'yes', + self::REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes', + self::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no', + self::REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no', + self::REFERENCE_CONTAINER_ROW_BORDERS_ENABLE => 'no', + self::BACKLINKS_SEPARATOR_ENABLED => 'yes', + self::BACKLINKS_SEPARATOR_OPTION => 'comma', + self::BACKLINKS_SEPARATOR_CUSTOM => '', + self::BACKLINKS_TERMINATOR_ENABLED => 'no', + self::BACKLINKS_TERMINATOR_OPTION => 'full_stop', + self::BACKLINKS_TERMINATOR_CUSTOM => '', + self::BACKLINKS_COLUMN_WIDTH_ENABLED => 'no', + self::BACKLINKS_COLUMN_WIDTH_SCALAR => '50', + self::BACKLINKS_COLUMN_WIDTH_UNIT => 'px', + self::BACKLINKS_COLUMN_MAX_WIDTH_ENABLED => 'no', + self::BACKLINKS_COLUMN_MAX_WIDTH_SCALAR => '140', + self::BACKLINKS_COLUMN_MAX_WIDTH_UNIT => 'px', + self::BACKLINKS_LINE_BREAKS_ENABLED => 'no', + self::LINK_ELEMENT_ENABLED => 'yes', + // Footnotes in excerpts. + self::FOOTNOTES_IN_EXCERPT => 'manual', + // Footnotes love. + self::FOOTNOTES_LOVE => 'no', + // Deprecated. + self::FOOTNOTES_EXPERT_MODE => 'yes', + ), + // Referrers and tooltips. + 'footnotes_storage_custom' => array( + // Backlink symbol. + self::HYPERLINK_ARROW => 0, + self::HYPERLINK_ARROW_USER_DEFINED => '', + // Referrers. + self::FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes', + self::FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT => 'no', + self::FOOTNOTES_STYLING_BEFORE => '[', + self::FOOTNOTES_STYLING_AFTER => ']', + // Referrers in labels. + self::FOOTNOTES_LABEL_ISSUE_SOLUTION => 'none', + // Tooltips. + self::FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes', + self::FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => 'no', + // Tooltip position. + self::FOOTNOTES_MOUSE_OVER_BOX_POSITION => 'top center', + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION => 'top right', + self::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X => 0, + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X => -50, + self::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y => -7, + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y => 24, + // Tooltip dimensions. + self::FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH => 450, + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH => 400, + // Tooltip timing. + self::MOUSE_OVER_BOX_FADE_IN_DELAY => 0, + self::MOUSE_OVER_BOX_FADE_IN_DURATION => 200, + self::MOUSE_OVER_BOX_FADE_OUT_DELAY => 400, + self::MOUSE_OVER_BOX_FADE_OUT_DURATION => 200, + // Tooltip truncation. + self::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED => 'yes', + self::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH => 200, + self::FOOTNOTES_TOOLTIP_READON_LABEL => 'Continue reading', + // Tooltip text. + self::FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER => '[[/tooltip]]', + self::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE => 'no', + self::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR => ' — ', + // Tooltip appearance. + self::MOUSE_OVER_BOX_FONT_SIZE_ENABLED => 'yes', + self::MOUSE_OVER_BOX_FONT_SIZE_SCALAR => 13, + self::MOUSE_OVER_BOX_FONT_SIZE_UNIT => 'px', + self::FOOTNOTES_MOUSE_OVER_BOX_COLOR => '#000000', + self::FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND => '#ffffff', + self::FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH => 1, + self::FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR => '#cccc99', + self::FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS => 0, + self::FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR => '#666666', + // Your existing Custom CSS code. + self::CUSTOM_CSS => '', + ), + // Scope and priority. + 'footnotes_storage_expert' => array( + // WordPress hooks with priority level. + self::EXPERT_LOOKUP_THE_TITLE => '', + self::EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, + self::EXPERT_LOOKUP_THE_CONTENT => 'checked', + self::EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => 98, + self::EXPERT_LOOKUP_THE_EXCERPT => '', + self::EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX, + self::EXPERT_LOOKUP_WIDGET_TITLE => '', + self::EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, + self::EXPERT_LOOKUP_WIDGET_TEXT => '', + self::EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL => 98, + ), + // Custom CSS. + 'footnotes_storage_custom_css' => array( + // Your existing Custom CSS code. + self::CUSTOM_CSS_LEGACY_ENABLE => 'yes', + // Custom CSS. + self::CUSTOM_CSS_NEW => '', + ), +) + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Review. Why are the constants just initialised with these values? +At the very least, we should stop using ‘yes’ to mean true etc.

                                                        +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Create PreferencesSet class.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + $instance + + + +

                                                        + + +

                                                        Stores a singleton reference of this class.

                                                        + + + private + static Settings|null + $instance + = null + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        + $settings + + + +

                                                        + + +

                                                        Contains all Settings from each Settings Container.

                                                        + + + private + array<string|int, mixed> + $settings + = array() + +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Create PreferencesSet class.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        +

                                                        + Methods + +

                                                        +
                                                        +

                                                        + get() + +

                                                        + + +

                                                        Returns the value of specified Setting.

                                                        + + + public + get(string $key) : string|int|null + +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $key + : string +
                                                        +
                                                        +

                                                        Setting key.

                                                        +
                                                        + +
                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Add return type.

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + string|int|null + — +

                                                        Setting value, or null if setting key is invalid.

                                                        +
                                                        + + +
                                                        +
                                                        +

                                                        + get_container() + +

                                                        + + +

                                                        Returns the name of a specified Settings Container.

                                                        + + + public + get_container(int $index) : string + +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $index + : int +
                                                        +
                                                        +

                                                        Settings Container index.

                                                        +
                                                        + +
                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + string + — +

                                                        Settings Container name.

                                                        +
                                                        + + +
                                                        +
                                                        +

                                                        + get_defaults() + +

                                                        + + +

                                                        Returns the default value(s) of a specific Settings Container.

                                                        + + + public + get_defaults(int $index) : array<string|int, string|int> + +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $index + : int +
                                                        +
                                                        +

                                                        Settings Container index.

                                                        +
                                                        + +
                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.6 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + array<string|int, string|int> + — +

                                                        Settings Container default value(s).

                                                        +
                                                        + + +
                                                        +
                                                        +

                                                        + instance() + +

                                                        + + +

                                                        Returns a singleton of this class.

                                                        + + + public + static instance() : self + +
                                                        + + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + todo +
                                                        +
                                                        + +

                                                        Remove?

                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + self + — +
                                                        + + +
                                                        +
                                                        +

                                                        + register_settings() + +

                                                        + + +

                                                        Register all Settings Containers for the plugin Settings Page in the Dashboard.

                                                        + + + public + register_settings() : void + +

                                                        The Settings Container label will be the same as the Settings Container name.

                                                        +
                                                        + + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + void + — +
                                                        + + +
                                                        +
                                                        +

                                                        + save_options() + +

                                                        + + +

                                                        Updates a whole Setting Container on save.

                                                        + + + public + save_options(int $index, array<string|int, mixed> $new_values) : bool + +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $index + : int +
                                                        +
                                                        +

                                                        Index of the Setting Container.

                                                        +
                                                        + +
                                                        +
                                                        + $new_values + : array<string|int, mixed> +
                                                        +
                                                        +

                                                        The new Settings value(s).

                                                        +
                                                        + +
                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + bool + — +
                                                        + + +
                                                        +
                                                        +

                                                        + __construct() + +

                                                        + + +

                                                        Loads all Settings from each WordPress Settings Container.

                                                        + + + private + __construct() : mixed + +
                                                        + + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + mixed + — +
                                                        + + +
                                                        +
                                                        +

                                                        + load() + +

                                                        + + +

                                                        Loads all settings from specified Settings Containers.

                                                        + + + private + load(int $index) : array<string|int, string|int> + +
                                                        + +
                                                        Parameters
                                                        +
                                                        +
                                                        + $index + : int +
                                                        +
                                                        +

                                                        Settings container index.

                                                        +
                                                        + +
                                                        +
                                                        + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + array<string|int, string|int> + — +

                                                        Loaded settings (or defaults if specified container is empty).

                                                        +
                                                        + + +
                                                        +
                                                        +

                                                        + load_all() + +

                                                        + + +

                                                        Loads all Settings from each Settings container.

                                                        + + + private + load_all() : void + +
                                                        + + + +
                                                        + Tags + +
                                                        +
                                                        +
                                                        + since +
                                                        +
                                                        + 1.5.0 + +
                                                        + +
                                                        +
                                                        + +
                                                        Return values
                                                        + void + — +
                                                        + + +
                                                        +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        +

                                                        Search results

                                                        + +
                                                        +
                                                        +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + +
                                                          + + + + diff --git a/docs/classes/footnotes-includes-Template.html b/docs/classes/footnotes-includes-Template.html new file mode 100644 index 0000000..ba6ad2f --- /dev/null +++ b/docs/classes/footnotes-includes-Template.html @@ -0,0 +1,959 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                          +

                                                          Documentation

                                                          + + + + + +
                                                          + +
                                                          +
                                                          + + + + +
                                                          + + +
                                                          +

                                                          + Template + + +
                                                          + in package + +
                                                          + + +

                                                          + + + +

                                                          Class defining template rendering.

                                                          + +

                                                          Loads a template file, replaces all Placeholders and returns the replaced +file content.

                                                          +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + subpackage +
                                                          +
                                                          + +

                                                          includes

                                                          +
                                                          + +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + + + + + + +

                                                          + Table of Contents + +

                                                          + +
                                                          +
                                                          + DASHBOARD + +  = 'admin/partials' +
                                                          +
                                                          Directory name for dashboard partials.
                                                          + +
                                                          + PUBLIC + +  = 'public/partials' +
                                                          +
                                                          Directory name for public partials.
                                                          + +
                                                          + $plugin_directory + +  : string +
                                                          +
                                                          Plugin Directory
                                                          + +
                                                          + $original_content + +  : string|null +
                                                          +
                                                          Contains the content of the template after initialize.
                                                          + +
                                                          + $replaced_content + +  : string +
                                                          +
                                                          Contains the content of the template after initialize with replaced place holders.
                                                          + +
                                                          + __construct() + +  : void +
                                                          +
                                                          Class Constructor. Reads and loads the template file without replace any placeholder.
                                                          + +
                                                          + get_content() + +  : string +
                                                          +
                                                          Returns the content of the template file with replaced placeholders.
                                                          + +
                                                          + get_template() + +  : string|bool +
                                                          +
                                                          Get the template.
                                                          + +
                                                          + process_template() + +  : void +
                                                          +
                                                          Process template file.
                                                          + +
                                                          + reload() + +  : void +
                                                          +
                                                          Reloads the original content of the template file.
                                                          + +
                                                          + replace() + +  : bool +
                                                          +
                                                          Replace all placeholders specified in array.
                                                          + +
                                                          + + + + +
                                                          +

                                                          + Constants + +

                                                          +
                                                          +

                                                          + DASHBOARD + +

                                                          + + + +

                                                          Directory name for dashboard partials.

                                                          + + + public + string + DASHBOARD + = 'admin/partials' + + + +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + +
                                                          +
                                                          +

                                                          + PUBLIC + +

                                                          + + + +

                                                          Directory name for public partials.

                                                          + + + public + string + PUBLIC + = 'public/partials' + + + +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + +
                                                          +
                                                          + + +
                                                          +

                                                          + Properties + +

                                                          +
                                                          +

                                                          + $plugin_directory + + + +

                                                          + + +

                                                          Plugin Directory

                                                          + + + public + string + $plugin_directory + + +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 2.4.0d3 + +
                                                          + +
                                                          +
                                                          + +
                                                          +
                                                          +

                                                          + $original_content + + + +

                                                          + + +

                                                          Contains the content of the template after initialize.

                                                          + + + private + string|null + $original_content + = '' + +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + +
                                                          +
                                                          +

                                                          + $replaced_content + + + +

                                                          + + +

                                                          Contains the content of the template after initialize with replaced place holders.

                                                          + + + private + string + $replaced_content + = '' + +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          +

                                                          + Methods + +

                                                          +
                                                          +

                                                          + __construct() + +

                                                          + + +

                                                          Class Constructor. Reads and loads the template file without replace any placeholder.

                                                          + + + public + __construct(string $file_type, string $file_name[, string $extension = 'html' ]) : void + +
                                                          + +
                                                          Parameters
                                                          +
                                                          +
                                                          + $file_type + : string +
                                                          +
                                                          +

                                                          Template file type.

                                                          +
                                                          + +
                                                          +
                                                          + $file_name + : string +
                                                          +
                                                          +

                                                          Template file name inside the partials/ directory, without the file extension.

                                                          +
                                                          + +
                                                          +
                                                          + $extension + : string + = 'html'
                                                          +
                                                          +

                                                          (optional) Template file extension (default: 'html').

                                                          +
                                                          + +
                                                          +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          Return values
                                                          + void + — +
                                                          + + +
                                                          +
                                                          +

                                                          + get_content() + +

                                                          + + +

                                                          Returns the content of the template file with replaced placeholders.

                                                          + + + public + get_content() : string + +
                                                          + + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          Return values
                                                          + string + — +

                                                          Template content with replaced placeholders.

                                                          +
                                                          + + +
                                                          +
                                                          +

                                                          + get_template() + +

                                                          + + +

                                                          Get the template.

                                                          + + + public + get_template(string $file_type, string $file_name[, string $extension = 'html' ]) : string|bool + +
                                                          + +
                                                          Parameters
                                                          +
                                                          +
                                                          + $file_type + : string +
                                                          +
                                                          +

                                                          The file type of the template.

                                                          +
                                                          + +
                                                          +
                                                          + $file_name + : string +
                                                          +
                                                          +

                                                          The file name of the template.

                                                          +
                                                          + +
                                                          +
                                                          + $extension + : string + = 'html'
                                                          +
                                                          +

                                                          The file extension of the template.

                                                          +
                                                          + +
                                                          +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 2.5.0 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Single return type.

                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          Return values
                                                          + string|bool + — +

                                                          false or the template path

                                                          +
                                                          + + +
                                                          +
                                                          +

                                                          + process_template() + +

                                                          + + +

                                                          Process template file.

                                                          + + + public + process_template(string $template) : void + +
                                                          + +
                                                          Parameters
                                                          +
                                                          +
                                                          + $template + : string +
                                                          +
                                                          +

                                                          The template to be processed.

                                                          +
                                                          + +
                                                          +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 2.4.0d3 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          Return values
                                                          + void + — +
                                                          + + +
                                                          +
                                                          +

                                                          + reload() + +

                                                          + + +

                                                          Reloads the original content of the template file.

                                                          + + + public + reload() : void + +
                                                          + + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          Return values
                                                          + void + — +
                                                          + + +
                                                          +
                                                          +

                                                          + replace() + +

                                                          + + +

                                                          Replace all placeholders specified in array.

                                                          + + + public + replace(array<string|int, string> $placeholders) : bool + +
                                                          + +
                                                          Parameters
                                                          +
                                                          +
                                                          + $placeholders + : array<string|int, string> +
                                                          +
                                                          +

                                                          Placeholders (key = placeholder, value = value).

                                                          +
                                                          + +
                                                          +
                                                          + + +
                                                          + Tags + +
                                                          +
                                                          +
                                                          + since +
                                                          +
                                                          + 1.5.0 + +
                                                          + +
                                                          +
                                                          + todo +
                                                          +
                                                          + +

                                                          Refactor templating.

                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          Return values
                                                          + bool + — +

                                                          true on Success, false if placeholders invalid.

                                                          +
                                                          + + +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Search results

                                                          + +
                                                          +
                                                          +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            + + +
                                                            + + + + diff --git a/docs/classes/footnotes-includes-i18n.html b/docs/classes/footnotes-includes-i18n.html new file mode 100644 index 0000000..3416c7b --- /dev/null +++ b/docs/classes/footnotes-includes-i18n.html @@ -0,0 +1,266 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                            +

                                                            Documentation

                                                            + + + + + +
                                                            + +
                                                            +
                                                            + + + + +
                                                            + + +
                                                            +

                                                            + i18n + + +
                                                            + in package + +
                                                            + + +

                                                            + + + +

                                                            Class providing internationalization functionality.

                                                            + +

                                                            Loads and defines the internationalization files for this plugin so that it +is ready for translation.

                                                            +
                                                            + + +
                                                            + Tags + +
                                                            +
                                                            +
                                                            + link +
                                                            +
                                                            +

                                                            GlotPress listing

                                                            +
                                                            + +
                                                            +
                                                            + since +
                                                            +
                                                            + 1.5.0 + +
                                                            + +
                                                            +
                                                            + since +
                                                            +
                                                            + 2.8.0 + +

                                                            Rename class from Language to i18n.

                                                            +
                                                            + +
                                                            +
                                                            + + + + + + +

                                                            + Table of Contents + +

                                                            + +
                                                            +
                                                            + load_plugin_textdomain() + +  : void +
                                                            +
                                                            Load the plugin text domain for translation.
                                                            + +
                                                            + + + + + + + +
                                                            +

                                                            + Methods + +

                                                            +
                                                            +

                                                            + load_plugin_textdomain() + +

                                                            + + +

                                                            Load the plugin text domain for translation.

                                                            + + + public + load_plugin_textdomain() : void + +
                                                            + + + +
                                                            + Tags + +
                                                            +
                                                            +
                                                            + since +
                                                            +
                                                            + 1.5.1 + +
                                                            + +
                                                            +
                                                            + since +
                                                            +
                                                            + 2.8.0 + +

                                                            Rename from load() to load_plugin_textdomain(). Remove unused $language_code parameter.

                                                            +
                                                            + +
                                                            +
                                                            + +
                                                            Return values
                                                            + void + — +
                                                            + + +
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            +

                                                            Search results

                                                            + +
                                                            +
                                                            +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              + + +
                                                              + + + + diff --git a/docs/classes/footnotes-public-Parser.html b/docs/classes/footnotes-public-Parser.html new file mode 100644 index 0000000..318121b --- /dev/null +++ b/docs/classes/footnotes-public-Parser.html @@ -0,0 +1,2561 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                              +

                                                              Documentation

                                                              + + + + + +
                                                              + +
                                                              +
                                                              + + + + +
                                                              + + +
                                                              +

                                                              + Parser + + + + +

                                                              + + + +

                                                              Searches and replaces the footnotes and generates the reference container.

                                                              + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.8.0 + +

                                                              Rename class from Footnotes_Task to Parser.

                                                              +
                                                              + +
                                                              +
                                                              + + + + + + +

                                                              + Table of Contents + +

                                                              + +
                                                              +
                                                              + $a_arr_footnotes + +  : array<string|int, string> +
                                                              +
                                                              Contains all footnotes found in the searched content.
                                                              + +
                                                              + $a_bool_allow_love_me + +  : bool +
                                                              +
                                                              Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.
                                                              + +
                                                              + $a_bool_hard_links_enabled + +  : bool +
                                                              +
                                                              Hard links for AMP compatibility.
                                                              + +
                                                              + $a_bool_mirror_tooltip_text + +  : bool +
                                                              +
                                                              Whether to mirror the tooltip text in the reference container.
                                                              + +
                                                              + $a_bool_syntax_error_flag + +  : bool +
                                                              +
                                                              Footnote delimiter syntax validation enabled.
                                                              + +
                                                              + $a_int_post_id + +  : int +
                                                              +
                                                              Autoload a.k.a. infinite scroll, or archive view.
                                                              + +
                                                              + $a_int_reference_container_id + +  : int +
                                                              +
                                                              Multiple reference containers in content and widgets.
                                                              + +
                                                              + $a_int_scroll_offset + +  : int +
                                                              +
                                                              Scroll offset.
                                                              + +
                                                              + $a_int_tooltip_shortcode_length + +  : int +
                                                              +
                                                              The tooltip delimiter shortcode length.
                                                              + +
                                                              + $a_str_end_tag + +  : string +
                                                              +
                                                              Footnote delimiter end short code.
                                                              + +
                                                              + $a_str_end_tag_regex + +  : string +
                                                              +
                                                              Footnote delimiter end short code in RegEx format.
                                                              + +
                                                              + $a_str_footnote_link_slug + +  : string +
                                                              +
                                                              The footnote slug.
                                                              + +
                                                              + $a_str_link_close_tag + +  : string +
                                                              +
                                                              The closing tag.
                                                              + +
                                                              + $a_str_link_open_tag + +  : string +
                                                              +
                                                              The opening tag.
                                                              + +
                                                              + $a_str_link_span + +  : string +
                                                              +
                                                              The span element name.
                                                              + +
                                                              + $a_str_post_container_id_compound + +  : string +
                                                              +
                                                              Contains the concatenated fragment ID base.
                                                              + +
                                                              + $a_str_prefix + +  : string +
                                                              +
                                                              Prefix for the Footnote html element ID.
                                                              + +
                                                              + $a_str_referrer_link_slug + +  : string +
                                                              +
                                                              The referrer slug.
                                                              + +
                                                              + $a_str_start_tag + +  : string +
                                                              +
                                                              Footnote delimiter start short code.
                                                              + +
                                                              + $a_str_start_tag_regex + +  : string +
                                                              +
                                                              Footnote delimiter start short code in RegEx format.
                                                              + +
                                                              + $a_str_tooltip_shortcode + +  : string +
                                                              +
                                                              The tooltip delimiter shortcode.
                                                              + +
                                                              + $a_str_link_ids_separator + +  : string +
                                                              +
                                                              The slug and identifier separator.
                                                              + +
                                                              + __construct() + +  : mixed +
                                                              +
                                                              Initialize the class and set its properties.
                                                              + +
                                                              + exec() + +  : string +
                                                              +
                                                              Replaces all footnotes that occur in the given content.
                                                              + +
                                                              + footnotes_in_content() + +  : string +
                                                              +
                                                              Replaces footnotes in the content of the current page/post.
                                                              + +
                                                              + footnotes_in_excerpt() + +  : string +
                                                              +
                                                              Processes existing excerpt or replaces it with a new one generated on the basis of the post.
                                                              + +
                                                              + footnotes_in_title() + +  : string +
                                                              +
                                                              Replaces footnotes in the post/page title.
                                                              + +
                                                              + footnotes_in_widget_text() + +  : string +
                                                              +
                                                              Replaces footnotes in the content of the current widget.
                                                              + +
                                                              + footnotes_in_widget_title() + +  : string +
                                                              +
                                                              Replaces footnotes in the widget title.
                                                              + +
                                                              + footnotes_output_footer() + +  : mixed +
                                                              +
                                                              Displays the 'LOVE FOOTNOTES' slug if enabled.
                                                              + +
                                                              + footnotes_output_head() + +  : mixed +
                                                              +
                                                              Outputs the custom css to the header of the public page.
                                                              + +
                                                              + generate_excerpt() + +  : string +
                                                              +
                                                              Generates excerpt on the basis of the post.
                                                              + +
                                                              + generate_excerpt_with_footnotes() + +  : string +
                                                              +
                                                              Generates excerpt with footnotes on the basis of the post.
                                                              + +
                                                              + reference_container() + +  : string +
                                                              +
                                                              Generates the reference container.
                                                              + +
                                                              + register_hooks() + +  : mixed +
                                                              +
                                                              Register WordPress hooks to replace Footnotes in the content of a public page.
                                                              + +
                                                              + search() + +  : string +
                                                              +
                                                              Replaces all footnotes in the given content and appends them to the static property.
                                                              + +
                                                              + unify_delimiters() + +  : mixed +
                                                              +
                                                              Brings the delimiters and unifies their various HTML escapement schemas.
                                                              + +
                                                              + + + + + + +
                                                              +

                                                              + Properties + +

                                                              +
                                                              +

                                                              + $a_arr_footnotes + + + +

                                                              + + +

                                                              Contains all footnotes found in the searched content.

                                                              + + + public + static array<string|int, string> + $a_arr_footnotes + = array() + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_bool_allow_love_me + + + +

                                                              + + +

                                                              Flag if the display of 'LOVE FOOTNOTES' is allowed on the current public page.

                                                              + + + public + static bool + $a_bool_allow_love_me + = true + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              Hard links for AMP compatibility.

                                                              + + + public + static bool + $a_bool_hard_links_enabled + = false + +

                                                              A property because used both in search() and reference_container().

                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.0.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_bool_mirror_tooltip_text + + + +

                                                              + + +

                                                              Whether to mirror the tooltip text in the reference container.

                                                              + + + public + static bool + $a_bool_mirror_tooltip_text + = false + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.5.2 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_bool_syntax_error_flag + + + +

                                                              + + +

                                                              Footnote delimiter syntax validation enabled.

                                                              + + + public + static bool + $a_bool_syntax_error_flag + = true + +

                                                              The algorithm first checks for balanced footnote opening and closing tag short codes. +The first encountered error triggers the display of a warning below the post title.

                                                              +

                                                              Unbalanced short codes have caused significant trouble because they are hard to detect. +Any compiler or other tool reports syntax errors in the first place. Footnotes' exception +is considered a design flaw, and the feature is released as a bug fix after overdue 2.3.0 +released in urgency to provide AMP compat before 2021.

                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.4.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_int_post_id + + + +

                                                              + + +

                                                              Autoload a.k.a. infinite scroll, or archive view.

                                                              + + + public + static int + $a_int_post_id + = 0 + +

                                                              As multiple posts are appended to each other, functions and fragment IDs must be disambiguated. +post ID to make everything unique wrt infinite scroll and archive view.

                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.0.6 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_int_reference_container_id + + + +

                                                              + + +

                                                              Multiple reference containers in content and widgets.

                                                              + + + public + static int + $a_int_reference_container_id + = 1 + +

                                                              This ID disambiguates multiple reference containers in a page +as they may occur when the widget_text hook is active and the page +is built with Elementor and has an accordion or similar toggle sections.

                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.2.9 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_int_scroll_offset + + + +

                                                              + + +

                                                              Scroll offset.

                                                              + + + public + static int + $a_int_scroll_offset + = 34 + +

                                                              Websites may use high fixed headers not contracting at scroll. +Scroll offset may now need to get into inline CSS. +Hence it needs to be loaded twice, because priority levels may not match.

                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.1.4 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_int_tooltip_shortcode_length + + + +

                                                              + + +

                                                              The tooltip delimiter shortcode length.

                                                              + + + public + static int + $a_int_tooltip_shortcode_length + = 12 + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.5.2 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_end_tag + + + +

                                                              + + +

                                                              Footnote delimiter end short code.

                                                              + + + public + static string + $a_str_end_tag + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.6.2 + +

                                                              Move from constant to class property.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_end_tag_regex + + + +

                                                              + + +

                                                              Footnote delimiter end short code in RegEx format.

                                                              + + + public + static string + $a_str_end_tag_regex + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.4.0 + +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.6.2 + +

                                                              Move from global constant to class property.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              The footnote slug.

                                                              + + + public + static string + $a_str_footnote_link_slug + = 'f' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              The closing tag.

                                                              + + + public + static string + $a_str_link_close_tag + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Remove.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              The opening tag.

                                                              + + + public + static string + $a_str_link_open_tag + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Remove.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              The span element name.

                                                              + + + public + static string + $a_str_link_span + = 'span' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Remove.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_post_container_id_compound + + + +

                                                              + + +

                                                              Contains the concatenated fragment ID base.

                                                              + + + public + static string + $a_str_post_container_id_compound + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_prefix + + + +

                                                              + + +

                                                              Prefix for the Footnote html element ID.

                                                              + + + public + static string + $a_str_prefix + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.8 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              The referrer slug.

                                                              + + + public + static string + $a_str_referrer_link_slug + = 'r' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_start_tag + + + +

                                                              + + +

                                                              Footnote delimiter start short code.

                                                              + + + public + static string + $a_str_start_tag + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.6.2 + +

                                                              Move from constant to class property.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_start_tag_regex + + + +

                                                              + + +

                                                              Footnote delimiter start short code in RegEx format.

                                                              + + + public + static string + $a_str_start_tag_regex + = '' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.4.0 + +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.6.2 + +

                                                              Move from global constant to class property.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              + $a_str_tooltip_shortcode + + + +

                                                              + + +

                                                              The tooltip delimiter shortcode.

                                                              + + + public + static string + $a_str_tooltip_shortcode + = '[[/tooltip]]' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.5.2 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + + + +

                                                              The slug and identifier separator.

                                                              + + + private + static string + $a_str_link_ids_separator + = '+' + +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.3.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              +

                                                              + Methods + +

                                                              +
                                                              +

                                                              + __construct() + +

                                                              + + +

                                                              Initialize the class and set its properties.

                                                              + + + public + __construct() : mixed + +
                                                              + + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.8.0 + +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Reorganise dependencies.

                                                              +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Move call to register_hooks() to Public.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + mixed + — +
                                                              + + +
                                                              +
                                                              +

                                                              + exec() + +

                                                              + + +

                                                              Replaces all footnotes that occur in the given content.

                                                              + + + public + exec(string $p_str_content[, bool $p_bool_output_references = false ][, bool $p_bool_hide_footnotes_text = false ]) : string + +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              Any string that may contain footnotes to be replaced.

                                                              +
                                                              + +
                                                              +
                                                              + $p_bool_output_references + : bool + = false
                                                              +
                                                              +

                                                              Appends the Reference Container to the output if set to true, default true.

                                                              +
                                                              + +
                                                              +
                                                              + $p_bool_hide_footnotes_text + : bool + = false
                                                              +
                                                              +

                                                              Hide footnotes found in the string.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +
                                                              + + +
                                                              +
                                                              +

                                                              + footnotes_in_content() + +

                                                              + + +

                                                              Replaces footnotes in the content of the current page/post.

                                                              + + + public + footnotes_in_content(string $p_str_content) : string + +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              Page/Post content.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_content Content with replaced footnotes.

                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              + footnotes_in_excerpt() + +

                                                              + + +

                                                              Processes existing excerpt or replaces it with a new one generated on the basis of the post.

                                                              + + + public + footnotes_in_excerpt(string $p_str_excerpt) : string + +

                                                              The input was already the processed excerpt, no more footnotes to search. +But issue #65 brought up that manual excerpts can include processable footnotes. +Default 'manual' is fallback and is backwards-compatible with the initial setup.

                                                              +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_excerpt + : string +
                                                              +
                                                              +

                                                              Excerpt content.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_excerpt Processed or new excerpt.

                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              + footnotes_in_title() + +

                                                              + + +

                                                              Replaces footnotes in the post/page title.

                                                              + + + public + footnotes_in_title(string $p_str_content) : string + +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              Title.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_content Title with replaced footnotes.

                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              + footnotes_in_widget_text() + +

                                                              + + +

                                                              Replaces footnotes in the content of the current widget.

                                                              + + + public + footnotes_in_widget_text(string $p_str_content) : string + +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              Widget content.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_content Content with replaced footnotes.

                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              + footnotes_in_widget_title() + +

                                                              + + +

                                                              Replaces footnotes in the widget title.

                                                              + + + public + footnotes_in_widget_title(string $p_str_content) : string + +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              Widget content.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_content Content with replaced footnotes.

                                                              +
                                                              + + +
                                                              +
                                                              + + + +

                                                              Displays the 'LOVE FOOTNOTES' slug if enabled.

                                                              + + + public + footnotes_output_footer() : mixed + +
                                                              + + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + mixed + — +
                                                              + + +
                                                              +
                                                              +

                                                              + footnotes_output_head() + +

                                                              + + +

                                                              Outputs the custom css to the header of the public page.

                                                              + + + public + footnotes_output_head() : mixed + +
                                                              + + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Refactor to enqueue stylesheets properly in Public.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + mixed + — +
                                                              + + +
                                                              +
                                                              +

                                                              + generate_excerpt() + +

                                                              + + +

                                                              Generates excerpt on the basis of the post.

                                                              + + + public + generate_excerpt(string $p_str_content) : string + +

                                                              Applies full WordPress excerpt processing.

                                                              +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              The post.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + link +
                                                              +
                                                              + https://developer.wordpress.org/reference/functions/wp_trim_excerpt/ + +
                                                              +
                                                              + link +
                                                              +
                                                              + https://developer.wordpress.org/reference/functions/wp_trim_words/ + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.6.2 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_content An excerpt of the post.

                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              + generate_excerpt_with_footnotes() + +

                                                              + + +

                                                              Generates excerpt with footnotes on the basis of the post.

                                                              + + + public + generate_excerpt_with_footnotes(string $p_str_content) : string + +

                                                              Does not apply full WordPress excerpt processing.

                                                              +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              The post.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + see +
                                                              +
                                                              + self::generate_excerpt() + +

                                                              Uses information and some code from Advanced Excerpt.

                                                              +
                                                              + +
                                                              +
                                                              + link +
                                                              +
                                                              + https://wordpress.org/plugins/advanced-excerpt/ + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.6.3 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +

                                                              $p_str_content An excerpt of the post.

                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              + reference_container() + +

                                                              + + +

                                                              Generates the reference container.

                                                              + + + public + reference_container() : string + +
                                                              + + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +
                                                              + + +
                                                              +
                                                              +

                                                              + register_hooks() + +

                                                              + + +

                                                              Register WordPress hooks to replace Footnotes in the content of a public page.

                                                              + + + public + register_hooks() : mixed + +
                                                              + + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.4 + +

                                                              Add support for @see 'the_post' hook.

                                                              +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.0.5 + +

                                                              Enable all hooks by default.

                                                              +
                                                              + +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.1.0 + +

                                                              Remove @see 'the_post' support.

                                                              +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Move to Public.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + mixed + — +
                                                              + + +
                                                              +
                                                              + + + +

                                                              Replaces all footnotes in the given content and appends them to the static property.

                                                              + + + public + search(string $p_str_content, bool $p_bool_hide_footnotes_text) : string + +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              Any content to be parsed for footnotes.

                                                              +
                                                              + +
                                                              +
                                                              + $p_bool_hide_footnotes_text + : bool +
                                                              +
                                                              +

                                                              Hide footnotes found in the string.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 1.5.0 + +
                                                              + +
                                                              +
                                                              + todo +
                                                              +
                                                              + +

                                                              Refactor to parse DOM rather than using RegEx.

                                                              +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + string + — +
                                                              + + +
                                                              +
                                                              +

                                                              + unify_delimiters() + +

                                                              + + +

                                                              Brings the delimiters and unifies their various HTML escapement schemas.

                                                              + + + public + unify_delimiters(string $p_str_content) : mixed + +

                                                              While the Classic Editor (visual mode) escapes both pointy brackets, +the Block Editor enforces balanced escapement only in code editor mode +when the opening tag is already escaped. In visual mode, the Block Editor +does not escape the greater-than sign.

                                                              +
                                                              + +
                                                              Parameters
                                                              +
                                                              +
                                                              + $p_str_content + : string +
                                                              +
                                                              +

                                                              The footnote, including delimiters.

                                                              +
                                                              + +
                                                              +
                                                              + + +
                                                              + Tags + +
                                                              +
                                                              +
                                                              + since +
                                                              +
                                                              + 2.1.14 + +
                                                              + +
                                                              +
                                                              + +
                                                              Return values
                                                              + mixed + — +
                                                              + + +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              Search results

                                                              + +
                                                              +
                                                              +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                +
                                                                + + +
                                                                + + + + diff --git a/docs/classes/footnotes-public-Pub.html b/docs/classes/footnotes-public-Pub.html new file mode 100644 index 0000000..639eb69 --- /dev/null +++ b/docs/classes/footnotes-public-Pub.html @@ -0,0 +1,1055 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                +

                                                                Documentation

                                                                + + + + + +
                                                                + +
                                                                +
                                                                + + + + +
                                                                + + +
                                                                +

                                                                + Pub + + + + +

                                                                + + + +

                                                                Class provide all admin-specific functionality of the plugin.

                                                                + +

                                                                Defines the plugin name, version, and enqueues all public-facing stylesheets +and JavaScript.

                                                                +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +
                                                                + +
                                                                +
                                                                + + + + + + +

                                                                + Table of Contents + +

                                                                + +
                                                                +
                                                                + $a_bool_alternative_tooltips_enabled + +  : bool +
                                                                +
                                                                Allows to determine whether alternative tooltips are enabled.
                                                                + +
                                                                + $a_bool_amp_enabled + +  : bool +
                                                                +
                                                                Allows to determine whether AMP compatibility mode is enabled.
                                                                + +
                                                                + $a_bool_tooltips_enabled + +  : bool +
                                                                +
                                                                Flag for using tooltips.
                                                                + +
                                                                + $a_obj_task + +  : Parser +
                                                                +
                                                                The footnote parser.
                                                                + +
                                                                + $a_str_script_mode + +  : string +
                                                                +
                                                                Allows to determine the script mode among jQuery or plain JS.
                                                                + +
                                                                + $plugin_name + +  : string +
                                                                +
                                                                The ID of this plugin.
                                                                + +
                                                                + $reference_container_widget + +  : Reference_Container +
                                                                +
                                                                The reference container widget.
                                                                + +
                                                                + $version + +  : string +
                                                                +
                                                                The version of this plugin.
                                                                + +
                                                                + __construct() + +  : mixed +
                                                                +
                                                                Initialize the class and set its properties.
                                                                + +
                                                                + enqueue_scripts() + +  : mixed +
                                                                +
                                                                Register the JavaScript for the public-facing side of the site.
                                                                + +
                                                                + enqueue_styles() + +  : mixed +
                                                                +
                                                                Register the stylesheets for the public-facing side of the site.
                                                                + +
                                                                + register_widgets() + +  : mixed +
                                                                +
                                                                Register the widget(s) for the public-facing side of the site.
                                                                + +
                                                                + load_dependencies() + +  : mixed +
                                                                +
                                                                Load the required public-facing dependencies.
                                                                + +
                                                                + + + + + + +
                                                                +

                                                                + Properties + +

                                                                +
                                                                +

                                                                + $a_bool_alternative_tooltips_enabled + + + +

                                                                + + +

                                                                Allows to determine whether alternative tooltips are enabled.

                                                                + + + public + static bool + $a_bool_alternative_tooltips_enabled + = false + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.1.1 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $a_bool_amp_enabled + + + +

                                                                + + +

                                                                Allows to determine whether AMP compatibility mode is enabled.

                                                                + + + public + static bool + $a_bool_amp_enabled + = false + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.6.0 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $a_bool_tooltips_enabled + + + +

                                                                + + +

                                                                Flag for using tooltips.

                                                                + + + public + static bool + $a_bool_tooltips_enabled + = false + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.4.0 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $a_obj_task + + + +

                                                                + + +

                                                                The footnote parser.

                                                                + + + public + Parser + $a_obj_task + = null + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 1.5.0 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $a_str_script_mode + + + +

                                                                + + +

                                                                Allows to determine the script mode among jQuery or plain JS.

                                                                + + + public + static string + $a_str_script_mode + = 'js' + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.5.6 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $plugin_name + + + +

                                                                + + +

                                                                The ID of this plugin.

                                                                + + + private + string + $plugin_name + + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +
                                                                + +
                                                                +
                                                                + access +
                                                                +
                                                                + +

                                                                private

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $reference_container_widget + + + +

                                                                + + +

                                                                The reference container widget.

                                                                + + + private + Reference_Container + $reference_container_widget + + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                +

                                                                + $version + + + +

                                                                + + +

                                                                The version of this plugin.

                                                                + + + private + string + $version + + +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +
                                                                + +
                                                                +
                                                                + access +
                                                                +
                                                                + +

                                                                private

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                +

                                                                + Methods + +

                                                                +
                                                                +

                                                                + __construct() + +

                                                                + + +

                                                                Initialize the class and set its properties.

                                                                + + + public + __construct(string $plugin_name, string $version) : mixed + +
                                                                + +
                                                                Parameters
                                                                +
                                                                +
                                                                + $plugin_name + : string +
                                                                +
                                                                +

                                                                The name of this plugin.

                                                                +
                                                                + +
                                                                +
                                                                + $version + : string +
                                                                +
                                                                +

                                                                The version of this plugin.

                                                                +
                                                                + +
                                                                +
                                                                + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +
                                                                + +
                                                                +
                                                                + +
                                                                Return values
                                                                + mixed + — +
                                                                + + +
                                                                +
                                                                +

                                                                + enqueue_scripts() + +

                                                                + + +

                                                                Register the JavaScript for the public-facing side of the site.

                                                                + + + public + enqueue_scripts() : mixed + +
                                                                + + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 1.5.0 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.0.0 + +

                                                                Add jQueryUI dependency.

                                                                +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.1.2 + +

                                                                Add jQuery Tools dependency.

                                                                +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.5.6 + +

                                                                Add jQuery dependency.

                                                                +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                Return values
                                                                + mixed + — +
                                                                + + +
                                                                +
                                                                +

                                                                + enqueue_styles() + +

                                                                + + +

                                                                Register the stylesheets for the public-facing side of the site.

                                                                + + + public + enqueue_styles() : mixed + +

                                                                Enables enqueuing the formatted individual stylesheets if PRODUCTION_ENV +is true.

                                                                +
                                                                + + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 1.5.0 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.5.5 + +

                                                                Change stylesheet schema.

                                                                +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                Return values
                                                                + mixed + — +
                                                                + + +
                                                                +
                                                                +

                                                                + register_widgets() + +

                                                                + + +

                                                                Register the widget(s) for the public-facing side of the site.

                                                                + + + public + register_widgets() : mixed + +
                                                                + + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 1.5.0 + +
                                                                + +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +

                                                                Moved from Footnotes to Public.

                                                                +
                                                                + +
                                                                +
                                                                + +
                                                                Return values
                                                                + mixed + — +
                                                                + + +
                                                                +
                                                                +

                                                                + load_dependencies() + +

                                                                + + +

                                                                Load the required public-facing dependencies.

                                                                + + + private + load_dependencies() : mixed + +

                                                                Include the following files that provide the public-facing functionality +of this plugin:

                                                                +
                                                                  +
                                                                • +Parser: parses Posts and Pages for footnote shortcodes; and
                                                                • +
                                                                • +Reference_Container: defines the Reference Container widget.
                                                                • +
                                                                +
                                                                + + + +
                                                                + Tags + +
                                                                +
                                                                +
                                                                + since +
                                                                +
                                                                + 2.8.0 + +
                                                                + +
                                                                +
                                                                + +
                                                                Return values
                                                                + mixed + — +
                                                                + + +
                                                                +
                                                                + +
                                                                +
                                                                +
                                                                +
                                                                +

                                                                Search results

                                                                + +
                                                                +
                                                                +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + + +
                                                                  + + + + diff --git a/docs/classes/footnotes-public-widget-Base.html b/docs/classes/footnotes-public-widget-Base.html new file mode 100644 index 0000000..d694c05 --- /dev/null +++ b/docs/classes/footnotes-public-widget-Base.html @@ -0,0 +1,493 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                  +

                                                                  Documentation

                                                                  + + + + + +
                                                                  + +
                                                                  +
                                                                  + + + + +
                                                                  + + +
                                                                  +

                                                                  + Base + + + extends WP_Widget + + + + +

                                                                  + + + +

                                                                  Base class to be extended by all widget sub-classes.

                                                                  + +

                                                                  Any sub-class must override the appropriate method(s) provided by +WP_Widget.

                                                                  +
                                                                  + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + abstract +
                                                                  +
                                                                  + +
                                                                  + +
                                                                  +
                                                                  + since +
                                                                  +
                                                                  + 1.5.0 + +
                                                                  + +
                                                                  +
                                                                  + todo +
                                                                  +
                                                                  + +

                                                                  Review implemenation of Widgets API.

                                                                  +
                                                                  + +
                                                                  +
                                                                  + + + + + + +

                                                                  + Table of Contents + +

                                                                  + +
                                                                  +
                                                                  + __construct() + +  : mixed +
                                                                  +
                                                                  Registers the child Widget to WordPress.
                                                                  + +
                                                                  + get_description() + +  : string +
                                                                  +
                                                                  Returns the Description of the child widget.
                                                                  + +
                                                                  + get_id() + +  : string +
                                                                  +
                                                                  Returns an unique ID as string used for the Widget Base ID.
                                                                  + +
                                                                  + get_name() + +  : string +
                                                                  +
                                                                  Returns the Public name of child Widget to be displayed in the Configuration page.
                                                                  + +
                                                                  + get_widget_width() + +  : int +
                                                                  +
                                                                  Returns the width of the Widget. Default width is 250 pixel.
                                                                  + +
                                                                  + + + + + + + +
                                                                  +

                                                                  + Methods + +

                                                                  +
                                                                  +

                                                                  + __construct() + +

                                                                  + + +

                                                                  Registers the child Widget to WordPress.

                                                                  + + + public + __construct() : mixed + +
                                                                  + + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + since +
                                                                  +
                                                                  + 1.5.0 + +
                                                                  + +
                                                                  +
                                                                  + +
                                                                  Return values
                                                                  + mixed + — +
                                                                  + + +
                                                                  +
                                                                  +

                                                                  + get_description() + +

                                                                  + + +

                                                                  Returns the Description of the child widget.

                                                                  + + + protected + abstract get_description() : string + +
                                                                  + + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + abstract +
                                                                  +
                                                                  + +
                                                                  + +
                                                                  +
                                                                  + since +
                                                                  +
                                                                  + 1.5.0 + +
                                                                  + +
                                                                  +
                                                                  + +
                                                                  Return values
                                                                  + string + — +
                                                                  + + +
                                                                  +
                                                                  +

                                                                  + get_id() + +

                                                                  + + +

                                                                  Returns an unique ID as string used for the Widget Base ID.

                                                                  + + + protected + abstract get_id() : string + +
                                                                  + + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + abstract +
                                                                  +
                                                                  + +
                                                                  + +
                                                                  +
                                                                  + since +
                                                                  +
                                                                  + 1.5.0 + +
                                                                  + +
                                                                  +
                                                                  + +
                                                                  Return values
                                                                  + string + — +
                                                                  + + +
                                                                  +
                                                                  +

                                                                  + get_name() + +

                                                                  + + +

                                                                  Returns the Public name of child Widget to be displayed in the Configuration page.

                                                                  + + + protected + abstract get_name() : string + +
                                                                  + + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + abstract +
                                                                  +
                                                                  + +
                                                                  + +
                                                                  +
                                                                  + since +
                                                                  +
                                                                  + 1.5.0 + +
                                                                  + +
                                                                  +
                                                                  + +
                                                                  Return values
                                                                  + string + — +
                                                                  + + +
                                                                  +
                                                                  +

                                                                  + get_widget_width() + +

                                                                  + + +

                                                                  Returns the width of the Widget. Default width is 250 pixel.

                                                                  + + + protected + get_widget_width() : int + +
                                                                  + + + +
                                                                  + Tags + +
                                                                  +
                                                                  +
                                                                  + since +
                                                                  +
                                                                  + 1.5.0 + +
                                                                  + +
                                                                  +
                                                                  + +
                                                                  Return values
                                                                  + int + — +
                                                                  + + +
                                                                  +
                                                                  + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +

                                                                  Search results

                                                                  + +
                                                                  +
                                                                  +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    + + +
                                                                    + + + + diff --git a/docs/classes/footnotes-public-widget-Reference-Container.html b/docs/classes/footnotes-public-widget-Reference-Container.html new file mode 100644 index 0000000..2ae21fd --- /dev/null +++ b/docs/classes/footnotes-public-widget-Reference-Container.html @@ -0,0 +1,746 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                    +

                                                                    Documentation

                                                                    + + + + + +
                                                                    + +
                                                                    +
                                                                    + + + + +
                                                                    + + +
                                                                    +

                                                                    + Reference_Container + + + extends Base + + + + +

                                                                    + + + +

                                                                    Registers a Widget to put the Reference Container to the widget area.

                                                                    + +
                                                                    + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 1.5.0 + +
                                                                    + +
                                                                    +
                                                                    + todo +
                                                                    +
                                                                    + +

                                                                    Review implemenation of Widgets API.

                                                                    +
                                                                    + +
                                                                    +
                                                                    + see +
                                                                    +
                                                                    + Base + +
                                                                    + +
                                                                    +
                                                                    + + + + + + +

                                                                    + Table of Contents + +

                                                                    + +
                                                                    +
                                                                    + $plugin_name + +  : string +
                                                                    +
                                                                    The ID of this plugin.
                                                                    + +
                                                                    + __construct() + +  : mixed +
                                                                    +
                                                                    Initialize the class and set its properties.
                                                                    + +
                                                                    + form() + +  : mixed +
                                                                    +
                                                                    Outputs the Settings of the Widget.
                                                                    + +
                                                                    + widget() + +  : mixed +
                                                                    +
                                                                    Outputs the Content of the Widget.
                                                                    + +
                                                                    + get_description() + +  : string +
                                                                    +
                                                                    Returns the Description of the child widget.
                                                                    + +
                                                                    + get_id() + +  : string +
                                                                    +
                                                                    Returns an unique ID as string used for the Widget Base ID.
                                                                    + +
                                                                    + get_name() + +  : string +
                                                                    +
                                                                    Returns the Public name of the Widget to be displayed in the Configuration page.
                                                                    + +
                                                                    + get_widget_width() + +  : int +
                                                                    +
                                                                    Returns the width of the Widget. Default width is 250 pixel.
                                                                    + +
                                                                    + + + + + + +
                                                                    +

                                                                    + Properties + +

                                                                    +
                                                                    +

                                                                    + $plugin_name + + + +

                                                                    + + +

                                                                    The ID of this plugin.

                                                                    + + + private + string + $plugin_name + + +
                                                                    + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + access +
                                                                    +
                                                                    + +

                                                                    private

                                                                    +
                                                                    + +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 2.8.0 + +
                                                                    + +
                                                                    +
                                                                    + see +
                                                                    +
                                                                    + Footnotes::$plugin_name + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    +

                                                                    + Methods + +

                                                                    +
                                                                    +

                                                                    + __construct() + +

                                                                    + + +

                                                                    Initialize the class and set its properties.

                                                                    + + + public + __construct(string $plugin_name) : mixed + +
                                                                    + +
                                                                    Parameters
                                                                    +
                                                                    +
                                                                    + $plugin_name + : string +
                                                                    +
                                                                    +

                                                                    The name of this plugin.

                                                                    +
                                                                    + +
                                                                    +
                                                                    + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 2.8.0 + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    Return values
                                                                    + mixed + — +
                                                                    + + +
                                                                    +
                                                                    +

                                                                    + form() + +

                                                                    + + +

                                                                    Outputs the Settings of the Widget.

                                                                    + + + public + form(mixed $instance) : mixed + +
                                                                    + +
                                                                    Parameters
                                                                    +
                                                                    +
                                                                    + $instance + : mixed +
                                                                    +
                                                                    +

                                                                    The instance of the widget.

                                                                    +
                                                                    + +
                                                                    +
                                                                    + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + link +
                                                                    +
                                                                    +

                                                                    WP_Widget::form()

                                                                    +
                                                                    + +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 1.5.0 + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    Return values
                                                                    + mixed + — +
                                                                    + + +
                                                                    +
                                                                    +

                                                                    + widget() + +

                                                                    + + +

                                                                    Outputs the Content of the Widget.

                                                                    + + + public + widget(mixed $args, mixed $instance) : mixed + +
                                                                    + +
                                                                    Parameters
                                                                    +
                                                                    +
                                                                    + $args + : mixed +
                                                                    +
                                                                    +

                                                                    The widget's arguments.

                                                                    +
                                                                    + +
                                                                    +
                                                                    + $instance + : mixed +
                                                                    +
                                                                    +

                                                                    The instance of the widget.

                                                                    +
                                                                    + +
                                                                    +
                                                                    + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + link +
                                                                    +
                                                                    +

                                                                    WP_Widget::widget()

                                                                    +
                                                                    + +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 1.5.0 + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    Return values
                                                                    + mixed + — +
                                                                    + + +
                                                                    + +
                                                                    +

                                                                    + get_id() + +

                                                                    + + +

                                                                    Returns an unique ID as string used for the Widget Base ID.

                                                                    + + + protected + get_id() : string + +
                                                                    + + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + see +
                                                                    +
                                                                    + Base::get_id() + +
                                                                    + +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 1.5.0 + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    Return values
                                                                    + string + — +
                                                                    + + +
                                                                    +
                                                                    +

                                                                    + get_name() + +

                                                                    + + +

                                                                    Returns the Public name of the Widget to be displayed in the Configuration page.

                                                                    + + + protected + get_name() : string + +
                                                                    + + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + see +
                                                                    +
                                                                    + Base::get_name() + +
                                                                    + +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 1.5.0 + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    Return values
                                                                    + string + — +
                                                                    + + +
                                                                    +
                                                                    +

                                                                    + get_widget_width() + +

                                                                    + + +

                                                                    Returns the width of the Widget. Default width is 250 pixel.

                                                                    + + + protected + get_widget_width() : int + +
                                                                    + + + +
                                                                    + Tags + +
                                                                    +
                                                                    +
                                                                    + since +
                                                                    +
                                                                    + 1.5.0 + +
                                                                    + +
                                                                    +
                                                                    + +
                                                                    Return values
                                                                    + int + — +
                                                                    + + +
                                                                    +
                                                                    + +
                                                                    +
                                                                    +
                                                                    +
                                                                    +

                                                                    Search results

                                                                    + +
                                                                    +
                                                                    +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      + + +
                                                                      + + + + diff --git a/docs/files/src-admin-class-admin.html b/docs/files/src-admin-class-admin.html new file mode 100644 index 0000000..180f1ed --- /dev/null +++ b/docs/files/src-admin-class-admin.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                      +

                                                                      Documentation

                                                                      + + + + + +
                                                                      + +
                                                                      +
                                                                      + + + + +
                                                                      +
                                                                        +
                                                                      + +
                                                                      +

                                                                      class-admin.php

                                                                      + + + +

                                                                      + Interfaces, Classes and Traits + +

                                                                      + +
                                                                      + +
                                                                      Admin
                                                                      +
                                                                      Class provide all admin-specific functionality of the plugin.
                                                                      + +
                                                                      + + + + + + + +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Search results

                                                                      + +
                                                                      +
                                                                      +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        + + +
                                                                        + + + + diff --git a/docs/files/src-admin-class-footnotes-admin.html b/docs/files/src-admin-class-footnotes-admin.html new file mode 100644 index 0000000..0a4a339 --- /dev/null +++ b/docs/files/src-admin-class-footnotes-admin.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                        +

                                                                        Documentation

                                                                        + + + + + +
                                                                        + +
                                                                        +
                                                                        + + + + +
                                                                        +
                                                                          +
                                                                        + +
                                                                        +

                                                                        class-footnotes-admin.php

                                                                        + + + +

                                                                        + Interfaces, Classes and Traits + +

                                                                        + +
                                                                        + +
                                                                        Admin
                                                                        +
                                                                        Class provide all admin-specific functionality of the plugin.
                                                                        + +
                                                                        + + + + + + + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        Search results

                                                                        + +
                                                                        +
                                                                        +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          +
                                                                          + + +
                                                                          + + + + diff --git a/docs/files/src-admin-class-footnotes-wysiwyg.html b/docs/files/src-admin-class-footnotes-wysiwyg.html new file mode 100644 index 0000000..ef529cc --- /dev/null +++ b/docs/files/src-admin-class-footnotes-wysiwyg.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                          +

                                                                          Documentation

                                                                          + + + + + +
                                                                          + +
                                                                          +
                                                                          + + + + +
                                                                          +
                                                                            +
                                                                          + +
                                                                          +

                                                                          class-footnotes-wysiwyg.php

                                                                          + + + +

                                                                          + Interfaces, Classes and Traits + +

                                                                          + +
                                                                          + +
                                                                          WYSIWYG
                                                                          +
                                                                          Class providing WYSIWYG editor intergration for the plugin.
                                                                          + +
                                                                          + + + + + + + +
                                                                          +
                                                                          +
                                                                          +
                                                                          +

                                                                          Search results

                                                                          + +
                                                                          +
                                                                          +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            +
                                                                            + + +
                                                                            + + + + diff --git a/docs/files/src-admin-class-wysiwyg.html b/docs/files/src-admin-class-wysiwyg.html new file mode 100644 index 0000000..a2ce8bc --- /dev/null +++ b/docs/files/src-admin-class-wysiwyg.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                            +

                                                                            Documentation

                                                                            + + + + + +
                                                                            + +
                                                                            +
                                                                            + + + + +
                                                                            +
                                                                              +
                                                                            + +
                                                                            +

                                                                            class-wysiwyg.php

                                                                            + + + +

                                                                            + Interfaces, Classes and Traits + +

                                                                            + +
                                                                            + +
                                                                            WYSIWYG
                                                                            +
                                                                            Class providing WYSIWYG editor intergration for the plugin.
                                                                            + +
                                                                            + + + + + + + +
                                                                            +
                                                                            +
                                                                            +
                                                                            +

                                                                            Search results

                                                                            + +
                                                                            +
                                                                            +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              + + +
                                                                              + + + + diff --git a/docs/files/src-admin-index.html b/docs/files/src-admin-index.html new file mode 100644 index 0000000..abd0adf --- /dev/null +++ b/docs/files/src-admin-index.html @@ -0,0 +1,119 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                              +

                                                                              Documentation

                                                                              + + + + + +
                                                                              + +
                                                                              +
                                                                              + + + + +
                                                                              + + +
                                                                              +

                                                                              index.php

                                                                              + + + + + + + + + + +
                                                                              +
                                                                              +
                                                                              +
                                                                              +

                                                                              Search results

                                                                              + +
                                                                              +
                                                                              +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + + + + diff --git a/docs/files/src-admin-layout-class-engine.html b/docs/files/src-admin-layout-class-engine.html new file mode 100644 index 0000000..d7b1292 --- /dev/null +++ b/docs/files/src-admin-layout-class-engine.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                +

                                                                                Documentation

                                                                                + + + + + +
                                                                                + +
                                                                                +
                                                                                + + + + +
                                                                                +
                                                                                  +
                                                                                + +
                                                                                +

                                                                                class-engine.php

                                                                                + + + +

                                                                                + Interfaces, Classes and Traits + +

                                                                                + +
                                                                                + +
                                                                                Engine
                                                                                +
                                                                                Class to be extended by page layout sub-classes.
                                                                                + +
                                                                                + + + + + + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                Search results

                                                                                + +
                                                                                +
                                                                                +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + + +
                                                                                  + + + + diff --git a/docs/files/src-admin-layout-class-footnotes-layout-engine.html b/docs/files/src-admin-layout-class-footnotes-layout-engine.html new file mode 100644 index 0000000..a31a011 --- /dev/null +++ b/docs/files/src-admin-layout-class-footnotes-layout-engine.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                  +

                                                                                  Documentation

                                                                                  + + + + + +
                                                                                  + +
                                                                                  +
                                                                                  + + + + +
                                                                                  +
                                                                                    +
                                                                                  + +
                                                                                  +

                                                                                  class-footnotes-layout-engine.php

                                                                                  + + + +

                                                                                  + Interfaces, Classes and Traits + +

                                                                                  + +
                                                                                  + +
                                                                                  Engine
                                                                                  +
                                                                                  Class to be extended by page layout sub-classes.
                                                                                  + +
                                                                                  + + + + + + + +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  Search results

                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    + + +
                                                                                    + + + + diff --git a/docs/files/src-admin-layout-class-footnotes-layout-init.html b/docs/files/src-admin-layout-class-footnotes-layout-init.html new file mode 100644 index 0000000..05ec21c --- /dev/null +++ b/docs/files/src-admin-layout-class-footnotes-layout-init.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                    +

                                                                                    Documentation

                                                                                    + + + + + +
                                                                                    + +
                                                                                    +
                                                                                    + + + + +
                                                                                    +
                                                                                      +
                                                                                    + +
                                                                                    +

                                                                                    class-footnotes-layout-init.php

                                                                                    + + + +

                                                                                    + Interfaces, Classes and Traits + +

                                                                                    + +
                                                                                    + +
                                                                                    Init
                                                                                    +
                                                                                    Class to initialise all defined page layouts.
                                                                                    + +
                                                                                    + + + + + + + +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +

                                                                                    Search results

                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      + + +
                                                                                      + + + + diff --git a/docs/files/src-admin-layout-class-footnotes-layout-settings.html b/docs/files/src-admin-layout-class-footnotes-layout-settings.html new file mode 100644 index 0000000..dcbbdc7 --- /dev/null +++ b/docs/files/src-admin-layout-class-footnotes-layout-settings.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                      +

                                                                                      Documentation

                                                                                      + + + + + +
                                                                                      + +
                                                                                      +
                                                                                      + + + + +
                                                                                      +
                                                                                        +
                                                                                      + +
                                                                                      +

                                                                                      class-footnotes-layout-settings.php

                                                                                      + + + +

                                                                                      + Interfaces, Classes and Traits + +

                                                                                      + +
                                                                                      + +
                                                                                      Settings
                                                                                      +
                                                                                      Class to initialise all defined page layouts.
                                                                                      + +
                                                                                      + + + + + + + +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +

                                                                                      Search results

                                                                                      + +
                                                                                      +
                                                                                      +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + + +
                                                                                        + + + + diff --git a/docs/files/src-admin-layout-class-init.html b/docs/files/src-admin-layout-class-init.html new file mode 100644 index 0000000..ca7dbbe --- /dev/null +++ b/docs/files/src-admin-layout-class-init.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                        +

                                                                                        Documentation

                                                                                        + + + + + +
                                                                                        + +
                                                                                        +
                                                                                        + + + + +
                                                                                        +
                                                                                          +
                                                                                        + +
                                                                                        +

                                                                                        class-init.php

                                                                                        + + + +

                                                                                        + Interfaces, Classes and Traits + +

                                                                                        + +
                                                                                        + +
                                                                                        Init
                                                                                        +
                                                                                        Class to initialise all defined page layouts.
                                                                                        + +
                                                                                        + + + + + + + +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        +

                                                                                        Search results

                                                                                        + +
                                                                                        +
                                                                                        +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + + +
                                                                                          + + + + diff --git a/docs/files/src-admin-layout-class-settings.html b/docs/files/src-admin-layout-class-settings.html new file mode 100644 index 0000000..b48e4cd --- /dev/null +++ b/docs/files/src-admin-layout-class-settings.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                          +

                                                                                          Documentation

                                                                                          + + + + + +
                                                                                          + +
                                                                                          +
                                                                                          + + + + +
                                                                                          +
                                                                                            +
                                                                                          + +
                                                                                          +

                                                                                          class-settings.php

                                                                                          + + + +

                                                                                          + Interfaces, Classes and Traits + +

                                                                                          + +
                                                                                          + +
                                                                                          Settings
                                                                                          +
                                                                                          Class to initialise all defined page layouts.
                                                                                          + +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          Search results

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + + +
                                                                                            + + + + diff --git a/docs/files/src-footnotes.html b/docs/files/src-footnotes.html index 4362c2d..3412189 100644 --- a/docs/files/src-footnotes.html +++ b/docs/files/src-footnotes.html @@ -51,9 +51,22 @@

                                                                                            Namespaces

                                                                                            -

                                                                                            Global

                                                                                            -
                                                                                            +

                                                                                            footnotes

                                                                                            + +
                                                                                            +
                                                                                            +

                                                                                            Packages

                                                                                            +

                                                                                            Default

                                                                                            +

                                                                                            footnotes

                                                                                            + +

                                                                                            Reports

                                                                                            @@ -70,7 +83,6 @@
                                                                                            @@ -80,11 +92,182 @@ +

                                                                                            + Table of Contents + +

                                                                                            + +
                                                                                            +
                                                                                            + activate_footnotes() + +  : void +
                                                                                            +
                                                                                            Handles the activation of the plugin.
                                                                                            + +
                                                                                            + deactivate_footnotes() + +  : void +
                                                                                            +
                                                                                            Handles the deactivation of the plugin.
                                                                                            + +
                                                                                            + run_footnotes() + +  : void +
                                                                                            +
                                                                                            Begins execution of the plugin.
                                                                                            + +
                                                                                            - +
                                                                                            +

                                                                                            + Functions + +

                                                                                            +
                                                                                            +

                                                                                            + activate_footnotes() + +

                                                                                            + + +

                                                                                            Handles the activation of the plugin.

                                                                                            + + + + activate_footnotes() : void + +
                                                                                            + + + +
                                                                                            + Tags + +
                                                                                            +
                                                                                            +
                                                                                            + since +
                                                                                            +
                                                                                            + 2.8.0 + +
                                                                                            + +
                                                                                            +
                                                                                            + see +
                                                                                            +
                                                                                            + Activator::activate() + +
                                                                                            + +
                                                                                            +
                                                                                            + + +
                                                                                            +
                                                                                            +

                                                                                            + deactivate_footnotes() + +

                                                                                            + + +

                                                                                            Handles the deactivation of the plugin.

                                                                                            + + + + deactivate_footnotes() : void + +
                                                                                            + + + +
                                                                                            + Tags + +
                                                                                            +
                                                                                            +
                                                                                            + since +
                                                                                            +
                                                                                            + 2.8.0 + +
                                                                                            + +
                                                                                            +
                                                                                            + see +
                                                                                            +
                                                                                            + Deactivator::deactivate() + +
                                                                                            + +
                                                                                            +
                                                                                            + + +
                                                                                            +
                                                                                            +

                                                                                            + run_footnotes() + +

                                                                                            + + +

                                                                                            Begins execution of the plugin.

                                                                                            + + + + run_footnotes() : void + +

                                                                                            Since everything within the plugin is registered via hooks, then kicking off +the plugin from this point in the file does not affect the page life cycle.

                                                                                            +
                                                                                            + + + +
                                                                                            + Tags + +
                                                                                            +
                                                                                            +
                                                                                            + since +
                                                                                            +
                                                                                            + 2.8.0 + +
                                                                                            + +
                                                                                            +
                                                                                            + + +
                                                                                            +
                                                                                            +
                                                                                            diff --git a/docs/files/src-includes-class-activator.html b/docs/files/src-includes-class-activator.html new file mode 100644 index 0000000..6e118c0 --- /dev/null +++ b/docs/files/src-includes-class-activator.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                            +

                                                                                            Documentation

                                                                                            + + + + + +
                                                                                            + +
                                                                                            +
                                                                                            + + + + +
                                                                                            +
                                                                                              +
                                                                                            + +
                                                                                            +

                                                                                            class-activator.php

                                                                                            + + + +

                                                                                            + Interfaces, Classes and Traits + +

                                                                                            + +
                                                                                            + +
                                                                                            Activator
                                                                                            +
                                                                                            Class providing action(s) on plugin activation.
                                                                                            + +
                                                                                            + + + + + + + +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            Search results

                                                                                            + +
                                                                                            +
                                                                                            +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + + +
                                                                                              + + + + diff --git a/docs/files/src-includes-class-config.html b/docs/files/src-includes-class-config.html new file mode 100644 index 0000000..090021a --- /dev/null +++ b/docs/files/src-includes-class-config.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                              +

                                                                                              Documentation

                                                                                              + + + + + +
                                                                                              + +
                                                                                              +
                                                                                              + + + + +
                                                                                              +
                                                                                                +
                                                                                              + +
                                                                                              +

                                                                                              class-config.php

                                                                                              + + + +

                                                                                              + Interfaces, Classes and Traits + +

                                                                                              + +
                                                                                              + +
                                                                                              Config
                                                                                              +
                                                                                              Class defining plugin constants.
                                                                                              + +
                                                                                              + + + + + + + +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +

                                                                                              Search results

                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + +
                                                                                                + + + + diff --git a/docs/files/src-includes-class-convert.html b/docs/files/src-includes-class-convert.html new file mode 100644 index 0000000..23beda2 --- /dev/null +++ b/docs/files/src-includes-class-convert.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                +

                                                                                                Documentation

                                                                                                + + + + + +
                                                                                                + +
                                                                                                +
                                                                                                + + + + +
                                                                                                +
                                                                                                  +
                                                                                                + +
                                                                                                +

                                                                                                class-convert.php

                                                                                                + + + +

                                                                                                + Interfaces, Classes and Traits + +

                                                                                                + +
                                                                                                + +
                                                                                                Convert
                                                                                                +
                                                                                                Class providing variable type and value conversion functions.
                                                                                                + +
                                                                                                + + + + + + + +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +

                                                                                                Search results

                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + + + + diff --git a/docs/files/src-includes-class-core.html b/docs/files/src-includes-class-core.html new file mode 100644 index 0000000..627b5ff --- /dev/null +++ b/docs/files/src-includes-class-core.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                  +

                                                                                                  Documentation

                                                                                                  + + + + + +
                                                                                                  + +
                                                                                                  +
                                                                                                  + + + + +
                                                                                                  +
                                                                                                    +
                                                                                                  + +
                                                                                                  +

                                                                                                  class-core.php

                                                                                                  + + + +

                                                                                                  + Interfaces, Classes and Traits + +

                                                                                                  + +
                                                                                                  + +
                                                                                                  Core
                                                                                                  +
                                                                                                  Class providing core plugin functionality.
                                                                                                  + +
                                                                                                  + + + + + + + +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  Search results

                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + + + + diff --git a/docs/files/src-includes-class-deactivator.html b/docs/files/src-includes-class-deactivator.html new file mode 100644 index 0000000..6226463 --- /dev/null +++ b/docs/files/src-includes-class-deactivator.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                    +

                                                                                                    Documentation

                                                                                                    + + + + + +
                                                                                                    + +
                                                                                                    +
                                                                                                    + + + + +
                                                                                                    +
                                                                                                      +
                                                                                                    + +
                                                                                                    +

                                                                                                    class-deactivator.php

                                                                                                    + + + +

                                                                                                    + Interfaces, Classes and Traits + +

                                                                                                    + +
                                                                                                    + +
                                                                                                    Deactivator
                                                                                                    +
                                                                                                    Class providing action(s) on plugin deactivation.
                                                                                                    + +
                                                                                                    + + + + + + + +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    Search results

                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + + diff --git a/docs/files/src-includes-class-footnotes-activator.html b/docs/files/src-includes-class-footnotes-activator.html new file mode 100644 index 0000000..26644d0 --- /dev/null +++ b/docs/files/src-includes-class-footnotes-activator.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                      +

                                                                                                      Documentation

                                                                                                      + + + + + +
                                                                                                      + +
                                                                                                      +
                                                                                                      + + + + +
                                                                                                      +
                                                                                                        +
                                                                                                      + +
                                                                                                      +

                                                                                                      class-footnotes-activator.php

                                                                                                      + + + +

                                                                                                      + Interfaces, Classes and Traits + +

                                                                                                      + +
                                                                                                      + +
                                                                                                      Activator
                                                                                                      +
                                                                                                      Class providing action(s) on plugin activation.
                                                                                                      + +
                                                                                                      + + + + + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      Search results

                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + + + diff --git a/docs/files/src-includes-class-footnotes-config.html b/docs/files/src-includes-class-footnotes-config.html new file mode 100644 index 0000000..640706d --- /dev/null +++ b/docs/files/src-includes-class-footnotes-config.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                        +

                                                                                                        Documentation

                                                                                                        + + + + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + + +
                                                                                                        +
                                                                                                          +
                                                                                                        + +
                                                                                                        +

                                                                                                        class-footnotes-config.php

                                                                                                        + + + +

                                                                                                        + Interfaces, Classes and Traits + +

                                                                                                        + +
                                                                                                        + +
                                                                                                        Config
                                                                                                        +
                                                                                                        Class defining plugin constants.
                                                                                                        + +
                                                                                                        + + + + + + + +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        Search results

                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + + + diff --git a/docs/files/src-includes-class-footnotes-convert.html b/docs/files/src-includes-class-footnotes-convert.html new file mode 100644 index 0000000..9429b4d --- /dev/null +++ b/docs/files/src-includes-class-footnotes-convert.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                          +

                                                                                                          Documentation

                                                                                                          + + + + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + + +
                                                                                                          +
                                                                                                            +
                                                                                                          + +
                                                                                                          +

                                                                                                          class-footnotes-convert.php

                                                                                                          + + + +

                                                                                                          + Interfaces, Classes and Traits + +

                                                                                                          + +
                                                                                                          + +
                                                                                                          Convert
                                                                                                          +
                                                                                                          Class providing variable type and value conversion functions.
                                                                                                          + +
                                                                                                          + + + + + + + +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          Search results

                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + + + + diff --git a/docs/files/src-includes-class-footnotes-deactivator.html b/docs/files/src-includes-class-footnotes-deactivator.html new file mode 100644 index 0000000..bb100f9 --- /dev/null +++ b/docs/files/src-includes-class-footnotes-deactivator.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                            +

                                                                                                            Documentation

                                                                                                            + + + + + +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + + +
                                                                                                            +
                                                                                                              +
                                                                                                            + +
                                                                                                            +

                                                                                                            class-footnotes-deactivator.php

                                                                                                            + + + +

                                                                                                            + Interfaces, Classes and Traits + +

                                                                                                            + +
                                                                                                            + +
                                                                                                            Deactivator
                                                                                                            +
                                                                                                            Class providing action(s) on plugin deactivation.
                                                                                                            + +
                                                                                                            + + + + + + + +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            Search results

                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + + + diff --git a/docs/files/src-includes-class-footnotes-i18n.html b/docs/files/src-includes-class-footnotes-i18n.html new file mode 100644 index 0000000..c1c4a86 --- /dev/null +++ b/docs/files/src-includes-class-footnotes-i18n.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                              +

                                                                                                              Documentation

                                                                                                              + + + + + +
                                                                                                              + +
                                                                                                              +
                                                                                                              + + + + +
                                                                                                              +
                                                                                                                +
                                                                                                              + +
                                                                                                              +

                                                                                                              class-footnotes-i18n.php

                                                                                                              + + + +

                                                                                                              + Interfaces, Classes and Traits + +

                                                                                                              + +
                                                                                                              + +
                                                                                                              i18n
                                                                                                              +
                                                                                                              Class providing internationalization functionality.
                                                                                                              + +
                                                                                                              + + + + + + + +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              +

                                                                                                              Search results

                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + + + diff --git a/docs/files/src-includes-class-footnotes-loader.html b/docs/files/src-includes-class-footnotes-loader.html new file mode 100644 index 0000000..479cd43 --- /dev/null +++ b/docs/files/src-includes-class-footnotes-loader.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                +

                                                                                                                Documentation

                                                                                                                + + + + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + + +
                                                                                                                +
                                                                                                                  +
                                                                                                                + +
                                                                                                                +

                                                                                                                class-footnotes-loader.php

                                                                                                                + + + +

                                                                                                                + Interfaces, Classes and Traits + +

                                                                                                                + +
                                                                                                                + +
                                                                                                                Loader
                                                                                                                +
                                                                                                                Class defining action/filter registration for the plugin.
                                                                                                                + +
                                                                                                                + + + + + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +

                                                                                                                Search results

                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + + + diff --git a/docs/files/src-includes-class-footnotes-settings.html b/docs/files/src-includes-class-footnotes-settings.html new file mode 100644 index 0000000..ef446c8 --- /dev/null +++ b/docs/files/src-includes-class-footnotes-settings.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                  +

                                                                                                                  Documentation

                                                                                                                  + + + + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + + +
                                                                                                                  +
                                                                                                                    +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  class-footnotes-settings.php

                                                                                                                  + + + +

                                                                                                                  + Interfaces, Classes and Traits + +

                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  Settings
                                                                                                                  +
                                                                                                                  Class defining configurable plugin settings.
                                                                                                                  + +
                                                                                                                  + + + + + + + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  Search results

                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + + + + diff --git a/docs/files/src-includes-class-footnotes-template.html b/docs/files/src-includes-class-footnotes-template.html new file mode 100644 index 0000000..105538c --- /dev/null +++ b/docs/files/src-includes-class-footnotes-template.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                    +

                                                                                                                    Documentation

                                                                                                                    + + + + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + + +
                                                                                                                    +
                                                                                                                      +
                                                                                                                    + +
                                                                                                                    +

                                                                                                                    class-footnotes-template.php

                                                                                                                    + + + +

                                                                                                                    + Interfaces, Classes and Traits + +

                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    Template
                                                                                                                    +
                                                                                                                    Class defining template rendering.
                                                                                                                    + +
                                                                                                                    + + + + + + + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    Search results

                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + + + diff --git a/docs/files/src-includes-class-footnotes.html b/docs/files/src-includes-class-footnotes.html new file mode 100644 index 0000000..f8603b4 --- /dev/null +++ b/docs/files/src-includes-class-footnotes.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                      +

                                                                                                                      Documentation

                                                                                                                      + + + + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                        +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      class-footnotes.php

                                                                                                                      + + + +

                                                                                                                      + Interfaces, Classes and Traits + +

                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      Core
                                                                                                                      +
                                                                                                                      Class providing core plugin functionality.
                                                                                                                      + +
                                                                                                                      + + + + + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      Search results

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        + + + + diff --git a/docs/files/src-includes-class-i18n.html b/docs/files/src-includes-class-i18n.html new file mode 100644 index 0000000..cbb1b27 --- /dev/null +++ b/docs/files/src-includes-class-i18n.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                        +

                                                                                                                        Documentation

                                                                                                                        + + + + + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + + +
                                                                                                                        +
                                                                                                                          +
                                                                                                                        + +
                                                                                                                        +

                                                                                                                        class-i18n.php

                                                                                                                        + + + +

                                                                                                                        + Interfaces, Classes and Traits + +

                                                                                                                        + +
                                                                                                                        + +
                                                                                                                        i18n
                                                                                                                        +
                                                                                                                        Class providing internationalization functionality.
                                                                                                                        + +
                                                                                                                        + + + + + + + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +

                                                                                                                        Search results

                                                                                                                        + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + + +
                                                                                                                          + + + + diff --git a/docs/files/src-includes-class-loader.html b/docs/files/src-includes-class-loader.html new file mode 100644 index 0000000..26e7b10 --- /dev/null +++ b/docs/files/src-includes-class-loader.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                          +

                                                                                                                          Documentation

                                                                                                                          + + + + + +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + + + + +
                                                                                                                          +
                                                                                                                            +
                                                                                                                          + +
                                                                                                                          +

                                                                                                                          class-loader.php

                                                                                                                          + + + +

                                                                                                                          + Interfaces, Classes and Traits + +

                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          Loader
                                                                                                                          +
                                                                                                                          Class defining action/filter registration for the plugin.
                                                                                                                          + +
                                                                                                                          + + + + + + + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +

                                                                                                                          Search results

                                                                                                                          + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            + + +
                                                                                                                            + + + + diff --git a/docs/files/src-includes-class-settings.html b/docs/files/src-includes-class-settings.html new file mode 100644 index 0000000..d6c8b6e --- /dev/null +++ b/docs/files/src-includes-class-settings.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                            +

                                                                                                                            Documentation

                                                                                                                            + + + + + +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            + + + + +
                                                                                                                            +
                                                                                                                              +
                                                                                                                            + +
                                                                                                                            +

                                                                                                                            class-settings.php

                                                                                                                            + + + +

                                                                                                                            + Interfaces, Classes and Traits + +

                                                                                                                            + +
                                                                                                                            + +
                                                                                                                            Settings
                                                                                                                            +
                                                                                                                            Class defining configurable plugin settings.
                                                                                                                            + +
                                                                                                                            + + + + + + + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +

                                                                                                                            Search results

                                                                                                                            + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + +
                                                                                                                              + + + + diff --git a/docs/files/src-includes-class-template.html b/docs/files/src-includes-class-template.html new file mode 100644 index 0000000..0045895 --- /dev/null +++ b/docs/files/src-includes-class-template.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                              +

                                                                                                                              Documentation

                                                                                                                              + + + + + +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + +
                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              class-template.php

                                                                                                                              + + + +

                                                                                                                              + Interfaces, Classes and Traits + +

                                                                                                                              + +
                                                                                                                              + +
                                                                                                                              Template
                                                                                                                              +
                                                                                                                              Class defining template rendering.
                                                                                                                              + +
                                                                                                                              + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Search results

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + +
                                                                                                                                + + + + diff --git a/docs/files/src-includes-index.html b/docs/files/src-includes-index.html new file mode 100644 index 0000000..f130ed8 --- /dev/null +++ b/docs/files/src-includes-index.html @@ -0,0 +1,119 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                +

                                                                                                                                Documentation

                                                                                                                                + + + + + +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + + + + +
                                                                                                                                + + +
                                                                                                                                +

                                                                                                                                index.php

                                                                                                                                + + + + + + + + + + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Search results

                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  + + + + diff --git a/docs/files/src-index.html b/docs/files/src-index.html new file mode 100644 index 0000000..06b9826 --- /dev/null +++ b/docs/files/src-index.html @@ -0,0 +1,119 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                  +

                                                                                                                                  Documentation

                                                                                                                                  + + + + + +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  + + + + +
                                                                                                                                  + + +
                                                                                                                                  +

                                                                                                                                  index.php

                                                                                                                                  + + + + + + + + + + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  Search results

                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    + + +
                                                                                                                                    + + + + diff --git a/docs/files/src-public-class-footnotes-parser.html b/docs/files/src-public-class-footnotes-parser.html new file mode 100644 index 0000000..b9424ad --- /dev/null +++ b/docs/files/src-public-class-footnotes-parser.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                    +

                                                                                                                                    Documentation

                                                                                                                                    + + + + + +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                    + + + + +
                                                                                                                                    +
                                                                                                                                      +
                                                                                                                                    + +
                                                                                                                                    +

                                                                                                                                    class-footnotes-parser.php

                                                                                                                                    + + + +

                                                                                                                                    + Interfaces, Classes and Traits + +

                                                                                                                                    + +
                                                                                                                                    + +
                                                                                                                                    Parser
                                                                                                                                    +
                                                                                                                                    Searches and replaces the footnotes and generates the reference container.
                                                                                                                                    + +
                                                                                                                                    + + + + + + + +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    Search results

                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      + + +
                                                                                                                                      + + + + diff --git a/docs/files/src-public-class-footnotes-public.html b/docs/files/src-public-class-footnotes-public.html new file mode 100644 index 0000000..b5a95f3 --- /dev/null +++ b/docs/files/src-public-class-footnotes-public.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                      +

                                                                                                                                      Documentation

                                                                                                                                      + + + + + +
                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      + + + + +
                                                                                                                                      +
                                                                                                                                        +
                                                                                                                                      + +
                                                                                                                                      +

                                                                                                                                      class-footnotes-public.php

                                                                                                                                      + + + +

                                                                                                                                      + Interfaces, Classes and Traits + +

                                                                                                                                      + +
                                                                                                                                      + +
                                                                                                                                      General
                                                                                                                                      +
                                                                                                                                      Class provide all public-facing functionality of the plugin.
                                                                                                                                      + +
                                                                                                                                      + + + + + + + +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +

                                                                                                                                      Search results

                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + +
                                                                                                                                        + + + + diff --git a/docs/files/src-public-class-footnotes-task.html b/docs/files/src-public-class-footnotes-task.html new file mode 100644 index 0000000..a47ce16 --- /dev/null +++ b/docs/files/src-public-class-footnotes-task.html @@ -0,0 +1,130 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                        +

                                                                                                                                        Documentation

                                                                                                                                        + + + + + +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + + + + +
                                                                                                                                        + + +
                                                                                                                                        +

                                                                                                                                        class-footnotes-task.php

                                                                                                                                        + + + +

                                                                                                                                        + Interfaces, Classes and Traits + +

                                                                                                                                        + +
                                                                                                                                        + +
                                                                                                                                        Footnotes_Task
                                                                                                                                        +
                                                                                                                                        Searches and replaces the footnotes and generates the reference container.
                                                                                                                                        + +
                                                                                                                                        + + + + + + + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        Search results

                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          + + +
                                                                                                                                          + + + + diff --git a/docs/files/src-public-class-general.html b/docs/files/src-public-class-general.html new file mode 100644 index 0000000..8ee3c7a --- /dev/null +++ b/docs/files/src-public-class-general.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                          +

                                                                                                                                          Documentation

                                                                                                                                          + + + + + +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          + + + + +
                                                                                                                                          +
                                                                                                                                            +
                                                                                                                                          + +
                                                                                                                                          +

                                                                                                                                          class-general.php

                                                                                                                                          + + + +

                                                                                                                                          + Interfaces, Classes and Traits + +

                                                                                                                                          + +
                                                                                                                                          + +
                                                                                                                                          General
                                                                                                                                          +
                                                                                                                                          Class provide all public-facing functionality of the plugin.
                                                                                                                                          + +
                                                                                                                                          + + + + + + + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          Search results

                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            + + +
                                                                                                                                            + + + + diff --git a/docs/files/src-public-class-parser.html b/docs/files/src-public-class-parser.html new file mode 100644 index 0000000..4f83375 --- /dev/null +++ b/docs/files/src-public-class-parser.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                            +

                                                                                                                                            Documentation

                                                                                                                                            + + + + + +
                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            + + + + +
                                                                                                                                            +
                                                                                                                                              +
                                                                                                                                            + +
                                                                                                                                            +

                                                                                                                                            class-parser.php

                                                                                                                                            + + + +

                                                                                                                                            + Interfaces, Classes and Traits + +

                                                                                                                                            + +
                                                                                                                                            + +
                                                                                                                                            Parser
                                                                                                                                            +
                                                                                                                                            Searches and replaces the footnotes and generates the reference container.
                                                                                                                                            + +
                                                                                                                                            + + + + + + + +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +

                                                                                                                                            Search results

                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              + + +
                                                                                                                                              + + + + diff --git a/docs/files/src-public-index.html b/docs/files/src-public-index.html new file mode 100644 index 0000000..4730c17 --- /dev/null +++ b/docs/files/src-public-index.html @@ -0,0 +1,119 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                              +

                                                                                                                                              Documentation

                                                                                                                                              + + + + + +
                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              + + + + +
                                                                                                                                              + + +
                                                                                                                                              +

                                                                                                                                              index.php

                                                                                                                                              + + + + + + + + + + +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +

                                                                                                                                              Search results

                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                + + +
                                                                                                                                                + + + + diff --git a/docs/files/src-public-widget-class-base.html b/docs/files/src-public-widget-class-base.html new file mode 100644 index 0000000..da1676d --- /dev/null +++ b/docs/files/src-public-widget-class-base.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                +

                                                                                                                                                Documentation

                                                                                                                                                + + + + + +
                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                + + + + +
                                                                                                                                                +
                                                                                                                                                  +
                                                                                                                                                + +
                                                                                                                                                +

                                                                                                                                                class-base.php

                                                                                                                                                + + + +

                                                                                                                                                + Interfaces, Classes and Traits + +

                                                                                                                                                + +
                                                                                                                                                + +
                                                                                                                                                Base
                                                                                                                                                +
                                                                                                                                                Base class to be extended by all widget sub-classes.
                                                                                                                                                + +
                                                                                                                                                + + + + + + + +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +

                                                                                                                                                Search results

                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + + +
                                                                                                                                                  + + + + diff --git a/docs/files/src-public-widget-class-footnotes-widget-base.html b/docs/files/src-public-widget-class-footnotes-widget-base.html new file mode 100644 index 0000000..28c0216 --- /dev/null +++ b/docs/files/src-public-widget-class-footnotes-widget-base.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                  +

                                                                                                                                                  Documentation

                                                                                                                                                  + + + + + +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + + +
                                                                                                                                                  +
                                                                                                                                                    +
                                                                                                                                                  + +
                                                                                                                                                  +

                                                                                                                                                  class-footnotes-widget-base.php

                                                                                                                                                  + + + +

                                                                                                                                                  + Interfaces, Classes and Traits + +

                                                                                                                                                  + +
                                                                                                                                                  + +
                                                                                                                                                  Base
                                                                                                                                                  +
                                                                                                                                                  Base class to be extended by all widget sub-classes.
                                                                                                                                                  + +
                                                                                                                                                  + + + + + + + +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  Search results

                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    + + +
                                                                                                                                                    + + + + diff --git a/docs/files/src-public-widget-class-footnotes-widget-reference-container.html b/docs/files/src-public-widget-class-footnotes-widget-reference-container.html new file mode 100644 index 0000000..58dc89a --- /dev/null +++ b/docs/files/src-public-widget-class-footnotes-widget-reference-container.html @@ -0,0 +1,125 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                    +

                                                                                                                                                    Documentation

                                                                                                                                                    + + + + + +
                                                                                                                                                    + +
                                                                                                                                                    +
                                                                                                                                                    + + + + +
                                                                                                                                                    +
                                                                                                                                                      +
                                                                                                                                                    + +
                                                                                                                                                    +

                                                                                                                                                    class-footnotes-widget-reference-container.php

                                                                                                                                                    + + + +

                                                                                                                                                    + Interfaces, Classes and Traits + +

                                                                                                                                                    + +
                                                                                                                                                    + +
                                                                                                                                                    Reference_Container
                                                                                                                                                    +
                                                                                                                                                    Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                    + +
                                                                                                                                                    + + + + + + + +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +

                                                                                                                                                    Search results

                                                                                                                                                    + +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + + +
                                                                                                                                                      + + + + diff --git a/docs/files/src-public-widget-class-reference-container.html b/docs/files/src-public-widget-class-reference-container.html new file mode 100644 index 0000000..edf4f81 --- /dev/null +++ b/docs/files/src-public-widget-class-reference-container.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                      +

                                                                                                                                                      Documentation

                                                                                                                                                      + + + + + +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + + + + +
                                                                                                                                                      +
                                                                                                                                                        +
                                                                                                                                                      + +
                                                                                                                                                      +

                                                                                                                                                      class-reference-container.php

                                                                                                                                                      + + + +

                                                                                                                                                      + Interfaces, Classes and Traits + +

                                                                                                                                                      + +
                                                                                                                                                      + +
                                                                                                                                                      Reference_Container
                                                                                                                                                      +
                                                                                                                                                      Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                      + +
                                                                                                                                                      + + + + + + + +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +

                                                                                                                                                      Search results

                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + +
                                                                                                                                                        + + + + diff --git a/docs/files/src-uninstall.html b/docs/files/src-uninstall.html new file mode 100644 index 0000000..5314f9a --- /dev/null +++ b/docs/files/src-uninstall.html @@ -0,0 +1,122 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                        +

                                                                                                                                                        Documentation

                                                                                                                                                        + + + + + +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + +
                                                                                                                                                        +
                                                                                                                                                          +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        uninstall.php

                                                                                                                                                        + + + + + + + + + + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +

                                                                                                                                                        Search results

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + + +
                                                                                                                                                          + + + + diff --git a/docs/graphs/classes.html b/docs/graphs/classes.html index f77584f..46d29da 100644 --- a/docs/graphs/classes.html +++ b/docs/graphs/classes.html @@ -44,9 +44,22 @@

                                                                                                                                                          Namespaces

                                                                                                                                                          -

                                                                                                                                                          Global

                                                                                                                                                          -
                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Packages

                                                                                                                                                          +

                                                                                                                                                          Default

                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +

                                                                                                                                                          Reports

                                                                                                                                                          diff --git a/docs/index.html b/docs/index.html index 3706b3f..da68dc5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -51,9 +51,22 @@

                                                                                                                                                          Namespaces

                                                                                                                                                          -

                                                                                                                                                          Global

                                                                                                                                                          -
                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Packages

                                                                                                                                                          +

                                                                                                                                                          Default

                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +

                                                                                                                                                          Reports

                                                                                                                                                          @@ -72,131 +85,31 @@

                                                                                                                                                          Documentation

                                                                                                                                                          - - -

                                                                                                                                                          - Interfaces, Classes and Traits - +

                                                                                                                                                          + Packages +

                                                                                                                                                          - -
                                                                                                                                                          Footnotes_Config
                                                                                                                                                          -
                                                                                                                                                          Contains all Plugin Constants. Contains no Method or Property.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Convert
                                                                                                                                                          -
                                                                                                                                                          Converts data types and Footnotes specific values.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Layout_Init
                                                                                                                                                          -
                                                                                                                                                          Handles the Settings interface of the Plugin.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Layout_Engine
                                                                                                                                                          -
                                                                                                                                                          Layout Engine for the administration dashboard.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Layout_Settings
                                                                                                                                                          -
                                                                                                                                                          Displays and handles all Settings of the Plugin.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Hooks
                                                                                                                                                          -
                                                                                                                                                          Registers all WordPress hooks and executes them on demand.
                                                                                                                                                          -
                                                                                                                                                          Footnotes
                                                                                                                                                          -
                                                                                                                                                          Provides an entry point to the Plugin.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Language
                                                                                                                                                          -
                                                                                                                                                          Loads text domain of current or default language for localization.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Settings
                                                                                                                                                          -
                                                                                                                                                          Loads the settings values, sets to default values if undefined.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Task
                                                                                                                                                          -
                                                                                                                                                          Searches and replaces the footnotes and generates the reference container.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Template
                                                                                                                                                          -
                                                                                                                                                          Handles each Template file for the Plugin Frontend (e.g. Settings Dashboard, Public pages, ...).
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Widget_Base
                                                                                                                                                          -
                                                                                                                                                          Base Class for all Plugin Widgets. Registers each Widget to WordPress.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Widget_Reference_Container
                                                                                                                                                          -
                                                                                                                                                          Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_WYSIWYG
                                                                                                                                                          -
                                                                                                                                                          Handles the WSYIWYG-Buttons.
                                                                                                                                                          - +
                                                                                                                                                          Default
                                                                                                                                                          +
                                                                                                                                                          footnotes
                                                                                                                                                          - -

                                                                                                                                                          - Table of Contents - +

                                                                                                                                                          + Namespaces +

                                                                                                                                                          -
                                                                                                                                                          - mci_footnotes_require_php_files() - -  : mixed -
                                                                                                                                                          -
                                                                                                                                                          Requires (`require_once`) all `*.php` files inside a specific Directory.
                                                                                                                                                          - +
                                                                                                                                                          footnotes
                                                                                                                                                          - -
                                                                                                                                                          -

                                                                                                                                                          - Functions - -

                                                                                                                                                          -
                                                                                                                                                          -

                                                                                                                                                          - mci_footnotes_require_php_files() - -

                                                                                                                                                          - -

                                                                                                                                                          Requires (`require_once`) all `*.php` files inside a specific Directory.

                                                                                                                                                          - - - - mci_footnotes_require_php_files(string $p_str_directory) : mixed - -
                                                                                                                                                          - -
                                                                                                                                                          Parameters
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - $p_str_directory - : string -
                                                                                                                                                          -
                                                                                                                                                          -

                                                                                                                                                          Absolute Directory path to lookup for *.php files.

                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - Tags - -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - author -
                                                                                                                                                          -
                                                                                                                                                          - -

                                                                                                                                                          Stefan Herndler

                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - since -
                                                                                                                                                          -
                                                                                                                                                          - 1.5.0 - -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          diff --git a/docs/indices/files.html b/docs/indices/files.html index 3d651d0..dece910 100644 --- a/docs/indices/files.html +++ b/docs/indices/files.html @@ -51,9 +51,22 @@

                                                                                                                                                          Namespaces

                                                                                                                                                          -

                                                                                                                                                          Global

                                                                                                                                                          -
                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Packages

                                                                                                                                                          +

                                                                                                                                                          Default

                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +

                                                                                                                                                          Reports

                                                                                                                                                          @@ -71,53 +84,36 @@

                                                                                                                                                          Files

                                                                                                                                                          -

                                                                                                                                                          B

                                                                                                                                                          +

                                                                                                                                                          C

                                                                                                                                                          -

                                                                                                                                                          C

                                                                                                                                                          -

                                                                                                                                                          F

                                                                                                                                                          -

                                                                                                                                                          H

                                                                                                                                                          +

                                                                                                                                                          U

                                                                                                                                                          -

                                                                                                                                                          I

                                                                                                                                                          - -

                                                                                                                                                          L

                                                                                                                                                          - -

                                                                                                                                                          R

                                                                                                                                                          - -

                                                                                                                                                          S

                                                                                                                                                          - -

                                                                                                                                                          T

                                                                                                                                                          - -

                                                                                                                                                          W

                                                                                                                                                          - -
                                                                                                                                                          +

                                                                                                                                                          Search results

                                                                                                                                                          diff --git a/docs/js/searchIndex.js b/docs/js/searchIndex.js index 2c5b880..e8e6e7b 100644 --- a/docs/js/searchIndex.js +++ b/docs/js/searchIndex.js @@ -1,1449 +1,1624 @@ Search.appendIndex( [ { - "fqsen": "\\Footnotes_Config", - "name": "Footnotes_Config", - "summary": "Contains\u0020all\u0020Plugin\u0020Constants.\u0020Contains\u0020no\u0020Method\u0020or\u0020Property.", - "url": "classes/Footnotes-Config.html" + "fqsen": "\\footnotes\\admin\\Admin", + "name": "Admin", + "summary": "Class\u0020provide\u0020all\u0020admin\u002Dspecific\u0020functionality\u0020of\u0020the\u0020plugin.", + "url": "classes/footnotes-admin-Admin.html" }, { - "fqsen": "\\Footnotes_Config\u003A\u003AC_STR_PLUGIN_NAME", - "name": "C_STR_PLUGIN_NAME", - "summary": "Internal\u0020Plugin\u0020name.", - "url": "classes/Footnotes-Config.html#constant_C_STR_PLUGIN_NAME" - }, { - "fqsen": "\\Footnotes_Config\u003A\u003AC_STR_PLUGIN_PUBLIC_NAME", - "name": "C_STR_PLUGIN_PUBLIC_NAME", - "summary": "Public\u0020Plugin\u0020name.", - "url": "classes/Footnotes-Config.html#constant_C_STR_PLUGIN_PUBLIC_NAME" - }, { - "fqsen": "\\Footnotes_Config\u003A\u003AC_STR_PLUGIN_HEADING_NAME", - "name": "C_STR_PLUGIN_HEADING_NAME", - "summary": "Public\u0020Plugin\u0020name\u0020for\u0020dashboard\u0020heading", - "url": "classes/Footnotes-Config.html#constant_C_STR_PLUGIN_HEADING_NAME" - }, { - "fqsen": "\\Footnotes_Config\u003A\u003AC_STR_LOVE_SYMBOL", - "name": "C_STR_LOVE_SYMBOL", - "summary": "Html\u0020tag\u0020for\u0020the\u0020LOVE\u0020symbol.", - "url": "classes/Footnotes-Config.html#constant_C_STR_LOVE_SYMBOL" - }, { - "fqsen": "\\Footnotes_Config\u003A\u003AC_STR_LOVE_SYMBOL_HEADING", - "name": "C_STR_LOVE_SYMBOL_HEADING", - "summary": "HTML\u0020code\u0020for\u0020the\u0020\u0027love\u0027\u0020symbol\u0020used\u0020in\u0020dashboard\u0020heading", - "url": "classes/Footnotes-Config.html#constant_C_STR_LOVE_SYMBOL_HEADING" - }, { - "fqsen": "\\Footnotes_Config\u003A\u003AC_STR_NO_LOVE_SLUG", - "name": "C_STR_NO_LOVE_SLUG", - "summary": "Short\u0020code\u0020to\u0020DON\u0027T\u0020display\u0020the\u0020\u0027LOVE\u0020ME\u0027\u0020slug\u0020on\u0020certain\u0020pages.", - "url": "classes/Footnotes-Config.html#constant_C_STR_NO_LOVE_SLUG" - }, { - "fqsen": "\\Footnotes_Convert", - "name": "Footnotes_Convert", - "summary": "Converts\u0020data\u0020types\u0020and\u0020Footnotes\u0020specific\u0020values.", - "url": "classes/Footnotes-Convert.html" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Aindex\u0028\u0029", - "name": "index", - "summary": "Converts\u0020a\u0020integer\u0020into\u0020the\u0020user\u002Ddefined\u0020counter\u0020style\u0020for\u0020the\u0020footnotes.", - "url": "classes/Footnotes-Convert.html#method_index" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Ato_latin\u0028\u0029", - "name": "to_latin", - "summary": "Converts\u0020an\u0020integer\u0020into\u0020latin\u0020ascii\u0020characters,\u0020either\u0020lower\u0020or\u0020upper\u002Dcase.", - "url": "classes/Footnotes-Convert.html#method_to_latin" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Ato_arabic_leading\u0028\u0029", - "name": "to_arabic_leading", - "summary": "Converts\u0020an\u0020integer\u0020to\u0020a\u0020leading\u002D0\u0020integer.", - "url": "classes/Footnotes-Convert.html#method_to_arabic_leading" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Ato_romanic\u0028\u0029", - "name": "to_romanic", - "summary": "Converts\u0020an\u0020integer\u0020to\u0020a\u0020romanic\u0020letter.", - "url": "classes/Footnotes-Convert.html#method_to_romanic" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Ato_bool\u0028\u0029", - "name": "to_bool", - "summary": "Converts\u0020a\u0020string\u0020depending\u0020on\u0020its\u0020value\u0020to\u0020a\u0020boolean.", - "url": "classes/Footnotes-Convert.html#method_to_bool" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Aget_arrow\u0028\u0029", - "name": "get_arrow", - "summary": "Get\u0020a\u0020html\u0020Array\u0020short\u0020code\u0020depending\u0020on\u0020Arrow\u002DArray\u0020key\u0020index.", - "url": "classes/Footnotes-Convert.html#method_get_arrow" - }, { - "fqsen": "\\Footnotes_Convert\u003A\u003Adebug\u0028\u0029", - "name": "debug", - "summary": "Displays\u0020a\u0020Variable.", - "url": "classes/Footnotes-Convert.html#method_debug" - }, { - "fqsen": "\\Footnotes_Layout_Init", - "name": "Footnotes_Layout_Init", - "summary": "Handles\u0020the\u0020Settings\u0020interface\u0020of\u0020the\u0020Plugin.", - "url": "classes/Footnotes-Layout-Init.html" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003A__construct\u0028\u0029", + "fqsen": "\\footnotes\\admin\\Admin\u003A\u003A__construct\u0028\u0029", "name": "__construct", - "summary": "Class\u0020Constructor.\u0020Initializes\u0020all\u0020WordPress\u0020hooks\u0020for\u0020the\u0020Plugin\u0020Settings.", - "url": "classes/Footnotes-Layout-Init.html#method___construct" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003Ainitialize_settings\u0028\u0029", - "name": "initialize_settings", - "summary": "Registers\u0020the\u0020settings\u0020and\u0020initialises\u0020the\u0020settings\u0020page.", - "url": "classes/Footnotes-Layout-Init.html#method_initialize_settings" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003Aregister_options_submenu\u0028\u0029", - "name": "register_options_submenu", - "summary": "Registers\u0020the\u0020footnotes\u0020submenu\u0020page.", - "url": "classes/Footnotes-Layout-Init.html#method_register_options_submenu" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003Aget_plugin_meta_information\u0028\u0029", - "name": "get_plugin_meta_information", - "summary": "AJAX\u0020call.\u0020returns\u0020a\u0020JSON\u0020string\u0020containing\u0020meta\u0020information\u0020about\u0020a\u0020specific\u0020WordPress\u0020Plugin.", - "url": "classes/Footnotes-Layout-Init.html#method_get_plugin_meta_information" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003AC_STR_MAIN_MENU_SLUG", - "name": "C_STR_MAIN_MENU_SLUG", - "summary": "Slug\u0020for\u0020the\u0020Plugin\u0020main\u0020menu.", - "url": "classes/Footnotes-Layout-Init.html#constant_C_STR_MAIN_MENU_SLUG" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003AC_STR_MAIN_MENU_TITLE", - "name": "C_STR_MAIN_MENU_TITLE", - "summary": "Plugin\u0020main\u0020menu\u0020name.", - "url": "classes/Footnotes-Layout-Init.html#constant_C_STR_MAIN_MENU_TITLE" - }, { - "fqsen": "\\Footnotes_Layout_Init\u003A\u003A\u0024settings_page", - "name": "settings_page", - "summary": "Contains\u0020the\u0020settings\u0020layoutEngine", - "url": "classes/Footnotes-Layout-Init.html#property_settings_page" - }, { - "fqsen": "\\Footnotes_Layout_Engine", - "name": "Footnotes_Layout_Engine", - "summary": "Layout\u0020Engine\u0020for\u0020the\u0020administration\u0020dashboard.", - "url": "classes/Footnotes-Layout-Engine.html" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aget_priority\u0028\u0029", - "name": "get_priority", - "summary": "Returns\u0020a\u0020Priority\u0020index.\u0020Lower\u0020numbers\u0020have\u0020a\u0020higher\u0020Priority.", - "url": "classes/Footnotes-Layout-Engine.html#method_get_priority" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aget_sub_page_slug\u0028\u0029", - "name": "get_sub_page_slug", - "summary": "Returns\u0020the\u0020unique\u0020slug\u0020of\u0020the\u0020child\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_get_sub_page_slug" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aget_sub_page_title\u0028\u0029", - "name": "get_sub_page_title", - "summary": "Returns\u0020the\u0020title\u0020of\u0020the\u0020child\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_get_sub_page_title" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aget_sections\u0028\u0029", - "name": "get_sections", - "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020sections\u0020for\u0020a\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_get_sections" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aget_meta_boxes\u0028\u0029", - "name": "get_meta_boxes", - "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020meta\u0020boxes.", - "url": "classes/Footnotes-Layout-Engine.html#method_get_meta_boxes" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_section\u0028\u0029", - "name": "add_section", - "summary": "Returns\u0020an\u0020array\u0020describing\u0020a\u0020sub\u0020page\u0020section.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_section" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_meta_box\u0028\u0029", - "name": "add_meta_box", - "summary": "Returns\u0020an\u0020array\u0020describing\u0020a\u0020meta\u0020box.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_meta_box" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aregister_sub_page\u0028\u0029", - "name": "register_sub_page", - "summary": "Registers\u0020a\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_register_sub_page" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aregister_sections\u0028\u0029", - "name": "register_sections", - "summary": "Registers\u0020all\u0020sections\u0020for\u0020a\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_register_sections" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aregister_meta_boxes\u0028\u0029", - "name": "register_meta_boxes", - "summary": "Registers\u0020all\u0020Meta\u0020boxes\u0020for\u0020a\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_register_meta_boxes" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aappend_scripts\u0028\u0029", - "name": "append_scripts", - "summary": "Append\u0020javascript\u0020and\u0020css\u0020files\u0020for\u0020specific\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_append_scripts" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Adisplay_content\u0028\u0029", - "name": "display_content", - "summary": "Displays\u0020the\u0020content\u0020of\u0020specific\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#method_display_content" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Asave_settings\u0028\u0029", - "name": "save_settings", - "summary": "Save\u0020all\u0020Plugin\u0020settings.", - "url": "classes/Footnotes-Layout-Engine.html#method_save_settings" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Adescription\u0028\u0029", - "name": "description", - "summary": "Output\u0020the\u0020Description\u0020of\u0020a\u0020section.\u0020May\u0020be\u0020overwritten\u0020in\u0020any\u0020section.", - "url": "classes/Footnotes-Layout-Engine.html#method_description" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aload_setting\u0028\u0029", - "name": "load_setting", - "summary": "Loads\u0020specific\u0020setting\u0020and\u0020returns\u0020an\u0020array\u0020with\u0020the\u0020keys\u0020\u005Bid,\u0020name,\u0020value\u005D.", - "url": "classes/Footnotes-Layout-Engine.html#method_load_setting" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_newline\u0028\u0029", - "name": "add_newline", - "summary": "Returns\u0020a\u0020line\u0020break\u0020to\u0020start\u0020a\u0020new\u0020line.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_newline" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_line_space\u0028\u0029", - "name": "add_line_space", - "summary": "Returns\u0020a\u0020line\u0020break\u0020to\u0020have\u0020a\u0020space\u0020between\u0020two\u0020lines.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_line_space" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_text\u0028\u0029", - "name": "add_text", - "summary": "Returns\u0020a\u0020simple\u0020text\u0020inside\u0020html\u0020\u003Cspan\u003E\u0020text.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_text" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_label\u0028\u0029", - "name": "add_label", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020an\u0020input\/select\u0020label.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_label" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_text_box\u0028\u0029", - "name": "add_text_box", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020an\u0020input\u0020\u005Btype\u0020\u003D\u0020text\u005D.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_text_box" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_checkbox\u0028\u0029", - "name": "add_checkbox", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020an\u0020input\u0020\u005Btype\u0020\u003D\u0020checkbox\u005D.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_checkbox" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_select_box\u0028\u0029", - "name": "add_select_box", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020a\u0020select\u0020box.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_select_box" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_textarea\u0028\u0029", - "name": "add_textarea", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020a\u0020text\u0020area.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_textarea" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_color_selection\u0028\u0029", - "name": "add_color_selection", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020an\u0020input\u0020\u005Btype\u0020\u003D\u0020text\u005D\u0020with\u0020color\u0020selection\u0020class.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_color_selection" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003Aadd_num_box\u0028\u0029", - "name": "add_num_box", - "summary": "Returns\u0020the\u0020html\u0020tag\u0020for\u0020an\u0020input\u0020\u005Btype\u0020\u003D\u0020num\u005D.", - "url": "classes/Footnotes-Layout-Engine.html#method_add_num_box" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003A\u0024a_str_sub_page_hook", - "name": "a_str_sub_page_hook", - "summary": "Stores\u0020the\u0020Hook\u0020connection\u0020string\u0020for\u0020the\u0020child\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#property_a_str_sub_page_hook" - }, { - "fqsen": "\\Footnotes_Layout_Engine\u003A\u003A\u0024a_arr_sections", - "name": "a_arr_sections", - "summary": "Stores\u0020all\u0020Sections\u0020for\u0020the\u0020child\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Engine.html#property_a_arr_sections" - }, { - "fqsen": "\\Footnotes_Layout_Settings", - "name": "Footnotes_Layout_Settings", - "summary": "Displays\u0020and\u0020handles\u0020all\u0020Settings\u0020of\u0020the\u0020Plugin.", - "url": "classes/Footnotes-Layout-Settings.html" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aget_priority\u0028\u0029", - "name": "get_priority", - "summary": "Returns\u0020a\u0020Priority\u0020index.\u0020Lower\u0020numbers\u0020have\u0020a\u0020higher\u0020Priority.", - "url": "classes/Footnotes-Layout-Settings.html#method_get_priority" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aget_sub_page_slug\u0028\u0029", - "name": "get_sub_page_slug", - "summary": "Returns\u0020the\u0020unique\u0020slug\u0020of\u0020the\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Settings.html#method_get_sub_page_slug" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aget_sub_page_title\u0028\u0029", - "name": "get_sub_page_title", - "summary": "Returns\u0020the\u0020title\u0020of\u0020the\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Settings.html#method_get_sub_page_title" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aget_sections\u0028\u0029", - "name": "get_sections", - "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020sections\u0020for\u0020the\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Settings.html#method_get_sections" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aget_meta_boxes\u0028\u0029", - "name": "get_meta_boxes", - "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020meta\u0020boxes\u0020for\u0020each\u0020section\u0020of\u0020the\u0020sub\u0020page.", - "url": "classes/Footnotes-Layout-Settings.html#method_get_meta_boxes" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aamp_compat\u0028\u0029", - "name": "amp_compat", - "summary": "Displays\u0020the\u0020AMP\u0020compatibility\u0020mode\u0020option.", - "url": "classes/Footnotes-Layout-Settings.html#method_amp_compat" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Areference_container\u0028\u0029", - "name": "reference_container", - "summary": "Displays\u0020all\u0020settings\u0020for\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Layout-Settings.html#method_reference_container" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Astart_end\u0028\u0029", - "name": "start_end", - "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020footnotes\u0020start\u0020and\u0020end\u0020tag\u0020short\u0020codes.", - "url": "classes/Footnotes-Layout-Settings.html#method_start_end" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Anumbering\u0028\u0029", - "name": "numbering", - "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020footnotes\u0020numbering.", - "url": "classes/Footnotes-Layout-Settings.html#method_numbering" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Ascrolling\u0028\u0029", - "name": "scrolling", - "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020scrolling\u0020behavior.", - "url": "classes/Footnotes-Layout-Settings.html#method_scrolling" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Ahard_links\u0028\u0029", - "name": "hard_links", - "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020fragment\u0020identifier\u0020configuration.", - "url": "classes/Footnotes-Layout-Settings.html#method_hard_links" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Alove\u0028\u0029", - "name": "love", - "summary": "Displays\u0020all\u0020settings\u0020for\u0020\u0027I\u0020love\u0020Footnotes\u0027.", - "url": "classes/Footnotes-Layout-Settings.html#method_love" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Aexcerpts\u0028\u0029", - "name": "excerpts", - "summary": "Displays\u0020the\u0020footnotes\u0020in\u0020excerpt\u0020setting.", - "url": "classes/Footnotes-Layout-Settings.html#method_excerpts" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Asuperscript\u0028\u0029", - "name": "superscript", - "summary": "Displays\u0020all\u0020settings\u0020for\u0020the\u0020footnote\u0020referrers.", - "url": "classes/Footnotes-Layout-Settings.html#method_superscript" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Alabel_solution\u0028\u0029", - "name": "label_solution", - "summary": "Displays\u0020the\u0020setting\u0020for\u0020the\u0020input\u0020label\u0020issue\u0020solution.", - "url": "classes/Footnotes-Layout-Settings.html#method_label_solution" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box\u0028\u0029", - "name": "mouseover_box", - "summary": "Displays\u0020enabled\u0020status\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box_position\u0028\u0029", - "name": "mouseover_box_position", - "summary": "Displays\u0020position\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box_position" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box_dimensions\u0028\u0029", - "name": "mouseover_box_dimensions", - "summary": "Displays\u0020dimensions\u0020setting\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box_dimensions" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box_timing\u0028\u0029", - "name": "mouseover_box_timing", - "summary": "Displays\u0020timing\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box_timing" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box_truncation\u0028\u0029", - "name": "mouseover_box_truncation", - "summary": "Displays\u0020truncation\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box_truncation" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box_text\u0028\u0029", - "name": "mouseover_box_text", - "summary": "Displays\u0020dedicated\u0020tooltip\u0020text\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box_text" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Amouseover_box_appearance\u0028\u0029", - "name": "mouseover_box_appearance", - "summary": "Displays\u0020style\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_mouseover_box_appearance" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Ahyperlink_arrow\u0028\u0029", - "name": "hyperlink_arrow", - "summary": "Displays\u0020all\u0020settings\u0020for\u0020the\u0020backlink\u0020symbol.", - "url": "classes/Footnotes-Layout-Settings.html#method_hyperlink_arrow" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Acustom_css\u0028\u0029", - "name": "custom_css", - "summary": "Displays\u0020the\u0020Custom\u0020CSS\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_custom_css" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Acustom_css_migration\u0028\u0029", - "name": "custom_css_migration", - "summary": "Displays\u0020transitional\u0020legacy\u0020Custom\u0020CSS\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_custom_css_migration" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Acustom_css_new\u0028\u0029", - "name": "custom_css_new", - "summary": "Displays\u0020the\u0020new\u0020Custom\u0020CSS\u0020box.", - "url": "classes/Footnotes-Layout-Settings.html#method_custom_css_new" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Alookup_hooks\u0028\u0029", - "name": "lookup_hooks", - "summary": "Displays\u0020available\u0020Hooks\u0020to\u0020look\u0020for\u0020Footnote\u0020short\u0020codes.", - "url": "classes/Footnotes-Layout-Settings.html#method_lookup_hooks" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003AHelp\u0028\u0029", - "name": "Help", - "summary": "Displays\u0020a\u0020short\u0020introduction\u0020to\u0020the\u0020Plugin.", - "url": "classes/Footnotes-Layout-Settings.html#method_Help" - }, { - "fqsen": "\\Footnotes_Layout_Settings\u003A\u003Adonate\u0028\u0029", - "name": "donate", - "summary": "Displays\u0020all\u0020Donate\u0020button\u0020to\u0020support\u0020the\u0020developers.", - "url": "classes/Footnotes-Layout-Settings.html#method_donate" - }, { - "fqsen": "\\Footnotes_Hooks", - "name": "Footnotes_Hooks", - "summary": "Registers\u0020all\u0020WordPress\u0020hooks\u0020and\u0020executes\u0020them\u0020on\u0020demand.", - "url": "classes/Footnotes-Hooks.html" - }, { - "fqsen": "\\Footnotes_Hooks\u003A\u003Aregister_hooks\u0028\u0029", - "name": "register_hooks", - "summary": "Registers\u0020all\u0020WordPress\u0020hooks.", - "url": "classes/Footnotes-Hooks.html#method_register_hooks" - }, { - "fqsen": "\\Footnotes_Hooks\u003A\u003Aactivate_plugin\u0028\u0029", - "name": "activate_plugin", - "summary": "Executes\u0020when\u0020the\u0020Plugin\u0020is\u0020activated.", - "url": "classes/Footnotes-Hooks.html#method_activate_plugin" - }, { - "fqsen": "\\Footnotes_Hooks\u003A\u003Adeactivate_plugin\u0028\u0029", - "name": "deactivate_plugin", - "summary": "Executes\u0020when\u0020the\u0020Plugin\u0020is\u0020deactivated.", - "url": "classes/Footnotes-Hooks.html#method_deactivate_plugin" - }, { - "fqsen": "\\Footnotes_Hooks\u003A\u003Aget_plugin_links\u0028\u0029", - "name": "get_plugin_links", - "summary": "Appends\u0020the\u0020Plugin\u0020links\u0020for\u0020display\u0020in\u0020the\u0020dashboard\u0020\u201CPlugins\u201D\u0020page.", - "url": "classes/Footnotes-Hooks.html#method_get_plugin_links" - }, { - "fqsen": "\\Footnotes", - "name": "Footnotes", - "summary": "Provides\u0020an\u0020entry\u0020point\u0020to\u0020the\u0020Plugin.", - "url": "classes/Footnotes.html" - }, { - "fqsen": "\\Footnotes\u003A\u003Arun\u0028\u0029", - "name": "run", - "summary": "Executes\u0020the\u0020Plugin.", - "url": "classes/Footnotes.html#method_run" - }, { - "fqsen": "\\Footnotes\u003A\u003Ainitialize_widgets\u0028\u0029", - "name": "initialize_widgets", - "summary": "Initializes\u0020all\u0020Widgets\u0020of\u0020the\u0020Plugin.", - "url": "classes/Footnotes.html#method_initialize_widgets" - }, { - "fqsen": "\\Footnotes\u003A\u003Ainitialize_dashboard\u0028\u0029", - "name": "initialize_dashboard", - "summary": "Initializes\u0020the\u0020Dashboard\u0020of\u0020the\u0020Plugin\u0020and\u0020loads\u0020them.", - "url": "classes/Footnotes.html#method_initialize_dashboard" - }, { - "fqsen": "\\Footnotes\u003A\u003Ainitialize_task\u0028\u0029", - "name": "initialize_task", - "summary": "Initializes\u0020the\u0020Plugin\u0020Task\u0020and\u0020registers\u0020the\u0020Task\u0020hooks.", - "url": "classes/Footnotes.html#method_initialize_task" - }, { - "fqsen": "\\Footnotes\u003A\u003Aregister_public\u0028\u0029", - "name": "register_public", - "summary": "Registers\u0020and\u0020enqueues\u0020scripts\u0020and\u0020stylesheets\u0020to\u0020the\u0020public\u0020pages.", - "url": "classes/Footnotes.html#method_register_public" - }, { - "fqsen": "\\Footnotes\u003A\u003A\u0024a_obj_task", - "name": "a_obj_task", - "summary": "The\u0020Plugin\u0020task.", - "url": "classes/Footnotes.html#property_a_obj_task" - }, { - "fqsen": "\\Footnotes\u003A\u003A\u0024a_bool_tooltips_enabled", - "name": "a_bool_tooltips_enabled", - "summary": "Flag\u0020for\u0020using\u0020tooltips.", - "url": "classes/Footnotes.html#property_a_bool_tooltips_enabled" - }, { - "fqsen": "\\Footnotes\u003A\u003A\u0024a_bool_alternative_tooltips_enabled", - "name": "a_bool_alternative_tooltips_enabled", - "summary": "Allows\u0020to\u0020determine\u0020whether\u0020alternative\u0020tooltips\u0020are\u0020enabled.", - "url": "classes/Footnotes.html#property_a_bool_alternative_tooltips_enabled" - }, { - "fqsen": "\\Footnotes\u003A\u003A\u0024a_bool_amp_enabled", - "name": "a_bool_amp_enabled", - "summary": "Allows\u0020to\u0020determine\u0020whether\u0020AMP\u0020compatibility\u0020mode\u0020is\u0020enabled.", - "url": "classes/Footnotes.html#property_a_bool_amp_enabled" - }, { - "fqsen": "\\Footnotes\u003A\u003A\u0024a_str_script_mode", - "name": "a_str_script_mode", - "summary": "Allows\u0020to\u0020determine\u0020the\u0020script\u0020mode\u0020among\u0020jQuery\u0020or\u0020plain\u0020JS.", - "url": "classes/Footnotes.html#property_a_str_script_mode" - }, { - "fqsen": "\\Footnotes_Language", - "name": "Footnotes_Language", - "summary": "Loads\u0020text\u0020domain\u0020of\u0020current\u0020or\u0020default\u0020language\u0020for\u0020localization.", - "url": "classes/Footnotes-Language.html" - }, { - "fqsen": "\\Footnotes_Language\u003A\u003Aregister_hooks\u0028\u0029", - "name": "register_hooks", - "summary": "Register\u0020WordPress\u0020Hook.", - "url": "classes/Footnotes-Language.html#method_register_hooks" - }, { - "fqsen": "\\Footnotes_Language\u003A\u003Aload_text_domain\u0028\u0029", - "name": "load_text_domain", - "summary": "Loads\u0020the\u0020text\u0020domain\u0020for\u0020current\u0020WordPress\u0020language\u0020if\u0020exists.", - "url": "classes/Footnotes-Language.html#method_load_text_domain" - }, { - "fqsen": "\\Footnotes_Language\u003A\u003Aload\u0028\u0029", - "name": "load", - "summary": "Loads\u0020a\u0020specific\u0020text\u0020domain.", - "url": "classes/Footnotes-Language.html#method_load" - }, { - "fqsen": "\\Footnotes_Settings", - "name": "Footnotes_Settings", - "summary": "Loads\u0020the\u0020settings\u0020values,\u0020sets\u0020to\u0020default\u0020values\u0020if\u0020undefined.", - "url": "classes/Footnotes-Settings.html" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003A__construct\u0028\u0029", - "name": "__construct", - "summary": "Class\u0020Constructor.\u0020Loads\u0020all\u0020Settings\u0020from\u0020each\u0020WordPress\u0020Settings\u0020container.", - "url": "classes/Footnotes-Settings.html#method___construct" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Ainstance\u0028\u0029", - "name": "instance", - "summary": "Returns\u0020a\u0020singleton\u0020of\u0020this\u0020class.", - "url": "classes/Footnotes-Settings.html#method_instance" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aget_container\u0028\u0029", - "name": "get_container", - "summary": "Returns\u0020the\u0020name\u0020of\u0020a\u0020specified\u0020Settings\u0020Container.", - "url": "classes/Footnotes-Settings.html#method_get_container" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aget_defaults\u0028\u0029", - "name": "get_defaults", - "summary": "Returns\u0020the\u0020default\u0020values\u0020of\u0020a\u0020specific\u0020Settings\u0020Container.", - "url": "classes/Footnotes-Settings.html#method_get_defaults" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aload_all\u0028\u0029", - "name": "load_all", - "summary": "Loads\u0020all\u0020Settings\u0020from\u0020each\u0020Settings\u0020container.", - "url": "classes/Footnotes-Settings.html#method_load_all" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aload\u0028\u0029", - "name": "load", - "summary": "Loads\u0020all\u0020settings\u0020from\u0020specified\u0020settings\u0020container.", - "url": "classes/Footnotes-Settings.html#method_load" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Asave_options\u0028\u0029", - "name": "save_options", - "summary": "Updates\u0020a\u0020whole\u0020Settings\u0020container.", - "url": "classes/Footnotes-Settings.html#method_save_options" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aget\u0028\u0029", - "name": "get", - "summary": "Returns\u0020the\u0020value\u0020of\u0020specified\u0020Settings\u0020name.", - "url": "classes/Footnotes-Settings.html#method_get" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aclear_all\u0028\u0029", - "name": "clear_all", - "summary": "Deletes\u0020each\u0020Settings\u0020Container\u0020and\u0020loads\u0020the\u0020default\u0020values\u0020for\u0020each\u0020Settings\u0020Container.", - "url": "classes/Footnotes-Settings.html#method_clear_all" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003Aregister_settings\u0028\u0029", - "name": "register_settings", - "summary": "Register\u0020all\u0020Settings\u0020Container\u0020for\u0020the\u0020Plugin\u0020Settings\u0020Page\u0020in\u0020the\u0020Dashboard.", - "url": "classes/Footnotes-Settings.html#method_register_settings" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_NAME", - "name": "C_STR_REFERENCE_CONTAINER_NAME", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020label\u0020of\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_NAME" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_COLLAPSE", - "name": "C_STR_REFERENCE_CONTAINER_COLLAPSE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020collapse\u0020the\u0020reference\u0020container\u0020by\u0020default.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_COLLAPSE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_POSITION", - "name": "C_STR_REFERENCE_CONTAINER_POSITION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020position\u0020of\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_POSITION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_COMBINE_IDENTICAL_FOOTNOTES", - "name": "C_STR_COMBINE_IDENTICAL_FOOTNOTES", - "summary": "Settings\u0020container\u0020key\u0020for\u0020combining\u0020identical\u0020footnotes.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_COMBINE_IDENTICAL_FOOTNOTES" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_SHORT_CODE_START", - "name": "C_STR_FOOTNOTES_SHORT_CODE_START", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020short\u0020code\u0020of\u0020the\u0020footnote\u2019s\u0020start.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_SHORT_CODE_START" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_SHORT_CODE_END", - "name": "C_STR_FOOTNOTES_SHORT_CODE_END", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020short\u0020code\u0020of\u0020the\u0020footnote\u2019s\u0020end.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_SHORT_CODE_END" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED", - "name": "C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020user\u002Ddefined\u0020short\u0020code\u0020of\u0020the\u0020footnotes\u0020start.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED", - "name": "C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020user\u002Ddefined\u0020short\u0020code\u0020of\u0020the\u0020footnotes\u0020end.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_COUNTER_STYLE", - "name": "C_STR_FOOTNOTES_COUNTER_STYLE", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020counter\u0020style\u0020of\u0020the\u0020footnotes.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_COUNTER_STYLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_HYPERLINK_ARROW", - "name": "C_STR_HYPERLINK_ARROW", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlink\u0020symbol\u0020selection.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_HYPERLINK_ARROW" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_HYPERLINK_ARROW_USER_DEFINED", - "name": "C_STR_HYPERLINK_ARROW_USER_DEFINED", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020user\u002Ddefined\u0020backlink\u0020symbol.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_HYPERLINK_ARROW_USER_DEFINED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_IN_EXCERPT", - "name": "C_STR_FOOTNOTES_IN_EXCERPT", - "summary": "Settings\u0020container\u0020key\u0020to\u0020look\u0020for\u0020footnotes\u0020in\u0020post\u0020excerpts.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_IN_EXCERPT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_STYLING_BEFORE", - "name": "C_STR_FOOTNOTES_STYLING_BEFORE", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020string\u0020before\u0020the\u0020footnote\u0020referrer.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_STYLING_BEFORE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_STYLING_AFTER", - "name": "C_STR_FOOTNOTES_STYLING_AFTER", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020string\u0020after\u0020the\u0020footnote\u0020referrer.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_STYLING_AFTER" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_CUSTOM_CSS", - "name": "C_STR_CUSTOM_CSS", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020Custom\u0020CSS.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_CUSTOM_CSS" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_LOVE", - "name": "C_STR_FOOTNOTES_LOVE", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020\u0027I\u0020love\u0020footnotes\u0027\u0020text.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_LOVE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020mouse\u002Dover\u0020box.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020tooltip\u0020truncation.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH", - "name": "C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020max.\u0020length\u0020of\u0020the\u0020enabled\u0020excerpt.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_EXPERT_LOOKUP_THE_TITLE", - "name": "C_STR_EXPERT_LOOKUP_THE_TITLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0027the_title\u0027\u0020hook.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_EXPERT_LOOKUP_THE_TITLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_EXPERT_LOOKUP_THE_CONTENT", - "name": "C_STR_EXPERT_LOOKUP_THE_CONTENT", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0027the_content\u0027\u0020hook.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_EXPERT_LOOKUP_THE_CONTENT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_EXPERT_LOOKUP_THE_EXCERPT", - "name": "C_STR_EXPERT_LOOKUP_THE_EXCERPT", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0027the_excerpt\u0027\u0020hook.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_EXPERT_LOOKUP_THE_EXCERPT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_EXPERT_LOOKUP_WIDGET_TITLE", - "name": "C_STR_EXPERT_LOOKUP_WIDGET_TITLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0027widget_title\u0027\u0020hook.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_EXPERT_LOOKUP_WIDGET_TITLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_EXPERT_LOOKUP_WIDGET_TEXT", - "name": "C_STR_EXPERT_LOOKUP_WIDGET_TEXT", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0027widget_text\u0027\u0020hook.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_EXPERT_LOOKUP_WIDGET_TEXT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_EXPERT_MODE", - "name": "C_STR_FOOTNOTES_EXPERT_MODE", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020Expert\u0020mode.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_EXPERT_MODE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020color.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020background\u0020color.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH", - "name": "C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020border\u0020width.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020border\u0020color.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS", - "name": "C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020border\u0020radius.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH", - "name": "C_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020max.\u0020width.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020position.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X", - "name": "C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020offset\u0020\u0028x\u0029.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y", - "name": "C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020offset\u0020\u0028y\u0029.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020box\u002Dshadow\u0020color.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_TOOLTIP_READON_LABEL", - "name": "C_STR_FOOTNOTES_TOOLTIP_READON_LABEL", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020label\u0020of\u0020the\u0020Read\u002Don\u0020button\u0020in\u0020truncated\u0020tooltips.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_TOOLTIP_READON_LABEL" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE", - "name": "C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020alternative\u0020tooltips.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS", - "name": "C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020referrer\u0020element.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE", - "name": "C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020display\u0020of\u0020a\u0020backlink\u0020symbol.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE", - "name": "C_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020not\u0020display\u0020the\u0020reference\u0020container\u0020on\u0020the\u0020homepage.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE", - "name": "C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020legacy\u0020layout\u0020of\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH", - "name": "C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH", - "summary": "Settings\u0020container\u0020key\u0020to\u0020get\u0020the\u0020backlink\u0020symbol\u0020switch\u0020side.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL", - "name": "C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL", - "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0027the_content\u0027\u0020hook\u0020priority\u0020level.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL", - "name": "C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL", - "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0027the_title\u0027\u0020hook\u0020priority\u0020level.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL", - "name": "C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL", - "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0027widget_title\u0027\u0020hook\u0020priority\u0020level.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL", - "name": "C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL", - "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0027widget_text\u0027\u0020hook\u0020priority\u0020level.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL", - "name": "C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL", - "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0027the_excerpt\u0027\u0020hook\u0020priority\u0020level.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_LINK_ELEMENT_ENABLED", - "name": "C_STR_LINK_ELEMENT_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020link\u0020element\u0020option.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_LINK_ELEMENT_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_SEPARATOR_ENABLED", - "name": "C_STR_BACKLINKS_SEPARATOR_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020presence\u0020of\u0020a\u0020backlink\u0020separator.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_SEPARATOR_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_SEPARATOR_OPTION", - "name": "C_STR_BACKLINKS_SEPARATOR_OPTION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlink\u0020separator\u0020options.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_SEPARATOR_OPTION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_SEPARATOR_CUSTOM", - "name": "C_STR_BACKLINKS_SEPARATOR_CUSTOM", - "summary": "Settings\u0020container\u0020key\u0020for\u0020a\u0020custom\u0020backlink\u0020separator.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_SEPARATOR_CUSTOM" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_TERMINATOR_ENABLED", - "name": "C_STR_BACKLINKS_TERMINATOR_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020presence\u0020of\u0020a\u0020backlink\u0020terminator.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_TERMINATOR_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_TERMINATOR_OPTION", - "name": "C_STR_BACKLINKS_TERMINATOR_OPTION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlink\u0020terminator\u0020options.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_TERMINATOR_OPTION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_TERMINATOR_CUSTOM", - "name": "C_STR_BACKLINKS_TERMINATOR_CUSTOM", - "summary": "Settings\u0020container\u0020key\u0020for\u0020a\u0020custom\u0020backlink\u0020terminator.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_TERMINATOR_CUSTOM" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_COLUMN_WIDTH_ENABLED", - "name": "C_STR_BACKLINKS_COLUMN_WIDTH_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020backlinks\u0020column\u0020width.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_COLUMN_WIDTH_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_BACKLINKS_COLUMN_WIDTH_SCALAR", - "name": "C_INT_BACKLINKS_COLUMN_WIDTH_SCALAR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020width\u0020scalar.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_BACKLINKS_COLUMN_WIDTH_SCALAR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_COLUMN_WIDTH_UNIT", - "name": "C_STR_BACKLINKS_COLUMN_WIDTH_UNIT", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020width\u0020unit.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_COLUMN_WIDTH_UNIT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED", - "name": "C_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020a\u0020max\u0020width\u0020for\u0020the\u0020backlinks\u0020column.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_BACKLINKS_COLUMN_MAX_WIDTH_SCALAR", - "name": "C_INT_BACKLINKS_COLUMN_MAX_WIDTH_SCALAR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020max\u0020width\u0020scalar.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_BACKLINKS_COLUMN_MAX_WIDTH_SCALAR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_COLUMN_MAX_WIDTH_UNIT", - "name": "C_STR_BACKLINKS_COLUMN_MAX_WIDTH_UNIT", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020max\u0020width\u0020unit.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_COLUMN_MAX_WIDTH_UNIT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_BACKLINKS_LINE_BREAKS_ENABLED", - "name": "C_STR_BACKLINKS_LINE_BREAKS_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020line\u0020breaks\u0020between\u0020backlinks.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_BACKLINKS_LINE_BREAKS_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED", - "name": "C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020setting\u0020the\u0020tooltip\u0020font\u0020size.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR", - "name": "C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020scalar\u0020value\u0020of\u0020the\u0020tooltip\u0020font\u0020size.", - "url": "classes/Footnotes-Settings.html#constant_C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT", - "name": "C_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020unit\u0020of\u0020the\u0020tooltip\u0020font\u0020size.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT", - "name": "C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT", - "summary": "Settings\u0020container\u0020key\u0020for\u0020basic\u0020responsive\u0020page\u0020layout\u0020support\u0020options.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_SCROLL_OFFSET", - "name": "C_INT_FOOTNOTES_SCROLL_OFFSET", - "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020offset.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_SCROLL_OFFSET" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_SCROLL_DURATION", - "name": "C_INT_FOOTNOTES_SCROLL_DURATION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020duration.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_SCROLL_DURATION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_MOUSE_OVER_BOX_FADE_IN_DELAY", - "name": "C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY", - "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Din\u0020delay.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_MOUSE_OVER_BOX_FADE_IN_DURATION", - "name": "C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Din\u0020duration.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY", - "name": "C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY", - "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Dout\u0020delay.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION", - "name": "C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Dout\u0020duration.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTE_URL_WRAP_ENABLED", - "name": "C_STR_FOOTNOTE_URL_WRAP_ENABLED", - "summary": "Settings\u0020container\u0020key\u0020for\u0020URL\u0020wrap\u0020option.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTE_URL_WRAP_ENABLED" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE", - "name": "C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE", - "summary": "Settings\u0020container\u0020key\u0020for\u0020reference\u0020container\u0020position\u0020shortcode.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_CUSTOM_CSS_NEW", - "name": "C_STR_CUSTOM_CSS_NEW", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020Custom\u0020CSS\u0020migrated\u0020to\u0020a\u0020dedicated\u0020tab.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_CUSTOM_CSS_NEW" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_CUSTOM_CSS_LEGACY_ENABLE", - "name": "C_STR_CUSTOM_CSS_LEGACY_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020display\u0020of\u0020legacy\u0020Custom\u0020CSS\u0020metaboxes.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_CUSTOM_CSS_LEGACY_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION", - "name": "C_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020position.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X", - "name": "C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X", - "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020x\u0020offset.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y", - "name": "C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y", - "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020y\u0020offset.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH", - "name": "C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH", - "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020width.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_LABEL_ELEMENT", - "name": "C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020reference\u0020container\u0020label\u0020element.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER", - "name": "C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020reference\u0020container\u0020label\u0020bottom\u0020border.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE", - "name": "C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020reference\u0020container\u0020table\u0020row\u0020borders.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_REFERENCE_CONTAINER_TOP_MARGIN", - "name": "C_INT_REFERENCE_CONTAINER_TOP_MARGIN", - "summary": "Settings\u0020container\u0020key\u0020for\u0020reference\u0020container\u0020top\u0020margin.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_REFERENCE_CONTAINER_TOP_MARGIN" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN", - "name": "C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN", - "summary": "Settings\u0020container\u0020key\u0020for\u0020reference\u0020container\u0020bottom\u0020margin.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_HARD_LINKS_ENABLE", - "name": "C_STR_FOOTNOTES_HARD_LINKS_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020hard\u0020links.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_HARD_LINKS_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_REFERRER_FRAGMENT_ID_SLUG", - "name": "C_STR_REFERRER_FRAGMENT_ID_SLUG", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020fragment\u0020ID\u0020slug\u0020in\u0020referrers.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_REFERRER_FRAGMENT_ID_SLUG" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTE_FRAGMENT_ID_SLUG", - "name": "C_STR_FOOTNOTE_FRAGMENT_ID_SLUG", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020fragment\u0020ID\u0020slug\u0020in\u0020footnotes.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTE_FRAGMENT_ID_SLUG" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_HARD_LINK_IDS_SEPARATOR", - "name": "C_STR_HARD_LINK_IDS_SEPARATOR", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020ID\u0020separator\u0020in\u0020fragment\u0020IDs.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_HARD_LINK_IDS_SEPARATOR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE", - "name": "C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020shortcode\u0020syntax\u0020validation.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE", - "name": "C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020backlink\u0020tooltips.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT", - "name": "C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT", - "summary": "Settings\u0020container\u0020key\u0020to\u0020configure\u0020the\u0020backlink\u0020tooltip.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER", - "name": "C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER", - "summary": "Settings\u0020container\u0020key\u0020to\u0020configure\u0020the\u0020tooltip\u0020excerpt\u0020delimiter.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE", - "name": "C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020mirroring\u0020the\u0020tooltip\u0020excerpt\u0020in\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR", - "name": "C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR", - "summary": "Settings\u0020container\u0020key\u0020to\u0020configure\u0020the\u0020tooltip\u0020excerpt\u0020separator\u0020in\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT", - "name": "C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020superscript\u0020style\u0020normalization.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE", - "name": "C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020select\u0020the\u0020script\u0020mode\u0020for\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE", - "name": "C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020AMP\u0020compatibility\u0020mode.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY", - "name": "C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY", - "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020duration\u0020asymmetricity.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_SCROLL_DOWN_DURATION", - "name": "C_INT_FOOTNOTES_SCROLL_DOWN_DURATION", - "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020down\u0020duration.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_SCROLL_DOWN_DURATION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_SCROLL_DOWN_DELAY", - "name": "C_INT_FOOTNOTES_SCROLL_DOWN_DELAY", - "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020down\u0020delay.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_SCROLL_DOWN_DELAY" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_INT_FOOTNOTES_SCROLL_UP_DELAY", - "name": "C_INT_FOOTNOTES_SCROLL_UP_DELAY", - "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020up\u0020delay.", - "url": "classes/Footnotes-Settings.html#constant_C_INT_FOOTNOTES_SCROLL_UP_DELAY" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION", - "name": "C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION", - "summary": "Settings\u0020container\u0020key\u0020to\u0020set\u0020the\u0020solution\u0020of\u0020the\u0020input\u0020element\u0020label\u0020issue.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING", - "name": "C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING", - "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020CSS\u0020smooth\u0020scrolling.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003AC_STR_FOOTNOTE_SECTION_SHORTCODE", - "name": "C_STR_FOOTNOTE_SECTION_SHORTCODE", - "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020footnote\u0020section\u0020shortcode.", - "url": "classes/Footnotes-Settings.html#constant_C_STR_FOOTNOTE_SECTION_SHORTCODE" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003A\u0024a_obj_instance", - "name": "a_obj_instance", - "summary": "Stores\u0020a\u0020singleton\u0020reference\u0020of\u0020this\u0020class.", - "url": "classes/Footnotes-Settings.html#property_a_obj_instance" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003A\u0024a_arr_container", - "name": "a_arr_container", - "summary": "Contains\u0020all\u0020Settings\u0020Container\u0020names.", - "url": "classes/Footnotes-Settings.html#property_a_arr_container" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003A\u0024a_arr_default", - "name": "a_arr_default", - "summary": "Contains\u0020all\u0020Default\u0020Settings\u0020for\u0020each\u0020Settings\u0020Container.", - "url": "classes/Footnotes-Settings.html#property_a_arr_default" - }, { - "fqsen": "\\Footnotes_Settings\u003A\u003A\u0024a_arr_settings", - "name": "a_arr_settings", - "summary": "Contains\u0020all\u0020Settings\u0020from\u0020each\u0020Settings\u0020container\u0020as\u0020soon\u0020as\u0020this\u0020class\u0020is\u0020initialized.", - "url": "classes/Footnotes-Settings.html#property_a_arr_settings" - }, { - "fqsen": "\\Footnotes_Task", - "name": "Footnotes_Task", - "summary": "Searches\u0020and\u0020replaces\u0020the\u0020footnotes\u0020and\u0020generates\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Task.html" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Aregister_hooks\u0028\u0029", - "name": "register_hooks", - "summary": "Register\u0020WordPress\u0020hooks\u0020to\u0020replace\u0020Footnotes\u0020in\u0020the\u0020content\u0020of\u0020a\u0020public\u0020page.", - "url": "classes/Footnotes-Task.html#method_register_hooks" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_output_head\u0028\u0029", - "name": "footnotes_output_head", - "summary": "Outputs\u0020the\u0020custom\u0020css\u0020to\u0020the\u0020header\u0020of\u0020the\u0020public\u0020page.", - "url": "classes/Footnotes-Task.html#method_footnotes_output_head" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_output_footer\u0028\u0029", - "name": "footnotes_output_footer", - "summary": "Displays\u0020the\u0020\u0027LOVE\u0020FOOTNOTES\u0027\u0020slug\u0020if\u0020enabled.", - "url": "classes/Footnotes-Task.html#method_footnotes_output_footer" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_in_title\u0028\u0029", - "name": "footnotes_in_title", - "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020post\/page\u0020title.", - "url": "classes/Footnotes-Task.html#method_footnotes_in_title" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_in_content\u0028\u0029", - "name": "footnotes_in_content", - "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020content\u0020of\u0020the\u0020current\u0020page\/post.", - "url": "classes/Footnotes-Task.html#method_footnotes_in_content" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_in_excerpt\u0028\u0029", - "name": "footnotes_in_excerpt", - "summary": "Processes\u0020existing\u0020excerpt\u0020or\u0020replaces\u0020it\u0020with\u0020a\u0020new\u0020one\u0020generated\u0020on\u0020the\u0020basis\u0020of\u0020the\u0020post.", - "url": "classes/Footnotes-Task.html#method_footnotes_in_excerpt" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Agenerate_excerpt\u0028\u0029", - "name": "generate_excerpt", - "summary": "Generates\u0020excerpt\u0020on\u0020the\u0020basis\u0020of\u0020the\u0020post.", - "url": "classes/Footnotes-Task.html#method_generate_excerpt" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Agenerate_excerpt_with_footnotes\u0028\u0029", - "name": "generate_excerpt_with_footnotes", - "summary": "Generates\u0020excerpt\u0020with\u0020footnotes\u0020on\u0020the\u0020basis\u0020of\u0020the\u0020post.", - "url": "classes/Footnotes-Task.html#method_generate_excerpt_with_footnotes" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_in_widget_title\u0028\u0029", - "name": "footnotes_in_widget_title", - "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020widget\u0020title.", - "url": "classes/Footnotes-Task.html#method_footnotes_in_widget_title" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Afootnotes_in_widget_text\u0028\u0029", - "name": "footnotes_in_widget_text", - "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020content\u0020of\u0020the\u0020current\u0020widget.", - "url": "classes/Footnotes-Task.html#method_footnotes_in_widget_text" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Aexec\u0028\u0029", - "name": "exec", - "summary": "Replaces\u0020all\u0020footnotes\u0020that\u0020occur\u0020in\u0020the\u0020given\u0020content.", - "url": "classes/Footnotes-Task.html#method_exec" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Aunify_delimiters\u0028\u0029", - "name": "unify_delimiters", - "summary": "Brings\u0020the\u0020delimiters\u0020and\u0020unifies\u0020their\u0020various\u0020HTML\u0020escapement\u0020schemas.", - "url": "classes/Footnotes-Task.html#method_unify_delimiters" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Asearch\u0028\u0029", - "name": "search", - "summary": "Replaces\u0020all\u0020footnotes\u0020in\u0020the\u0020given\u0020content\u0020and\u0020appends\u0020them\u0020to\u0020the\u0020static\u0020property.", - "url": "classes/Footnotes-Task.html#method_search" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003Areference_container\u0028\u0029", - "name": "reference_container", - "summary": "Generates\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Task.html#method_reference_container" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_arr_footnotes", - "name": "a_arr_footnotes", - "summary": "Contains\u0020all\u0020footnotes\u0020found\u0020in\u0020the\u0020searched\u0020content.", - "url": "classes/Footnotes-Task.html#property_a_arr_footnotes" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_bool_allow_love_me", - "name": "a_bool_allow_love_me", - "summary": "Flag\u0020if\u0020the\u0020display\u0020of\u0020\u0027LOVE\u0020FOOTNOTES\u0027\u0020is\u0020allowed\u0020on\u0020the\u0020current\u0020public\u0020page.", - "url": "classes/Footnotes-Task.html#property_a_bool_allow_love_me" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_prefix", - "name": "a_str_prefix", - "summary": "Prefix\u0020for\u0020the\u0020Footnote\u0020html\u0020element\u0020ID.", - "url": "classes/Footnotes-Task.html#property_a_str_prefix" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_int_post_id", - "name": "a_int_post_id", - "summary": "Autoload\u0020a.k.a.\u0020infinite\u0020scroll,\u0020or\u0020archive\u0020view.", - "url": "classes/Footnotes-Task.html#property_a_int_post_id" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_int_reference_container_id", - "name": "a_int_reference_container_id", - "summary": "Multiple\u0020reference\u0020containers\u0020in\u0020content\u0020and\u0020widgets.", - "url": "classes/Footnotes-Task.html#property_a_int_reference_container_id" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_bool_hard_links_enabled", - "name": "a_bool_hard_links_enabled", - "summary": "Hard\u0020links\u0020for\u0020AMP\u0020compatibility.", - "url": "classes/Footnotes-Task.html#property_a_bool_hard_links_enabled" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_referrer_link_slug", - "name": "a_str_referrer_link_slug", - "summary": "The\u0020referrer\u0020slug.", - "url": "classes/Footnotes-Task.html#property_a_str_referrer_link_slug" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_footnote_link_slug", - "name": "a_str_footnote_link_slug", - "summary": "The\u0020footnote\u0020slug.", - "url": "classes/Footnotes-Task.html#property_a_str_footnote_link_slug" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_link_ids_separator", - "name": "a_str_link_ids_separator", - "summary": "The\u0020slug\u0020and\u0020identifier\u0020separator.", - "url": "classes/Footnotes-Task.html#property_a_str_link_ids_separator" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_post_container_id_compound", - "name": "a_str_post_container_id_compound", - "summary": "Contains\u0020the\u0020concatenated\u0020fragment\u0020ID\u0020base.", - "url": "classes/Footnotes-Task.html#property_a_str_post_container_id_compound" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_int_scroll_offset", - "name": "a_int_scroll_offset", - "summary": "Scroll\u0020offset.", - "url": "classes/Footnotes-Task.html#property_a_int_scroll_offset" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_link_span", - "name": "a_str_link_span", - "summary": "The\u0020span\u0020element\u0020name.", - "url": "classes/Footnotes-Task.html#property_a_str_link_span" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_link_open_tag", - "name": "a_str_link_open_tag", - "summary": "The\u0020opening\u0020tag.", - "url": "classes/Footnotes-Task.html#property_a_str_link_open_tag" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_link_close_tag", - "name": "a_str_link_close_tag", - "summary": "The\u0020closing\u0020tag.", - "url": "classes/Footnotes-Task.html#property_a_str_link_close_tag" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_tooltip_shortcode", - "name": "a_str_tooltip_shortcode", - "summary": "The\u0020tooltip\u0020delimiter\u0020shortcode.", - "url": "classes/Footnotes-Task.html#property_a_str_tooltip_shortcode" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_int_tooltip_shortcode_length", - "name": "a_int_tooltip_shortcode_length", - "summary": "The\u0020tooltip\u0020delimiter\u0020shortcode\u0020length.", - "url": "classes/Footnotes-Task.html#property_a_int_tooltip_shortcode_length" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_bool_mirror_tooltip_text", - "name": "a_bool_mirror_tooltip_text", - "summary": "Whether\u0020to\u0020mirror\u0020the\u0020tooltip\u0020text\u0020in\u0020the\u0020reference\u0020container.", - "url": "classes/Footnotes-Task.html#property_a_bool_mirror_tooltip_text" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_start_tag", - "name": "a_str_start_tag", - "summary": "Footnote\u0020delimiter\u0020start\u0020short\u0020code.", - "url": "classes/Footnotes-Task.html#property_a_str_start_tag" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_end_tag", - "name": "a_str_end_tag", - "summary": "Footnote\u0020delimiter\u0020end\u0020short\u0020code.", - "url": "classes/Footnotes-Task.html#property_a_str_end_tag" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_start_tag_regex", - "name": "a_str_start_tag_regex", - "summary": "Footnote\u0020delimiter\u0020start\u0020short\u0020code\u0020in\u0020regex\u0020format.", - "url": "classes/Footnotes-Task.html#property_a_str_start_tag_regex" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_str_end_tag_regex", - "name": "a_str_end_tag_regex", - "summary": "Footnote\u0020delimiter\u0020end\u0020short\u0020code\u0020in\u0020regex\u0020format.", - "url": "classes/Footnotes-Task.html#property_a_str_end_tag_regex" - }, { - "fqsen": "\\Footnotes_Task\u003A\u003A\u0024a_bool_syntax_error_flag", - "name": "a_bool_syntax_error_flag", - "summary": "Footnote\u0020delimiter\u0020syntax\u0020validation\u0020enabled.", - "url": "classes/Footnotes-Task.html#property_a_bool_syntax_error_flag" - }, { - "fqsen": "\\Footnotes_Template", - "name": "Footnotes_Template", - "summary": "Handles\u0020each\u0020Template\u0020file\u0020for\u0020the\u0020Plugin\u0020Frontend\u0020\u0028e.g.\u0020Settings\u0020Dashboard,\u0020Public\u0020pages,\u0020...\u0029.", - "url": "classes/Footnotes-Template.html" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003A__construct\u0028\u0029", - "name": "__construct", - "summary": "Class\u0020Constructor.\u0020Reads\u0020and\u0020loads\u0020the\u0020template\u0020file\u0020without\u0020replace\u0020any\u0020placeholder.", - "url": "classes/Footnotes-Template.html#method___construct" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003Areplace\u0028\u0029", - "name": "replace", - "summary": "Replace\u0020all\u0020placeholders\u0020specified\u0020in\u0020array.", - "url": "classes/Footnotes-Template.html#method_replace" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003Areload\u0028\u0029", - "name": "reload", - "summary": "Reloads\u0020the\u0020original\u0020content\u0020of\u0020the\u0020template\u0020file.", - "url": "classes/Footnotes-Template.html#method_reload" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003Aget_content\u0028\u0029", - "name": "get_content", - "summary": "Returns\u0020the\u0020content\u0020of\u0020the\u0020template\u0020file\u0020with\u0020replaced\u0020placeholders.", - "url": "classes/Footnotes-Template.html#method_get_content" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003Aprocess_template\u0028\u0029", - "name": "process_template", - "summary": "Process\u0020template\u0020file.", - "url": "classes/Footnotes-Template.html#method_process_template" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003Aget_template\u0028\u0029", - "name": "get_template", - "summary": "Get\u0020the\u0020template.", - "url": "classes/Footnotes-Template.html#method_get_template" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003AC_STR_DASHBOARD", - "name": "C_STR_DASHBOARD", - "summary": "Directory\u0020name\u0020for\u0020dashboard\u0020templates.", - "url": "classes/Footnotes-Template.html#constant_C_STR_DASHBOARD" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003AC_STR_PUBLIC", - "name": "C_STR_PUBLIC", - "summary": "Directory\u0020name\u0020for\u0020public\u0020templates.", - "url": "classes/Footnotes-Template.html#constant_C_STR_PUBLIC" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003A\u0024a_str_original_content", - "name": "a_str_original_content", - "summary": "Contains\u0020the\u0020content\u0020of\u0020the\u0020template\u0020after\u0020initialize.", - "url": "classes/Footnotes-Template.html#property_a_str_original_content" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003A\u0024a_str_replaced_content", - "name": "a_str_replaced_content", - "summary": "Contains\u0020the\u0020content\u0020of\u0020the\u0020template\u0020after\u0020initialize\u0020with\u0020replaced\u0020place\u0020holders.", - "url": "classes/Footnotes-Template.html#property_a_str_replaced_content" - }, { - "fqsen": "\\Footnotes_Template\u003A\u003A\u0024plugin_directory", - "name": "plugin_directory", - "summary": "Plugin\u0020Directory", - "url": "classes/Footnotes-Template.html#property_plugin_directory" - }, { - "fqsen": "\\Footnotes_Widget_Base", - "name": "Footnotes_Widget_Base", - "summary": "Base\u0020Class\u0020for\u0020all\u0020Plugin\u0020Widgets.\u0020Registers\u0020each\u0020Widget\u0020to\u0020WordPress.", - "url": "classes/Footnotes-Widget-Base.html" - }, { - "fqsen": "\\Footnotes_Widget_Base\u003A\u003Aget_id\u0028\u0029", - "name": "get_id", - "summary": "Returns\u0020an\u0020unique\u0020ID\u0020as\u0020string\u0020used\u0020for\u0020the\u0020Widget\u0020Base\u0020ID.", - "url": "classes/Footnotes-Widget-Base.html#method_get_id" - }, { - "fqsen": "\\Footnotes_Widget_Base\u003A\u003Aget_name\u0028\u0029", - "name": "get_name", - "summary": "Returns\u0020the\u0020Public\u0020name\u0020of\u0020child\u0020Widget\u0020to\u0020be\u0020displayed\u0020in\u0020the\u0020Configuration\u0020page.", - "url": "classes/Footnotes-Widget-Base.html#method_get_name" - }, { - "fqsen": "\\Footnotes_Widget_Base\u003A\u003Aget_description\u0028\u0029", - "name": "get_description", - "summary": "Returns\u0020the\u0020Description\u0020of\u0020the\u0020child\u0020widget.", - "url": "classes/Footnotes-Widget-Base.html#method_get_description" - }, { - "fqsen": "\\Footnotes_Widget_Base\u003A\u003Aget_widget_width\u0028\u0029", - "name": "get_widget_width", - "summary": "Returns\u0020the\u0020width\u0020of\u0020the\u0020Widget.\u0020Default\u0020width\u0020is\u0020250\u0020pixel.", - "url": "classes/Footnotes-Widget-Base.html#method_get_widget_width" - }, { - "fqsen": "\\Footnotes_Widget_Base\u003A\u003A__construct\u0028\u0029", - "name": "__construct", - "summary": "Class\u0020Constructor.\u0020Registers\u0020the\u0020child\u0020Widget\u0020to\u0020WordPress.", - "url": "classes/Footnotes-Widget-Base.html#method___construct" - }, { - "fqsen": "\\Footnotes_Widget_Reference_Container", - "name": "Footnotes_Widget_Reference_Container", - "summary": "Registers\u0020a\u0020Widget\u0020to\u0020put\u0020the\u0020Reference\u0020Container\u0020to\u0020the\u0020widget\u0020area.", - "url": "classes/Footnotes-Widget-Reference-Container.html" - }, { - "fqsen": "\\Footnotes_Widget_Reference_Container\u003A\u003Aget_id\u0028\u0029", - "name": "get_id", - "summary": "Returns\u0020an\u0020unique\u0020ID\u0020as\u0020string\u0020used\u0020for\u0020the\u0020Widget\u0020Base\u0020ID.", - "url": "classes/Footnotes-Widget-Reference-Container.html#method_get_id" - }, { - "fqsen": "\\Footnotes_Widget_Reference_Container\u003A\u003Aget_name\u0028\u0029", - "name": "get_name", - "summary": "Returns\u0020the\u0020Public\u0020name\u0020of\u0020the\u0020Widget\u0020to\u0020be\u0020displayed\u0020in\u0020the\u0020Configuration\u0020page.", - "url": "classes/Footnotes-Widget-Reference-Container.html#method_get_name" - }, { - "fqsen": "\\Footnotes_Widget_Reference_Container\u003A\u003Aget_description\u0028\u0029", - "name": "get_description", - "summary": "Returns\u0020the\u0020Description\u0020of\u0020the\u0020child\u0020widget.", - "url": "classes/Footnotes-Widget-Reference-Container.html#method_get_description" - }, { - "fqsen": "\\Footnotes_Widget_Reference_Container\u003A\u003Aform\u0028\u0029", - "name": "form", - "summary": "Outputs\u0020the\u0020Settings\u0020of\u0020the\u0020Widget.", - "url": "classes/Footnotes-Widget-Reference-Container.html#method_form" - }, { - "fqsen": "\\Footnotes_Widget_Reference_Container\u003A\u003Awidget\u0028\u0029", - "name": "widget", - "summary": "Outputs\u0020the\u0020Content\u0020of\u0020the\u0020Widget.", - "url": "classes/Footnotes-Widget-Reference-Container.html#method_widget" - }, { - "fqsen": "\\Footnotes_WYSIWYG", - "name": "Footnotes_WYSIWYG", - "summary": "Handles\u0020the\u0020WSYIWYG\u002DButtons.", - "url": "classes/Footnotes-WYSIWYG.html" - }, { - "fqsen": "\\Footnotes_WYSIWYG\u003A\u003Aregister_hooks\u0028\u0029", - "name": "register_hooks", - "summary": "Registers\u0020Button\u0020hooks.", - "url": "classes/Footnotes-WYSIWYG.html#method_register_hooks" - }, { - "fqsen": "\\Footnotes_WYSIWYG\u003A\u003Anew_visual_editor_button\u0028\u0029", + "summary": "Initialize\u0020the\u0020class\u0020and\u0020set\u0020its\u0020properties.", + "url": "classes/footnotes-admin-Admin.html#method___construct" + }, { + "fqsen": "\\footnotes\\admin\\Admin\u003A\u003Aenqueue_styles\u0028\u0029", + "name": "enqueue_styles", + "summary": "Register\u0020the\u0020stylesheets\u0020for\u0020the\u0020admin\u0020area.", + "url": "classes/footnotes-admin-Admin.html#method_enqueue_styles" + }, { + "fqsen": "\\footnotes\\admin\\Admin\u003A\u003Aenqueue_scripts\u0028\u0029", + "name": "enqueue_scripts", + "summary": "Register\u0020the\u0020JavaScript\u0020for\u0020the\u0020admin\u0020area.", + "url": "classes/footnotes-admin-Admin.html#method_enqueue_scripts" + }, { + "fqsen": "\\footnotes\\admin\\Admin\u003A\u003Aaction_links\u0028\u0029", + "name": "action_links", + "summary": "Appends\u0020the\u0020Plugin\u0020links\u0020for\u0020display\u0020in\u0020the\u0020dashboard\u0020Plugins\u0020page.", + "url": "classes/footnotes-admin-Admin.html#method_action_links" + }, { + "fqsen": "\\footnotes\\admin\\Admin\u003A\u003Aload_dependencies\u0028\u0029", + "name": "load_dependencies", + "summary": "Load\u0020the\u0020required\u0020admin\u002Dspecific\u0020dependencies.", + "url": "classes/footnotes-admin-Admin.html#method_load_dependencies" + }, { + "fqsen": "\\footnotes\\admin\\Admin\u003A\u003A\u0024wysiwyg", + "name": "wysiwyg", + "summary": "The\u0020WYSIWYG\u0020editor\u0020integration\u0020object.", + "url": "classes/footnotes-admin-Admin.html#property_wysiwyg" + }, { + "fqsen": "\\footnotes\\admin\\WYSIWYG", + "name": "WYSIWYG", + "summary": "Class\u0020providing\u0020WYSIWYG\u0020editor\u0020intergration\u0020for\u0020the\u0020plugin.", + "url": "classes/footnotes-admin-WYSIWYG.html" + }, { + "fqsen": "\\footnotes\\admin\\WYSIWYG\u003A\u003Anew_visual_editor_button\u0028\u0029", "name": "new_visual_editor_button", "summary": "Append\u0020a\u0020new\u0020Button\u0020to\u0020the\u0020WYSIWYG\u0020editor\u0020of\u0020Posts\u0020and\u0020Pages.", - "url": "classes/Footnotes-WYSIWYG.html#method_new_visual_editor_button" + "url": "classes/footnotes-admin-WYSIWYG.html#method_new_visual_editor_button" }, { - "fqsen": "\\Footnotes_WYSIWYG\u003A\u003Anew_plain_text_editor_button\u0028\u0029", + "fqsen": "\\footnotes\\admin\\WYSIWYG\u003A\u003Anew_plain_text_editor_button\u0028\u0029", "name": "new_plain_text_editor_button", "summary": "Add\u0020a\u0020new\u0020button\u0020to\u0020the\u0020plain\u0020text\u0020editor.", - "url": "classes/Footnotes-WYSIWYG.html#method_new_plain_text_editor_button" + "url": "classes/footnotes-admin-WYSIWYG.html#method_new_plain_text_editor_button" }, { - "fqsen": "\\Footnotes_WYSIWYG\u003A\u003Ainclude_scripts\u0028\u0029", + "fqsen": "\\footnotes\\admin\\WYSIWYG\u003A\u003Ainclude_scripts\u0028\u0029", "name": "include_scripts", "summary": "Includes\u0020the\u0020Plugins\u0020WYSIWYG\u0020editor\u0020script.", - "url": "classes/Footnotes-WYSIWYG.html#method_include_scripts" + "url": "classes/footnotes-admin-WYSIWYG.html#method_include_scripts" }, { - "fqsen": "\\Footnotes_WYSIWYG\u003A\u003Aajax_callback\u0028\u0029", + "fqsen": "\\footnotes\\admin\\WYSIWYG\u003A\u003Aajax_callback\u0028\u0029", "name": "ajax_callback", "summary": "AJAX\u0020Callback\u0020function\u0020when\u0020the\u0020Footnotes\u0020Button\u0020is\u0020clicked.\u0020Either\u0020in\u0020the\u0020Plain\u0020text\u0020or\u0020Visual\u0020editor.", - "url": "classes/Footnotes-WYSIWYG.html#method_ajax_callback" + "url": "classes/footnotes-admin-WYSIWYG.html#method_ajax_callback" }, { - "fqsen": "\\mci_footnotes_require_php_files\u0028\u0029", - "name": "mci_footnotes_require_php_files", - "summary": "Requires\u0020\u0028\u0060require_once\u0060\u0029\u0020all\u0020\u0060\u002A.php\u0060\u0020files\u0020inside\u0020a\u0020specific\u0020Directory.", - "url": "namespaces/default.html#function_mci_footnotes_require_php_files" + "fqsen": "\\footnotes\\admin\\layout\\Engine", + "name": "Engine", + "summary": "Class\u0020to\u0020be\u0020extended\u0020by\u0020page\u0020layout\u0020sub\u002Dclasses.", + "url": "classes/footnotes-admin-layout-Engine.html" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aget_priority\u0028\u0029", + "name": "get_priority", + "summary": "Returns\u0020a\u0020Priority\u0020index.\u0020Lower\u0020numbers\u0020have\u0020a\u0020higher\u0020priority.", + "url": "classes/footnotes-admin-layout-Engine.html#method_get_priority" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aregister_sub_page\u0028\u0029", + "name": "register_sub_page", + "summary": "Registers\u0020a\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_register_sub_page" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aregister_sections\u0028\u0029", + "name": "register_sections", + "summary": "Registers\u0020all\u0020sections\u0020for\u0020a\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_register_sections" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Adisplay_content\u0028\u0029", + "name": "display_content", + "summary": "Displays\u0020the\u0020content\u0020of\u0020specific\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_display_content" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Adescription\u0028\u0029", + "name": "description", + "summary": "Output\u0020the\u0020description\u0020of\u0020a\u0020section.\u0020May\u0020be\u0020overwritten\u0020in\u0020any\u0020section.", + "url": "classes/footnotes-admin-layout-Engine.html#method_description" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aget_sub_page_slug\u0028\u0029", + "name": "get_sub_page_slug", + "summary": "Returns\u0020the\u0020unique\u0020slug\u0020of\u0020the\u0020child\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_get_sub_page_slug" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aget_sub_page_title\u0028\u0029", + "name": "get_sub_page_title", + "summary": "Returns\u0020the\u0020title\u0020of\u0020the\u0020child\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_get_sub_page_title" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aget_sections\u0028\u0029", + "name": "get_sections", + "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020sections\u0020for\u0020a\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_get_sections" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aget_meta_boxes\u0028\u0029", + "name": "get_meta_boxes", + "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020meta\u0020boxes.", + "url": "classes/footnotes-admin-layout-Engine.html#method_get_meta_boxes" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_section\u0028\u0029", + "name": "add_section", + "summary": "Returns\u0020an\u0020array\u0020describing\u0020a\u0020sub\u002Dpage\u0020section.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_section" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_meta_box\u0028\u0029", + "name": "add_meta_box", + "summary": "Returns\u0020an\u0020array\u0020describing\u0020a\u0020meta\u0020box.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_meta_box" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aload_setting\u0028\u0029", + "name": "load_setting", + "summary": "Loads\u0020a\u0020specified\u0020setting.", + "url": "classes/footnotes-admin-layout-Engine.html#method_load_setting" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_text\u0028\u0029", + "name": "add_text", + "summary": "Returns\u0020a\u0020simple\u0020text\u0020inside\u0020a\u0020\u0027span\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_text" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_label\u0028\u0029", + "name": "add_label", + "summary": "Returns\u0020the\u0020HTML\u0020tag\u0020for\u0020a\u0020\u0027label\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_label" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_text_box\u0028\u0029", + "name": "add_text_box", + "summary": "Constructs\u0020the\u0020HTML\u0020for\u0020a\u0020text\u0020\u0027input\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_text_box" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_checkbox\u0028\u0029", + "name": "add_checkbox", + "summary": "Constructs\u0020the\u0020HTML\u0020for\u0020a\u0020checkbox\u0020\u0027input\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_checkbox" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_select_box\u0028\u0029", + "name": "add_select_box", + "summary": "Constructs\u0020the\u0020HTML\u0020for\u0020a\u0020\u0027select\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_select_box" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_textarea\u0028\u0029", + "name": "add_textarea", + "summary": "Constructs\u0020the\u0020HTML\u0020for\u0020a\u0020\u0027textarea\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_textarea" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_color_selection\u0028\u0029", + "name": "add_color_selection", + "summary": "Constructs\u0020the\u0020HTML\u0020for\u0020a\u0020text\u0020\u0027input\u0027\u0020element\u0020with\u0020the\u0020colour\u0020selection\nclass.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_color_selection" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aadd_num_box\u0028\u0029", + "name": "add_num_box", + "summary": "Constructs\u0020the\u0020HTML\u0020for\u0020numeric\u0020\u0027input\u0027\u0020element.", + "url": "classes/footnotes-admin-layout-Engine.html#method_add_num_box" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aregister_meta_boxes\u0028\u0029", + "name": "register_meta_boxes", + "summary": "Registers\u0020all\u0020Meta\u0020boxes\u0020for\u0020a\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_register_meta_boxes" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Aappend_scripts\u0028\u0029", + "name": "append_scripts", + "summary": "Append\u0020JavaScript\u0020and\u0020CSS\u0020files\u0020for\u0020specific\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#method_append_scripts" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003Asave_settings\u0028\u0029", + "name": "save_settings", + "summary": "Save\u0020all\u0020plugin\u0020settings.", + "url": "classes/footnotes-admin-layout-Engine.html#method_save_settings" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003A\u0024plugin_name", + "name": "plugin_name", + "summary": "The\u0020ID\u0020of\u0020this\u0020plugin.", + "url": "classes/footnotes-admin-layout-Engine.html#property_plugin_name" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003A\u0024sub_page_hook", + "name": "sub_page_hook", + "summary": "Stores\u0020the\u0020Hook\u0020connection\u0020string\u0020for\u0020the\u0020child\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#property_sub_page_hook" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Engine\u003A\u003A\u0024sections", + "name": "sections", + "summary": "Stores\u0020all\u0020Sections\u0020for\u0020the\u0020child\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Engine.html#property_sections" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init", + "name": "Init", + "summary": "Class\u0020to\u0020initialise\u0020all\u0020defined\u0020page\u0020layouts.", + "url": "classes/footnotes-admin-layout-Init.html" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Initializes\u0020all\u0020WordPress\u0020hooks\u0020for\u0020the\u0020Plugin\u0020Settings.", + "url": "classes/footnotes-admin-layout-Init.html#method___construct" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003Ainitialize_settings\u0028\u0029", + "name": "initialize_settings", + "summary": "Registers\u0020the\u0020settings\u0020and\u0020initialises\u0020the\u0020settings\u0020page.", + "url": "classes/footnotes-admin-layout-Init.html#method_initialize_settings" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003Aregister_options_submenu\u0028\u0029", + "name": "register_options_submenu", + "summary": "Registers\u0020the\u0020footnotes\u0020submenu\u0020page.", + "url": "classes/footnotes-admin-layout-Init.html#method_register_options_submenu" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003Aget_plugin_meta_information\u0028\u0029", + "name": "get_plugin_meta_information", + "summary": "AJAX\u0020call.\u0020returns\u0020a\u0020JSON\u0020string\u0020containing\u0020meta\u0020information\u0020about\u0020a\u0020specific\u0020WordPress\u0020Plugin.", + "url": "classes/footnotes-admin-layout-Init.html#method_get_plugin_meta_information" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003Aload_dependencies\u0028\u0029", + "name": "load_dependencies", + "summary": "Load\u0020the\u0020required\u0020dependencies\u0020for\u0020the\u0020layouts\u0020pages.", + "url": "classes/footnotes-admin-layout-Init.html#method_load_dependencies" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003AMAIN_MENU_SLUG", + "name": "MAIN_MENU_SLUG", + "summary": "Slug\u0020for\u0020the\u0020Plugin\u0020main\u0020menu.", + "url": "classes/footnotes-admin-layout-Init.html#constant_MAIN_MENU_SLUG" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Init\u003A\u003A\u0024settings", + "name": "settings", + "summary": "Contains\u0020the\u0020settings\u0020page.", + "url": "classes/footnotes-admin-layout-Init.html#property_settings" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings", + "name": "Settings", + "summary": "Class\u0020to\u0020initialise\u0020all\u0020defined\u0020page\u0020layouts.", + "url": "classes/footnotes-admin-layout-Settings.html" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Initialize\u0020the\u0020class\u0020and\u0020set\u0020its\u0020properties.", + "url": "classes/footnotes-admin-layout-Settings.html#method___construct" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aget_priority\u0028\u0029", + "name": "get_priority", + "summary": "Returns\u0020a\u0020priority\u0020index.", + "url": "classes/footnotes-admin-layout-Settings.html#method_get_priority" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aamp_compat\u0028\u0029", + "name": "amp_compat", + "summary": "Displays\u0020the\u0020AMP\u0020compatibility\u0020mode\u0020option.", + "url": "classes/footnotes-admin-layout-Settings.html#method_amp_compat" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Areference_container\u0028\u0029", + "name": "reference_container", + "summary": "Displays\u0020all\u0020settings\u0020for\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-admin-layout-Settings.html#method_reference_container" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Astart_end\u0028\u0029", + "name": "start_end", + "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020footnotes\u0020start\u0020and\u0020end\u0020tag\u0020short\u0020codes.", + "url": "classes/footnotes-admin-layout-Settings.html#method_start_end" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Anumbering\u0028\u0029", + "name": "numbering", + "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020footnotes\u0020numbering.", + "url": "classes/footnotes-admin-layout-Settings.html#method_numbering" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Ascrolling\u0028\u0029", + "name": "scrolling", + "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020scrolling\u0020behavior.", + "url": "classes/footnotes-admin-layout-Settings.html#method_scrolling" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Ahard_links\u0028\u0029", + "name": "hard_links", + "summary": "Displays\u0020all\u0020options\u0020for\u0020the\u0020fragment\u0020identifier\u0020configuration.", + "url": "classes/footnotes-admin-layout-Settings.html#method_hard_links" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Alove\u0028\u0029", + "name": "love", + "summary": "Displays\u0020all\u0020settings\u0020for\u0020\u2018I\u0020love\u0020Footnotes\u2019\u0020note.", + "url": "classes/footnotes-admin-layout-Settings.html#method_love" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aexcerpts\u0028\u0029", + "name": "excerpts", + "summary": "Displays\u0020the\u0020footnotes\u0020in\u0020excerpt\u0020setting.", + "url": "classes/footnotes-admin-layout-Settings.html#method_excerpts" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Asuperscript\u0028\u0029", + "name": "superscript", + "summary": "Displays\u0020all\u0020settings\u0020for\u0020the\u0020footnote\u0020referrers.", + "url": "classes/footnotes-admin-layout-Settings.html#method_superscript" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Alabel_solution\u0028\u0029", + "name": "label_solution", + "summary": "Displays\u0020the\u0020setting\u0020for\u0020the\u0020input\u0020label\u0020issue\u0020solution.", + "url": "classes/footnotes-admin-layout-Settings.html#method_label_solution" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box\u0028\u0029", + "name": "mouseover_box", + "summary": "Displays\u0020enabled\u0020status\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box_position\u0028\u0029", + "name": "mouseover_box_position", + "summary": "Displays\u0020position\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box_position" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box_dimensions\u0028\u0029", + "name": "mouseover_box_dimensions", + "summary": "Displays\u0020dimensions\u0020setting\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box_dimensions" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box_timing\u0028\u0029", + "name": "mouseover_box_timing", + "summary": "Displays\u0020timing\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box_timing" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box_truncation\u0028\u0029", + "name": "mouseover_box_truncation", + "summary": "Displays\u0020truncation\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box_truncation" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box_text\u0028\u0029", + "name": "mouseover_box_text", + "summary": "Displays\u0020dedicated\u0020tooltip\u0020text\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box_text" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Amouseover_box_appearance\u0028\u0029", + "name": "mouseover_box_appearance", + "summary": "Displays\u0020style\u0020settings\u0020for\u0020the\u0020footnotes\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_mouseover_box_appearance" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Ahyperlink_arrow\u0028\u0029", + "name": "hyperlink_arrow", + "summary": "Displays\u0020all\u0020settings\u0020for\u0020the\u0020backlink\u0020symbol.", + "url": "classes/footnotes-admin-layout-Settings.html#method_hyperlink_arrow" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Acustom_css\u0028\u0029", + "name": "custom_css", + "summary": "Displays\u0020the\u0020Custom\u0020CSS\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_custom_css" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Acustom_css_migration\u0028\u0029", + "name": "custom_css_migration", + "summary": "Displays\u0020transitional\u0020legacy\u0020Custom\u0020CSS\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_custom_css_migration" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Acustom_css_new\u0028\u0029", + "name": "custom_css_new", + "summary": "Displays\u0020the\u0020new\u0020Custom\u0020CSS\u0020box.", + "url": "classes/footnotes-admin-layout-Settings.html#method_custom_css_new" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Alookup_hooks\u0028\u0029", + "name": "lookup_hooks", + "summary": "Displays\u0020available\u0020Hooks\u0020to\u0020look\u0020for\u0020Footnote\u0020short\u0020codes.", + "url": "classes/footnotes-admin-layout-Settings.html#method_lookup_hooks" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Ahelp\u0028\u0029", + "name": "help", + "summary": "Displays\u0020a\u0020short\u0020introduction\u0020to\u0020the\u0020plugin.", + "url": "classes/footnotes-admin-layout-Settings.html#method_help" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Adonate\u0028\u0029", + "name": "donate", + "summary": "Displays\u0020all\u0020Donate\u0020button\u0020to\u0020support\u0020the\u0020developers.", + "url": "classes/footnotes-admin-layout-Settings.html#method_donate" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aget_sub_page_slug\u0028\u0029", + "name": "get_sub_page_slug", + "summary": "Returns\u0020the\u0020unique\u0020slug\u0020of\u0020the\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Settings.html#method_get_sub_page_slug" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aget_sub_page_title\u0028\u0029", + "name": "get_sub_page_title", + "summary": "Returns\u0020the\u0020title\u0020of\u0020the\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Settings.html#method_get_sub_page_title" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aget_sections\u0028\u0029", + "name": "get_sections", + "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020sections\u0020for\u0020the\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Settings.html#method_get_sections" + }, { + "fqsen": "\\footnotes\\admin\\layout\\Settings\u003A\u003Aget_meta_boxes\u0028\u0029", + "name": "get_meta_boxes", + "summary": "Returns\u0020an\u0020array\u0020of\u0020all\u0020registered\u0020meta\u0020boxes\u0020for\u0020each\u0020section\u0020of\u0020the\u0020sub\u002Dpage.", + "url": "classes/footnotes-admin-layout-Settings.html#method_get_meta_boxes" + }, { + "fqsen": "\\footnotes\\activate_footnotes\u0028\u0029", + "name": "activate_footnotes", + "summary": "Handles\u0020the\u0020activation\u0020of\u0020the\u0020plugin.", + "url": "namespaces/footnotes.html#function_activate_footnotes" + }, { + "fqsen": "\\footnotes\\deactivate_footnotes\u0028\u0029", + "name": "deactivate_footnotes", + "summary": "Handles\u0020the\u0020deactivation\u0020of\u0020the\u0020plugin.", + "url": "namespaces/footnotes.html#function_deactivate_footnotes" + }, { + "fqsen": "\\footnotes\\run_footnotes\u0028\u0029", + "name": "run_footnotes", + "summary": "Begins\u0020execution\u0020of\u0020the\u0020plugin.", + "url": "namespaces/footnotes.html#function_run_footnotes" + }, { + "fqsen": "\\footnotes\\includes\\Activator", + "name": "Activator", + "summary": "Class\u0020providing\u0020action\u0028s\u0029\u0020on\u0020plugin\u0020activation.", + "url": "classes/footnotes-includes-Activator.html" + }, { + "fqsen": "\\footnotes\\includes\\Activator\u003A\u003Aactivate\u0028\u0029", + "name": "activate", + "summary": "Runs\u0020when\u0020the\u0020plugin\u0020is\u0020deactivated.", + "url": "classes/footnotes-includes-Activator.html#method_activate" + }, { + "fqsen": "\\footnotes\\includes\\Config", + "name": "Config", + "summary": "Class\u0020defining\u0020plugin\u0020constants.", + "url": "classes/footnotes-includes-Config.html" + }, { + "fqsen": "\\footnotes\\includes\\Config\u003A\u003APLUGIN_PUBLIC_NAME", + "name": "PLUGIN_PUBLIC_NAME", + "summary": "Public\u0020plugin\u0020name.", + "url": "classes/footnotes-includes-Config.html#constant_PLUGIN_PUBLIC_NAME" + }, { + "fqsen": "\\footnotes\\includes\\Config\u003A\u003APLUGIN_HEADING_NAME", + "name": "PLUGIN_HEADING_NAME", + "summary": "Public\u0020plugin\u0020name\u0020for\u0020use\u0020as\u0020a\u0020dashboard\u0020heading.", + "url": "classes/footnotes-includes-Config.html#constant_PLUGIN_HEADING_NAME" + }, { + "fqsen": "\\footnotes\\includes\\Config\u003A\u003ALOVE_SYMBOL", + "name": "LOVE_SYMBOL", + "summary": "HTML\u0020element\u0020for\u0020the\u0020\u2018love\u2019\u0020symbol.", + "url": "classes/footnotes-includes-Config.html#constant_LOVE_SYMBOL" + }, { + "fqsen": "\\footnotes\\includes\\Config\u003A\u003ALOVE_SYMBOL_HEADING", + "name": "LOVE_SYMBOL_HEADING", + "summary": "HTML\u0020element\u0020for\u0020the\u0020\u2018love\u2019\u0020symbol\u0020used\u0020in\u0020dashboard\u0020heading", + "url": "classes/footnotes-includes-Config.html#constant_LOVE_SYMBOL_HEADING" + }, { + "fqsen": "\\footnotes\\includes\\Config\u003A\u003ANO_LOVE_SLUG", + "name": "NO_LOVE_SLUG", + "summary": "Shortcode\u0020to\u0020NOT\u0020display\u0020the\u0020\u2018LOVE\u0020ME\u2019\u0020slug\u0020on\u0020certain\u0020pages.", + "url": "classes/footnotes-includes-Config.html#constant_NO_LOVE_SLUG" + }, { + "fqsen": "\\footnotes\\includes\\Convert", + "name": "Convert", + "summary": "Class\u0020providing\u0020variable\u0020type\u0020and\u0020value\u0020conversion\u0020functions.", + "url": "classes/footnotes-includes-Convert.html" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Aindex\u0028\u0029", + "name": "index", + "summary": "Converts\u0020an\u0020integer\u0020into\u0020the\u0020user\u002Ddefined\u0020counter\u0020style\u0020for\u0020the\u0020footnotes.", + "url": "classes/footnotes-includes-Convert.html#method_index" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Ato_bool\u0028\u0029", + "name": "to_bool", + "summary": "Converts\u0020a\u0020string\u0020depending\u0020on\u0020its\u0020value\u0020to\u0020a\u0020boolean.", + "url": "classes/footnotes-includes-Convert.html#method_to_bool" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Aget_arrow\u0028\u0029", + "name": "get_arrow", + "summary": "Get\u0020an\u0020HTML\u0020array\u0020short\u0020code\u0020depending\u0020on\u0020Arrow\u002DArray\u0020key\u0020index.", + "url": "classes/footnotes-includes-Convert.html#method_get_arrow" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Adebug\u0028\u0029", + "name": "debug", + "summary": "Displays\u0020a\u0020variable.", + "url": "classes/footnotes-includes-Convert.html#method_debug" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Ato_latin\u0028\u0029", + "name": "to_latin", + "summary": "Converts\u0020an\u0020integer\u0020into\u0020Latin\u0020ASCII\u0020characters,\u0020either\u0020lower\u0020or\u0020upper\u002Dcase.", + "url": "classes/footnotes-includes-Convert.html#method_to_latin" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Ato_arabic_leading\u0028\u0029", + "name": "to_arabic_leading", + "summary": "Converts\u0020an\u0020integer\u0020to\u0020a\u0020leading\u002D0\u0020integer.", + "url": "classes/footnotes-includes-Convert.html#method_to_arabic_leading" + }, { + "fqsen": "\\footnotes\\includes\\Convert\u003A\u003Ato_roman\u0028\u0029", + "name": "to_roman", + "summary": "Converts\u0020an\u0020integer\u0020to\u0020a\u0020Roman\u0020numeral.", + "url": "classes/footnotes-includes-Convert.html#method_to_roman" + }, { + "fqsen": "\\footnotes\\includes\\Core", + "name": "Core", + "summary": "Class\u0020providing\u0020core\u0020plugin\u0020functionality.", + "url": "classes/footnotes-includes-Core.html" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Builds\u0020the\u0020core\u0020of\u0020the\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#method___construct" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Arun\u0028\u0029", + "name": "run", + "summary": "Runs\u0020the\u0020loader\u0020to\u0020execute\u0020all\u0020of\u0020the\u0020hooks\u0020with\u0020WordPress.", + "url": "classes/footnotes-includes-Core.html#method_run" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Aget_plugin_name\u0028\u0029", + "name": "get_plugin_name", + "summary": "Gets\u0020the\u0020name\u0020of\u0020the\u0020plugin\u0020used\u0020to\u0020uniquely\u0020identify\u0020it\u0020within\u0020the\ncontext\u0020of\u0020WordPress\u0020and\u0020to\u0020define\u0020internationalization\u0020functionality.", + "url": "classes/footnotes-includes-Core.html#method_get_plugin_name" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Aget_loader\u0028\u0029", + "name": "get_loader", + "summary": "Returns\u0020a\u0020reference\u0020to\u0020the\u0020class\u0020that\u0020orchestrates\u0020the\u0020hooks\u0020with\u0020the\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#method_get_loader" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Aget_version\u0028\u0029", + "name": "get_version", + "summary": "Gets\u0020the\u0020version\u0020number\u0020of\u0020the\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#method_get_version" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Aload_dependencies\u0028\u0029", + "name": "load_dependencies", + "summary": "Load\u0020the\u0020required\u0020dependencies\u0020for\u0020this\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#method_load_dependencies" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Aset_locale\u0028\u0029", + "name": "set_locale", + "summary": "Define\u0020the\u0020locale\u0020for\u0020this\u0020plugin\u0020for\u0020internationalization.", + "url": "classes/footnotes-includes-Core.html#method_set_locale" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Adefine_admin_hooks\u0028\u0029", + "name": "define_admin_hooks", + "summary": "Register\u0020all\u0020of\u0020the\u0020hooks\u0020related\u0020to\u0020the\u0020admin\u0020area\u0020functionality\u0020of\u0020the\nplugin.", + "url": "classes/footnotes-includes-Core.html#method_define_admin_hooks" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003Adefine_public_hooks\u0028\u0029", + "name": "define_public_hooks", + "summary": "Register\u0020all\u0020of\u0020the\u0020hooks\u0020related\u0020to\u0020the\u0020public\u002Dfacing\u0020functionality\u0020of\nthe\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#method_define_public_hooks" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003A\u0024loader", + "name": "loader", + "summary": "The\u0020loader\u0020that\u0027s\u0020responsible\u0020for\u0020maintaining\u0020and\u0020registering\u0020all\u0020hooks\nthat\u0020power\u0020the\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#property_loader" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003A\u0024plugin_name", + "name": "plugin_name", + "summary": "The\u0020unique\u0020identifier\u0020of\u0020this\u0020plugin", + "url": "classes/footnotes-includes-Core.html#property_plugin_name" + }, { + "fqsen": "\\footnotes\\includes\\Core\u003A\u003A\u0024version", + "name": "version", + "summary": "The\u0020current\u0020version\u0020of\u0020the\u0020plugin.", + "url": "classes/footnotes-includes-Core.html#property_version" + }, { + "fqsen": "\\footnotes\\includes\\Deactivator", + "name": "Deactivator", + "summary": "Class\u0020providing\u0020action\u0028s\u0029\u0020on\u0020plugin\u0020deactivation.", + "url": "classes/footnotes-includes-Deactivator.html" + }, { + "fqsen": "\\footnotes\\includes\\Deactivator\u003A\u003Adeactivate\u0028\u0029", + "name": "deactivate", + "summary": "Runs\u0020when\u0020the\u0020plugin\u0020is\u0020deactivated.", + "url": "classes/footnotes-includes-Deactivator.html#method_deactivate" + }, { + "fqsen": "\\footnotes\\includes\\i18n", + "name": "i18n", + "summary": "Class\u0020providing\u0020internationalization\u0020functionality.", + "url": "classes/footnotes-includes-i18n.html" + }, { + "fqsen": "\\footnotes\\includes\\i18n\u003A\u003Aload_plugin_textdomain\u0028\u0029", + "name": "load_plugin_textdomain", + "summary": "Load\u0020the\u0020plugin\u0020text\u0020domain\u0020for\u0020translation.", + "url": "classes/footnotes-includes-i18n.html#method_load_plugin_textdomain" + }, { + "fqsen": "\\footnotes\\includes\\Loader", + "name": "Loader", + "summary": "Class\u0020defining\u0020action\/filter\u0020registration\u0020for\u0020the\u0020plugin.", + "url": "classes/footnotes-includes-Loader.html" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Initialize\u0020the\u0020collections\u0020used\u0020to\u0020maintain\u0020the\u0020actions\u0020and\u0020filters.", + "url": "classes/footnotes-includes-Loader.html#method___construct" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003Aadd_action\u0028\u0029", + "name": "add_action", + "summary": "Add\u0020a\u0020new\u0020action\u0020to\u0020the\u0020collection\u0020to\u0020be\u0020registered\u0020with\u0020WordPress.", + "url": "classes/footnotes-includes-Loader.html#method_add_action" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003Aadd_filter\u0028\u0029", + "name": "add_filter", + "summary": "Add\u0020a\u0020new\u0020filter\u0020to\u0020the\u0020collection\u0020to\u0020be\u0020registered\u0020with\u0020WordPress.", + "url": "classes/footnotes-includes-Loader.html#method_add_filter" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003Arun\u0028\u0029", + "name": "run", + "summary": "Registers\u0020the\u0020filters\u0020and\u0020actions\u0020with\u0020WordPress.", + "url": "classes/footnotes-includes-Loader.html#method_run" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003Aadd\u0028\u0029", + "name": "add", + "summary": "A\u0020utility\u0020function\u0020that\u0020is\u0020used\u0020to\u0020register\u0020the\u0020actions\u0020and\u0020hooks\u0020into\u0020a\u0020single\ncollection.", + "url": "classes/footnotes-includes-Loader.html#method_add" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003A\u0024actions", + "name": "actions", + "summary": "The\u0020array\u0020of\u0020actions\u0020registered\u0020with\u0020WordPress.", + "url": "classes/footnotes-includes-Loader.html#property_actions" + }, { + "fqsen": "\\footnotes\\includes\\Loader\u003A\u003A\u0024filters", + "name": "filters", + "summary": "The\u0020array\u0020of\u0020filters\u0020registered\u0020with\u0020WordPress.", + "url": "classes/footnotes-includes-Loader.html#property_filters" + }, { + "fqsen": "\\footnotes\\includes\\Settings", + "name": "Settings", + "summary": "Class\u0020defining\u0020configurable\u0020plugin\u0020settings.", + "url": "classes/footnotes-includes-Settings.html" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Loads\u0020all\u0020Settings\u0020from\u0020each\u0020WordPress\u0020Settings\u0020Container.", + "url": "classes/footnotes-includes-Settings.html#method___construct" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Aget_container\u0028\u0029", + "name": "get_container", + "summary": "Returns\u0020the\u0020name\u0020of\u0020a\u0020specified\u0020Settings\u0020Container.", + "url": "classes/footnotes-includes-Settings.html#method_get_container" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Aget_defaults\u0028\u0029", + "name": "get_defaults", + "summary": "Returns\u0020the\u0020default\u0020value\u0028s\u0029\u0020of\u0020a\u0020specific\u0020Settings\u0020Container.", + "url": "classes/footnotes-includes-Settings.html#method_get_defaults" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Asave_options\u0028\u0029", + "name": "save_options", + "summary": "Updates\u0020a\u0020whole\u0020Setting\u0020Container\u0020on\u0020save.", + "url": "classes/footnotes-includes-Settings.html#method_save_options" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Aget\u0028\u0029", + "name": "get", + "summary": "Returns\u0020the\u0020value\u0020of\u0020specified\u0020Setting.", + "url": "classes/footnotes-includes-Settings.html#method_get" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Aregister_settings\u0028\u0029", + "name": "register_settings", + "summary": "Register\u0020all\u0020Settings\u0020Containers\u0020for\u0020the\u0020plugin\u0020Settings\u0020Page\u0020in\u0020the\u0020Dashboard.", + "url": "classes/footnotes-includes-Settings.html#method_register_settings" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003A\u0024instance", + "name": "instance", + "summary": "Stores\u0020a\u0020singleton\u0020reference\u0020of\u0020this\u0020class.", + "url": "classes/footnotes-includes-Settings.html#property_instance" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Aload_all\u0028\u0029", + "name": "load_all", + "summary": "Loads\u0020all\u0020Settings\u0020from\u0020each\u0020Settings\u0020container.", + "url": "classes/footnotes-includes-Settings.html#method_load_all" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003Aload\u0028\u0029", + "name": "load", + "summary": "Loads\u0020all\u0020settings\u0020from\u0020specified\u0020Settings\u0020Containers.", + "url": "classes/footnotes-includes-Settings.html#method_load" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_NAME", + "name": "REFERENCE_CONTAINER_NAME", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020label\u0020of\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_NAME" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_COLLAPSE", + "name": "REFERENCE_CONTAINER_COLLAPSE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020collapse\u0020the\u0020reference\u0020container\u0020by\u0020default.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_COLLAPSE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_POSITION", + "name": "REFERENCE_CONTAINER_POSITION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020position\u0020of\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_POSITION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ACOMBINE_IDENTICAL_FOOTNOTES", + "name": "COMBINE_IDENTICAL_FOOTNOTES", + "summary": "Settings\u0020container\u0020key\u0020for\u0020combining\u0020identical\u0020footnotes.", + "url": "classes/footnotes-includes-Settings.html#constant_COMBINE_IDENTICAL_FOOTNOTES" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SHORT_CODE_START", + "name": "FOOTNOTES_SHORT_CODE_START", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020short\u0020code\u0020of\u0020the\u0020footnote\u0027s\u0020start.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SHORT_CODE_START" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SHORT_CODE_END", + "name": "FOOTNOTES_SHORT_CODE_END", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020short\u0020code\u0020of\u0020the\u0020footnote\u0027s\u0020end.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SHORT_CODE_END" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SHORT_CODE_START_USER_DEFINED", + "name": "FOOTNOTES_SHORT_CODE_START_USER_DEFINED", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020user\u002Ddefined\u0020short\u0020code\u0020of\u0020the\u0020footnotes\u0020start.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SHORT_CODE_START_USER_DEFINED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SHORT_CODE_END_USER_DEFINED", + "name": "FOOTNOTES_SHORT_CODE_END_USER_DEFINED", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020user\u002Ddefined\u0020short\u0020code\u0020of\u0020the\u0020footnotes\u0020end.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SHORT_CODE_END_USER_DEFINED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_COUNTER_STYLE", + "name": "FOOTNOTES_COUNTER_STYLE", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020counter\u0020style\u0020of\u0020the\u0020footnotes.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_COUNTER_STYLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AHYPERLINK_ARROW", + "name": "HYPERLINK_ARROW", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlink\u0020symbol\u0020selection.", + "url": "classes/footnotes-includes-Settings.html#constant_HYPERLINK_ARROW" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AHYPERLINK_ARROW_USER_DEFINED", + "name": "HYPERLINK_ARROW_USER_DEFINED", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020user\u002Ddefined\u0020backlink\u0020symbol.", + "url": "classes/footnotes-includes-Settings.html#constant_HYPERLINK_ARROW_USER_DEFINED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_IN_EXCERPT", + "name": "FOOTNOTES_IN_EXCERPT", + "summary": "Settings\u0020container\u0020key\u0020to\u0020look\u0020for\u0020footnotes\u0020in\u0020post\u0020excerpts.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_IN_EXCERPT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_STYLING_BEFORE", + "name": "FOOTNOTES_STYLING_BEFORE", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020string\u0020before\u0020the\u0020footnote\u0020referrer.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_STYLING_BEFORE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_STYLING_AFTER", + "name": "FOOTNOTES_STYLING_AFTER", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020string\u0020after\u0020the\u0020footnote\u0020referrer.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_STYLING_AFTER" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ACUSTOM_CSS", + "name": "CUSTOM_CSS", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020Custom\u0020CSS.", + "url": "classes/footnotes-includes-Settings.html#constant_CUSTOM_CSS" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_LOVE", + "name": "FOOTNOTES_LOVE", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020\u2018I\u0020love\u0020footnotes\u2019\u0020text.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_LOVE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_ENABLED", + "name": "FOOTNOTES_MOUSE_OVER_BOX_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020mouse\u002Dover\u0020box.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED", + "name": "FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020tooltip\u0020truncation.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH", + "name": "FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020max.\u0020length\u0020of\nthe\u0020enabled\u0020excerpt.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_THE_TITLE", + "name": "EXPERT_LOOKUP_THE_TITLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0060the_title\u0060\u0020hook.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_THE_TITLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_THE_CONTENT", + "name": "EXPERT_LOOKUP_THE_CONTENT", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0060the_content\u0060\u0020hook.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_THE_CONTENT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_THE_EXCERPT", + "name": "EXPERT_LOOKUP_THE_EXCERPT", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0060the_excerpt\u0060\u0020hook.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_THE_EXCERPT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_WIDGET_TITLE", + "name": "EXPERT_LOOKUP_WIDGET_TITLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0060widget_title\u0060\u0020hook.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_WIDGET_TITLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_WIDGET_TEXT", + "name": "EXPERT_LOOKUP_WIDGET_TEXT", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020\u0060widget_text\u0060\u0020hook.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_WIDGET_TEXT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_EXPERT_MODE", + "name": "FOOTNOTES_EXPERT_MODE", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020Expert\u0020mode.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_EXPERT_MODE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_COLOR", + "name": "FOOTNOTES_MOUSE_OVER_BOX_COLOR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020color.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_COLOR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_BACKGROUND", + "name": "FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020background\u0020color.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH", + "name": "FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020border\u0020width.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR", + "name": "FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020border\u0020color.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS", + "name": "FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020border\u0020radius.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH", + "name": "FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020max.\u0020width.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_POSITION", + "name": "FOOTNOTES_MOUSE_OVER_BOX_POSITION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020position.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_POSITION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_OFFSET_X", + "name": "FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020_x_\u002Doffset.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y", + "name": "FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020_y_\u002Doffset.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR", + "name": "FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020mouse\u002Dover\u0020box\u0020to\u0020define\u0020the\u0020box\u002Dshadow\u0020color.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_TOOLTIP_READON_LABEL", + "name": "FOOTNOTES_TOOLTIP_READON_LABEL", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020label\u0020of\u0020the\u0020Read\u002Don\u0020button\u0020in\u0020truncated\u0020tooltips.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_TOOLTIP_READON_LABEL" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE", + "name": "FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020alternative\u0020tooltips.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_REFERRER_SUPERSCRIPT_TAGS", + "name": "FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020referrer\u0020element.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE", + "name": "REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020display\u0020of\u0020a\u0020backlink\u0020symbol.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_START_PAGE_ENABLE", + "name": "REFERENCE_CONTAINER_START_PAGE_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020not\u0020display\u0020the\u0020reference\u0020container\u0020on\u0020the\u0020homepage.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_START_PAGE_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE", + "name": "REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020legacy\u0020layout\u0020of\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH", + "name": "REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH", + "summary": "Settings\u0020container\u0020key\u0020to\u0020get\u0020the\u0020backlink\u0020symbol\u0020switch\u0020side.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL", + "name": "EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL", + "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0060the_content\u0060\u0020hook\u0020priority\u0020level.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL", + "name": "EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL", + "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0060the_title\u0060\u0020hook\u0020priority\u0020level.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL", + "name": "EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL", + "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0060widget_title\u0060\u0020hook\u0020priority\u0020level.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL", + "name": "EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL", + "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0060widget_text\u0060\u0020hook\u0020priority\u0020level.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AEXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL", + "name": "EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL", + "summary": "Settings\u0020container\u0020key\u0020for\u0020\u0060the_excerpt\u0060\u0020hook\u0020priority\u0020level.", + "url": "classes/footnotes-includes-Settings.html#constant_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ALINK_ELEMENT_ENABLED", + "name": "LINK_ELEMENT_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020link\u0020element\u0020option.", + "url": "classes/footnotes-includes-Settings.html#constant_LINK_ELEMENT_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_SEPARATOR_ENABLED", + "name": "BACKLINKS_SEPARATOR_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020presence\u0020of\u0020a\u0020backlink\u0020separator.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_SEPARATOR_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_SEPARATOR_OPTION", + "name": "BACKLINKS_SEPARATOR_OPTION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlink\u0020separator\u0020options.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_SEPARATOR_OPTION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_SEPARATOR_CUSTOM", + "name": "BACKLINKS_SEPARATOR_CUSTOM", + "summary": "Settings\u0020container\u0020key\u0020for\u0020a\u0020custom\u0020backlink\u0020separator.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_SEPARATOR_CUSTOM" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_TERMINATOR_ENABLED", + "name": "BACKLINKS_TERMINATOR_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020presence\u0020of\u0020a\u0020backlink\u0020terminator.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_TERMINATOR_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_TERMINATOR_OPTION", + "name": "BACKLINKS_TERMINATOR_OPTION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlink\u0020terminator\u0020options.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_TERMINATOR_OPTION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_TERMINATOR_CUSTOM", + "name": "BACKLINKS_TERMINATOR_CUSTOM", + "summary": "Settings\u0020container\u0020key\u0020for\u0020a\u0020custom\u0020backlink\u0020terminator.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_TERMINATOR_CUSTOM" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_COLUMN_WIDTH_ENABLED", + "name": "BACKLINKS_COLUMN_WIDTH_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020backlinks\u0020column\u0020width.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_COLUMN_WIDTH_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_COLUMN_WIDTH_SCALAR", + "name": "BACKLINKS_COLUMN_WIDTH_SCALAR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020width\u0020scalar.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_COLUMN_WIDTH_SCALAR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_COLUMN_WIDTH_UNIT", + "name": "BACKLINKS_COLUMN_WIDTH_UNIT", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020width\u0020unit.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_COLUMN_WIDTH_UNIT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_COLUMN_MAX_WIDTH_ENABLED", + "name": "BACKLINKS_COLUMN_MAX_WIDTH_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020a\u0020max\u0020width\u0020for\u0020the\u0020backlinks\u0020column.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_COLUMN_MAX_WIDTH_SCALAR", + "name": "BACKLINKS_COLUMN_MAX_WIDTH_SCALAR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020max\u0020width\u0020scalar.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_COLUMN_MAX_WIDTH_SCALAR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_COLUMN_MAX_WIDTH_UNIT", + "name": "BACKLINKS_COLUMN_MAX_WIDTH_UNIT", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020backlinks\u0020column\u0020max\u0020width\u0020unit.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_COLUMN_MAX_WIDTH_UNIT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ABACKLINKS_LINE_BREAKS_ENABLED", + "name": "BACKLINKS_LINE_BREAKS_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020line\u0020breaks\u0020between\u0020backlinks.", + "url": "classes/footnotes-includes-Settings.html#constant_BACKLINKS_LINE_BREAKS_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FONT_SIZE_ENABLED", + "name": "MOUSE_OVER_BOX_FONT_SIZE_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020setting\u0020the\u0020tooltip\u0020font\u0020size.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FONT_SIZE_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FONT_SIZE_SCALAR", + "name": "MOUSE_OVER_BOX_FONT_SIZE_SCALAR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020scalar\u0020value\u0020of\u0020the\u0020tooltip\u0020font\u0020size.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FONT_SIZE_SCALAR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FONT_SIZE_UNIT", + "name": "MOUSE_OVER_BOX_FONT_SIZE_UNIT", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020unit\u0020of\u0020the\u0020tooltip\u0020font\u0020size.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FONT_SIZE_UNIT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_PAGE_LAYOUT_SUPPORT", + "name": "FOOTNOTES_PAGE_LAYOUT_SUPPORT", + "summary": "Settings\u0020container\u0020key\u0020for\u0020basic\u0020responsive\u0020page\u0020layout\u0020support\u0020options.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_PAGE_LAYOUT_SUPPORT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SCROLL_OFFSET", + "name": "FOOTNOTES_SCROLL_OFFSET", + "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020offset.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SCROLL_OFFSET" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SCROLL_DURATION", + "name": "FOOTNOTES_SCROLL_DURATION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020duration.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SCROLL_DURATION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FADE_IN_DELAY", + "name": "MOUSE_OVER_BOX_FADE_IN_DELAY", + "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Din\u0020delay.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FADE_IN_DELAY" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FADE_IN_DURATION", + "name": "MOUSE_OVER_BOX_FADE_IN_DURATION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Din\u0020duration.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FADE_IN_DURATION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FADE_OUT_DELAY", + "name": "MOUSE_OVER_BOX_FADE_OUT_DELAY", + "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Dout\u0020delay.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FADE_OUT_DELAY" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AMOUSE_OVER_BOX_FADE_OUT_DURATION", + "name": "MOUSE_OVER_BOX_FADE_OUT_DURATION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020tooltip\u0020display\u0020fade\u002Dout\u0020duration.", + "url": "classes/footnotes-includes-Settings.html#constant_MOUSE_OVER_BOX_FADE_OUT_DURATION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTE_URL_WRAP_ENABLED", + "name": "FOOTNOTE_URL_WRAP_ENABLED", + "summary": "Settings\u0020container\u0020key\u0020for\u0020URL\u0020wrap\u0020option.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTE_URL_WRAP_ENABLED" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_POSITION_SHORTCODE", + "name": "REFERENCE_CONTAINER_POSITION_SHORTCODE", + "summary": "Settings\u0020container\u0020key\u0020for\u0020reference\u0020container\u0020position\u0020shortcode.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_POSITION_SHORTCODE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ACUSTOM_CSS_NEW", + "name": "CUSTOM_CSS_NEW", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020Custom\u0020CSS\u0020migrated\u0020to\u0020a\u0020dedicated\u0020tab.", + "url": "classes/footnotes-includes-Settings.html#constant_CUSTOM_CSS_NEW" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003ACUSTOM_CSS_LEGACY_ENABLE", + "name": "CUSTOM_CSS_LEGACY_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020display\u0020of\u0020legacy\u0020Custom\u0020CSS\u0020metaboxes.", + "url": "classes/footnotes-includes-Settings.html#constant_CUSTOM_CSS_LEGACY_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION", + "name": "FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020position.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X", + "name": "FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X", + "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020_x_\u002Doffset.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y", + "name": "FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y", + "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020_y_\u002Doffset.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH", + "name": "FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH", + "summary": "Settings\u0020container\u0020key\u0020for\u0020alternative\u0020tooltip\u0020width.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_LABEL_ELEMENT", + "name": "REFERENCE_CONTAINER_LABEL_ELEMENT", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020reference\u0020container\u0020label\u0020element.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_LABEL_ELEMENT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_LABEL_BOTTOM_BORDER", + "name": "REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020the\u0020reference\u0020container\u0020label\u0020bottom\u0020border.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_ROW_BORDERS_ENABLE", + "name": "REFERENCE_CONTAINER_ROW_BORDERS_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020reference\u0020container\u0020table\u0020row\u0020borders.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_TOP_MARGIN", + "name": "REFERENCE_CONTAINER_TOP_MARGIN", + "summary": "Settings\u0020container\u0020key\u0020for\u0020reference\u0020container\u0020top\u0020margin.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_TOP_MARGIN" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERENCE_CONTAINER_BOTTOM_MARGIN", + "name": "REFERENCE_CONTAINER_BOTTOM_MARGIN", + "summary": "Settings\u0020container\u0020key\u0020for\u0020reference\u0020container\u0020bottom\u0020margin.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERENCE_CONTAINER_BOTTOM_MARGIN" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_HARD_LINKS_ENABLE", + "name": "FOOTNOTES_HARD_LINKS_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020hard\u0020links.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_HARD_LINKS_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AREFERRER_FRAGMENT_ID_SLUG", + "name": "REFERRER_FRAGMENT_ID_SLUG", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020fragment\u0020ID\u0020slug\u0020in\u0020referrers.", + "url": "classes/footnotes-includes-Settings.html#constant_REFERRER_FRAGMENT_ID_SLUG" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTE_FRAGMENT_ID_SLUG", + "name": "FOOTNOTE_FRAGMENT_ID_SLUG", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020fragment\u0020ID\u0020slug\u0020in\u0020footnotes.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTE_FRAGMENT_ID_SLUG" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AHARD_LINK_IDS_SEPARATOR", + "name": "HARD_LINK_IDS_SEPARATOR", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020ID\u0020separator\u0020in\u0020fragment\u0020IDs.", + "url": "classes/footnotes-includes-Settings.html#constant_HARD_LINK_IDS_SEPARATOR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE", + "name": "FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020shortcode\u0020syntax\u0020validation.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_BACKLINK_TOOLTIP_ENABLE", + "name": "FOOTNOTES_BACKLINK_TOOLTIP_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020backlink\u0020tooltips.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_BACKLINK_TOOLTIP_TEXT", + "name": "FOOTNOTES_BACKLINK_TOOLTIP_TEXT", + "summary": "Settings\u0020container\u0020key\u0020to\u0020configure\u0020the\u0020backlink\u0020tooltip.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_BACKLINK_TOOLTIP_TEXT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_TOOLTIP_EXCERPT_DELIMITER", + "name": "FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER", + "summary": "Settings\u0020container\u0020key\u0020to\u0020configure\u0020the\u0020tooltip\u0020excerpt\u0020delimiter.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE", + "name": "FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020mirroring\u0020the\u0020tooltip\u0020excerpt\u0020in\u0020the\nreference\u0020container.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR", + "name": "FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR", + "summary": "Settings\u0020container\u0020key\u0020to\u0020configure\u0020the\u0020tooltip\u0020excerpt\u0020separator\u0020in\u0020the\nreference\u0020container.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT", + "name": "FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020superscript\u0020style\u0020normalization.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE", + "name": "FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020select\u0020the\u0020script\u0020mode\u0020for\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_AMP_COMPATIBILITY_ENABLE", + "name": "FOOTNOTES_AMP_COMPATIBILITY_ENABLE", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020AMP\u0020compatibility\u0020mode.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_AMP_COMPATIBILITY_ENABLE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SCROLL_DURATION_ASYMMETRICITY", + "name": "FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY", + "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u0020duration\u0020asymmetricity.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SCROLL_DOWN_DURATION", + "name": "FOOTNOTES_SCROLL_DOWN_DURATION", + "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u002Ddown\u0020duration.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SCROLL_DOWN_DURATION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SCROLL_DOWN_DELAY", + "name": "FOOTNOTES_SCROLL_DOWN_DELAY", + "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u002Ddown\u0020delay.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SCROLL_DOWN_DELAY" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_SCROLL_UP_DELAY", + "name": "FOOTNOTES_SCROLL_UP_DELAY", + "summary": "Settings\u0020container\u0020key\u0020for\u0020scroll\u002Dup\u0020delay.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_SCROLL_UP_DELAY" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_LABEL_ISSUE_SOLUTION", + "name": "FOOTNOTES_LABEL_ISSUE_SOLUTION", + "summary": "Settings\u0020container\u0020key\u0020to\u0020set\u0020the\u0020solution\u0020of\u0020the\u0020input\u0020element\u0020label\u0020issue.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_LABEL_ISSUE_SOLUTION" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTES_CSS_SMOOTH_SCROLLING", + "name": "FOOTNOTES_CSS_SMOOTH_SCROLLING", + "summary": "Settings\u0020container\u0020key\u0020to\u0020enable\u0020CSS\u0020smooth\u0020scrolling.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTES_CSS_SMOOTH_SCROLLING" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003AFOOTNOTE_SECTION_SHORTCODE", + "name": "FOOTNOTE_SECTION_SHORTCODE", + "summary": "Settings\u0020container\u0020key\u0020for\u0020the\u0020footnote\u0020section\u0020shortcode.", + "url": "classes/footnotes-includes-Settings.html#constant_FOOTNOTE_SECTION_SHORTCODE" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003A\u0024container", + "name": "container", + "summary": "Contains\u0020all\u0020Settings\u0020Container\u0020names.", + "url": "classes/footnotes-includes-Settings.html#property_container" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003A\u0024default", + "name": "default", + "summary": "Contains\u0020all\u0020default\u0020values\u0020for\u0020each\u0020Settings\u0020Container.", + "url": "classes/footnotes-includes-Settings.html#property_default" + }, { + "fqsen": "\\footnotes\\includes\\Settings\u003A\u003A\u0024settings", + "name": "settings", + "summary": "Contains\u0020all\u0020Settings\u0020from\u0020each\u0020Settings\u0020Container.", + "url": "classes/footnotes-includes-Settings.html#property_settings" + }, { + "fqsen": "\\footnotes\\includes\\Template", + "name": "Template", + "summary": "Class\u0020defining\u0020template\u0020rendering.", + "url": "classes/footnotes-includes-Template.html" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Class\u0020Constructor.\u0020Reads\u0020and\u0020loads\u0020the\u0020template\u0020file\u0020without\u0020replace\u0020any\u0020placeholder.", + "url": "classes/footnotes-includes-Template.html#method___construct" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003Areplace\u0028\u0029", + "name": "replace", + "summary": "Replace\u0020all\u0020placeholders\u0020specified\u0020in\u0020array.", + "url": "classes/footnotes-includes-Template.html#method_replace" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003Areload\u0028\u0029", + "name": "reload", + "summary": "Reloads\u0020the\u0020original\u0020content\u0020of\u0020the\u0020template\u0020file.", + "url": "classes/footnotes-includes-Template.html#method_reload" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003Aget_content\u0028\u0029", + "name": "get_content", + "summary": "Returns\u0020the\u0020content\u0020of\u0020the\u0020template\u0020file\u0020with\u0020replaced\u0020placeholders.", + "url": "classes/footnotes-includes-Template.html#method_get_content" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003Aprocess_template\u0028\u0029", + "name": "process_template", + "summary": "Process\u0020template\u0020file.", + "url": "classes/footnotes-includes-Template.html#method_process_template" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003Aget_template\u0028\u0029", + "name": "get_template", + "summary": "Get\u0020the\u0020template.", + "url": "classes/footnotes-includes-Template.html#method_get_template" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003ADASHBOARD", + "name": "DASHBOARD", + "summary": "Directory\u0020name\u0020for\u0020dashboard\u0020partials.", + "url": "classes/footnotes-includes-Template.html#constant_DASHBOARD" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003APUBLIC", + "name": "PUBLIC", + "summary": "Directory\u0020name\u0020for\u0020public\u0020partials.", + "url": "classes/footnotes-includes-Template.html#constant_PUBLIC" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003A\u0024plugin_directory", + "name": "plugin_directory", + "summary": "Plugin\u0020Directory", + "url": "classes/footnotes-includes-Template.html#property_plugin_directory" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003A\u0024original_content", + "name": "original_content", + "summary": "Contains\u0020the\u0020content\u0020of\u0020the\u0020template\u0020after\u0020initialize.", + "url": "classes/footnotes-includes-Template.html#property_original_content" + }, { + "fqsen": "\\footnotes\\includes\\Template\u003A\u003A\u0024replaced_content", + "name": "replaced_content", + "summary": "Contains\u0020the\u0020content\u0020of\u0020the\u0020template\u0020after\u0020initialize\u0020with\u0020replaced\u0020place\u0020holders.", + "url": "classes/footnotes-includes-Template.html#property_replaced_content" + }, { + "fqsen": "\\footnotes\\general\\General", + "name": "General", + "summary": "Class\u0020provide\u0020all\u0020public\u002Dfacing\u0020functionality\u0020of\u0020the\u0020plugin.", + "url": "classes/footnotes-general-General.html" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Initialize\u0020the\u0020class\u0020and\u0020set\u0020its\u0020properties.", + "url": "classes/footnotes-general-General.html#method___construct" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003Aload_dependencies\u0028\u0029", + "name": "load_dependencies", + "summary": "Load\u0020the\u0020required\u0020public\u002Dfacing\u0020dependencies.", + "url": "classes/footnotes-general-General.html#method_load_dependencies" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003Aenqueue_styles\u0028\u0029", + "name": "enqueue_styles", + "summary": "Register\u0020the\u0020stylesheets\u0020for\u0020the\u0020public\u002Dfacing\u0020side\u0020of\u0020the\u0020site.", + "url": "classes/footnotes-general-General.html#method_enqueue_styles" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003Aenqueue_scripts\u0028\u0029", + "name": "enqueue_scripts", + "summary": "Register\u0020the\u0020JavaScript\u0020for\u0020the\u0020public\u002Dfacing\u0020side\u0020of\u0020the\u0020site.", + "url": "classes/footnotes-general-General.html#method_enqueue_scripts" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003Aregister_widgets\u0028\u0029", + "name": "register_widgets", + "summary": "Register\u0020the\u0020widget\u0028s\u0029\u0020for\u0020the\u0020public\u002Dfacing\u0020side\u0020of\u0020the\u0020site.", + "url": "classes/footnotes-general-General.html#method_register_widgets" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024plugin_name", + "name": "plugin_name", + "summary": "The\u0020ID\u0020of\u0020this\u0020plugin.", + "url": "classes/footnotes-general-General.html#property_plugin_name" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024version", + "name": "version", + "summary": "The\u0020version\u0020of\u0020this\u0020plugin.", + "url": "classes/footnotes-general-General.html#property_version" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024reference_container_widget", + "name": "reference_container_widget", + "summary": "The\u0020reference\u0020container\u0020widget.", + "url": "classes/footnotes-general-General.html#property_reference_container_widget" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024task", + "name": "task", + "summary": "The\u0020footnote\u0020parser.", + "url": "classes/footnotes-general-General.html#property_task" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024tooltips_enabled", + "name": "tooltips_enabled", + "summary": "Flag\u0020for\u0020using\u0020tooltips.", + "url": "classes/footnotes-general-General.html#property_tooltips_enabled" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024alternative_tooltips_enabled", + "name": "alternative_tooltips_enabled", + "summary": "Allows\u0020to\u0020determine\u0020whether\u0020alternative\u0020tooltips\u0020are\u0020enabled.", + "url": "classes/footnotes-general-General.html#property_alternative_tooltips_enabled" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024amp_enabled", + "name": "amp_enabled", + "summary": "Allows\u0020to\u0020determine\u0020whether\u0020AMP\u0020compatibility\u0020mode\u0020is\u0020enabled.", + "url": "classes/footnotes-general-General.html#property_amp_enabled" + }, { + "fqsen": "\\footnotes\\general\\General\u003A\u003A\u0024script_mode", + "name": "script_mode", + "summary": "Allows\u0020to\u0020determine\u0020the\u0020script\u0020mode\u0020among\u0020jQuery\u0020or\u0020plain\u0020JS.", + "url": "classes/footnotes-general-General.html#property_script_mode" + }, { + "fqsen": "\\footnotes\\general\\Parser", + "name": "Parser", + "summary": "Searches\u0020and\u0020replaces\u0020the\u0020footnotes\u0020and\u0020generates\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-general-Parser.html" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Initialize\u0020the\u0020class\u0020and\u0020set\u0020its\u0020properties.", + "url": "classes/footnotes-general-Parser.html#method___construct" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Aregister_hooks\u0028\u0029", + "name": "register_hooks", + "summary": "Register\u0020WordPress\u0020hooks\u0020to\u0020replace\u0020Footnotes\u0020in\u0020the\u0020content\u0020of\u0020a\u0020public\u0020page.", + "url": "classes/footnotes-general-Parser.html#method_register_hooks" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_output_head\u0028\u0029", + "name": "footnotes_output_head", + "summary": "Outputs\u0020the\u0020custom\u0020css\u0020to\u0020the\u0020header\u0020of\u0020the\u0020public\u0020page.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_output_head" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_output_footer\u0028\u0029", + "name": "footnotes_output_footer", + "summary": "Displays\u0020the\u0020\u0027LOVE\u0020FOOTNOTES\u0027\u0020slug\u0020if\u0020enabled.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_output_footer" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_in_title\u0028\u0029", + "name": "footnotes_in_title", + "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020post\/page\u0020title.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_in_title" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_in_content\u0028\u0029", + "name": "footnotes_in_content", + "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020content\u0020of\u0020the\u0020current\u0020page\/post.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_in_content" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_in_excerpt\u0028\u0029", + "name": "footnotes_in_excerpt", + "summary": "Processes\u0020existing\u0020excerpt\u0020or\u0020replaces\u0020it\u0020with\u0020a\u0020new\u0020one\u0020generated\u0020on\u0020the\u0020basis\u0020of\u0020the\u0020post.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_in_excerpt" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Agenerate_excerpt\u0028\u0029", + "name": "generate_excerpt", + "summary": "Generates\u0020excerpt\u0020on\u0020the\u0020basis\u0020of\u0020the\u0020post.", + "url": "classes/footnotes-general-Parser.html#method_generate_excerpt" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Agenerate_excerpt_with_footnotes\u0028\u0029", + "name": "generate_excerpt_with_footnotes", + "summary": "Generates\u0020excerpt\u0020with\u0020footnotes\u0020on\u0020the\u0020basis\u0020of\u0020the\u0020post.", + "url": "classes/footnotes-general-Parser.html#method_generate_excerpt_with_footnotes" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_in_widget_title\u0028\u0029", + "name": "footnotes_in_widget_title", + "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020widget\u0020title.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_in_widget_title" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Afootnotes_in_widget_text\u0028\u0029", + "name": "footnotes_in_widget_text", + "summary": "Replaces\u0020footnotes\u0020in\u0020the\u0020content\u0020of\u0020the\u0020current\u0020widget.", + "url": "classes/footnotes-general-Parser.html#method_footnotes_in_widget_text" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Aexec\u0028\u0029", + "name": "exec", + "summary": "Replaces\u0020all\u0020footnotes\u0020that\u0020occur\u0020in\u0020the\u0020given\u0020content.", + "url": "classes/footnotes-general-Parser.html#method_exec" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Aunify_delimiters\u0028\u0029", + "name": "unify_delimiters", + "summary": "Brings\u0020the\u0020delimiters\u0020and\u0020unifies\u0020their\u0020various\u0020HTML\u0020escapement\u0020schemas.", + "url": "classes/footnotes-general-Parser.html#method_unify_delimiters" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Asearch\u0028\u0029", + "name": "search", + "summary": "Replaces\u0020all\u0020footnotes\u0020in\u0020the\u0020given\u0020content\u0020and\u0020appends\u0020them\u0020to\u0020the\u0020static\u0020property.", + "url": "classes/footnotes-general-Parser.html#method_search" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003Areference_container\u0028\u0029", + "name": "reference_container", + "summary": "Generates\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-general-Parser.html#method_reference_container" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024footnotes", + "name": "footnotes", + "summary": "Contains\u0020all\u0020footnotes\u0020found\u0020in\u0020the\u0020searched\u0020content.", + "url": "classes/footnotes-general-Parser.html#property_footnotes" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024allow_love_me", + "name": "allow_love_me", + "summary": "Flag\u0020if\u0020the\u0020display\u0020of\u0020\u0027LOVE\u0020FOOTNOTES\u0027\u0020is\u0020allowed\u0020on\u0020the\u0020current\u0020public\u0020page.", + "url": "classes/footnotes-general-Parser.html#property_allow_love_me" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024prefix", + "name": "prefix", + "summary": "Prefix\u0020for\u0020the\u0020Footnote\u0020html\u0020element\u0020ID.", + "url": "classes/footnotes-general-Parser.html#property_prefix" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024post_id", + "name": "post_id", + "summary": "Autoload\u0020a.k.a.\u0020infinite\u0020scroll,\u0020or\u0020archive\u0020view.", + "url": "classes/footnotes-general-Parser.html#property_post_id" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024reference_container_id", + "name": "reference_container_id", + "summary": "Multiple\u0020reference\u0020containers\u0020in\u0020content\u0020and\u0020widgets.", + "url": "classes/footnotes-general-Parser.html#property_reference_container_id" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024hard_links_enabled", + "name": "hard_links_enabled", + "summary": "Hard\u0020links\u0020for\u0020AMP\u0020compatibility.", + "url": "classes/footnotes-general-Parser.html#property_hard_links_enabled" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024referrer_link_slug", + "name": "referrer_link_slug", + "summary": "The\u0020referrer\u0020slug.", + "url": "classes/footnotes-general-Parser.html#property_referrer_link_slug" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024footnote_link_slug", + "name": "footnote_link_slug", + "summary": "The\u0020footnote\u0020slug.", + "url": "classes/footnotes-general-Parser.html#property_footnote_link_slug" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024link_ids_separator", + "name": "link_ids_separator", + "summary": "The\u0020slug\u0020and\u0020identifier\u0020separator.", + "url": "classes/footnotes-general-Parser.html#property_link_ids_separator" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024post_container_id_compound", + "name": "post_container_id_compound", + "summary": "Contains\u0020the\u0020concatenated\u0020fragment\u0020ID\u0020base.", + "url": "classes/footnotes-general-Parser.html#property_post_container_id_compound" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024scroll_offset", + "name": "scroll_offset", + "summary": "Scroll\u0020offset.", + "url": "classes/footnotes-general-Parser.html#property_scroll_offset" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024link_span", + "name": "link_span", + "summary": "The\u0020span\u0020element\u0020name.", + "url": "classes/footnotes-general-Parser.html#property_link_span" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024link_open_tag", + "name": "link_open_tag", + "summary": "The\u0020opening\u0020tag.", + "url": "classes/footnotes-general-Parser.html#property_link_open_tag" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024link_close_tag", + "name": "link_close_tag", + "summary": "The\u0020closing\u0020tag.", + "url": "classes/footnotes-general-Parser.html#property_link_close_tag" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024tooltip_shortcode", + "name": "tooltip_shortcode", + "summary": "The\u0020tooltip\u0020delimiter\u0020shortcode.", + "url": "classes/footnotes-general-Parser.html#property_tooltip_shortcode" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024tooltip_shortcode_length", + "name": "tooltip_shortcode_length", + "summary": "The\u0020tooltip\u0020delimiter\u0020shortcode\u0020length.", + "url": "classes/footnotes-general-Parser.html#property_tooltip_shortcode_length" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024mirror_tooltip_text", + "name": "mirror_tooltip_text", + "summary": "Whether\u0020to\u0020mirror\u0020the\u0020tooltip\u0020text\u0020in\u0020the\u0020reference\u0020container.", + "url": "classes/footnotes-general-Parser.html#property_mirror_tooltip_text" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024start_tag", + "name": "start_tag", + "summary": "Footnote\u0020delimiter\u0020start\u0020short\u0020code.", + "url": "classes/footnotes-general-Parser.html#property_start_tag" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024end_tag", + "name": "end_tag", + "summary": "Footnote\u0020delimiter\u0020end\u0020short\u0020code.", + "url": "classes/footnotes-general-Parser.html#property_end_tag" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024start_tag_regex", + "name": "start_tag_regex", + "summary": "Footnote\u0020delimiter\u0020start\u0020short\u0020code\u0020in\u0020RegEx\u0020format.", + "url": "classes/footnotes-general-Parser.html#property_start_tag_regex" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024end_tag_regex", + "name": "end_tag_regex", + "summary": "Footnote\u0020delimiter\u0020end\u0020short\u0020code\u0020in\u0020RegEx\u0020format.", + "url": "classes/footnotes-general-Parser.html#property_end_tag_regex" + }, { + "fqsen": "\\footnotes\\general\\Parser\u003A\u003A\u0024syntax_error_flag", + "name": "syntax_error_flag", + "summary": "Footnote\u0020delimiter\u0020syntax\u0020validation\u0020enabled.", + "url": "classes/footnotes-general-Parser.html#property_syntax_error_flag" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Base", + "name": "Base", + "summary": "Base\u0020class\u0020to\u0020be\u0020extended\u0020by\u0020all\u0020widget\u0020sub\u002Dclasses.", + "url": "classes/footnotes-general-Widget-Base.html" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Base\u003A\u003Aget_id\u0028\u0029", + "name": "get_id", + "summary": "Returns\u0020an\u0020unique\u0020ID\u0020as\u0020string\u0020used\u0020for\u0020the\u0020Widget\u0020Base\u0020ID.", + "url": "classes/footnotes-general-Widget-Base.html#method_get_id" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Base\u003A\u003Aget_name\u0028\u0029", + "name": "get_name", + "summary": "Returns\u0020the\u0020Public\u0020name\u0020of\u0020child\u0020Widget\u0020to\u0020be\u0020displayed\u0020in\u0020the\u0020Configuration\u0020page.", + "url": "classes/footnotes-general-Widget-Base.html#method_get_name" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Base\u003A\u003Aget_description\u0028\u0029", + "name": "get_description", + "summary": "Returns\u0020the\u0020Description\u0020of\u0020the\u0020child\u0020widget.", + "url": "classes/footnotes-general-Widget-Base.html#method_get_description" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Base\u003A\u003Aget_widget_width\u0028\u0029", + "name": "get_widget_width", + "summary": "Returns\u0020the\u0020width\u0020of\u0020the\u0020Widget.\u0020Default\u0020width\u0020is\u0020250\u0020pixel.", + "url": "classes/footnotes-general-Widget-Base.html#method_get_widget_width" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Base\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Registers\u0020the\u0020child\u0020Widget\u0020to\u0020WordPress.", + "url": "classes/footnotes-general-Widget-Base.html#method___construct" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container", + "name": "Reference_Container", + "summary": "Registers\u0020a\u0020Widget\u0020to\u0020put\u0020the\u0020Reference\u0020Container\u0020to\u0020the\u0020widget\u0020area.", + "url": "classes/footnotes-general-Widget-Reference-Container.html" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003A__construct\u0028\u0029", + "name": "__construct", + "summary": "Initialize\u0020the\u0020class\u0020and\u0020set\u0020its\u0020properties.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#method___construct" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003Aget_id\u0028\u0029", + "name": "get_id", + "summary": "Returns\u0020an\u0020unique\u0020ID\u0020as\u0020string\u0020used\u0020for\u0020the\u0020Widget\u0020Base\u0020ID.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#method_get_id" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003Aget_name\u0028\u0029", + "name": "get_name", + "summary": "Returns\u0020the\u0020Public\u0020name\u0020of\u0020the\u0020Widget\u0020to\u0020be\u0020displayed\u0020in\u0020the\u0020Configuration\u0020page.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#method_get_name" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003Aget_description\u0028\u0029", + "name": "get_description", + "summary": "Returns\u0020the\u0020Description\u0020of\u0020the\u0020child\u0020widget.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#method_get_description" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003Aform\u0028\u0029", + "name": "form", + "summary": "Outputs\u0020the\u0020Settings\u0020of\u0020the\u0020Widget.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#method_form" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003Awidget\u0028\u0029", + "name": "widget", + "summary": "Outputs\u0020the\u0020Content\u0020of\u0020the\u0020Widget.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#method_widget" + }, { + "fqsen": "\\footnotes\\general\\Widget\\Reference_Container\u003A\u003A\u0024plugin_name", + "name": "plugin_name", + "summary": "The\u0020ID\u0020of\u0020this\u0020plugin.", + "url": "classes/footnotes-general-Widget-Reference-Container.html#property_plugin_name" }, { "fqsen": "\\", "name": "\\", "summary": "", "url": "namespaces/default.html" + }, { + "fqsen": "\\footnotes\\admin", + "name": "admin", + "summary": "", + "url": "namespaces/footnotes-admin.html" + }, { + "fqsen": "\\footnotes\\admin\\layout", + "name": "layout", + "summary": "", + "url": "namespaces/footnotes-admin-layout.html" + }, { + "fqsen": "\\footnotes", + "name": "footnotes", + "summary": "", + "url": "namespaces/footnotes.html" + }, { + "fqsen": "\\footnotes\\includes", + "name": "includes", + "summary": "", + "url": "namespaces/footnotes-includes.html" + }, { + "fqsen": "\\footnotes\\general", + "name": "general", + "summary": "", + "url": "namespaces/footnotes-general.html" + }, { + "fqsen": "\\footnotes\\general\\Widget", + "name": "Widget", + "summary": "", + "url": "namespaces/footnotes-general-widget.html" } ] ); diff --git a/docs/namespaces/default.html b/docs/namespaces/default.html index 5a99626..e6f87d2 100644 --- a/docs/namespaces/default.html +++ b/docs/namespaces/default.html @@ -51,9 +51,22 @@

                                                                                                                                                          Namespaces

                                                                                                                                                          -

                                                                                                                                                          Global

                                                                                                                                                          -
                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Packages

                                                                                                                                                          +

                                                                                                                                                          Default

                                                                                                                                                          +

                                                                                                                                                          footnotes

                                                                                                                                                          + +

                                                                                                                                                          Reports

                                                                                                                                                          @@ -76,130 +89,21 @@

                                                                                                                                                          API Documentation

                                                                                                                                                          - -

                                                                                                                                                          - Interfaces, Classes and Traits - +

                                                                                                                                                          + Namespaces +

                                                                                                                                                          - -
                                                                                                                                                          Footnotes_Config
                                                                                                                                                          -
                                                                                                                                                          Contains all Plugin Constants. Contains no Method or Property.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Convert
                                                                                                                                                          -
                                                                                                                                                          Converts data types and Footnotes specific values.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Layout_Init
                                                                                                                                                          -
                                                                                                                                                          Handles the Settings interface of the Plugin.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Layout_Engine
                                                                                                                                                          -
                                                                                                                                                          Layout Engine for the administration dashboard.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Layout_Settings
                                                                                                                                                          -
                                                                                                                                                          Displays and handles all Settings of the Plugin.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Hooks
                                                                                                                                                          -
                                                                                                                                                          Registers all WordPress hooks and executes them on demand.
                                                                                                                                                          -
                                                                                                                                                          Footnotes
                                                                                                                                                          -
                                                                                                                                                          Provides an entry point to the Plugin.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Language
                                                                                                                                                          -
                                                                                                                                                          Loads text domain of current or default language for localization.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Settings
                                                                                                                                                          -
                                                                                                                                                          Loads the settings values, sets to default values if undefined.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Task
                                                                                                                                                          -
                                                                                                                                                          Searches and replaces the footnotes and generates the reference container.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Template
                                                                                                                                                          -
                                                                                                                                                          Handles each Template file for the Plugin Frontend (e.g. Settings Dashboard, Public pages, ...).
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Widget_Base
                                                                                                                                                          -
                                                                                                                                                          Base Class for all Plugin Widgets. Registers each Widget to WordPress.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_Widget_Reference_Container
                                                                                                                                                          -
                                                                                                                                                          Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                          -
                                                                                                                                                          Footnotes_WYSIWYG
                                                                                                                                                          -
                                                                                                                                                          Handles the WSYIWYG-Buttons.
                                                                                                                                                          - +
                                                                                                                                                          footnotes
                                                                                                                                                          -

                                                                                                                                                          - Table of Contents - -

                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - mci_footnotes_require_php_files() - -  : mixed -
                                                                                                                                                          -
                                                                                                                                                          Requires (`require_once`) all `*.php` files inside a specific Directory.
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          -

                                                                                                                                                          - Functions - -

                                                                                                                                                          -
                                                                                                                                                          -

                                                                                                                                                          - mci_footnotes_require_php_files() - -

                                                                                                                                                          - - -

                                                                                                                                                          Requires (`require_once`) all `*.php` files inside a specific Directory.

                                                                                                                                                          - - - - mci_footnotes_require_php_files(string $p_str_directory) : mixed - -
                                                                                                                                                          - -
                                                                                                                                                          Parameters
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - $p_str_directory - : string -
                                                                                                                                                          -
                                                                                                                                                          -

                                                                                                                                                          Absolute Directory path to lookup for *.php files.

                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - - -
                                                                                                                                                          - Tags - -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - author -
                                                                                                                                                          -
                                                                                                                                                          - -

                                                                                                                                                          Stefan Herndler

                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - since -
                                                                                                                                                          -
                                                                                                                                                          - 1.5.0 - -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - - -
                                                                                                                                                          -
                                                                                                                                                          - +
                                                                                                                                                          diff --git a/docs/namespaces/footnotes-admin-layout.html b/docs/namespaces/footnotes-admin-layout.html new file mode 100644 index 0000000..e351165 --- /dev/null +++ b/docs/namespaces/footnotes-admin-layout.html @@ -0,0 +1,138 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                          +

                                                                                                                                                          Documentation

                                                                                                                                                          + + + + + +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + + + + +
                                                                                                                                                          + + +
                                                                                                                                                          +

                                                                                                                                                          layout

                                                                                                                                                          + + + +

                                                                                                                                                          + Interfaces, Classes and Traits + +

                                                                                                                                                          + +
                                                                                                                                                          + +
                                                                                                                                                          Engine
                                                                                                                                                          +
                                                                                                                                                          Class to be extended by page layout sub-classes.
                                                                                                                                                          +
                                                                                                                                                          Init
                                                                                                                                                          +
                                                                                                                                                          Class to initialise all defined page layouts.
                                                                                                                                                          +
                                                                                                                                                          Settings
                                                                                                                                                          +
                                                                                                                                                          Class to initialise all defined page layouts.
                                                                                                                                                          + +
                                                                                                                                                          + + + + + + +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Search results

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + + +
                                                                                                                                                            + + + + diff --git a/docs/namespaces/footnotes-admin.html b/docs/namespaces/footnotes-admin.html new file mode 100644 index 0000000..bee8232 --- /dev/null +++ b/docs/namespaces/footnotes-admin.html @@ -0,0 +1,143 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                            +

                                                                                                                                                            Documentation

                                                                                                                                                            + + + + + +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            + + + + +
                                                                                                                                                            + + +
                                                                                                                                                            +

                                                                                                                                                            admin

                                                                                                                                                            + + +

                                                                                                                                                            + Namespaces + +

                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            layout
                                                                                                                                                            +
                                                                                                                                                            + +

                                                                                                                                                            + Interfaces, Classes and Traits + +

                                                                                                                                                            + +
                                                                                                                                                            + +
                                                                                                                                                            Admin
                                                                                                                                                            +
                                                                                                                                                            Class provide all admin-specific functionality of the plugin.
                                                                                                                                                            +
                                                                                                                                                            WYSIWYG
                                                                                                                                                            +
                                                                                                                                                            Class providing WYSIWYG editor intergration for the plugin.
                                                                                                                                                            + +
                                                                                                                                                            + + + + + + +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +

                                                                                                                                                            Search results

                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + + +
                                                                                                                                                              + + + + diff --git a/docs/namespaces/footnotes-general-widget.html b/docs/namespaces/footnotes-general-widget.html new file mode 100644 index 0000000..f6b53c9 --- /dev/null +++ b/docs/namespaces/footnotes-general-widget.html @@ -0,0 +1,136 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                              +

                                                                                                                                                              Documentation

                                                                                                                                                              + + + + + +
                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              + + + + +
                                                                                                                                                              + + +
                                                                                                                                                              +

                                                                                                                                                              Widget

                                                                                                                                                              + + + +

                                                                                                                                                              + Interfaces, Classes and Traits + +

                                                                                                                                                              + +
                                                                                                                                                              + +
                                                                                                                                                              Base
                                                                                                                                                              +
                                                                                                                                                              Base class to be extended by all widget sub-classes.
                                                                                                                                                              +
                                                                                                                                                              Reference_Container
                                                                                                                                                              +
                                                                                                                                                              Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                              + +
                                                                                                                                                              + + + + + + +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +

                                                                                                                                                              Search results

                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                + + +
                                                                                                                                                                + + + + diff --git a/docs/namespaces/footnotes-general.html b/docs/namespaces/footnotes-general.html new file mode 100644 index 0000000..7f30f97 --- /dev/null +++ b/docs/namespaces/footnotes-general.html @@ -0,0 +1,143 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                +

                                                                                                                                                                Documentation

                                                                                                                                                                + + + + + +
                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                + + + + +
                                                                                                                                                                + + +
                                                                                                                                                                +

                                                                                                                                                                general

                                                                                                                                                                + + +

                                                                                                                                                                + Namespaces + +

                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                Widget
                                                                                                                                                                +
                                                                                                                                                                + +

                                                                                                                                                                + Interfaces, Classes and Traits + +

                                                                                                                                                                + +
                                                                                                                                                                + +
                                                                                                                                                                General
                                                                                                                                                                +
                                                                                                                                                                Class provide all public-facing functionality of the plugin.
                                                                                                                                                                +
                                                                                                                                                                Parser
                                                                                                                                                                +
                                                                                                                                                                Searches and replaces the footnotes and generates the reference container.
                                                                                                                                                                + +
                                                                                                                                                                + + + + + + +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +

                                                                                                                                                                Search results

                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  + + +
                                                                                                                                                                  + + + + diff --git a/docs/namespaces/footnotes-includes.html b/docs/namespaces/footnotes-includes.html new file mode 100644 index 0000000..b6b9be1 --- /dev/null +++ b/docs/namespaces/footnotes-includes.html @@ -0,0 +1,149 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                  +

                                                                                                                                                                  Documentation

                                                                                                                                                                  + + + + + +
                                                                                                                                                                  + +
                                                                                                                                                                  +
                                                                                                                                                                  + + + + +
                                                                                                                                                                  + + +
                                                                                                                                                                  +

                                                                                                                                                                  includes

                                                                                                                                                                  + + + +

                                                                                                                                                                  + Interfaces, Classes and Traits + +

                                                                                                                                                                  + +
                                                                                                                                                                  + +
                                                                                                                                                                  Activator
                                                                                                                                                                  +
                                                                                                                                                                  Class providing action(s) on plugin activation.
                                                                                                                                                                  +
                                                                                                                                                                  Config
                                                                                                                                                                  +
                                                                                                                                                                  Class defining plugin constants.
                                                                                                                                                                  +
                                                                                                                                                                  Convert
                                                                                                                                                                  +
                                                                                                                                                                  Class providing variable type and value conversion functions.
                                                                                                                                                                  +
                                                                                                                                                                  Core
                                                                                                                                                                  +
                                                                                                                                                                  Class providing core plugin functionality.
                                                                                                                                                                  +
                                                                                                                                                                  Deactivator
                                                                                                                                                                  +
                                                                                                                                                                  Class providing action(s) on plugin deactivation.
                                                                                                                                                                  +
                                                                                                                                                                  i18n
                                                                                                                                                                  +
                                                                                                                                                                  Class providing internationalization functionality.
                                                                                                                                                                  +
                                                                                                                                                                  Loader
                                                                                                                                                                  +
                                                                                                                                                                  Class defining action/filter registration for the plugin.
                                                                                                                                                                  +
                                                                                                                                                                  Settings
                                                                                                                                                                  +
                                                                                                                                                                  Class defining configurable plugin settings.
                                                                                                                                                                  +
                                                                                                                                                                  Template
                                                                                                                                                                  +
                                                                                                                                                                  Class defining template rendering.
                                                                                                                                                                  + +
                                                                                                                                                                  + + + + + + +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +

                                                                                                                                                                  Search results

                                                                                                                                                                  + +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + + +
                                                                                                                                                                    + + + + diff --git a/docs/namespaces/footnotes-public-widget.html b/docs/namespaces/footnotes-public-widget.html new file mode 100644 index 0000000..a40361e --- /dev/null +++ b/docs/namespaces/footnotes-public-widget.html @@ -0,0 +1,128 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                    +

                                                                                                                                                                    Documentation

                                                                                                                                                                    + + + + + +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + +
                                                                                                                                                                    + + +
                                                                                                                                                                    +

                                                                                                                                                                    widget

                                                                                                                                                                    + + + +

                                                                                                                                                                    + Interfaces, Classes and Traits + +

                                                                                                                                                                    + +
                                                                                                                                                                    + +
                                                                                                                                                                    Base
                                                                                                                                                                    +
                                                                                                                                                                    Base class to be extended by all widget sub-classes.
                                                                                                                                                                    +
                                                                                                                                                                    Reference_Container
                                                                                                                                                                    +
                                                                                                                                                                    Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                                    + +
                                                                                                                                                                    + + + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +

                                                                                                                                                                    Search results

                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + + +
                                                                                                                                                                      + + + + diff --git a/docs/namespaces/footnotes-public.html b/docs/namespaces/footnotes-public.html new file mode 100644 index 0000000..5e5ab7c --- /dev/null +++ b/docs/namespaces/footnotes-public.html @@ -0,0 +1,135 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                      +

                                                                                                                                                                      Documentation

                                                                                                                                                                      + + + + + +
                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + +
                                                                                                                                                                      + + +
                                                                                                                                                                      +

                                                                                                                                                                      public

                                                                                                                                                                      + + +

                                                                                                                                                                      + Namespaces + +

                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      widget
                                                                                                                                                                      +
                                                                                                                                                                      + +

                                                                                                                                                                      + Interfaces, Classes and Traits + +

                                                                                                                                                                      + +
                                                                                                                                                                      + +
                                                                                                                                                                      Parser
                                                                                                                                                                      +
                                                                                                                                                                      Searches and replaces the footnotes and generates the reference container.
                                                                                                                                                                      +
                                                                                                                                                                      Pub
                                                                                                                                                                      +
                                                                                                                                                                      Class provide all admin-specific functionality of the plugin.
                                                                                                                                                                      + +
                                                                                                                                                                      + + + + + + +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +

                                                                                                                                                                      Search results

                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        + + + + diff --git a/docs/namespaces/footnotes.html b/docs/namespaces/footnotes.html new file mode 100644 index 0000000..f73a05b --- /dev/null +++ b/docs/namespaces/footnotes.html @@ -0,0 +1,302 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                        +

                                                                                                                                                                        Documentation

                                                                                                                                                                        + + + + + +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + +
                                                                                                                                                                        +
                                                                                                                                                                          +
                                                                                                                                                                        + +
                                                                                                                                                                        +

                                                                                                                                                                        footnotes

                                                                                                                                                                        + + +

                                                                                                                                                                        + Namespaces + +

                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        admin
                                                                                                                                                                        +
                                                                                                                                                                        includes
                                                                                                                                                                        +
                                                                                                                                                                        general
                                                                                                                                                                        +
                                                                                                                                                                        + + + +

                                                                                                                                                                        + Table of Contents + +

                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + activate_footnotes() + +  : void +
                                                                                                                                                                        +
                                                                                                                                                                        Handles the activation of the plugin.
                                                                                                                                                                        + +
                                                                                                                                                                        + deactivate_footnotes() + +  : void +
                                                                                                                                                                        +
                                                                                                                                                                        Handles the deactivation of the plugin.
                                                                                                                                                                        + +
                                                                                                                                                                        + run_footnotes() + +  : void +
                                                                                                                                                                        +
                                                                                                                                                                        Begins execution of the plugin.
                                                                                                                                                                        + +
                                                                                                                                                                        + + + +
                                                                                                                                                                        +

                                                                                                                                                                        + Functions + +

                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        + activate_footnotes() + +

                                                                                                                                                                        + + +

                                                                                                                                                                        Handles the activation of the plugin.

                                                                                                                                                                        + + + + activate_footnotes() : void + +
                                                                                                                                                                        + + + +
                                                                                                                                                                        + Tags + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + since +
                                                                                                                                                                        +
                                                                                                                                                                        + 2.8.0 + +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + see +
                                                                                                                                                                        +
                                                                                                                                                                        + Activator::activate() + +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        + deactivate_footnotes() + +

                                                                                                                                                                        + + +

                                                                                                                                                                        Handles the deactivation of the plugin.

                                                                                                                                                                        + + + + deactivate_footnotes() : void + +
                                                                                                                                                                        + + + +
                                                                                                                                                                        + Tags + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + since +
                                                                                                                                                                        +
                                                                                                                                                                        + 2.8.0 + +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + see +
                                                                                                                                                                        +
                                                                                                                                                                        + Deactivator::deactivate() + +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        + run_footnotes() + +

                                                                                                                                                                        + + +

                                                                                                                                                                        Begins execution of the plugin.

                                                                                                                                                                        + + + + run_footnotes() : void + +

                                                                                                                                                                        Since everything within the plugin is registered via hooks, then kicking off +the plugin from this point in the file does not affect the page life cycle.

                                                                                                                                                                        +
                                                                                                                                                                        + + + +
                                                                                                                                                                        + Tags + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + since +
                                                                                                                                                                        +
                                                                                                                                                                        + 2.8.0 + +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        Search results

                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          + + + + diff --git a/docs/packages/Default.html b/docs/packages/Default.html new file mode 100644 index 0000000..4d7b4cf --- /dev/null +++ b/docs/packages/Default.html @@ -0,0 +1,303 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                          +

                                                                                                                                                                          Documentation

                                                                                                                                                                          + + + + + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + +
                                                                                                                                                                          +
                                                                                                                                                                            +
                                                                                                                                                                          + +
                                                                                                                                                                          +

                                                                                                                                                                          Default

                                                                                                                                                                          + + + +

                                                                                                                                                                          + Interfaces, Classes and Traits + +

                                                                                                                                                                          + +
                                                                                                                                                                          + +
                                                                                                                                                                          Convert
                                                                                                                                                                          +
                                                                                                                                                                          Class providing variable type and value conversion functions.
                                                                                                                                                                          + +
                                                                                                                                                                          + + +

                                                                                                                                                                          + Table of Contents + +

                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + activate_footnotes() + +  : void +
                                                                                                                                                                          +
                                                                                                                                                                          Handles the activation of the plugin.
                                                                                                                                                                          + +
                                                                                                                                                                          + deactivate_footnotes() + +  : void +
                                                                                                                                                                          +
                                                                                                                                                                          Handles the deactivation of the plugin.
                                                                                                                                                                          + +
                                                                                                                                                                          + run_footnotes() + +  : void +
                                                                                                                                                                          +
                                                                                                                                                                          Begins execution of the plugin.
                                                                                                                                                                          + +
                                                                                                                                                                          + + + +
                                                                                                                                                                          +

                                                                                                                                                                          + Functions + +

                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          + activate_footnotes() + +

                                                                                                                                                                          + + +

                                                                                                                                                                          Handles the activation of the plugin.

                                                                                                                                                                          + + + + activate_footnotes() : void + +
                                                                                                                                                                          + + + +
                                                                                                                                                                          + Tags + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + since +
                                                                                                                                                                          +
                                                                                                                                                                          + 2.8.0 + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + see +
                                                                                                                                                                          +
                                                                                                                                                                          + Activator::activate() + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          + deactivate_footnotes() + +

                                                                                                                                                                          + + +

                                                                                                                                                                          Handles the deactivation of the plugin.

                                                                                                                                                                          + + + + deactivate_footnotes() : void + +
                                                                                                                                                                          + + + +
                                                                                                                                                                          + Tags + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + since +
                                                                                                                                                                          +
                                                                                                                                                                          + 2.8.0 + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + see +
                                                                                                                                                                          +
                                                                                                                                                                          + Deactivator::deactivate() + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          + run_footnotes() + +

                                                                                                                                                                          + + +

                                                                                                                                                                          Begins execution of the plugin.

                                                                                                                                                                          + + + + run_footnotes() : void + +

                                                                                                                                                                          Since everything within the plugin is registered via hooks, then kicking off +the plugin from this point in the file does not affect the page life cycle.

                                                                                                                                                                          +
                                                                                                                                                                          + + + +
                                                                                                                                                                          + Tags + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + since +
                                                                                                                                                                          +
                                                                                                                                                                          + 2.8.0 + +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          Search results

                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + + +
                                                                                                                                                                            + + + + diff --git a/docs/packages/default.html b/docs/packages/default.html index 7d8bcbd..d82eb96 100644 --- a/docs/packages/default.html +++ b/docs/packages/default.html @@ -51,9 +51,22 @@

                                                                                                                                                                            Namespaces

                                                                                                                                                                            -

                                                                                                                                                                            Global

                                                                                                                                                                            -
                                                                                                                                                                            +

                                                                                                                                                                            footnotes

                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            +

                                                                                                                                                                            Packages

                                                                                                                                                                            +

                                                                                                                                                                            Default

                                                                                                                                                                            +

                                                                                                                                                                            footnotes

                                                                                                                                                                            + +

                                                                                                                                                                            Reports

                                                                                                                                                                            @@ -81,6 +94,7 @@
                                                                                                                                                                            +
                                                                                                                                                                            Default
                                                                                                                                                                            footnotes
                                                                                                                                                                            diff --git a/docs/packages/footnotes-admin-layout.html b/docs/packages/footnotes-admin-layout.html new file mode 100644 index 0000000..bbcc10e --- /dev/null +++ b/docs/packages/footnotes-admin-layout.html @@ -0,0 +1,115 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                            +

                                                                                                                                                                            Documentation

                                                                                                                                                                            + + + + + +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            + + + + +
                                                                                                                                                                            + + +
                                                                                                                                                                            +

                                                                                                                                                                            layout

                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +

                                                                                                                                                                            Search results

                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              + + +
                                                                                                                                                                              + + + + diff --git a/docs/packages/footnotes-admin.html b/docs/packages/footnotes-admin.html new file mode 100644 index 0000000..4e8dd14 --- /dev/null +++ b/docs/packages/footnotes-admin.html @@ -0,0 +1,122 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                              +

                                                                                                                                                                              Documentation

                                                                                                                                                                              + + + + + +
                                                                                                                                                                              + +
                                                                                                                                                                              +
                                                                                                                                                                              + + + + +
                                                                                                                                                                              + + +
                                                                                                                                                                              +

                                                                                                                                                                              admin

                                                                                                                                                                              + +

                                                                                                                                                                              + Packages + +

                                                                                                                                                                              + +
                                                                                                                                                                              +
                                                                                                                                                                              layout
                                                                                                                                                                              +
                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +

                                                                                                                                                                              Search results

                                                                                                                                                                              + +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                + + +
                                                                                                                                                                                + + + + diff --git a/docs/packages/footnotes-adminlayout.html b/docs/packages/footnotes-adminlayout.html new file mode 100644 index 0000000..2c33dff --- /dev/null +++ b/docs/packages/footnotes-adminlayout.html @@ -0,0 +1,121 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                +

                                                                                                                                                                                Documentation

                                                                                                                                                                                + + + + + +
                                                                                                                                                                                + +
                                                                                                                                                                                +
                                                                                                                                                                                + + + + +
                                                                                                                                                                                + + +
                                                                                                                                                                                +

                                                                                                                                                                                adminlayout

                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +

                                                                                                                                                                                Search results

                                                                                                                                                                                + +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + +
                                                                                                                                                                                  + + + + diff --git a/docs/packages/footnotes-footnotesadmin.html b/docs/packages/footnotes-footnotesadmin.html new file mode 100644 index 0000000..48f7963 --- /dev/null +++ b/docs/packages/footnotes-footnotesadmin.html @@ -0,0 +1,131 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Documentation

                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + +
                                                                                                                                                                                  + + +
                                                                                                                                                                                  +

                                                                                                                                                                                  footnotesadmin

                                                                                                                                                                                  + + + +

                                                                                                                                                                                  + Interfaces, Classes and Traits + +

                                                                                                                                                                                  + +
                                                                                                                                                                                  + +
                                                                                                                                                                                  Footnotes_Admin
                                                                                                                                                                                  +
                                                                                                                                                                                  The admin-specific functionality of the plugin.
                                                                                                                                                                                  + +
                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +

                                                                                                                                                                                  Search results

                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + +
                                                                                                                                                                                    + + + + diff --git a/docs/packages/footnotes-footnotesadminlayout.html b/docs/packages/footnotes-footnotesadminlayout.html new file mode 100644 index 0000000..44afbef --- /dev/null +++ b/docs/packages/footnotes-footnotesadminlayout.html @@ -0,0 +1,120 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                    +

                                                                                                                                                                                    Documentation

                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                    + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + + +
                                                                                                                                                                                    + + +
                                                                                                                                                                                    +

                                                                                                                                                                                    footnotesadminlayout

                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +

                                                                                                                                                                                    Search results

                                                                                                                                                                                    + +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + +
                                                                                                                                                                                      + + + + diff --git a/docs/packages/footnotes-footnotesincludes.html b/docs/packages/footnotes-footnotesincludes.html new file mode 100644 index 0000000..e2a5a0b --- /dev/null +++ b/docs/packages/footnotes-footnotesincludes.html @@ -0,0 +1,132 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                      +

                                                                                                                                                                                      Documentation

                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + +
                                                                                                                                                                                      + + +
                                                                                                                                                                                      +

                                                                                                                                                                                      footnotesincludes

                                                                                                                                                                                      + + + +

                                                                                                                                                                                      + Interfaces, Classes and Traits + +

                                                                                                                                                                                      + +
                                                                                                                                                                                      + +
                                                                                                                                                                                      Footnotes
                                                                                                                                                                                      +
                                                                                                                                                                                      The core plugin class.
                                                                                                                                                                                      + +
                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +

                                                                                                                                                                                      Search results

                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + +
                                                                                                                                                                                        + + + + diff --git a/docs/packages/footnotes-footnotespublic.html b/docs/packages/footnotes-footnotespublic.html new file mode 100644 index 0000000..ff24bbb --- /dev/null +++ b/docs/packages/footnotes-footnotespublic.html @@ -0,0 +1,131 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                        +

                                                                                                                                                                                        Documentation

                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                        + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + + +
                                                                                                                                                                                        + + +
                                                                                                                                                                                        +

                                                                                                                                                                                        footnotespublic

                                                                                                                                                                                        + + + +

                                                                                                                                                                                        + Interfaces, Classes and Traits + +

                                                                                                                                                                                        + +
                                                                                                                                                                                        + +
                                                                                                                                                                                        Footnotes_Public
                                                                                                                                                                                        +
                                                                                                                                                                                        The public-facing functionality of the plugin.
                                                                                                                                                                                        + +
                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +

                                                                                                                                                                                        Search results

                                                                                                                                                                                        + +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + +
                                                                                                                                                                                          + + + + diff --git a/docs/packages/footnotes-footnotespublicwidget.html b/docs/packages/footnotes-footnotespublicwidget.html new file mode 100644 index 0000000..550ab65 --- /dev/null +++ b/docs/packages/footnotes-footnotespublicwidget.html @@ -0,0 +1,120 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Documentation

                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + +
                                                                                                                                                                                          + + +
                                                                                                                                                                                          +

                                                                                                                                                                                          footnotespublicwidget

                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          Search results

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + +
                                                                                                                                                                                            + + + + diff --git a/docs/packages/footnotes-includes.html b/docs/packages/footnotes-includes.html new file mode 100644 index 0000000..cff5ac3 --- /dev/null +++ b/docs/packages/footnotes-includes.html @@ -0,0 +1,133 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                            +

                                                                                                                                                                                            Documentation

                                                                                                                                                                                            + + + + + +
                                                                                                                                                                                            + +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + + + +
                                                                                                                                                                                            + + +
                                                                                                                                                                                            +

                                                                                                                                                                                            includes

                                                                                                                                                                                            + + + +

                                                                                                                                                                                            + Interfaces, Classes and Traits + +

                                                                                                                                                                                            + +
                                                                                                                                                                                            + +
                                                                                                                                                                                            Template
                                                                                                                                                                                            +
                                                                                                                                                                                            Class defining template rendering.
                                                                                                                                                                                            + +
                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +

                                                                                                                                                                                            Search results

                                                                                                                                                                                            + +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + +
                                                                                                                                                                                              + + + + diff --git a/docs/packages/footnotes-public-widget.html b/docs/packages/footnotes-public-widget.html new file mode 100644 index 0000000..954edbb --- /dev/null +++ b/docs/packages/footnotes-public-widget.html @@ -0,0 +1,128 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                              +

                                                                                                                                                                                              Documentation

                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                              + +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + + + +
                                                                                                                                                                                              + + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +

                                                                                                                                                                                              Search results

                                                                                                                                                                                              + +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + +
                                                                                                                                                                                                + + + + diff --git a/docs/packages/footnotes-public.html b/docs/packages/footnotes-public.html new file mode 100644 index 0000000..f8f7996 --- /dev/null +++ b/docs/packages/footnotes-public.html @@ -0,0 +1,135 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                                +

                                                                                                                                                                                                Documentation

                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                + + +
                                                                                                                                                                                                +

                                                                                                                                                                                                public

                                                                                                                                                                                                + +

                                                                                                                                                                                                + Packages + +

                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                widget
                                                                                                                                                                                                +
                                                                                                                                                                                                + + +

                                                                                                                                                                                                + Interfaces, Classes and Traits + +

                                                                                                                                                                                                + +
                                                                                                                                                                                                + +
                                                                                                                                                                                                Footnotes_Parser
                                                                                                                                                                                                +
                                                                                                                                                                                                Searches and replaces the footnotes and generates the reference container.
                                                                                                                                                                                                +
                                                                                                                                                                                                Footnotes_Public
                                                                                                                                                                                                +
                                                                                                                                                                                                Class provide all admin-specific functionality of the plugin.
                                                                                                                                                                                                + +
                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +

                                                                                                                                                                                                Search results

                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + +
                                                                                                                                                                                                  + + + + diff --git a/docs/packages/footnotes-publicwidget.html b/docs/packages/footnotes-publicwidget.html new file mode 100644 index 0000000..6aa5185 --- /dev/null +++ b/docs/packages/footnotes-publicwidget.html @@ -0,0 +1,121 @@ + + + + + Documentation + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  Documentation

                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                  + + +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  publicwidget

                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  Search results

                                                                                                                                                                                                  + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + +
                                                                                                                                                                                                    + + + + diff --git a/docs/packages/footnotes.html b/docs/packages/footnotes.html index fcac0e8..53fdf2f 100644 --- a/docs/packages/footnotes.html +++ b/docs/packages/footnotes.html @@ -51,9 +51,22 @@

                                                                                                                                                                                                    Namespaces

                                                                                                                                                                                                    -

                                                                                                                                                                                                    Global

                                                                                                                                                                                                    -
                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Packages

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Default

                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +

                                                                                                                                                                                                    Reports

                                                                                                                                                                                                    @@ -81,7 +94,7 @@
                                                                                                                                                                                                    -
                                                                                                                                                                                                    WPDashboard
                                                                                                                                                                                                    +
                                                                                                                                                                                                    includes
                                                                                                                                                                                                    @@ -92,122 +105,46 @@
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Config
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Contains all Plugin Constants. Contains no Method or Property.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Convert
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Converts data types and Footnotes specific values.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Layout_Init
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Handles the Settings interface of the Plugin.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Layout_Engine
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Layout Engine for the administration dashboard.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Layout_Settings
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Displays and handles all Settings of the Plugin.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Hooks
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Registers all WordPress hooks and executes them on demand.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Provides an entry point to the Plugin.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Language
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Loads text domain of current or default language for localization.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Settings
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Loads the settings values, sets to default values if undefined.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Task
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Admin
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class provide all admin-specific functionality of the plugin.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    WYSIWYG
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class providing WYSIWYG editor intergration for the plugin.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Engine
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class to be extended by page layout sub-classes.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Init
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class to initialise all defined page layouts.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Settings
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class to initialise all defined page layouts.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Activator
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class providing action(s) on plugin activation.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Config
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class defining plugin constants.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Core
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class providing core plugin functionality.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Deactivator
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class providing action(s) on plugin deactivation.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    i18n
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class providing internationalization functionality.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Loader
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class defining action/filter registration for the plugin.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Settings
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class defining configurable plugin settings.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    General
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Class provide all public-facing functionality of the plugin.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Parser
                                                                                                                                                                                                    Searches and replaces the footnotes and generates the reference container.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Template
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Handles each Template file for the Plugin Frontend (e.g. Settings Dashboard, Public pages, ...).
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Widget_Base
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Base Class for all Plugin Widgets. Registers each Widget to WordPress.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_Widget_Reference_Container
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Base
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Base class to be extended by all widget sub-classes.
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Reference_Container
                                                                                                                                                                                                    Registers a Widget to put the Reference Container to the widget area.
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Footnotes_WYSIWYG
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Handles the WSYIWYG-Buttons.
                                                                                                                                                                                                    -

                                                                                                                                                                                                    - Table of Contents - -

                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - mci_footnotes_require_php_files() - -  : mixed -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    Requires (`require_once`) all `*.php` files inside a specific Directory.
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -

                                                                                                                                                                                                    - Functions - -

                                                                                                                                                                                                    -
                                                                                                                                                                                                    -

                                                                                                                                                                                                    - mci_footnotes_require_php_files() - -

                                                                                                                                                                                                    - - -

                                                                                                                                                                                                    Requires (`require_once`) all `*.php` files inside a specific Directory.

                                                                                                                                                                                                    - - - - mci_footnotes_require_php_files(string $p_str_directory) : mixed - -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    Parameters
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - $p_str_directory - : string -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -

                                                                                                                                                                                                    Absolute Directory path to lookup for *.php files.

                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - - -
                                                                                                                                                                                                    - Tags - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - author -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -

                                                                                                                                                                                                    Stefan Herndler

                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - since -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - 1.5.0 - -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - +
                                                                                                                                                                                                    diff --git a/docs/reports/deprecated.html b/docs/reports/deprecated.html index 31e5420..ae751e5 100644 --- a/docs/reports/deprecated.html +++ b/docs/reports/deprecated.html @@ -52,9 +52,22 @@

                                                                                                                                                                                                    Namespaces

                                                                                                                                                                                                    -

                                                                                                                                                                                                    Global

                                                                                                                                                                                                    -
                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Packages

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Default

                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +

                                                                                                                                                                                                    Reports

                                                                                                                                                                                                    @@ -77,10 +90,86 @@

                                                                                                                                                                                                    Deprecated

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Table of Contents

                                                                                                                                                                                                    + + + + + + + + + + +
                                                                                                                                                                                                    src/admin/layout/class-settings.php
                                                                                                                                                                                                    src/includes/class-config.php
                                                                                                                                                                                                    src/includes/class-settings.php
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - No deprecated elements have been found in this project. -
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-settings.php

                                                                                                                                                                                                    + + + + + + + + + + + +
                                                                                                                                                                                                    LineElementReason
                                                                                                                                                                                                    1016Settings::custom_css_migration()
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-config.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    LineElementReason
                                                                                                                                                                                                    48Config
                                                                                                                                                                                                    58Config::PLUGIN_PUBLIC_NAME
                                                                                                                                                                                                    75Config::PLUGIN_HEADING_NAME
                                                                                                                                                                                                    86Config::LOVE_SYMBOL
                                                                                                                                                                                                    97Config::LOVE_SYMBOL_HEADING
                                                                                                                                                                                                    108Config::NO_LOVE_SLUG
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-settings.php

                                                                                                                                                                                                    + + + + + + + + + + + +
                                                                                                                                                                                                    LineElementReason
                                                                                                                                                                                                    295Settings::FOOTNOTES_EXPERT_MODE
                                                                                                                                                                                                    diff --git a/docs/reports/errors.html b/docs/reports/errors.html index 3260cda..e3d0032 100644 --- a/docs/reports/errors.html +++ b/docs/reports/errors.html @@ -52,9 +52,22 @@

                                                                                                                                                                                                    Namespaces

                                                                                                                                                                                                    -

                                                                                                                                                                                                    Global

                                                                                                                                                                                                    -
                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Packages

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Default

                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +

                                                                                                                                                                                                    Reports

                                                                                                                                                                                                    @@ -77,55 +90,9 @@

                                                                                                                                                                                                    Errors

                                                                                                                                                                                                    -

                                                                                                                                                                                                    Table of Contents

                                                                                                                                                                                                    - - - - - - - - - -
                                                                                                                                                                                                    src/class/dashboard/subpage-main.php1
                                                                                                                                                                                                    src/class/language.php1
                                                                                                                                                                                                    +
                                                                                                                                                                                                    No errors have been found in this project.
                                                                                                                                                                                                    - -

                                                                                                                                                                                                    subpage-main.php

                                                                                                                                                                                                    - - - - - - - - - - - - - - - -
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    ERROR0Tag "see" with body "@see templates/dashboard/customize-css.html" has error "\templates/dashboard/customize-css.html" is not a valid Fqsen.
                                                                                                                                                                                                    - -

                                                                                                                                                                                                    language.php

                                                                                                                                                                                                    - - - - - - - - - - - - - - - -
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    ERROR0Tag "see" with body "@see wp-includes/l10n.php:857" has error "\wp-includes/l10n.php:857" is not a valid Fqsen.
                                                                                                                                                                                                    diff --git a/docs/reports/markers.html b/docs/reports/markers.html index fffdf71..ace9655 100644 --- a/docs/reports/markers.html +++ b/docs/reports/markers.html @@ -52,9 +52,22 @@

                                                                                                                                                                                                    Namespaces

                                                                                                                                                                                                    -

                                                                                                                                                                                                    Global

                                                                                                                                                                                                    -
                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Packages

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Default

                                                                                                                                                                                                    +

                                                                                                                                                                                                    footnotes

                                                                                                                                                                                                    + +

                                                                                                                                                                                                    Reports

                                                                                                                                                                                                    @@ -77,10 +90,502 @@

                                                                                                                                                                                                    Markers

                                                                                                                                                                                                    -
                                                                                                                                                                                                    - No markers have been found in this project. -
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Table of Contents

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    src/admin/class-wysiwyg.php2
                                                                                                                                                                                                    src/admin/layout/class-engine.php16
                                                                                                                                                                                                    src/admin/layout/class-settings.php1
                                                                                                                                                                                                    src/includes/class-config.php6
                                                                                                                                                                                                    src/includes/class-convert.php6
                                                                                                                                                                                                    src/includes/class-settings.php9
                                                                                                                                                                                                    src/includes/class-template.php8
                                                                                                                                                                                                    src/public/class-general.php1
                                                                                                                                                                                                    src/public/class-parser.php9
                                                                                                                                                                                                    src/public/widget/class-base.php1
                                                                                                                                                                                                    src/public/widget/class-reference-container.php1
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-wysiwyg.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO39Should this be `static`?
                                                                                                                                                                                                    TODO65Should this be `static`?
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-engine.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO122Review nonce verification.
                                                                                                                                                                                                    TODO184Required? Should be `abstract`?
                                                                                                                                                                                                    TODO249Refactor sections into their own class?
                                                                                                                                                                                                    TODO279Refactor meta boxes into their own class?
                                                                                                                                                                                                    TODO279Pass actual functions rather than strings?
                                                                                                                                                                                                    TODO324Refactor HTML generation.
                                                                                                                                                                                                    TODO338Refactor HTML generation.
                                                                                                                                                                                                    TODO369Refactor HTML generation.
                                                                                                                                                                                                    TODO396Refactor HTML generation.
                                                                                                                                                                                                    TODO417Refactor HTML generation.
                                                                                                                                                                                                    TODO451Refactor HTML generation.
                                                                                                                                                                                                    TODO473Refactor HTML generation.
                                                                                                                                                                                                    TODO473Use proper colorpicker element.
                                                                                                                                                                                                    TODO496Refactor HTML generation.
                                                                                                                                                                                                    TODO551Move to {@see}.
                                                                                                                                                                                                    TODO567Review nonce verification.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-settings.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO1139Review in light of admin/public split.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-config.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO48Remove.
                                                                                                                                                                                                    TODO58Remove.
                                                                                                                                                                                                    TODO75Remove.
                                                                                                                                                                                                    TODO86Remove.
                                                                                                                                                                                                    TODO97Remove.
                                                                                                                                                                                                    TODO108Remove.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-convert.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO58Replace with built-in type casting.
                                                                                                                                                                                                    TODO84Review.
                                                                                                                                                                                                    TODO84Single return type.
                                                                                                                                                                                                    TODO112Replace with proper logging/debug functions.
                                                                                                                                                                                                    TODO149Replace with built-in char casting.
                                                                                                                                                                                                    TODO180Replace with built-in string formatting.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-settings.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO1391Add return type.
                                                                                                                                                                                                    TODO50Refactor to use sane typing.
                                                                                                                                                                                                    TODO204The mouse-over content truncation should be enabled by default to raise +awareness of the functionality, prevent the screen from being filled on +mouse-over, and allow the use of ‘Continue Reading’ functionality.
                                                                                                                                                                                                    TODO236In titles, footnotes are still buggy, because WordPress uses the +title string in menus and in the title element, but Footnotes doesn't +delete footnotes in them.
                                                                                                                                                                                                    TODO295Un-deprecate.
                                                                                                                                                                                                    TODO1084Review, remove?
                                                                                                                                                                                                    TODO1132Review. Why are the constants just initialised with these values? +At the very least, we should stop using ‘yes’ to mean `true` etc.
                                                                                                                                                                                                    TODO1132Create `PreferencesSet` class.
                                                                                                                                                                                                    TODO1322Create `PreferencesSet` class.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-template.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO30Refactor templating.
                                                                                                                                                                                                    TODO81Refactor templating.
                                                                                                                                                                                                    TODO109Refactor templating.
                                                                                                                                                                                                    TODO134Refactor templating.
                                                                                                                                                                                                    TODO146Refactor templating.
                                                                                                                                                                                                    TODO159Refactor templating.
                                                                                                                                                                                                    TODO184Refactor templating.
                                                                                                                                                                                                    TODO184Single return type.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-general.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO64Review null init.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-parser.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO253Reorganise dependencies.
                                                                                                                                                                                                    TODO253Move call to `register_hooks()` to {@see}.
                                                                                                                                                                                                    TODO273Move to {@see}.
                                                                                                                                                                                                    TODO402Refactor to enqueue stylesheets properly in {@see}.
                                                                                                                                                                                                    TODO1159Refactor to parse DOM rather than using RegEx.
                                                                                                                                                                                                    TODO1159Decompose.
                                                                                                                                                                                                    TODO150Remove.
                                                                                                                                                                                                    TODO158Remove.
                                                                                                                                                                                                    TODO166Remove.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-base.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO31Review implemenation of Widgets API.
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    class-reference-container.php

                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    TypeLineDescription
                                                                                                                                                                                                    TODO30Review implemenation of Widgets API.
                                                                                                                                                                                                    diff --git a/footnotes.wiki b/footnotes.wiki new file mode 160000 index 0000000..837ae00 --- /dev/null +++ b/footnotes.wiki @@ -0,0 +1 @@ +Subproject commit 837ae00912690f4c39c719d4ce9c9a197610dbe6 diff --git a/package.json b/package.json index af96112..3635d85 100644 --- a/package.json +++ b/package.json @@ -2,31 +2,28 @@ "name": "footnotes", "scripts": { "cm": "cz", - "format": "npm run format:js", - "format:fix": "npm run format:js:fix", - "format:js": "prettier './src/**/*.js'", - "format:js:fix": "npm run format:js -- --write", - "lint": "npm run lint:js && npm run lint:css && npm run lint:md && npm run lint:html", - "lint:fix": "npm run lint:js:fix && npm run lint:css:fix && npm run lint:md:fix", + "format:js": "prettier './src/**/*.js' --write", + "lint": "npm run lint:js; npm run lint:css; npm run lint:md; npm run lint:html; npm run validate:yaml", + "lint:fix": "npm run lint:js:fix; npm run lint:css:fix; npm run lint:md:fix; npm run validate:yaml", "lint:php": "composer run lint:php", "lint:php:fix": "composer run lint:php:fix", - "lint:js": "eslint \"./src/**/*.js\"", - "lint:js:fix": "npm run lint:js -- --fix", + "lint:js": "npm run format:js && eslint \"./src/**/*.js\"", + "lint:js:fix": "npm run format:js && npm run lint:js -- --fix", "lint:css": "stylelint \"./src/**/*.css\"", "lint:css:fix": "npm run lint:css -- --fix", "lint:md": "markdownlint '*.md'", "lint:md:fix": "npm run lint:md -- --fix", - "lint:html": "htmlhint ./src/**/*.html", - "validate": "npm run validate:json && npm run validate:yaml", + "lint:html": "htmlhint './src/**/*.html'", + "validate": "npm run validate:yaml", "validate:yaml": "yaml-validator ./.github/workflows/*.yml", - "minify": "npm run minify:css && npm run minify:js", - "minify:css": "for f in ./tmp/css/*.css; do npx minify $f > ./dist/css/$(basename $f .css).min.css; done", - "minify:js": "for f in ./src/js/*.js; do npx minify $f > ./dist/js/$(basename $f .js).min.js; done" + "minify": "npm run minify:css; npm run minify:js", + "minify:css": "for f in ./dist/*/css/*.css; do echo \"Minifying $f...\"; minify $f > $(dirname $f)/$(basename $f .css).min.css; done", + "minify:js": "for f in ./dist/*/js/*.js; do echo \"Minifying $f...\"; minify $f > $(dirname $f)/$(basename $f .js).min.js; done" }, "husky": { "hooks": { "pre-commit": "lint-staged", - "pre-push": "composer run docs" + "pre-push": "composer run docs && git add docs && git commit -m \"docs: update documentation\" --no-verify" } }, "lint-staged": { @@ -34,13 +31,12 @@ "composer run lint:php" ], "*.js": [ - "npm run format:js:fix", "npm run lint:js" ], "*.(sa|sc|c)ss": [ "npm run lint:css" ], - "*.md": [ + "*.(md|markdown|wiki)": [ "npm run lint:md" ], "*.htm(l)?": [ diff --git a/phpcs.xml.dist b/phpcs.xml.dist new file mode 100644 index 0000000..ee5a1f6 --- /dev/null +++ b/phpcs.xml.dist @@ -0,0 +1,30 @@ + + + The coding standard for PHP_CodeSniffer itself. + + src + + index.php + + + + + + + + + + + + + + + + + + + + + + + diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml index 47acf1e..6903c6a 100644 --- a/phpdoc.dist.xml +++ b/phpdoc.dist.xml @@ -7,13 +7,17 @@ > docs + docs/.cache - + src docs + php diff --git a/rector.php b/rector.php new file mode 100644 index 0000000..d068f29 --- /dev/null +++ b/rector.php @@ -0,0 +1,26 @@ +parameters(); + + $parameters->set(Option::PATHS, [ + __DIR__ . '/dist', + ]); + + $parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_74); + + // Define what rule sets will be applied + $parameters->set(Option::SETS, [ + //TODO: SetList::PRIVATIZATION + DowngradeSetList::PHP_80 + ]); +}; diff --git a/src/license.txt b/src/LICENSE.txt similarity index 100% rename from src/license.txt rename to src/LICENSE.txt diff --git a/src/readme.txt b/src/README.txt similarity index 99% rename from src/readme.txt rename to src/README.txt index 7119741..4f823f5 100644 --- a/src/readme.txt +++ b/src/README.txt @@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i Tags: footnote, footnotes, bibliography, formatting, notes, Post, posts, reference, referencing Requires at least: 3.9 Tested up to: 5.7.1 -Requires PHP: 7.0 +Requires PHP: 7.4 Stable Tag: 2.7.3 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html diff --git a/src/admin/class-admin.php b/src/admin/class-admin.php new file mode 100644 index 0000000..c9d02a0 --- /dev/null +++ b/src/admin/class-admin.php @@ -0,0 +1,158 @@ +load_dependencies(); + + } + + /** + * Register the stylesheets for the admin area. + * + * @since 2.8.0 + */ + public function enqueue_styles(): void { + + wp_enqueue_style( + $this->plugin_name, + plugin_dir_url( __FILE__ ) . 'css/settings' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.css', + array(), + ( PRODUCTION_ENV ) ? $this->version : filemtime( + plugin_dir_path( + __FILE__ + ) . 'css/settings.css' + ), + 'all' + ); + + } + + /** + * Register the JavaScript for the admin area. + * + * @since 2.8.0 + */ + public function enqueue_scripts(): void { + + wp_enqueue_script( + $this->plugin_name, + plugin_dir_url( __FILE__ ) . 'js/wysiwyg-editor' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.js', + array(), + ( PRODUCTION_ENV ) ? $this->version : filemtime( + plugin_dir_path( + __FILE__ + ) . 'js/wysiwyg-editor.js' + ), + false + ); + + } + + /** + * Appends the Plugin links for display in the dashboard Plugins page. + * + * @param string[] $plugin_links The default set of links to display. + * @return string[] The full set of links to display. + * + * @since 1.5.0 + * @since 2.8.0 Moved from `Hooks` class to `Admin`. + */ + public function action_links( array $plugin_links ): array { + // Append link to the WordPress Plugin page. + $plugin_links[] = sprintf( '%s', __( 'Support', 'footnotes' ) ); + // Append link to the settings page. + $plugin_links[] = sprintf( '%s', esc_url( admin_url( 'options-general.php?page=footnotes' ) ), __( 'Settings', 'footnotes' ) ); + // Append link to the PayPal donate function. + $plugin_links[] = sprintf( '%s', __( 'Donate', 'footnotes' ) ); + return $plugin_links; + } + /** + * Load the required admin-specific dependencies. + * + * Includes the following files that provide the admin-specific functionality + * of this plugin: + * + * - {@see WYSIWYG}: Provides plugin integration with the WYSIWYG editor. + * - {@see layout\Settings}: Defines the plugin dashboard page(s). + * + * @access private + * + * @since 2.8.0 + */ + private function load_dependencies(): void { + /** + * The class responsible for WYSIWYG editor integration. + */ + require_once plugin_dir_path( __DIR__ ) . 'admin/class-wysiwyg.php'; + + $this->wysiwyg = new WYSIWYG( $this->plugin_name ); + + /** + * The class responsible for constructing the plugin dashboard page(s). + */ + require_once plugin_dir_path( __DIR__ ) . 'admin/layout/class-init.php'; + + new layout\Init( $this->plugin_name ); + } + +} + diff --git a/src/admin/class-wysiwyg.php b/src/admin/class-wysiwyg.php new file mode 100644 index 0000000..d250763 --- /dev/null +++ b/src/admin/class-wysiwyg.php @@ -0,0 +1,92 @@ +get_content(); + // phpcs:enable + } + + /** + * Includes the Plugins WYSIWYG editor script. + * + * @param string[] $plugins Scripts to be included by the editor. + * @return string[] + * + * @since 1.5.0 + * @todo Should this be `static`? + */ + public static function include_scripts( array $plugins ): array { + $plugins['footnotes'] = plugins_url( '/../admin/js/wysiwyg-editor' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.js', __FILE__ ); + return $plugins; + } + + /** + * AJAX Callback function when the Footnotes Button is clicked. Either in the Plain text or Visual editor. + * Returns an JSON encoded array with the Footnotes start and end short code. + * + * @since 1.5.0 + */ + public static function ajax_callback(): void { + // Get start and end tag for the footnotes short code. + $starting_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START ); + $ending_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END ); + if ( 'userdefined' === $starting_tag || 'userdefined' === $ending_tag ) { + $starting_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START_USER_DEFINED ); + $ending_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END_USER_DEFINED ); + } + echo wp_json_encode( + array( + 'start' => htmlspecialchars( $starting_tag ), + 'end' => htmlspecialchars( $ending_tag ), + ) + ); + exit; + } +} diff --git a/src/css/settings.css b/src/admin/css/settings.css similarity index 99% rename from src/css/settings.css rename to src/admin/css/settings.css index 2105873..4be768c 100644 --- a/src/css/settings.css +++ b/src/admin/css/settings.css @@ -215,7 +215,7 @@ significantly increased from 4 to 18 as of v2.4.0. Localized notices are dropped to ease translators’ task. CSS classes are listed directly in the template -templates/dashboard/customize-css.html +admin/partials/customize-css.html For better maintainability and readability of the source list, the

                                                                                                                                                                                                    end tags are omitted per HTML5 standard: diff --git a/src/img/fn-wysiwyg.png b/src/admin/images/fn-wysiwyg.png similarity index 100% rename from src/img/fn-wysiwyg.png rename to src/admin/images/fn-wysiwyg.png diff --git a/src/admin/index.php b/src/admin/index.php new file mode 100644 index 0000000..8142269 --- /dev/null +++ b/src/admin/index.php @@ -0,0 +1 @@ +get_sub_page_slug() ) === $sub_menu[2] ) { + remove_submenu_page( Init::MAIN_MENU_SLUG, Init::MAIN_MENU_SLUG . $this->get_sub_page_slug() ); + } + } + } + + $this->sub_page_hook = add_submenu_page( + Init::MAIN_MENU_SLUG, + $this->get_sub_page_title(), + $this->get_sub_page_title(), + 'manage_options', + Init::MAIN_MENU_SLUG . $this->get_sub_page_slug(), + fn() => $this->display_content() + ); + } + /** + * Registers all sections for a sub-page. + * + * @since 1.5.0 + */ + public function register_sections(): void { + foreach ( $this->get_sections() as $section ) { + // Append tab to the tab-array. + $this->sections[ $section['id'] ] = $section; + add_settings_section( + $section['id'], + '', + fn() => $this->description(), + $section['id'] + ); + $this->register_meta_boxes( $section['id'] ); + } + } + // phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing + /** + * Displays the content of specific sub-page. + * + * @since 1.5.0 + * @todo Review nonce verification. + */ + public function display_content(): void { + $this->append_scripts(); + $active_section_id = isset( $_GET['t'] ) ? wp_unslash( $_GET['t'] ) : array_key_first( $this->sections ); + $active_section = $this->sections[ $active_section_id ]; + + // Store settings. + $settings_updated = false; + if ( array_key_exists( 'save-settings', $_POST ) && 'save' === $_POST['save-settings'] ) { + unset( $_POST['save-settings'] ); + unset( $_POST['submit'] ); + $settings_updated = $this->save_settings(); + } + + // Display all sections and highlight the active section. + echo '
                                                                                                                                                                                                    '; + echo '
                                                                                                                                                                                                    '; + + if ( $settings_updated ) { + echo sprintf( '
                                                                                                                                                                                                    %s
                                                                                                                                                                                                    ', __( 'Settings saved', 'footnotes' ) ); + } + + // Form to submit the active section. + echo '
                                                                                                                                                                                                    '; + echo ''; + // Outputs the settings field of the active section. + do_settings_sections( $active_section['id'] ); + do_meta_boxes( $active_section['id'], 'main', null ); + + // Add submit button to active section if defined. + if ( $active_section['submit'] ) { + submit_button(); + } + echo '
                                                                                                                                                                                                    '; + echo '
                                                                                                                                                                                                    '; + + // Echo JavaScript for the expand/collapse function of the meta boxes. + echo ''; + } + // phpcs:enable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing + /** + * Output the description of a section. May be overwritten in any section. + * + * @since 1.5.0 + * @todo Required? Should be `abstract`? + */ + public function description(): void { + // Default no description will be displayed. + } + + /** + * Returns the unique slug of the child sub-page. + * + * @abstract + * @access protected + * + * @since 1.5.0 + */ + abstract protected function get_sub_page_slug(): string; + + /** + * Returns the title of the child sub-page. + * + * @abstract + * @access protected + * + * @since 1.5.0 + */ + abstract protected function get_sub_page_title(): string; + + /** + * Returns an array of all registered sections for a sub-page. + * + * @abstract + * @access protected + * + * @since 1.5.0 + */ + abstract protected function get_sections(): array; + + /** + * Returns an array of all registered meta boxes. + * + * @abstract + * @access protected + * + * @since 1.5.0 + */ + abstract protected function get_meta_boxes(): array; + + /** + * Returns an array describing a sub-page section. + * + * @access protected + * @param string $id Unique ID suffix. + * @param string $title Title of the section. + * @param int $settings_container_index Settings Container index. + * @param bool $has_submit_button Whether a ‘Submit’ button should + * be displayed for this section. Default `true`. + * @return array { + * A dashboard section. + * + * @type string $id Section ID. + * @type string $title Section title. + * @type bool $submit Whether the section has a submit button or not. + * @type int $container Settings Container index. + * } + * + * @since 1.5.0 + * @todo Refactor sections into their own class? + */ + protected function add_section( string $id, string $title, int $settings_container_index, bool $has_submit_button = true ): array { + return array( + 'id' => $this->plugin_name . '-' . $id, + 'title' => $title, + 'submit' => $has_submit_button, + 'container' => $settings_container_index, + ); + } + + /** + * Returns an array describing a meta box. + * + * @access protected + * @param string $section_id Parent section ID. + * @param string $id Unique ID suffix. + * @param string $title Title for the meta box. + * @param string $callback_function_name Class method name for callback. + * @return array { + * A dashboard meta box. + * + * @type string $parent Parent section ID. + * @type string $id Meta box ID. + * @type string $title Meta box title. + * @type string $callback Meta box callback function. + * } + * + * @since 1.5.0 + * @todo Refactor meta boxes into their own class? + * @todo Pass actual functions rather than strings? + */ + protected function add_meta_box( string $section_id, string $id, string $title, string $callback_function_name ): array { + return array( + 'parent' => $this->plugin_name . '-' . $section_id, + 'id' => $id, + 'title' => $title, + 'callback' => $callback_function_name, + ); + } + + /** + * Loads a specified setting. + * + * @access protected + * @param string $setting_key_name Setting key. + * @return array { + * A configurable setting. + * + * @type string $id Setting key. + * @type string $name Setting name. + * @type string $value Setting value. + * } + * + * @since 1.5.0 + * @since 2.5.11 Broken due to accidental removal of `esc_attr()` call. + * @since 2.6.1 Restore `esc_attr()` call. + */ + protected function load_setting( string $setting_key_name ): array { + // Get current section. + reset( $this->sections ); + $return = array(); + $return['id'] = $setting_key_name; + $return['name'] = $setting_key_name; + $return['value'] = esc_attr( Includes\Settings::instance()->get( $setting_key_name ) ); + return $return; + } + + /** + * Returns a simple text inside a 'span' element. + * + * @access protected + * @param string $text Message to be surrounded with `` tags. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_text( string $text ): string { + return sprintf( '%s', $text ); + } + + /** + * Returns the HTML tag for a 'label' element. + * + * @access protected + * @param string $setting_name Settings key. + * @param string $caption Label caption. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_label( string $setting_name, string $caption ): string { + if ( empty( $caption ) ) { + return ''; + } + + /* + * Remove the colon causing localization issues with French, and with + * languages not using punctuation at all, and with languages using other + * punctuation marks instead of colon, e.g. Greek using a raised dot. + * In French, colon is preceded by a space, forcibly non-breaking, and + * narrow per new school. + * Add colon to label strings for inclusion in localization. Colon after + * label is widely preferred best practice, mandatory per + * {@link https://softwareengineering.stackexchange.com/questions/234546/colons-in-internationalized-ui + * style guides}. + */ + return sprintf( '', $setting_name, $caption ); + } + + /** + * Constructs the HTML for a text 'input' element. + * + * @access protected + * @param string $setting_name Setting key. + * @param int $max_length Maximum length of the input. Default length 999 chars. + * @param bool $readonly Set the input to be read only. Default `false`. + * @param bool $hidden Set the input to be hidden. Default `false`. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_text_box( string $setting_name, int $max_length = 999, bool $readonly = false, bool $hidden = false ): string { + $style = ''; + // Collect data for given settings field. + $data = $this->load_setting( $setting_name ); + if ( $hidden ) { + $style .= 'display:none;'; + } + return sprintf( + '', + $data['name'], + $data['id'], + $max_length, + $style, + $data['value'], + $readonly ? 'readonly="readonly"' : '' + ); + } + + /** + * Constructs the HTML for a checkbox 'input' element. + * + * @access protected + * @param string $setting_name Setting key. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_checkbox( string $setting_name ): string { + // Collect data for given settings field. + $data = $this->load_setting( $setting_name ); + return sprintf( + '', + $data['name'], + $data['id'], + Includes\Convert::to_bool( $data['value'] ) ? 'checked="checked"' : '' + ); + } + + /** + * Constructs the HTML for a 'select' element. + * + * @access protected + * @param string $setting_name Setting key. + * @param array $options Possible options. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_select_box( string $setting_name, array $options ): string { + // Collect data for given settings field. + $data = $this->load_setting( $setting_name ); + $select_options = ''; + + // Loop through all array keys. + foreach ( $options as $value => $caption ) { + $select_options .= sprintf( + '', + $value, + // Only check for equality, not identity, WRT backlink symbol arrows. + // phpcs:disable WordPress.PHP.StrictComparisons.LooseComparison + $value == $data['value'] ? 'selected' : '', + // phpcs:enable WordPress.PHP.StrictComparisons.LooseComparison + $caption + ); + } + return sprintf( + '', + $data['name'], + $data['id'], + $select_options + ); + } + + /** + * Constructs the HTML for a 'textarea' element. + * + * @access protected + * @param string $setting_name Setting key. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_textarea( $setting_name ): string { + // Collect data for given settings field. + $data = $this->load_setting( $setting_name ); + return sprintf( + '', + $data['name'], + $data['id'], + $data['value'] + ); + } + + /** + * Constructs the HTML for a text 'input' element with the colour selection + * class. + * + * @access protected + * @param string $setting_name Setting key. + * + * @since 1.5.6 + * @todo Refactor HTML generation. + * @todo Use proper colorpicker element. + */ + protected function add_color_selection( string $setting_name ): string { + // Collect data for given settings field. + $data = $this->load_setting( $setting_name ); + return sprintf( + '', + $data['name'], + $data['id'], + $data['value'] + ); + } + + /** + * Constructs the HTML for numeric 'input' element. + * + * @access protected + * @param string $setting_name Setting key. + * @param int $p_in_min Minimum value. + * @param int $max Maximum value. + * @param bool $deci `true` if float, `false` if integer. Default `false`. + * + * @since 1.5.0 + * @todo Refactor HTML generation. + */ + protected function add_num_box( string $setting_name, int $p_in_min, int $max, bool $deci = false ): string { + // Collect data for given settings field. + $data = $this->load_setting( $setting_name ); + + if ( $deci ) { + $value = number_format( floatval( $data['value'] ), 1 ); + return sprintf( + '', + $data['name'], + $data['id'], + $value, + $p_in_min, + $max + ); + } + return sprintf( + '', + $data['name'], + $data['id'], + $data['value'], + $p_in_min, + $max + ); + } + /** + * Registers all Meta boxes for a sub-page. + * + * @access private + * @param string $parent_id Parent section unique ID. + * + * @since 1.5.0 + */ + private function register_meta_boxes( string $parent_id ): void { + // Iterate through each meta box. + foreach ( $this->get_meta_boxes() as $meta_box ) { + if ( $parent_id !== $meta_box['parent'] ) { + continue; + } + add_meta_box( + $parent_id . '-' . $meta_box['id'], + $meta_box['title'], + array( $this, $meta_box['callback'] ), + $parent_id, + 'main' + ); + } + } + /** + * Append JavaScript and CSS files for specific sub-page. + * + * @access private + * + * @since 1.5.0 + * @todo Move to {@see Includes\Admin}. + */ + private function append_scripts(): void { + wp_enqueue_script( 'postbox' ); + wp_enqueue_style( 'wp-color-picker' ); + wp_enqueue_script( 'wp-color-picker' ); + } + // phpcs:enable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing + // phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing + /** + * Save all plugin settings. + * + * @access private + * @return bool `true` on save success, else `false`. + * + * @since 1.5.0 + * @todo Review nonce verification. + */ + private function save_settings(): bool { + $new_settings = array(); + $active_section_id = isset( $_GET['t'] ) ? wp_unslash( $_GET['t'] ) : array_key_first( $this->sections ); + $active_section = $this->sections[ $active_section_id ]; + + foreach ( array_keys( Includes\Settings::instance()->get_defaults( $active_section['container'] ) ) as $key ) { + $new_settings[ $key ] = array_key_exists( $key, $_POST ) ? wp_unslash( $_POST[ $key ] ) : ''; + } + // Update settings. + return Includes\Settings::instance()->save_options( $active_section['container'], $new_settings ); + } + +} diff --git a/src/admin/layout/class-init.php b/src/admin/layout/class-init.php new file mode 100644 index 0000000..6a54e9e --- /dev/null +++ b/src/admin/layout/class-init.php @@ -0,0 +1,210 @@ +load_dependencies(); + + $this->settings = new Settings( $this->plugin_name ); + + // Register hooks/actions. + add_action( + 'admin_menu', + fn() => $this->register_options_submenu() + ); + add_action( + 'admin_init', + fn() => $this->initialize_settings() + ); + // Register AJAX callbacks for Plugin information. + add_action( + 'wp_ajax_nopriv_footnotes_get_plugin_info', + fn() => $this->get_plugin_meta_information() + ); + add_action( + 'wp_ajax_footnotes_get_plugin_info', + fn() => $this->get_plugin_meta_information() + ); + } + + /** + * Registers the settings and initialises the settings page. + * + * @since 1.5.0 + */ + public function initialize_settings(): void { + Includes\Settings::instance()->register_settings(); + $this->settings->register_sections(); + } + + /** + * Registers the footnotes submenu page. + * + * @since 1.5.0 + * @see http://codex.wordpress.org/Function_Reference/add_menu_page + */ + public function register_options_submenu(): void { + add_submenu_page( + 'options-general.php', + 'footnotes Settings', + \footnotes\includes\Config::PLUGIN_PUBLIC_NAME, + 'manage_options', + self::MAIN_MENU_SLUG, + fn() => $this->settings->display_content() + ); + $this->settings->register_sub_page(); + } + + // phpcs:disable WordPress.Security.NonceVerification.Missing + /** + * AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin. + * + * @since 1.5.0 + */ + public function get_plugin_meta_information(): void { + $plugin_name = null; + // TODO: add nonce verification? + + // Get plugin internal name from POST data. + if ( isset( $_POST['plugin'] ) ) { + $plugin_name = wp_unslash( $_POST['plugin'] ); + } + + if ( empty( $plugin_name ) ) { + echo wp_json_encode( array( 'error' => 'Plugin name invalid.' ) ); + exit; + } + $url = 'https://api.wordpress.org/plugins/info/1.0/' . $plugin_name . '.json'; + // Call URL and collect data. + $response = wp_remote_get( $url ); + // Check if response is valid. + if ( is_wp_error( $response ) ) { + echo wp_json_encode( array( 'error' => 'Error receiving Plugin Information from WordPress.' ) ); + exit; + } + if ( ! array_key_exists( 'body', $response ) ) { + echo wp_json_encode( array( 'error' => 'Error reading WordPress API response message.' ) ); + exit; + } + // Get the body of the response. + $response = $response['body']; + // Get plugin object. + $plugin = json_decode( $response, true, 512, JSON_THROW_ON_ERROR ); + if ( empty( $plugin ) ) { + echo wp_json_encode( array( 'error' => 'Error reading Plugin meta information.
                                                                                                                                                                                                    URL: ' . $url . '
                                                                                                                                                                                                    Response: ' . $response ) ); + exit; + } + + $num_ratings = array_key_exists( 'num_ratings', $plugin ) ? (int) $plugin['num_ratings'] : 0; + $rating = array_key_exists( 'rating', $plugin ) ? floatval( $plugin['rating'] ) : 0.0; + $stars = round( 5 * $rating / 100.0, 1 ); + + // Return Plugin information as JSON encoded string. + echo wp_json_encode( + array( + 'error' => '', + 'PluginDescription' => array_key_exists( 'short_description', $plugin ) ? html_entity_decode( $plugin['short_description'] ) : 'Error reading Plugin information', + 'PluginAuthor' => array_key_exists( 'author', $plugin ) ? html_entity_decode( $plugin['author'] ) : 'unknown', + 'PluginRatingText' => $stars . ' ' . __( 'rating based on', 'footnotes' ) . ' ' . $num_ratings . ' ' . __( 'ratings', 'footnotes' ), + 'PluginRating1' => $stars >= 0.5 ? 'star-full' : 'star-empty', + 'PluginRating2' => $stars >= 1.5 ? 'star-full' : 'star-empty', + 'PluginRating3' => $stars >= 2.5 ? 'star-full' : 'star-empty', + 'PluginRating4' => $stars >= 3.5 ? 'star-full' : 'star-empty', + 'PluginRating5' => $stars >= 4.5 ? 'star-full' : 'star-empty', + 'PluginRating' => $num_ratings, + 'PluginLastUpdated' => array_key_exists( 'last_updated', $plugin ) ? $plugin['last_updated'] : 'unknown', + 'PluginDownloads' => array_key_exists( 'downloaded', $plugin ) ? $plugin['downloaded'] : '---', + ) + ); + exit; + } + /** + * Load the required dependencies for the layouts pages. + * + * Include the following files that make up the plugin: + * + * - {@see Includes\Config}: defines plugin constants; + * - {@see Includes\Settings}: defines configurable plugin settings; and + * - {@see Settings}: defines the plugin settings page. + * + * @access private + * + * @since 2.8.0 + */ + private function load_dependencies(): void { + /** + * Defines plugin constants. + */ + require_once plugin_dir_path( dirname( __FILE__, 2 ) ) . 'includes/class-config.php'; + + /** + * Defines configurable plugin settings. + */ + require_once plugin_dir_path( dirname( __FILE__, 2 ) ) . 'includes/class-settings.php'; + + /** + * Represents the plugin settings dashboard page. + */ + require_once plugin_dir_path( __DIR__ ) . 'layout/class-settings.php'; + } + // phpcs:enable WordPress.Security.NonceVerification.Missing +} diff --git a/src/admin/layout/class-settings.php b/src/admin/layout/class-settings.php new file mode 100644 index 0000000..61905a1 --- /dev/null +++ b/src/admin/layout/class-settings.php @@ -0,0 +1,1308 @@ +plugin_name = $plugin_name; + } + + /** + * Returns a priority index. + * + * Lower numbers have a higher priority. + * + * @since 1.5.0 + * @return int + */ + public function get_priority(): int { + return 10; + } + + /** + * Displays the AMP compatibility mode option. + * + * @since 2.6.0 (release) + */ + public function amp_compat(): void { + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-amp' ); + // Replace all placeholders. + $template->replace( + array( + // Translators: '%s' is the link text 'AMP-WP' linked to the plugin's front page on WordPress.org. + 'description-1-amp' => sprintf( __( 'The official %s plugin is required when this option is enabled.', 'footnotes' ), 'AMP-WP' ), + 'label-amp' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_AMP_COMPATIBILITY_ENABLE, __( 'Enable AMP compatibility mode:', 'footnotes' ) ), + 'amp' => $this->add_checkbox( \footnotes\includes\Settings::FOOTNOTES_AMP_COMPATIBILITY_ENABLE ), + 'notice-amp' => __( 'This option enables hard links with configurable scroll offset in % viewport height.', 'footnotes' ), + // Translators: '%s' is the logogram of the 'Footnotes' plugin. + 'description-2-amp' => sprintf( __( '%s is becoming AMP compatible when this box is checked. Styled tooltips are displayed with fade-in/fade-out effect if enabled, and the reference container expands also on clicking a referrer if it\'s collapsed by default.', 'footnotes' ), '' . \footnotes\includes\Config::PLUGIN_PUBLIC_NAME . '' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all settings for the reference container. + * + * @since 1.5.0 + */ + public function reference_container(): void { + + // Options for the label element. + $label_element = array( + 'p' => __( 'paragraph', 'footnotes' ), + 'h2' => __( 'heading 2', 'footnotes' ), + 'h3' => __( 'heading 3', 'footnotes' ), + 'h4' => __( 'heading 4', 'footnotes' ), + 'h5' => __( 'heading 5', 'footnotes' ), + 'h6' => __( 'heading 6', 'footnotes' ), + ); + // Options for the positioning of the reference container. + $positions = array( + 'post_end' => __( 'at the end of the post', 'footnotes' ), + 'widget' => __( 'in the widget area', 'footnotes' ), + 'footer' => __( 'in the footer', 'footnotes' ), + ); + // Basic responsive page layout options. + $page_layout_options = array( + 'none' => __( 'No', 'footnotes' ), + 'reference-container' => __( 'to the reference container exclusively', 'footnotes' ), + 'entry-content' => __( 'to the div element starting below the post title', 'footnotes' ), + 'main-content' => __( 'to the main element including the post title', 'footnotes' ), + ); + // Options for the separating punctuation between backlinks. + $separators = array( + // Unicode character names are conventionally uppercase. + 'comma' => __( 'COMMA', 'footnotes' ), + 'semicolon' => __( 'SEMICOLON', 'footnotes' ), + 'en_dash' => __( 'EN DASH', 'footnotes' ), + ); + + /* + * Options for the terminating punctuation after backlinks. + * The Unicode name of RIGHT PARENTHESIS was originally more accurate because. + * This character is bidi-mirrored. Let's use the Unicode 1.0 name. + * The wrong names were enforced in spite of Unicode, that subsequently scrambled to correct. + */ + $terminators = array( + 'period' => __( 'FULL STOP', 'footnotes' ), + // Unicode 1.0 name of RIGHT PARENTHESIS (represented as a left parenthesis in right-to-left scripts). + 'parenthesis' => __( 'CLOSING PARENTHESIS', 'footnotes' ), + 'colon' => __( 'COLON', 'footnotes' ), + ); + // Options for the first column width (per cent is a ratio, not a unit). + $width_units = array( + '%' => __( 'per cent', 'footnotes' ), + 'px' => __( 'pixels', 'footnotes' ), + 'rem' => __( 'root em', 'footnotes' ), + 'em' => __( 'em', 'footnotes' ), + 'vw' => __( 'viewport width', 'footnotes' ), + ); + // Options for reference container script mode. + $script_mode = array( + 'jquery' => __( 'jQuery', 'footnotes' ), + 'js' => __( 'plain JavaScript', 'footnotes' ), + ); + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-reference-container' ); + // Replace all placeholders. + $template->replace( + array( + 'label-name' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_NAME, __( 'Heading:', 'footnotes' ) ), + 'name' => $this->add_text_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_NAME ), + + 'label-element' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_LABEL_ELEMENT, __( 'Heading\'s HTML element:', 'footnotes' ) ), + 'element' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_LABEL_ELEMENT, $label_element ), + + 'label-border' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER, __( 'Border under the heading:', 'footnotes' ) ), + 'border' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER, $enabled ), + + 'label-collapse' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_COLLAPSE, __( 'Collapse by default:', 'footnotes' ) ), + 'collapse' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_COLLAPSE, $enabled ), + + 'label-script' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE, __( 'Script mode:', 'footnotes' ) ), + 'script' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE, $script_mode ), + 'notice-script' => __( 'The plain JavaScript mode will enable hard links with configurable scroll offset.', 'footnotes' ), + + 'label-position' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION, __( 'Default position:', 'footnotes' ) ), + 'position' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION, $positions ), + // Translators: %s: at the end of the post. + 'notice-position' => sprintf( __( 'To use the position or section shortcode, please set the position to: %s', 'footnotes' ), '' . __( 'at the end of the post', 'footnotes' ) . '' ), + + 'label-shortcode' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION_SHORTCODE, __( 'Position shortcode:', 'footnotes' ) ), + 'shortcode' => $this->add_text_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION_SHORTCODE ), + 'notice-shortcode' => __( 'If present in the content, any shortcode in this text box will be replaced with the reference container.', 'footnotes' ), + + 'label-section' => $this->add_label( \footnotes\includes\Settings::FOOTNOTE_SECTION_SHORTCODE, __( 'Footnote section shortcode:', 'footnotes' ) ), + 'section' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTE_SECTION_SHORTCODE ), + 'notice-section' => __( 'If present in the content, any shortcode in this text box will delimit a section terminated by a reference container.', 'footnotes' ), + + 'label-startpage' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_START_PAGE_ENABLE, __( 'Display on start page too:', 'footnotes' ) ), + 'startpage' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_START_PAGE_ENABLE, $enabled ), + + 'label-margin-top' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_TOP_MARGIN, __( 'Top margin:', 'footnotes' ) ), + 'margin-top' => $this->add_num_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_TOP_MARGIN, -500, 500 ), + 'notice-margin-top' => __( 'pixels; may be negative', 'footnotes' ), + + 'label-margin-bottom' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_BOTTOM_MARGIN, __( 'Bottom margin:', 'footnotes' ) ), + 'margin-bottom' => $this->add_num_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_BOTTOM_MARGIN, -500, 500 ), + 'notice-margin-bottom' => __( 'pixels; may be negative', 'footnotes' ), + + 'label-page-layout' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_PAGE_LAYOUT_SUPPORT, __( 'Apply basic responsive page layout:', 'footnotes' ) ), + 'page-layout' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_PAGE_LAYOUT_SUPPORT, $page_layout_options ), + 'notice-page-layout' => __( 'Most themes don\'t need this fix.', 'footnotes' ), + + 'label-url-wrap' => $this->add_label( \footnotes\includes\Settings::FOOTNOTE_URL_WRAP_ENABLED, __( 'Allow URLs to line-wrap anywhere:', 'footnotes' ) ), + 'url-wrap' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTE_URL_WRAP_ENABLED, $enabled ), + 'notice-url-wrap' => __( 'Unicode-conformant browsers don\'t need this fix.', 'footnotes' ), + + 'label-symbol' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE, __( 'Display a backlink symbol:', 'footnotes' ) ), + 'symbol-enable' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE, $enabled ), + 'notice-symbol' => __( 'Please choose or input the symbol at the top of the next dashboard tab.', 'footnotes' ), + + 'label-switch' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH, __( 'Symbol appended, not prepended:', 'footnotes' ) ), + 'switch' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH, $enabled ), + + 'label-3column' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE, __( 'Backlink symbol in an extra column:', 'footnotes' ) ), + '3column' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE, $enabled ), + 'notice-3column' => __( 'This legacy layout is available if identical footnotes are not combined.', 'footnotes' ), + + 'label-row-borders' => $this->add_label( \footnotes\includes\Settings::REFERENCE_CONTAINER_ROW_BORDERS_ENABLE, __( 'Borders around the table rows:', 'footnotes' ) ), + 'row-borders' => $this->add_select_box( \footnotes\includes\Settings::REFERENCE_CONTAINER_ROW_BORDERS_ENABLE, $enabled ), + + 'label-separator' => $this->add_label( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_ENABLED, __( 'Add a separator when enumerating backlinks:', 'footnotes' ) ), + 'separator-enable' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_ENABLED, $enabled ), + 'separator-options' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_OPTION, $separators ), + 'separator-custom' => $this->add_text_box( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_CUSTOM ), + 'notice-separator' => __( 'Your input overrides the selection.', 'footnotes' ), + + 'label-terminator' => $this->add_label( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_ENABLED, __( 'Add a terminal punctuation to backlinks:', 'footnotes' ) ), + 'terminator-enable' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_ENABLED, $enabled ), + 'terminator-options' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_OPTION, $terminators ), + 'terminator-custom' => $this->add_text_box( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_CUSTOM ), + 'notice-terminator' => __( 'Your input overrides the selection.', 'footnotes' ), + + 'label-width' => $this->add_label( \footnotes\includes\Settings::BACKLINKS_COLUMN_WIDTH_ENABLED, __( 'Set backlinks column width:', 'footnotes' ) ), + 'width-enable' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_COLUMN_WIDTH_ENABLED, $enabled ), + 'width-scalar' => $this->add_num_box( \footnotes\includes\Settings::BACKLINKS_COLUMN_WIDTH_SCALAR, 0, 500, true ), + 'width-unit' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_COLUMN_WIDTH_UNIT, $width_units ), + 'notice-width' => __( 'Absolute width in pixels doesn\'t need to be accurate to the tenth, but relative width in rem or em may.', 'footnotes' ), + + 'label-max-width' => $this->add_label( \footnotes\includes\Settings::BACKLINKS_COLUMN_MAX_WIDTH_ENABLED, __( 'Set backlinks column maximum width:', 'footnotes' ) ), + 'max-width-enable' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_COLUMN_MAX_WIDTH_ENABLED, $enabled ), + 'max-width-scalar' => $this->add_num_box( \footnotes\includes\Settings::BACKLINKS_COLUMN_MAX_WIDTH_SCALAR, 0, 500, true ), + 'max-width-unit' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_COLUMN_MAX_WIDTH_UNIT, $width_units ), + 'notice-max-width' => __( 'Absolute width in pixels doesn\'t need to be accurate to the tenth, but relative width in rem or em may.', 'footnotes' ), + + 'label-line-break' => $this->add_label( \footnotes\includes\Settings::BACKLINKS_LINE_BREAKS_ENABLED, __( 'Stack backlinks when enumerating:', 'footnotes' ) ), + 'line-break' => $this->add_select_box( \footnotes\includes\Settings::BACKLINKS_LINE_BREAKS_ENABLED, $enabled ), + 'notice-line-break' => __( 'This option adds a line break before each added backlink when identical footnotes are combined.', 'footnotes' ), + + 'label-link' => $this->add_label( \footnotes\includes\Settings::LINK_ELEMENT_ENABLED, __( 'Use the link element for referrers and backlinks:', 'footnotes' ) ), + 'link' => $this->add_select_box( \footnotes\includes\Settings::LINK_ELEMENT_ENABLED, $enabled ), + 'notice-link' => __( 'The link element is needed to apply the theme\'s link color.', 'footnotes' ), + 'description-link' => __( 'If the link element is not desired for styling, a simple span is used instead when the above is set to No.', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all options for the footnotes start and end tag short codes. + * + * @since 1.5.0 + */ + public function start_end(): void { + // Footnotes start tag short code options. + $shortcode_start = array( + '((' => '((', + '(((' => '(((', + '{{' => '{{', + '{{{' => '{{{', + '[n]' => '[n]', + '[fn]' => '[fn]', + htmlspecialchars( '' ) => htmlspecialchars( '' ), + '[ref]' => '[ref]', + htmlspecialchars( '' ) => htmlspecialchars( '' ), + // Custom (user-defined) start and end tags bracketing the footnote text inline. + 'userdefined' => __( 'custom short code', 'footnotes' ), + ); + // Footnotes end tag short code options. + $shortcode_end = array( + '))' => '))', + ')))' => ')))', + '}}' => '}}', + '}}}' => '}}}', + '[/n]' => '[/n]', + '[/fn]' => '[/fn]', + htmlspecialchars( '' ) => htmlspecialchars( '' ), + '[/ref]' => '[/ref]', + htmlspecialchars( '' ) => htmlspecialchars( '' ), + // Custom (user-defined) start and end tags bracketing the footnote text inline. + 'userdefined' => __( 'custom short code', 'footnotes' ), + ); + // Options for the syntax validation. + $enable = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-start-end' ); + // Replace all placeholders. + $template->replace( + array( + 'description-escapement' => __( 'When delimiters with pointy brackets are used, the diverging escapement schemas will be unified before footnotes are processed.', 'footnotes' ), + + 'label-short-code-start' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START, __( 'Footnote start tag short code:', 'footnotes' ) ), + 'short-code-start' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START, $shortcode_start ), + 'short-code-start-user' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START_USER_DEFINED ), + + 'label-short-code-end' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END, __( 'Footnote end tag short code:', 'footnotes' ) ), + 'short-code-end' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END, $shortcode_end ), + 'short-code-end-user' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END_USER_DEFINED ), + + // For script showing/hiding user defined text boxes. + 'short-code-start-id' => \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START, + 'short-code-end-id' => \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END, + 'short-code-start-user-id' => \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START_USER_DEFINED, + 'short-code-end-user-id' => \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END_USER_DEFINED, + + 'description-parentheses' => __( 'WARNING: Although widespread industry standard, the double parentheses are problematic because they may occur in scripts embedded in the content and be mistaken as a short code.', 'footnotes' ), + + // Option to enable syntax validation, label mirrored in task.php. + 'label-syntax' => $this->add_label( \footnotes\includes\Settings::FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE, __( 'Check for balanced shortcodes:', 'footnotes' ) ), + 'syntax' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE, $enable ), + 'notice-syntax' => __( 'In the presence of a lone start tag shortcode, a warning displays below the post title.', 'footnotes' ), + + 'description-syntax' => __( 'If the start tag short code is \'((\' or \'(((\', it will not be reported as unbalanced if the following string contains braces hinting that it is a script.', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all options for the footnotes numbering. + * + * @since 2.2.0 + */ + public function numbering(): void { + // Define some space for the output. + $space = '     '; + // Options for the combination of identical footnotes. + $enable = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + // Options for the numbering style of the footnotes. + $counter_style = array( + 'arabic_plain' => __( 'plain Arabic numbers', 'footnotes' ) . $space . '1, 2, 3, 4, 5, …', + 'arabic_leading' => __( 'zero-padded Arabic numbers', 'footnotes' ) . $space . '01, 02, 03, 04, 05, …', + 'latin_low' => __( 'lowercase Latin letters', 'footnotes' ) . $space . 'a, b, c, d, e, …', + 'latin_high' => __( 'uppercase Latin letters', 'footnotes' ) . $space . 'A, B, C, D, E, …', + 'romanic' => __( 'uppercase Roman numerals', 'footnotes' ) . $space . 'I, II, III, IV, V, …', + 'roman_low' => __( 'lowercase Roman numerals', 'footnotes' ) . $space . 'i, ii, iii, iv, v, …', + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-numbering' ); + // Replace all placeholders. + $template->replace( + array( + 'label-counter-style' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_COUNTER_STYLE, __( 'Numbering style:', 'footnotes' ) ), + 'counter-style' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_COUNTER_STYLE, $counter_style ), + + // Algorithmically combine identicals. + 'label-identical' => $this->add_label( \footnotes\includes\Settings::COMBINE_IDENTICAL_FOOTNOTES, __( 'Combine identical footnotes:', 'footnotes' ) ), + 'identical' => $this->add_select_box( \footnotes\includes\Settings::COMBINE_IDENTICAL_FOOTNOTES, $enable ), + 'notice-identical' => __( 'This option may require copy-pasting footnotes in multiple instances.', 'footnotes' ), + // Support for Ibid. notation added thanks to @meglio in . + 'description-identical' => __( 'Even when footnotes are combined, footnote numbers keep incrementing. This avoids suboptimal referrer and backlink disambiguation using a secondary numbering system. The Ibid. notation and the op. cit. abbreviation followed by the current page number avoid repeating the footnote content. For changing sources, shortened citations may be used. Repeating full citations is also an opportunity to add details.', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all options for the scrolling behavior. + * + * @since 2.2.0 + */ + public function scrolling(): void { + + // Options for enabling scroll duration asymmetricity. + $enable = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-scrolling' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-scroll-css' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_CSS_SMOOTH_SCROLLING, __( 'CSS-based smooth scrolling:', 'footnotes' ) ), + 'scroll-css' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_CSS_SMOOTH_SCROLLING, $enable ), + 'notice-scroll-css' => __( 'May slightly disturb jQuery scrolling and is therefore disabled by default. Works in recent browsers.', 'footnotes' ), + + 'label-scroll-offset' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SCROLL_OFFSET, __( 'Scroll offset:', 'footnotes' ) ), + 'scroll-offset' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_SCROLL_OFFSET, 0, 100 ), + 'notice-scroll-offset' => __( 'per cent viewport height from the upper edge', 'footnotes' ), + + 'label-scroll-duration' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DURATION, __( 'Scroll duration:', 'footnotes' ) ), + 'scroll-duration' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DURATION, 0, 20000 ), + 'notice-scroll-duration' => __( 'milliseconds. If asymmetric scroll durations are enabled, this is the scroll-up duration.', 'footnotes' ), + + // Enable scroll duration asymmetricity. + 'label-scroll-asymmetricity' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY, __( 'Enable asymmetric scroll durations:', 'footnotes' ) ), + 'scroll-asymmetricity' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY, $enable ), + 'notice-scroll-asymmetricity' => __( 'With this option enabled, scrolling up may take longer than down, or conversely.', 'footnotes' ), + + 'label-scroll-down-duration' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DOWN_DURATION, __( 'Scroll-down duration:', 'footnotes' ) ), + 'scroll-down-duration' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DOWN_DURATION, 0, 20000 ), + 'notice-scroll-down-duration' => __( 'milliseconds', 'footnotes' ), + + 'label-scroll-down-delay' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DOWN_DELAY, __( 'Scroll-down delay:', 'footnotes' ) ), + 'scroll-down-delay' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DOWN_DELAY, 0, 20000 ), + 'notice-scroll-down-delay' => __( 'milliseconds. Useful to see the effect on input elements when referrers without hard links are clicked in form labels.', 'footnotes' ), + + 'label-scroll-up-delay' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_SCROLL_UP_DELAY, __( 'Scroll-up delay:', 'footnotes' ) ), + 'scroll-up-delay' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_SCROLL_UP_DELAY, 0, 20000 ), + 'notice-scroll-up-delay' => __( 'milliseconds. Less useful than the scroll-down delay.', 'footnotes' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all options for the fragment identifier configuration. + * + * @since 2.2.0 + */ + public function hard_links(): void { + + // Options for enabling hard links for AMP compat. + $enable = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-hard-links' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-hard-links' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_HARD_LINKS_ENABLE, __( 'Enable hard links:', 'footnotes' ) ), + 'hard-links' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_HARD_LINKS_ENABLE, $enable ), + 'notice-hard-links' => __( 'Hard links disable jQuery delays but have the same scroll offset, and allow to share footnotes (accessed if the list is not collapsed by default).', 'footnotes' ), + + 'label-footnote' => $this->add_label( \footnotes\includes\Settings::FOOTNOTE_FRAGMENT_ID_SLUG, __( 'Fragment identifier slug for footnotes:', 'footnotes' ) ), + 'footnote' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTE_FRAGMENT_ID_SLUG ), + 'notice-footnote' => __( 'This will show up in the address bar after clicking on a hard-linked footnote referrer.', 'footnotes' ), + + 'label-referrer' => $this->add_label( \footnotes\includes\Settings::REFERRER_FRAGMENT_ID_SLUG, __( 'Fragment identifier slug for footnote referrers:', 'footnotes' ) ), + 'referrer' => $this->add_text_box( \footnotes\includes\Settings::REFERRER_FRAGMENT_ID_SLUG ), + 'notice-referrer' => __( 'This will show up in the address bar after clicking on a hard-linked backlink.', 'footnotes' ), + + 'label-separator' => $this->add_label( \footnotes\includes\Settings::HARD_LINK_IDS_SEPARATOR, __( 'ID separator:', 'footnotes' ) ), + 'separator' => $this->add_text_box( \footnotes\includes\Settings::HARD_LINK_IDS_SEPARATOR ), + 'notice-separator' => __( 'May be empty or any string, for example _, - or +, to distinguish post number, container number and footnote number.', 'footnotes' ), + + // Enable backlink tooltips. + 'label-backlink-tooltips' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_BACKLINK_TOOLTIP_ENABLE, __( 'Enable backlink tooltips:', 'footnotes' ) ), + 'backlink-tooltips' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_BACKLINK_TOOLTIP_ENABLE, $enable ), + 'notice-backlink-tooltips' => __( 'Hard backlinks get ordinary tooltips hinting to use the backbutton instead to keep it usable.', 'footnotes' ), + + 'label-backlink-tooltip-text' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_BACKLINK_TOOLTIP_TEXT, __( 'Backlink tooltip text:', 'footnotes' ) ), + 'backlink-tooltip-text' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_BACKLINK_TOOLTIP_TEXT ), + 'notice-backlink-tooltip-text' => __( 'Default text is the keyboard shortcut; may be a localized descriptive hint.', 'footnotes' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all settings for ‘I love Footnotes’ note. + * + * @since 1.5.0 + */ + public function love(): void { + // Options for the acknowledgment display in the footer. + $love = array( + // Logo only. + 'text-3' => \footnotes\includes\Config::PLUGIN_PUBLIC_NAME, + // Logo followed by heart symbol. + 'text-4' => sprintf( '%s %s', \footnotes\includes\Config::PLUGIN_PUBLIC_NAME, \footnotes\includes\Config::LOVE_SYMBOL ), + // Logo preceded by heart symbol. + 'text-5' => sprintf( '%s %s', \footnotes\includes\Config::LOVE_SYMBOL, \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ), + // Translators: 2: heart symbol 1: footnotes logogram. + 'text-1' => sprintf( __( 'I %2$s %1$s', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME, \footnotes\includes\Config::LOVE_SYMBOL ), + // Translators: %s: Footnotes plugin logo. + 'text-6' => sprintf( __( 'This website uses %s.', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ), + // Translators: %s: Footnotes plugin logo. + 'text-7' => sprintf( __( 'This website uses the %s plugin.', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ), + // Translators: %s: Footnotes plugin logo. + 'text-2' => sprintf( __( 'This website uses the awesome %s plugin.', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ), + 'random' => __( 'randomly determined display of either mention', 'footnotes' ), + // Translators: 1: Plugin logo.2: heart symbol. + 'no' => sprintf( __( 'no display of any "%1$s %2$s" mention in the footer', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME, \footnotes\includes\Config::LOVE_SYMBOL ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-love' ); + // Replace all placeholders. + $template->replace( + array( + // Translators: %s: Footnotes plugin logo. + 'label-love' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_LOVE, sprintf( __( 'Tell the world you\'re using %s:', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ) ), + 'love' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_LOVE, $love ), + // Translators: %s: Footnotes plugin logo. + 'label-no-love' => $this->add_text( sprintf( __( 'Shortcode to inhibit the display of the %s mention on specific pages:', 'footnotes' ), \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ) ), + 'no-love' => $this->add_text( \footnotes\includes\Config::NO_LOVE_SLUG ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays the footnotes in excerpt setting. + * + * @since 1.5.0 + */ + public function excerpts(): void { + // Options for options select box. + $excerpt_mode = array( + 'yes' => __( 'Yes, generate excerpts from posts with effectively processed footnotes and other markup', 'footnotes' ), + 'no' => __( 'No, generate excerpts from posts but remove all footnotes and output plain text', 'footnotes' ), + 'manual' => __( 'Yes but run the process only to display tooltips in manual excerpts with footnote short codes', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'settings-excerpts' ); + // Replace all placeholders. + $template->replace( + array( + 'label-excerpts' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_IN_EXCERPT, __( 'Process footnotes in excerpts:', 'footnotes' ) ), + 'excerpts' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_IN_EXCERPT, $excerpt_mode ), + 'notice-excerpts' => __( 'If the_excerpt is enabled.', 'footnotes' ), + // Translators: %s: link text 'Advanced Excerpt' linked to the plugin\'s WordPress.org front page. + // Translators: %s: Footnotes plugin logo. + 'description-excerpts' => sprintf( __( 'To not display footnotes in excerpts, the %s plugin generates excerpts on the basis of the posts to be able to remove the footnotes. Else, footnotes may be processed in manual excerpts OR processed based on the posts. — For this setting to be effective, the hook the_excerpt must be enabled under Scope and priority.', 'footnotes' ), '' . \footnotes\includes\Config::PLUGIN_PUBLIC_NAME . '' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all settings for the footnote referrers. + * + * @since 1.5.0 + */ + public function superscript(): void { + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + // Options for superscript normalize scope. + $normalize_superscript = array( + 'no' => __( 'No', 'footnotes' ), + 'referrers' => __( 'Footnote referrers', 'footnotes' ), + 'all' => __( 'All superscript elements', 'footnotes' ), + ); + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'customize-superscript' ); + // Replace all placeholders. + $template->replace( + array( + 'label-superscript' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS, __( 'Display footnote referrers in superscript:', 'footnotes' ) ), + 'superscript' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS, $enabled ), + + 'label-normalize' => $this->add_label( \footnotes\includes\Settings::FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT, __( 'Normalize vertical alignment and font size:', 'footnotes' ) ), + 'normalize' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT, $normalize_superscript ), + 'notice-normalize' => __( 'Most themes don\'t need this fix.', 'footnotes' ), + + 'label-before' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_STYLING_BEFORE, __( 'At the start of the footnote referrers:', 'footnotes' ) ), + 'before' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_STYLING_BEFORE ), + + 'label-after' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_STYLING_AFTER, __( 'At the end of the footnote referrers:', 'footnotes' ) ), + 'after' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_STYLING_AFTER ), + + 'label-link' => $this->add_label( \footnotes\includes\Settings::LINK_ELEMENT_ENABLED, __( 'Use the link element for referrers and backlinks:', 'footnotes' ) ), + 'notice-link' => __( 'Please find this setting at the end of the reference container settings. The link element is needed to apply the theme\'s link color.', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays the setting for the input label issue solution. + * + * @since 2.5.12 + */ + public function label_solution(): void { + // Options for the input label issue solution. + $issue_solutions = array( + 'none' => __( '0. No problem or solved otherwise', 'footnotes' ), + 'move' => __( 'A. Footnotes are moved out and appended after the label\'s end (recommended)', 'footnotes' ), + 'disconnect' => __( 'B. Labels with footnotes are disconnected from input element (discouraged)', 'footnotes' ), + ); + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'configure-label-solution' ); + // Replace all placeholders. + $template->replace( + array( + 'description-1-selection' => __( 'Clicking a footnote referrer in an input element label toggles the input except when hard links are enabled. In jQuery mode, the recommended solution is to move footnotes and append them after the label (option A).', 'footnotes' ), + 'label-selection' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_LABEL_ISSUE_SOLUTION, __( 'Solve input label issue:', 'footnotes' ) ), + 'selection' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_LABEL_ISSUE_SOLUTION, $issue_solutions ), + 'description-2-selection' => __( 'Option B is discouraged because disconnecting a label from its input element may compromise accessibility. This option is a last resort in case footnotes must absolutely stay inside the label. (Using jQuery \'event.stopPropagation\' failed.)', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays enabled status for the footnotes mouse-over box. + * + * @since 1.5.2 + */ + public function mouseover_box(): void { + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-display' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-enable' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_ENABLED, __( 'Display tooltips:', 'footnotes' ) ), + 'enable' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_ENABLED, $enabled ), + 'notice-enable' => __( 'Formatted text boxes allowing hyperlinks, displayed on mouse-over or tap and hold.', 'footnotes' ), + + 'label-alternative' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE, __( 'Display alternative tooltips:', 'footnotes' ) ), + 'alternative' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE, $enabled ), + 'notice-alternative' => __( 'Intended to work around a configuration-related tooltip outage.', 'footnotes' ), + // Translators: %s: Footnotes plugin logo. + 'description-alternative' => sprintf( __( 'These alternative tooltips work around a website related jQuery UI outage. They are low-script but use the AMP incompatible onmouseover and onmouseout arguments, along with CSS transitions for fade-in/out. The very small script is inserted after Footnotes\' internal stylesheet. When this option is enabled, %s does not load jQuery UI nor jQuery Tools.', 'footnotes' ), '' . \footnotes\includes\Config::PLUGIN_PUBLIC_NAME . '' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays position settings for the footnotes mouse-over box. + * + * @since 2.2.0 + */ + public function mouseover_box_position(): void { + + // Options for the Mouse-over box position. + $position = array( + 'top left' => __( 'top left', 'footnotes' ), + 'top center' => __( 'top center', 'footnotes' ), + 'top right' => __( 'top right', 'footnotes' ), + 'center right' => __( 'center right', 'footnotes' ), + 'bottom right' => __( 'bottom right', 'footnotes' ), + 'bottom center' => __( 'bottom center', 'footnotes' ), + 'bottom left' => __( 'bottom left', 'footnotes' ), + 'center left' => __( 'center left', 'footnotes' ), + ); + // Options for the alternative Mouse-over box position. + $alternative_position = array( + 'top left' => __( 'top left', 'footnotes' ), + 'top right' => __( 'top right', 'footnotes' ), + 'bottom right' => __( 'bottom right', 'footnotes' ), + 'bottom left' => __( 'bottom left', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-position' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-position' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_POSITION, __( 'Position:', 'footnotes' ) ), + 'position' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_POSITION, $position ), + 'position-alternative' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION, $alternative_position ), + 'notice-position' => __( 'The second column of settings boxes is for the alternative tooltips.', 'footnotes' ), + + 'label-offset-x' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X, __( 'Horizontal offset:', 'footnotes' ) ), + 'offset-x' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X, -500, 500 ), + 'offset-x-alternative' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X, -500, 500 ), + 'notice-offset-x' => __( 'pixels; negative value for a leftwards offset; alternative tooltips: direction depends on position', 'footnotes' ), + + 'label-offset-y' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y, __( 'Vertical offset:', 'footnotes' ) ), + 'offset-y' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y, -500, 500 ), + 'offset-y-alternative' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y, -500, 500 ), + 'notice-offset-y' => __( 'pixels; negative value for an upwards offset; alternative tooltips: direction depends on position', 'footnotes' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays dimensions setting for the footnotes mouse-over box. + * + * @since 2.2.0 + */ + public function mouseover_box_dimensions(): void { + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-dimensions' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-max-width' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH, __( 'Maximum width:', 'footnotes' ) ), + 'max-width' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH, 0, 1280 ), + 'width' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH, 0, 1280 ), + 'notice-max-width' => __( 'pixels; set to 0 for jQuery tooltips without max width; alternative tooltips are given the value in the second box as fixed width.', 'footnotes' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays timing settings for the footnotes mouse-over box. + * + * @since 2.2.0 + */ + public function mouseover_box_timing(): void { + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-timing' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-fade-in-delay' => $this->add_label( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_IN_DELAY, __( 'Fade-in delay:', 'footnotes' ) ), + 'fade-in-delay' => $this->add_num_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_IN_DELAY, 0, 20000 ), + 'notice-fade-in-delay' => __( 'milliseconds', 'footnotes' ), + + 'label-fade-in-duration' => $this->add_label( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_IN_DURATION, __( 'Fade-in duration:', 'footnotes' ) ), + 'fade-in-duration' => $this->add_num_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_IN_DURATION, 0, 20000 ), + 'notice-fade-in-duration' => __( 'milliseconds', 'footnotes' ), + + 'label-fade-out-delay' => $this->add_label( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_OUT_DELAY, __( 'Fade-out delay:', 'footnotes' ) ), + 'fade-out-delay' => $this->add_num_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_OUT_DELAY, 0, 20000 ), + 'notice-fade-out-delay' => __( 'milliseconds', 'footnotes' ), + + 'label-fade-out-duration' => $this->add_label( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_OUT_DURATION, __( 'Fade-out duration:', 'footnotes' ) ), + 'fade-out-duration' => $this->add_num_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_OUT_DURATION, 0, 20000 ), + 'notice-fade-out-duration' => __( 'milliseconds', 'footnotes' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays truncation settings for the footnotes mouse-over box. + * + * @since 2.2.0 + */ + public function mouseover_box_truncation(): void { + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-truncation' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-truncation' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED, __( 'Truncate the note in the tooltip:', 'footnotes' ) ), + 'truncation' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED, $enabled ), + + 'label-max-length' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH, __( 'Maximum number of characters in the tooltip:', 'footnotes' ) ), + 'max-length' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH, 3, 10000 ), + // The feature trims back until the last full word. + 'notice-max-length' => __( 'No weird cuts.', 'footnotes' ), + + 'label-readon' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_READON_LABEL, __( '\'Read on\' button label:', 'footnotes' ) ), + 'readon' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_READON_LABEL ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays dedicated tooltip text settings for the footnotes mouse-over box. + * + * @since 2.2.0 + */ + public function mouseover_box_text(): void { + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-text' ); + // Replace all placeholders. + $template->replace( + array( + + 'description-delimiter' => __( 'Tooltips can display another content than the footnote entry in the reference container. The trigger is a shortcode in the footnote text separating the tooltip text from the note. That is consistent with what WordPress does for excerpts.', 'footnotes' ), + + 'label-delimiter' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER, __( 'Delimiter for dedicated tooltip text:', 'footnotes' ) ), + 'delimiter' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER ), + 'notice-delimiter' => __( 'If the delimiter shortcode is present, the tooltip text will be the part before it.', 'footnotes' ), + + 'label-mirror' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE, __( 'Mirror the tooltip in the reference container:', 'footnotes' ) ), + 'mirror' => $this->add_select_box( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE, $enabled ), + 'notice-mirror' => __( 'Tooltips may be harder to use on mobiles. This option allows to read it in the reference container.', 'footnotes' ), + + 'label-separator' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR, __( 'Separator between tooltip text and footnote text:', 'footnotes' ) ), + 'separator' => $this->add_text_box( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR ), + 'notice-separator' => __( 'May be a simple space, or a line break <br />, or any string in your language.', 'footnotes' ), + + 'description-mirror' => __( 'Tooltips, even jQuery-driven, may be hard to consult on mobiles. This option allows to read the tooltip content in the reference container too.', 'footnotes' ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays style settings for the footnotes mouse-over box. + * + * @since 2.2.0 + */ + public function mouseover_box_appearance(): void { + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + // Options for the font size unit. + $font_size_units = array( + 'em' => __( 'em', 'footnotes' ), + 'rem' => __( 'rem', 'footnotes' ), + 'px' => __( 'pixels', 'footnotes' ), + 'pt' => __( 'points', 'footnotes' ), + 'pc' => __( 'picas', 'footnotes' ), + 'mm' => __( 'millimeters', 'footnotes' ), + '%' => __( 'per cent', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'mouse-over-box-appearance' ); + // Replace all placeholders. + $template->replace( + array( + + 'label-font-size' => $this->add_label( \footnotes\includes\Settings::MOUSE_OVER_BOX_FONT_SIZE_ENABLED, __( 'Set font size:', 'footnotes' ) ), + 'font-size-enable' => $this->add_select_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FONT_SIZE_ENABLED, $enabled ), + 'font-size-scalar' => $this->add_num_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FONT_SIZE_SCALAR, 0, 50, true ), + 'font-size-unit' => $this->add_select_box( \footnotes\includes\Settings::MOUSE_OVER_BOX_FONT_SIZE_UNIT, $font_size_units ), + 'notice-font-size' => __( 'By default, the font size is set to equal the surrounding text.', 'footnotes' ), + + 'label-color' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_COLOR, __( 'Text color:', 'footnotes' ) ), + 'color' => $this->add_color_selection( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_COLOR ), + // Translators: %s: Clear or leave empty. + 'notice-color' => sprintf( __( 'To use the current theme\'s default text color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), + + 'label-background' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND, __( 'Background color:', 'footnotes' ) ), + 'background' => $this->add_color_selection( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND ), + // Translators: %s: Clear or leave empty. + 'notice-background' => sprintf( __( 'To use the current theme\'s default background color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), + + 'label-border-width' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH, __( 'Border width:', 'footnotes' ) ), + 'border-width' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH, 0, 4, true ), + 'notice-border-width' => __( 'pixels; 0 for borderless', 'footnotes' ), + + 'label-border-color' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR, __( 'Border color:', 'footnotes' ) ), + 'border-color' => $this->add_color_selection( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR ), + // Translators: %s: Clear or leave empty. + 'notice-border-color' => sprintf( __( 'To use the current theme\'s default border color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), + + 'label-border-radius' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS, __( 'Rounded corner radius:', 'footnotes' ) ), + 'border-radius' => $this->add_num_box( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS, 0, 500 ), + 'notice-border-radius' => __( 'pixels; 0 for sharp corners', 'footnotes' ), + + 'label-box-shadow-color' => $this->add_label( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR, __( 'Box shadow color:', 'footnotes' ) ), + 'box-shadow-color' => $this->add_color_selection( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR ), + // Translators: %s: Clear or leave empty. + 'notice-box-shadow-color' => sprintf( __( 'To use the current theme\'s default box shadow color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all settings for the backlink symbol. + * + * @since 1.5.0 + */ + public function hyperlink_arrow(): void { + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'customize-hyperlink-arrow' ); + // Replace all placeholders. + $template->replace( + array( + 'label-symbol' => $this->add_label( \footnotes\includes\Settings::HYPERLINK_ARROW, __( 'Select or input the backlink symbol:', 'footnotes' ) ), + 'symbol-options' => $this->add_select_box( \footnotes\includes\Settings::HYPERLINK_ARROW, Includes\Convert::get_arrow() ), + 'symbol-custom' => $this->add_text_box( \footnotes\includes\Settings::HYPERLINK_ARROW_USER_DEFINED ), + 'notice-symbol' => __( 'Your input overrides the selection.', 'footnotes' ), + 'description-symbol' => __( 'This symbol is used in the reference container. But this setting pre-existed under this tab and cannot be moved to another one.', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays the Custom CSS box. + * + * @since 1.5.0 + */ + public function custom_css() { + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'customize-css' ); + // Replace all placeholders. + $template->replace( + array( + 'label-css' => $this->add_label( \footnotes\includes\Settings::CUSTOM_CSS, __( 'Your existing Custom CSS code:', 'footnotes' ) ), + 'css' => $this->add_textarea( \footnotes\includes\Settings::CUSTOM_CSS ), + 'description-css' => __( 'Custom CSS migrates to a dedicated tab. This text area is intended to keep your data safe, and the code remains valid while visible. Please copy-paste the content into the new text area under the new tab.', 'footnotes' ), + + // phpcs:disable Squiz.PHP.CommentedOutCode.Found + // CSS classes are listed in the template. + // Localized notices are dropped to ease translators' task. + + // "label-class-1" => ".footnote_plugin_tooltip_text",. + // "class-1" => $this->add_text(__("superscript, Footnotes index", $this->plugin_name)),. + + // "label-class-2" => ".footnote_tooltip",. + // "class-2" => $this->add_text(__("mouse-over box, tooltip for each superscript", $this->plugin_name)),. + + // "label-class-3" => ".footnote_plugin_index",. + // "class-3" => $this->add_text(__("1st column of the Reference Container, Footnotes index", $this->plugin_name)),. + + // "label-class-4" => ".footnote_plugin_text",. + // "class-4" => $this->add_text(__("2nd column of the Reference Container, Footnote text", $this->plugin_name)). + // phpcs:enable + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays transitional legacy Custom CSS box. + * + * @since 2.2.2 + * @deprecated + */ + public function custom_css_migration(): void { + + // Options for Yes/No select box. + $enabled = array( + 'yes' => __( 'Yes', 'footnotes' ), + 'no' => __( 'No', 'footnotes' ), + ); + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'customize-css-migration' ); + // Replace all placeholders. + $template->replace( + array( + 'label-css' => $this->add_label( \footnotes\includes\Settings::CUSTOM_CSS, __( 'Your existing Custom CSS code:', 'footnotes' ) ), + 'css' => $this->add_textarea( \footnotes\includes\Settings::CUSTOM_CSS ), + 'description-css' => __( 'Custom CSS migrates to a dedicated tab. This text area is intended to keep your data safe, and the code remains valid while visible. Please copy-paste the content into the new text area below. Set Show legacy to No. Save twice.', 'footnotes' ), + + 'label-show-legacy' => $this->add_label( \footnotes\includes\Settings::CUSTOM_CSS_LEGACY_ENABLE, 'Show legacy Custom CSS settings containers:' ), + 'show-legacy' => $this->add_select_box( \footnotes\includes\Settings::CUSTOM_CSS_LEGACY_ENABLE, $enabled ), + 'notice-show-legacy' => __( 'Please set to No when you are done migrating, for the legacy Custom CSS containers to disappear.', 'footnotes' ), + // Translators: %s: Referres and tooltips. + 'description-show-legacy' => sprintf( __( 'The legacy Custom CSS under the %s tab and its mirror here are emptied, and the select box saved as No, when the settings tab is saved while the settings container is not displayed.', 'footnotes' ), __( 'Referrers and tooltips', 'footnotes' ) ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays the new Custom CSS box. + * + * @since 2.2.2 + */ + public function custom_css_new(): void { + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'customize-css-new' ); + // Replace all placeholders. + $template->replace( + array( + 'css' => $this->add_textarea( \footnotes\includes\Settings::CUSTOM_CSS_NEW ), + + 'headline' => $this->add_text( __( 'Recommended CSS classes:', 'footnotes' ) ), + + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays available Hooks to look for Footnote short codes. + * + * Priority level was initially a hard-coded default + * shows ‘9223372036854775807’ in the numbox + * empty should be interpreted as `PHP_INT_MAX`, + * but a numbox cannot be set to empty, see {@link https://github.com/Modernizr/Modernizr/issues/171 + * here} + * define -1 as `PHP_INT_MAX` instead + * + * @since 1.5.5 + */ + public function lookup_hooks(): void { + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'expert-lookup' ); + + // Replace all placeholders. + $template->replace( + array( + 'description-1' => __( 'The priority level determines whether Footnotes is executed timely before other plugins, and how the reference container is positioned relative to other features.', 'footnotes' ), + // Translators: 1: 99; 2: 1200. + 'description-2' => sprintf( __( 'For the_content, this figure must be lower than %1$d so that certain strings added by a plugin running at %1$d may not be mistaken as a footnote. This makes also sure that the reference container displays above a feature inserted by a plugin running at %2$d.', 'footnotes' ), 99, 1200 ), + // Translators: 1: PHP_INT_MAX; 2: 0; 3: -1; 4: 'PHP_INT_MAX'. + 'description-3' => sprintf( __( '%1$d is lowest priority, %2$d is highest. To set priority level to lowest, set it to %3$d, interpreted as %1$d, the constant %4$s.', 'footnotes' ), PHP_INT_MAX, 0, -1, 'PHP_INT_MAX' ), + 'description-4' => __( 'The widget_text hook must be enabled either when footnotes are present in theme text widgets, or when Elementor accordions or toggles shall have a reference container per section. If they should not, this hook must be disabled.', 'footnotes' ), + + 'head-hook' => __( 'WordPress hook function name', 'footnotes' ), + 'head-checkbox' => __( 'Activate', 'footnotes' ), + 'head-numbox' => __( 'Priority level', 'footnotes' ), + 'head-url' => __( 'WordPress documentation', 'footnotes' ), + + 'label-the-title' => $this->add_label( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_TITLE, 'the_title' ), + 'the-title' => $this->add_checkbox( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_TITLE ), + 'priority-the-title' => $this->add_num_box( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX ), + 'url-the-title' => 'https://developer.wordpress.org/reference/hooks/the_title/', + + 'label-the-content' => $this->add_label( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_CONTENT, 'the_content' ), + 'the-content' => $this->add_checkbox( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_CONTENT ), + 'priority-the-content' => $this->add_num_box( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL, -1, PHP_INT_MAX ), + 'url-the-content' => 'https://developer.wordpress.org/reference/hooks/the_content/', + + 'label-the-excerpt' => $this->add_label( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_EXCERPT, 'the_excerpt' ), + 'the-excerpt' => $this->add_checkbox( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_EXCERPT ), + 'priority-the-excerpt' => $this->add_num_box( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL, -1, PHP_INT_MAX ), + 'url-the-excerpt' => 'https://developer.wordpress.org/reference/functions/the_excerpt/', + + 'label-widget-title' => $this->add_label( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TITLE, 'widget_title' ), + 'widget-title' => $this->add_checkbox( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TITLE ), + 'priority-widget-title' => $this->add_num_box( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX ), + 'url-widget-title' => 'https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_title', + + 'label-widget-text' => $this->add_label( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TEXT, 'widget_text' ), + 'widget-text' => $this->add_checkbox( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TEXT ), + 'priority-widget-text' => $this->add_num_box( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL, -1, PHP_INT_MAX ), + 'url-widget-text' => 'https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_text', + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays a short introduction to the plugin. + * + * @since 1.5.0 + * @todo Review in light of admin/public split. + */ + public function help(): void { + $general = new General\General( $this->plugin_name, 'foo' ); + + // Load footnotes starting and end tag. + $footnote_starting_tag = $this->load_setting( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START ); + $footnote_ending_tag = $this->load_setting( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END ); + + if ( 'userdefined' === $footnote_starting_tag['value'] || 'userdefined' === $footnote_ending_tag['value'] ) { + // Load user defined starting and end tag. + $footnote_starting_tag = $this->load_setting( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START_USER_DEFINED ); + $footnote_ending_tag = $this->load_setting( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END_USER_DEFINED ); + } + $example = 'Hello' . $footnote_starting_tag['value'] . + 'Sed ut perspiciatis, unde omnis iste natus error ' . + 'sit voluptatem accusantium doloremque laudantium, ' . + 'totam rem aperiam eaque ipsa, quae ab illo ' . + 'inventore veritatis et quasi architecto beatae ' . + 'vitae dicta sunt, explicabo. Nemo enim ipsam ' . + 'voluptatem, quia voluptas sit, aspernatur aut ' . + 'odit aut fugit, sed quia consequuntur magni ' . + 'dolores eos, qui ratione voluptatem sequi nesciunt, ' . + 'neque porro quisquam est, qui dolorem ipsum, quia ' . + 'dolor sit amet, consectetur, adipisci velit, sed ' . + 'quia non numquam eius modi tempora incidunt, ut ' . + 'labore et dolore magnam aliquam quaerat voluptatem.' . + $footnote_ending_tag['value'] . ' World!'; + + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'how-to-help' ); + // Replace all placeholders. + $template->replace( + array( + 'label-start' => __( 'Start your footnote with the following short code:', 'footnotes' ), + 'start' => $footnote_starting_tag['value'], + 'label-end' => __( '…and end your footnote with this short code:', 'footnotes' ), + 'end' => $footnote_ending_tag['value'], + 'example-code' => $example, + 'example-string' => '
                                                                                                                                                                                                    ' . __( 'will be displayed as:', 'footnotes' ), + 'example' => $general->task->exec( $example, true ), + // Translators: %1$s, %2$s: anchor element with hyperlink to the Support Forum. + 'information' => sprintf( __( 'For further information please check out our %1$sSupport Forum%2$s on WordPress.org.', 'footnotes' ), '', '' ), + ) + ); + + /* + * Call {@see Includes\Parser::footnotes_output_head()} function to get + * the styling of the mouse-over box. + * + * The name of the callback function ought to be distinct from + * the name of the filtered function. + * When this callback function was renamed, this call went unnoticed. + */ + $general->task->footnotes_output_head(); + + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + + /** + * Displays all Donate button to support the developers. + * + * @since 1.5.0 + */ + public function donate(): void { + // Load template file. + $template = new Includes\Template( \footnotes\includes\Template::DASHBOARD, 'how-to-donate' ); + // Replace all placeholders. + $template->replace( + array( + 'caption' => __( 'Donate now', 'footnotes' ), + ) + ); + // Display template with replaced placeholders. + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $template->get_content(); + // phpcs:enable + } + /** + * Returns the unique slug of the sub-page. + * + * @since 1.5.0 + * @return string + */ + protected function get_sub_page_slug(): string { + return '-' . $this->plugin_name; + } + /** + * Returns the title of the sub-page. + * + * @since 1.5.0 + * @return string + */ + protected function get_sub_page_title(): string { + return \footnotes\includes\Config::PLUGIN_PUBLIC_NAME; + } + /** + * Returns an array of all registered sections for the sub-page. + * + * @see Engine::add_section() For more information on the section array format. + * @return array[] All of the registered sections. + * + * @since 1.5.0 + * @since 2.1.6 Remove conditional rendering of ‘Expert’ tab. + */ + protected function get_sections(): array { + $tabs = array(); + + // Sync tab name with mirror in task.php. + $tabs[] = $this->add_section( 'settings', __( 'General settings', 'footnotes' ), 0, true ); + + // Sync tab name with mirror in public function custom_css_migration(). + $tabs[] = $this->add_section( 'customize', __( 'Referrers and tooltips', 'footnotes' ), 1, true ); + + $tabs[] = $this->add_section( 'expert', __( 'Scope and priority', 'footnotes' ), 2, true ); + $tabs[] = $this->add_section( 'customcss', __( 'Custom CSS', 'footnotes' ), 3, true ); + $tabs[] = $this->add_section( 'how-to', __( 'Quick start guide', 'footnotes' ), 4, false ); + + return $tabs; + } + /** + * Returns an array of all registered meta boxes for each section of the sub-page. + * + * @see Engine::add_meta_box() For more information on the + * meta box array format. + * @return array[] All of the registered meta boxes. + * + * @since 1.5.0 + * @since 2.2.0 Re-order and rename tabs. + */ + protected function get_meta_boxes(): array { + $meta_boxes = array(); + + $meta_boxes[] = $this->add_meta_box( 'settings', 'amp-compat', __( 'AMP compatibility', 'footnotes' ), 'amp_compat' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'start-end', __( 'Footnote start and end short codes', 'footnotes' ), 'start_end' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'numbering', __( 'Footnotes numbering', 'footnotes' ), 'numbering' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'scrolling', __( 'Scrolling behavior', 'footnotes' ), 'scrolling' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'hard-links', __( 'URL fragment ID configuration', 'footnotes' ), 'hard_links' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'reference-container', __( 'Reference container', 'footnotes' ), 'reference_container' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'excerpts', __( 'Footnotes in excerpts', 'footnotes' ), 'excerpts' ); + $meta_boxes[] = $this->add_meta_box( 'settings', 'love', \footnotes\includes\Config::PLUGIN_HEADING_NAME . ' ' . \footnotes\includes\Config::LOVE_SYMBOL_HEADING, 'love' ); + + $meta_boxes[] = $this->add_meta_box( 'customize', 'hyperlink-arrow', __( 'Backlink symbol', 'footnotes' ), 'hyperlink_arrow' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'superscript', __( 'Referrers', 'footnotes' ), 'superscript' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'label-solution', __( 'Referrers in labels', 'footnotes' ), 'label_solution' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box', __( 'Tooltips', 'footnotes' ), 'mouseover_box' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-position', __( 'Tooltip position', 'footnotes' ), 'mouseover_box_position' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-dimensions', __( 'Tooltip dimensions', 'footnotes' ), 'mouseover_box_dimensions' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-timing', __( 'Tooltip timing', 'footnotes' ), 'mouseover_box_timing' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-truncation', __( 'Tooltip truncation', 'footnotes' ), 'mouseover_box_truncation' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-text', __( 'Tooltip text', 'footnotes' ), 'mouseover_box_text' ); + $meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-appearance', __( 'Tooltip appearance', 'footnotes' ), 'mouseover_box_appearance' ); + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::CUSTOM_CSS_LEGACY_ENABLE ) ) ) { + $meta_boxes[] = $this->add_meta_box( 'customize', 'custom-css', __( 'Your existing Custom CSS code', 'footnotes' ), 'custom_css' ); + } + + $meta_boxes[] = $this->add_meta_box( 'expert', 'lookup', __( 'WordPress hooks with priority level', 'footnotes' ), 'lookup_hooks' ); + + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::CUSTOM_CSS_LEGACY_ENABLE ) ) ) { + $meta_boxes[] = $this->add_meta_box( 'customcss', 'custom-css-migration', __( 'Your existing Custom CSS code', 'footnotes' ), 'custom_css_migration' ); + } + $meta_boxes[] = $this->add_meta_box( 'customcss', 'custom-css-new', __( 'Custom CSS', 'footnotes' ), 'custom_css_new' ); + + $meta_boxes[] = $this->add_meta_box( 'how-to', 'help', __( 'Brief introduction: How to use the plugin', 'footnotes' ), 'help' ); + $meta_boxes[] = $this->add_meta_box( 'how-to', 'donate', __( 'Help us to improve our Plugin', 'footnotes' ), 'donate' ); + + return $meta_boxes; + } +} diff --git a/src/templates/dashboard/configure-label-solution.html b/src/admin/partials/configure-label-solution.html similarity index 100% rename from src/templates/dashboard/configure-label-solution.html rename to src/admin/partials/configure-label-solution.html diff --git a/src/templates/dashboard/customize-css-migration.html b/src/admin/partials/customize-css-migration.html similarity index 100% rename from src/templates/dashboard/customize-css-migration.html rename to src/admin/partials/customize-css-migration.html diff --git a/src/templates/dashboard/customize-css-new.html b/src/admin/partials/customize-css-new.html similarity index 100% rename from src/templates/dashboard/customize-css-new.html rename to src/admin/partials/customize-css-new.html diff --git a/src/templates/dashboard/customize-css.html b/src/admin/partials/customize-css.html similarity index 100% rename from src/templates/dashboard/customize-css.html rename to src/admin/partials/customize-css.html diff --git a/src/templates/dashboard/customize-hyperlink-arrow.html b/src/admin/partials/customize-hyperlink-arrow.html similarity index 100% rename from src/templates/dashboard/customize-hyperlink-arrow.html rename to src/admin/partials/customize-hyperlink-arrow.html diff --git a/src/templates/dashboard/customize-superscript.html b/src/admin/partials/customize-superscript.html similarity index 100% rename from src/templates/dashboard/customize-superscript.html rename to src/admin/partials/customize-superscript.html diff --git a/src/templates/dashboard/editor-button.html b/src/admin/partials/editor-button.html similarity index 100% rename from src/templates/dashboard/editor-button.html rename to src/admin/partials/editor-button.html diff --git a/src/templates/dashboard/expert-lookup.html b/src/admin/partials/expert-lookup.html similarity index 100% rename from src/templates/dashboard/expert-lookup.html rename to src/admin/partials/expert-lookup.html diff --git a/src/templates/dashboard/how-to-donate.html b/src/admin/partials/how-to-donate.html similarity index 100% rename from src/templates/dashboard/how-to-donate.html rename to src/admin/partials/how-to-donate.html diff --git a/src/templates/dashboard/how-to-help.html b/src/admin/partials/how-to-help.html similarity index 100% rename from src/templates/dashboard/how-to-help.html rename to src/admin/partials/how-to-help.html diff --git a/src/templates/dashboard/mouse-over-box-appearance.html b/src/admin/partials/mouse-over-box-appearance.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-appearance.html rename to src/admin/partials/mouse-over-box-appearance.html diff --git a/src/templates/dashboard/mouse-over-box-dimensions.html b/src/admin/partials/mouse-over-box-dimensions.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-dimensions.html rename to src/admin/partials/mouse-over-box-dimensions.html diff --git a/src/templates/dashboard/mouse-over-box-display.html b/src/admin/partials/mouse-over-box-display.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-display.html rename to src/admin/partials/mouse-over-box-display.html diff --git a/src/templates/dashboard/mouse-over-box-position.html b/src/admin/partials/mouse-over-box-position.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-position.html rename to src/admin/partials/mouse-over-box-position.html diff --git a/src/templates/dashboard/mouse-over-box-text.html b/src/admin/partials/mouse-over-box-text.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-text.html rename to src/admin/partials/mouse-over-box-text.html diff --git a/src/templates/dashboard/mouse-over-box-timing.html b/src/admin/partials/mouse-over-box-timing.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-timing.html rename to src/admin/partials/mouse-over-box-timing.html diff --git a/src/templates/dashboard/mouse-over-box-truncation.html b/src/admin/partials/mouse-over-box-truncation.html similarity index 100% rename from src/templates/dashboard/mouse-over-box-truncation.html rename to src/admin/partials/mouse-over-box-truncation.html diff --git a/src/templates/dashboard/other-plugins.html b/src/admin/partials/other-plugins.html similarity index 100% rename from src/templates/dashboard/other-plugins.html rename to src/admin/partials/other-plugins.html diff --git a/src/templates/dashboard/settings-amp.html b/src/admin/partials/settings-amp.html similarity index 100% rename from src/templates/dashboard/settings-amp.html rename to src/admin/partials/settings-amp.html diff --git a/src/templates/dashboard/settings-excerpts.html b/src/admin/partials/settings-excerpts.html similarity index 100% rename from src/templates/dashboard/settings-excerpts.html rename to src/admin/partials/settings-excerpts.html diff --git a/src/templates/dashboard/settings-hard-links.html b/src/admin/partials/settings-hard-links.html similarity index 100% rename from src/templates/dashboard/settings-hard-links.html rename to src/admin/partials/settings-hard-links.html diff --git a/src/templates/dashboard/settings-love.html b/src/admin/partials/settings-love.html similarity index 100% rename from src/templates/dashboard/settings-love.html rename to src/admin/partials/settings-love.html diff --git a/src/templates/dashboard/settings-numbering.html b/src/admin/partials/settings-numbering.html similarity index 100% rename from src/templates/dashboard/settings-numbering.html rename to src/admin/partials/settings-numbering.html diff --git a/src/templates/dashboard/settings-reference-container.html b/src/admin/partials/settings-reference-container.html similarity index 100% rename from src/templates/dashboard/settings-reference-container.html rename to src/admin/partials/settings-reference-container.html diff --git a/src/templates/dashboard/settings-scrolling.html b/src/admin/partials/settings-scrolling.html similarity index 100% rename from src/templates/dashboard/settings-scrolling.html rename to src/admin/partials/settings-scrolling.html diff --git a/src/templates/dashboard/settings-start-end.html b/src/admin/partials/settings-start-end.html similarity index 100% rename from src/templates/dashboard/settings-start-end.html rename to src/admin/partials/settings-start-end.html diff --git a/src/class/config.php b/src/class/config.php deleted file mode 100644 index 990fc3e..0000000 --- a/src/class/config.php +++ /dev/null @@ -1,73 +0,0 @@ -foot
                                                                                                                                                                                                    '; - - /** - * Public Plugin name for dashboard heading - * - * After properly displaying in dashboard headings until WPv5.4, the above started - * in WPv5.5 being torn apart as if the headline was text-align:justify and not - * the last line. That ugly display bug badly affected the plugin’s communication. - * The only working solution found so far is using position:fixed in one heading - * that isn’t translated, and dropping the logo in another, translatable heading. - * - * @since 2.0.4 - * @var string - */ - const C_STR_PLUGIN_HEADING_NAME = 'footnotes'; - - /** - * Html tag for the LOVE symbol. - * - * @since 1.5.0 - * @var string - */ - const C_STR_LOVE_SYMBOL = ''; - - /** - * HTML code for the 'love' symbol used in dashboard heading - * - * @since 2.0.4 - * @var string - */ - const C_STR_LOVE_SYMBOL_HEADING = ''; - - /** - * Short code to DON'T display the 'LOVE ME' slug on certain pages. - * - * @since 1.5.0 - * @var string - */ - const C_STR_NO_LOVE_SLUG = '[[no footnotes: love]]'; -} diff --git a/src/class/convert.php b/src/class/convert.php deleted file mode 100644 index af73213..0000000 --- a/src/class/convert.php +++ /dev/null @@ -1,222 +0,0 @@ - 26 ) { - // Increase offset and reduce counter. - $l_int_offset++; - $p_int_value -= 26; - } - // If offset set (more then Z), then add a new letter in front. - if ( $l_int_offset > 0 ) { - $l_str_return = chr( $l_int_offset + 64 ); - } - // Add the origin letter. - $l_str_return .= chr( $p_int_value + 64 ); - // Return the latin character representing the integer. - if ( $p_bool_upper_case ) { - return strtoupper( $l_str_return ); - } - return strtolower( $l_str_return ); - } - - /** - * Converts an integer to a leading-0 integer. - * - * @since 1.0-gamma - * @param int $p_int_value Value/Index to be converted. - * @return string Value with a leading zero. - */ - private static function to_arabic_leading( $p_int_value ) { - // Add a leading 0 if number lower then 10. - if ( $p_int_value < 10 ) { - return '0' . $p_int_value; - } - return $p_int_value; - } - - /** - * Converts an integer to a romanic letter. - * - * @since 1.0-gamma - * @param int $p_int_value Value/Index to be converted. - * @param bool $p_bool_upper_case Whether to uppercase. - * @return string - * - * Edited: - * @since 2.2.0 optionally lowercase (code from Latin) - */ - private static function to_romanic( $p_int_value, $p_bool_upper_case ) { - // Table containing all necessary romanic letters. - $l_arr_romanic_letters = array( - 'M' => 1000, - 'CM' => 900, - 'D' => 500, - 'CD' => 400, - 'C' => 100, - 'XC' => 90, - 'L' => 50, - 'XL' => 40, - 'X' => 10, - 'IX' => 9, - 'V' => 5, - 'IV' => 4, - 'I' => 1, - ); - // Return value. - $l_str_return = ''; - // Iterate through integer value until it is reduced to 0. - while ( $p_int_value > 0 ) { - foreach ( $l_arr_romanic_letters as $l_str_romanic => $l_int_arabic ) { - if ( $p_int_value >= $l_int_arabic ) { - $p_int_value -= $l_int_arabic; - $l_str_return .= $l_str_romanic; - break; - } - } - } - // Return romanic letters as string. - if ( $p_bool_upper_case ) { - return strtoupper( $l_str_return ); - } - return strtolower( $l_str_return ); - } - - /** - * Converts a string depending on its value to a boolean. - * - * @since 1.0-beta - * @param string $p_str_value String to be converted to boolean. - * @return bool Boolean representing the string. - */ - public static function to_bool( $p_str_value ) { - // Convert string to lower-case to make it easier. - $p_str_value = strtolower( $p_str_value ); - // Check if string seems to contain a "true" value. - switch ( $p_str_value ) { - case 'checked': - case 'yes': - case 'true': - case 'on': - case '1': - return true; - } - // Nothing found that says "true", so we return false. - return false; - } - - /** - * Get a html Array short code depending on Arrow-Array key index. - * - * @since 1.3.2 - * @param int $p_int_index Index representing the Arrow. If empty all Arrows are specified. - * @return array|string Array of all Arrows if Index is empty otherwise html tag of a specific arrow. - */ - public static function get_arrow( $p_int_index = -1 ) { - // Define all possible arrows. - $l_arr_arrows = array( '↑', '↥', '↟', '↩', '↲', '↵', '⇑', '⇡', '⇧', '↑' ); - // Convert index to an integer. - if ( ! is_int( $p_int_index ) ) { - $p_int_index = intval( $p_int_index ); - } - // Return the whole arrow array. - if ( $p_int_index < 0 || $p_int_index > count( $l_arr_arrows ) ) { - return $l_arr_arrows; - } - // Return a single arrow. - return $l_arr_arrows[ $p_int_index ]; - } - - // phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_var_dump - // phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_print_r - /** - * Displays a Variable. - * - * @since 1.5.0 - * @param mixed $p_mixed_value The variable to display. - * @return void - */ - public static function debug( $p_mixed_value ) { - if ( empty( $p_mixed_value ) ) { - var_dump( $p_mixed_value ); - - } elseif ( is_array( $p_mixed_value ) ) { - printf( '
                                                                                                                                                                                                    ' );
                                                                                                                                                                                                    -			print_r( $p_mixed_value );
                                                                                                                                                                                                    -			printf( '
                                                                                                                                                                                                    ' ); - - } elseif ( is_object( $p_mixed_value ) ) { - printf( '
                                                                                                                                                                                                    ' );
                                                                                                                                                                                                    -			print_r( $p_mixed_value );
                                                                                                                                                                                                    -			printf( '
                                                                                                                                                                                                    ' ); - - } elseif ( is_numeric( $p_mixed_value ) || is_int( $p_mixed_value ) ) { - var_dump( $p_mixed_value ); - - } elseif ( is_date( $p_mixed_value ) ) { - var_dump( $p_mixed_value ); - - } else { - var_dump( $p_mixed_value ); - } - echo '
                                                                                                                                                                                                    '; - } - // phpcs:disable -} diff --git a/src/class/dashboard/init.php b/src/class/dashboard/init.php deleted file mode 100644 index 19f291e..0000000 --- a/src/class/dashboard/init.php +++ /dev/null @@ -1,148 +0,0 @@ -settings_page = new Footnotes_Layout_Settings(); - - // Register hooks/actions. - add_action( 'admin_menu', array( $this, 'register_options_submenu' ) ); - add_action( 'admin_init', array( $this, 'initialize_settings' ) ); - // Register AJAX callbacks for Plugin information. - add_action( 'wp_ajax_nopriv_footnotes_get_plugin_info', array( $this, 'get_plugin_meta_information' ) ); - add_action( 'wp_ajax_footnotes_get_plugin_info', array( $this, 'get_plugin_meta_information' ) ); - } - - /** - * Registers the settings and initialises the settings page. - * - * @since 1.5.0 - */ - public function initialize_settings() { - Footnotes_Settings::instance()->register_settings(); - $this->settings_page->register_sections(); - } - - /** - * Registers the footnotes submenu page. - * - * @since 1.5.0 - * @see http://codex.wordpress.org/Function_Reference/add_menu_page - */ - public function register_options_submenu() { - add_submenu_page( - 'options-general.php', - 'footnotes Settings', - self::C_STR_MAIN_MENU_SLUG, - 'manage_options', - 'footnotes', - array( $this->settings_page, 'display_content' ) - ); - $this->settings_page->register_sub_page(); - } - - // phpcs:disable WordPress.Security.NonceVerification.Missing - /** - * AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin. - * - * @since 1.5.0 - */ - public function get_plugin_meta_information() { - // TODO: add nonce verification. - - // Get plugin internal name from POST data. - if ( isset( $_POST['plugin'] ) ) { - $l_str_plugin_name = wp_unslash( $_POST['plugin'] ); - } - - if ( empty( $l_str_plugin_name ) ) { - echo wp_json_encode( array( 'error' => 'Plugin name invalid.' ) ); - exit; - } - $l_str_url = 'https://api.wordpress.org/plugins/info/1.0/' . $l_str_plugin_name . '.json'; - // Call URL and collect data. - $l_arr_response = wp_remote_get( $l_str_url ); - // Check if response is valid. - if ( is_wp_error( $l_arr_response ) ) { - echo wp_json_encode( array( 'error' => 'Error receiving Plugin Information from WordPress.' ) ); - exit; - } - if ( ! array_key_exists( 'body', $l_arr_response ) ) { - echo wp_json_encode( array( 'error' => 'Error reading WordPress API response message.' ) ); - exit; - } - // Get the body of the response. - $l_str_response = $l_arr_response['body']; - // Get plugin object. - $l_arr_plugin = json_decode( $l_str_response, true ); - if ( empty( $l_arr_plugin ) ) { - echo wp_json_encode( array( 'error' => 'Error reading Plugin meta information.
                                                                                                                                                                                                    URL: ' . $l_str_url . '
                                                                                                                                                                                                    Response: ' . $l_str_response ) ); - exit; - } - - $l_int_num_ratings = array_key_exists( 'num_ratings', $l_arr_plugin ) ? intval( $l_arr_plugin['num_ratings'] ) : 0; - $l_int_rating = array_key_exists( 'rating', $l_arr_plugin ) ? floatval( $l_arr_plugin['rating'] ) : 0.0; - $l_int_stars = round( 5 * $l_int_rating / 100.0, 1 ); - - // Return Plugin information as JSON encoded string. - echo wp_json_encode( - array( - 'error' => '', - 'PluginDescription' => array_key_exists( 'short_description', $l_arr_plugin ) ? html_entity_decode( $l_arr_plugin['short_description'] ) : 'Error reading Plugin information', - 'PluginAuthor' => array_key_exists( 'author', $l_arr_plugin ) ? html_entity_decode( $l_arr_plugin['author'] ) : 'unknown', - 'PluginRatingText' => $l_int_stars . ' ' . __( 'rating based on', 'footnotes' ) . ' ' . $l_int_num_ratings . ' ' . __( 'ratings', 'footnotes' ), - 'PluginRating1' => $l_int_stars >= 0.5 ? 'star-full' : 'star-empty', - 'PluginRating2' => $l_int_stars >= 1.5 ? 'star-full' : 'star-empty', - 'PluginRating3' => $l_int_stars >= 2.5 ? 'star-full' : 'star-empty', - 'PluginRating4' => $l_int_stars >= 3.5 ? 'star-full' : 'star-empty', - 'PluginRating5' => $l_int_stars >= 4.5 ? 'star-full' : 'star-empty', - 'PluginRating' => $l_int_num_ratings, - 'PluginLastUpdated' => array_key_exists( 'last_updated', $l_arr_plugin ) ? $l_arr_plugin['last_updated'] : 'unknown', - 'PluginDownloads' => array_key_exists( 'downloaded', $l_arr_plugin ) ? $l_arr_plugin['downloaded'] : '---', - ) - ); - exit; - } - // phpcs:enable WordPress.Security.NonceVerification.Missing -} diff --git a/src/class/dashboard/layout.php b/src/class/dashboard/layout.php deleted file mode 100644 index a5a596d..0000000 --- a/src/class/dashboard/layout.php +++ /dev/null @@ -1,587 +0,0 @@ - Footnotes_Config::C_STR_PLUGIN_NAME . '-' . $p_str_id, - 'title' => $p_str_title, - 'submit' => $p_bool_has_submit_button, - 'container' => $p_int_settings_container_index, - ); - } - - /** - * Returns an array describing a meta box. - * - * @since 1.5.0 - * @param string $p_str_section_id Parent Section ID. - * @param string $p_str_id Unique ID suffix. - * @param string $p_str_title Title for the meta box. - * @param string $p_str_callback_function_name Class method name for callback. - * @return array meta box description to be able to append a meta box to the output. - */ - protected function add_meta_box( $p_str_section_id, $p_str_id, $p_str_title, $p_str_callback_function_name ) { - return array( - 'parent' => Footnotes_Config::C_STR_PLUGIN_NAME . '-' . $p_str_section_id, - 'id' => $p_str_id, - 'title' => $p_str_title, - 'callback' => $p_str_callback_function_name, - ); - } - - /** - * Registers a sub page. - * - * @since 1.5.0 - */ - public function register_sub_page() { - global $submenu; - - if ( array_key_exists( plugin_basename( Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG ), $submenu ) ) { - foreach ( $submenu[ plugin_basename( Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG ) ] as $l_arr_sub_menu ) { - if ( plugin_basename( Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG . $this->get_sub_page_slug() ) === $l_arr_sub_menu[2] ) { - remove_submenu_page( Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG, Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG . $this->get_sub_page_slug() ); - } - } - } - - $this->a_str_sub_page_hook = add_submenu_page( - Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG, - $this->get_sub_page_title(), - $this->get_sub_page_title(), - 'manage_options', - Footnotes_Layout_Init::C_STR_MAIN_MENU_SLUG . $this->get_sub_page_slug(), - array( $this, 'display_content' ) - ); - } - - /** - * Registers all sections for a sub page. - * - * @since 1.5.0 - */ - public function register_sections() { - foreach ( $this->get_sections() as $l_arr_section ) { - // Append tab to the tab-array. - $this->a_arr_sections[ $l_arr_section['id'] ] = $l_arr_section; - add_settings_section( - $l_arr_section['id'], - '', - array( $this, 'Description' ), - $l_arr_section['id'] - ); - $this->register_meta_boxes( $l_arr_section['id'] ); - } - } - - /** - * Registers all Meta boxes for a sub page. - * - * @since 1.5.0 - * @param string $p_str_parent_id Parent section unique id. - */ - private function register_meta_boxes( $p_str_parent_id ) { - // Iterate through each meta box. - foreach ( $this->get_meta_boxes() as $l_arr_meta_box ) { - if ( $p_str_parent_id !== $l_arr_meta_box['parent'] ) { - continue; - } - add_meta_box( - $p_str_parent_id . '-' . $l_arr_meta_box['id'], - $l_arr_meta_box['title'], - array( $this, $l_arr_meta_box['callback'] ), - $p_str_parent_id, - 'main' - ); - } - } - - /** - * Append javascript and css files for specific sub page. - * - * @since 1.5.0 - */ - private function append_scripts() { - wp_enqueue_script( 'postbox' ); - wp_enqueue_style( 'wp-color-picker' ); - wp_enqueue_script( 'wp-color-picker' ); - - /** - * Registers and enqueues the dashboard stylesheet. - * - * - Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report. - * - * @since 2.5.5 - * - * @reporter @docteurfitness - * @link https://wordpress.org/support/topic/simply-speed-optimisation/ - * - * See the public stylesheet enqueuing: - * @see class/init.php - * - * added version # after changes started to settings.css from 2.1.2 on. - * automated update of version number for cache busting. - * No need to use '-styles' in the handle, as '-css' is appended automatically. - */ - if ( true === PRODUCTION_ENV ) { - - wp_register_style( 'mci-footnotes-admin', plugins_url( 'footnotes/css/settings.min.css' ), array(), C_STR_FOOTNOTES_VERSION ); - - } else { - - wp_register_style( 'mci-footnotes-admin', plugins_url( 'footnotes/css/settings.css' ), array(), C_STR_FOOTNOTES_VERSION ); - - } - - wp_enqueue_style( 'mci-footnotes-admin' ); - } - - // phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing - /** - * Displays the content of specific sub page. - * - * @since 1.5.0 - */ - public function display_content() { - $this->append_scripts(); - - // TODO: add nonce verification. - - // Get the current section. - reset( $this->a_arr_sections ); - $l_str_active_section_id = isset( $_GET['t'] ) ? wp_unslash( $_GET['t'] ) : key( $this->a_arr_sections ); - $l_arr_active_section = $this->a_arr_sections[ $l_str_active_section_id ]; - - // Store settings. - $l_bool_settings_updated = false; - if ( array_key_exists( 'save-settings', $_POST ) ) { - if ( 'save' === $_POST['save-settings'] ) { - unset( $_POST['save-settings'] ); - unset( $_POST['submit'] ); - $l_bool_settings_updated = $this->save_settings(); - } - } - - // Display all sections and highlight the active section. - echo '
                                                                                                                                                                                                    '; - echo '
                                                                                                                                                                                                    '; - - if ( $l_bool_settings_updated ) { - echo sprintf( '
                                                                                                                                                                                                    %s
                                                                                                                                                                                                    ', __( 'Settings saved', 'footnotes' ) ); - } - - // Form to submit the active section. - echo '
                                                                                                                                                                                                    '; - echo ''; - // Outputs the settings field of the active section. - do_settings_sections( $l_arr_active_section['id'] ); - do_meta_boxes( $l_arr_active_section['id'], 'main', null ); - - // Add submit button to active section if defined. - if ( $l_arr_active_section['submit'] ) { - submit_button(); - } - echo '
                                                                                                                                                                                                    '; - echo '
                                                                                                                                                                                                    '; - - // Echo JavaScript for the expand/collapse function of the meta boxes. - echo ''; - } - // phpcs:enable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing - - // phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing - /** - * Save all Plugin settings. - * - * @since 1.5.0 - * @return bool - */ - private function save_settings() { - $l_arr_new_settings = array(); - - // TODO: add nonce verification. - - // Get current section. - reset( $this->a_arr_sections ); - $l_str_active_section_id = isset( $_GET['t'] ) ? wp_unslash( $_GET['t'] ) : key( $this->a_arr_sections ); - $l_arr_active_section = $this->a_arr_sections[ $l_str_active_section_id ]; - - foreach ( Footnotes_Settings::instance()->get_defaults( $l_arr_active_section['container'] ) as $l_str_key => $l_mixed_value ) { - if ( array_key_exists( $l_str_key, $_POST ) ) { - $l_arr_new_settings[ $l_str_key ] = wp_unslash( $_POST[ $l_str_key ] ); - } else { - // Setting is not defined in the POST array, define it to avoid the Default value. - $l_arr_new_settings[ $l_str_key ] = ''; - } - } - // Update settings. - return Footnotes_Settings::instance()->save_options( $l_arr_active_section['container'], $l_arr_new_settings ); - } - // phpcs:enable WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing - - /** - * Output the Description of a section. May be overwritten in any section. - * - * @since 1.5.0 - */ - public function description() { - // Default no description will be displayed. - } - - /** - * Loads specific setting and returns an array with the keys [id, name, value]. - * - * @since 1.5.0 - * @param string $p_str_setting_key_name Settings Array key name. - * @return array Contains Settings ID, Settings Name and Settings Value. - * - * @since 2.5.11 Remove escapement function. - * When refactoring the codebase after 2.5.8, all and every output was escaped. - * After noticing that the plugin was broken, all escapement functions were removed. - * @link https://github.com/markcheret/footnotes/pull/50/commits/25c3f2f12eb5de1079e9215bf624ec4289b095a5 - * @link https://github.com/markcheret/footnotes/pull/50#issuecomment-787624123 - * In that process, this instance of esc_attr() was removed too, so the plugin was - * broken again. - * @link https://github.com/markcheret/footnotes/pull/50/commits/25c3f2f12eb5de1079e9215bf624ec4289b095a5#diff-a8ed6e859c32a18fc10bbbad3b4dd8ce7f43f2378d29471c7638e314ab30f1bdL349-L354 - * - * @since 2.5.15 To fix it, the data was escaped in add_select_box() instead. - * @since 2.6.1 Restore esc_attr() in load_setting(). - * @see add_select_box() - * This is the only instance of esc_|kses|sanitize in the pre-2.5.11 codebase. - * Removing this did not fix the quotation mark backslash escapement bug. - */ - protected function load_setting( $p_str_setting_key_name ) { - // Get current section. - reset( $this->a_arr_sections ); - $p_arr_return = array(); - $p_arr_return['id'] = sprintf( '%s', $p_str_setting_key_name ); - $p_arr_return['name'] = sprintf( '%s', $p_str_setting_key_name ); - $p_arr_return['value'] = esc_attr( Footnotes_Settings::instance()->get( $p_str_setting_key_name ) ); - return $p_arr_return; - } - - /** - * Returns a line break to start a new line. - * - * @since 1.5.0 - * @return string - */ - protected function add_newline() { - return '
                                                                                                                                                                                                    '; - } - - /** - * Returns a line break to have a space between two lines. - * - * @since 1.5.0 - * @return string - */ - protected function add_line_space() { - return '

                                                                                                                                                                                                    '; - } - - /** - * Returns a simple text inside html text. - * - * @since 1.5.0 - * @param string $p_str_text Message to be surrounded with simple html tag (span). - * @return string - */ - protected function add_text( $p_str_text ) { - return sprintf( '%s', $p_str_text ); - } - - /** - * Returns the html tag for an input/select label. - * - * @since 1.5.0 - * @param string $p_str_setting_name Name of the Settings key to connect the Label with the input/select field. - * @param string $p_str_caption Label caption. - * @return string - */ - protected function add_label( $p_str_setting_name, $p_str_caption ) { - if ( empty( $p_str_caption ) ) { - return ''; - } - - /* - * Remove the colon causing localization issues with French, and with - * languages not using punctuation at all, and with languages using other - * punctuation marks instead of colon, e.g. Greek using a raised dot. - * In French, colon is preceded by a space, forcibly non-breaking, and - * narrow per new school. - * Add colon to label strings for inclusion in localization. Colon after - * label is widely preferred best practice, mandatory per - * [style guides](https://softwareengineering.stackexchange.com/questions/234546/colons-in-internationalized-ui). - */ - return sprintf( '', $p_str_setting_name, $p_str_caption ); - } - - /** - * Returns the html tag for an input [type = text]. - * - * @since 1.5.0 - * @param string $p_str_setting_name Name of the Settings key to pre load the input field. - * @param int $p_str_max_length Maximum length of the input, default 999 characters. - * @param bool $p_bool_readonly Set the input to be read only, default false. - * @param bool $p_bool_hidden Set the input to be hidden, default false. - * @return string - */ - protected function add_text_box( $p_str_setting_name, $p_str_max_length = 999, $p_bool_readonly = false, $p_bool_hidden = false ) { - $l_str_style = ''; - // Collect data for given settings field. - $l_arr_data = $this->load_setting( $p_str_setting_name ); - if ( $p_bool_hidden ) { - $l_str_style .= 'display:none;'; - } - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - $p_str_max_length, - $l_str_style, - $l_arr_data['value'], - $p_bool_readonly ? 'readonly="readonly"' : '' - ); - } - - /** - * Returns the html tag for an input [type = checkbox]. - * - * @since 1.5.0 - * @param string $p_str_setting_name Name of the Settings key to pre load the input field. - * @return string - */ - protected function add_checkbox( $p_str_setting_name ) { - // Collect data for given settings field. - $l_arr_data = $this->load_setting( $p_str_setting_name ); - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - Footnotes_Convert::to_bool( $l_arr_data['value'] ) ? 'checked="checked"' : '' - ); - } - - /** - * Returns the html tag for a select box. - * - * @since 1.5.0 - * - * - Bugfix: Dashboard: Referrers and tooltips: Backlink symbol: debug select box by reverting identity check to equality check, thanks to @lolzim bug report. - * - * @reporter @lolzim - * - * @since 2.5.13 - * @param string $p_str_setting_name Name of the Settings key to pre select the current value. - * @param array $p_arr_options Possible options to be selected. - * @return string - * - * @since 2.5.15 Bugfix: Dashboard: General settings: Footnote start and end short codes: debug select box for shortcodes with pointy brackets. - * @since 2.6.1 Restore esc_attr() in load_setting(), remove htmlspecialchars() here. - */ - protected function add_select_box( $p_str_setting_name, $p_arr_options ) { - // Collect data for given settings field. - $l_arr_data = $this->load_setting( $p_str_setting_name ); - $l_str_options = ''; - - // Loop through all array keys. - foreach ( $p_arr_options as $l_str_value => $l_str_caption ) { - $l_str_options .= sprintf( - '', - $l_str_value, - // Only check for equality, not identity, WRT backlink symbol arrows. - // phpcs:disable WordPress.PHP.StrictComparisons.LooseComparison - $l_str_value == $l_arr_data['value'] ? 'selected' : '', - // phpcs:enable WordPress.PHP.StrictComparisons.LooseComparison - $l_str_caption - ); - } - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - $l_str_options - ); - } - - /** - * Returns the html tag for a text area. - * - * @since 1.5.0 - * @param string $p_str_setting_name Name of the Settings key to pre fill the text area. - * @return string - */ - protected function add_textarea( $p_str_setting_name ) { - // Collect data for given settings field. - $l_arr_data = $this->load_setting( $p_str_setting_name ); - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - $l_arr_data['value'] - ); - } - - /** - * Returns the html tag for an input [type = text] with color selection class. - * - * @since 1.5.6 - * @param string $p_str_setting_name Name of the Settings key to pre load the input field. - * @return string - */ - protected function add_color_selection( $p_str_setting_name ) { - // Collect data for given settings field. - $l_arr_data = $this->load_setting( $p_str_setting_name ); - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - $l_arr_data['value'] - ); - } - - /** - * Returns the html tag for an input [type = num]. - * - * @since 1.5.0 - * @param string $p_str_setting_name Name of the Settings key to pre load the input field. - * @param int $p_in_min Minimum value. - * @param int $p_int_max Maximum value. - * @param bool $p_bool_deci true if 0.1 steps and floating to string, false if integer (default). - * @return string - * - * Edited: - * @since 2.1.4 step argument and number_format() to allow decimals .. - */ - protected function add_num_box( $p_str_setting_name, $p_in_min, $p_int_max, $p_bool_deci = false ) { - // Collect data for given settings field. - $l_arr_data = $this->load_setting( $p_str_setting_name ); - - if ( $p_bool_deci ) { - $l_str_value = number_format( floatval( $l_arr_data['value'] ), 1 ); - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - $l_str_value, - $p_in_min, - $p_int_max - ); - } else { - return sprintf( - '', - $l_arr_data['name'], - $l_arr_data['id'], - $l_arr_data['value'], - $p_in_min, - $p_int_max - ); - } - } - -} diff --git a/src/class/dashboard/subpage-main.php b/src/class/dashboard/subpage-main.php deleted file mode 100644 index cb03460..0000000 --- a/src/class/dashboard/subpage-main.php +++ /dev/null @@ -1,1400 +0,0 @@ -add_section( 'settings', __( 'General settings', 'footnotes' ), 0, true ); - - // Sync tab name with mirror in public function custom_css_migration(). - $l_arr_tabs[] = $this->add_section( 'customize', __( 'Referrers and tooltips', 'footnotes' ), 1, true ); - - $l_arr_tabs[] = $this->add_section( 'expert', __( 'Scope and priority', 'footnotes' ), 2, true ); - $l_arr_tabs[] = $this->add_section( 'customcss', __( 'Custom CSS', 'footnotes' ), 3, true ); - $l_arr_tabs[] = $this->add_section( 'how-to', __( 'Quick start guide', 'footnotes' ), null, false ); - - return $l_arr_tabs; - } - - /** - * Returns an array of all registered meta boxes for each section of the sub page. - * - * @since 1.5.0 - * @return array - * - * Edited for 2.0.0 and later. - * - * hyperlink_arrow meta box: - * @since 2.0.0 discontinued - * @since 2.0.4 restored to meet user demand for arrow symbol semantics - * @since 2.1.4 discontinued, content moved to Settings > Reference container > Display a backlink symbol - * - * @since 2.0.4 to reflect changes in meta box label display since WPv5.5 - * spans need position:fixed and become unlocalizable - * fix: logo is kept only in the label that doesn't need to be translated: - * Change string "%s styling" to "Footnotes styling" to fix layout in WPv5.5 - * @see details in class/config.php - * - * @since 2.1.6 / 2.2.0 tabs reordered and renamed - */ - protected function get_meta_boxes() { - $l_arr_meta_boxes = array(); - - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'amp-compat', __( 'AMP compatibility', 'footnotes' ), 'amp_compat' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'start-end', __( 'Footnote start and end short codes', 'footnotes' ), 'start_end' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'numbering', __( 'Footnotes numbering', 'footnotes' ), 'numbering' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'scrolling', __( 'Scrolling behavior', 'footnotes' ), 'scrolling' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'hard-links', __( 'URL fragment ID configuration', 'footnotes' ), 'hard_links' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'reference-container', __( 'Reference container', 'footnotes' ), 'reference_container' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'excerpts', __( 'Footnotes in excerpts', 'footnotes' ), 'excerpts' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'love', Footnotes_Config::C_STR_PLUGIN_HEADING_NAME . ' ' . Footnotes_Config::C_STR_LOVE_SYMBOL_HEADING, 'love' ); - - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'hyperlink-arrow', __( 'Backlink symbol', 'footnotes' ), 'hyperlink_arrow' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'superscript', __( 'Referrers', 'footnotes' ), 'superscript' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'label-solution', __( 'Referrers in labels', 'footnotes' ), 'label_solution' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box', __( 'Tooltips', 'footnotes' ), 'mouseover_box' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-position', __( 'Tooltip position', 'footnotes' ), 'mouseover_box_position' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-dimensions', __( 'Tooltip dimensions', 'footnotes' ), 'mouseover_box_dimensions' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-timing', __( 'Tooltip timing', 'footnotes' ), 'mouseover_box_timing' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-truncation', __( 'Tooltip truncation', 'footnotes' ), 'mouseover_box_truncation' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-text', __( 'Tooltip text', 'footnotes' ), 'mouseover_box_text' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'mouse-over-box-appearance', __( 'Tooltip appearance', 'footnotes' ), 'mouseover_box_appearance' ); - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_CUSTOM_CSS_LEGACY_ENABLE ) ) ) { - $l_arr_meta_boxes[] = $this->add_meta_box( 'customize', 'custom-css', __( 'Your existing Custom CSS code', 'footnotes' ), 'custom_css' ); - } - - $l_arr_meta_boxes[] = $this->add_meta_box( 'expert', 'lookup', __( 'WordPress hooks with priority level', 'footnotes' ), 'lookup_hooks' ); - - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_CUSTOM_CSS_LEGACY_ENABLE ) ) ) { - $l_arr_meta_boxes[] = $this->add_meta_box( 'customcss', 'custom-css-migration', __( 'Your existing Custom CSS code', 'footnotes' ), 'custom_css_migration' ); - } - $l_arr_meta_boxes[] = $this->add_meta_box( 'customcss', 'custom-css-new', __( 'Custom CSS', 'footnotes' ), 'custom_css_new' ); - - $l_arr_meta_boxes[] = $this->add_meta_box( 'how-to', 'help', __( 'Brief introduction: How to use the plugin', 'footnotes' ), 'help' ); - $l_arr_meta_boxes[] = $this->add_meta_box( 'how-to', 'donate', __( 'Help us to improve our Plugin', 'footnotes' ), 'donate' ); - - return $l_arr_meta_boxes; - } - - /** - * Displays the AMP compatibility mode option. - * - * @since 2.5.11 (draft) - * @since 2.6.0 (release) - */ - public function amp_compat() { - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-amp' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - // Translators: '%s' is the link text 'AMP-WP' linked to the plugin's front page on WordPress.org. - 'description-1-amp' => sprintf( __( 'The official %s plugin is required when this option is enabled.', 'footnotes' ), 'AMP-WP' ), - 'label-amp' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE, __( 'Enable AMP compatibility mode:', 'footnotes' ) ), - 'amp' => $this->add_checkbox( Footnotes_Settings::C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE ), - 'notice-amp' => __( 'This option enables hard links with configurable scroll offset in % viewport height.', 'footnotes' ), - // Translators: '%s' is the logogram of the 'Footnotes' plugin. - 'description-2-amp' => sprintf( __( '%s is becoming AMP compatible when this box is checked. Styled tooltips are displayed with fade-in/fade-out effect if enabled, and the reference container expands also on clicking a referrer if it\'s collapsed by default.', 'footnotes' ), '' . Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . '' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all settings for the reference container. - * - * @since 1.5.0 - * - * Completed: - * @since 2.1.4: layout and typography options - * @since 2.2.5 options for label element and label bottom border, thanks to @markhillyer - * @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ - */ - public function reference_container() { - - // Options for the label element. - $l_arr_label_element = array( - 'p' => __( 'paragraph', 'footnotes' ), - 'h2' => __( 'heading 2', 'footnotes' ), - 'h3' => __( 'heading 3', 'footnotes' ), - 'h4' => __( 'heading 4', 'footnotes' ), - 'h5' => __( 'heading 5', 'footnotes' ), - 'h6' => __( 'heading 6', 'footnotes' ), - ); - // Options for the positioning of the reference container. - $l_arr_positions = array( - 'post_end' => __( 'at the end of the post', 'footnotes' ), - 'widget' => __( 'in the widget area', 'footnotes' ), - 'footer' => __( 'in the footer', 'footnotes' ), - ); - // Basic responsive page layout options. - $l_arr_page_layout_options = array( - 'none' => __( 'No', 'footnotes' ), - 'reference-container' => __( 'to the reference container exclusively', 'footnotes' ), - 'entry-content' => __( 'to the div element starting below the post title', 'footnotes' ), - 'main-content' => __( 'to the main element including the post title', 'footnotes' ), - ); - // Options for the separating punctuation between backlinks. - $l_arr_separators = array( - // Unicode character names are conventionally uppercase. - 'comma' => __( 'COMMA', 'footnotes' ), - 'semicolon' => __( 'SEMICOLON', 'footnotes' ), - 'en_dash' => __( 'EN DASH', 'footnotes' ), - ); - // Options for the terminating punctuation after backlinks. - // The Unicode name of RIGHT PARENTHESIS was originally more accurate because. - // This character is bidi-mirrored. Let's use the Unicode 1.0 name. - // The wrong names were enforced in spite of Unicode, that subsequently scrambled to correct. - $l_arr_terminators = array( - 'period' => __( 'FULL STOP', 'footnotes' ), - // Unicode 1.0 name of RIGHT PARENTHESIS (represented as a left parenthesis in right-to-left scripts). - 'parenthesis' => __( 'CLOSING PARENTHESIS', 'footnotes' ), - 'colon' => __( 'COLON', 'footnotes' ), - ); - // Options for the first column width (per cent is a ratio, not a unit). - $l_arr_width_units = array( - '%' => __( 'per cent', 'footnotes' ), - 'px' => __( 'pixels', 'footnotes' ), - 'rem' => __( 'root em', 'footnotes' ), - 'em' => __( 'em', 'footnotes' ), - 'vw' => __( 'viewport width', 'footnotes' ), - ); - // Options for reference container script mode. - $l_arr_script_mode = array( - 'jquery' => __( 'jQuery', 'footnotes' ), - 'js' => __( 'plain JavaScript', 'footnotes' ), - ); - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-reference-container' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-name' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME, __( 'Heading:', 'footnotes' ) ), - 'name' => $this->add_text_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME ), - - 'label-element' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT, __( 'Heading\'s HTML element:', 'footnotes' ) ), - 'element' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT, $l_arr_label_element ), - - 'label-border' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER, __( 'Border under the heading:', 'footnotes' ) ), - 'border' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER, $l_arr_enabled ), - - 'label-collapse' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_COLLAPSE, __( 'Collapse by default:', 'footnotes' ) ), - 'collapse' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_COLLAPSE, $l_arr_enabled ), - - 'label-script' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE, __( 'Script mode:', 'footnotes' ) ), - 'script' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE, $l_arr_script_mode ), - 'notice-script' => __( 'The plain JavaScript mode will enable hard links with configurable scroll offset.', 'footnotes' ), - - 'label-position' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION, __( 'Default position:', 'footnotes' ) ), - 'position' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION, $l_arr_positions ), - // Translators: %s: at the end of the post. - 'notice-position' => sprintf( __( 'To use the position or section shortcode, please set the position to: %s', 'footnotes' ), '' . __( 'at the end of the post', 'footnotes' ) . '' ), - - 'label-shortcode' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE, __( 'Position shortcode:', 'footnotes' ) ), - 'shortcode' => $this->add_text_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE ), - 'notice-shortcode' => __( 'If present in the content, any shortcode in this text box will be replaced with the reference container.', 'footnotes' ), - - 'label-section' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTE_SECTION_SHORTCODE, __( 'Footnote section shortcode:', 'footnotes' ) ), - 'section' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTE_SECTION_SHORTCODE ), - 'notice-section' => __( 'If present in the content, any shortcode in this text box will delimit a section terminated by a reference container.', 'footnotes' ), - - 'label-startpage' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE, __( 'Display on start page too:', 'footnotes' ) ), - 'startpage' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE, $l_arr_enabled ), - - 'label-margin-top' => $this->add_label( Footnotes_Settings::C_INT_REFERENCE_CONTAINER_TOP_MARGIN, __( 'Top margin:', 'footnotes' ) ), - 'margin-top' => $this->add_num_box( Footnotes_Settings::C_INT_REFERENCE_CONTAINER_TOP_MARGIN, -500, 500 ), - 'notice-margin-top' => __( 'pixels; may be negative', 'footnotes' ), - - 'label-margin-bottom' => $this->add_label( Footnotes_Settings::C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN, __( 'Bottom margin:', 'footnotes' ) ), - 'margin-bottom' => $this->add_num_box( Footnotes_Settings::C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN, -500, 500 ), - 'notice-margin-bottom' => __( 'pixels; may be negative', 'footnotes' ), - - 'label-page-layout' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT, __( 'Apply basic responsive page layout:', 'footnotes' ) ), - 'page-layout' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT, $l_arr_page_layout_options ), - 'notice-page-layout' => __( 'Most themes don\'t need this fix.', 'footnotes' ), - - 'label-url-wrap' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTE_URL_WRAP_ENABLED, __( 'Allow URLs to line-wrap anywhere:', 'footnotes' ) ), - 'url-wrap' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTE_URL_WRAP_ENABLED, $l_arr_enabled ), - 'notice-url-wrap' => __( 'Unicode-conformant browsers don\'t need this fix.', 'footnotes' ), - - 'label-symbol' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE, __( 'Display a backlink symbol:', 'footnotes' ) ), - 'symbol-enable' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE, $l_arr_enabled ), - 'notice-symbol' => __( 'Please choose or input the symbol at the top of the next dashboard tab.', 'footnotes' ), - - 'label-switch' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH, __( 'Symbol appended, not prepended:', 'footnotes' ) ), - 'switch' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH, $l_arr_enabled ), - - 'label-3column' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE, __( 'Backlink symbol in an extra column:', 'footnotes' ) ), - '3column' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE, $l_arr_enabled ), - 'notice-3column' => __( 'This legacy layout is available if identical footnotes are not combined.', 'footnotes' ), - - 'label-row-borders' => $this->add_label( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE, __( 'Borders around the table rows:', 'footnotes' ) ), - 'row-borders' => $this->add_select_box( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE, $l_arr_enabled ), - - 'label-separator' => $this->add_label( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_ENABLED, __( 'Add a separator when enumerating backlinks:', 'footnotes' ) ), - 'separator-enable' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_ENABLED, $l_arr_enabled ), - 'separator-options' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_OPTION, $l_arr_separators ), - 'separator-custom' => $this->add_text_box( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_CUSTOM ), - 'notice-separator' => __( 'Your input overrides the selection.', 'footnotes' ), - - 'label-terminator' => $this->add_label( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_ENABLED, __( 'Add a terminal punctuation to backlinks:', 'footnotes' ) ), - 'terminator-enable' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_ENABLED, $l_arr_enabled ), - 'terminator-options' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_OPTION, $l_arr_terminators ), - 'terminator-custom' => $this->add_text_box( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_CUSTOM ), - 'notice-terminator' => __( 'Your input overrides the selection.', 'footnotes' ), - - 'label-width' => $this->add_label( Footnotes_Settings::C_STR_BACKLINKS_COLUMN_WIDTH_ENABLED, __( 'Set backlinks column width:', 'footnotes' ) ), - 'width-enable' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_COLUMN_WIDTH_ENABLED, $l_arr_enabled ), - 'width-scalar' => $this->add_num_box( Footnotes_Settings::C_INT_BACKLINKS_COLUMN_WIDTH_SCALAR, 0, 500, true ), - 'width-unit' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_COLUMN_WIDTH_UNIT, $l_arr_width_units ), - 'notice-width' => __( 'Absolute width in pixels doesn\'t need to be accurate to the tenth, but relative width in rem or em may.', 'footnotes' ), - - 'label-max-width' => $this->add_label( Footnotes_Settings::C_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED, __( 'Set backlinks column maximum width:', 'footnotes' ) ), - 'max-width-enable' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED, $l_arr_enabled ), - 'max-width-scalar' => $this->add_num_box( Footnotes_Settings::C_INT_BACKLINKS_COLUMN_MAX_WIDTH_SCALAR, 0, 500, true ), - 'max-width-unit' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_COLUMN_MAX_WIDTH_UNIT, $l_arr_width_units ), - 'notice-max-width' => __( 'Absolute width in pixels doesn\'t need to be accurate to the tenth, but relative width in rem or em may.', 'footnotes' ), - - 'label-line-break' => $this->add_label( Footnotes_Settings::C_STR_BACKLINKS_LINE_BREAKS_ENABLED, __( 'Stack backlinks when enumerating:', 'footnotes' ) ), - 'line-break' => $this->add_select_box( Footnotes_Settings::C_STR_BACKLINKS_LINE_BREAKS_ENABLED, $l_arr_enabled ), - 'notice-line-break' => __( 'This option adds a line break before each added backlink when identical footnotes are combined.', 'footnotes' ), - - 'label-link' => $this->add_label( Footnotes_Settings::C_STR_LINK_ELEMENT_ENABLED, __( 'Use the link element for referrers and backlinks:', 'footnotes' ) ), - 'link' => $this->add_select_box( Footnotes_Settings::C_STR_LINK_ELEMENT_ENABLED, $l_arr_enabled ), - 'notice-link' => __( 'The link element is needed to apply the theme\'s link color.', 'footnotes' ), - 'description-link' => __( 'If the link element is not desired for styling, a simple span is used instead when the above is set to No.', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all options for the footnotes start and end tag short codes. - * - * @since 1.5.0 - * - * Edited heading - * @since 2.2.0 start/end short codes: more predefined options - * @link https://wordpress.org/support/topic/doesnt-work-with-mailpoet/ - * @since 2.2.0 3 boxes for clarity - * @since 2.2.5 support for Ibid. notation thanks to @meglio - * @link https://wordpress.org/support/topic/add-support-for-ibid-notation/ - * @since 2.4.0 added warning about Block Editor escapement disruption - * @since 2.4.0 removed the HTML comment tag option - * @since 2.5.0 Shortcode syntax validation: add more information around the setting, thanks to @andreasra - * @link https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/ - */ - public function start_end() { - // Footnotes start tag short code options. - $l_arr_shortcode_start = array( - '((' => '((', - '(((' => '(((', - '{{' => '{{', - '{{{' => '{{{', - '[n]' => '[n]', - '[fn]' => '[fn]', - htmlspecialchars( '' ) => htmlspecialchars( '' ), - '[ref]' => '[ref]', - htmlspecialchars( '' ) => htmlspecialchars( '' ), - // Custom (user-defined) start and end tags bracketing the footnote text inline. - 'userdefined' => __( 'custom short code', 'footnotes' ), - ); - // Footnotes end tag short code options. - $l_arr_shortcode_end = array( - '))' => '))', - ')))' => ')))', - '}}' => '}}', - '}}}' => '}}}', - '[/n]' => '[/n]', - '[/fn]' => '[/fn]', - htmlspecialchars( '' ) => htmlspecialchars( '' ), - '[/ref]' => '[/ref]', - htmlspecialchars( '' ) => htmlspecialchars( '' ), - // Custom (user-defined) start and end tags bracketing the footnote text inline. - 'userdefined' => __( 'custom short code', 'footnotes' ), - ); - // Options for the syntax validation. - $l_arr_enable = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-start-end' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'description-escapement' => __( 'When delimiters with pointy brackets are used, the diverging escapement schemas will be unified before footnotes are processed.', 'footnotes' ), - - 'label-short-code-start' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, __( 'Footnote start tag short code:', 'footnotes' ) ), - 'short-code-start' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, $l_arr_shortcode_start ), - 'short-code-start-user' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED ), - - 'label-short-code-end' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, __( 'Footnote end tag short code:', 'footnotes' ) ), - 'short-code-end' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, $l_arr_shortcode_end ), - 'short-code-end-user' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED ), - - // For script showing/hiding user defined text boxes. - 'short-code-start-id' => Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, - 'short-code-end-id' => Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, - 'short-code-start-user-id' => Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED, - 'short-code-end-user-id' => Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED, - - 'description-parentheses' => __( 'WARNING: Although widespread industry standard, the double parentheses are problematic because they may occur in scripts embedded in the content and be mistaken as a short code.', 'footnotes' ), - - // Option to enable syntax validation, label mirrored in task.php. - 'label-syntax' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE, __( 'Check for balanced shortcodes:', 'footnotes' ) ), - 'syntax' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE, $l_arr_enable ), - 'notice-syntax' => __( 'In the presence of a lone start tag shortcode, a warning displays below the post title.', 'footnotes' ), - - 'description-syntax' => __( 'If the start tag short code is \'((\' or \'(((\', it will not be reported as unbalanced if the following string contains braces hinting that it is a script.', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all options for the footnotes numbering. - * - * @since 2.2.0 - */ - public function numbering() { - // Define some space for the output. - $l_str_space = '     '; - // Options for the combination of identical footnotes. - $l_arr_enable = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - // Options for the numbering style of the footnotes. - $l_arr_counter_style = array( - 'arabic_plain' => __( 'plain Arabic numbers', 'footnotes' ) . $l_str_space . '1, 2, 3, 4, 5, …', - 'arabic_leading' => __( 'zero-padded Arabic numbers', 'footnotes' ) . $l_str_space . '01, 02, 03, 04, 05, …', - 'latin_low' => __( 'lowercase Latin letters', 'footnotes' ) . $l_str_space . 'a, b, c, d, e, …', - 'latin_high' => __( 'uppercase Latin letters', 'footnotes' ) . $l_str_space . 'A, B, C, D, E, …', - 'romanic' => __( 'uppercase Roman numerals', 'footnotes' ) . $l_str_space . 'I, II, III, IV, V, …', - 'roman_low' => __( 'lowercase Roman numerals', 'footnotes' ) . $l_str_space . 'i, ii, iii, iv, v, …', - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-numbering' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-counter-style' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE, __( 'Numbering style:', 'footnotes' ) ), - 'counter-style' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE, $l_arr_counter_style ), - - // Algorithmically combine identicals. - 'label-identical' => $this->add_label( Footnotes_Settings::C_STR_COMBINE_IDENTICAL_FOOTNOTES, __( 'Combine identical footnotes:', 'footnotes' ) ), - 'identical' => $this->add_select_box( Footnotes_Settings::C_STR_COMBINE_IDENTICAL_FOOTNOTES, $l_arr_enable ), - 'notice-identical' => __( 'This option may require copy-pasting footnotes in multiple instances.', 'footnotes' ), - // Support for Ibid. notation added thanks to @meglio in . - 'description-identical' => __( 'Even when footnotes are combined, footnote numbers keep incrementing. This avoids suboptimal referrer and backlink disambiguation using a secondary numbering system. The Ibid. notation and the op. cit. abbreviation followed by the current page number avoid repeating the footnote content. For changing sources, shortened citations may be used. Repeating full citations is also an opportunity to add details.', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all options for the scrolling behavior. - * - * @since 2.2.0 - */ - public function scrolling() { - - // Options for enabling scroll duration asymmetricity. - $l_arr_enable = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-scrolling' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-scroll-css' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING, __( 'CSS-based smooth scrolling:', 'footnotes' ) ), - 'scroll-css' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING, $l_arr_enable ), - 'notice-scroll-css' => __( 'May slightly disturb jQuery scrolling and is therefore disabled by default. Works in recent browsers.', 'footnotes' ), - - 'label-scroll-offset' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_OFFSET, __( 'Scroll offset:', 'footnotes' ) ), - 'scroll-offset' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_OFFSET, 0, 100 ), - 'notice-scroll-offset' => __( 'per cent viewport height from the upper edge', 'footnotes' ), - - 'label-scroll-duration' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DURATION, __( 'Scroll duration:', 'footnotes' ) ), - 'scroll-duration' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DURATION, 0, 20000 ), - 'notice-scroll-duration' => __( 'milliseconds. If asymmetric scroll durations are enabled, this is the scroll-up duration.', 'footnotes' ), - - // Enable scroll duration asymmetricity. - 'label-scroll-asymmetricity' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY, __( 'Enable asymmetric scroll durations:', 'footnotes' ) ), - 'scroll-asymmetricity' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY, $l_arr_enable ), - 'notice-scroll-asymmetricity' => __( 'With this option enabled, scrolling up may take longer than down, or conversely.', 'footnotes' ), - - 'label-scroll-down-duration' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DOWN_DURATION, __( 'Scroll-down duration:', 'footnotes' ) ), - 'scroll-down-duration' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DOWN_DURATION, 0, 20000 ), - 'notice-scroll-down-duration' => __( 'milliseconds', 'footnotes' ), - - 'label-scroll-down-delay' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DOWN_DELAY, __( 'Scroll-down delay:', 'footnotes' ) ), - 'scroll-down-delay' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DOWN_DELAY, 0, 20000 ), - 'notice-scroll-down-delay' => __( 'milliseconds. Useful to see the effect on input elements when referrers without hard links are clicked in form labels.', 'footnotes' ), - - 'label-scroll-up-delay' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_UP_DELAY, __( 'Scroll-up delay:', 'footnotes' ) ), - 'scroll-up-delay' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_UP_DELAY, 0, 20000 ), - 'notice-scroll-up-delay' => __( 'milliseconds. Less useful than the scroll-down delay.', 'footnotes' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all options for the fragment identifier configuration. - * - * @since 2.2.0 in scrolling(). - * @since 2.5.12 separate metabox. - */ - public function hard_links() { - - // Options for enabling hard links for AMP compat. - $l_arr_enable = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-hard-links' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-hard-links' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_HARD_LINKS_ENABLE, __( 'Enable hard links:', 'footnotes' ) ), - 'hard-links' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_HARD_LINKS_ENABLE, $l_arr_enable ), - 'notice-hard-links' => __( 'Hard links disable jQuery delays but have the same scroll offset, and allow to share footnotes (accessed if the list is not collapsed by default).', 'footnotes' ), - - 'label-footnote' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTE_FRAGMENT_ID_SLUG, __( 'Fragment identifier slug for footnotes:', 'footnotes' ) ), - 'footnote' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTE_FRAGMENT_ID_SLUG ), - 'notice-footnote' => __( 'This will show up in the address bar after clicking on a hard-linked footnote referrer.', 'footnotes' ), - - 'label-referrer' => $this->add_label( Footnotes_Settings::C_STR_REFERRER_FRAGMENT_ID_SLUG, __( 'Fragment identifier slug for footnote referrers:', 'footnotes' ) ), - 'referrer' => $this->add_text_box( Footnotes_Settings::C_STR_REFERRER_FRAGMENT_ID_SLUG ), - 'notice-referrer' => __( 'This will show up in the address bar after clicking on a hard-linked backlink.', 'footnotes' ), - - 'label-separator' => $this->add_label( Footnotes_Settings::C_STR_HARD_LINK_IDS_SEPARATOR, __( 'ID separator:', 'footnotes' ) ), - 'separator' => $this->add_text_box( Footnotes_Settings::C_STR_HARD_LINK_IDS_SEPARATOR ), - 'notice-separator' => __( 'May be empty or any string, for example _, - or +, to distinguish post number, container number and footnote number.', 'footnotes' ), - - // Enable backlink tooltips. - 'label-backlink-tooltips' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE, __( 'Enable backlink tooltips:', 'footnotes' ) ), - 'backlink-tooltips' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE, $l_arr_enable ), - 'notice-backlink-tooltips' => __( 'Hard backlinks get ordinary tooltips hinting to use the backbutton instead to keep it usable.', 'footnotes' ), - - 'label-backlink-tooltip-text' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT, __( 'Backlink tooltip text:', 'footnotes' ) ), - 'backlink-tooltip-text' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT ), - 'notice-backlink-tooltip-text' => __( 'Default text is the keyboard shortcut; may be a localized descriptive hint.', 'footnotes' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all settings for 'I love Footnotes'. - * - * @since 1.5.0 - * - * Edited: - * @since 2.2.0 position-sensitive placeholders to support more locales - * @since 2.2.0 more options - */ - public function love() { - // Options for the acknowledgment display in the footer. - $l_arr_love = array( - // Logo only. - 'text-3' => sprintf( '%s', Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ), - // Logo followed by heart symbol. - 'text-4' => sprintf( '%s %s', Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME, Footnotes_Config::C_STR_LOVE_SYMBOL ), - // Logo preceded by heart symbol. - 'text-5' => sprintf( '%s %s', Footnotes_Config::C_STR_LOVE_SYMBOL, Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ), - // Translators: 2: heart symbol 1: footnotes logogram. - 'text-1' => sprintf( __( 'I %2$s %1$s', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME, Footnotes_Config::C_STR_LOVE_SYMBOL ), - // Translators: %s: Footnotes plugin logo. - 'text-6' => sprintf( __( 'This website uses %s.', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ), - // Translators: %s: Footnotes plugin logo. - 'text-7' => sprintf( __( 'This website uses the %s plugin.', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ), - // Translators: %s: Footnotes plugin logo. - 'text-2' => sprintf( __( 'This website uses the awesome %s plugin.', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ), - 'random' => __( 'randomly determined display of either mention', 'footnotes' ), - // Translators: 1: Plugin logo.2: heart symbol. - 'no' => sprintf( __( 'no display of any "%1$s %2$s" mention in the footer', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME, Footnotes_Config::C_STR_LOVE_SYMBOL ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-love' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - // Translators: %s: Footnotes plugin logo. - 'label-love' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_LOVE, sprintf( __( 'Tell the world you\'re using %s:', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ) ), - 'love' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_LOVE, $l_arr_love ), - // Translators: %s: Footnotes plugin logo. - 'label-no-love' => $this->add_text( sprintf( __( 'Shortcode to inhibit the display of the %s mention on specific pages:', 'footnotes' ), Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ) ), - 'no-love' => $this->add_text( Footnotes_Config::C_STR_NO_LOVE_SLUG ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays the footnotes in excerpt setting. - * - * @since 1.5.0 - * - * Edited heading - * @since 2.1.1 more settings and notices, thanks to @nikelaos - * @link https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13687068 - * @link https://wordpress.org/support/topic/jquery-comes-up-in-feed-content/#post-13110879 - * @since 2.2.0 dedicated to the excerpt setting and its notices - */ - public function excerpts() { - // Options for options select box. - $l_arr_excerpt_mode = array( - 'yes' => __( 'Yes, generate excerpts from posts with effectively processed footnotes and other markup', 'footnotes' ), - 'no' => __( 'No, generate excerpts from posts but remove all footnotes and output plain text', 'footnotes' ), - 'manual' => __( 'Yes but run the process only to display tooltips in manual excerpts with footnote short codes', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'settings-excerpts' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-excerpts' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_IN_EXCERPT, __( 'Process footnotes in excerpts:', 'footnotes' ) ), - 'excerpts' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_IN_EXCERPT, $l_arr_excerpt_mode ), - 'notice-excerpts' => __( 'If the_excerpt is enabled.', 'footnotes' ), - // Translators: %s: link text 'Advanced Excerpt' linked to the plugin\'s WordPress.org front page. - // Translators: %s: Footnotes plugin logo. - 'description-excerpts' => sprintf( __( 'To not display footnotes in excerpts, the %s plugin generates excerpts on the basis of the posts to be able to remove the footnotes. Else, footnotes may be processed in manual excerpts OR processed based on the posts. — For this setting to be effective, the hook the_excerpt must be enabled under Scope and priority.', 'footnotes' ), '' . Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . '' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all settings for the footnote referrers. - * - * @since 1.5.0 - * - * Edited heading - * @since 2.1.1 option for superscript (optionally baseline referrers) - * @since 2.2.0 option for link element moved here - */ - public function superscript() { - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - // Options for superscript normalize scope. - $l_arr_normalize_superscript = array( - 'no' => __( 'No', 'footnotes' ), - 'referrers' => __( 'Footnote referrers', 'footnotes' ), - 'all' => __( 'All superscript elements', 'footnotes' ), - ); - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'customize-superscript' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-superscript' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS, __( 'Display footnote referrers in superscript:', 'footnotes' ) ), - 'superscript' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS, $l_arr_enabled ), - - 'label-normalize' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT, __( 'Normalize vertical alignment and font size:', 'footnotes' ) ), - 'normalize' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT, $l_arr_normalize_superscript ), - 'notice-normalize' => __( 'Most themes don\'t need this fix.', 'footnotes' ), - - 'label-before' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_STYLING_BEFORE, __( 'At the start of the footnote referrers:', 'footnotes' ) ), - 'before' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_STYLING_BEFORE ), - - 'label-after' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_STYLING_AFTER, __( 'At the end of the footnote referrers:', 'footnotes' ) ), - 'after' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_STYLING_AFTER ), - - 'label-link' => $this->add_label( Footnotes_Settings::C_STR_LINK_ELEMENT_ENABLED, __( 'Use the link element for referrers and backlinks:', 'footnotes' ) ), - 'notice-link' => __( 'Please find this setting at the end of the reference container settings. The link element is needed to apply the theme\'s link color.', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays the setting for the input label issue solution. - * - * @since 2.5.12 - */ - public function label_solution() { - // Options for the input label issue solution. - $l_arr_issue_solutions = array( - 'none' => __( '0. No problem or solved otherwise', 'footnotes' ), - 'move' => __( 'A. Footnotes are moved out and appended after the label\'s end (recommended)', 'footnotes' ), - 'disconnect' => __( 'B. Labels with footnotes are disconnected from input element (discouraged)', 'footnotes' ), - ); - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'configure-label-solution' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'description-1-selection' => __( 'Clicking a footnote referrer in an input element label toggles the input except when hard links are enabled. In jQuery mode, the recommended solution is to move footnotes and append them after the label (option A).', 'footnotes' ), - 'label-selection' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION, __( 'Solve input label issue:', 'footnotes' ) ), - 'selection' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION, $l_arr_issue_solutions ), - 'description-2-selection' => __( 'Option B is discouraged because disconnecting a label from its input element may compromise accessibility. This option is a last resort in case footnotes must absolutely stay inside the label. (Using jQuery \'event.stopPropagation\' failed.)', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays enabled status for the footnotes mouse-over box. - * - * @since 1.5.2 - * - * Edited: - * @since 2.2.0 5 parts to address increased settings number - * @since 2.2.5 position settings for alternative tooltips - */ - public function mouseover_box() { - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-display' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-enable' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED, __( 'Display tooltips:', 'footnotes' ) ), - 'enable' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED, $l_arr_enabled ), - 'notice-enable' => __( 'Formatted text boxes allowing hyperlinks, displayed on mouse-over or tap and hold.', 'footnotes' ), - - 'label-alternative' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE, __( 'Display alternative tooltips:', 'footnotes' ) ), - 'alternative' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE, $l_arr_enabled ), - 'notice-alternative' => __( 'Intended to work around a configuration-related tooltip outage.', 'footnotes' ), - // Translators: %s: Footnotes plugin logo. - 'description-alternative' => sprintf( __( 'These alternative tooltips work around a website related jQuery UI outage. They are low-script but use the AMP incompatible onmouseover and onmouseout arguments, along with CSS transitions for fade-in/out. The very small script is inserted after Footnotes\' internal stylesheet. When this option is enabled, %s does not load jQuery UI nor jQuery Tools.', 'footnotes' ), '' . Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . '' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays position settings for the footnotes mouse-over box. - * - * @since 2.2.0 - */ - public function mouseover_box_position() { - - // Options for the Mouse-over box position. - $l_arr_position = array( - 'top left' => __( 'top left', 'footnotes' ), - 'top center' => __( 'top center', 'footnotes' ), - 'top right' => __( 'top right', 'footnotes' ), - 'center right' => __( 'center right', 'footnotes' ), - 'bottom right' => __( 'bottom right', 'footnotes' ), - 'bottom center' => __( 'bottom center', 'footnotes' ), - 'bottom left' => __( 'bottom left', 'footnotes' ), - 'center left' => __( 'center left', 'footnotes' ), - ); - // Options for the alternative Mouse-over box position. - $l_arr_alternative_position = array( - 'top left' => __( 'top left', 'footnotes' ), - 'top right' => __( 'top right', 'footnotes' ), - 'bottom right' => __( 'bottom right', 'footnotes' ), - 'bottom left' => __( 'bottom left', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-position' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-position' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION, __( 'Position:', 'footnotes' ) ), - 'position' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION, $l_arr_position ), - 'position-alternative' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION, $l_arr_alternative_position ), - 'notice-position' => __( 'The second column of settings boxes is for the alternative tooltips.', 'footnotes' ), - - 'label-offset-x' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X, __( 'Horizontal offset:', 'footnotes' ) ), - 'offset-x' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X, -500, 500 ), - 'offset-x-alternative' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X, -500, 500 ), - 'notice-offset-x' => __( 'pixels; negative value for a leftwards offset; alternative tooltips: direction depends on position', 'footnotes' ), - - 'label-offset-y' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y, __( 'Vertical offset:', 'footnotes' ) ), - 'offset-y' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y, -500, 500 ), - 'offset-y-alternative' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y, -500, 500 ), - 'notice-offset-y' => __( 'pixels; negative value for an upwards offset; alternative tooltips: direction depends on position', 'footnotes' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays dimensions setting for the footnotes mouse-over box. - * - * @since 2.2.0 - */ - public function mouseover_box_dimensions() { - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-dimensions' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-max-width' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH, __( 'Maximum width:', 'footnotes' ) ), - 'max-width' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH, 0, 1280 ), - 'width' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH, 0, 1280 ), - 'notice-max-width' => __( 'pixels; set to 0 for jQuery tooltips without max width; alternative tooltips are given the value in the second box as fixed width.', 'footnotes' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays timing settings for the footnotes mouse-over box. - * - * @since 2.2.0 - */ - public function mouseover_box_timing() { - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-timing' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-fade-in-delay' => $this->add_label( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY, __( 'Fade-in delay:', 'footnotes' ) ), - 'fade-in-delay' => $this->add_num_box( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY, 0, 20000 ), - 'notice-fade-in-delay' => __( 'milliseconds', 'footnotes' ), - - 'label-fade-in-duration' => $this->add_label( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION, __( 'Fade-in duration:', 'footnotes' ) ), - 'fade-in-duration' => $this->add_num_box( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION, 0, 20000 ), - 'notice-fade-in-duration' => __( 'milliseconds', 'footnotes' ), - - 'label-fade-out-delay' => $this->add_label( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY, __( 'Fade-out delay:', 'footnotes' ) ), - 'fade-out-delay' => $this->add_num_box( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY, 0, 20000 ), - 'notice-fade-out-delay' => __( 'milliseconds', 'footnotes' ), - - 'label-fade-out-duration' => $this->add_label( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION, __( 'Fade-out duration:', 'footnotes' ) ), - 'fade-out-duration' => $this->add_num_box( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION, 0, 20000 ), - 'notice-fade-out-duration' => __( 'milliseconds', 'footnotes' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays truncation settings for the footnotes mouse-over box. - * - * @since 2.2.0 - */ - public function mouseover_box_truncation() { - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-truncation' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-truncation' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED, __( 'Truncate the note in the tooltip:', 'footnotes' ) ), - 'truncation' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED, $l_arr_enabled ), - - 'label-max-length' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH, __( 'Maximum number of characters in the tooltip:', 'footnotes' ) ), - 'max-length' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH, 3, 10000 ), - // The feature trims back until the last full word. - 'notice-max-length' => __( 'No weird cuts.', 'footnotes' ), - - 'label-readon' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_READON_LABEL, __( '\'Read on\' button label:', 'footnotes' ) ), - 'readon' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_READON_LABEL ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays dedicated tooltip text settings for the footnotes mouse-over box. - * - * @since 2.2.0 - */ - public function mouseover_box_text() { - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-text' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'description-delimiter' => __( 'Tooltips can display another content than the footnote entry in the reference container. The trigger is a shortcode in the footnote text separating the tooltip text from the note. That is consistent with what WordPress does for excerpts.', 'footnotes' ), - - 'label-delimiter' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER, __( 'Delimiter for dedicated tooltip text:', 'footnotes' ) ), - 'delimiter' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER ), - 'notice-delimiter' => __( 'If the delimiter shortcode is present, the tooltip text will be the part before it.', 'footnotes' ), - - 'label-mirror' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE, __( 'Mirror the tooltip in the reference container:', 'footnotes' ) ), - 'mirror' => $this->add_select_box( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE, $l_arr_enabled ), - 'notice-mirror' => __( 'Tooltips may be harder to use on mobiles. This option allows to read it in the reference container.', 'footnotes' ), - - 'label-separator' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR, __( 'Separator between tooltip text and footnote text:', 'footnotes' ) ), - 'separator' => $this->add_text_box( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR ), - 'notice-separator' => __( 'May be a simple space, or a line break <br />, or any string in your language.', 'footnotes' ), - - 'description-mirror' => __( 'Tooltips, even jQuery-driven, may be hard to consult on mobiles. This option allows to read the tooltip content in the reference container too.', 'footnotes' ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays style settings for the footnotes mouse-over box. - * - * @since 2.2.0 - */ - public function mouseover_box_appearance() { - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - // Options for the font size unit. - $l_arr_font_size_units = array( - 'em' => __( 'em', 'footnotes' ), - 'rem' => __( 'rem', 'footnotes' ), - 'px' => __( 'pixels', 'footnotes' ), - 'pt' => __( 'points', 'footnotes' ), - 'pc' => __( 'picas', 'footnotes' ), - 'mm' => __( 'millimeters', 'footnotes' ), - '%' => __( 'per cent', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'mouse-over-box-appearance' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - - 'label-font-size' => $this->add_label( Footnotes_Settings::C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED, __( 'Set font size:', 'footnotes' ) ), - 'font-size-enable' => $this->add_select_box( Footnotes_Settings::C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED, $l_arr_enabled ), - 'font-size-scalar' => $this->add_num_box( Footnotes_Settings::C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR, 0, 50, true ), - 'font-size-unit' => $this->add_select_box( Footnotes_Settings::C_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT, $l_arr_font_size_units ), - 'notice-font-size' => __( 'By default, the font size is set to equal the surrounding text.', 'footnotes' ), - - 'label-color' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR, __( 'Text color:', 'footnotes' ) ), - 'color' => $this->add_color_selection( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR ), - // Translators: %s: Clear or leave empty. - 'notice-color' => sprintf( __( 'To use the current theme\'s default text color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), - - 'label-background' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND, __( 'Background color:', 'footnotes' ) ), - 'background' => $this->add_color_selection( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND ), - // Translators: %s: Clear or leave empty. - 'notice-background' => sprintf( __( 'To use the current theme\'s default background color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), - - 'label-border-width' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH, __( 'Border width:', 'footnotes' ) ), - 'border-width' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH, 0, 4, true ), - 'notice-border-width' => __( 'pixels; 0 for borderless', 'footnotes' ), - - 'label-border-color' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR, __( 'Border color:', 'footnotes' ) ), - 'border-color' => $this->add_color_selection( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR ), - // Translators: %s: Clear or leave empty. - 'notice-border-color' => sprintf( __( 'To use the current theme\'s default border color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), - - 'label-border-radius' => $this->add_label( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS, __( 'Rounded corner radius:', 'footnotes' ) ), - 'border-radius' => $this->add_num_box( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS, 0, 500 ), - 'notice-border-radius' => __( 'pixels; 0 for sharp corners', 'footnotes' ), - - 'label-box-shadow-color' => $this->add_label( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR, __( 'Box shadow color:', 'footnotes' ) ), - 'box-shadow-color' => $this->add_color_selection( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR ), - // Translators: %s: Clear or leave empty. - 'notice-box-shadow-color' => sprintf( __( 'To use the current theme\'s default box shadow color: %s', 'footnotes' ), __( 'Clear or leave empty.', 'footnotes' ) ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all settings for the backlink symbol. - * - * @since 1.5.0 - * - * - Update: **symbol for backlinks** removed; hyperlink moved to the reference number. - * - * @since 2.0.0 - * The former 'hyperlink arrow' is incompatible with combined identical footnotes. - * - * - Update: Reference container: clarify backlink semantics by prepended transitional up arrow, thanks to @mmallett issue report. - * - * @since 2.0.3 - * - * - Update: Restore arrow settings to customize or disable the now prepended arrow symbol, thanks to @mmallett issue report. - * - * @since 2.0.4 - * - * @reporter @mmallett - * @link https://wordpress.org/support/topic/mouse-over-broken/#post-13593037 - * - * @since 2.1.4 moved to Settings > Reference container > Display a backlink symbol - * @since 2.2.1 and 2.2.4 back here - */ - public function hyperlink_arrow() { - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'customize-hyperlink-arrow' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-symbol' => $this->add_label( Footnotes_Settings::C_STR_HYPERLINK_ARROW, __( 'Select or input the backlink symbol:', 'footnotes' ) ), - 'symbol-options' => $this->add_select_box( Footnotes_Settings::C_STR_HYPERLINK_ARROW, Footnotes_Convert::get_arrow() ), - 'symbol-custom' => $this->add_text_box( Footnotes_Settings::C_STR_HYPERLINK_ARROW_USER_DEFINED ), - 'notice-symbol' => __( 'Your input overrides the selection.', 'footnotes' ), - 'description-symbol' => __( 'This symbol is used in the reference container. But this setting pre-existed under this tab and cannot be moved to another one.', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays the Custom CSS box. - * - * @since 1.5.0 - * - * Edited: - * @since 2.1.6 drop localized notices for CSS classes as the number increased to 16 - * list directly in the template, as CSS is in English anyway - * @see templates/dashboard/customize-css.html - * - * @since 2.2.2 migrate Custom CSS to a dedicated tab - * @since 2.3.0 say 'copy-paste' instead of 'cut and paste' since cutting is not needed - * @since 2.5.1 mention validity while visible, thanks to @rkupadhya bug report - */ - public function custom_css() { - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'customize-css' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-css' => $this->add_label( Footnotes_Settings::C_STR_CUSTOM_CSS, __( 'Your existing Custom CSS code:', 'footnotes' ) ), - 'css' => $this->add_textarea( Footnotes_Settings::C_STR_CUSTOM_CSS ), - 'description-css' => __( 'Custom CSS migrates to a dedicated tab. This text area is intended to keep your data safe, and the code remains valid while visible. Please copy-paste the content into the new text area under the new tab.', 'footnotes' ), - - // phpcs:disable Squiz.PHP.CommentedOutCode.Found - // CSS classes are listed in the template. - // Localized notices are dropped to ease translators' task. - - // "label-class-1" => ".footnote_plugin_tooltip_text",. - // "class-1" => $this->add_text(__("superscript, Footnotes index", Footnotes_Config::C_STR_PLUGIN_NAME)),. - - // "label-class-2" => ".footnote_tooltip",. - // "class-2" => $this->add_text(__("mouse-over box, tooltip for each superscript", Footnotes_Config::C_STR_PLUGIN_NAME)),. - - // "label-class-3" => ".footnote_plugin_index",. - // "class-3" => $this->add_text(__("1st column of the Reference Container, Footnotes index", Footnotes_Config::C_STR_PLUGIN_NAME)),. - - // "label-class-4" => ".footnote_plugin_text",. - // "class-4" => $this->add_text(__("2nd column of the Reference Container, Footnote text", Footnotes_Config::C_STR_PLUGIN_NAME)). - // phpcs:enable - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays transitional legacy Custom CSS box. - * - * @since 2.2.2 - */ - public function custom_css_migration() { - - // Options for Yes/No select box. - $l_arr_enabled = array( - 'yes' => __( 'Yes', 'footnotes' ), - 'no' => __( 'No', 'footnotes' ), - ); - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'customize-css-migration' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-css' => $this->add_label( Footnotes_Settings::C_STR_CUSTOM_CSS, __( 'Your existing Custom CSS code:', 'footnotes' ) ), - 'css' => $this->add_textarea( Footnotes_Settings::C_STR_CUSTOM_CSS ), - 'description-css' => __( 'Custom CSS migrates to a dedicated tab. This text area is intended to keep your data safe, and the code remains valid while visible. Please copy-paste the content into the new text area below. Set Show legacy to No. Save twice.', 'footnotes' ), - - 'label-show-legacy' => $this->add_label( Footnotes_Settings::C_STR_CUSTOM_CSS_LEGACY_ENABLE, 'Show legacy Custom CSS settings containers:' ), - 'show-legacy' => $this->add_select_box( Footnotes_Settings::C_STR_CUSTOM_CSS_LEGACY_ENABLE, $l_arr_enabled ), - 'notice-show-legacy' => __( 'Please set to No when you are done migrating, for the legacy Custom CSS containers to disappear.', 'footnotes' ), - // Translators: %s: Referres and tooltips. - 'description-show-legacy' => sprintf( __( 'The legacy Custom CSS under the %s tab and its mirror here are emptied, and the select box saved as No, when the settings tab is saved while the settings container is not displayed.', 'footnotes' ), __( 'Referrers and tooltips', 'footnotes' ) ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays the new Custom CSS box. - * - * @since 2.2.2 - */ - public function custom_css_new() { - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'customize-css-new' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'css' => $this->add_textarea( Footnotes_Settings::C_STR_CUSTOM_CSS_NEW ), - - 'headline' => $this->add_text( __( 'Recommended CSS classes:', 'footnotes' ) ), - - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays available Hooks to look for Footnote short codes. - * - * @since 1.5.5 - * - * Edited: - * @since 2.1.1 priority level setting for the_content - * @since 2.1.4 priority level settings for the other hooks - * - * priority level was initially hard-coded default - * shows "9223372036854775807" in the numbox - * empty should be interpreted as PHP_INT_MAX, - * but a numbox cannot be set to empty: - * define -1 as PHP_INT_MAX instead - * - * @since 2.2.9 removed the warning about the widget text hook - * @since 2.2.9 added guidance for the widget text hook - */ - public function lookup_hooks() { - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'expert-lookup' ); - - // Replace all placeholders. - $l_obj_template->replace( - array( - 'description-1' => __( 'The priority level determines whether Footnotes is executed timely before other plugins, and how the reference container is positioned relative to other features.', 'footnotes' ), - // Translators: 1: 99; 2: 1200. - 'description-2' => sprintf( __( 'For the_content, this figure must be lower than %1$d so that certain strings added by a plugin running at %1$d may not be mistaken as a footnote. This makes also sure that the reference container displays above a feature inserted by a plugin running at %2$d.', 'footnotes' ), 99, 1200 ), - // Translators: 1: PHP_INT_MAX; 2: 0; 3: -1; 4: 'PHP_INT_MAX'. - 'description-3' => sprintf( __( '%1$d is lowest priority, %2$d is highest. To set priority level to lowest, set it to %3$d, interpreted as %1$d, the constant %4$s.', 'footnotes' ), PHP_INT_MAX, 0, -1, 'PHP_INT_MAX' ), - 'description-4' => __( 'The widget_text hook must be enabled either when footnotes are present in theme text widgets, or when Elementor accordions or toggles shall have a reference container per section. If they should not, this hook must be disabled.', 'footnotes' ), - - 'head-hook' => __( 'WordPress hook function name', 'footnotes' ), - 'head-checkbox' => __( 'Activate', 'footnotes' ), - 'head-numbox' => __( 'Priority level', 'footnotes' ), - 'head-url' => __( 'WordPress documentation', 'footnotes' ), - - 'label-the-title' => $this->add_label( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_TITLE, 'the_title' ), - 'the-title' => $this->add_checkbox( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_TITLE ), - 'priority-the-title' => $this->add_num_box( Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX ), - 'url-the-title' => 'https://developer.wordpress.org/reference/hooks/the_title/', - - 'label-the-content' => $this->add_label( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_CONTENT, 'the_content' ), - 'the-content' => $this->add_checkbox( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_CONTENT ), - 'priority-the-content' => $this->add_num_box( Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL, -1, PHP_INT_MAX ), - 'url-the-content' => 'https://developer.wordpress.org/reference/hooks/the_content/', - - 'label-the-excerpt' => $this->add_label( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_EXCERPT, 'the_excerpt' ), - 'the-excerpt' => $this->add_checkbox( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_EXCERPT ), - 'priority-the-excerpt' => $this->add_num_box( Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL, -1, PHP_INT_MAX ), - 'url-the-excerpt' => 'https://developer.wordpress.org/reference/functions/the_excerpt/', - - 'label-widget-title' => $this->add_label( Footnotes_Settings::C_STR_EXPERT_LOOKUP_WIDGET_TITLE, 'widget_title' ), - 'widget-title' => $this->add_checkbox( Footnotes_Settings::C_STR_EXPERT_LOOKUP_WIDGET_TITLE ), - 'priority-widget-title' => $this->add_num_box( Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX ), - 'url-widget-title' => 'https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_title', - - 'label-widget-text' => $this->add_label( Footnotes_Settings::C_STR_EXPERT_LOOKUP_WIDGET_TEXT, 'widget_text' ), - 'widget-text' => $this->add_checkbox( Footnotes_Settings::C_STR_EXPERT_LOOKUP_WIDGET_TEXT ), - 'priority-widget-text' => $this->add_num_box( Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL, -1, PHP_INT_MAX ), - 'url-widget-text' => 'https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_text', - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays a short introduction to the Plugin. - * - * @since 1.5.0 - * - * @since 2.7.0 Sanitize Lorem Ipsum filler text. - * @link https://blog.prototypr.io/why-testing-with-real-content-is-better-than-lorem-ipsum-c7c79586ee72 - */ - public function Help() { - global $g_obj_mci_footnotes; - // Load footnotes starting and end tag. - $l_arr_footnote_starting_tag = $this->load_setting( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START ); - $l_arr_footnote_ending_tag = $this->load_setting( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END ); - - if ( 'userdefined' === $l_arr_footnote_starting_tag['value'] || 'userdefined' === $l_arr_footnote_ending_tag['value'] ) { - // Load user defined starting and end tag. - $l_arr_footnote_starting_tag = $this->load_setting( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED ); - $l_arr_footnote_ending_tag = $this->load_setting( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED ); - } - $l_str_example = 'Hello' . $l_arr_footnote_starting_tag['value'] . - 'Sed ut perspiciatis, unde omnis iste natus error ' . - 'sit voluptatem accusantium doloremque laudantium, ' . - 'totam rem aperiam eaque ipsa, quae ab illo ' . - 'inventore veritatis et quasi architecto beatae ' . - 'vitae dicta sunt, explicabo. Nemo enim ipsam ' . - 'voluptatem, quia voluptas sit, aspernatur aut ' . - 'odit aut fugit, sed quia consequuntur magni ' . - 'dolores eos, qui ratione voluptatem sequi nesciunt, ' . - 'neque porro quisquam est, qui dolorem ipsum, quia ' . - 'dolor sit amet, consectetur, adipisci velit, sed ' . - 'quia non numquam eius modi tempora incidunt, ut ' . - 'labore et dolore magnam aliquam quaerat voluptatem.' . - $l_arr_footnote_ending_tag['value'] . ' World!'; - - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'how-to-help' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'label-start' => __( 'Start your footnote with the following short code:', 'footnotes' ), - 'start' => $l_arr_footnote_starting_tag['value'], - 'label-end' => __( '…and end your footnote with this short code:', 'footnotes' ), - 'end' => $l_arr_footnote_ending_tag['value'], - 'example-code' => $l_str_example, - 'example-string' => '
                                                                                                                                                                                                    ' . __( 'will be displayed as:', 'footnotes' ), - 'example' => $g_obj_mci_footnotes->a_obj_task->exec( $l_str_example, true ), - // Translators: %1$s, %2$s: anchor element with hyperlink to the Support Forum. - 'information' => sprintf( __( 'For further information please check out our %1$sSupport Forum%2$s on WordPress.org.', 'footnotes' ), '', '' ), - ) - ); - - /** - * Call footnotes_output_head function to get the Styling of the mouse-over box. - * - * - Bugfix: Dashboard: debug the 'Quick start guide' tab, thanks to @rumperuu bug report. - * - * @reporter @rumperuu - * @link https://github.com/markcheret/footnotes/issues/71 - * - * @since 2.7.0 - * The name of the callback function ought to be distinct from - * the name of the filtered function. - * When this callback function was renamed, this call went unnoticed. - * @see class/task.php - */ - $g_obj_mci_footnotes->a_obj_task->footnotes_output_head(); - - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } - - /** - * Displays all Donate button to support the developers. - * - * @since 1.5.0 - */ - public function donate() { - // Load template file. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_DASHBOARD, 'how-to-donate' ); - // Replace all placeholders. - $l_obj_template->replace( - array( - 'caption' => __( 'Donate now', 'footnotes' ), - ) - ); - // Display template with replaced placeholders. - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $l_obj_template->get_content(); - // phpcs:enable - } -} diff --git a/src/class/hooks.php b/src/class/hooks.php deleted file mode 100644 index fdc321c..0000000 --- a/src/class/hooks.php +++ /dev/null @@ -1,67 +0,0 @@ -%s', __( 'Support', 'footnotes' ) ); - // Append link to the settings page. - $plugin_links[] = sprintf( '%s', admin_url( 'options-general.php?page=footnotes' ), __( 'Settings', 'footnotes' ) ); - // Append link to the PayPal donate function. - $plugin_links[] = sprintf( '%s', __( 'Donate', 'footnotes' ) ); - // Return new links. - return $plugin_links; - } -} diff --git a/src/class/init.php b/src/class/init.php deleted file mode 100644 index 7a43ef3..0000000 --- a/src/class/init.php +++ /dev/null @@ -1,461 +0,0 @@ -initialize_dashboard(); - // Initialize the Plugin Task. - $this->initialize_task(); - - // Register all Public Stylesheets and Scripts. - add_action( 'init', array( $this, 'register_public' ) ); - // Enqueue all Public Stylesheets and Scripts. - add_action( 'wp_enqueue_scripts', array( $this, 'register_public' ) ); - // Register all Widgets of the Plugin.. - add_action( 'widgets_init', array( $this, 'initialize_widgets' ) ); - } - - /** - * Initializes all Widgets of the Plugin. - * - * @since 1.5.0 - * - * - Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution - * - * @since 1.6.5 - * - * @contributor @felipelavinz - * @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 - * - * @reporter @psykonevro - * @link https://wordpress.org/support/topic/bug-function-create_function-is-deprecated/ - * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/ - * - * @reporter @daliasued - * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/#post-13312853 - * - * create_function() was deprecated in PHP 7.2.0 and removed in PHP 8.0.0. - * @link https://www.php.net/manual/en/function.create-function.php - * - * The fix is to move add_action() above into run(), - * and use the bare register_widget() here. - * @see self::run() - * - * Also, the visibility of initialize_widgets() is not private any longer. - */ - public function initialize_widgets() { - register_widget( 'Footnotes_Widget_Reference_Container' ); - } - - /** - * Initializes the Dashboard of the Plugin and loads them. - * - * @since 1.5.0 - */ - private function initialize_dashboard() { - new Footnotes_Layout_Init(); - } - - /** - * Initializes the Plugin Task and registers the Task hooks. - * - * @since 1.5.0 - */ - private function initialize_task() { - $this->a_obj_task = new Footnotes_Task(); - $this->a_obj_task->register_hooks(); - } - - /** - * Registers and enqueues scripts and stylesheets to the public pages. - * - * @since 1.5.0 - * - * @since 2.0.0 Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution. - * @since 2.0.3 add versioning of public.css for cache busting - * @since 2.0.4 add jQuery UI from WordPress - * @since 2.1.4 automate passing version number for cache busting - * @since 2.1.4 optionally enqueue an extra stylesheet - */ - public function register_public() { - - /** - * Enqueues external scripts. - * - * - Bugfix: Libraries: optimize processes by loading external and internal scripts only if needed, thanks to @docteurfitness issue report. - * - * @since 2.5.5 - * @reporter @docteurfitness - * @link https://wordpress.org/support/topic/simply-speed-optimisation/ - * - * The condition about tooltips was missing, only the not-alternative-tooltips part was present. - */ - // Set conditions re-used for stylesheet enqueuing and in class/task.php. - self::$a_bool_amp_enabled = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE ) ); - self::$a_bool_tooltips_enabled = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED ) ); - self::$a_bool_alternative_tooltips_enabled = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE ) ); - self::$a_str_script_mode = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE ); - - /** - * Enqueues the jQuery library registered by WordPress. - * - * - Bugfix: Reference container: optional alternative expanding and collapsing without jQuery for use with hard links, thanks to @hopper87it @pkverma99 issue reports. - * - * @since 2.5.6 - * - * @reporter @hopper87it - * @link https://wordpress.org/support/topic/footnotes-wp-rocket/ - * - * jQuery is also used for animated scrolling, so it was loaded by default. - * The function wp_enqueue_script() avoids loading the same library multiple times. - * After adding the alternative reference container, jQuery has become optional, - * but still enabled by default. - */ - if ( ! self::$a_bool_amp_enabled ) { - - if ( 'jquery' === self::$a_str_script_mode || ( self::$a_bool_tooltips_enabled && ! self::$a_bool_alternative_tooltips_enabled ) ) { - - wp_enqueue_script( 'jquery' ); - - } - - if ( self::$a_bool_tooltips_enabled && ! self::$a_bool_alternative_tooltips_enabled ) { - - /** - * Enqueues the jQuery Tools library shipped with the plugin. - * - * Redacted jQuery.browser, completed minification; - * see full header in js/jquery.tools.js. - * - * Add versioning. - * - * @since 2.1.2 - * - * No '-js' in the handle, is appended automatically. - * - * Deferring to the footer breaks jQuery tooltip display. - */ - wp_enqueue_script( - 'mci-footnotes-jquery-tools', - plugins_url( 'footnotes/js/jquery.tools' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.js' ), - array(), - '1.2.7.redacted.2', - false - ); - - /** - * Enqueues some jQuery UI libraries registered by WordPress. - * - * - Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution. - * - * @since 2.0.0 - * - * @reporter @rajinderverma - * @link https://wordpress.org/support/topic/tooltip-hover-not-showing/ - * - * @reporter @ericcorbett2 - * @link https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13324142 - * - * @reporter @honlapdavid - * @link https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13355421 - * - * @reporter @mmallett - * @link https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13445437 - * - * Fetch jQuery UI from cdnjs.cloudflare.com. - * @since 2.0.0 - * @contributor @vonpiernik - * @link https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13456762 - * - * jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released. * @since 2.1.2 - * - * - Update: Libraries: Load jQuery UI from WordPress, thanks to @check2020de issue report. - * - * @since 2.0.4 - * @reporter @check2020de - * @link https://wordpress.org/support/topic/gdpr-issue-with-jquery/ - * @link https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui - * - * If alternative tooltips are enabled, these libraries are not needed. - */ - wp_enqueue_script( 'jquery-ui-core' ); - wp_enqueue_script( 'jquery-ui-widget' ); - wp_enqueue_script( 'jquery-ui-position' ); - wp_enqueue_script( 'jquery-ui-tooltip' ); - - } - } - - /** - * Enables enqueuing a new-scheme stylesheet. - * - * @since 2.5.5 - * - * Enables enqueuing the formatted individual stylesheets if false. - * WARNING: This facility is designed for development and must NOT be used in production. - * - * The Boolean may be set at the bottom of the plugin’s main PHP file. - * @see footnotes.php - */ - if ( PRODUCTION_ENV ) { - - /** - * Enqueues a minified united external stylesheet in production. - * - * - Update: Stylesheets: increase speed and energy efficiency by tailoring stylesheets to the needs of the instance, thanks to @docteurfitness design contribution. - * - Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report. - * - * @since 2.5.5 - * - * @contributor @docteurfitness - * @link https://wordpress.org/support/topic/simply-speed-optimisation/ - * - * @reporter @docteurfitness - * @link https://wordpress.org/support/topic/simply-speed-optimisation/ - * - * The dashboard stylesheet is minified as-is. - * @see class/dashboard/layout.php - * - * @since 2.0.3 add versioning of public.css for cache busting. - * Plugin version number is needed for busting browser caches after each plugin update. - * - * @since 2.1.4 automate passing version number for cache busting. - * The constant C_STR_FOOTNOTES_VERSION is defined at start of footnotes.php. - * - * The media scope argument 'all' is the default. - * No need to use '-css' in the handle, as this is appended automatically. - */ - // Set tooltip mode for use in stylesheet name. - if ( self::$a_bool_tooltips_enabled ) { - - if ( self::$a_bool_amp_enabled ) { - $l_str_tooltip_mode_short = 'ampt'; - $l_str_tooltip_mode_long = 'amp-tooltips'; - - } elseif ( self::$a_bool_alternative_tooltips_enabled ) { - $l_str_tooltip_mode_short = 'altt'; - $l_str_tooltip_mode_long = 'alternative-tooltips'; - - } else { - $l_str_tooltip_mode_short = 'jqtt'; - $l_str_tooltip_mode_long = 'jquery-tooltips'; - - } - } else { - $l_str_tooltip_mode_short = 'nott'; - $l_str_tooltip_mode_long = 'no-tooltips'; - } - - // Set basic responsive page layout mode for use in stylesheet name. - $l_str_page_layout_option = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT ); - switch ( $l_str_page_layout_option ) { - case 'reference-container': - $l_str_layout_mode = '1'; - break; - case 'entry-content': - $l_str_layout_mode = '2'; - break; - case 'main-content': - $l_str_layout_mode = '3'; - break; - case 'none': - default: - $l_str_layout_mode = '0'; - break; - } - - // Enqueue the tailored united minified stylesheet. - wp_enqueue_style( - 'mci-footnotes-' . $l_str_tooltip_mode_long . '-pagelayout-' . $l_str_page_layout_option, - plugins_url( - Footnotes_Config::C_STR_PLUGIN_NAME . '/css/footnotes-' . $l_str_tooltip_mode_short . 'brpl' . $l_str_layout_mode . '.min.css' - ), - array(), - C_STR_FOOTNOTES_VERSION, - 'all' - ); - - } else { - - /** - * Enqueues external stylesheets, ONLY in development now. - * - * @since 2.1.4 optionally enqueue an extra stylesheet. - * - * This optional layout fix is useful by lack of layout support. - */ - wp_enqueue_style( - 'mci-footnotes-common', - plugins_url( Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-common.css' ), - array(), - filemtime( - plugin_dir_path( - dirname( __FILE__, 1 ) - ) . 'css/dev-common.css' - ) - ); - wp_enqueue_style( - 'mci-footnotes-tooltips', - plugins_url( Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips.css' ), - array(), - filemtime( - plugin_dir_path( - dirname( __FILE__, 1 ) - ) . 'css/dev-tooltips.css' - ) - ); - - if ( self::$a_bool_amp_enabled ) { - wp_enqueue_style( - 'mci-footnotes-amp', - plugins_url( Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-amp-tooltips.css' ), - array(), - filemtime( - plugin_dir_path( - dirname( __FILE__, 1 ) - ) . 'css/dev-amp-tooltips.css' - ) - ); - } - - if ( self::$a_bool_alternative_tooltips_enabled ) { - wp_enqueue_style( - 'mci-footnotes-alternative', - plugins_url( Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips-alternative.css' ), - array(), - filemtime( - plugin_dir_path( - dirname( __FILE__, 1 ) - ) . 'css/dev-tooltips-alternative.css' - ) - ); - } - - $l_str_page_layout_option = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT ); - if ( 'none' !== $l_str_page_layout_option ) { - wp_enqueue_style( - 'mci-footnotes-layout-' . $l_str_page_layout_option, - plugins_url( - Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-layout-' . $l_str_page_layout_option . '.css' - ), - array(), - filemtime( - plugin_dir_path( - dirname( __FILE__, 1 ) - ) . 'css/dev-layout-' . $l_str_page_layout_option . '.css' - ), - 'all' - ); - } - } - } -} diff --git a/src/class/language.php b/src/class/language.php deleted file mode 100644 index a972902..0000000 --- a/src/class/language.php +++ /dev/null @@ -1,97 +0,0 @@ - tag is inserted. - */ - const C_STR_BACKLINKS_LINE_BREAKS_ENABLED = 'footnotes_inputfield_backlinks_line_breaks_enabled'; - - /** - * Settings container key to enable setting the tooltip font size. - * - * @since 2.1.4 - * @var str - * - * Tooltip font size reset to legacy by default since 2.1.4; - * Was set to inherit since 2.1.1 as it overrode custom CSS, - * Called mouse over box not tooltip for consistency. - */ - const C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED = 'footnotes_inputfield_mouse_over_box_font_size_enabled'; - - /** - * Settings container key for the scalar value of the tooltip font size. - * - * @since 2.1.4 - * @var flo - */ - const C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR = 'footnotes_inputfield_mouse_over_box_font_size_scalar'; - - /** - * Settings container key for the unit of the tooltip font size. - * - * @since 2.1.4 - * @var str - */ - const C_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT = 'footnotes_inputfield_mouse_over_box_font_size_unit'; - - /** - * Settings container key for basic responsive page layout support options. - * - * @since 2.1.4 - * @var str - * Whether to concatenate an additional stylesheet. - */ - const C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT = 'footnotes_inputfield_page_layout_support'; - - /** - * Settings container key for scroll offset. - * - * - Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers. - * - * @since 2.1.4 - * @var int - */ - const C_INT_FOOTNOTES_SCROLL_OFFSET = 'footnotes_inputfield_scroll_offset'; - - /** - * Settings container key for scroll duration. - * - * - Bugfix: Scroll duration: make configurable to conform to website content and style requirements. - * - * @since 2.1.4 - * @var int - */ - const C_INT_FOOTNOTES_SCROLL_DURATION = 'footnotes_inputfield_scroll_duration'; - - /** - * Settings container key for tooltip display fade-in delay. - * - * @since 2.1.4 - * @var int - */ - const C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY = 'footnotes_inputfield_mouse_over_box_fade_in_delay'; - - /** - * Settings container key for tooltip display fade-in duration. - * - * @since 2.1.4 - * @var int - */ - const C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION = 'footnotes_inputfield_mouse_over_box_fade_in_duration'; - - /** - * Settings container key for tooltip display fade-out delay. - * - * @since 2.1.4 - * @var int - */ - const C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY = 'footnotes_inputfield_mouse_over_box_fade_out_delay'; - - /** - * Settings container key for tooltip display fade-out duration. - * - * @since 2.1.4 - * @var int - */ - const C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION = 'footnotes_inputfield_mouse_over_box_fade_out_duration'; - - /** - * Settings container key for URL wrap option. - * - * This is made optional because it causes weird line breaks. - * Unicode-compliant browsers break URLs at slashes. - * - * @since 2.1.6 - * @var str - */ - const C_STR_FOOTNOTE_URL_WRAP_ENABLED = 'footnote_inputfield_url_wrap_enabled'; - - /** - * Settings container key for reference container position shortcode. - * - * - Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report. - * - * @reporter @hamshe - * @link https://wordpress.org/support/topic/reference-container-in-elementor/ - * - * @since 2.2.0 - * @var str - */ - const C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE = 'footnote_inputfield_reference_container_position_shortcode'; - - /** - * Settings container key for the Custom CSS migrated to a dedicated tab. - * - * - Update: Dashboard: Custom CSS: unearth text area and migrate to dedicated tab as designed. - * - * @since 2.2.2 - * @var str - */ - const C_STR_CUSTOM_CSS_NEW = 'footnote_inputfield_custom_css_new'; - - /** - * Settings container key to enable display of legacy Custom CSS metaboxes. - * - * @since 2.2.2 - * @var str - * - * - Bugfix: Dashboard: Custom CSS: swap migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints. - * - * @since 2.3.0 - * - * The Boolean must be false if its setting is contained in the container to be hidden, - * because when saving, all missing constants are emptied, and to_bool() converts empty to false. - */ - const C_STR_CUSTOM_CSS_LEGACY_ENABLE = 'footnote_inputfield_custom_css_legacy_enable'; - - /** - * Settings container key for alternative tooltip position. - * - * @since 2.2.5 - * @var str - * - * Fixed width is for alternative tooltips, cannot reuse max-width nor offsets. - */ - const C_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION = 'footnotes_inputfield_alternative_mouse_over_box_position'; - - /** - * Settings container key for alternative tooltip x offset. - * - * @since 2.2.5 - * @var int - */ - const C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X = 'footnotes_inputfield_alternative_mouse_over_box_offset_x'; - - /** - * Settings container key for alternative tooltip y offset. - * - * @since 2.2.5 - * @var int - */ - const C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y = 'footnotes_inputfield_alternative_mouse_over_box_offset_y'; - - /** - * Settings container key for alternative tooltip width. - * - * @since 2.2.5 - * @var int - */ - const C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH = 'footnotes_inputfield_alternative_mouse_over_box_width'; - - - /** - * Settings container key for the reference container label element. - * - * - Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report. - * - * @reporter @markhillyer - * @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ - * - * @since 2.2.5 - * @var str - */ - const C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT = 'footnotes_inputfield_reference_container_label_element'; - - /** - * Settings container key to enable the reference container label bottom border. - * - * - Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report. - * - * @reporter @markhillyer - * @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ - * - * @since 2.2.5 - * @var str - */ - const C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER = 'footnotes_inputfield_reference_container_label_bottom_border'; - - /** - * Settings container key to enable reference container table row borders. - * - * - Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report. - * - * @reporter @noobishh - * @link https://wordpress.org/support/topic/borders-25/ - * - * @since 2.2.10 - * @var str - */ - const C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE = 'footnotes_inputfield_reference_container_row_borders_enable'; - - /** - * Settings container key for reference container top margin. - * - * - Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report. - * - * @reporter @hamshe - * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635 - * - * @since 2.3.0 - * @var int - */ - const C_INT_REFERENCE_CONTAINER_TOP_MARGIN = 'footnotes_inputfield_reference_container_top_margin'; - - /** - * Settings container key for reference container bottom margin. - * - * - Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report. - * - * @reporter @hamshe - * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635 - * - * @since 2.3.0 - * @var int - */ - const C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN = 'footnotes_inputfield_reference_container_bottom_margin'; - - /** - * Settings container key to enable hard links. - * - * - Adding: Referrers and backlinks: optional hard links for AMP compatibility, thanks to @psykonevro issue report, thanks to @martinneumannat issue report and code contribution. - * - * @contributor @martinneumannat - * @link https://wordpress.org/support/topic/making-it-amp-compatible/ - * - * @reporter @psykonevro - * @link https://wordpress.org/support/topic/footnotes-is-not-amp-compatible/ - * - * @since 2.3.0 - * @var str - * - * When the alternative reference container is enabled, hard links are too. - */ - const C_STR_FOOTNOTES_HARD_LINKS_ENABLE = 'footnotes_inputfield_hard_links_enable'; - - /** - * Settings container key for the fragment ID slug in referrers. - * - * @since 2.3.0 - * @var str - */ - const C_STR_REFERRER_FRAGMENT_ID_SLUG = 'footnotes_inputfield_referrer_fragment_id_slug'; - - /** - * Settings container key for the fragment ID slug in footnotes. - * - * @since 2.3.0 - * @var str - */ - const C_STR_FOOTNOTE_FRAGMENT_ID_SLUG = 'footnotes_inputfield_footnote_fragment_id_slug'; - - /** - * Settings container key for the ID separator in fragment IDs. - * - * @since 2.3.0 - * @var str - */ - const C_STR_HARD_LINK_IDS_SEPARATOR = 'footnotes_inputfield_hard_link_ids_separator'; - - /** - * Settings container key to enable shortcode syntax validation. - * - * @since 2.4.0 - * @var str - */ - const C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE = 'footnotes_inputfield_shortcode_syntax_validation_enable'; - - /** - * Settings container key to enable backlink tooltips. - * - * - Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report. - * - * @reporter @theroninjedi47 - * @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/ - * - * @since 2.5.4 - * @var str - * - * When hard links are enabled, clicks on the backlinks are logged in the browsing history, - * along with clicks on the referrers. - * This tooltip hints to use the backbutton instead, so the history gets streamlined again. - * @link https://wordpress.org/support/topic/making-it-amp-compatible/#post-13837359 - */ - const C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE = 'footnotes_inputfield_backlink_tooltip_enable'; - - /** - * Settings container key to configure the backlink tooltip. - * - * - Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report. - * - * @reporter @theroninjedi47 - * @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/ - * - * @since 2.5.4 - * @var str - */ - const C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT = 'footnotes_inputfield_backlink_tooltip_text'; - - /** - * Settings container key to configure the tooltip excerpt delimiter. - * - * - Update: Tooltips: ability to display dedicated content before `[[/tooltip]]`, thanks to @jbj2199 issue report. - * - * The first implementation used a fixed shortcode provided in the changelog. - * But Footnotes’ UI design policy is to make shortcodes freely configurable. - * - * @reporter @jbj2199 - * @link https://wordpress.org/support/topic/change-tooltip-text/ - * - * @since 2.5.4 - * @var str - * - * Tooltips can display another content than the footnote entry - * in the reference container. The trigger is a shortcode in - * the footnote text separating the tooltip text from the note. - * That is consistent with what WordPress does for excerpts. - */ - const C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER = 'footnotes_inputfield_tooltip_excerpt_delimiter'; - - /** - * Settings container key to enable mirroring the tooltip excerpt in the reference container. - * - * @since 2.5.4 - * @var str - * - * Tooltips, even jQuery-driven, may be hard to consult on mobiles. - * This option allows to read the tooltip content in the reference container too. - * @link https://wordpress.org/support/topic/change-tooltip-text/#post-13935050 - * But this must not be the default behavior. - * @link https://wordpress.org/support/topic/change-tooltip-text/#post-13935488 - */ - const C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE = 'footnotes_inputfield_tooltip_excerpt_mirror_enable'; - - /** - * Settings container key to configure the tooltip excerpt separator in the reference container. - * - * @since 2.5.4 - * @var str - */ - const C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR = 'footnotes_inputfield_tooltip_excerpt_mirror_separator'; - - /** - * Settings container key to enable superscript style normalization. - * - * -Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report. - * - * @reporter @tomturowski - * @link https://wordpress.org/support/topic/in-line-superscript-ref-rides-to-high/ - * - * @since 2.5.4 - * @var str - */ - const C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT = 'footnotes_inputfield_referrers_normal_superscript'; - - /** - * Settings container key to select the script mode for the reference container. - * - * - Bugfix: Reference container: optional alternative expanding and collapsing without jQuery for use with hard links, thanks to @hopper87it @pkverma99 issue reports. - * - * @reporter @hopper87it - * @link https://wordpress.org/support/topic/footnotes-wp-rocket/ - * - * @since 2.5.6 - * @var str - */ - const C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE = 'footnotes_inputfield_reference_container_script_mode'; - - /** - * Settings container key to enable AMP compatibility mode. - * - * - Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution. - * - Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution. - * - Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution. - * - * @contributor @milindmore22 - * @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933 - * - * @contributor @westonruter - * @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785419655 - * @link https://github.com/markcheret/footnotes/issues/48#issuecomment-799580854 - * @link https://github.com/markcheret/footnotes/issues/48#issuecomment-799582394 - * - * @since 2.5.11 (draft) - * @since 2.6.0 (release) - * @var str - */ - const C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE = 'footnotes_inputfield_amp_compatibility_enable'; - - /** - * Settings container key for scroll duration asymmetricity. - * - * @since 2.5.11 - * @var str - */ - const C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY = 'footnotes_inputfield_scroll_duration_asymmetricity'; - - /** - * Settings container key for scroll down duration. - * - * @since 2.5.11 - * @var int - */ - const C_INT_FOOTNOTES_SCROLL_DOWN_DURATION = 'footnotes_inputfield_scroll_down_duration'; - - /** - * Settings container key for scroll down delay. - * - * @since 2.5.11 - * @var int - */ - const C_INT_FOOTNOTES_SCROLL_DOWN_DELAY = 'footnotes_inputfield_scroll_down_delay'; - - /** - * Settings container key for scroll up delay. - * - * @since 2.5.11 - * @var int - */ - const C_INT_FOOTNOTES_SCROLL_UP_DELAY = 'footnotes_inputfield_scroll_up_delay'; - - /** - * Settings container key to set the solution of the input element label issue. - * - * @since 2.5.12 - * @var str - * If hard links are not enabled, clicking a referrer in an input element label - * toggles the state of the input element the label is connected to. - * Beside hard links, other solutions include moving footnotes off the label and - * append them, or disconnecting this label from the input element (discouraged). - * @link https://wordpress.org/support/topic/compatibility-issue-with-wpforms/#post-14212318 - */ - const C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION = 'footnotes_inputfield_label_issue_solution'; - - /** - * Settings container key to enable CSS smooth scrolling. - * - * - Update: Scrolling: CSS-based smooth scroll behavior (optional), thanks to @paulgpetty and @bogosavljev issue reports. - * - * @reporter @paulgpetty - * @link https://wordpress.org/support/topic/functionally-great/#post-13607795 - * - * @reporter @bogosavljev - * @link https://wordpress.org/support/topic/compatibility-issue-with-wpforms/#post-14214720 - * - * @since 2.5.12 - * @var str - * Native smooth scrolling only works in recent browsers. - */ - const C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING = 'footnotes_inputfield_css_smooth_scrolling'; - - /** - * Settings container key for the footnote section shortcode. - * - * - Adding: Reference container: optionally per section by shortcode, thanks to @grflukas issue report. - * - * @reporter @grflukas - * @link https://wordpress.org/support/topic/multiple-reference-containers-in-single-post/ - * - * @since 2.7.0 - * @var str - */ - const C_STR_FOOTNOTE_SECTION_SHORTCODE = 'footnotes_inputfield_section_shortcode'; - - - /** - * SETTINGS STORAGE. - */ - - /** - * Stores a singleton reference of this class. - * - * @since 1.5.0 - * @var Footnotes_Settings - */ - private static $a_obj_instance = null; - - /** - * Contains all Settings Container names. - * - * @since 1.5.0 - * @var array - * - * Edited. - * 2.2.2 added tab for Custom CSS - * - * These are the storage container names, one per dashboard tab. - */ - private $a_arr_container = array( - 'footnotes_storage', - 'footnotes_storage_custom', - 'footnotes_storage_expert', - 'footnotes_storage_custom_css', - ); - - /** - * Contains all Default Settings for each Settings Container. - * - * @since 1.5.0 - * @var array - * - * Comments are moved to constant docblocks. - */ - private $a_arr_default = array( - - // General settings. - 'footnotes_storage' => array( - - // AMP compatibility. - self::C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE => '', - - // Footnote start and end short codes. - self::C_STR_FOOTNOTES_SHORT_CODE_START => '((', - self::C_STR_FOOTNOTES_SHORT_CODE_END => '))', - self::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED => '', - self::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED => '', - self::C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE => 'yes', - - // Footnotes numbering. - self::C_STR_FOOTNOTES_COUNTER_STYLE => 'arabic_plain', - self::C_STR_COMBINE_IDENTICAL_FOOTNOTES => 'yes', - - // Scrolling behavior. - self::C_STR_FOOTNOTES_CSS_SMOOTH_SCROLLING => 'no', - self::C_INT_FOOTNOTES_SCROLL_OFFSET => 20, - self::C_INT_FOOTNOTES_SCROLL_DURATION => 380, - self::C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY => 'no', - self::C_INT_FOOTNOTES_SCROLL_DOWN_DURATION => 150, - self::C_INT_FOOTNOTES_SCROLL_DOWN_DELAY => 0, - self::C_INT_FOOTNOTES_SCROLL_UP_DELAY => 0, - self::C_STR_FOOTNOTES_HARD_LINKS_ENABLE => 'no', - self::C_STR_REFERRER_FRAGMENT_ID_SLUG => 'r', - self::C_STR_FOOTNOTE_FRAGMENT_ID_SLUG => 'f', - self::C_STR_HARD_LINK_IDS_SEPARATOR => '+', - self::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE => 'yes', - self::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT => 'Alt+ ←', - - // Reference container. - self::C_STR_REFERENCE_CONTAINER_NAME => 'References', - self::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT => 'p', - self::C_STR_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER => 'yes', - self::C_STR_REFERENCE_CONTAINER_COLLAPSE => 'no', - self::C_STR_FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE => 'jquery', - self::C_STR_REFERENCE_CONTAINER_POSITION => 'post_end', - self::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE => '[[references]]', - self::C_STR_FOOTNOTE_SECTION_SHORTCODE => '[[/footnotesection]]', - self::C_STR_REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes', - self::C_INT_REFERENCE_CONTAINER_TOP_MARGIN => 24, - self::C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN => 0, - self::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT => 'none', - self::C_STR_FOOTNOTE_URL_WRAP_ENABLED => 'yes', - self::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes', - self::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no', - self::C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no', - self::C_STR_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE => 'no', - - self::C_STR_BACKLINKS_SEPARATOR_ENABLED => 'yes', - self::C_STR_BACKLINKS_SEPARATOR_OPTION => 'comma', - self::C_STR_BACKLINKS_SEPARATOR_CUSTOM => '', - - self::C_STR_BACKLINKS_TERMINATOR_ENABLED => 'no', - self::C_STR_BACKLINKS_TERMINATOR_OPTION => 'full_stop', - self::C_STR_BACKLINKS_TERMINATOR_CUSTOM => '', - - self::C_STR_BACKLINKS_COLUMN_WIDTH_ENABLED => 'no', - self::C_INT_BACKLINKS_COLUMN_WIDTH_SCALAR => '50', - self::C_STR_BACKLINKS_COLUMN_WIDTH_UNIT => 'px', - - self::C_STR_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED => 'no', - self::C_INT_BACKLINKS_COLUMN_MAX_WIDTH_SCALAR => '140', - self::C_STR_BACKLINKS_COLUMN_MAX_WIDTH_UNIT => 'px', - - self::C_STR_BACKLINKS_LINE_BREAKS_ENABLED => 'no', - self::C_STR_LINK_ELEMENT_ENABLED => 'yes', - - // Footnotes in excerpts. - self::C_STR_FOOTNOTES_IN_EXCERPT => 'manual', - - // Footnotes love. - self::C_STR_FOOTNOTES_LOVE => 'no', - - // Deprecated. - self::C_STR_FOOTNOTES_EXPERT_MODE => 'yes', - - ), - - // Referrers and tooltips. - 'footnotes_storage_custom' => array( - - // Backlink symbol. - self::C_STR_HYPERLINK_ARROW => '↑', - self::C_STR_HYPERLINK_ARROW_USER_DEFINED => '', - - // Referrers. - self::C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes', - self::C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT => 'no', - self::C_STR_FOOTNOTES_STYLING_BEFORE => '[', - self::C_STR_FOOTNOTES_STYLING_AFTER => ']', - - // Referrers in labels. - self::C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION => 'none', - - // Tooltips. - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes', - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => 'no', - - // Tooltip position. - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION => 'top center', - self::C_STR_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION => 'top right', - self::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X => 0, - self::C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X => -50, - self::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y => -7, - self::C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y => 24, - - // Tooltip dimensions. - self::C_INT_FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH => 450, - self::C_INT_FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH => 400, - - // Tooltip timing. - self::C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY => 0, - self::C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION => 200, - self::C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY => 400, - self::C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION => 200, - - // Tooltip truncation. - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED => 'yes', - self::C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH => 200, - self::C_STR_FOOTNOTES_TOOLTIP_READON_LABEL => 'Continue reading', - - // Tooltip text. - self::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER => '[[/tooltip]]', - self::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE => 'no', - self::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR => ' — ', - - // Tooltip appearance. - self::C_STR_MOUSE_OVER_BOX_FONT_SIZE_ENABLED => 'yes', - self::C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR => 13, - self::C_STR_MOUSE_OVER_BOX_FONT_SIZE_UNIT => 'px', - - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_COLOR => '#000000', - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND => '#ffffff', - self::C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH => 1, - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR => '#cccc99', - self::C_INT_FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS => 0, - self::C_STR_FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR => '#666666', - - // Your existing Custom CSS code. - self::C_STR_CUSTOM_CSS => '', - - ), - - // Scope and priority. - 'footnotes_storage_expert' => array( - - // WordPress hooks with priority level. - self::C_STR_EXPERT_LOOKUP_THE_TITLE => '', - self::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, - - self::C_STR_EXPERT_LOOKUP_THE_CONTENT => 'checked', - self::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => 98, - - self::C_STR_EXPERT_LOOKUP_THE_EXCERPT => '', - self::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX, - - self::C_STR_EXPERT_LOOKUP_WIDGET_TITLE => '', - self::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, - - self::C_STR_EXPERT_LOOKUP_WIDGET_TEXT => '', - self::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL => 98, - - ), - - // Custom CSS. - 'footnotes_storage_custom_css' => array( - - // Your existing Custom CSS code. - self::C_STR_CUSTOM_CSS_LEGACY_ENABLE => 'yes', - - // Custom CSS. - self::C_STR_CUSTOM_CSS_NEW => '', - - ), - - ); - - /** - * Contains all Settings from each Settings container as soon as this class is initialized. - * - * @since 1.5.0 - * @var array - */ - private $a_arr_settings = array(); - - /** - * Class Constructor. Loads all Settings from each WordPress Settings container. - * - * @since 1.5.0 - */ - private function __construct() { - $this->load_all(); - } - - /** - * Returns a singleton of this class. - * - * @since 1.5.0 - * @return Footnotes_Settings - */ - public static function instance() { - // No instance defined yet, load it. - if ( ! self::$a_obj_instance ) { - self::$a_obj_instance = new self(); - } - // Return a singleton of this class. - return self::$a_obj_instance; - } - - /** - * Returns the name of a specified Settings Container. - * - * @since 1.5.0 - * @param int $p_int_index Settings Container Array Key Index. - * @return str Settings Container name. - */ - public function get_container( $p_int_index ) { - return $this->a_arr_container[ $p_int_index ]; - } - - /** - * Returns the default values of a specific Settings Container. - * - * @since 1.5.6 - * @param int $p_int_index Settings Container Aray Key Index. - * @return array - */ - public function get_defaults( $p_int_index ) { - return $this->a_arr_default[ $this->a_arr_container[ $p_int_index ] ]; - } - - /** - * Loads all Settings from each Settings container. - * - * @since 1.5.0 - */ - private function load_all() { - // Clear current settings. - $this->a_arr_settings = array(); - $num_settings = count( $this->a_arr_container ); - for ( $i = 0; $i < $num_settings; $i++ ) { - // Load settings. - $this->a_arr_settings = array_merge( $this->a_arr_settings, $this->load( $i ) ); - } - } - - /** - * Loads all settings from specified settings container. - * - * @since 1.5.0 - * - * - Bugfix: Removed the 'trim' function to allow leading and trailing whitespace in settings text boxes, thanks to @compasscare bug report. - * - * @reporter @compasscare - * @link https://wordpress.org/support/topic/leading-space-in-footnotes-tag/ - * - * @since 1.5.2 - * @param int $p_int_index Settings container array key index. - * @return array Settings loaded from defaults if container is empty (first usage). - */ - private function load( $p_int_index ) { - // Load all settings from container. - $l_arr_options = get_option( $this->get_container( $p_int_index ) ); - // Load all default settings. - $l_arr_default = $this->a_arr_default[ $this->get_container( $p_int_index ) ]; - - // No settings found, set them to their default value. - if ( empty( $l_arr_options ) ) { - return $l_arr_default; - } - // Iterate through all available settings ( = default values). - foreach ( $l_arr_default as $l_str_key => $l_str_value ) { - // Available setting not found in the container. - if ( ! array_key_exists( $l_str_key, $l_arr_options ) ) { - // Define the setting with its default value. - $l_arr_options[ $l_str_key ] = $l_str_value; - } - } - // Return settings loaded from Container. - return $l_arr_options; - } - - /** - * Updates a whole Settings container. - * - * @since 1.5.0 - * @param int $p_int_index Index of the Settings container. - * @param array $p_arr_new_values new Settings. - * @return bool - */ - public function save_options( $p_int_index, $p_arr_new_values ) { - if ( update_option( $this->get_container( $p_int_index ), $p_arr_new_values ) ) { - $this->load_all(); - return true; - } - return false; - } - - /** - * Returns the value of specified Settings name. - * - * @since 1.5.0 - * @param string $p_str_key Settings Array Key name. - * @return mixed Value of the Setting on Success or Null in Settings name is invalid. - */ - public function get( $p_str_key ) { - return array_key_exists( $p_str_key, $this->a_arr_settings ) ? $this->a_arr_settings[ $p_str_key ] : null; - } - - /** - * Deletes each Settings Container and loads the default values for each Settings Container. - * - * @since 1.5.0 - * - * Edit: This didn’t actually work. - * @since 2.2.0 this function is not called any longer when deleting the plugin, - * to protect user data against loss, since manually updating a plugin is safer - * done by deleting and reinstalling (see the warning about database backup). - */ - public function clear_all() { - // Iterate through each Settings Container. - $num_settings = count( $this->a_arr_container ); - for ( $i = 0; $i < $num_settings; $i++ ) { - // Delete the settings container. - delete_option( $this->get_container( $i ) ); - } - // Set settings back to the default values. - $this->a_arr_settings = $this->a_arr_default; - } - - /** - * Register all Settings Container for the Plugin Settings Page in the Dashboard. - * Settings Container Label will be the same as the Settings Container Name. - * - * @since 1.5.0 - */ - public function register_settings() { - // Register all settings. - $num_settings = count( $this->a_arr_container ); - for ( $i = 0; $i < $num_settings; $i++ ) { - register_setting( $this->get_container( $i ), $this->get_container( $i ) ); - } - } -} diff --git a/src/class/task.php b/src/class/task.php deleted file mode 100644 index 256d82c..0000000 --- a/src/class/task.php +++ /dev/null @@ -1,2873 +0,0 @@ -get( Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL ) ); - $l_int_the_content_priority = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL ) ); - $l_int_the_excerpt_priority = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL ) ); - $l_int_widget_title_priority = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL ) ); - $l_int_widget_text_priority = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL ) ); - - // PHP_INT_MAX can be set by -1. - $l_int_the_title_priority = ( -1 === $l_int_the_title_priority ) ? PHP_INT_MAX : $l_int_the_title_priority; - $l_int_the_content_priority = ( -1 === $l_int_the_content_priority ) ? PHP_INT_MAX : $l_int_the_content_priority; - $l_int_the_excerpt_priority = ( -1 === $l_int_the_excerpt_priority ) ? PHP_INT_MAX : $l_int_the_excerpt_priority; - $l_int_widget_title_priority = ( -1 === $l_int_widget_title_priority ) ? PHP_INT_MAX : $l_int_widget_title_priority; - $l_int_widget_text_priority = ( -1 === $l_int_widget_text_priority ) ? PHP_INT_MAX : $l_int_widget_text_priority; - - // Append custom css to the header. - add_filter( 'wp_head', array( $this, 'footnotes_output_head' ), PHP_INT_MAX ); - - // Append the love and share me slug to the footer. - add_filter( 'wp_footer', array( $this, 'footnotes_output_footer' ), PHP_INT_MAX ); - - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_TITLE ) ) ) { - add_filter( 'the_title', array( $this, 'footnotes_in_title' ), $l_int_the_title_priority ); - } - - // Configurable priority level for reference container relative positioning; default 98. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_CONTENT ) ) ) { - add_filter( 'the_content', array( $this, 'footnotes_in_content' ), $l_int_the_content_priority ); - - /** - * Hook for category pages. - * - * - Bugfix: Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution. - * - * @reporter @vitaefit - * @link https://wordpress.org/support/topic/footnote-doesntwork-on-category-page/ - * - * @contributor @misfist - * @link https://wordpress.org/support/topic/footnote-doesntwork-on-category-page/#post-13864859 - * - * @since 2.5.0 - * - * Category pages can have rich HTML content in a term description with article status. - * For this to happen, WordPress’ built-in partial HTML blocker needs to be disabled. - * @link https://docs.woocommerce.com/document/allow-html-in-term-category-tag-descriptions/ - */ - add_filter( 'term_description', array( $this, 'footnotes_in_content' ), $l_int_the_content_priority ); - - /** - * Hook for popup maker popups. - * - * - Bugfix: Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report. - * - * @reporter @squatcher - * @link https://wordpress.org/support/topic/footnotes-use-in-popup-maker/ - * - * @since 2.5.1 - */ - add_filter( 'pum_popup_content', array( $this, 'footnotes_in_content' ), $l_int_the_content_priority ); - } - - /** - * Adds a filter to the excerpt hook. - * - * @since 1.5.0 The hook 'get_the_excerpt' is filtered too. - * @since 1.5.5 The hook 'get_the_excerpt' is removed but not documented in changelog or docblock. - * @since 2.6.2 The hook 'get_the_excerpt' is readded when attempting to debug excerpt handling. - * @since 2.6.6 The hook 'get_the_excerpt' is removed again because it seems to cause issues in some themes. - */ - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_EXPERT_LOOKUP_THE_EXCERPT ) ) ) { - add_filter( 'the_excerpt', array( $this, 'footnotes_in_excerpt' ), $l_int_the_excerpt_priority ); - } - - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_EXPERT_LOOKUP_WIDGET_TITLE ) ) ) { - add_filter( 'widget_title', array( $this, 'footnotes_in_widget_title' ), $l_int_widget_title_priority ); - } - - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_EXPERT_LOOKUP_WIDGET_TEXT ) ) ) { - add_filter( 'widget_text', array( $this, 'footnotes_in_widget_text' ), $l_int_widget_text_priority ); - } - - /** - * The the_post hook. - * - * - Adding: Hooks: support 'the_post' in response to user request for custom post types. - * - * @since 1.5.4 - * @accountable @aricura - * @link https://wordpress.org/support/topic/doesnt-work-in-custon-post-types/#post-5339110 - * - * - * - Update: Hooks: Default-enable all hooks to prevent footnotes from seeming broken in some parts. - * - * @since 2.0.5 - * @accountable @pewgeuges - * - * - * - BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports. - * - * @reporter @spaceling - * @link https://wordpress.org/support/topic/change-the-position-5/#post-13612697 - * - * @reporter @markcheret on behalf of W. Beinert - * @link https://wordpress.org/support/topic/footnotes-now-appear-in-summaries-even-though-this-is-marked-no/ - * - * @reporter @nyamachi - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/ - * - * @reporter @whichgodsaves - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/#post-13622694 - * - * @reporter @spiralofhope2 - * @link https://wordpress.org/support/topic/2-0-5-broken/ - * - * @reporter @mmallett - * @link https://wordpress.org/support/topic/2-0-5-broken/#post-13623208 - * - * @reporter @andreasra - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/#post-13624091 - * - * @reporter @widecast - * @link https://wordpress.org/support/topic/2-0-5-broken/#post-13626222 - * - * @reporter @ymorin007 - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/#post-13627050 - * - * @reporter @markcheret on behalf of L. Smith - * @link https://wordpress.org/support/topic/footnotes-appear-in-random-places-on-academic-website/ - * - * @reporter @tashi1es - * @link https://wordpress.org/support/topic/footnotes-appear-in-random-places-on-academic-website/#post-13630495 - * - * @since 2.0.7 - * @link https://wordpress.org/support/topic/change-the-position-5/page/2/#post-13630114 - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/#post-13630303 - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/page/2/#post-13630799 - * @link https://wordpress.org/support/topic/no-footnotes-anymore/#post-13813233 - * - * - UPDATE: Hooks: remove 'the_post', the plugin stops supporting this hook. - * - * @since 2.1.0 - * @accountable @pewgeuges - */ - - // Reset stored footnotes when displaying the header. - self::$a_arr_footnotes = array(); - self::$a_bool_allow_love_me = true; - } - - /** - * Outputs the custom css to the header of the public page. - * - * @since 1.5.0 - * - * @since 2.1.1 Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report. - * @since 2.1.1 Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback. - * @since 2.1.3 raise settings priority to override theme stylesheets - * @since 2.1.4 Bugfix: Tooltips: Styling: fix font size issue by adding font size to settings with legacy as default. - * @since 2.1.4 Bugfix: Reference container: fix layout issues by moving backlink column width to settings. - * @since 2.2.5 Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report. - * @since 2.2.5 Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report. - * @since 2.3.0 Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report. - * @since 2.5.4 Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report. - */ - public function footnotes_output_head() { - - // Insert start tag without switching out of PHP. - echo "\r\n\r\n"; - - /** - * Alternative tooltip implementation relying on plain JS and CSS transitions. - * - * - Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback. - * - * @reporter @andreasra - * @link https://wordpress.org/support/topic/footnotes-appearing-in-header/page/2/#post-13632566 - * - * @since 2.1.1 - * The script for alternative tooltips is printed formatted, not minified, - * for transparency. It isn’t indented though (the PHP open tag neither). - */ - if ( Footnotes::$a_bool_alternative_tooltips_enabled ) { - - // Start internal script. - ?> - - get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION ) ) { - echo $this->reference_container(); - } - // Get setting for love and share this plugin. - $l_str_love_me_index = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_LOVE ); - // Check if the admin allows to add a link to the footer. - if ( empty( $l_str_love_me_index ) || 'no' === strtolower( $l_str_love_me_index ) || ! self::$a_bool_allow_love_me ) { - return; - } - // Set a hyperlink to the word "footnotes" in the Love slug. - $l_str_linked_name = sprintf( '%s', Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME ); - // Get random love me text. - if ( 'random' === strtolower( $l_str_love_me_index ) ) { - $l_str_love_me_index = 'text-' . wp_rand( 1, 7 ); - } - switch ( $l_str_love_me_index ) { - // Options named wrt backcompat, simplest is default. - case 'text-1': - /* Translators: 2: Link to plugin page 1: Love heart symbol */ - $l_str_love_me_text = sprintf( __( 'I %2$s %1$s', 'footnotes' ), $l_str_linked_name, Footnotes_Config::C_STR_LOVE_SYMBOL ); - break; - case 'text-2': - /* Translators: %s: Link to plugin page */ - $l_str_love_me_text = sprintf( __( 'This website uses the awesome %s plugin.', 'footnotes' ), $l_str_linked_name ); - break; - case 'text-4': - /* Translators: 1: Link to plugin page 2: Love heart symbol */ - $l_str_love_me_text = sprintf( '%1$s %2$s', $l_str_linked_name, Footnotes_Config::C_STR_LOVE_SYMBOL ); - break; - case 'text-5': - /* Translators: 1: Love heart symbol 2: Link to plugin page */ - $l_str_love_me_text = sprintf( '%1$s %2$s', Footnotes_Config::C_STR_LOVE_SYMBOL, $l_str_linked_name ); - break; - case 'text-6': - /* Translators: %s: Link to plugin page */ - $l_str_love_me_text = sprintf( __( 'This website uses %s.', 'footnotes' ), $l_str_linked_name ); - break; - case 'text-7': - /* Translators: %s: Link to plugin page */ - $l_str_love_me_text = sprintf( __( 'This website uses the %s plugin.', 'footnotes' ), $l_str_linked_name ); - break; - case 'text-3': - default: - /* Translators: %s: Link to plugin page */ - $l_str_love_me_text = sprintf( '%s', $l_str_linked_name ); - break; - } - echo sprintf( '
                                                                                                                                                                                                    %s
                                                                                                                                                                                                    ', $l_str_love_me_text ); - } - - /** - * Replaces footnotes in the post/page title. - * - * @since 1.5.0 - * @param string $p_str_content Title. - * @return string $p_str_content Title with replaced footnotes. - */ - public function footnotes_in_title( $p_str_content ) { - // Appends the reference container if set to "post_end". - return $this->exec( $p_str_content, false ); - } - - /** - * Replaces footnotes in the content of the current page/post. - * - * @since 1.5.0 - * - * - Adding: Reference container: optionally per section by shortcode, thanks to @grflukas issue report. - * - * @reporter @grflukas - * @link https://wordpress.org/support/topic/multiple-reference-containers-in-single-post/ - * - * @since 2.7.0 - * @param string $p_str_content Page/Post content. - * @return string $p_str_content Content with replaced footnotes. - */ - public function footnotes_in_content( $p_str_content ) { - - $l_str_ref_container_position = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION ); - $l_str_footnote_section_shortcode = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTE_SECTION_SHORTCODE ); - $l_int_footnote_section_shortcode_length = strlen( $l_str_footnote_section_shortcode ); - - if ( strpos( $p_str_content, $l_str_footnote_section_shortcode ) === false ) { - - // phpcs:disable WordPress.PHP.YodaConditions.NotYoda - // Appends the reference container if set to "post_end". - return $this->exec( $p_str_content, 'post_end' === $l_str_ref_container_position ); - // phpcs:enable WordPress.PHP.YodaConditions.NotYoda - - } else { - - $l_str_rest_content = $p_str_content; - $l_arr_sections_raw = array(); - $l_arr_sections_processed = array(); - - do { - $l_int_section_end = strpos( $l_str_rest_content, $l_str_footnote_section_shortcode ); - $l_arr_sections_raw[] = substr( $l_str_rest_content, 0, $l_int_section_end ); - $l_str_rest_content = substr( $l_str_rest_content, $l_int_section_end + $l_int_footnote_section_shortcode_length ); - } while ( strpos( $l_str_rest_content, $l_str_footnote_section_shortcode ) !== false ); - $l_arr_sections_raw[] = $l_str_rest_content; - - foreach ( $l_arr_sections_raw as $l_str_section ) { - $l_arr_sections_processed[] = self::exec( $l_str_section, true ); - } - - $p_str_content = implode( $l_arr_sections_processed ); - return $p_str_content; - - } - } - - /** - * Processes existing excerpt or replaces it with a new one generated on the basis of the post. - * - * @since 1.5.0 - * @param string $p_str_excerpt Excerpt content. - * @return string $p_str_excerpt Processed or new excerpt. - * @since 2.6.2 Debug No option. - * @since 2.6.3 Debug Yes option, the setting becomes fully effective. - * - * - Bugfix: Excerpts: make excerpt handling backward compatible, thanks to @mfessler bug report. - * - * @reporter @mfessler - * @link https://github.com/markcheret/footnotes/issues/65 - * - * @since 2.7.0 - * The input was already the processed excerpt, no more footnotes to search. - * But issue #65 brought up that manual excerpts can include processable footnotes. - * Default 'manual' is fallback and is backward compatible with the initial setup. - */ - public function footnotes_in_excerpt( $p_str_excerpt ) { - $l_str_excerpt_mode = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_IN_EXCERPT ); - - if ( 'yes' === $l_str_excerpt_mode ) { - return $this->generate_excerpt_with_footnotes( $p_str_excerpt ); - - } elseif ( 'no' === $l_str_excerpt_mode ) { - return $this->generate_excerpt( $p_str_excerpt ); - - } else { - return $this->exec( $p_str_excerpt ); - } - } - - /** - * Generates excerpt on the basis of the post. - * - * - Bugfix: Excerpts: debug the 'No' option by generating excerpts on the basis of the post without footnotes, thanks to @nikelaos @markcheret @martinneumannat bug reports. - * - * @reporter @nikelaos - * @link https://wordpress.org/support/topic/jquery-comes-up-in-feed-content/ - * @link https://wordpress.org/support/topic/doesnt-work-with-mailpoet/ - * - * @reporter @markcheret - * @link https://wordpress.org/support/topic/footnotes-now-appear-in-summaries-even-though-this-is-marked-no/ - * - * @reporter @martinneumannat - * @link https://wordpress.org/support/topic/problem-with-footnotes-in-excerpts-of-the-blog-page/ - * - * @since 2.6.2 - * @param string $p_str_content The post. - * @return string $p_str_content An excerpt of the post. - * Applies full WordPress excerpt processing. - * @link https://developer.wordpress.org/reference/functions/wp_trim_excerpt/ - * @link https://developer.wordpress.org/reference/functions/wp_trim_words/ - */ - public function generate_excerpt( $p_str_content ) { - - // Discard existing excerpt and start on the basis of the post. - $p_str_content = get_the_content( get_the_id() ); - - // Get footnote delimiter shortcodes and unify them. - $p_str_content = self::unify_delimiters( $p_str_content ); - - // Remove footnotes. - $p_str_content = preg_replace( '#' . self::$a_str_start_tag_regex . '.+?' . self::$a_str_end_tag_regex . '#', '', $p_str_content ); - - // Apply WordPress excerpt processing. - $p_str_content = strip_shortcodes( $p_str_content ); - $p_str_content = excerpt_remove_blocks( $p_str_content ); - - // Here the footnotes would be processed as part of WordPress content processing. - $p_str_content = apply_filters( 'the_content', $p_str_content ); - - // According to Advanced Excerpt, this is some kind of precaution against malformed CDATA in RSS feeds. - $p_str_content = str_replace( ']]>', ']]>', $p_str_content ); - - $l_int_excerpt_length = (int) _x( '55', 'excerpt_length' ); - $l_int_excerpt_length = (int) apply_filters( 'excerpt_length', $l_int_excerpt_length ); - $l_str_excerpt_more = apply_filters( 'excerpt_more', ' […]' ); - - // Function wp_trim_words() calls wp_strip_all_tags() that wrecks the footnotes. - $p_str_content = wp_trim_words( $p_str_content, $l_int_excerpt_length, $l_str_excerpt_more ); - - return $p_str_content; - } - - /** - * Generates excerpt with footnotes on the basis of the post. - * - * - Bugfix: Excerpts: debug the 'Yes' option by generating excerpts with footnotes on the basis of the posts, thanks to @nikelaos @martinneumannat bug reports. - * - * @reporter @nikelaos - * @link https://wordpress.org/support/topic/jquery-comes-up-in-feed-content/ - * @link https://wordpress.org/support/topic/doesnt-work-with-mailpoet/ - * - * @reporter @martinneumannat - * @link https://wordpress.org/support/topic/problem-with-footnotes-in-excerpts-of-the-blog-page/ - * - * @since 2.6.3 - * - * - Bugfix: Process: remove trailing comma after last argument in multiline function calls for PHP < 7.3, thanks to @scroom @copylefter @lagoon24 bug reports. - * - * @reporter @scroom - * @link https://wordpress.org/support/topic/update-crashed-my-website-3/ - * - * @reporter @copylefter - * @link https://wordpress.org/support/topic/update-crashed-my-website-3/#post-14259151 - * - * @reporter @lagoon24 - * @link https://wordpress.org/support/topic/update-crashed-my-website-3/#post-14259396 - * - * @since 2.6.4 - * @param string $p_str_content The post. - * @return string $p_str_content An excerpt of the post. - * Does not apply full WordPress excerpt processing. - * @see self::generate_excerpt() - * Uses information and some code from Advanced Excerpt. - * @link https://wordpress.org/plugins/advanced-excerpt/ - */ - public function generate_excerpt_with_footnotes( $p_str_content ) { - - // Discard existing excerpt and start on the basis of the post. - $p_str_content = get_the_content( get_the_id() ); - - // Get footnote delimiter shortcodes and unify them. - $p_str_content = self::unify_delimiters( $p_str_content ); - - // Apply WordPress excerpt processing. - $p_str_content = strip_shortcodes( $p_str_content ); - $p_str_content = excerpt_remove_blocks( $p_str_content ); - - // But do not process footnotes at this point; do only this. - $p_str_content = str_replace( ']]>', ']]>', $p_str_content ); - - // Prepare the excerpt length argument. - $l_int_excerpt_length = (int) _x( '55', 'excerpt_length' ); - $l_int_excerpt_length = (int) apply_filters( 'excerpt_length', $l_int_excerpt_length ); - - // Prepare the Read-on string. - $l_str_excerpt_more = apply_filters( 'excerpt_more', ' […]' ); - - // Safeguard the footnotes. - preg_match_all( - '#' . self::$a_str_start_tag_regex . '.+?' . self::$a_str_end_tag_regex . '#', - $p_str_content, - $p_arr_saved_footnotes - ); - - // Prevent the footnotes from altering the excerpt: previously hard-coded '5ED84D6'. - $l_int_placeholder = '@' . wp_rand( 100000000, 2147483647 ) . '@'; - $p_str_content = preg_replace( - '#' . self::$a_str_start_tag_regex . '.+?' . self::$a_str_end_tag_regex . '#', - $l_int_placeholder, - $p_str_content - ); - - // Replace line breaking markup with a separator. - $l_str_separator = ' '; - $p_str_content = preg_replace( '#
                                                                                                                                                                                                    #', $l_str_separator, $p_str_content ); - $p_str_content = preg_replace( '#
                                                                                                                                                                                                    #', $l_str_separator, $p_str_content ); - $p_str_content = preg_replace( '#<(p|li|div)[^>]*>#', $l_str_separator, $p_str_content ); - $p_str_content = preg_replace( '#' . $l_str_separator . '#', '', $p_str_content, 1 ); - $p_str_content = preg_replace( '##', '', $p_str_content ); - $p_str_content = preg_replace( '#[\r\n]#', '', $p_str_content ); - - // To count words like Advanced Excerpt does it. - $l_arr_tokens = array(); - $l_str_output = ''; - $l_int_counter = 0; - - // Tokenize into tags and words as in Advanced Excerpt. - preg_match_all( '#(<[^>]+>|[^<>\s]+)\s*#u', $p_str_content, $l_arr_tokens ); - - // Count words following one option of Advanced Excerpt. - foreach ( $l_arr_tokens[0] as $l_str_token ) { - - if ( $l_int_counter >= $l_int_excerpt_length ) { - break; - } - // If token is not a tag, increment word count. - if ( '<' !== $l_str_token[0] ) { - $l_int_counter++; - } - // Append the token to the output. - $l_str_output .= $l_str_token; - } - - // Complete unbalanced markup, used by Advanced Excerpt. - $p_str_content = force_balance_tags( $l_str_output ); - - // Readd footnotes in excerpt. - $l_int_index = 0; - while ( 0 !== preg_match( '#' . $l_int_placeholder . '#', $p_str_content ) ) { - $p_str_content = preg_replace( - '#' . $l_int_placeholder . '#', - $p_arr_saved_footnotes[0][ $l_int_index ], - $p_str_content, - 1 - ); - $l_int_index++; - } - - // Append the Read-on string as in wp_trim_words(). - $p_str_content .= $l_str_excerpt_more; - - // Process readded footnotes without appending the reference container. - $p_str_content = self::exec( $p_str_content, false ); - - return $p_str_content; - - } - - /** - * Replaces footnotes in the widget title. - * - * @since 1.5.0 - * @param string $p_str_content Widget content. - * @return string $p_str_content Content with replaced footnotes. - */ - public function footnotes_in_widget_title( $p_str_content ) { - // Appends the reference container if set to "post_end". - return $this->exec( $p_str_content, false ); - } - - /** - * Replaces footnotes in the content of the current widget. - * - * @since 1.5.0 - * @param string $p_str_content Widget content. - * @return string $p_str_content Content with replaced footnotes. - */ - public function footnotes_in_widget_text( $p_str_content ) { - // phpcs:disable WordPress.PHP.YodaConditions.NotYoda - // Appends the reference container if set to "post_end". - return $this->exec( $p_str_content, 'post_end' === Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION ) ? true : false ); - // phpcs:enable WordPress.PHP.YodaConditions.NotYoda - } - - /** - * Replaces all footnotes that occur in the given content. - * - * @since 1.5.0 - * @param string $p_str_content Any string that may contain footnotes to be replaced. - * @param bool $p_bool_output_references Appends the Reference Container to the output if set to true, default true. - * @param bool $p_bool_hide_footnotes_text Hide footnotes found in the string. - * @return string - */ - public function exec( $p_str_content, $p_bool_output_references = false, $p_bool_hide_footnotes_text = false ) { - - // Process content. - $p_str_content = $this->search( $p_str_content, $p_bool_hide_footnotes_text ); - - /** - * Reference container customized positioning through shortcode. - * - * - Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report. - * - * @reporter @hamshe - * @link https://wordpress.org/support/topic/reference-container-in-elementor/ - * - * @since 2.2.0 - * - * - Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report. - * - * @reporter @hamshe - * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126 - * - * @since 2.2.5 - */ - // Append the reference container or insert at shortcode. - $l_str_reference_container_position_shortcode = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE ); - if ( empty( $l_str_reference_container_position_shortcode ) ) { - $l_str_reference_container_position_shortcode = '[[references]]'; - } - - if ( $p_bool_output_references ) { - - if ( strpos( $p_str_content, $l_str_reference_container_position_shortcode ) ) { - - $p_str_content = str_replace( $l_str_reference_container_position_shortcode, $this->reference_container(), $p_str_content ); - - } else { - - $p_str_content .= $this->reference_container(); - - } - - // Increment the container ID. - self::$a_int_reference_container_id++; - } - - // Delete position shortcode should any remain. - $p_str_content = str_replace( $l_str_reference_container_position_shortcode, '', $p_str_content ); - - // Take a look if the LOVE ME slug should NOT be displayed on this page/post, remove the short code if found. - if ( strpos( $p_str_content, Footnotes_Config::C_STR_NO_LOVE_SLUG ) ) { - self::$a_bool_allow_love_me = false; - $p_str_content = str_replace( Footnotes_Config::C_STR_NO_LOVE_SLUG, '', $p_str_content ); - } - // Return the content with replaced footnotes and optional reference container appended. - return $p_str_content; - } - - /** - * Brings the delimiters and unifies their various HTML escapement schemas. - * - * @param string $p_str_content TODO. - * - * - Bugfix: Footnote delimiter short codes: fix numbering bug by cross-editor HTML escapement schema unification, thanks to @patrick_here @alifarahani8000 @gova bug reports. - * - * @reporter @patrick_here - * @link https://wordpress.org/support/topic/how-to-add-footnotes-shortcode-in-elementor/ - * - * @reporter @alifarahani8000 - * @link https://wordpress.org/support/topic/after-version-2-5-10-the-ref-or-tags-are-not-longer-working/ - * - * @reporter @gova - * @link https://wordpress.org/support/topic/footnotes-content-number-not-sequential/ - * - * @since 2.1.14 - * While the Classic Editor (visual mode) escapes both pointy brackets, - * the Block Editor enforces balanced escapement only in code editor mode - * when the opening tag is already escaped. In visual mode, the Block Editor - * does not escape the greater-than sign. - */ - public function unify_delimiters( $p_str_content ) { - - // Get footnotes start and end tag short codes. - $l_str_starting_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START ); - $l_str_ending_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END ); - if ( 'userdefined' === $l_str_starting_tag || 'userdefined' === $l_str_ending_tag ) { - $l_str_starting_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED ); - $l_str_ending_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED ); - } - - // If any footnotes short code is empty, return the content without changes. - if ( empty( $l_str_starting_tag ) || empty( $l_str_ending_tag ) ) { - return $p_str_content; - } - - if ( preg_match( '#[&"\'<>]#', $l_str_starting_tag . $l_str_ending_tag ) ) { - - $l_str_harmonized_start_tag = '{[(|fnote_stt|)]}'; - $l_str_harmonized_end_tag = '{[(|fnote_end|)]}'; - - // Harmonize footnotes without escaping any HTML special characters in delimiter shortcodes. - // The footnote has been added in the Block Editor code editor (doesn’t work in Classic Editor text mode). - $p_str_content = str_replace( $l_str_starting_tag, $l_str_harmonized_start_tag, $p_str_content ); - $p_str_content = str_replace( $l_str_ending_tag, $l_str_harmonized_end_tag, $p_str_content ); - - // Harmonize footnotes while escaping HTML special characters in delimiter shortcodes. - // The footnote has been added in the Classic Editor visual mode. - $p_str_content = str_replace( htmlspecialchars( $l_str_starting_tag ), $l_str_harmonized_start_tag, $p_str_content ); - $p_str_content = str_replace( htmlspecialchars( $l_str_ending_tag ), $l_str_harmonized_end_tag, $p_str_content ); - - // Harmonize footnotes while escaping HTML special characters except greater-than sign in delimiter shortcodes. - // The footnote has been added in the Block Editor visual mode. - $p_str_content = str_replace( str_replace( '>', '>', htmlspecialchars( $l_str_starting_tag ) ), $l_str_harmonized_start_tag, $p_str_content ); - $p_str_content = str_replace( str_replace( '>', '>', htmlspecialchars( $l_str_ending_tag ) ), $l_str_harmonized_end_tag, $p_str_content ); - - // Assign the delimiter shortcodes. - self::$a_str_start_tag = $l_str_harmonized_start_tag; - self::$a_str_end_tag = $l_str_harmonized_end_tag; - - // Assign the regex-conformant shortcodes. - self::$a_str_start_tag_regex = '\{\[\(\|fnote_stt\|\)\]\}'; - self::$a_str_end_tag_regex = '\{\[\(\|fnote_end\|\)\]\}'; - - } else { - - // Assign the delimiter shortcodes. - self::$a_str_start_tag = $l_str_starting_tag; - self::$a_str_end_tag = $l_str_ending_tag; - - // Make shortcodes conform to regex syntax. - self::$a_str_start_tag_regex = preg_replace( '#([\(\)\{\}\[\]\|\*\.\?\!])#', '\\\\$1', self::$a_str_start_tag ); - self::$a_str_end_tag_regex = preg_replace( '#([\(\)\{\}\[\]\|\*\.\?\!])#', '\\\\$1', self::$a_str_end_tag ); - } - - return $p_str_content; - } - - /** - * Replaces all footnotes in the given content and appends them to the static property. - * - * @since 1.5.0 - * @param string $p_str_content Any content to be searched for footnotes. - * @param bool $p_bool_hide_footnotes_text Hide footnotes found in the string. - * @return string - * - * @since 2.0.0 various. - * @since 2.4.0 Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes. - * @since 2.5.0 Bugfix: Footnote delimiters: Syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report. - * @since 2.5.0 Bugfix: Footnote delimiters: Syntax validation: complete message with hint about setting, thanks to @andreasra bug report. - * @since 2.5.0 Bugfix: Footnote delimiters: Syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report. - * - * - Bugfix: Footnote delimiter short codes: debug closing pointy brackets in the Block Editor by accounting for unbalanced HTML escapement, thanks to @patrick_here @alifarahani8000 bug reports. - * - * @reporter @patrick_here - * @link https://wordpress.org/support/topic/how-to-add-footnotes-shortcode-in-elementor/ - * - * @reporter @alifarahani8000 - * @link https://wordpress.org/support/topic/after-version-2-5-10-the-ref-or-tags-are-not-longer-working/ - * - * @since 2.5.13 - */ - public function search( $p_str_content, $p_bool_hide_footnotes_text ) { - - // Get footnote delimiter shortcodes and unify them. - $p_str_content = self::unify_delimiters( $p_str_content ); - - /** - * Checks for balanced footnote delimiters; delimiter syntax validation. - * - * - Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes. - * - * @since 2.4.0 - * - * - Bugfix: Footnote delimiters: Syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report. - * - Bugfix: Footnote delimiters: Syntax validation: complete message with hint about setting, thanks to @andreasra bug report. - * - Bugfix: Footnote delimiters: Syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report. - * - * @reporter @andreasra - * @link https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/ - * - * @since 2.5.0 - * If footnotes short codes are unbalanced, and syntax validation is not disabled, - * prepend a warning to the content; displays de facto beneath the post title. - */ - // If enabled. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE ) ) ) { - - // Apply different regex depending on whether start shortcode is double/triple opening parenthesis. - if ( '((' === self::$a_str_start_tag || '(((' === self::$a_str_start_tag ) { - - // This prevents from catching a script containing e.g. a double opening parenthesis. - $l_str_validation_regex = '#' . self::$a_str_start_tag_regex . '(((?!' . self::$a_str_end_tag_regex . ')[^\{\}])*?)(' . self::$a_str_start_tag_regex . '|$)#s'; - - } else { - - // Catch all only if the start shortcode is not double/triple opening parenthesis, i.e. is unlikely to occur in scripts. - $l_str_validation_regex = '#' . self::$a_str_start_tag_regex . '(((?!' . self::$a_str_end_tag_regex . ').)*?)(' . self::$a_str_start_tag_regex . '|$)#s'; - } - - // Check syntax and get error locations. - preg_match( $l_str_validation_regex, $p_str_content, $p_arr_error_location ); - if ( empty( $p_arr_error_location ) ) { - self::$a_bool_syntax_error_flag = false; - } - - // Prevent generating and inserting the warning multiple times. - if ( self::$a_bool_syntax_error_flag ) { - - // Get plain text string for error location. - $l_str_error_spot_string = wp_strip_all_tags( $p_arr_error_location[1] ); - - // Limit string length to 300 characters. - if ( strlen( $l_str_error_spot_string ) > 300 ) { - $l_str_error_spot_string = substr( $l_str_error_spot_string, 0, 299 ) . '…'; - } - - // Compose warning box. - $l_str_syntax_error_warning = '

                                                                                                                                                                                                    '; - $l_str_syntax_error_warning .= __( 'WARNING: unbalanced footnote start tag short code found.', 'footnotes' ); - $l_str_syntax_error_warning .= '

                                                                                                                                                                                                    '; - - // Syntax validation setting in the dashboard under the General settings tab. - /* Translators: 1: General Settings 2: Footnote start and end short codes 3: Check for balanced shortcodes */ - $l_str_syntax_error_warning .= sprintf( __( 'If this warning is irrelevant, please disable the syntax validation feature in the dashboard under %1$s > %2$s > %3$s.', 'footnotes' ), __( 'General settings', 'footnotes' ), __( 'Footnote start and end short codes', 'footnotes' ), __( 'Check for balanced shortcodes', 'footnotes' ) ); - - $l_str_syntax_error_warning .= '

                                                                                                                                                                                                    '; - $l_str_syntax_error_warning .= __( 'Unbalanced start tag short code found before:', 'footnotes' ); - $l_str_syntax_error_warning .= '

                                                                                                                                                                                                    “'; - $l_str_syntax_error_warning .= $l_str_error_spot_string; - $l_str_syntax_error_warning .= '”

                                                                                                                                                                                                    '; - - // Prepend the warning box to the content. - $p_str_content = $l_str_syntax_error_warning . $p_str_content; - - // Checked, set flag to false to prevent duplicate warning. - self::$a_bool_syntax_error_flag = false; - - return $p_str_content; - } - } - - /** - * Patch to allow footnotes in input field labels. - * - * - Bugfix: Forms: remove footnotes from input field values, thanks to @bogosavljev bug report. - * - * @reporter @bogosavljev - * @link https://wordpress.org/support/topic/compatibility-issue-with-wpforms/ - * - * @since 2.5.11 - * When the HTML 'input' element 'value' attribute value - * is derived from 'label', footnotes need to be removed - * in the value of 'value'. - */ - $l_str_value_regex = '#(]+?value=["\'][^>]+?)' . self::$a_str_start_tag_regex . '[^>]+?' . self::$a_str_end_tag_regex . '#'; - - do { - $p_str_content = preg_replace( $l_str_value_regex, '$1', $p_str_content ); - } while ( preg_match( $l_str_value_regex, $p_str_content ) ); - - /** - * Optionally moves footnotes outside at the end of the label element. - * - * - Bugfix: Forms: prevent inadvertently toggling input elements with footnotes in their label, by optionally moving footnotes after the end of the label. - * - * @since 2.5.12 - * @link https://wordpress.org/support/topic/compatibility-issue-with-wpforms/#post-14212318 - */ - $l_str_label_issue_solution = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_LABEL_ISSUE_SOLUTION ); - - if ( 'move' === $l_str_label_issue_solution ) { - - $l_str_move_regex = '#(
                                                                                                                                                                                                    ', - $l_str_footnote_text - ); - } - - // Text to be displayed instead of the footnote. - $l_str_footnote_replace_text = ''; - - // Whether hard links are enabled. - if ( self::$a_bool_hard_links_enabled ) { - - // Get the configurable parts. - self::$a_str_referrer_link_slug = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERRER_FRAGMENT_ID_SLUG ); - self::$a_str_footnote_link_slug = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTE_FRAGMENT_ID_SLUG ); - self::$a_str_link_ids_separator = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_HARD_LINK_IDS_SEPARATOR ); - - // Streamline ID concatenation. - self::$a_str_post_container_id_compound = self::$a_str_link_ids_separator; - self::$a_str_post_container_id_compound .= self::$a_int_post_id; - self::$a_str_post_container_id_compound .= self::$a_str_link_ids_separator; - self::$a_str_post_container_id_compound .= self::$a_int_reference_container_id; - self::$a_str_post_container_id_compound .= self::$a_str_link_ids_separator; - - } - - // Display the footnote referrers and the tooltips. - if ( ! $p_bool_hide_footnotes_text ) { - $l_int_index = Footnotes_Convert::index( $l_int_footnote_index, Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE ) ); - - // Display only a truncated footnote text if option enabled. - $l_bool_enable_excerpt = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED ) ); - $l_int_max_length = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH ) ); - - // Define excerpt text as footnote text by default. - $l_str_excerpt_text = $l_str_footnote_text; - - /** - * Tooltip truncation. - * - * - Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision. - * - * @reporter @rovanov - * @link https://wordpress.org/support/topic/offset-x-axis-and-offset-y-axis-does-not-working/ - * - * @since 2.1.0 - * If the tooltip truncation option is enabled, it’s done based on character count, - * and a trailing incomplete word is cropped. - * This is equivalent to the WordPress default excerpt generation, i.e. without a - * custom excerpt and without a delimiter. But WordPress does word count, usually 55. - */ - if ( Footnotes::$a_bool_tooltips_enabled && $l_bool_enable_excerpt ) { - $l_str_dummy_text = wp_strip_all_tags( $l_str_footnote_text ); - if ( is_int( $l_int_max_length ) && strlen( $l_str_dummy_text ) > $l_int_max_length ) { - $l_str_excerpt_text = substr( $l_str_dummy_text, 0, $l_int_max_length ); - $l_str_excerpt_text = substr( $l_str_excerpt_text, 0, strrpos( $l_str_excerpt_text, ' ' ) ); - $l_str_excerpt_text .= ' … <'; - $l_str_excerpt_text .= self::$a_bool_hard_links_enabled ? 'a' : 'span'; - $l_str_excerpt_text .= ' class="footnote_tooltip_continue" '; - - // If AMP compatibility mode is enabled. - if ( Footnotes::$a_bool_amp_enabled ) { - - // If the reference container is also collapsed by default. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_COLLAPSE ) ) ) { - - $l_str_excerpt_text .= ' on="tap:footnote_references_container_'; - $l_str_excerpt_text .= self::$a_int_post_id . '_' . self::$a_int_reference_container_id; - $l_str_excerpt_text .= '.toggleClass(class=collapsed, force=false),footnotes_container_button_plus_'; - $l_str_excerpt_text .= self::$a_int_post_id . '_' . self::$a_int_reference_container_id; - $l_str_excerpt_text .= '.toggleClass(class=collapsed, force=true),footnotes_container_button_minus_'; - $l_str_excerpt_text .= self::$a_int_post_id . '_' . self::$a_int_reference_container_id; - $l_str_excerpt_text .= '.toggleClass(class=collapsed, force=false)"'; - } - } else { - - // Don’t add onclick event in AMP compatibility mode. - // Reverted wrong linting. - $l_str_excerpt_text .= ' onclick="footnote_moveToReference_' . self::$a_int_post_id; - $l_str_excerpt_text .= '_' . self::$a_int_reference_container_id; - $l_str_excerpt_text .= '(\'footnote_plugin_reference_' . self::$a_int_post_id; - $l_str_excerpt_text .= '_' . self::$a_int_reference_container_id; - $l_str_excerpt_text .= "_$l_int_index');\""; - } - - // If enabled, add the hard link fragment ID. - if ( self::$a_bool_hard_links_enabled ) { - - $l_str_excerpt_text .= ' href="#'; - $l_str_excerpt_text .= self::$a_str_footnote_link_slug; - $l_str_excerpt_text .= self::$a_str_post_container_id_compound; - $l_str_excerpt_text .= $l_int_index; - $l_str_excerpt_text .= '"'; - } - - $l_str_excerpt_text .= '>'; - - /** - * Configurable read-on button label. - * - * - Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision. - * - * @reporter @rovanov - * @link https://wordpress.org/support/topic/offset-x-axis-and-offset-y-axis-does-not-working/ - * - * @since 2.1.0 - */ - $l_str_excerpt_text .= Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_READON_LABEL ); - - $l_str_excerpt_text .= self::$a_bool_hard_links_enabled ? '' : ''; - } - } - - /** - * Referrers element superscript or baseline. - * - * - Bugfix: Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report. - * - * @reporter @cwbayer - * @link https://wordpress.org/support/topic/footnote-number-in-text-superscript-disrupts-leading/ - * - * @since 2.1.1 - * Define the HTML element to use for the referrers. - */ - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS ) ) ) { - - $l_str_sup_span = 'sup'; - - } else { - - $l_str_sup_span = 'span'; - } - - // Whether hard links are enabled. - if ( self::$a_bool_hard_links_enabled ) { - - self::$a_str_link_span = 'a'; - self::$a_str_link_close_tag = ''; - // Self::$a_str_link_open_tag will be defined as needed. - - // Compose hyperlink address (leading space is in template). - $l_str_footnote_link_argument = 'href="#'; - $l_str_footnote_link_argument .= self::$a_str_footnote_link_slug; - $l_str_footnote_link_argument .= self::$a_str_post_container_id_compound; - $l_str_footnote_link_argument .= $l_int_index; - $l_str_footnote_link_argument .= '" class="footnote_hard_link"'; - - /** - * Compose fragment ID anchor with offset, for use in reference container. - * Empty span, child of empty span, to avoid tall dotted rectangles in browser. - */ - $l_str_referrer_anchor_element = ''; - - } else { - - /** - * Initialize hard link variables when hard links are disabled. - * - * - Bugfix: Process: initialize hard link address variables to empty string to fix 'undefined variable' bug, thanks to @a223123131 bug report. - * - * @reporter @a223123131 - * @link https://wordpress.org/support/topic/wp_debug-php-notice/ - * - * @since 2.4.0 - * If no hyperlink nor offset anchor is needed, initialize as empty. - */ - $l_str_footnote_link_argument = ''; - $l_str_referrer_anchor_element = ''; - - // The link element is set independently as it may be needed for styling. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_LINK_ELEMENT_ENABLED ) ) ) { - - self::$a_str_link_span = 'a'; - self::$a_str_link_open_tag = ''; - self::$a_str_link_close_tag = ''; - - } - } - - // Determine tooltip content. - if ( Footnotes::$a_bool_tooltips_enabled ) { - $l_str_tooltip_content = $l_bool_has_tooltip_text ? $l_str_tooltip_text : $l_str_excerpt_text; - /** - * Ensures paragraph separation - * - * @reporter @pewgeuges - * @link https://github.com/markcheret/footnotes/issues/103 - * @since 2.7.1 - * Ensures that footnotes containing paragraph separators get displayed correctly. - */ - $l_arr_paragraph_splitters = array( '#(

                                                                                                                                                                                                    |]*>)#', '#(
                                                                                                                                                                                                    |]*>)#' ); - $l_str_tooltip_content = preg_replace( $l_arr_paragraph_splitters, '
                                                                                                                                                                                                    ', $l_str_tooltip_content ); - } else { - $l_str_tooltip_content = ''; - } - - /** - * Determine shrink width if alternative tooltips are enabled. - * - * @since 2.5.6 - */ - $l_str_tooltip_style = ''; - if ( Footnotes::$a_bool_alternative_tooltips_enabled && Footnotes::$a_bool_tooltips_enabled ) { - $l_int_tooltip_length = strlen( wp_strip_all_tags( $l_str_tooltip_content ) ); - if ( $l_int_tooltip_length < 70 ) { - $l_str_tooltip_style = ' style="width: '; - $l_str_tooltip_style .= ( $l_int_tooltip_length * .7 ); - $l_str_tooltip_style .= 'em;"'; - } - } - - // Fill in 'templates/public/footnote.html'. - $l_obj_template->replace( - array( - 'link-span' => self::$a_str_link_span, - 'post_id' => self::$a_int_post_id, - 'container_id' => self::$a_int_reference_container_id, - 'note_id' => $l_int_index, - 'hard-link' => $l_str_footnote_link_argument, - 'sup-span' => $l_str_sup_span, - 'before' => Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_STYLING_BEFORE ), - 'index' => $l_int_index, - 'after' => Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_STYLING_AFTER ), - 'anchor-element' => $l_str_referrer_anchor_element, - 'style' => $l_str_tooltip_style, - 'text' => $l_str_tooltip_content, - ) - ); - $l_str_footnote_replace_text = $l_obj_template->get_content(); - - // Reset the template. - $l_obj_template->reload(); - - // If tooltips are enabled but neither AMP nor alternative are. - if ( Footnotes::$a_bool_tooltips_enabled && ! Footnotes::$a_bool_amp_enabled && ! Footnotes::$a_bool_alternative_tooltips_enabled ) { - - $l_int_offset_y = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y ) ); - $l_int_offset_x = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X ) ); - $l_int_fade_in_delay = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_IN_DELAY ) ); - $l_int_fade_in_duration = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_IN_DURATION ) ); - $l_int_fade_out_delay = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_OUT_DELAY ) ); - $l_int_fade_out_duration = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_MOUSE_OVER_BOX_FADE_OUT_DURATION ) ); - - // Fill in 'templates/public/tooltip.html'. - $l_obj_template_tooltip->replace( - array( - 'post_id' => self::$a_int_post_id, - 'container_id' => self::$a_int_reference_container_id, - 'note_id' => $l_int_index, - 'position' => Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION ), - 'offset-y' => ! empty( $l_int_offset_y ) ? $l_int_offset_y : 0, - 'offset-x' => ! empty( $l_int_offset_x ) ? $l_int_offset_x : 0, - 'fade-in-delay' => ! empty( $l_int_fade_in_delay ) ? $l_int_fade_in_delay : 0, - 'fade-in-duration' => ! empty( $l_int_fade_in_duration ) ? $l_int_fade_in_duration : 0, - 'fade-out-delay' => ! empty( $l_int_fade_out_delay ) ? $l_int_fade_out_delay : 0, - 'fade-out-duration' => ! empty( $l_int_fade_out_duration ) ? $l_int_fade_out_duration : 0, - ) - ); - $l_str_footnote_replace_text .= $l_obj_template_tooltip->get_content(); - $l_obj_template_tooltip->reload(); - } - } - // Replace the footnote with the template. - $p_str_content = substr_replace( $p_str_content, $l_str_footnote_replace_text, $l_int_pos_start, $l_int_length + strlen( self::$a_str_end_tag ) ); - - // Add footnote only if not empty. - if ( ! empty( $l_str_footnote_text ) ) { - // Set footnote to the output box at the end. - self::$a_arr_footnotes[] = $l_str_footnote_text; - // Increase footnote index. - $l_int_footnote_index++; - } - - /** - * Fixes a partial footnotes process outage happening when tooltips are truncated or disabled. - * Fixed a footnotes numbering bug happening under de facto rare circumstances. - * - * - Bugfix: Fixed occasional bug where footnote ordering could be out of sequence - * - * @since 1.6.4 - * @committer @dartiss - * @link https://plugins.trac.wordpress.org/browser/footnotes/trunk/class/task.php?rev=1445718 @dartiss’ class/task.php - * @link https://plugins.trac.wordpress.org/log/footnotes/trunk/class/task.php?rev=1445718 @dartiss re-added class/task.php - * @link https://plugins.trac.wordpress.org/browser/footnotes/trunk/class?rev=1445711 class/ w/o task.php - * @link https://plugins.trac.wordpress.org/changeset/1445711/footnotes/trunk/class @dartiss deleted class/task.php - * @link https://plugins.trac.wordpress.org/browser/footnotes/trunk/class/task.php?rev=1026210 @aricura’s latest class/task.php - * - * - Bugfix: Process: fix numbering bug impacting footnote #2 with footnote #1 close to start, thanks to @rumperuu bug report, thanks to @lolzim code contribution. - * - * @reporter @rumperuu - * @link https://wordpress.org/support/topic/footnotes-numbered-incorrectly/ - * - * @contributor @lolzim - * @link https://wordpress.org/support/topic/footnotes-numbered-incorrectly/#post-14062032 - * - * @since 2.5.5 - * This assignment was overridden by another one, causing the algorithm to jump back - * near the post start to a position calculated as the sum of the length of the last - * footnote and the length of the last footnote replace text. - * A bug disturbing the order of the footnotes depending on the text before the first - * footnote, the length of the first footnote and the length of the templates for the - * footnote and the tooltip. - * Deleting both lines instead, to resume the search at the position where it left off, - * would have prevented also the following bug. - * - * - Bugfix: Process: fix issue that caused some footnotes to not be processed, thanks to @docteurfitness @rkupadhya @offpeakdesign bug reports. - * - * @reporter @docteurfitness - * @link https://wordpress.org/support/topic/problem-since-footnotes-2-5-14/ - * - * @reporter @rkupadhya - * @link https://wordpress.org/support/topic/adjacent-footnotes-not-working-sometimes/ - * - * @reporter @offpeakdesign - * @link https://wordpress.org/support/topic/character-limit-bug/ - * - * @since 2.6.6 - * The origin of the bug was present since the beginning (v1.0.0). - * For v1.3.2 the wrong code was refactored but remained wrong, - * and was unaffected by the v1.5.0 refactoring. - * The reason why the numbering disorder reverted to a partial process outage - * since 2.5.14 is that with this version, the plugin stopped processing the - * content multiple times, and started unifying the shortcodes instead, to fix - * the numbering disorder affecting delimiter shortcodes with pointy brackets - * and mixed escapement schemas. - */ - // Add offset to the new starting position. - $l_int_pos_start += strlen( $l_str_footnote_replace_text ); - - } while ( true ); - - // Return content. - return $p_str_content; - } - - /** - * Generates the reference container. - * - * @since 1.5.0 - * @return string - * - * @since 2.0.0 Update: remove backlink symbol along with column 2 of the reference container - * @since 2.0.3 Bugfix: prepend an arrow on user request - * @since 2.0.6 Bugfix: Reference container: fix line breaking behavior in footnote number clusters. - * @since 2.0.4 Bugfix: restore the arrow select and backlink symbol input settings - * @since 2.1.1 Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report. - * @since 2.1.1 Bugfix: Reference container: Backlink symbol: make optional, not suggest configuring it to invisible, thanks to @spaceling feedback. - */ - public function reference_container() { - - // No footnotes have been replaced on this page. - if ( empty( self::$a_arr_footnotes ) ) { - return ''; - } - - /** - * Footnote index backlink symbol. - * - * - Bugfix: Reference container: Backlink symbol: make optional, not suggest configuring it to invisible, thanks to @spaceling feedback. - * - * @reporter @spaceling - * @link https://wordpress.org/support/topic/change-the-position-5/page/2/#post-13671138 - * - * @since 2.1.1 - */ - // If the backlink symbol is enabled. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE ) ) ) { - - // Get html arrow. - $l_str_arrow = Footnotes_Convert::get_arrow( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_HYPERLINK_ARROW ) ); - // Set html arrow to the first one if invalid index defined. - if ( is_array( $l_str_arrow ) ) { - $l_str_arrow = Footnotes_Convert::get_arrow( 0 ); - } - // Get user defined arrow. - $l_str_arrow_user_defined = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_HYPERLINK_ARROW_USER_DEFINED ); - if ( ! empty( $l_str_arrow_user_defined ) ) { - $l_str_arrow = $l_str_arrow_user_defined; - } - - // Wrap the arrow in a @media print { display:hidden } span. - $l_str_footnote_arrow = ''; - $l_str_footnote_arrow .= $l_str_arrow . ''; - - } else { - - // If the backlink symbol isn’t enabled, set it to empty. - $l_str_arrow = ''; - $l_str_footnote_arrow = ''; - - } - - /** - * Backlink separator. - * - * - Bugfix: Reference container: make separating and terminating punctuation optional and configurable, thanks to @docteurfitness issue report and code contribution. - * - * @reporter @docteurfitness - * @link https://wordpress.org/support/topic/update-2-1-3/ - * - * @contributor @docteurfitness - * @link https://wordpress.org/support/topic/update-2-1-3/#post-13704194 - * - * @since 2.1.4 - * Initially an appended comma was hard-coded in this algorithm for enumerations. - * The comma in enumerations is not universally preferred. - */ - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_ENABLED ) ) ) { - - // Check if it is input-configured. - $l_str_separator = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_CUSTOM ); - - if ( empty( $l_str_separator ) ) { - - // If it is not, check which option is on. - $l_str_separator_option = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_OPTION ); - switch ( $l_str_separator_option ) { - case 'comma': - $l_str_separator = ','; - break; - case 'semicolon': - $l_str_separator = ';'; - break; - case 'en_dash': - $l_str_separator = ' –'; - break; - } - } - } else { - - $l_str_separator = ''; - } - - /** - * Backlink terminator. - * - * Initially a dot was appended in the table row template. - * - * @since 2.0.6 a dot after footnote numbers is discarded as not localizable; - * making it optional was envisaged. - * @since 2.1.4 the terminator is optional, has options, and is configurable. - */ - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_ENABLED ) ) ) { - - // Check if it is input-configured. - $l_str_terminator = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_CUSTOM ); - - if ( empty( $l_str_terminator ) ) { - - // If it is not, check which option is on. - $l_str_terminator_option = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_OPTION ); - switch ( $l_str_terminator_option ) { - case 'period': - $l_str_terminator = '.'; - break; - case 'parenthesis': - $l_str_terminator = ')'; - break; - case 'colon': - $l_str_terminator = ':'; - break; - } - } - } else { - - $l_str_terminator = ''; - } - - /** - * Line breaks. - * - * - Bugfix: Reference container: Backlinks: fix stacked enumerations by adding optional line breaks. - * - * @since 2.1.4 - * - * The backlinks of combined footnotes are generally preferred in an enumeration. - * But when few footnotes are identical, stacking the items in list form is better. - * Variable number length and proportional character width require explicit line breaks. - * Otherwise, an ordinary space character offering a line break opportunity is inserted. - */ - $l_str_line_break = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_BACKLINKS_LINE_BREAKS_ENABLED ) ) ? '
                                                                                                                                                                                                    ' : ' '; - - /** - * Line breaks for source readability. - * - * For maintenance and support, table rows in the reference container should be - * separated by an empty line. So we add these line breaks for source readability. - * Before the first table row (breaks between rows are ~200 lines below). - */ - $l_str_body = "\r\n\r\n"; - - /** - * Reference container table row template load. - * - * - Bugfix: Reference container: option to restore pre-2.0.0 layout with the backlink symbol in an extra column. - * - * @since 2.1.1 - */ - $l_bool_combine_identical_footnotes = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_COMBINE_IDENTICAL_FOOTNOTES ) ); - - // AMP compatibility requires a full set of AMP compatible table row templates. - if ( Footnotes::$a_bool_amp_enabled ) { - - // When combining identical footnotes is turned on, another template is needed. - if ( $l_bool_combine_identical_footnotes ) { - - // The combining template allows for backlink clusters and supports cell clicking for single notes. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'amp-reference-container-body-combi' ); - - } else { - - // When 3-column layout is turned on (only available if combining is turned off). - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE ) ) ) { - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'amp-reference-container-body-3column' ); - - } else { - - // When switch symbol and index is turned on, and combining and 3-columns are off. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH ) ) ) { - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'amp-reference-container-body-switch' ); - - } else { - - // Default is the standard template. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'amp-reference-container-body' ); - - } - } - } - } else { - - // When combining identical footnotes is turned on, another template is needed. - if ( $l_bool_combine_identical_footnotes ) { - - // The combining template allows for backlink clusters and supports cell clicking for single notes. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'reference-container-body-combi' ); - - } else { - - // When 3-column layout is turned on (only available if combining is turned off). - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE ) ) ) { - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'reference-container-body-3column' ); - - } else { - - // When switch symbol and index is turned on, and combining and 3-columns are off. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH ) ) ) { - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'reference-container-body-switch' ); - - } else { - - // Default is the standard template. - $l_obj_template = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'reference-container-body' ); - - } - } - } - } - - /** - * Switch backlink symbol and footnote number. - * - * - Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution. - * - * @since 2.1.1 - * - * @contributor @spaceling - * @link https://wordpress.org/support/topic/change-the-position-5/#post-13615994 - * - * - * - Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on. - * - * @since 2.1.4 - */ - $l_bool_symbol_switch = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH ) ); - - // Loop through all footnotes found in the page. - $num_footnotes = count( self::$a_arr_footnotes ); - for ( $l_int_index = 0; $l_int_index < $num_footnotes; $l_int_index++ ) { - - // Get footnote text. - $l_str_footnote_text = self::$a_arr_footnotes[ $l_int_index ]; - - // If footnote is empty, go to the next one;. - // With combine identicals turned on, identicals will be deleted and are skipped. - if ( empty( $l_str_footnote_text ) ) { - continue; - } - - // Generate content of footnote index cell. - $l_int_first_footnote_index = ( $l_int_index + 1 ); - - // Get the footnote index string and. - // Keep supporting legacy index placeholder. - $l_str_footnote_id = Footnotes_Convert::index( ( $l_int_index + 1 ), Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE ) ); - - /** - * Case of only one backlink per table row. - * - * If enabled, and for the case the footnote is single, compose hard link. - */ - // Define anyway. - $l_str_hard_link_address = ''; - - if ( self::$a_bool_hard_links_enabled ) { - - /** - * Use-Backbutton-Hint tooltip, optional and configurable. - * - * - Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report. - * - * @reporter @theroninjedi47 - * @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/ - * - * @since 2.5.4 - * When hard links are enabled, clicks on the backlinks are logged in the browsing history. - * This tooltip hints to use the backbutton instead, so the history gets streamlined again. - * @link https://wordpress.org/support/topic/making-it-amp-compatible/#post-13837359 - */ - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_ENABLE ) ) ) { - $l_str_use_backbutton_hint = ' title="'; - $l_str_use_backbutton_hint .= Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_BACKLINK_TOOLTIP_TEXT ); - $l_str_use_backbutton_hint .= '"'; - } else { - $l_str_use_backbutton_hint = ''; - } - - /** - * Compose fragment ID anchor with offset, for use in reference container. - * Empty span, child of empty span, to avoid tall dotted rectangles in browser. - */ - $l_str_footnote_anchor_element = ''; - - // Compose optional hard link address. - $l_str_hard_link_address = ' href="#'; - $l_str_hard_link_address .= self::$a_str_referrer_link_slug; - $l_str_hard_link_address .= self::$a_str_post_container_id_compound; - $l_str_hard_link_address .= $l_str_footnote_id . '"'; - $l_str_hard_link_address .= $l_str_use_backbutton_hint; - - // Compose optional opening link tag with optional hard link, mandatory for instance. - self::$a_str_link_open_tag = ''; - $l_str_footnote_reference .= '>'; - - // Append the optional offset anchor for hard links. - if ( self::$a_bool_hard_links_enabled ) { - $l_str_footnote_reference .= $l_str_footnote_anchor_element; - $l_str_footnote_backlinks .= $l_str_footnote_anchor_element; - } - - // Continue both single note and notes cluster, depending on switch option status. - if ( $l_bool_symbol_switch ) { - - $l_str_footnote_reference .= "$l_str_footnote_id$l_str_footnote_arrow"; - $l_str_footnote_backlinks .= "$l_str_footnote_id$l_str_footnote_arrow"; - - } else { - - $l_str_footnote_reference .= "$l_str_footnote_arrow$l_str_footnote_id"; - $l_str_footnote_backlinks .= "$l_str_footnote_arrow$l_str_footnote_id"; - - } - - // If that is the only footnote with this text, we’re almost done.. - - // Check if it isn't the last footnote in the array. - if ( $l_int_first_footnote_index < count( self::$a_arr_footnotes ) ) { - - // Get all footnotes that haven't passed yet. - $num_footnotes = count( self::$a_arr_footnotes ); - for ( $l_int_check_index = $l_int_first_footnote_index; $l_int_check_index < $num_footnotes; $l_int_check_index++ ) { - - // Check if a further footnote is the same as the actual one. - if ( self::$a_arr_footnotes[ $l_int_check_index ] === $l_str_footnote_text ) { - - // If so, set the further footnote as empty so it won't be displayed later. - self::$a_arr_footnotes[ $l_int_check_index ] = ''; - - // Set the flag to true for the combined status. - $l_bool_flag_combined = true; - - // Update the footnote ID. - $l_str_footnote_id = Footnotes_Convert::index( ( $l_int_check_index + 1 ), Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE ) ); - - // Resume composing the backlinks enumeration. - $l_str_footnote_backlinks .= "$l_str_separator'; - $l_str_footnote_backlinks .= $l_str_line_break; - $l_str_footnote_backlinks .= '<' . self::$a_str_link_span; - $l_str_footnote_backlinks .= ' id="footnote_plugin_reference_'; - $l_str_footnote_backlinks .= self::$a_int_post_id; - $l_str_footnote_backlinks .= '_' . self::$a_int_reference_container_id; - $l_str_footnote_backlinks .= "_$l_str_footnote_id\""; - - // Insert the optional hard link address. - if ( self::$a_bool_hard_links_enabled ) { - $l_str_footnote_backlinks .= ' href="#'; - $l_str_footnote_backlinks .= self::$a_str_referrer_link_slug; - $l_str_footnote_backlinks .= self::$a_str_post_container_id_compound; - $l_str_footnote_backlinks .= $l_str_footnote_id . '"'; - $l_str_footnote_backlinks .= $l_str_use_backbutton_hint; - } - - $l_str_footnote_backlinks .= ' class="footnote_backlink"'; - - // Reverted wrong linting. - $l_str_footnote_backlinks .= ' onclick="footnote_moveToAnchor_'; - - $l_str_footnote_backlinks .= self::$a_int_post_id; - $l_str_footnote_backlinks .= '_' . self::$a_int_reference_container_id; - $l_str_footnote_backlinks .= "('footnote_plugin_tooltip_"; - $l_str_footnote_backlinks .= self::$a_int_post_id; - $l_str_footnote_backlinks .= '_' . self::$a_int_reference_container_id; - $l_str_footnote_backlinks .= "_$l_str_footnote_id');\">"; - - // Append the offset anchor for optional hard links. - if ( self::$a_bool_hard_links_enabled ) { - $l_str_footnote_backlinks .= ''; - } - - $l_str_footnote_backlinks .= $l_bool_symbol_switch ? '' : $l_str_footnote_arrow; - $l_str_footnote_backlinks .= $l_str_footnote_id; - $l_str_footnote_backlinks .= $l_bool_symbol_switch ? $l_str_footnote_arrow : ''; - - } - } - } - - // Append terminator and end tag. - $l_str_footnote_reference .= $l_str_terminator . ''; - $l_str_footnote_backlinks .= $l_str_terminator . ''; - - } - - // Line wrapping of URLs already fixed, see above. - - // Get reference container item text if tooltip text goes separate. - $l_int_tooltip_text_length = strpos( $l_str_footnote_text, self::$a_str_tooltip_shortcode ); - $l_bool_has_tooltip_text = ! $l_int_tooltip_text_length ? false : true; - if ( $l_bool_has_tooltip_text ) { - $l_str_not_tooltip_text = substr( $l_str_footnote_text, ( $l_int_tooltip_text_length + self::$a_int_tooltip_shortcode_length ) ); - self::$a_bool_mirror_tooltip_text = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE ) ); - if ( self::$a_bool_mirror_tooltip_text ) { - $l_str_tooltip_text = substr( $l_str_footnote_text, 0, $l_int_tooltip_text_length ); - $l_str_reference_text_introducer = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR ); - $l_str_reference_text = $l_str_tooltip_text . $l_str_reference_text_introducer . $l_str_not_tooltip_text; - } else { - $l_str_reference_text = $l_str_not_tooltip_text; - } - } else { - $l_str_reference_text = $l_str_footnote_text; - } - - // Replace all placeholders in table row template. - $l_obj_template->replace( - array( - - // Placeholder used in all templates. - 'text' => $l_str_reference_text, - - // Used in standard layout W/O COMBINED FOOTNOTES. - 'post_id' => self::$a_int_post_id, - 'container_id' => self::$a_int_reference_container_id, - 'note_id' => Footnotes_Convert::index( $l_int_first_footnote_index, Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE ) ), - 'link-start' => self::$a_str_link_open_tag, - 'link-end' => self::$a_str_link_close_tag, - 'link-span' => self::$a_str_link_span, - 'terminator' => $l_str_terminator, - 'anchor-element' => $l_str_footnote_anchor_element, - 'hard-link' => $l_str_hard_link_address, - - // Used in standard layout WITH COMBINED IDENTICALS TURNED ON. - 'pointer' => $l_bool_flag_combined ? '' : ' pointer', - 'event' => $l_bool_flag_combined ? '' : $l_str_backlink_event, - 'backlinks' => $l_bool_flag_combined ? $l_str_footnote_backlinks : $l_str_footnote_reference, - - // Legacy placeholders for use in legacy layout templates. - 'arrow' => $l_str_footnote_arrow, - 'index' => $l_str_footnote_id, - ) - ); - - $l_str_body .= $l_obj_template->get_content(); - - // Extra line breaks for page source readability. - $l_str_body .= "\r\n\r\n"; - - $l_obj_template->reload(); - - } - - // Call again for robustness when priority levels don’t match any longer. - self::$a_int_scroll_offset = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_OFFSET ) ); - - // Streamline. - $l_bool_collapse_default = Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_COLLAPSE ) ); - - /** - * Reference container label. - * - * - Bugfix: Reference container: Label: set empty label to U+202F NNBSP for more robustness, thanks to @lukashuggenberg feedback. - * - * @reporter @lukashuggenberg - * - * @since 2.4.0 - * Themes may drop-cap a first letter of initial paragraphs, like this label. - * In case of empty label that would apply to the left half button character. - * Hence the point in setting an empty label to U+202F NARROW NO-BREAK SPACE. - */ - $l_str_reference_container_label = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME ); - - // Select the reference container template. - // Whether AMP compatibility mode is enabled. - if ( Footnotes::$a_bool_amp_enabled ) { - - // Whether the reference container is collapsed by default. - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_COLLAPSE ) ) ) { - - // Load 'templates/public/amp-reference-container-collapsed.html'. - $l_obj_template_container = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'amp-reference-container-collapsed' ); - - } else { - - // Load 'templates/public/amp-reference-container.html'. - $l_obj_template_container = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'amp-reference-container' ); - } - } elseif ( 'js' === Footnotes::$a_str_script_mode ) { - - // Load 'templates/public/js-reference-container.html'. - $l_obj_template_container = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'js-reference-container' ); - - } else { - - // Load 'templates/public/reference-container.html'. - $l_obj_template_container = new Footnotes_Template( Footnotes_Template::C_STR_PUBLIC, 'reference-container' ); - } - - $l_int_scroll_offset = ''; - $l_int_scroll_down_delay = ''; - $l_int_scroll_down_duration = ''; - $l_int_scroll_up_delay = ''; - $l_int_scroll_up_duration = ''; - - if ( 'jquery' === Footnotes::$a_str_script_mode ) { - - $l_int_scroll_offset = ( self::$a_int_scroll_offset / 100 ); - $l_int_scroll_up_duration = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DURATION ) ); - - if ( Footnotes_Convert::to_bool( Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY ) ) ) { - - $l_int_scroll_down_duration = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DOWN_DURATION ) ); - - } else { - - $l_int_scroll_down_duration = $l_int_scroll_up_duration; - - } - - $l_int_scroll_down_delay = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_DOWN_DELAY ) ); - $l_int_scroll_up_delay = intval( Footnotes_Settings::instance()->get( Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_UP_DELAY ) ); - - } - - $l_obj_template_container->replace( - array( - 'post_id' => self::$a_int_post_id, - 'container_id' => self::$a_int_reference_container_id, - 'element' => Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT ), - 'name' => empty( $l_str_reference_container_label ) ? ' ' : $l_str_reference_container_label, - 'button-style' => ! $l_bool_collapse_default ? 'display: none;' : '', - 'style' => $l_bool_collapse_default ? 'display: none;' : '', - 'caption' => ( empty( $l_str_reference_container_label ) || ' ' === $l_str_reference_container_label ) ? 'References' : $l_str_reference_container_label, - 'content' => $l_str_body, - 'scroll-offset' => $l_int_scroll_offset, - 'scroll-down-delay' => $l_int_scroll_down_delay, - 'scroll-down-duration' => $l_int_scroll_down_duration, - 'scroll-up-delay' => $l_int_scroll_up_delay, - 'scroll-up-duration' => $l_int_scroll_up_duration, - ) - ); - - // Free all found footnotes if reference container will be displayed. - self::$a_arr_footnotes = array(); - - return $l_obj_template_container->get_content(); - } -} diff --git a/src/class/template.php b/src/class/template.php deleted file mode 100644 index dec1f82..0000000 --- a/src/class/template.php +++ /dev/null @@ -1,233 +0,0 @@ -plugin_directory = plugin_dir_path( dirname( __FILE__ ) ); - - /** - * Modularize functions. - * - * @since 2.4.0d3 - */ - $template = $this->get_template( $p_str_file_type, $p_str_file_name, $p_str_extension ); - if ( $template ) { - $this->process_template( $template ); - } else { - return; - } - - } - - /** - * Replace all placeholders specified in array. - * - * @since 1.5.0 - * @param array $p_arr_placeholders Placeholders (key = placeholder, value = value). - * @return bool True on Success, False if Placeholders invalid. - */ - public function replace( $p_arr_placeholders ) { - // No placeholders set. - if ( empty( $p_arr_placeholders ) ) { - return false; - } - // Template content is empty. - if ( empty( $this->a_str_replaced_content ) ) { - return false; - } - // Iterate through each placeholder and replace it with its value. - foreach ( $p_arr_placeholders as $l_str_placeholder => $l_str_value ) { - $this->a_str_replaced_content = str_replace( '[[' . $l_str_placeholder . ']]', $l_str_value, $this->a_str_replaced_content ); - } - // Success. - return true; - } - - /** - * Reloads the original content of the template file. - * - * @since 1.5.0 - */ - public function reload() { - $this->a_str_replaced_content = $this->a_str_original_content; - } - - /** - * Returns the content of the template file with replaced placeholders. - * - * @since 1.5.0 - * @return string Template content with replaced placeholders. - */ - public function get_content() { - return $this->a_str_replaced_content; - } - - /** - * Process template file. - * - * @since 2.4.0d3 - * - * @param string $template The template to be processed. - * @return void - * - * @since 2.0.3 Replace tab with a space. - * @since 2.0.3 Replace 2 spaces with 1. - * @since 2.0.4 Collapse multiple spaces. - * @since 2.2.6 Delete a space before a closing pointy bracket. - * @since 2.5.4 Collapse HTML comments and PHP/JS docblocks (only). - */ - public function process_template( $template ) { - // phpcs:disable WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents - $this->a_str_original_content = preg_replace( '##s', '', file_get_contents( $template ) ); - // phpcs:enable - $this->a_str_original_content = preg_replace( '#/\*\*.+?\*/#s', '', $this->a_str_original_content ); - $this->a_str_original_content = str_replace( "\n", '', $this->a_str_original_content ); - $this->a_str_original_content = str_replace( "\r", '', $this->a_str_original_content ); - $this->a_str_original_content = str_replace( "\t", ' ', $this->a_str_original_content ); - $this->a_str_original_content = preg_replace( '# +#', ' ', $this->a_str_original_content ); - $this->a_str_original_content = str_replace( ' >', '>', $this->a_str_original_content ); - $this->reload(); - } - - /** - * Get the template. - * - * - Adding: Templates: Enable template location stack, thanks to @misfist issue report and code contribution. - * - * @since 2.4.0d3 Contribution. - * @since 2.5.0 Release. - * - * @contributor @misfist - * @link https://wordpress.org/support/topic/template-override-filter/#post-13864301 - * - * @param string $p_str_file_type The file type of the template. - * @param string $p_str_file_name The file name of the template. - * @param string $p_str_extension The file extension of the template. - * @return mixed false | template path - */ - public function get_template( $p_str_file_type, $p_str_file_name, $p_str_extension = 'html' ) { - $located = false; - - /** - * The directory can be changed. - * - * @usage to change location of templates to 'template_parts/footnotes/': - * add_filter( 'mci_footnotes_template_directory', function( $directory ) { - * return 'template_parts/footnotes/'; - * } ); - */ - $template_directory = apply_filters( 'mci_footnotes_template_directory', 'footnotes/templates/' ); - $custom_directory = apply_filters( 'mci_footnotes_custom_template_directory', 'footnotes-custom/' ); - $template_name = $p_str_file_type . '/' . $p_str_file_name . '.' . $p_str_extension; - - /** - * Look in active theme. - */ - if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $template_directory . $template_name ) ) { - $located = trailingslashit( get_stylesheet_directory() ) . $template_directory . $template_name; - - /** - * Look in parent theme in case active is child. - */ - } elseif ( file_exists( trailingslashit( get_template_directory() ) . $template_directory . $template_name ) ) { - $located = trailingslashit( get_template_directory() ) . $template_directory . $template_name; - - /** - * Look in custom plugin directory. - */ - } elseif ( file_exists( trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name ) ) { - $located = trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name; - - /** - * Fall back to the templates shipped with the plugin. - */ - } elseif ( file_exists( $this->plugin_directory . 'templates/' . $template_name ) ) { - $located = $this->plugin_directory . 'templates/' . $template_name; - } - - return $located; - } - -} diff --git a/src/class/widgets/base.php b/src/class/widgets/base.php deleted file mode 100644 index f27eacc..0000000 --- a/src/class/widgets/base.php +++ /dev/null @@ -1,86 +0,0 @@ - echo the Widget Content - * **public function form($instance)** -> echo the Settings of the Widget - * - * @author Stefan Herndler - * @since 1.5.0 - */ -abstract class Footnotes_Widget_Base extends WP_Widget { - - /** - * Returns an unique ID as string used for the Widget Base ID. - * - * @since 1.5.0 - * @return string - */ - abstract protected function get_id(); - - /** - * Returns the Public name of child Widget to be displayed in the Configuration page. - * - * @since 1.5.0 - * @return string - */ - abstract protected function get_name(); - - /** - * Returns the Description of the child widget. - * - * @since 1.5.0 - * @return string - */ - abstract protected function get_description(); - - /** - * Returns the width of the Widget. Default width is 250 pixel. - * - * @since 1.5.0 - * @return int - */ - protected function get_widget_width() { - return 250; - } - - /** - * Class Constructor. Registers the child Widget to WordPress. - * - * @since 1.5.0 - * - * - Update: replace deprecated function WP_Widget() with recommended __construct(), thanks to @dartiss code contribution. - * - * @since 1.6.4 - * @contributor @dartiss - * @link https://plugins.trac.wordpress.org/browser/footnotes/trunk/class/widgets/base.php?rev=1445720 - * “The called constructor method for WP_Widget in Footnotes_Widget_ReferenceContainer is deprecated since version 4.3.0! Use __construct() instead.” - */ - public function __construct() { - $l_arr_widget_options = array( - 'classname' => __CLASS__, - 'description' => $this->get_description(), - ); - $l_arr_control_options = array( - 'id_base' => strtolower( $this->get_id() ), - 'width' => $this->get_widget_width(), - ); - // Registers the Widget. - parent::__construct( - strtolower( $this->get_id() ), // Unique ID for the widget, has to be lowercase. - $this->get_name(), // Plugin name to be displayed. - $l_arr_widget_options, // Optional Widget Options. - $l_arr_control_options // Optional Widget Control Options. - ); - } -} diff --git a/src/class/widgets/reference-container.php b/src/class/widgets/reference-container.php deleted file mode 100644 index 7c00f82..0000000 --- a/src/class/widgets/reference-container.php +++ /dev/null @@ -1,78 +0,0 @@ -get( Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION ) ) { - // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped - echo $g_obj_mci_footnotes->a_obj_task->reference_container(); - // phpcs:enable - } - } -} diff --git a/src/class/wysiwyg.php b/src/class/wysiwyg.php deleted file mode 100644 index 4a30888..0000000 --- a/src/class/wysiwyg.php +++ /dev/null @@ -1,103 +0,0 @@ -get_content(); - // phpcs:enable - } - - /** - * Includes the Plugins WYSIWYG editor script. - * - * @since 1.5.0 - * @param array $p_arr_plugins Scripts to be included to the editor. - * @return array - */ - public static function include_scripts( $p_arr_plugins ) { - $p_arr_plugins[ Footnotes_Config::C_STR_PLUGIN_NAME ] = plugins_url( 'js/wysiwyg-editor' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.js', dirname( __FILE__ ) ); - return $p_arr_plugins; - } - - /** - * AJAX Callback function when the Footnotes Button is clicked. Either in the Plain text or Visual editor. - * Returns an JSON encoded array with the Footnotes start and end short code. - * - * @since 1.5.0 - */ - public static function ajax_callback() { - // Get start and end tag for the footnotes short code. - $l_str_starting_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START ); - $l_str_ending_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END ); - if ( 'userdefined' === $l_str_starting_tag || 'userdefined' === $l_str_ending_tag ) { - $l_str_starting_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED ); - $l_str_ending_tag = Footnotes_Settings::instance()->get( Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED ); - } - echo wp_json_encode( - array( - 'start' => htmlspecialchars( $l_str_starting_tag ), - 'end' => htmlspecialchars( $l_str_ending_tag ), - ) - ); - exit; - } -} diff --git a/src/footnotes.php b/src/footnotes.php index f83c70f..76962b7 100755 --- a/src/footnotes.php +++ b/src/footnotes.php @@ -1,119 +1,129 @@ 2 environment options. * - * In production, a minified CSS file tailored to the settings is enqueued. - * - * Developing stylesheets is meant to be easier when this is set to false. - * WARNING: This facility designed for development must NOT be used in production. + * @global bool PRODUCTION_ENV Whether the plugin is running in production mode or not. */ define( 'PRODUCTION_ENV', false ); /** - * - Bugfix: Codebase: revert to 2.5.8, thanks to @little-shiva @watershare @adjayabdg @staho @frav8 @voregnev @dsl225 @alexclassroom @a223123131 @codldmac bug reports. + * Handles the activation of the plugin. * - * @version 2.5.10 (reversion to @version 2.5.8) - * @revision 2483464 - * @link https://plugins.trac.wordpress.org/changeset/2483464/footnotes/trunk + * @since 2.8.0 + * @see includes\Activator::activate() + */ +function activate_footnotes(): void { + /** + * Provides plugin activation functionality. + */ + require_once plugin_dir_path( __FILE__ ) . 'includes/class-activator.php'; + + includes\Activator::activate(); +} + +/** + * Handles the deactivation of the plugin. * - * @reporter @little-shiva - * @link https://wordpress.org/support/topic/footnotes-broke-two-of-my-client-sites/ + * @since 2.8.0 + * @see includes\Deactivator::deactivate() + */ +function deactivate_footnotes(): void { + /** + * Provides plugin deactivation functionality. + */ + require_once plugin_dir_path( __FILE__ ) . 'includes/class-deactivator.php'; + + includes\Deactivator::deactivate(); +} + +/* + * TODO: currently these throw an error: + * Uncaught TypeError: call_user_func_array(): Argument #1 ($function) must be + * a valid callback, function "deactivate_footnotes" not found or invalid + * function name in /srv/www/wordpress-one/public_html/wp-includes/class-wp-hook.php:292 * - * @reporter @watershare - * @link https://wordpress.org/support/topic/latest-update-broke-my-site-19/ - * - * @reporter @adjayabdg - * @link https://wordpress.org/support/topic/latest-update-broke-my-site-19/#post-14115531 - * - * @reporter @staho - * @link https://wordpress.org/support/topic/version-2-5-9d1-breaks-wp-down/ - * - * @reporter @frav8 - * @link https://wordpress.org/support/topic/version-2-5-9d1-breaks-wp-down/#post-14115614 - * - * @reporter @voregnev - * @link https://wordpress.org/support/topic/version-2-5-9d1-breaks-wp-down/#post-14115632 - * - * @reporter @dsl225 - * @link https://wordpress.org/support/topic/version-2-5-9d1-breaks-wp-down/#post-14115820 - * - * @reporter @alexclassroom - * @link https://wordpress.org/support/topic/version-2-5-9d1-breaks-wp-down/#post-14115860 - * - * @reporter @a223123131 - * @link https://wordpress.org/support/topic/version-2-5-9d1-breaks-wp-down/#post-14115906 - * @link https://wordpress.org/support/topic/update-breaks-layout-3/ - * @link https://wordpress.org/support/topic/bugs-in-every-2nd-update/#post-14116804 - * - * @reporter @codldmac - * @link https://wordpress.org/support/topic/crashed-my-site-104/ - * - * The accidental release of 2.5.9d1 was due to 3 factors: - * - * 1. The codebase got overhauled for the sake of WordPress Coding Standards compliance, - * one requirement of which is that files be named after the name of the class in them; - * 2. The renamed folder was not added to Subversion version control due to an unexpected - * unfamiliarity with the system and its command line interface; - * 3. The Stable Tag field in the Readme header was used for the package version because - * the related field is lacking, and the use of file headers for release configuration - * is uncommon. - * - * @link https://wordpress.org/support/topic/2-5-10-reverts-2-5-9d1-and-apologies/ - * @link https://wordpress.org/support/topic/2-5-10-reverts-2-5-9d1-and-apologies/#post-14119440 - * @link https://github.com/markcheret/footnotes/issues/55 - * @link https://meta.trac.wordpress.org/ticket/5645 - * @link https://wordpress.org/plugins/readme.txt - * @link https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/ + * register_activation_hook( __FILE__, 'activate_footnotes' ); + * register_deactivation_hook( __FILE__, 'deactivate_footnotes' ); */ /** - * Plugin’s main PHP file. - * - * @filesource - * @package footnotes - * @since 0.0.1 + * The core plugin class that defines internationalization, admin-specific and + * public-facing site hooks and functionality. */ +require_once plugin_dir_path( __FILE__ ) . 'includes/class-core.php'; -// Get all common classes and functions. -require_once dirname( __FILE__ ) . '/includes.php'; - -// Add Plugin Links to the "installed plugins" page. -$l_str_plugin_file = 'footnotes/footnotes.php'; -add_filter( "plugin_action_links_{$l_str_plugin_file}", array( 'Footnotes_Hooks', 'get_plugin_links' ), 10, 2 ); - -// Initialize the Plugin. -$g_obj_mci_footnotes = new Footnotes(); -// Run the Plugin. -$g_obj_mci_footnotes->run(); +/** + * Begins execution of the plugin. + * + * Since everything within the plugin is registered via hooks, then kicking off + * the plugin from this point in the file does not affect the page life cycle. + * This takes place after the `plugins_loaded` hook, so that other Plugins may + * filter options. + * + * @since 2.8.0 + */ +function run_footnotes(): void { + /** + * The plugin core. + * + * @global includes\Core $footnotes + */ + global $footnotes; + $footnotes = new includes\Core(); + $footnotes->run(); +} +add_action( 'plugins_loaded', run_footnotes() ); diff --git a/src/includes.php b/src/includes.php deleted file mode 100644 index 00ebb6c..0000000 --- a/src/includes.php +++ /dev/null @@ -1,39 +0,0 @@ -foot'; + + /** + * Public plugin name for use as a dashboard heading. + * + * After properly displaying in dashboard headings until WPv5.4, the above started + * in WP 5.5 being torn apart as if the headline was `text-align:justify` and not + * the last line. That ugly display bug badly affected the plugin's communication. + * The only working solution found so far is using `position:fixed` in one heading + * that isn't translated, and dropping the logo in another, translatable heading. + * + * @since 2.0.4 + * @todo Remove. + * @deprecated + * + * @var string + */ + const PLUGIN_HEADING_NAME = 'footnotes'; + + /** + * HTML element for the ‘love’ symbol. + * + * @since 1.5.0 + * @todo Remove. + * @deprecated + * + * @var string + */ + const LOVE_SYMBOL = ''; + + /** + * HTML element for the ‘love’ symbol used in dashboard heading + * + * @since 2.0.4 + * @todo Remove. + * @deprecated + * + * @var string + */ + const LOVE_SYMBOL_HEADING = ''; + + /** + * Shortcode to NOT display the ‘LOVE ME’ slug on certain pages. + * + * @since 1.5.0 + * @todo Remove. + * @deprecated + * + * @var string + */ + const NO_LOVE_SLUG = '[[no footnotes: love]]'; +} diff --git a/src/includes/class-convert.php b/src/includes/class-convert.php new file mode 100644 index 0000000..3393500 --- /dev/null +++ b/src/includes/class-convert.php @@ -0,0 +1,231 @@ + count( $arrows ) ) { + return $arrows; + } + // Return a single arrow. + return $arrows[ $index ]; + } + + // phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_var_dump, WordPress.PHP.DevelopmentFunctions.error_log_print_r + /** + * Displays a variable. + * + * @param mixed $p_mixed_value The variable to display. + * @return void + * + * @since 1.5.0 + * @todo Replace with proper logging/debug functions. + */ + public static function debug( $p_mixed_value ) { + if ( empty( $p_mixed_value ) ) { + var_dump( $p_mixed_value ); + + } elseif ( is_array( $p_mixed_value ) ) { + printf( '
                                                                                                                                                                                                    ' );
                                                                                                                                                                                                    +			print_r( $p_mixed_value );
                                                                                                                                                                                                    +			printf( '
                                                                                                                                                                                                    ' ); + + } elseif ( is_object( $p_mixed_value ) ) { + printf( '
                                                                                                                                                                                                    ' );
                                                                                                                                                                                                    +			print_r( $p_mixed_value );
                                                                                                                                                                                                    +			printf( '
                                                                                                                                                                                                    ' ); + + } elseif ( is_numeric( $p_mixed_value ) || is_int( $p_mixed_value ) ) { + var_dump( $p_mixed_value ); + + } elseif ( is_date( $p_mixed_value ) ) { + var_dump( $p_mixed_value ); + + } else { + var_dump( $p_mixed_value ); + } + echo '
                                                                                                                                                                                                    '; + } + /** + * Converts an integer into Latin ASCII characters, either lower or upper-case. + * + * This function works from values A–ZZ (meaning there is a limit of 676 + * gootnotes per Page). + * + * @param int $value Value to be converted. + * @param bool $upper_case Whether to convert the value to upper-case. + * + * @since 1.0-gamma + * @todo Replace with built-in char casting. + */ + private static function to_latin( int $value, bool $upper_case ): string { + // Output string. + $return = ''; + $offset = 0; + // Check if the value is higher then 26 = Z. + while ( $value > 26 ) { + // Increase offset and reduce counter. + $offset++; + $value -= 26; + } + // If offset set (more then Z), then add a new letter in front. + if ( $offset > 0 ) { + $return = chr( $offset + 64 ); + } + // Add the origin letter. + $return .= chr( $value + 64 ); + // Return the latin character representing the integer. + if ( $upper_case ) { + return strtoupper( $return ); + } + return strtolower( $return ); + } + /** + * Converts an integer to a leading-0 integer. + * + * @param int $value Value to be converted. + * @return string Value with a leading zero. + * + * @since 1.0-gamma + * @todo Replace with built-in string formatting. + */ + private static function to_arabic_leading( int $value ): string { + // Add a leading 0 if number lower then 10. + if ( $value < 10 ) { + return '0' . $value; + } + return $value; + } + /** + * Converts an integer to a Roman numeral. + * + * @param int $value Value to be converted. + * @param bool $upper_case Whether to convert the value to upper-case. + * + * @since 1.0-gamma + */ + private static function to_roman( int $value, bool $upper_case ): string { + // Table containing all necessary roman letters. + $roman_numerals = array( + 'M' => 1000, + 'CM' => 900, + 'D' => 500, + 'CD' => 400, + 'C' => 100, + 'XC' => 90, + 'L' => 50, + 'XL' => 40, + 'X' => 10, + 'IX' => 9, + 'V' => 5, + 'IV' => 4, + 'I' => 1, + ); + // Return value. + $return = ''; + // Iterate through integer value until it is reduced to 0. + while ( $value > 0 ) { + foreach ( $roman_numerals as $roman => $arabic ) { + if ( $value >= $arabic ) { + $value -= $arabic; + $return .= $roman; + break; + } + } + } + // Return roman letters as string. + if ( $upper_case ) { + return strtoupper( $return ); + } + return strtolower( $return ); + } + // phpcs:enable WordPress.PHP.DevelopmentFunctions.error_log_var_dump, WordPress.PHP.DevelopmentFunctions.error_log_print_r +} diff --git a/src/includes/class-core.php b/src/includes/class-core.php new file mode 100644 index 0000000..048b547 --- /dev/null +++ b/src/includes/class-core.php @@ -0,0 +1,262 @@ +version = defined( 'PLUGIN_VERSION' ) ? PLUGIN_VERSION : '0.0.0'; + $this->plugin_name = 'footnotes'; + + $this->load_dependencies(); + $this->set_locale(); + $this->define_admin_hooks(); + $this->define_public_hooks(); + } + + /** + * Runs the loader to execute all of the hooks with WordPress. + * + * @since 1.5.0 + * + * @return void + */ + public function run() { + $this->loader->run(); + } + + /** + * Gets the name of the plugin used to uniquely identify it within the + * context of WordPress and to define internationalization functionality. + * + * @since 2.8.0 + */ + public function get_plugin_name(): string { + return $this->plugin_name; + } + + /** + * Returns a reference to the class that orchestrates the hooks with the plugin. + * + * @since 2.8.0 + */ + public function get_loader(): Loader { + return $this->loader; + } + + /** + * Gets the version number of the plugin. + * + * @since 2.8.0 + */ + public function get_version(): string { + return $this->version; + } + /** + * Load the required dependencies for this plugin. + * + * Includes the following files that make up the plugin: + * + * - {@see Loader}: orchestrates the hooks of the plugin; + * - {@see i18n}: defines internationalization functionality; + * - {@see Config}: defines plugin details; + * - {@see Convert}: provides conversion methods; + * - {@see Settings}: defines customisable plugin settings; + * - {@see Template}: handles template rendering; + * - {@see Admin\Admin}: defines all hooks for the admin area; and + * - {@see General\Public}: defines all hooks for the public side of the site. + * + * Creates an instance of the loader which will be used to register the hooks + * with WordPress. + * + * @since 2.8.0 + * + * @return void + */ + private function load_dependencies() { + + /** + * The class responsible for orchestrating the actions and filters of the + * core plugin. + */ + require_once plugin_dir_path( __DIR__ ) . 'includes/class-loader.php'; + + /** + * The class responsible for defining internationalization functionality + * of the plugin. + */ + require_once plugin_dir_path( __DIR__ ) . 'includes/class-i18n.php'; + + /** + * The various utility classes. + */ + require_once plugin_dir_path( __DIR__ ) . 'includes/class-config.php'; + require_once plugin_dir_path( __DIR__ ) . 'includes/class-convert.php'; + require_once plugin_dir_path( __DIR__ ) . 'includes/class-settings.php'; + require_once plugin_dir_path( __DIR__ ) . 'includes/class-template.php'; + + /** + * The class responsible for defining all actions that occur in the admin area. + */ + require_once plugin_dir_path( __DIR__ ) . 'admin/class-admin.php'; + + /** + * The class responsible for defining all actions that occur in the public-facing + * side of the site. + */ + require_once plugin_dir_path( __DIR__ ) . 'public/class-general.php'; + + $this->loader = new Loader(); + + } + /** + * Define the locale for this plugin for internationalization. + * + * Uses {@see i18n} in order to set the domain and to + * register the hook with WordPress. + * + * @since 2.8.0 + * @uses i18n Handles initialization functions. + * + * @return void + */ + private function set_locale() { + + $i18n = new i18n(); + + $this->loader->add_action( 'plugins_loaded', $i18n, 'load_plugin_textdomain' ); + + } + /** + * Register all of the hooks related to the admin area functionality of the + * plugin. + * + * @since 1.5.0 + * @since 2.8.0 Moved hook registrations from various classes into `Admin\Admin`. + * @see Admin\Admin Defines admin functionality. + * + * @return void + */ + private function define_admin_hooks() { + + $admin = new Admin\Admin( $this->get_plugin_name(), $this->get_version() ); + + $this->loader->add_action( 'admin_enqueue_scripts', $admin, 'enqueue_styles' ); + $this->loader->add_action( 'admin_enqueue_scripts', $admin, 'enqueue_scripts' ); + + $this->loader->add_filter( 'plugin_action_links_footnotes/footnotes.php', $admin, 'action_links' ); + + $this->loader->add_filter( 'mce_buttons', $admin->wysiwyg, 'new_visual_editor_button' ); + $this->loader->add_action( 'admin_print_footer_scripts', $admin->wysiwyg, 'new_plain_text_editor_button' ); + + $this->loader->add_filter( 'mce_external_plugins', $admin->wysiwyg, 'include_scripts' ); + + // phpcs:disable + // 'footnotes_getTags' must match its instance in wysiwyg-editor.js. + // 'footnotes_getTags' must match its instance in editor-button.html. + $this->loader->add_action( 'wp_ajax_nopriv_footnotes_getTags', $admin->wysiwyg, 'ajax_callback' ); + $this->loader->add_action( 'wp_ajax_footnotes_getTags', $admin->wysiwyg, 'ajax_callback' ); + // phpcs:enable + } + /** + * Register all of the hooks related to the public-facing functionality of + * the plugin. + * + * @since 2.8.0 + * @see General\General Defines public-facing functionality. + * + * @return void + */ + private function define_public_hooks() { + + $general = new General\General( $this->get_plugin_name(), $this->get_version() ); + + $this->loader->add_action( 'wp_enqueue_scripts', $general, 'enqueue_styles' ); + $this->loader->add_action( 'wp_enqueue_scripts', $general, 'enqueue_scripts' ); + + $this->loader->add_action( 'widgets_init', $general, 'register_widgets' ); + } +} diff --git a/src/includes/class-deactivator.php b/src/includes/class-deactivator.php new file mode 100644 index 0000000..0f13e6f --- /dev/null +++ b/src/includes/class-deactivator.php @@ -0,0 +1,36 @@ +actions = array(); + $this->filters = array(); + + } + + /** + * Add a new action to the collection to be registered with WordPress. + * + * @since 2.8.0 + * @see Loader::add() For more information on the hook array format. + * + * @param string $hook The name of the WordPress action that is being registered. + * @param object $component A reference to the instance of the object on which the action is defined. + * @param string $callback The name of the function definition on the `$component`. + * @param int $priority Optional. The priority at which the function should be fired. Default is 10. + * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1. + * @return void + */ + public function add_action( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { + $this->actions = $this->add( $this->actions, $hook, $component, $callback, $priority, $accepted_args ); + } + + /** + * Add a new filter to the collection to be registered with WordPress. + * + * @since 2.8.0 + * @see Loader::add() For more information on the hook array format. + * + * @param string $hook The name of the WordPress filter that is being registered. + * @param object $component A reference to the instance of the object on which the filter is defined. + * @param string $callback The name of the function definition on the `$component`. + * @param int $priority Optional. The priority at which the function should be fired. Default is 10. + * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1. + * @return void + */ + public function add_filter( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { + $this->filters = $this->add( $this->filters, $hook, $component, $callback, $priority, $accepted_args ); + } + + /** + * Registers the filters and actions with WordPress. + * + * @since 2.8.0 + * @see Loader::add() For more information on the hook array format. + * + * @return void + */ + public function run() { + + foreach ( $this->filters as $filter ) { + add_filter( $filter['hook'], array( $filter['component'], $filter['callback'] ), $filter['priority'], $filter['accepted_args'] ); + } + + foreach ( $this->actions as $action ) { + add_action( $action['hook'], array( $action['component'], $action['callback'] ), $action['priority'], $action['accepted_args'] ); + } + + } + /** + * A utility function that is used to register the actions and hooks into a single + * collection. + * + * @since 2.8.0 + * + * @param (string|int|object)[][] $hooks The collection of hooks that is being registered (that is, actions or filters). + * @param string $hook The name of the WordPress filter that is being registered. + * @param object $component A reference to the instance of the object on which the filter is defined. + * @param string $callback The name of the function definition on the `$component`. + * @param int $priority The priority at which the function should be fired. + * @param int $accepted_args The number of arguments that should be passed to the `$callback`. + * @return (string|int|object)[][] { + * The registered hook(s). + * + * @type string $hook The name of the registered WordPress hook. + * @type object $component A reference to the instance of the object on which the hook is defined. + * @type string $callback The name of the function definition on the `$component`. + * @type int $priority The priority at which the function should be fired. + * @type int $accepted_args The number of arguments that should be passed to the `$callback`. + * } + */ + private function add( $hooks, $hook, $component, $callback, $priority, $accepted_args ) { + + $hooks[] = array( + 'hook' => $hook, + 'component' => $component, + 'callback' => $callback, + 'priority' => $priority, + 'accepted_args' => $accepted_args, + ); + + return $hooks; + + } + +} diff --git a/src/includes/class-settings.php b/src/includes/class-settings.php new file mode 100644 index 0000000..42fff9f --- /dev/null +++ b/src/includes/class-settings.php @@ -0,0 +1,1466 @@ + tag is inserted. + */ + const BACKLINKS_LINE_BREAKS_ENABLED = 'footnotes_inputfield_backlinks_line_breaks_enabled'; + + /** + * Settings container key to enable setting the tooltip font size. + * + * @var string + * + * @since 2.1.4 + * + * Tooltip font size reset to legacy by default since 2.1.4; + * Was set to inherit since 2.1.1 as it overrode custom CSS, + * Called mouse over box not tooltip for consistency. + */ + const MOUSE_OVER_BOX_FONT_SIZE_ENABLED = 'footnotes_inputfield_mouse_over_box_font_size_enabled'; + + /** + * Settings container key for the scalar value of the tooltip font size. + * + * @var float + * + * @since 2.1.4 + */ + const MOUSE_OVER_BOX_FONT_SIZE_SCALAR = 'footnotes_inputfield_mouse_over_box_font_size_scalar'; + + /** + * Settings container key for the unit of the tooltip font size. + * + * @var string + * + * @since 2.1.4 + */ + const MOUSE_OVER_BOX_FONT_SIZE_UNIT = 'footnotes_inputfield_mouse_over_box_font_size_unit'; + + /** + * Settings container key for basic responsive page layout support options. + * + * Whether to concatenate an additional stylesheet. + * + * @var string + * + * @since 2.1.4 + */ + const FOOTNOTES_PAGE_LAYOUT_SUPPORT = 'footnotes_inputfield_page_layout_support'; + + /** + * Settings container key for scroll offset. + * + * @var int + * + * @since 2.1.4 + */ + const FOOTNOTES_SCROLL_OFFSET = 'footnotes_inputfield_scroll_offset'; + + /** + * Settings container key for scroll duration. + * + * @var int + * + * @since 2.1.4 + */ + const FOOTNOTES_SCROLL_DURATION = 'footnotes_inputfield_scroll_duration'; + + /** + * Settings container key for tooltip display fade-in delay. + * + * @var int + * + * @since 2.1.4 + */ + const MOUSE_OVER_BOX_FADE_IN_DELAY = 'footnotes_inputfield_mouse_over_box_fade_in_delay'; + + /** + * Settings container key for tooltip display fade-in duration. + * + * @var int + * + * @since 2.1.4 + */ + const MOUSE_OVER_BOX_FADE_IN_DURATION = 'footnotes_inputfield_mouse_over_box_fade_in_duration'; + + /** + * Settings container key for tooltip display fade-out delay. + * + * @var int + * + * @since 2.1.4 + */ + const MOUSE_OVER_BOX_FADE_OUT_DELAY = 'footnotes_inputfield_mouse_over_box_fade_out_delay'; + + /** + * Settings container key for tooltip display fade-out duration. + * + * @var int + * + * @since 2.1.4 + */ + const MOUSE_OVER_BOX_FADE_OUT_DURATION = 'footnotes_inputfield_mouse_over_box_fade_out_duration'; + + /** + * Settings container key for URL wrap option. + * + * This is made optional because it causes weird line breaks. Unicode-compliant + * browsers break URLs at slashes. + * + * @var string + * + * @since 2.1.6 + */ + const FOOTNOTE_URL_WRAP_ENABLED = 'footnote_inputfield_url_wrap_enabled'; + + /** + * Settings container key for reference container position shortcode. + * + * @var string + * + * @since 2.2.0 + */ + const REFERENCE_CONTAINER_POSITION_SHORTCODE = 'footnote_inputfield_reference_container_position_shortcode'; + + /** + * Settings container key for the Custom CSS migrated to a dedicated tab. + * + * @var string + * + * @since 2.2.2 + */ + const CUSTOM_CSS_NEW = 'footnote_inputfield_custom_css_new'; + + /** + * Settings container key to enable display of legacy Custom CSS metaboxes. + * + * This must be `false` if its setting is contained in the container to be hidden + * because when saving, all missing constants are emptied, and {@see + * Footnotes_Convert::to_bool()} converts empty to `false`. + * + * @var string + * + * @since 2.2.2 + * @since 2.3.0 Swap migration Boolean, meaning ‘show legacy’ instead of + * ‘migration complete’, due to storage data structure constraints. + */ + const CUSTOM_CSS_LEGACY_ENABLE = 'footnote_inputfield_custom_css_legacy_enable'; + + /** + * Settings container key for alternative tooltip position. + * + * Fixed-width is for alternative tooltips, cannot reuse `max-width` nor offsets. + * + * @var string + * + * @since 2.2.5 + */ + const FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION = 'footnotes_inputfield_alternative_mouse_over_box_position'; + + /** + * Settings container key for alternative tooltip _x_-offset. + * + * @var int + * + * @since 2.2.5 + */ + const FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X = 'footnotes_inputfield_alternative_mouse_over_box_offset_x'; + + /** + * Settings container key for alternative tooltip _y_-offset. + * + * @var int + * + * @since 2.2.5 + */ + const FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y = 'footnotes_inputfield_alternative_mouse_over_box_offset_y'; + + /** + * Settings container key for alternative tooltip width. + * + * @var int + * + * @since 2.2.5 + */ + const FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH = 'footnotes_inputfield_alternative_mouse_over_box_width'; + + + /** + * Settings container key for the reference container label element. + * + * @var string + * + * @since 2.2.5 + */ + const REFERENCE_CONTAINER_LABEL_ELEMENT = 'footnotes_inputfield_reference_container_label_element'; + + /** + * Settings container key to enable the reference container label bottom border. + * + * @var string + * + * @since 2.2.5 + */ + const REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER = 'footnotes_inputfield_reference_container_label_bottom_border'; + + /** + * Settings container key to enable reference container table row borders. + * + * @var string + * + * @since 2.2.10 + */ + const REFERENCE_CONTAINER_ROW_BORDERS_ENABLE = 'footnotes_inputfield_reference_container_row_borders_enable'; + + /** + * Settings container key for reference container top margin. + * + * @var int + * + * @since 2.3.0 + */ + const REFERENCE_CONTAINER_TOP_MARGIN = 'footnotes_inputfield_reference_container_top_margin'; + + /** + * Settings container key for reference container bottom margin. + * + * @var int + * + * @since 2.3.0 + */ + const REFERENCE_CONTAINER_BOTTOM_MARGIN = 'footnotes_inputfield_reference_container_bottom_margin'; + + /** + * Settings container key to enable hard links. + * + * When the alternative reference container is enabled, hard links are too. + * + * @var string + * + * @since 2.3.0 + */ + const FOOTNOTES_HARD_LINKS_ENABLE = 'footnotes_inputfield_hard_links_enable'; + + /** + * Settings container key for the fragment ID slug in referrers. + * + * @var string + * + * @since 2.3.0 + */ + const REFERRER_FRAGMENT_ID_SLUG = 'footnotes_inputfield_referrer_fragment_id_slug'; + + /** + * Settings container key for the fragment ID slug in footnotes. + + * @var string + * + * @since 2.3.0 + */ + const FOOTNOTE_FRAGMENT_ID_SLUG = 'footnotes_inputfield_footnote_fragment_id_slug'; + + /** + * Settings container key for the ID separator in fragment IDs. + * + * @var string + * + * @since 2.3.0 + */ + const HARD_LINK_IDS_SEPARATOR = 'footnotes_inputfield_hard_link_ids_separator'; + + /** + * Settings container key to enable shortcode syntax validation. + * + * @var string + * + * @since 2.4.0 + */ + const FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE = 'footnotes_inputfield_shortcode_syntax_validation_enable'; + + /** + * Settings container key to enable backlink tooltips. + * + * When hard links are enabled, clicks on the backlinks are logged in the + * browsing history, along with clicks on the referrers. + * This tooltip hints to use the backbutton instead, so the history gets + * streamlined again. + * See {@link https://wordpress.org/support/topic/making-it-amp-compatible/#post-13837359 + * here} for more information. + * + * @var string + * + * @since 2.5.4 + */ + const FOOTNOTES_BACKLINK_TOOLTIP_ENABLE = 'footnotes_inputfield_backlink_tooltip_enable'; + + /** + * Settings container key to configure the backlink tooltip. + * + * @var string + * + * @since 2.5.4 + */ + const FOOTNOTES_BACKLINK_TOOLTIP_TEXT = 'footnotes_inputfield_backlink_tooltip_text'; + + /** + * Settings container key to configure the tooltip excerpt delimiter. + * + * The first implementation used a fixed shortcode provided in the changelog, + * but footnotes should have freely-configurable shortcodes. + * + * Tooltips can display another content than the footnote entry in the + * reference container. The trigger is a shortcode in the footnote text + * separating the tooltip text from the note. That is consistent with what + * WordPress does for excerpts. + * + * @var string + * + * @since 2.5.4 + */ + const FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER = 'footnotes_inputfield_tooltip_excerpt_delimiter'; + + /** + * Settings container key to enable mirroring the tooltip excerpt in the + * reference container. + * + * Tooltips, even jQuery-driven, may be hard to consult on mobiles. + * This option allows users to read the tooltip content in the reference + * container too. See {@link https://wordpress.org/support/topic/change-tooltip-text/#post-13935050 + * here} for more information, and {@link https://wordpress.org/support/topic/change-tooltip-text/#post-13935488 + * here} for why this must not be the default behavior. + * + * @var string + * + * @since 2.5.4 + */ + const FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE = 'footnotes_inputfield_tooltip_excerpt_mirror_enable'; + + /** + * Settings container key to configure the tooltip excerpt separator in the + * reference container. + * + * @var string + * + * @since 2.5.4 + */ + const FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR = 'footnotes_inputfield_tooltip_excerpt_mirror_separator'; + + /** + * Settings container key to enable superscript style normalization. + * + * @var string + * + * @since 2.5.4 + */ + const FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT = 'footnotes_inputfield_referrers_normal_superscript'; + + /** + * Settings container key to select the script mode for the reference container. + * + * @var string + * + * @since 2.5.6 + */ + const FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE = 'footnotes_inputfield_reference_container_script_mode'; + + /** + * Settings container key to enable AMP compatibility mode. + * + * @var string + * + * @since 2.6.0 + */ + const FOOTNOTES_AMP_COMPATIBILITY_ENABLE = 'footnotes_inputfield_amp_compatibility_enable'; + + /** + * Settings container key for scroll duration asymmetricity. + * + * @var int + * + * @since 2.5.11 + */ + const FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY = 'footnotes_inputfield_scroll_duration_asymmetricity'; + + /** + * Settings container key for scroll-down duration. + * + * @var int + * + * @since 2.5.11 + */ + const FOOTNOTES_SCROLL_DOWN_DURATION = 'footnotes_inputfield_scroll_down_duration'; + + /** + * Settings container key for scroll-down delay. + * + * @var int + * + * @since 2.5.11 + */ + const FOOTNOTES_SCROLL_DOWN_DELAY = 'footnotes_inputfield_scroll_down_delay'; + + /** + * Settings container key for scroll-up delay. + * + * @var int + * + * @since 2.5.11 + */ + const FOOTNOTES_SCROLL_UP_DELAY = 'footnotes_inputfield_scroll_up_delay'; + + /** + * Settings container key to set the solution of the input element label issue. + * + * If hard links are not enabled, clicking a referrer in an input element label + * toggles the state of the input element the label is connected to. + * Beside hard links, other solutions include moving footnotes off the label and + * append them, or disconnecting this label from the input element (discouraged). + * See {@link https://wordpress.org/support/topic/compatibility-issue-with-wpforms/#post-14212318 + * here} for more information. + * + * @var string + * + * @since 2.5.12 + * @todo Review, remove? + */ + const FOOTNOTES_LABEL_ISSUE_SOLUTION = 'footnotes_inputfield_label_issue_solution'; + + /** + * Settings container key to enable CSS smooth scrolling. + * + * Native smooth scrolling only works in recent browsers. + * + * @var string + * + * @since 2.5.12 + */ + const FOOTNOTES_CSS_SMOOTH_SCROLLING = 'footnotes_inputfield_css_smooth_scrolling'; + + /** + * Settings container key for the footnote section shortcode. + * + * @var string + * + * @since 2.7.0 + */ + const FOOTNOTE_SECTION_SHORTCODE = 'footnotes_inputfield_section_shortcode'; + + /** + * Contains all Settings Container names. + * + * These are the storage container names, one per dashboard tab. + * + * @var string[] + * + * @since 1.5.0 + */ + private array $container = array( + 'footnotes_storage', + 'footnotes_storage_custom', + 'footnotes_storage_expert', + 'footnotes_storage_custom_css', + ); + + /** + * Contains all default values for each Settings Container. + * + * @since 1.5.0 + * @todo Review. Why are the constants just initialised with these values? + * At the very least, we should stop using ‘yes’ to mean `true` etc. + * @todo Create `PreferencesSet` class. + * + * @var (string|int)[] + */ + private array $default = array( + + // General settings. + 'footnotes_storage' => array( + + // AMP compatibility. + self::FOOTNOTES_AMP_COMPATIBILITY_ENABLE => '', + + // Footnote start and end short codes. + self::FOOTNOTES_SHORT_CODE_START => '((', + self::FOOTNOTES_SHORT_CODE_END => '))', + self::FOOTNOTES_SHORT_CODE_START_USER_DEFINED => '', + self::FOOTNOTES_SHORT_CODE_END_USER_DEFINED => '', + self::FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE => 'yes', + + // Footnotes numbering. + self::FOOTNOTES_COUNTER_STYLE => 'arabic_plain', + self::COMBINE_IDENTICAL_FOOTNOTES => 'yes', + + // Scrolling behavior. + self::FOOTNOTES_CSS_SMOOTH_SCROLLING => 'no', + self::FOOTNOTES_SCROLL_OFFSET => 20, + self::FOOTNOTES_SCROLL_DURATION => 380, + self::FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY => 'no', + self::FOOTNOTES_SCROLL_DOWN_DURATION => 150, + self::FOOTNOTES_SCROLL_DOWN_DELAY => 0, + self::FOOTNOTES_SCROLL_UP_DELAY => 0, + self::FOOTNOTES_HARD_LINKS_ENABLE => 'no', + self::REFERRER_FRAGMENT_ID_SLUG => 'r', + self::FOOTNOTE_FRAGMENT_ID_SLUG => 'f', + self::HARD_LINK_IDS_SEPARATOR => '+', + self::FOOTNOTES_BACKLINK_TOOLTIP_ENABLE => 'yes', + self::FOOTNOTES_BACKLINK_TOOLTIP_TEXT => 'Alt+ ←', + + // Reference container. + self::REFERENCE_CONTAINER_NAME => 'References', + self::REFERENCE_CONTAINER_LABEL_ELEMENT => 'p', + self::REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER => 'yes', + self::REFERENCE_CONTAINER_COLLAPSE => 'no', + self::FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE => 'jquery', + self::REFERENCE_CONTAINER_POSITION => 'post_end', + self::REFERENCE_CONTAINER_POSITION_SHORTCODE => '[[references]]', + self::FOOTNOTE_SECTION_SHORTCODE => '[[/footnotesection]]', + self::REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes', + self::REFERENCE_CONTAINER_TOP_MARGIN => 24, + self::REFERENCE_CONTAINER_BOTTOM_MARGIN => 0, + self::FOOTNOTES_PAGE_LAYOUT_SUPPORT => 'none', + self::FOOTNOTE_URL_WRAP_ENABLED => 'yes', + self::REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes', + self::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no', + self::REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no', + self::REFERENCE_CONTAINER_ROW_BORDERS_ENABLE => 'no', + + self::BACKLINKS_SEPARATOR_ENABLED => 'yes', + self::BACKLINKS_SEPARATOR_OPTION => 'comma', + self::BACKLINKS_SEPARATOR_CUSTOM => '', + + self::BACKLINKS_TERMINATOR_ENABLED => 'no', + self::BACKLINKS_TERMINATOR_OPTION => 'full_stop', + self::BACKLINKS_TERMINATOR_CUSTOM => '', + + self::BACKLINKS_COLUMN_WIDTH_ENABLED => 'no', + self::BACKLINKS_COLUMN_WIDTH_SCALAR => '50', + self::BACKLINKS_COLUMN_WIDTH_UNIT => 'px', + + self::BACKLINKS_COLUMN_MAX_WIDTH_ENABLED => 'no', + self::BACKLINKS_COLUMN_MAX_WIDTH_SCALAR => '140', + self::BACKLINKS_COLUMN_MAX_WIDTH_UNIT => 'px', + + self::BACKLINKS_LINE_BREAKS_ENABLED => 'no', + self::LINK_ELEMENT_ENABLED => 'yes', + + // Footnotes in excerpts. + self::FOOTNOTES_IN_EXCERPT => 'manual', + + // Footnotes love. + self::FOOTNOTES_LOVE => 'no', + + // Deprecated. + self::FOOTNOTES_EXPERT_MODE => 'yes', + + ), + + // Referrers and tooltips. + 'footnotes_storage_custom' => array( + + // Backlink symbol. + self::HYPERLINK_ARROW => 0, + self::HYPERLINK_ARROW_USER_DEFINED => '', + + // Referrers. + self::FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes', + self::FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT => 'no', + self::FOOTNOTES_STYLING_BEFORE => '[', + self::FOOTNOTES_STYLING_AFTER => ']', + + // Referrers in labels. + self::FOOTNOTES_LABEL_ISSUE_SOLUTION => 'none', + + // Tooltips. + self::FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes', + self::FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => 'no', + + // Tooltip position. + self::FOOTNOTES_MOUSE_OVER_BOX_POSITION => 'top center', + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_POSITION => 'top right', + self::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X => 0, + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_X => -50, + self::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y => -7, + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_OFFSET_Y => 24, + + // Tooltip dimensions. + self::FOOTNOTES_MOUSE_OVER_BOX_MAX_WIDTH => 450, + self::FOOTNOTES_ALTERNATIVE_MOUSE_OVER_BOX_WIDTH => 400, + + // Tooltip timing. + self::MOUSE_OVER_BOX_FADE_IN_DELAY => 0, + self::MOUSE_OVER_BOX_FADE_IN_DURATION => 200, + self::MOUSE_OVER_BOX_FADE_OUT_DELAY => 400, + self::MOUSE_OVER_BOX_FADE_OUT_DURATION => 200, + + // Tooltip truncation. + self::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED => 'yes', + self::FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH => 200, + self::FOOTNOTES_TOOLTIP_READON_LABEL => 'Continue reading', + + // Tooltip text. + self::FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER => '[[/tooltip]]', + self::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE => 'no', + self::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR => ' — ', + + // Tooltip appearance. + self::MOUSE_OVER_BOX_FONT_SIZE_ENABLED => 'yes', + self::MOUSE_OVER_BOX_FONT_SIZE_SCALAR => 13, + self::MOUSE_OVER_BOX_FONT_SIZE_UNIT => 'px', + + self::FOOTNOTES_MOUSE_OVER_BOX_COLOR => '#000000', + self::FOOTNOTES_MOUSE_OVER_BOX_BACKGROUND => '#ffffff', + self::FOOTNOTES_MOUSE_OVER_BOX_BORDER_WIDTH => 1, + self::FOOTNOTES_MOUSE_OVER_BOX_BORDER_COLOR => '#cccc99', + self::FOOTNOTES_MOUSE_OVER_BOX_BORDER_RADIUS => 0, + self::FOOTNOTES_MOUSE_OVER_BOX_SHADOW_COLOR => '#666666', + + // Your existing Custom CSS code. + self::CUSTOM_CSS => '', + + ), + + // Scope and priority. + 'footnotes_storage_expert' => array( + + // WordPress hooks with priority level. + self::EXPERT_LOOKUP_THE_TITLE => '', + self::EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, + + self::EXPERT_LOOKUP_THE_CONTENT => 'checked', + self::EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => 98, + + self::EXPERT_LOOKUP_THE_EXCERPT => '', + self::EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX, + + self::EXPERT_LOOKUP_WIDGET_TITLE => '', + self::EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, + + self::EXPERT_LOOKUP_WIDGET_TEXT => '', + self::EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL => 98, + + ), + + // Custom CSS. + 'footnotes_storage_custom_css' => array( + + // Your existing Custom CSS code. + self::CUSTOM_CSS_LEGACY_ENABLE => 'yes', + + // Custom CSS. + self::CUSTOM_CSS_NEW => '', + + ), + + ); + + /** + * Contains all Settings from each Settings Container. + * + * @var (string|int)[] + * + * @since 1.5.0 + * @todo Create `PreferencesSet` class. + */ + private array $settings = array(); + /********************************************************************** + * SETTINGS STORAGE. + **********************************************************************/ + /** + * Stores a singleton reference of this class. + * + * @since 1.5.0 + */ + private static ?\footnotes\includes\Settings $instance = null; + + /** + * Loads all Settings from each WordPress Settings Container. + * + * @since 1.5.0 + */ + private function __construct() { + $this->load_all(); + } + + /** + * Returns the name of a specified Settings Container. + * + * @param int $index Settings Container index. + * @return string Settings Container name. + * + * @since 1.5.0 + */ + public function get_container( int $index ): string { + return $this->container[ $index ]; + } + + /** + * Returns the default value(s) of a specific Settings Container. + * + * @param int $index Settings Container index. + * @return (string|int)[] Settings Container default value(s). + * + * @since 1.5.6 + */ + public function get_defaults( int $index ): array { + return $this->default[ $this->container[ $index ] ]; + } + + /** + * Updates a whole Setting Container on save. + * + * @param int $index Index of the Setting Container. + * @param array $new_values The new Settings value(s). + * + * @since 1.5.0 + */ + public function save_options( int $index, array $new_values ): bool { + if ( update_option( $this->get_container( $index ), $new_values ) ) { + $this->load_all(); + return true; + } + return false; + } + + /** + * Returns the value of specified Setting. + * + * @param string $key Setting key. + * @return string|int|null Setting value, or `null` if setting key is invalid. + * + * @since 1.5.0 + * @todo Add return type. + */ + public function get( string $key ) { + return $this->settings[ $key ] ?? null; + } + + /** + * Register all Settings Containers for the plugin Settings Page in the Dashboard. + * + * The Settings Container label will be the same as the Settings Container name. + * + * @since 1.5.0 + */ + public function register_settings(): void { + // Register all settings. + $num_settings = count( $this->container ); + for ( $i = 0; $i < $num_settings; $i++ ) { + register_setting( $this->get_container( $i ), $this->get_container( $i ) ); + } + } + /** + * Returns a singleton of this class. + * + * @since 1.5.0 + * @todo Remove? + */ + public static function instance(): self { + // No instance defined yet, load it. + if ( ! self::$instance ) { + self::$instance = new self(); + } + // Return a singleton of this class. + return self::$instance; + } + /** + * Loads all Settings from each Settings container. + * + * @since 1.5.0 + */ + private function load_all(): void { + // Clear current settings. + $this->settings = array(); + $num_settings = count( $this->container ); + for ( $i = 0; $i < $num_settings; $i++ ) { + // Load settings. + $this->settings = array_merge( $this->settings, $this->load( $i ) ); + } + } + /** + * Loads all settings from specified Settings Containers. + * + * @param int $index Settings container index. + * @return (string|int)[] Loaded settings (or defaults if specified container is empty). + * + * @since 1.5.0 + */ + private function load( int $index ): array { + // Load all settings from container. + $options = get_option( $this->get_container( $index ) ); + // Load all default settings. + $default = $this->default[ $this->get_container( $index ) ]; + + // No settings found, set them to their default value. + if ( empty( $options ) ) { + return $default; + } + // Iterate through all available settings ( = default values). + foreach ( $default as $key => $value ) { + // Available setting not found in the container. + if ( ! array_key_exists( $key, $options ) ) { + // Define the setting with its default value. + $options[ $key ] = $value; + } + } + // Return settings loaded from Container. + return $options; + } +} diff --git a/src/includes/class-template.php b/src/includes/class-template.php new file mode 100644 index 0000000..c1c025f --- /dev/null +++ b/src/includes/class-template.php @@ -0,0 +1,219 @@ +plugin_directory = plugin_dir_path( __DIR__ ); + + $template = $this->get_template( $file_type, $file_name, $extension ); + if ( $template ) { + $this->process_template( $template ); + } else { + return; + } + + } + + /** + * Replace all placeholders specified in array. + * + * @since 1.5.0 + * @todo Refactor templating. + * + * @param string[] $placeholders Placeholders (key = placeholder, value = value). + * @return bool `true` on Success, `false` if placeholders invalid. + */ + public function replace( array $placeholders ): bool { + // No placeholders set. + if ( empty( $placeholders ) ) { + return false; + } + // Template content is empty. + if ( empty( $this->replaced_content ) ) { + return false; + } + // Iterate through each placeholder and replace it with its value. + foreach ( $placeholders as $placeholder => $value ) { + $this->replaced_content = str_replace( '[[' . $placeholder . ']]', (string) $value, $this->replaced_content ); + } + // Success. + return true; + } + + /** + * Reloads the original content of the template file. + * + * @since 1.5.0 + * @todo Refactor templating. + * + * @return void + */ + public function reload() { + $this->replaced_content = $this->original_content; + } + + /** + * Returns the content of the template file with replaced placeholders. + * + * @since 1.5.0 + * @todo Refactor templating. + * + * @return string Template content with replaced placeholders. + */ + public function get_content(): string { + return $this->replaced_content; + } + + /** + * Process template file. + * + * @since 2.4.0d3 + * @todo Refactor templating. + * + * @param string $template The template to be processed. + * @return void + */ + public function process_template( string $template ) { + // phpcs:disable WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents + $this->original_content = preg_replace( '##s', '', file_get_contents( $template ) ); + // phpcs:enable + $this->original_content = preg_replace( '#/\*\*.+?\*/#s', '', $this->original_content ); + $this->original_content = str_replace( "\n", '', $this->original_content ); + $this->original_content = str_replace( "\r", '', $this->original_content ); + $this->original_content = str_replace( "\t", ' ', $this->original_content ); + $this->original_content = preg_replace( '# +#', ' ', $this->original_content ); + $this->original_content = str_replace( ' >', '>', $this->original_content ); + $this->reload(); + } + + /** + * Get the template. + * + * @since 2.5.0 + * @todo Refactor templating. + * @todo Single return type. + * + * @param string $file_type The file type of the template. + * @param string $file_name The file name of the template. + * @param string $extension The file extension of the template. + * @return string|bool `false` or the template path + */ + public function get_template( string $file_type, string $file_name, string $extension = 'html' ): string|bool { + $located = false; + + /* + * The directory can be changed. + * + * To change location of templates to 'template_parts/footnotes/': + * add_filter( 'template_directory', function( $directory ) { + * return 'template_parts/footnotes/'; + * } ); + */ + $template_directory = apply_filters( '', 'footnotes/' ); + $custom_directory = apply_filters( 'custom_template_directory', 'footnotes-custom/' ); + $template_name = $file_type . '/' . $file_name . '.' . $extension; + + // Look in active theme. + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $template_directory . $template_name ) ) { + $located = trailingslashit( get_stylesheet_directory() ) . $template_directory . $template_name; + + // Look in parent theme in case active is child. + } elseif ( file_exists( trailingslashit( get_template_directory() ) . $template_directory . $template_name ) ) { + $located = trailingslashit( get_template_directory() ) . $template_directory . $template_name; + + // Look in custom plugin directory. + } elseif ( file_exists( trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name ) ) { + $located = trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name; + + // Fall back to the templates shipped with the plugin. + } elseif ( file_exists( $this->plugin_directory . $template_name ) ) { + $located = $this->plugin_directory . $template_name; + } + + return $located; + } + +} diff --git a/src/includes/css/logo.css b/src/includes/css/logo.css new file mode 100644 index 0000000..68f1ef2 --- /dev/null +++ b/src/includes/css/logo.css @@ -0,0 +1,32 @@ +/*plugin_name = $plugin_name; + $this->version = $version; + + $this->load_dependencies(); + + // Set conditions re-used for stylesheet enqueuing and in class/task.php. + self::$amp_enabled = Includes\Convert::to_bool( Includes\Settings::instance()->get( Includes\Settings::FOOTNOTES_AMP_COMPATIBILITY_ENABLE ) ); + self::$tooltips_enabled = Includes\Convert::to_bool( Includes\Settings::instance()->get( Includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_ENABLED ) ); + self::$alternative_tooltips_enabled = Includes\Convert::to_bool( Includes\Settings::instance()->get( Includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE ) ); + self::$script_mode = Includes\Settings::instance()->get( Includes\Settings::FOOTNOTES_REFERENCE_CONTAINER_SCRIPT_MODE ); + } + + /** + * Load the required public-facing dependencies. + * + * Include the following files that provide the public-facing functionality + * of this plugin: + * + * - {@see Parser}: parses Posts and Pages for footnote shortcodes; and + * - {@see Widget\Reference_Container}: defines the Reference Container widget. + * + * @since 2.8.0 + */ + private function load_dependencies(): void { + // TODO: neaten up and document once placements and names are settled. + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-config.php'; + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-settings.php'; + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-convert.php'; + + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-parser.php'; + require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/widget/class-reference-container.php'; + + $this->reference_container_widget = new Widget\Reference_Container( $this->plugin_name ); + + $this->task = new Parser(); + } + + /** + * Register the stylesheets for the public-facing side of the site. + * + * Enables enqueuing the formatted individual stylesheets if {@see PRODUCTION_ENV} + * is `true`. + * + * @since 1.5.0 + * @since 2.5.5 Change stylesheet schema. + * @since 2.8.0 Moved from {@see Footnotes} to {@see Includes\Public}. + */ + public function enqueue_styles(): void { + if ( PRODUCTION_ENV ) { + // Set tooltip mode for use in stylesheet name. + if ( self::$tooltips_enabled ) { + + if ( self::$amp_enabled ) { + $tooltip_mode_short = 'ampt'; + $tooltip_mode_long = 'amp-tooltips'; + + } elseif ( self::$alternative_tooltips_enabled ) { + $tooltip_mode_short = 'altt'; + $tooltip_mode_long = 'alternative-tooltips'; + + } else { + $tooltip_mode_short = 'jqtt'; + $tooltip_mode_long = 'jquery-tooltips'; + + } + } else { + $tooltip_mode_short = 'nott'; + $tooltip_mode_long = 'no-tooltips'; + } + + // Set basic responsive page layout mode for use in stylesheet name. + $page_layout_option = Includes\Settings::instance()->get( Includes\Settings::FOOTNOTES_PAGE_LAYOUT_SUPPORT ); + switch ( $page_layout_option ) { + case 'reference-container': + $layout_mode = '1'; + break; + case 'entry-content': + $layout_mode = '2'; + break; + case 'main-content': + $layout_mode = '3'; + break; + case 'none': + default: + $layout_mode = '0'; + break; + } + + // Enqueue the tailored united minified stylesheet. + wp_enqueue_style( + "footnotes-{$tooltip_mode_long}-pagelayout-{$page_layout_option}", + plugin_dir_url( __FILE__ ) . "css/footnotes-{$tooltip_mode_short}brpl{$layout_mode}.min.css", + array(), + ( PRODUCTION_ENV ) ? $this->version : filemtime( + plugin_dir_path( + __FILE__ + ) . "css/footnotes-{$tooltip_mode_short}brpl{$layout_mode}.min.css" + ), + 'all' + ); + } else { + foreach ( array( 'amp-tooltips', 'common', 'layout-entry-content', 'layout-main-content', 'layout-reference-container', 'tooltips', 'tooltips-alternative' ) as $val ) { + wp_enqueue_style( + "footnotes-$val", + plugin_dir_url( __FILE__ ) . "css/dev-$val.css", + array(), + filemtime( + plugin_dir_path( + __FILE__ + ) . "css/dev-$val.css" + ), + 'all' + ); + } + } + } + + /** + * Register the JavaScript for the public-facing side of the site. + * + * @since 1.5.0 + * @since 2.0.0 Add jQueryUI dependency. + * @since 2.1.2 Add jQuery Tools dependency. + * @since 2.5.6 Add jQuery dependency. + * @since 2.8.0 Moved from {@see Footnotes} to {@see Includes\Public}. + */ + public function enqueue_scripts(): void { + /* + * Enqueues the jQuery library registered by WordPress. + * + * As jQuery is also used for animated scrolling, it was loaded by default. + * The function `wp_enqueue_script()` avoids loading the same library multiple times. + * After adding the alternative reference container, jQuery has become optional, + * but still enabled by default. + */ + if ( ! self::$amp_enabled ) { + + if ( 'jquery' === self::$script_mode || ( self::$tooltips_enabled && ! self::$alternative_tooltips_enabled ) ) { + + wp_enqueue_script( 'jquery' ); + + } + + if ( self::$tooltips_enabled && ! self::$alternative_tooltips_enabled ) { + /* + * Enqueues the jQuery Tools library shipped with the plugin. + * + * Redacted `jQuery.browser`, completed minification; + * see full header in `public/js/jquery.tools.js`. + * No ‘-js’ in the handle, is appended automatically. + * Deferring to the footer breaks jQuery tooltip display. + */ + wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/jquery.tools' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.js', array(), '1.2.7.redacted.2', false ); + + /* + * Enqueues some jQuery UI libraries registered by WordPress. + * + * If alternative tooltips are enabled, these libraries are not needed. + */ + wp_enqueue_script( 'jquery-ui-core' ); + wp_enqueue_script( 'jquery-ui-widget' ); + wp_enqueue_script( 'jquery-ui-position' ); + wp_enqueue_script( 'jquery-ui-tooltip' ); + + } + } + + } + + /** + * Register the widget(s) for the public-facing side of the site. + * + * @since 1.5.0 + * @since 2.8.0 Moved from {@see Footnotes} to {@see Includes\Public}. + */ + public function register_widgets(): void { + register_widget( $this->reference_container_widget ); + } +} + diff --git a/src/public/class-parser.php b/src/public/class-parser.php new file mode 100644 index 0000000..41c5c5b --- /dev/null +++ b/src/public/class-parser.php @@ -0,0 +1,2202 @@ +register_hooks(); + } + + /** + * Register WordPress hooks to replace Footnotes in the content of a public page. + * + * @since 1.5.0 + * @since 1.5.4 Add support for @see 'the_post' hook. + * @since 2.0.5 Enable all hooks by default. + * @since 2.1.0 Remove @see 'the_post' support. + * @todo Move to {@see General}. + */ + public function register_hooks(): void { + // Get values from settings. + $the_title_priority = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL ); + $the_content_priority = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL ); + $the_excerpt_priority = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL ); + $widget_title_priority = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL ); + $widget_text_priority = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL ); + + // PHP_INT_MAX can be set by -1. + $the_title_priority = ( -1 === $the_title_priority ) ? PHP_INT_MAX : $the_title_priority; + $the_content_priority = ( -1 === $the_content_priority ) ? PHP_INT_MAX : $the_content_priority; + $the_excerpt_priority = ( -1 === $the_excerpt_priority ) ? PHP_INT_MAX : $the_excerpt_priority; + $widget_title_priority = ( -1 === $widget_title_priority ) ? PHP_INT_MAX : $widget_title_priority; + $widget_text_priority = ( -1 === $widget_text_priority ) ? PHP_INT_MAX : $widget_text_priority; + + // Append custom css to the header. + add_filter( + 'wp_head', + fn() => $this->footnotes_output_head(), + PHP_INT_MAX + ); + + // Append the love and share me slug to the footer. + add_filter( + 'wp_footer', + fn() => $this->footnotes_output_footer(), + PHP_INT_MAX + ); + + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_TITLE ) ) ) { + add_filter( + 'the_title', + fn( string $content): string => $this->footnotes_in_title( $content ), + $the_title_priority + ); + } + + // Configurable priority level for reference container relative positioning; default 98. + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_CONTENT ) ) ) { + add_filter( + 'the_content', + fn( string $content): string => $this->footnotes_in_content( $content ), + $the_content_priority + ); + + /** + * Hook for category pages. + * + * Category pages can have rich HTML content in a term description with + * article status. + * For this to happen, WordPress' built-in partial HTML blocker needs to + * be disabled. + * + * @link https://docs.woocommerce.com/document/allow-html-in-term-category-tag-descriptions/ + * + * @since 2.5.0 + */ + add_filter( + 'term_description', + fn( string $content): string => $this->footnotes_in_content( $content ), + $the_content_priority + ); + + /** + * Hook for popup maker popups. + * + * - Bugfix: Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report. + * + * @reporter @squatcher + * @link https://wordpress.org/support/topic/footnotes-use-in-popup-maker/ + * + * @since 2.5.1 + */ + add_filter( + 'pum_popup_content', + fn( string $content): string => $this->footnotes_in_content( $content ), + $the_content_priority + ); + } + + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_THE_EXCERPT ) ) ) { + /** + * Adds a filter to the excerpt hook. + * + * @since 1.5.0 The hook @see 'get_the_excerpt' is filtered too. + * @since 1.5.5 The hook @see 'get_the_excerpt' is removed but not documented in changelog or docblock. + * @since 2.6.2 The hook @see 'get_the_excerpt' is readded when attempting to debug excerpt handling. + * @since 2.6.6 The hook @see 'get_the_excerpt' is removed again because it seems to cause issues in some themes. + */ + add_filter( + 'the_excerpt', + fn( string $excerpt): string => $this->footnotes_in_excerpt( $excerpt ), + $the_excerpt_priority + ); + } + + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TITLE ) ) ) { + /** + * TODO + */ + add_filter( + 'widget_title', + fn( string $content): string => $this->footnotes_in_widget_title( $content ), + $widget_title_priority + ); + } + + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::EXPERT_LOOKUP_WIDGET_TEXT ) ) ) { + /** + * TODO + */ + add_filter( + 'widget_text', + fn( string $content): string => $this->footnotes_in_widget_text( $content ), + $widget_text_priority + ); + } + + // Reset stored footnotes when displaying the header. + self::$footnotes = array(); + self::$allow_love_me = true; + } + + /** + * Outputs the custom css to the header of the public page. + * + * @since 1.5.0 + * @todo Refactor to enqueue stylesheets properly in {@see General}. + */ + public function footnotes_output_head(): void { + + // Insert start tag without switching out of PHP. + echo "\r\n\r\n"; + + /* + * Alternative tooltip implementation relying on plain JS and CSS transitions. + * + * The script for alternative tooltips is printed formatted, not minified, + * for transparency. It isn’t indented though (the PHP open tag neither). + */ + if ( General::$alternative_tooltips_enabled ) { + echo (' + + '); + }; + } + + /** + * Displays the 'LOVE FOOTNOTES' slug if enabled. + * + * @since 1.5.0 + */ + public function footnotes_output_footer(): void { + if ( 'footer' === Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION ) ) { + echo $this->reference_container(); + } + // Get setting for love and share this plugin. + $love_me_index = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_LOVE ); + // Check if the admin allows to add a link to the footer. + if ( empty( $love_me_index ) || 'no' === strtolower( $love_me_index ) || ! self::$allow_love_me ) { + return; + } + // Set a hyperlink to the word "footnotes" in the Love slug. + $linked_name = sprintf( '%s', \footnotes\includes\Config::PLUGIN_PUBLIC_NAME ); + // Get random love me text. + if ( 'random' === strtolower( $love_me_index ) ) { + $love_me_index = 'text-' . wp_rand( 1, 7 ); + } + switch ( $love_me_index ) { + // Options named wrt backcompat, simplest is default. + case 'text-1': + /* Translators: 2: Link to plugin page 1: Love heart symbol */ + $love_me_text = sprintf( __( 'I %2$s %1$s', 'footnotes' ), $linked_name, \footnotes\includes\Config::LOVE_SYMBOL ); + break; + case 'text-2': + /* Translators: %s: Link to plugin page */ + $love_me_text = sprintf( __( 'This website uses the awesome %s plugin.', 'footnotes' ), $linked_name ); + break; + case 'text-4': + /* Translators: 1: Link to plugin page 2: Love heart symbol */ + $love_me_text = sprintf( '%1$s %2$s', $linked_name, \footnotes\includes\Config::LOVE_SYMBOL ); + break; + case 'text-5': + /* Translators: 1: Love heart symbol 2: Link to plugin page */ + $love_me_text = sprintf( '%1$s %2$s', \footnotes\includes\Config::LOVE_SYMBOL, $linked_name ); + break; + case 'text-6': + /* Translators: %s: Link to plugin page */ + $love_me_text = sprintf( __( 'This website uses %s.', 'footnotes' ), $linked_name ); + break; + case 'text-7': + /* Translators: %s: Link to plugin page */ + $love_me_text = sprintf( __( 'This website uses the %s plugin.', 'footnotes' ), $linked_name ); + break; + case 'text-3': + default: + /* Translators: %s: Link to plugin page */ + $love_me_text = $linked_name; + break; + } + echo sprintf( '
                                                                                                                                                                                                    %s
                                                                                                                                                                                                    ', $love_me_text ); + } + + /** + * Replaces footnotes in the post/page title. + * + * @since 1.5.0 + * + * @param string $content Title. + * @return string $content Title with replaced footnotes. + */ + public function footnotes_in_title( string $content ): string { + // Appends the reference container if set to "post_end". + return $this->exec( $content, false ); + } + + /** + * Replaces footnotes in the content of the current page/post. + * + * @since 1.5.0 + * + * @param string $content Page/Post content. + * @return string $content Content with replaced footnotes. + */ + public function footnotes_in_content( string $content ): string { + + $ref_container_position = Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION ); + $footnote_section_shortcode = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTE_SECTION_SHORTCODE ); + $footnote_section_shortcode_length = strlen( $footnote_section_shortcode ); + + // TODO: Replace with `str_contains()`, but currently breaks Rector downgrade. + // https://github.com/rectorphp/rector/issues/6315 + if ( ! strpos( $content, (string) $footnote_section_shortcode ) ) { + + // phpcs:disable WordPress.PHP.YodaConditions.NotYoda + // Appends the reference container if set to "post_end". + return $this->exec( $content, 'post_end' === $ref_container_position ); + // phpcs:enable WordPress.PHP.YodaConditions.NotYoda + + } else { + + $rest_content = $content; + $sections_raw = array(); + $sections_processed = array(); + + do { + $section_end = strpos( $rest_content, (string) $footnote_section_shortcode ); + $sections_raw[] = substr( $rest_content, 0, $section_end ); + $rest_content = substr( $rest_content, $section_end + $footnote_section_shortcode_length ); + // TODO: Replace with `str_contains()`, but currently breaks Rector downgrade. + // https://github.com/rectorphp/rector/issues/6315 + } while ( strpos( $rest_content, (string) $footnote_section_shortcode ) ); + $sections_raw[] = $rest_content; + + foreach ( $sections_raw as $section ) { + $sections_processed[] = self::exec( $section, true ); + } + return implode( $sections_processed ); + + } + } + + /** + * Processes existing excerpt or replaces it with a new one generated on the basis of the post. + * + * The input was already the processed excerpt, no more footnotes to search. + * But issue #65 brought up that manual excerpts can include processable footnotes. + * Default 'manual' is fallback and is backwards-compatible with the initial setup. + * + * @since 1.5.0 + * + * @param string $excerpt Excerpt content. + * @return string $excerpt Processed or new excerpt. + */ + public function footnotes_in_excerpt( string $excerpt ): string { + $excerpt_mode = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_IN_EXCERPT ); + + if ( 'yes' === $excerpt_mode ) { + return $this->generate_excerpt_with_footnotes( $excerpt ); + + } elseif ( 'no' === $excerpt_mode ) { + return $this->generate_excerpt( $excerpt ); + + } else { + return $this->exec( $excerpt ); + } + } + + /** + * Generates excerpt on the basis of the post. + * + * Applies full WordPress excerpt processing. + * + * @link https://developer.wordpress.org/reference/functions/wp_trim_excerpt/ + * @link https://developer.wordpress.org/reference/functions/wp_trim_words/ + * + * @since 2.6.2 + * + * @param string $content The post. + * @return string $content An excerpt of the post. + */ + public function generate_excerpt( string $content ): string { + + // Discard existing excerpt and start on the basis of the post. + $content = get_the_content( get_the_id() ); + + // Get footnote delimiter shortcodes and unify them. + $content = self::unify_delimiters( $content ); + + // Remove footnotes. + $content = preg_replace( '#' . self::$start_tag_regex . '.+?' . self::$end_tag_regex . '#', '', $content ); + + // Apply WordPress excerpt processing. + $content = strip_shortcodes( $content ); + $content = excerpt_remove_blocks( $content ); + + // Here the footnotes would be processed as part of WordPress content processing. + $content = apply_filters( 'the_content', $content ); + + // According to Advanced Excerpt, this is some kind of precaution against malformed CDATA in RSS feeds. + $content = str_replace( ']]>', ']]>', $content ); + + $excerpt_length = (int) _x( '55', 'excerpt_length' ); + $excerpt_length = (int) apply_filters( 'excerpt_length', $excerpt_length ); + $excerpt_more = apply_filters( 'excerpt_more', ' […]' ); + + // Function wp_trim_words() calls wp_strip_all_tags() that wrecks the footnotes. + $content = wp_trim_words( $content, $excerpt_length, $excerpt_more ); + + return $content; + } + + /** + * Generates excerpt with footnotes on the basis of the post. + * + * Does not apply full WordPress excerpt processing. + * + * @see self::generate_excerpt() + * Uses information and some code from Advanced Excerpt. + * @link https://wordpress.org/plugins/advanced-excerpt/ + * + * @since 2.6.3 + * + * @param string $content The post. + * @return string $content An excerpt of the post. + */ + public function generate_excerpt_with_footnotes( string $content ): string { + + // Discard existing excerpt and start on the basis of the post. + $content = get_the_content( get_the_id() ); + + // Get footnote delimiter shortcodes and unify them. + $content = self::unify_delimiters( $content ); + + // Apply WordPress excerpt processing. + $content = strip_shortcodes( $content ); + $content = excerpt_remove_blocks( $content ); + + // But do not process footnotes at this point; do only this. + $content = str_replace( ']]>', ']]>', $content ); + + // Prepare the excerpt length argument. + $excerpt_length = (int) _x( '55', 'excerpt_length' ); + $excerpt_length = (int) apply_filters( 'excerpt_length', $excerpt_length ); + + // Prepare the Read-on string. + $excerpt_more = apply_filters( 'excerpt_more', ' […]' ); + + // Safeguard the footnotes. + preg_match_all( + '#' . self::$start_tag_regex . '.+?' . self::$end_tag_regex . '#', + $content, + $saved_footnotes + ); + + // Prevent the footnotes from altering the excerpt: previously hard-coded '5ED84D6'. + $placeholder = '@' . wp_rand( 100_000_000, 2_147_483_647 ) . '@'; + $content = preg_replace( + '#' . self::$start_tag_regex . '.+?' . self::$end_tag_regex . '#', + $placeholder, + $content + ); + + // Replace line breaking markup with a separator. + $separator = ' '; + $content = preg_replace( '#
                                                                                                                                                                                                    #', $separator, $content ); + $content = preg_replace( '#
                                                                                                                                                                                                    #', $separator, $content ); + $content = preg_replace( '#<(p|li|div)[^>]*>#', $separator, $content ); + $content = preg_replace( '#' . $separator . '#', '', $content, 1 ); + $content = preg_replace( '##', '', $content ); + $content = preg_replace( '#[\r\n]#', '', $content ); + + // To count words like Advanced Excerpt does it. + $tokens = array(); + $output = ''; + $counter = 0; + + // Tokenize into tags and words as in Advanced Excerpt. + preg_match_all( '#(<[^>]+>|[^<>\s]+)\s*#u', $content, $tokens ); + + // Count words following one option of Advanced Excerpt. + foreach ( $tokens[0] as $token ) { + + if ( $counter >= $excerpt_length ) { + break; + } + // If token is not a tag, increment word count. + if ( '<' !== $token[0] ) { + $counter++; + } + // Append the token to the output. + $output .= $token; + } + + // Complete unbalanced markup, used by Advanced Excerpt. + $content = force_balance_tags( $output ); + + // Readd footnotes in excerpt. + $index = 0; + while ( 0 !== preg_match( '#' . $placeholder . '#', $content ) ) { + $content = preg_replace( + '#' . $placeholder . '#', + $saved_footnotes[0][ $index ], + $content, + 1 + ); + $index++; + } + + // Append the Read-on string as in wp_trim_words(). + $content .= $excerpt_more; + + // Process readded footnotes without appending the reference container. + $content = self::exec( $content, false ); + + return $content; + + } + + /** + * Replaces footnotes in the widget title. + * + * @since 1.5.0 + * + * @param string $content Widget content. + * @return string $content Content with replaced footnotes. + */ + public function footnotes_in_widget_title( string $content ): string { + // Appends the reference container if set to "post_end". + return $this->exec( $content, false ); + } + + /** + * Replaces footnotes in the content of the current widget. + * + * @since 1.5.0 + * + * @param string $content Widget content. + * @return string $content Content with replaced footnotes. + */ + public function footnotes_in_widget_text( string $content ): string { + // phpcs:disable WordPress.PHP.YodaConditions.NotYoda + // Appends the reference container if set to "post_end". + return $this->exec( $content, 'post_end' === Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION ) ); + // phpcs:enable WordPress.PHP.YodaConditions.NotYoda + } + + /** + * Replaces all footnotes that occur in the given content. + * + * @since 1.5.0 + * + * @param string $content Any string that may contain footnotes to be replaced. + * @param bool $output_references Appends the Reference Container to the output if set to true, default true. + * @param bool $hide_footnotes_text Hide footnotes found in the string. + */ + public function exec( string $content, bool $output_references = false, bool $hide_footnotes_text = false ): string { + + // Process content. + $content = $this->search( $content, $hide_footnotes_text ); + + /* + * Reference container customized positioning through shortcode. + */ + + // Append the reference container or insert at shortcode. + $reference_container_position_shortcode = Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_POSITION_SHORTCODE ); + if ( empty( $reference_container_position_shortcode ) ) { + $reference_container_position_shortcode = '[[references]]'; + } + + if ( $output_references ) { + + if ( strpos( $content, (string) $reference_container_position_shortcode ) ) { + + $content = str_replace( $reference_container_position_shortcode, $this->reference_container(), $content ); + + } else { + + $content .= $this->reference_container(); + + } + + // Increment the container ID. + self::$reference_container_id++; + } + + // Delete position shortcode should any remain. + $content = str_replace( $reference_container_position_shortcode, '', $content ); + + // Take a look if the LOVE ME slug should NOT be displayed on this page/post, remove the short code if found. + if ( strpos( $content, \footnotes\includes\Config::NO_LOVE_SLUG ) ) { + self::$allow_love_me = false; + $content = str_replace( \footnotes\includes\Config::NO_LOVE_SLUG, '', $content ); + } + // Return the content with replaced footnotes and optional reference container appended. + return $content; + } + + /** + * Brings the delimiters and unifies their various HTML escapement schemas. + * + * While the Classic Editor (visual mode) escapes both pointy brackets, + * the Block Editor enforces balanced escapement only in code editor mode + * when the opening tag is already escaped. In visual mode, the Block Editor + * does not escape the greater-than sign. + * + * @since 2.1.14 + * + * @param string $content The footnote, including delimiters. + */ + public function unify_delimiters( string $content ): string { + + // Get footnotes start and end tag short codes. + $starting_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START ); + $ending_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END ); + if ( 'userdefined' === $starting_tag || 'userdefined' === $ending_tag ) { + $starting_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_START_USER_DEFINED ); + $ending_tag = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SHORT_CODE_END_USER_DEFINED ); + } + + // If any footnotes short code is empty, return the content without changes. + if ( empty( $starting_tag ) || empty( $ending_tag ) ) { + return $content; + } + + if ( preg_match( '#[&"\'<>]#', $starting_tag . $ending_tag ) ) { + + $harmonized_start_tag = '{[(|fnote_stt|)]}'; + $harmonized_end_tag = '{[(|fnote_end|)]}'; + + // Harmonize footnotes without escaping any HTML special characters in delimiter shortcodes. + // The footnote has been added in the Block Editor code editor (doesn’t work in Classic Editor text mode). + $content = str_replace( $starting_tag, $harmonized_start_tag, $content ); + $content = str_replace( $ending_tag, $harmonized_end_tag, $content ); + + // Harmonize footnotes while escaping HTML special characters in delimiter shortcodes. + // The footnote has been added in the Classic Editor visual mode. + $content = str_replace( htmlspecialchars( $starting_tag ), $harmonized_start_tag, $content ); + $content = str_replace( htmlspecialchars( $ending_tag ), $harmonized_end_tag, $content ); + + // Harmonize footnotes while escaping HTML special characters except greater-than sign in delimiter shortcodes. + // The footnote has been added in the Block Editor visual mode. + $content = str_replace( str_replace( '>', '>', htmlspecialchars( $starting_tag ) ), $harmonized_start_tag, $content ); + $content = str_replace( str_replace( '>', '>', htmlspecialchars( $ending_tag ) ), $harmonized_end_tag, $content ); + + // Assign the delimiter shortcodes. + self::$start_tag = $harmonized_start_tag; + self::$end_tag = $harmonized_end_tag; + + // Assign the regex-conformant shortcodes. + self::$start_tag_regex = '\{\[\(\|fnote_stt\|\)\]\}'; + self::$end_tag_regex = '\{\[\(\|fnote_end\|\)\]\}'; + + } else { + + // Assign the delimiter shortcodes. + self::$start_tag = $starting_tag; + self::$end_tag = $ending_tag; + + // Make shortcodes conform to regex syntax. + self::$start_tag_regex = preg_replace( '#([\(\)\{\}\[\]\|\*\.\?\!])#', '\\\\$1', self::$start_tag ); + self::$end_tag_regex = preg_replace( '#([\(\)\{\}\[\]\|\*\.\?\!])#', '\\\\$1', self::$end_tag ); + } + + return $content; + } + + /** + * Replaces all footnotes in the given content and appends them to the static property. + * + * @since 1.5.0 + * @todo Refactor to parse DOM rather than using RegEx. + * @todo Decompose. + * + * @param string $content Any content to be parsed for footnotes. + * @param bool $hide_footnotes_text Hide footnotes found in the string. + */ + public function search( string $content, bool $hide_footnotes_text ): string { + + // Get footnote delimiter shortcodes and unify them. + $content = self::unify_delimiters( $content ); + + /* + * Checks for balanced footnote delimiters; delimiter syntax validation. + * + * If footnotes short codes are unbalanced, and syntax validation is not disabled, + * prepend a warning to the content; displays de facto beneath the post title. + */ + + // If enabled. + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE ) ) ) { + + // Apply different regex depending on whether start shortcode is double/triple opening parenthesis. + if ( '((' === self::$start_tag || '(((' === self::$start_tag ) { + + // This prevents from catching a script containing e.g. a double opening parenthesis. + $validation_regex = '#' . self::$start_tag_regex . '(((?!' . self::$end_tag_regex . ')[^\{\}])*?)(' . self::$start_tag_regex . '|$)#s'; + + } else { + + // Catch all only if the start shortcode is not double/triple opening parenthesis, i.e. is unlikely to occur in scripts. + $validation_regex = '#' . self::$start_tag_regex . '(((?!' . self::$end_tag_regex . ').)*?)(' . self::$start_tag_regex . '|$)#s'; + } + + // Check syntax and get error locations. + preg_match( $validation_regex, $content, $error_location ); + if ( empty( $error_location ) ) { + self::$syntax_error_flag = false; + } + + // Prevent generating and inserting the warning multiple times. + if ( self::$syntax_error_flag ) { + + // Get plain text string for error location. + $error_spot_string = wp_strip_all_tags( $error_location[1] ); + + // Limit string length to 300 characters. + if ( strlen( $error_spot_string ) > 300 ) { + $error_spot_string = substr( $error_spot_string, 0, 299 ) . '…'; + } + + // Compose warning box. + $syntax_error_warning = '

                                                                                                                                                                                                    '; + $syntax_error_warning .= __( 'WARNING: unbalanced footnote start tag short code found.', 'footnotes' ); + $syntax_error_warning .= '

                                                                                                                                                                                                    '; + + // Syntax validation setting in the dashboard under the General settings tab. + /* Translators: 1: General Settings 2: Footnote start and end short codes 3: Check for balanced shortcodes */ + $syntax_error_warning .= sprintf( __( 'If this warning is irrelevant, please disable the syntax validation feature in the dashboard under %1$s > %2$s > %3$s.', 'footnotes' ), __( 'General settings', 'footnotes' ), __( 'Footnote start and end short codes', 'footnotes' ), __( 'Check for balanced shortcodes', 'footnotes' ) ); + + $syntax_error_warning .= '

                                                                                                                                                                                                    '; + $syntax_error_warning .= __( 'Unbalanced start tag short code found before:', 'footnotes' ); + $syntax_error_warning .= '

                                                                                                                                                                                                    “'; + $syntax_error_warning .= $error_spot_string; + $syntax_error_warning .= '”

                                                                                                                                                                                                    '; + + // Prepend the warning box to the content. + $content = $syntax_error_warning . $content; + + // Checked, set flag to false to prevent duplicate warning. + self::$syntax_error_flag = false; + + return $content; + } + } + + /* + * Patch to allow footnotes in input field labels. + * + * When the HTML 'input' element 'value' attribute value is derived from + * 'label', footnotes need to be removed in the value of 'value'. + */ + $value_regex = '#(]+?value=["\'][^>]+?)' . self::$start_tag_regex . '[^>]+?' . self::$end_tag_regex . '#'; + + do { + $content = preg_replace( $value_regex, '$1', $content ); + } while ( preg_match( $value_regex, $content ) ); + + // Optionally moves footnotes outside at the end of the label element. + $label_issue_solution = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_LABEL_ISSUE_SOLUTION ); + + if ( 'move' === $label_issue_solution ) { + + $move_regex = '#(
                                                                                                                                                                                                    |]*>)#' ); + $tooltip_content = preg_replace( $paragraph_splitters, '
                                                                                                                                                                                                    ', $tooltip_content ); + } else { + $tooltip_content = ''; + } + + // Determine shrink width if alternative tooltips are enabled. + $tooltip_style = ''; + if ( General::$alternative_tooltips_enabled && General::$tooltips_enabled ) { + $tooltip_length = strlen( wp_strip_all_tags( $tooltip_content ) ); + if ( $tooltip_length < 70 ) { + $tooltip_style = ' style="width: '; + $tooltip_style .= ( $tooltip_length * .7 ); + $tooltip_style .= 'em;"'; + } + } + + // Fill in 'public/partials/footnote.html'. + $template->replace( + array( + 'link-span' => self::$link_span, + 'post_id' => self::$post_id, + 'container_id' => self::$reference_container_id, + 'note_id' => $index, + 'hard-link' => $footnote_link_argument, + 'sup-span' => $sup_span, + 'before' => Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_STYLING_BEFORE ), + 'index' => $index, + 'after' => Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_STYLING_AFTER ), + 'anchor-element' => $referrer_anchor_element, + 'style' => $tooltip_style, + 'text' => $tooltip_content, + ) + ); + $footnote_replace_text = $template->get_content(); + + // Reset the template. + $template->reload(); + + // If tooltips are enabled but neither AMP nor alternative are. + if ( General::$tooltips_enabled && ! General::$amp_enabled && ! General::$alternative_tooltips_enabled ) { + + $offset_y = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y ); + $offset_x = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X ); + $fade_in_delay = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_IN_DELAY ); + $fade_in_duration = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_IN_DURATION ); + $fade_out_delay = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_OUT_DELAY ); + $fade_out_duration = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::MOUSE_OVER_BOX_FADE_OUT_DURATION ); + + // Fill in 'public/partials/tooltip.html'. + $template_tooltip->replace( + array( + 'post_id' => self::$post_id, + 'container_id' => self::$reference_container_id, + 'note_id' => $index, + 'position' => Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_MOUSE_OVER_BOX_POSITION ), + 'offset-y' => empty( $offset_y ) ? 0 : $offset_y, + 'offset-x' => empty( $offset_x ) ? 0 : $offset_x, + 'fade-in-delay' => empty( $fade_in_delay ) ? 0 : $fade_in_delay, + 'fade-in-duration' => empty( $fade_in_duration ) ? 0 : $fade_in_duration, + 'fade-out-delay' => empty( $fade_out_delay ) ? 0 : $fade_out_delay, + 'fade-out-duration' => empty( $fade_out_duration ) ? 0 : $fade_out_duration, + ) + ); + $footnote_replace_text .= $template_tooltip->get_content(); + $template_tooltip->reload(); + } + } + // Replace the footnote with the template. + $content = substr_replace( $content, $footnote_replace_text, $pos_start, $length + strlen( self::$end_tag ) ); + + // Add footnote only if not empty. + if ( ! empty( $footnote_text ) ) { + // Set footnote to the output box at the end. + self::$footnotes[] = $footnote_text; + // Increase footnote index. + $footnote_index++; + } + + /* + * Fixes a partial footnotes process outage happening when tooltips are truncated or disabled. + * Fixed a footnotes numbering bug happening under de facto rare circumstances. + * + * This assignment was overridden by another one, causing the algorithm to jump back + * near the post start to a position calculated as the sum of the length of the last + * footnote and the length of the last footnote replace text. + * A bug disturbing the order of the footnotes depending on the text before the first + * footnote, the length of the first footnote and the length of the templates for the + * footnote and the tooltip. + * Deleting both lines instead, to resume the search at the position where it left off, + * would have prevented also the following bug. + * + * The origin of the bug was present since the beginning (v1.0.0). + * For v1.3.2 the wrong code was refactored but remained wrong, + * and was unaffected by the v1.5.0 refactoring. + * The reason why the numbering disorder reverted to a partial process outage + * since 2.5.14 is that with this version, the plugin stopped processing the + * content multiple times, and started unifying the shortcodes instead, to fix + * the numbering disorder affecting delimiter shortcodes with pointy brackets + * and mixed escapement schemas. + */ + // Add offset to the new starting position. + $pos_start += strlen( $footnote_replace_text ); + + } while ( true ); + + // Return content. + return $content; + } + + /** + * Generates the reference container. + * + * @since 1.5.0 + */ + public function reference_container(): string { + + $use_backbutton_hint = null; + // No footnotes have been replaced on this page. + if ( empty( self::$footnotes ) ) { + return ''; + } + + /* + * Footnote index backlink symbol. + */ + + // If the backlink symbol is enabled. + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE ) ) ) { + + // Get html arrow. + $arrow = Includes\Convert::get_arrow( Includes\Settings::instance()->get( \footnotes\includes\Settings::HYPERLINK_ARROW ) ); + // Set html arrow to the first one if invalid index defined. + if ( is_array( $arrow ) ) { + $arrow = Includes\Convert::get_arrow( 0 ); + } + // Get user defined arrow. + $arrow_user_defined = Includes\Settings::instance()->get( \footnotes\includes\Settings::HYPERLINK_ARROW_USER_DEFINED ); + if ( ! empty( $arrow_user_defined ) ) { + $arrow = $arrow_user_defined; + } + + // Wrap the arrow in a @media print { display:hidden } span. + $footnote_arrow = ''; + $footnote_arrow .= $arrow . ''; + + } else { + + // If the backlink symbol isn’t enabled, set it to empty. + $arrow = ''; + $footnote_arrow = ''; + + } + + /* + * Backlink separator. + * + * Initially an appended comma was hard-coded in this algorithm for enumerations. + * The comma in enumerations is not universally preferred. + */ + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_ENABLED ) ) ) { + + if ( empty( $separator ) ) { + + // If it is not, check which option is on. + $separator_option = Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_OPTION ); + // TODO: replace with `match` (but currently it breaks the Rector + // downgrade to PHP 7.4. + // https://github.com/rectorphp/rector/issues/6315 + switch ($separator_option) { + case 'comma': + $separator = ','; + break; + case 'semicolon': + $separator = ';'; + break; + case 'en_dash': + $separator = ' –'; + break; + default: + $separator = Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_SEPARATOR_CUSTOM ); + break; + } + } + } else { + + $separator = ''; + } + + /* + * Backlink terminator. + * + * Initially a dot was appended in the table row template. + */ + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_ENABLED ) ) ) { + + if ( empty( $terminator ) ) { + + // If it is not, check which option is on. + $terminator_option = Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_OPTION ); + // TODO: replace with `match` (but currently it breaks the Rector + // downgrade to PHP 7.4. + // https://github.com/rectorphp/rector/issues/6315 + switch ($terminator_option) { + case 'period': + $terminator = '.'; + break; + case 'parenthesis': + $terminator = ')'; + break; + case 'colon': + $terminator = ':'; + break; + default: + $terminator = Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_TERMINATOR_CUSTOM ); + break; + } + } + } else { + + $terminator = ''; + } + + /* + * Line breaks. + * + * The backlinks of combined footnotes are generally preferred in an enumeration. + * But when few footnotes are identical, stacking the items in list form is better. + * Variable number length and proportional character width require explicit line breaks. + * Otherwise, an ordinary space character offering a line break opportunity is inserted. + */ + $line_break = Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::BACKLINKS_LINE_BREAKS_ENABLED ) ) ? '
                                                                                                                                                                                                    ' : ' '; + + /* + * Line breaks for source readability. + * + * For maintenance and support, table rows in the reference container should be + * separated by an empty line. So we add these line breaks for source readability. + * Before the first table row (breaks between rows are ~200 lines below). + */ + $body = "\r\n\r\n"; + + /* + * Reference container table row template load. + */ + $combine_identical_footnotes = Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::COMBINE_IDENTICAL_FOOTNOTES ) ); + + // AMP compatibility requires a full set of AMP compatible table row templates. + if ( General::$amp_enabled ) { + // When combining identical footnotes is turned on, another template is needed. + if ( $combine_identical_footnotes ) { + // The combining template allows for backlink clusters and supports cell clicking for single notes. + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'amp-reference-container-body-combi' ); + } elseif ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE ) ) ) { + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'amp-reference-container-body-3column' ); + } elseif ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH ) ) ) { + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'amp-reference-container-body-switch' ); + } else { + + // Default is the standard template. + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'amp-reference-container-body' ); + + } + } elseif ( $combine_identical_footnotes ) { + // The combining template allows for backlink clusters and supports cell clicking for single notes. + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'reference-container-body-combi' ); + } elseif ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE ) ) ) { + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'reference-container-body-3column' ); + } elseif ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH ) ) ) { + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'reference-container-body-switch' ); + } else { + + // Default is the standard template. + $template = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'reference-container-body' ); + + } + + /* + * Switch backlink symbol and footnote number. + */ + $symbol_switch = Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH ) ); + + // Loop through all footnotes found in the page. + $num_footnotes = count( self::$footnotes ); + for ( $index = 0; $index < $num_footnotes; $index++ ) { + + // Get footnote text. + $footnote_text = self::$footnotes[ $index ]; + + // If footnote is empty, go to the next one;. + // With combine identicals turned on, identicals will be deleted and are skipped. + if ( empty( $footnote_text ) ) { + continue; + } + + // Generate content of footnote index cell. + $first_footnote_index = ( $index + 1 ); + + // Get the footnote index string and. + // Keep supporting legacy index placeholder. + $footnote_id = Includes\Convert::index( ( $index + 1 ), Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_COUNTER_STYLE ) ); + + /** + * Case of only one backlink per table row. + * + * If enabled, and for the case the footnote is single, compose hard link. + */ + // Define anyway. + $hard_link_address = ''; + + if ( self::$hard_links_enabled ) { + /* + * Use-Backbutton-Hint tooltip, optional and configurable. + * + * When hard links are enabled, clicks on the backlinks are logged in the browsing history. + * This tooltip hints to use the backbutton instead, so the history gets streamlined again. + * @link https://wordpress.org/support/topic/making-it-amp-compatible/#post-13837359 + * + * @since 2.5.4 + */ + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_BACKLINK_TOOLTIP_ENABLE ) ) ) { + $use_backbutton_hint = ' title="'; + $use_backbutton_hint .= Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_BACKLINK_TOOLTIP_TEXT ); + $use_backbutton_hint .= '"'; + } else { + $use_backbutton_hint = ''; + } + + /** + * Compose fragment ID anchor with offset, for use in reference container. + * Empty span, child of empty span, to avoid tall dotted rectangles in browser. + */ + $footnote_anchor_element = ''; + + // Compose optional hard link address. + $hard_link_address = ' href="#'; + $hard_link_address .= self::$referrer_link_slug; + $hard_link_address .= self::$post_container_id_compound; + $hard_link_address .= $footnote_id . '"'; + $hard_link_address .= $use_backbutton_hint; + self::$link_open_tag = ' class="footnote_hard_back_link">'; + + } else { + // Define as empty, too. + $footnote_anchor_element = ''; + } + + /* + * Support for combining identicals: compose enumerated backlinks. + * + * Prepare to have single footnotes, where the click event and + * optional hard link need to be set to cover the table cell, + * for better usability and UX. + * + * @since 2.1.1 + */ + + // Set a flag to check for the combined status of a footnote item. + $flag_combined = false; + + // Set otherwise unused variables as empty to avoid screwing up the placeholder array. + $backlink_event = ''; + $footnote_backlinks = ''; + $footnote_reference = ''; + + if ( $combine_identical_footnotes ) { + + // ID, optional hard link address, and class. + $footnote_reference = '<' . self::$link_span; + $footnote_reference .= ' id="footnote_plugin_reference_'; + $footnote_reference .= self::$post_id; + $footnote_reference .= '_' . self::$reference_container_id; + $footnote_reference .= "_$footnote_id\""; + if ( self::$hard_links_enabled ) { + $footnote_reference .= ' href="#'; + $footnote_reference .= self::$referrer_link_slug; + $footnote_reference .= self::$post_container_id_compound; + $footnote_reference .= $footnote_id . '"'; + $footnote_reference .= $use_backbutton_hint; + } + $footnote_reference .= ' class="footnote_backlink"'; + + /* + * The click event goes in the table cell if footnote remains single. + */ + + $backlink_event = ' onclick="footnote_moveToAnchor_'; + + $backlink_event .= self::$post_id; + $backlink_event .= '_' . self::$reference_container_id; + $backlink_event .= "('footnote_plugin_tooltip_"; + $backlink_event .= self::$post_id; + $backlink_event .= '_' . self::$reference_container_id; + $backlink_event .= "_$footnote_id');\""; + + // The dedicated template enumerating backlinks uses another variable. + $footnote_backlinks = $footnote_reference; + + // Append the click event right to the backlink item for enumerations;. + // Else it goes in the table cell. + $footnote_backlinks .= $backlink_event . '>'; + $footnote_reference .= '>'; + + // Append the optional offset anchor for hard links. + if ( self::$hard_links_enabled ) { + $footnote_reference .= $footnote_anchor_element; + $footnote_backlinks .= $footnote_anchor_element; + } + + // Continue both single note and notes cluster, depending on switch option status. + if ( $symbol_switch ) { + + $footnote_reference .= "$footnote_id$footnote_arrow"; + $footnote_backlinks .= "$footnote_id$footnote_arrow"; + + } else { + + $footnote_reference .= "$footnote_arrow$footnote_id"; + $footnote_backlinks .= "$footnote_arrow$footnote_id"; + + } + + // If that is the only footnote with this text, we’re almost done.. + + // Check if it isn't the last footnote in the array. + if ( $first_footnote_index < count( self::$footnotes ) ) { + + // Get all footnotes that haven't passed yet. + $num_footnotes = count( self::$footnotes ); + for ( $check_index = $first_footnote_index; $check_index < $num_footnotes; $check_index++ ) { + + // Check if a further footnote is the same as the actual one. + if ( self::$footnotes[ $check_index ] === $footnote_text ) { + + // If so, set the further footnote as empty so it won't be displayed later. + self::$footnotes[ $check_index ] = ''; + + // Set the flag to true for the combined status. + $flag_combined = true; + + // Update the footnote ID. + $footnote_id = Includes\Convert::index( ( $check_index + 1 ), Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_COUNTER_STYLE ) ); + + // Resume composing the backlinks enumeration. + $footnote_backlinks .= "$separator'; + $footnote_backlinks .= $line_break; + $footnote_backlinks .= '<' . self::$link_span; + $footnote_backlinks .= ' id="footnote_plugin_reference_'; + $footnote_backlinks .= self::$post_id; + $footnote_backlinks .= '_' . self::$reference_container_id; + $footnote_backlinks .= "_$footnote_id\""; + + // Insert the optional hard link address. + if ( self::$hard_links_enabled ) { + $footnote_backlinks .= ' href="#'; + $footnote_backlinks .= self::$referrer_link_slug; + $footnote_backlinks .= self::$post_container_id_compound; + $footnote_backlinks .= $footnote_id . '"'; + $footnote_backlinks .= $use_backbutton_hint; + } + + $footnote_backlinks .= ' class="footnote_backlink"'; + + // Reverted wrong linting. + $footnote_backlinks .= ' onclick="footnote_moveToAnchor_'; + + $footnote_backlinks .= self::$post_id; + $footnote_backlinks .= '_' . self::$reference_container_id; + $footnote_backlinks .= "('footnote_plugin_tooltip_"; + $footnote_backlinks .= self::$post_id; + $footnote_backlinks .= '_' . self::$reference_container_id; + $footnote_backlinks .= "_$footnote_id');\">"; + + // Append the offset anchor for optional hard links. + if ( self::$hard_links_enabled ) { + $footnote_backlinks .= ''; + } + + $footnote_backlinks .= $symbol_switch ? '' : $footnote_arrow; + $footnote_backlinks .= $footnote_id; + $footnote_backlinks .= $symbol_switch ? $footnote_arrow : ''; + + } + } + } + + // Append terminator and end tag. + $footnote_reference .= $terminator . ''; + $footnote_backlinks .= $terminator . ''; + + } + + // Line wrapping of URLs already fixed, see above. + + // Get reference container item text if tooltip text goes separate. + $tooltip_text_length = strpos( $footnote_text, self::$tooltip_shortcode ); + $has_tooltip_text = (bool) $tooltip_text_length; + if ( $has_tooltip_text ) { + $not_tooltip_text = substr( $footnote_text, ( $tooltip_text_length + self::$tooltip_shortcode_length ) ); + self::$mirror_tooltip_text = Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE ) ); + if ( self::$mirror_tooltip_text ) { + $tooltip_text = substr( $footnote_text, 0, $tooltip_text_length ); + $reference_text_introducer = Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR ); + $reference_text = $tooltip_text . $reference_text_introducer . $not_tooltip_text; + } else { + $reference_text = $not_tooltip_text; + } + } else { + $reference_text = $footnote_text; + } + + // Replace all placeholders in table row template. + $template->replace( + array( + + // Placeholder used in all templates. + 'text' => $reference_text, + + // Used in standard layout W/O COMBINED FOOTNOTES. + 'post_id' => self::$post_id, + 'container_id' => self::$reference_container_id, + 'note_id' => Includes\Convert::index( $first_footnote_index, Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_COUNTER_STYLE ) ), + 'link-start' => self::$link_open_tag, + 'link-end' => self::$link_close_tag, + 'link-span' => self::$link_span, + 'terminator' => $terminator, + 'anchor-element' => $footnote_anchor_element, + 'hard-link' => $hard_link_address, + + // Used in standard layout WITH COMBINED IDENTICALS TURNED ON. + 'pointer' => $flag_combined ? '' : ' pointer', + 'event' => $flag_combined ? '' : $backlink_event, + 'backlinks' => $flag_combined ? $footnote_backlinks : $footnote_reference, + + // Legacy placeholders for use in legacy layout templates. + 'arrow' => $footnote_arrow, + 'index' => $footnote_id, + ) + ); + + $body .= $template->get_content(); + + // Extra line breaks for page source readability. + $body .= "\r\n\r\n"; + + $template->reload(); + + } + + // Call again for robustness when priority levels don’t match any longer. + self::$scroll_offset = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SCROLL_OFFSET ); + + // Streamline. + $collapse_default = Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_COLLAPSE ) ); + + /* + * Reference container label. + * + * Themes may drop-cap a first letter of initial paragraphs, like this label. + * In case of empty label that would apply to the left half button character. + * Hence the point in setting an empty label to U+202F NARROW NO-BREAK SPACE. + */ + $reference_container_label = Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_NAME ); + + // Select the reference container template. + // Whether AMP compatibility mode is enabled. + if ( General::$amp_enabled ) { + + // Whether the reference container is collapsed by default. + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_COLLAPSE ) ) ) { + + // Load 'public/partials/amp-reference-container-collapsed.html'. + $template_container = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'amp-reference-container-collapsed' ); + + } else { + + // Load 'public/partials/amp-reference-container.html'. + $template_container = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'amp-reference-container' ); + } + } elseif ( 'js' === General::$script_mode ) { + + // Load 'public/partials/js-reference-container.html'. + $template_container = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'js-reference-container' ); + + } else { + + // Load 'public/partials/reference-container.html'. + $template_container = new Includes\Template( \footnotes\includes\Template::PUBLIC, 'reference-container' ); + } + + $scroll_offset = ''; + $scroll_down_delay = ''; + $scroll_down_duration = ''; + $scroll_up_delay = ''; + $scroll_up_duration = ''; + + if ( 'jquery' === General::$script_mode ) { + + $scroll_offset = ( self::$scroll_offset / 100 ); + $scroll_up_duration = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DURATION ); + + if ( Includes\Convert::to_bool( Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DURATION_ASYMMETRICITY ) ) ) { + + $scroll_down_duration = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DOWN_DURATION ); + + } else { + + $scroll_down_duration = $scroll_up_duration; + + } + + $scroll_down_delay = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SCROLL_DOWN_DELAY ); + $scroll_up_delay = (int) Includes\Settings::instance()->get( \footnotes\includes\Settings::FOOTNOTES_SCROLL_UP_DELAY ); + + } + + $template_container->replace( + array( + 'post_id' => self::$post_id, + 'container_id' => self::$reference_container_id, + 'element' => Includes\Settings::instance()->get( \footnotes\includes\Settings::REFERENCE_CONTAINER_LABEL_ELEMENT ), + 'name' => empty( $reference_container_label ) ? ' ' : $reference_container_label, + 'button-style' => $collapse_default ? '' : 'display: none;', + 'style' => $collapse_default ? 'display: none;' : '', + 'caption' => ( empty( $reference_container_label ) || ' ' === $reference_container_label ) ? 'References' : $reference_container_label, + 'content' => $body, + 'scroll-offset' => $scroll_offset, + 'scroll-down-delay' => $scroll_down_delay, + 'scroll-down-duration' => $scroll_down_duration, + 'scroll-up-delay' => $scroll_up_delay, + 'scroll-up-duration' => $scroll_up_duration, + ) + ); + + // Free all found footnotes if reference container will be displayed. + self::$footnotes = array(); + + return $template_container->get_content(); + } +} diff --git a/src/css/dev-amp-tooltips.css b/src/public/css/dev-amp-tooltips.css similarity index 100% rename from src/css/dev-amp-tooltips.css rename to src/public/css/dev-amp-tooltips.css diff --git a/src/css/dev-common.css b/src/public/css/dev-common.css similarity index 92% rename from src/css/dev-common.css rename to src/public/css/dev-common.css index 0a977f7..6731c3b 100644 --- a/src/css/dev-common.css +++ b/src/public/css/dev-common.css @@ -7,7 +7,7 @@ * Since: 1.0 * * Classes recommended for Custom CSS: - * @see templates/dashboard/customize-css-new.html + * @see admin/partials/customize-css-new.html * * System of unified minified style sheets tailored to the needs of the instance. * @@ -182,8 +182,8 @@ /** * Footnote referrers and tooltips * - * @see templates/public/footnote.html - * @see templates/public/footnote-alternative.html + * @see public/partials/footnote.html + * @see public/partials/footnote-alternative.html * * .footnote_referrer = enclosing * .footnote_plugin_tooltip_text = inner @@ -256,11 +256,11 @@ Footnote reference container Templates: -templates/public/reference-container.html -templates/public/reference-container-body.html -templates/public/reference-container-combi.html -templates/public/reference-container-switch.html -templates/public/reference-container-3column.html +public/partials/reference-container.html +public/partials/reference-container-body.html +public/partials/reference-container-combi.html +public/partials/reference-container-switch.html +public/partials/reference-container-3column.html Optional responsive basic page layout support stylesheets: @@ -575,44 +575,3 @@ Link color set to inherit, so referrers/numbers are not grayed out. display: none; } } - -/** - * MCI Footnotes logo - * - * The classes with 'heading' fixing display in dashboard - * have all their rules moved to settings.css so as to alleviate - * the common stylesheet. Still these rules are only used if the - * Footnotes ad link logo is present in the page footer per user - * dashboard setting. Making these rules conditional like those - * pertaining to tooltips, either jQuery or alternative, would - * double the number of united minified stylesheets shipped with - * the plugin. Hence these are present by default at the bottom. - * - * @see class/config.php - * @see css/settings.css - */ - -.footnotes_logo, -.footnotes_logo:hover, -.footnotes_logo, -.footnotes_logo:focus { - font-weight: normal; - text-decoration: none; -} - -.footnotes_logo_part1 { - color: #2bb975; -} - -.footnotes_logo_part2 { - color: #545f5a; -} - -/** Fix for screen readers, -@reporter @markhillyer -@contributor @pewgeuges -@link https://wordpress.org/support/topic/backlink-reference-number-font-weight/ -*/ -.footnote_plugin_index { - font-weight: normal; -} diff --git a/src/css/dev-layout-entry-content.css b/src/public/css/dev-layout-entry-content.css similarity index 100% rename from src/css/dev-layout-entry-content.css rename to src/public/css/dev-layout-entry-content.css diff --git a/src/css/dev-layout-main-content.css b/src/public/css/dev-layout-main-content.css similarity index 100% rename from src/css/dev-layout-main-content.css rename to src/public/css/dev-layout-main-content.css diff --git a/src/css/dev-layout-reference-container.css b/src/public/css/dev-layout-reference-container.css similarity index 100% rename from src/css/dev-layout-reference-container.css rename to src/public/css/dev-layout-reference-container.css diff --git a/src/css/dev-tooltips-alternative.css b/src/public/css/dev-tooltips-alternative.css similarity index 100% rename from src/css/dev-tooltips-alternative.css rename to src/public/css/dev-tooltips-alternative.css diff --git a/src/css/dev-tooltips.css b/src/public/css/dev-tooltips.css similarity index 100% rename from src/css/dev-tooltips.css rename to src/public/css/dev-tooltips.css diff --git a/src/public/index.php b/src/public/index.php new file mode 100644 index 0000000..8142269 --- /dev/null +++ b/src/public/index.php @@ -0,0 +1 @@ + __CLASS__, + 'description' => $this->get_description(), + ); + $control_options = array( + 'id_base' => strtolower( $this->get_id() ), + 'width' => $this->get_widget_width(), + ); + // Registers the Widget. + parent::__construct( + strtolower( $this->get_id() ), // Unique ID for the widget, has to be lowercase. + $this->get_name(), // Plugin name to be displayed. + $widget_options, // Optional Widget Options. + $control_options // Optional Widget Control Options. + ); + } + +} diff --git a/src/public/widget/class-reference-container.php b/src/public/widget/class-reference-container.php new file mode 100644 index 0000000..97f07b5 --- /dev/null +++ b/src/public/widget/class-reference-container.php @@ -0,0 +1,120 @@ +plugin_name = $plugin_name; + parent::__construct(); + } + + /** + * Returns an unique ID as string used for the Widget Base ID. + * + * @see Base::get_id() + * @since 1.5.0 + * + * @return string + */ + protected function get_id(): string { + return 'footnotes_widget'; + } + + /** + * Returns the Public name of the Widget to be displayed in the Configuration page. + * + * @see Base::get_name() + * @since 1.5.0 + * + * @return string + */ + protected function get_name(): string { + return $this->plugin_name; + } + + /** + * Returns the Description of the child widget. + * + * @see Base::get_description() + * @since 1.5.0 + * + * @return string + */ + protected function get_description(): string { + return __( 'The widget defines the position of the reference container if set to “widget area”.', 'footnotes' ); + } + + /** + * Outputs the Settings of the Widget. + * + * @link https://developer.wordpress.org/reference/classes/wp_widget/form/ `WP_Widget::form()` + * @since 1.5.0 + * + * @param mixed $instance The instance of the widget. + */ + public function form( $instance ) { + echo __( 'The widget defines the position of the reference container if set to “widget area”.', 'footnotes' ); + } + + /** + * Outputs the Content of the Widget. + * + * @link https://developer.wordpress.org/reference/classes/wp_widget/widget/ `WP_Widget::widget()` + * @since 1.5.0 + * + * @param mixed $args The widget's arguments. + * @param mixed $instance The instance of the widget. + */ + public function widget( $args, $instance ) { + global $footnotes; + // Reference container positioning is set to "widget area". + if ( 'widget' === Includes\Settings::instance()->get( Includes\Settings::REFERENCE_CONTAINER_POSITION ) ) { + // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped + echo $footnotes->task->reference_container(); + // phpcs:enable + } + } +} diff --git a/src/uninstall.php b/src/uninstall.php new file mode 100644 index 0000000..4c8e3f8 --- /dev/null +++ b/src/uninstall.php @@ -0,0 +1,24 @@ + +