This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
footnotes/includes/plugin-settings.php
Aricura d25f770bc5 - Update: Global styling for the public plugin name
- Update: Easier usage of the public plugin name in translations
- Update: New Layout for the settings page to group similar settings to get a better overview
- Update: Display settings submit button only if there is at least 1 editable setting in the current tab
- Add: setting where the reference container appears on public pages (needs some corrections!)
- Bugfix: displays only one reference container in front of the footer on category pages

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@918851 b8457f37-d9ea-0310-8a92-e5e31aec5664
2014-05-21 18:33:26 +00:00

85 lines
2.6 KiB
PHP

<?php
/**
* Created by Stefan Herndler.
* User: Stefan
* Date: 15.05.14
* Time: 16:21
* Version: 1.0-beta
* Since: 1.0
*/
/**
* add short links to the plugin main page
* @since 1.0
* @param array $links
* @param mixed $file
* @return array
*/
function footnotes_plugin_settings_link($links, $file)
{
/* add link to the /forms.contact plugin's settings page */
$settings_link = '<a href="' . admin_url('options-general.php?page=' . FOOTNOTES_SETTINGS_PAGE_ID) . '">' . __('Settings', FOOTNOTES_PLUGIN_NAME) . '</a>';
array_unshift($links, $settings_link);
/* return new links */
return $links;
}
/**
* reads a option field, filters the values and returns the filtered option array
* fallback to default value since 1.0-gamma
* @since 1.0
* @param string $p_str_OptionsField
* @param array $p_arr_DefaultValues
* @param bool $p_bool_ConvertHtmlChars
* @return array
*/
function footnotes_filter_options($p_str_OptionsField, $p_arr_DefaultValues, $p_bool_ConvertHtmlChars = true)
{
$l_arr_Options = get_option($p_str_OptionsField);
/* loop through all keys in the array and filters them */
foreach ($l_arr_Options as $l_str_Key => $l_str_Value) {
/* removes special chars from the settings value */
$l_str_Value = stripcslashes($l_str_Value);
/* if set, convert html special chars */
if ($p_bool_ConvertHtmlChars) {
$l_str_Value = htmlspecialchars($l_str_Value);
}
/* check if settings value is not empty, otherwise load the default value, or empty string if no default is defined */
if (!empty($l_str_Value)) {
$l_arr_Options[$l_str_Key] = stripcslashes($l_str_Value);
/* check if default value is defined */
} else if (array_key_exists($l_str_Key, $p_arr_DefaultValues)) {
$l_arr_Options[$l_str_Key] = $p_arr_DefaultValues[$l_str_Key];
} else {
$l_arr_Options[$l_str_Key] = "";
}
}
/* returns the filtered array */
return $l_arr_Options;
}
/**
* converts a string depending on its value to a boolean
* @since 1.0-beta
* @param string $p_str_Value
* @return bool
*/
function footnotes_ConvertToBool($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;
}