2014-05-20 11:33:11 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Created by Stefan Herndler.
|
|
|
|
* User: Stefan
|
|
|
|
* Date: 15.05.14
|
|
|
|
* Time: 16:21
|
2014-05-20 11:38:36 +00:00
|
|
|
* Version: 1.0-beta
|
2014-05-20 11:33:11 +00:00
|
|
|
* 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
|
2014-05-20 11:42:07 +00:00
|
|
|
* fallback to default value since 1.0-gamma
|
2014-05-20 11:33:11 +00:00
|
|
|
* @since 1.0
|
|
|
|
* @param string $p_str_OptionsField
|
2014-05-20 11:42:07 +00:00
|
|
|
* @param array $p_arr_DefaultValues
|
Version 1.0.4
* Updated replacing function when footnote is a link (bugfix)
* Footnote hover box remains until cursor leaves footnote or hover box
* Links in the footnote hover box are click able
* New setting to allow footnotes on Summarized Posts
* New setting to tell the world you're using footnotes plugin
* New setting for the counter style of the footnote index
** Arabic Numbers (1, 2, 3, 4, 5, ...)
** Arabic Numbers leading 0 (01, 02, 03, 04, 05, ...)
** Latin Characters lower-case (a, b, c, d, e, ...)
** Latin Characters upper-case (A, B, C, D, E, ...)
** Roman Numerals (I, II, III, IV, V, ...)
* Adding a link to the WordPress plugin in the footer if the WP-admin accepts it
* Updated translations for the new settings
* re-changed the version number to have 3 digits
git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@917816 b8457f37-d9ea-0310-8a92-e5e31aec5664
2014-05-20 11:44:38 +00:00
|
|
|
* @param bool $p_bool_ConvertHtmlChars
|
2014-05-20 11:33:11 +00:00
|
|
|
* @return array
|
|
|
|
*/
|
Version 1.0.4
* Updated replacing function when footnote is a link (bugfix)
* Footnote hover box remains until cursor leaves footnote or hover box
* Links in the footnote hover box are click able
* New setting to allow footnotes on Summarized Posts
* New setting to tell the world you're using footnotes plugin
* New setting for the counter style of the footnote index
** Arabic Numbers (1, 2, 3, 4, 5, ...)
** Arabic Numbers leading 0 (01, 02, 03, 04, 05, ...)
** Latin Characters lower-case (a, b, c, d, e, ...)
** Latin Characters upper-case (A, B, C, D, E, ...)
** Roman Numerals (I, II, III, IV, V, ...)
* Adding a link to the WordPress plugin in the footer if the WP-admin accepts it
* Updated translations for the new settings
* re-changed the version number to have 3 digits
git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@917816 b8457f37-d9ea-0310-8a92-e5e31aec5664
2014-05-20 11:44:38 +00:00
|
|
|
function footnotes_filter_options( $p_str_OptionsField, $p_arr_DefaultValues, $p_bool_ConvertHtmlChars=true )
|
2014-05-20 11:33:11 +00:00
|
|
|
{
|
|
|
|
$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 ) {
|
2014-05-20 11:42:07 +00:00
|
|
|
/* removes special chars from the settings value */
|
|
|
|
$l_str_Value = stripcslashes( $l_str_Value );
|
Version 1.0.4
* Updated replacing function when footnote is a link (bugfix)
* Footnote hover box remains until cursor leaves footnote or hover box
* Links in the footnote hover box are click able
* New setting to allow footnotes on Summarized Posts
* New setting to tell the world you're using footnotes plugin
* New setting for the counter style of the footnote index
** Arabic Numbers (1, 2, 3, 4, 5, ...)
** Arabic Numbers leading 0 (01, 02, 03, 04, 05, ...)
** Latin Characters lower-case (a, b, c, d, e, ...)
** Latin Characters upper-case (A, B, C, D, E, ...)
** Roman Numerals (I, II, III, IV, V, ...)
* Adding a link to the WordPress plugin in the footer if the WP-admin accepts it
* Updated translations for the new settings
* re-changed the version number to have 3 digits
git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@917816 b8457f37-d9ea-0310-8a92-e5e31aec5664
2014-05-20 11:44:38 +00:00
|
|
|
/* if set, convert html special chars */
|
|
|
|
if ($p_bool_ConvertHtmlChars) {
|
|
|
|
$l_str_Value = htmlspecialchars( $l_str_Value );
|
|
|
|
}
|
2014-05-20 11:42:07 +00:00
|
|
|
/* 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 ] = "";
|
|
|
|
}
|
2014-05-20 11:33:11 +00:00
|
|
|
}
|
|
|
|
/* returns the filtered array */
|
|
|
|
return $l_arr_Options;
|
2014-05-20 11:38:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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;
|
2014-05-20 11:33:11 +00:00
|
|
|
}
|