Documentation "Avia Support" Plugin
- General Information
- Forum Features
- Extended Search Form
- Presale Contact Form
- Private Data Field
- Support Request Queue
- Canned Textblocks
- Extended Account Management
- Plugin Internal Data and Datatables
- Activation, Setup, Deactivation, Uninstall
- Version Updates
- Admin Panel and Settings Page (Plugin options)
- Developer Section
This plugin is an extension to the plugin bbPress and implements a support forum with following key features:
- Restrict the user capabilities on creation of topics, posting replies to topics and the visibility of topics and replies
- Extended searchform to filter the search results in the forums
- A flexible presale contact form routes requests to a forum topic and user recieves an E-Mail when answered
- A private data section to post critical data (only visible to topic creator and moderators)
- An announcement field (can be shown on various sections)
- Extend user capability to delete own account (including all topics and replies)
- Extend moderator capability to manage user accounts in frontend
- Close selected forums or all forums temporarily for new topics or user replies (moderator may still answer topics in backend)
Moderator – Backend:
The backend is completly ajax driven to speed up loading and response time.
- A "Support Request Queue Table" with FIFO sorting of topics not answered by a moderator (pushback due to multiply user replies is suppressed)
- Both HTML and Visual Editor (TinyMCE) available for replies
- Features to manage topics and replies like editing, closing, spam, trash, delete, …
- Additional buttons like "Submit, open next", "Submit and close", "Mark as read"
- Canned textblocks (= standard textblocks for replies) are available in both editors
- Comprehensive information about the user who posted a topic in the sidebar
- Extended searchform (similar to frontend) to search the forums
- "Deep linking" of topics to open topic in a single topic page
- Extend moderator capability to manage user accounts in backend
- Set moderators as inactive
- basic statistcs about users, topics and replies
The features, usage and instructions for the installation and setup of the options to customize the behaviour are described more closely in the following sections.
A moderated forum is a forum, where users may only reply to topics which they created. Only moderators may answer all topics. Other users get a message, that they are not allowed to answer to that topic.
It is possible to exclude moderator created topics from moderation to allow all users to answer to these topics.
It is possible to hide replies for non logged in users. In that case these users get a message, that replies exist to a topic and that they have to login to see the replies.
Extended Search Form
The standard bbPress search form is replaced with a form with following options:
- Limit search to one forum (or all forums)
- Select a period to search posts (last 3, 6, 9, 12, 24 months or all)
- Include or exclude subforums in search
- Search text field
The search procedure uses the standard WP search.
Presale Contact Form
The presale contact form can be inserted into a page or post with the shortcode [avia_supportsc_contact_form] or by appending it to the content of a selected page.
There are a lot of shortcode parameters to customize the contact form. They can be set in the shortcode or filtered with the WP filter "shortcode_atts_$name" (= "shortcode_atts_avia_supportsc_contact_form"). A description of the parameters are found in the defaults of the shortcode handler (function handler_avia_supportsc_contact_form in avia-supportclassesclass-avia-support-contact.php).
The content of the contact form can be routed to a forum, where a new topic is created. The forum can be moderated. The topic is invisible to other users, only moderators see the topic in the support request queue (marked as "contact form topic").
When a moderator answers the topic, the user is informed by E-Mail, that the topic had been answered and gets a link to the topic. This topic and replies now get visible to all other users.
This link the user recieves allows the user to reply to this moderator reply and follow up replies by a moderator in a moderated forum (the link creates a cookie, so follow up replies are limited to the device, which activated the link). The cookie expires after 30 days.
Private Data Field
Currently this is a textfield, where users and moderators can add private personal data to a topic or reply, e.g. links to their websites, login credentials or any other private information.
Pure HTML and adding codesnippets is supported only for moderators, all other users may post plain text only.
The visibility of this field follow the following rules:
- Moderators see private data fields from all users and all moderators
- Users only see their own private data fields
- Topic creator also see private data fields from moderators
- Contact form private data is only visible to contact form creator (when accessing topic with the E-Mail link or the device that opened the topic with the E-Mail link)
Support Request Queue
The support request queue page is located in the backend, accessible for moderators, keymasters and WP admins and can be opened with the submenulink "Support Queue" in "Avia Support" or directly from the Admin Menu Bar with "Support Request Queue". It is using ajax calls to reduce loading times.
After loading you find 2 tabs:
- All open topics
- New search
"All open topics" – Tab
The support request queue shows a list of topics from users (including topics, where the last reply is from a user, excluding topics, where the last reply is from a moderator or keymaster) in FIFO order (first in first come). If a user is posting several replies after a moderator reply, the first reply date after the moderator reply is used as sort date and not the last reply date (so no bumping back in the list !!!).
In background a timer monitors the topic states of the topics in the list with the server to give you information, if another moderator has made or is making changes:
- Refreshes the topic state icons in the list with the actual state on the server (e.g. from "Open Topic" to "Topic answered by a moderator")
- Send a "lock topic" message to the server when you open a topic so other moderators can see that another moderator is editing this topic. In that case the topic state icon changes to "Topic currently being edited" for the other moderators.
- When a topic has been answered, the icon changes to a green checkmark
To reduce server traffic and database access the intervals for that should not be to small (currently 20 sec. for refresh and 50 sec. for lock topic, only accessable with a filter). This results in some delay to see a possible change.
After loading the list the first 2 topics are preloaded (invisibly).
Clicking on a topic opens the topic and shows the replies to the topic. If there are more than 5 replies (option) a Show/Hide function is activated and only the last 2 last replies (option) are shown. The next topic is preloaded (invisibly in the background).
When a topic is open, the navigation bar shows a direct link to that topic. You can copy and use that link to open that topic directly – the support queue page is loaded and this topic is loaded in an additional tab (before the new search tab), this tab is activated and the topic is opened immidiatly. You can close this tab when finished and continue to work with the support request queue.
The following topic states are defined (and are displayed when hovering over the topic state icons):
- Open Topic – waiting for answer
- Contact Form Topic – waiting for answer
- Private Topic
- Hidden Topic
- Closed Topic
- Spammed Topic
- Trashed Topic
- Orphan Topic
- Topic currently being edited
- Deleted Topic
- Topic answered by a moderator
There is a dropdown menu (tool icon right corner) for each topic or reply with the following functions (not all are always available):
- Moderate/Do not moderate
- Reload topic
- Reply/Reply to this
- Open in frontend
The texteditors are the standard WP Editor (Text) and tinyMCE (Visual) with a media upload button. It is extended with a canned textblock feature.
When a topic is open, you find information about the user and his activity in the sidebar.
"New search" – Tab
The second tab is a new search tab using the extended search form.
Starting the search creates a result tab before the new search tab including the extended search form and the result topics or replies. You can start a new search in this tab if required or close it.
Clicking on the arrow left of the author name opens a new "Single Topic Tab" for that topic for editing or you may open the topic in frontend.
Canned Textblocks (Canned Response)
Canned textblocks (or Canned Response) allow to insert standardized textblocks at the cursorposition in the texteditor (WP Editor and tinyMCE). Currently this is limited to the editors in the support request queue.
Each textblock has a shortcode to quickly identify the textblock.
Textblocks can be public, public editable and private. User may change their own textblocks and public editable textblocks, keymaster and WP-Admins may edit all textblocks.
Create and edit a canned textblock
The canned textblock feature add submenus [Canned Text] to the menu Avia Support.
Goto WP Dashboard -> Avia Support -> All Canned Text -> Add New Canned Text button or WP Dashboard -> Avia Support -> Add New Canned Text.
- In the title line enter the shortcode (without the shortcode indicator).
- In the content enter the textblock to replace the shortcode.
- In the metabox "Additional Settings" you find a selectbox:
- Show to all moderators: visible to all moderators, but only creator can edit
- Show to all moderators (editable): visible to all moderators, and all moderators can edit
- Show to creator only: visible to creator only, only creator can edit
Canned textblock supports the quick edit function.
The canned textblock table (menu All Canned Text) has 2 additional select boxes to filter visibility and categories of canned text table.
"Ajax Search" or "Preload to client"
Use a button to insert canned textblocks
You find a button "Canned Response" in the WP Editor or a pencil icon with "Insert Canned Response" as tooltip in tinyMCE. When clicking, a popup window opens with a search textfield and a selectbox to filter the results.
Start typing in the searchfield (shortcode or text to search) and after 2 characters (option field "Ajax start search after") a search starts and shows results below. Keep typing to narrow the results.
You can use the "Arrow_Up" and "Arrow_Down" keys to scroll the selection through the result list. When you find the appropriate result in the list, press "Enter" key or click it and the text is inserted at the cursor position. You may change the cursorposition before selecting the textblock.
Close the search window if you want to finish search without selecting a textblock.
Use "shortcode indicator" when typing to insert canned textblocks
After entering the first "shortcode indicator" the shortcode mode is entered and the button is hidden and become visible again, when the shortcode mode is finished.
Using 2 characters: any other character than the second "shortcode indicator" end the shortcode mode at once and the textblock button is visible again.
At any time you can press Escape or special characters to finish shortcode mode – the textblock button is visible again. (Remark: Currently german characters Ä,Ö,Ü,ä,ö,ü are treated as special character and end the shortcode mode in some browsers – e.g. Firefox does not return these values in keyup but only in keypress event and this ends the shortcode mode).
Continue typing the shortcode you want – you can use backspace to make corrections when typing.
You have options to show or hide a popup with the results and after how many typed characters to start the search (e.g. –thx will return all shortcodes that start with thx). Keep typing to narrow the result list. You may use the "Arrow_Up" and "Arrow_Down" keys to scroll the selection through the result list, when the popup window is shown.
Pressing "Enter" or "Space" end the shortcode mode. An option ("Shortcode Result") follows the following logic (no matter, if popup is visible or not):
- must exactly match: The typed shortcode is replaced with the textblock, when this shortcode is found in resultlist
- use selected result: The first result is selected by default (you may scroll through the list) – the selected result replaces the typed shortcode
An empty resultlist (or exact shortcode not found) leaves the typed text unchanged.
When the popup is displayed, you may also click on the resultline to replace the typed shortcode – setting option "Shortcode Result" is ignored.
Extended Account Management
Users may delete their own account with a button on their Users Profile Edit Page.
By default moderators are blocked from the frontend Users Profile Edit Page and from the backend Users Page.
You can give moderators the capabaility to get access to these pages and modify the user profile and delete their account.
It is also possible to set a moderator account to "inactiv moderator account" (On WP User profile page look for "Avia Support User Management"). This account is blocked for new replies but old replies are marked as "Inactive Moderator" and the topic is marked as replied.
Plugin Internal Data and Datatables
This plugin is intended to support forums with much traffic. In such a forum the datatable for posts can have million of records. Having complex database queries this amount of data slows down the response time dramatically.
As a workaround this plugin extends the default WordPress datastructures with a "Moderator list" and a "Support Request Queue Index" and additional SQL datatables for the statistics.
These structures have to be indexed once when activating the plugin and are maintained by the plugin continuously. It is possible to rebuild these structures at any time manually.
Building these structures in a single step will result in server timeout problems in large databases. To avoid this, the plugin uses ajax callbacks and gives the user feedback about the progress.
For more information about this see Manual Update Feature (espacially about handling interruption).
The plugin provides the following basic forum statistics (periods of time can be filtered):
- Generic forum statistics (total of users, topics, replies)
- Number of user registrations
- Number of new threads (= topics) and replies
The forum statistics dashboard can be opened with the submenulink "Statistics" in "Avia Support"
Activation, Setup, Deactivation, Uninstall
This plugin is based on the plugin bbPress and there are extension plugins that need php code from this plugin.
We recommend to avoid the bulk features of WP on the plugin page with these plugins. Use plugin specific operations instead and use the following order:
Activating the Plugin and Setup:
- Install and activate bbPress
- Setup the bbPress moderators
- Install and activate this plugin
- If you are using the extension plugin "Avia Support Pro" install and activate this plugin. Not mandatory, but it helps to speed up building plugin specific SQL datatables especially in large databases.
- If you are using other extension plugins check, when it is safe to install and activate these plugins
- In the admin notice field area you find a message to setup plugin internal data and datatables for "Avia Support" plugin. Click button "Start setup process now" and wait for the finished update message – do not reload the page as this will stop the process.
If interrupted (e.g. loss of internet connection) after page reload you get a message and can continue or restart. For more information see Manual Update Feature
- Setup the required forum structure, set the forum options for this plugin
- Open the settings page for this plugin, read section Admin Panel and Settings Page and following sections to get familiar with the options of this plugin
- Setup a Presale Contact Form page (if needed)
- Check all the options and and make your changes – do not forget to press "Save" when finished
- If you are using other extension plugins not already activated, activate them now and check for manual update notices in the admin notice field area
Deactivating the plugin:
- Dectivate all depending plugins first
- Dectivate Avia Support
- Dectivate bbPress
Deleting the plugin:
- Delete all depending plugins first because they might need code from plugin Avia Support to delete objects
- Delete Avia Support
- Delete bbPress
The following feature is also implemented in all our extension plugins.
- The internal plugin version value is the same as found in the WP plugin page (= "Version:" in header of main plugin file)
- The update function is implemented as an incremental updater, that means, you can skip versions
- It is not necessary to deactivate the plugin for updating to a new version. Simply copy the new files in the plugin directory (e.g. with FTP).
It is highly recommended to put WordPress into maintenance mode during uploading the new plugins files with FTP to avoid white screens for users in frontend and breaking data consistency.
- If the changing in data structures or databases allow a save fallback to a previous version, this can be done by copying the plugin files of the previous version in the plugin directory (only the version history files must be kept up to the latest version (= folder …./updates)
- Version changes are detected automatically on pageload of any page
- Frontend and Backend:
- Update actions are logged in the event log
Maintenance Mode Page:
When a version change is detected and the logic to update internal data is critical and using the plugin might lead to inconsistent data, users and/or moderators are blocked from work in the forum until update is finished:
- a simple default "Plugin in Maintenance Mode" message is displayed
- this default message can be modified with a WordPress filter
- you can reroute the user to a specific "Maintenance Mode Page" which can be set with an option in the plugin settings page
This behaviour can be supressed during parts of the update process, when it is safe to continue to work in the forum (e.g. when creating an index).
Administrators are never blocked, users and/or moderators are blocked from frontend and backend.
Auto Update Feature:
Small updates (= not time critical updates) are handled automatically in background when a version change is recognised, no matter which user is loading a page (frontend and backend).
Manual Update Feature:
Time critical updates like database updates in large databases that might lead to server timeout problems have to be started manually by an administrator or a user, that has capability "activate_plugins".
In backend in the admin notice area the administrator gets informed about the necessity to perform the update. These updates are done with ajax calls in a loop. User gets continuous feedback about the progress and what is currently done and the next step.
Clicking the "Start Update Process Now" button starts and performs all necessary steps to initialise the plugin or update from the current version to the new version (including updates from skipped versions).
On loading or reloading an admin page there is a check, if an update is currently running – the update process might have been interrupted (e.g. loosing the internet connection).
In case of a positive check the administrator gets information about the last activity time of the update and additionally about a possible interruption, if the last activity is older than 5 minutes, an additional button “Continue Update Process Now” is displayd. The admin can decide to reload the page to check the last activity time again or to continue or to restart the update process.
Admin Panel and Settings Page (Plugin options)
This plugin adds the menu "Avia Support" to the WP admin menu below WP Settings menu.
The link to the settings page with all the options and all other necessary links are found as submenus (extension plugins should add all their specific links as submenus).
The settings page is opened with the link "Settings" and consists of several tabs, each for a specific feature. You may change several tabs and all your changes are saved at once (with ajax call).
The options in the tabs are described in the following sections.
|Use bbPress default settings:||By default moderators and keymasters have no access to the user profile page in backend or the user profile edit page in the frontend (unless changed by some other plugin).|
|Allow to manage user profile:||Moderators (or keymaster) get access to the user profile page in backend and the user profile edit page in the frontend. The user profile edit page in frontend is also extended with a "Danger Section" with a "Delete User Account" button to delete all topics, all replies and the account of that user|
|Use bbPress default settings:||By default users are not allowed to delete their account (unless changed by some other plugin).|
|Allow to delete own account:||The user profile edit page in frontend is extended with a "Danger Section" with a "Delete my Account" button to delete all topics, all replies and the account|
Up to WP 4.2 the capabilities of a user are stored in a way that do not allow a fast database query in large databases. To speed up the query process this plugin maintains a list of registered moderators and keymasters in the forum as an option field.
- Activating the plugin, this list is built when button "Start setup process now" is clicked.
- After that the list is maintained by the plugin, when a moderator/keymaster is added or removed.
- You can click this button any time to refresh the list manually when moderators or keymasters are missing (a list of the registered moderators or keymaster can be found in the sidebar of the support request queue page)
You find an additional "Update Moderators" button on the admin users page (WP Dashboard -> Users) above the users table.
Index Support Queue:
The support request queue orders the open topics depending on the last reply date from a customer to a topic. This leads to the problem, that topics are pushed back, when a client posts several replies after the last moderator answer.
To avoid this, the plugin searches the first reply date after the last moderator reply and orders the list with this date. In large databases this complex database query leads to an unacceptable response time.
To speed up the plugin maintains an own "index" (in the postmeta of the topic).
Use the button in settings page:
- Activating the plugin, this index is built when button "Start setup process now" is clicked. Depending on the amount of topics and replies in an existing forum this can be a lengthly operation. So please be patient.
- After that the index is maintained by the plugin, when a new topic is inserted or a reply is added.
- You can click this button any time to refresh the index manually, if you have the feeling, that the support request queue list is incomplete. Keep in mind: Depending on the amount of topics and replies this can be a lengthly operation. So please be patient.
Use information panel on support request queue page:
If the index has not been built, is in building or is in an inconsistent state opening the support request queue shows an information panel only. This panel can be customized with filters to give additional information to the user depending on the state and progress of initialization (see file avia-supportclassespanelsclass-av-supp-panel-index-info.php).
It is possible to start creating a new index from this panel. When initialization is in progress or has already been started by another moderator the button "Start building the index" is grayed and disabled. When finished, the button "The index is ready now – display open threads" allows to open the support request queue.
Create Calender Table:
This table is needed by the statistics to have a complete calendar with additional information about a date and allows to show dates with 0 entries in the result query. The table has a static content.
- Activating the plugin, this table is built when button "Start setup process now" is clicked.
- You can click this button any time to recreate this table manually.
Create Statistics Table:
This table helps to speed up queries for the statistics (it is extended with additional columns by the plugin Avia Support Pro).
- Activating the plugin, this table is built and indexed when button "Start setup process now" is clicked. Depending on the amount of topics and replies in an existing forum this can be a lengthly operation. So please be patient.
- After that the table content is maintained by the plugin, when a new topic is inserted or a reply is added.
- You can click this button any time to rebuild the table manually, if you have the feeling, that the results are incorrect. Keep in mind: Depending on the amount of topics and replies this can be a lengthly operation. So please be patient.
Clean Up Tab
|Deactivation:||Leave unchecked in production environment !! When checked, all objects checked in section "Remove Objects" will be deleted permanently when deactivating the plugin. This is usefull for a testsite if you want to reset the database and do not want to uninstall the plugin.|
|Uninstall Clean Up:||When checked, all objects checked in section "Remove Objects" will be deleted permanently when uninstalling the plugin. This is usefull to keep objects in case you want to install the plugin later.|
|Remove Objects:||Select all objects to be removed permanently from database.|
Search Form Tab
In the tab “Search Form” you find the following options:
|Search Field:||Check to show extended search form on forum pages, otherwise standard bbPress form is used.|
|Skip empty forums:||Check to skip empty forums in the selectbox for available forums to search.|
|Show Topic count:||Check to show topic count in the selectbox for available forums.|
|Show Replies count:||Check to show replies count in the selectbox for available forums.|
Presale Contact Form Tab
In the tab "Presale Contact Form" you find the following options:
|Contact Form Redirection:||If checked, the contact form is routed to a forum (a preselected or selectable by the user) and a new topic is created|
|Default E-Mail:||E-Mail to send information, when a new contact form topic was created (Shortcode parameter send_me_copy="yes") or when redirection is disabled.|
|PreSelect a forum:||
"Let user select a forum" shows a selectbox in the contact form, where the user may choose a forum.
If a forum is selected here, all request are redirected to this forum and the user does not see a selectbox with the forums (and he does not know the forum, where the topic is created).
|Show form on page:||"Do not append to a page" – you can put your shortcode wherever you want to have the contactform. If you select a page, the contactform is added at the end of the pagecontent with the default content (use WP filter to change the default settings – see above).|
Private Data Field Tab
If the option is checked, private data is enabled and users and moderators can add personal data to a topic or reply.
Support Request Queue Tab
In the tab "Support Request Queue" you find the following options:
|Show unreplied topics (last .. days):||Limits the topics with no moderator reply in the list. The last reply must be in the range from today to today minus this number of days.|
|Topics per page:||Number of topics to be displayed on a page.|
|Replies per topic page:||Number of replies per topic on a page when the topic is open.|
|Hide Replies:||Number of replies for a topic to activate "Show/Hide replies" function for this topic when open.|
|Remaining Replies shown:||Number of replies for a topic to show, when "Hide replies" is active.|
|Exclude forums:||Select the forums you do not want to have in the support request queue.|
The following important options are "hidden" options and can only be changed with a filter:
|[‘support_queue’][‘refresh_topic_list’]||Time in seconds to refresh the state of topics in the list with the server and change the icons in list (does not reload the topics !). Default = 20. Set to 0 to disable. This feature adds additional traffic and database requests, which can slow down a support forum with heavy traffic and a large database, if this value is too small.|
|[‘support_queue’][‘lock_topics_topic_list’]||Time in seconds to send a lock topic request to the server for a topic you are currently editing (should match wp_check_post_lock), so other moderators can be informed that you are editing a request (the icon in the list changes to "Topic currently being edited" for the other moderators). Default = 150. Set to 0 to disable. This feature adds additional traffic and database requests, which can slow down a support forum with heavy traffic and a large database, if this value is too small.|
|[‘support_queue’][‘lock_topic_time’]||Time in seconds a topic is marked as “in-edit” when recieving a “lock topic” request|
In the forum tab you can set the announcement content and you find a list of all created forums and selectboxes to set options for a forum:
|Announcement:||Enter the text you want to display. Pure HTML and codesnippets are supported.|
|Select announcement locations:||Multiple selectbox – choose the location, where to display the announcement.|
|not moderated:||This is the standard bbPress behaviour. Users can reply to all topics.|
|moderated:||Only the creator of a topic and moderators or keymaster may create replies to a topic in this forum.|
|use default setting:||Use the setting of the "Default setting for all forums" line.|
|close:||Close this forum in frontend. No more topics or replies can be created in frontend. Backend is still open for moderators.|
|close all:||Close all forums in frontend and ignore any forum specific setting. Backend is still open for moderators.|
|close "use default":||Close all forums that have the setting "use default" in frontend. Backend is still open for moderators.|
Moderator Topics Moderation:
|Moderator topics not moderated:||In a moderated forum topics created by a moderator are not moderated – all users can reply to that topic. In a not moderated forum this setting is ignored.|
|Moderator topics moderated:||In a moderated forum topics created by a moderator are moderated – only moderators and keymaster can answer to that topic. In a not moderated forum this setting is ignored.|
|use default setting:||Use the setting of the "Default setting for all forums" line.|
|Show replies to all users:||This is the default bbPress behaviour. Topics and replies are visible to all users.|
|Show replies to logged in users only:||Replies are visible to logged in users only. Not logged in users get a message, that there are a number of replies and that they have to login to see the replies in this forum.|
|use default setting:||Use the setting of the "Default setting for all forums" line.|
Editing a single forum:
If you open a forum for editing (WP Dashboard -> Forums -> edit a forum) in the "Avia Support Forum" metabox you find information about the default settings for forums and 3 select boxes similar to the settings page:
Canned Textblocks (Canned Response) Tab
In the "Canned Text" tab you find the following options (some of these options are hidden):
|Preload Canned Responses:||
|Shortcode Indicator:||You can define 1 or 2 characters as shortcode indicator. By default it is "–".|
|Shortcode start search after:||Number of characters needed before the ajax search starts in shortcode mode.|
|Ajax start search after:||Number of characters needed to enter in the search box in the popup window before the ajax search starts.|
Shows or hides the result popup window when typing the shortcode. Entering "Space" or "Enter" ends the shortcode mode and selects a result depending on option "Shortcode Result" and closes the popup. There is no need to select a result directly to close the window.
By default the first result line is selected. You can use "Arrow_Up" and "Arrow_Down" keys to scroll through the resultlist and change the selection. Clicking on a result line overrules this setting !
|Result Lines:||Maximum number of result lines returned by the search. If more are left, a message at the end of the list is shown, how many not displayed results remain. There is currently no possibility to load more of the remaining results – you have to narrow the search by typing more characters.|
This section contains useful inside code information.
Options for this plugin are stored in associative arrays. To avoid calls to isset, to ensure startup default values and to make customization easier loading the options are handled in functions, where it is possible to filter the option array and values on loading the options:
- class Avia_Support::get_main_plugin_options
- class Avia_Support_Canned_Text::get_options_default
There are also some "hidden options", that cannot be accessed via the settings page.