traceability update 2.5.6d1 revert space indent to tab.
git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2477300 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
parent
177841be4b
commit
7f5499723b
51 changed files with 7494 additions and 7494 deletions
110
class/config.php
110
class/config.php
|
@ -9,7 +9,7 @@
|
|||
* Edited for:
|
||||
* 2.0.4 add Public Plugin name for dashboard heading 2020-11-01T0452+0100
|
||||
*
|
||||
* Last modified: 2020-12-08T2032+0100
|
||||
* Last modified: 2021-02-18T2027+0100
|
||||
*/
|
||||
|
||||
|
||||
|
@ -21,63 +21,63 @@
|
|||
*/
|
||||
class MCI_Footnotes_Config {
|
||||
|
||||
/**
|
||||
* Internal Plugin name.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_PLUGIN_NAME = "footnotes";
|
||||
/**
|
||||
* Internal Plugin name.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_PLUGIN_NAME = "footnotes";
|
||||
|
||||
/**
|
||||
* Public Plugin name.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*
|
||||
* edited classes for v2.0.4
|
||||
*/
|
||||
const 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.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*
|
||||
* edited classes for v2.0.4
|
||||
*/
|
||||
const 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 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 = '<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
|
||||
*
|
||||
* 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 = '<span class="footnotes_logo_heading footnotes_logo_part1_heading">foot</span><span class="footnotes_logo_heading footnotes_logo_part2_heading">notes</span>';
|
||||
|
||||
/**
|
||||
* Html tag for the LOVE symbol.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_LOVE_SYMBOL = '<span style="color:#ff6d3b; font-weight:bold;">♥</span>';
|
||||
/**
|
||||
* Html tag for the LOVE symbol.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_LOVE_SYMBOL = '<span style="color:#ff6d3b; font-weight:bold;">♥</span>';
|
||||
|
||||
/**
|
||||
* HTML code for the 'love' symbol used in dashboard heading
|
||||
*
|
||||
* @since 2.0.4
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_LOVE_SYMBOL_HEADING = '<span class="footnotes_heart_heading">♥</span>';
|
||||
/**
|
||||
* HTML code for the 'love' symbol used in dashboard heading
|
||||
*
|
||||
* @since 2.0.4
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_LOVE_SYMBOL_HEADING = '<span class="footnotes_heart_heading">♥</span>';
|
||||
|
||||
/**
|
||||
* Short code to DON'T display the 'LOVE ME' slug on certain pages.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_NO_LOVE_SLUG = '[[no footnotes: love]]';
|
||||
/**
|
||||
* Short code to DON'T display the 'LOVE ME' slug on certain pages.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_NO_LOVE_SLUG = '[[no footnotes: love]]';
|
||||
}
|
||||
|
|
|
@ -16,197 +16,197 @@
|
|||
*/
|
||||
class MCI_Footnotes_Layout_Init {
|
||||
|
||||
/**
|
||||
* Slug for the Plugin main menu.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_MAIN_MENU_SLUG = "mfmmf";
|
||||
/**
|
||||
* Slug for the Plugin main menu.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_MAIN_MENU_SLUG = "mfmmf";
|
||||
|
||||
/**
|
||||
* Plugin main menu name.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_MAIN_MENU_TITLE = "ManFisher";
|
||||
/**
|
||||
* Plugin main menu name.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_MAIN_MENU_TITLE = "ManFisher";
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var array
|
||||
*/
|
||||
private $a_arr_SubPageClasses = array();
|
||||
/**
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var array
|
||||
*/
|
||||
private $a_arr_SubPageClasses = array();
|
||||
|
||||
/**
|
||||
* Class Constructor. Initializes all WordPress hooks for the Plugin Settings.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function __construct() {
|
||||
// iterate through each class define in the current script
|
||||
foreach(get_declared_classes() as $l_str_ClassName) {
|
||||
// accept only child classes of the layout engine
|
||||
if(is_subclass_of($l_str_ClassName, 'MCI_Footnotes_LayoutEngine')) {
|
||||
/** @var MCI_Footnotes_LayoutEngine $l_obj_Class */
|
||||
$l_obj_Class = new $l_str_ClassName();
|
||||
// append new instance of the layout engine sub class
|
||||
$this->a_arr_SubPageClasses[$l_obj_Class->getPriority()] = $l_obj_Class;
|
||||
}
|
||||
}
|
||||
ksort($this->a_arr_SubPageClasses);
|
||||
/**
|
||||
* Class Constructor. Initializes all WordPress hooks for the Plugin Settings.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function __construct() {
|
||||
// iterate through each class define in the current script
|
||||
foreach(get_declared_classes() as $l_str_ClassName) {
|
||||
// accept only child classes of the layout engine
|
||||
if(is_subclass_of($l_str_ClassName, 'MCI_Footnotes_LayoutEngine')) {
|
||||
/** @var MCI_Footnotes_LayoutEngine $l_obj_Class */
|
||||
$l_obj_Class = new $l_str_ClassName();
|
||||
// append new instance of the layout engine sub class
|
||||
$this->a_arr_SubPageClasses[$l_obj_Class->getPriority()] = $l_obj_Class;
|
||||
}
|
||||
}
|
||||
ksort($this->a_arr_SubPageClasses);
|
||||
|
||||
// register hooks/actions
|
||||
add_action('admin_init', array($this, 'initializeSettings'));
|
||||
add_action('admin_menu', array($this, 'registerMainMenu'));
|
||||
// register AJAX callbacks for Plugin information
|
||||
add_action("wp_ajax_nopriv_footnotes_getPluginInfo", array($this, "getPluginMetaInformation"));
|
||||
add_action("wp_ajax_footnotes_getPluginInfo", array($this, "getPluginMetaInformation"));
|
||||
}
|
||||
// register hooks/actions
|
||||
add_action('admin_init', array($this, 'initializeSettings'));
|
||||
add_action('admin_menu', array($this, 'registerMainMenu'));
|
||||
// register AJAX callbacks for Plugin information
|
||||
add_action("wp_ajax_nopriv_footnotes_getPluginInfo", array($this, "getPluginMetaInformation"));
|
||||
add_action("wp_ajax_footnotes_getPluginInfo", array($this, "getPluginMetaInformation"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes all sub pages and registers the settings.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function initializeSettings() {
|
||||
MCI_Footnotes_Settings::instance()->RegisterSettings();
|
||||
// iterate though each sub class of the layout engine and register their sections
|
||||
/** @var MCI_Footnotes_LayoutEngine $l_obj_LayoutEngineSubClass */
|
||||
foreach($this->a_arr_SubPageClasses as $l_obj_LayoutEngineSubClass) {
|
||||
$l_obj_LayoutEngineSubClass->registerSections();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Initializes all sub pages and registers the settings.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function initializeSettings() {
|
||||
MCI_Footnotes_Settings::instance()->RegisterSettings();
|
||||
// iterate though each sub class of the layout engine and register their sections
|
||||
/** @var MCI_Footnotes_LayoutEngine $l_obj_LayoutEngineSubClass */
|
||||
foreach($this->a_arr_SubPageClasses as $l_obj_LayoutEngineSubClass) {
|
||||
$l_obj_LayoutEngineSubClass->registerSections();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers the new main menu for the WordPress dashboard.
|
||||
* Registers all sub menu pages for the new main menu.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @see http://codex.wordpress.org/Function_Reference/add_menu_page
|
||||
*/
|
||||
public function registerMainMenu() {
|
||||
global $menu;
|
||||
// iterate through each main menu
|
||||
foreach($menu as $l_arr_MainMenu) {
|
||||
// iterate through each main menu attribute
|
||||
foreach($l_arr_MainMenu as $l_str_Attribute) {
|
||||
// main menu already added, append sub pages and stop
|
||||
if ($l_str_Attribute == self::C_STR_MAIN_MENU_SLUG) {
|
||||
$this->registerSubPages();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Registers the new main menu for the WordPress dashboard.
|
||||
* Registers all sub menu pages for the new main menu.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @see http://codex.wordpress.org/Function_Reference/add_menu_page
|
||||
*/
|
||||
public function registerMainMenu() {
|
||||
global $menu;
|
||||
// iterate through each main menu
|
||||
foreach($menu as $l_arr_MainMenu) {
|
||||
// iterate through each main menu attribute
|
||||
foreach($l_arr_MainMenu as $l_str_Attribute) {
|
||||
// main menu already added, append sub pages and stop
|
||||
if ($l_str_Attribute == self::C_STR_MAIN_MENU_SLUG) {
|
||||
$this->registerSubPages();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add a new main menu page to the WordPress dashboard
|
||||
add_menu_page(
|
||||
self::C_STR_MAIN_MENU_TITLE, // page title
|
||||
self::C_STR_MAIN_MENU_TITLE, // menu title
|
||||
'manage_options', // capability
|
||||
self::C_STR_MAIN_MENU_SLUG, // menu slug
|
||||
array($this, "displayOtherPlugins"), // function
|
||||
plugins_url('footnotes/img/main-menu.png'), // icon url
|
||||
null // position
|
||||
);
|
||||
$this->registerSubPages();
|
||||
}
|
||||
// add a new main menu page to the WordPress dashboard
|
||||
add_menu_page(
|
||||
self::C_STR_MAIN_MENU_TITLE, // page title
|
||||
self::C_STR_MAIN_MENU_TITLE, // menu title
|
||||
'manage_options', // capability
|
||||
self::C_STR_MAIN_MENU_SLUG, // menu slug
|
||||
array($this, "displayOtherPlugins"), // function
|
||||
plugins_url('footnotes/img/main-menu.png'), // icon url
|
||||
null // position
|
||||
);
|
||||
$this->registerSubPages();
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers all SubPages for this Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
private function registerSubPages() {
|
||||
// first registered sub menu page MUST NOT contain a unique slug suffix
|
||||
// iterate though each sub class of the layout engine and register their sub page
|
||||
/** @var MCI_Footnotes_LayoutEngine $l_obj_LayoutEngineSubClass */
|
||||
foreach($this->a_arr_SubPageClasses as $l_obj_LayoutEngineSubClass) {
|
||||
$l_obj_LayoutEngineSubClass->registerSubPage();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Registers all SubPages for this Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
private function registerSubPages() {
|
||||
// first registered sub menu page MUST NOT contain a unique slug suffix
|
||||
// iterate though each sub class of the layout engine and register their sub page
|
||||
/** @var MCI_Footnotes_LayoutEngine $l_obj_LayoutEngineSubClass */
|
||||
foreach($this->a_arr_SubPageClasses as $l_obj_LayoutEngineSubClass) {
|
||||
$l_obj_LayoutEngineSubClass->registerSubPage();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays other Plugins from the developers.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function displayOtherPlugins() {
|
||||
printf("<br/><br/>");
|
||||
// load template file
|
||||
$l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "manfisher");
|
||||
echo $l_obj_Template->getContent();
|
||||
/**
|
||||
* Displays other Plugins from the developers.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function displayOtherPlugins() {
|
||||
printf("<br/><br/>");
|
||||
// load template file
|
||||
$l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "manfisher");
|
||||
echo $l_obj_Template->getContent();
|
||||
|
||||
printf('<em>visit <a href="https://cheret.de/plugins/footnotes-2/" target="_blank">Mark Cheret</a></em>');
|
||||
printf("<br/><br/>");
|
||||
|
||||
printf('</div>');
|
||||
}
|
||||
printf('<em>visit <a href="https://cheret.de/plugins/footnotes-2/" target="_blank">Mark Cheret</a></em>');
|
||||
printf("<br/><br/>");
|
||||
|
||||
/**
|
||||
* AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function getPluginMetaInformation() {
|
||||
// get plugin internal name from POST data
|
||||
$l_str_PluginName = array_key_exists("plugin", $_POST) ? $_POST["plugin"] : null;
|
||||
if (empty($l_str_PluginName)) {
|
||||
echo json_encode(array("error" => "Plugin name invalid."));
|
||||
exit;
|
||||
}
|
||||
$l_str_Url = "https://api.wordpress.org/plugins/info/1.0/".$l_str_PluginName.".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 json_encode(array("error" => "Error receiving Plugin Information from WordPress."));
|
||||
exit;
|
||||
}
|
||||
if (!array_key_exists("body", $l_arr_Response)) {
|
||||
echo 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 json_encode(array("error" => "Error reading Plugin meta information.<br/>URL: " . $l_str_Url . "<br/>Response: " . $l_str_Response));
|
||||
exit;
|
||||
}
|
||||
printf('</div>');
|
||||
}
|
||||
|
||||
$l_int_NumRatings = 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);
|
||||
/**
|
||||
* AJAX call. returns a JSON string containing meta information about a specific WordPress Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function getPluginMetaInformation() {
|
||||
// get plugin internal name from POST data
|
||||
$l_str_PluginName = array_key_exists("plugin", $_POST) ? $_POST["plugin"] : null;
|
||||
if (empty($l_str_PluginName)) {
|
||||
echo json_encode(array("error" => "Plugin name invalid."));
|
||||
exit;
|
||||
}
|
||||
$l_str_Url = "https://api.wordpress.org/plugins/info/1.0/".$l_str_PluginName.".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 json_encode(array("error" => "Error receiving Plugin Information from WordPress."));
|
||||
exit;
|
||||
}
|
||||
if (!array_key_exists("body", $l_arr_Response)) {
|
||||
echo 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 json_encode(array("error" => "Error reading Plugin meta information.<br/>URL: " . $l_str_Url . "<br/>Response: " . $l_str_Response));
|
||||
exit;
|
||||
}
|
||||
|
||||
// return Plugin information as JSON encoded string
|
||||
echo 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", MCI_Footnotes_Config::C_STR_PLUGIN_NAME) . " " . $l_int_NumRatings . " " . __("ratings", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||
"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_NumRatings,
|
||||
"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;
|
||||
}
|
||||
$l_int_NumRatings = 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 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", MCI_Footnotes_Config::C_STR_PLUGIN_NAME) . " " . $l_int_NumRatings . " " . __("ratings", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||
"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_NumRatings,
|
||||
"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;
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
138
class/hooks.php
138
class/hooks.php
|
@ -18,77 +18,77 @@
|
|||
*/
|
||||
class MCI_Footnotes_Hooks {
|
||||
|
||||
/**
|
||||
* Registers all WordPress hooks.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function registerHooks() {
|
||||
register_activation_hook(dirname(__FILE__) . "/../footnotes.php", array("MCI_Footnotes_Hooks", "activatePlugin"));
|
||||
register_deactivation_hook(dirname(__FILE__) . "/../footnotes.php", array("MCI_Footnotes_Hooks", "deactivatePlugin"));
|
||||
register_uninstall_hook(dirname(__FILE__) . "/../footnotes.php", array("MCI_Footnotes_Hooks", "uninstallPlugin"));
|
||||
}
|
||||
/**
|
||||
* Registers all WordPress hooks.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function registerHooks() {
|
||||
register_activation_hook(dirname(__FILE__) . "/../footnotes.php", array("MCI_Footnotes_Hooks", "activatePlugin"));
|
||||
register_deactivation_hook(dirname(__FILE__) . "/../footnotes.php", array("MCI_Footnotes_Hooks", "deactivatePlugin"));
|
||||
register_uninstall_hook(dirname(__FILE__) . "/../footnotes.php", array("MCI_Footnotes_Hooks", "uninstallPlugin"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Executed when the Plugin gets activated.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function activatePlugin() {
|
||||
// currently unused
|
||||
}
|
||||
/**
|
||||
* Executed when the Plugin gets activated.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function activatePlugin() {
|
||||
// currently unused
|
||||
}
|
||||
|
||||
/**
|
||||
* Executed when the Plugin gets deactivated.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function deactivatePlugin() {
|
||||
// currently unused
|
||||
}
|
||||
/**
|
||||
* Executed when the Plugin gets deactivated.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function deactivatePlugin() {
|
||||
// currently unused
|
||||
}
|
||||
|
||||
/**
|
||||
* Executed when the Plugin gets uninstalled.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*
|
||||
* Edit: ClearAll didn’t actually work.
|
||||
* @since 2.2.0 this function is not called any longer when deleting the plugin
|
||||
*/
|
||||
public static function uninstallPlugin() {
|
||||
// WordPress User has to be logged in
|
||||
if (!is_user_logged_in()) {
|
||||
wp_die(__('You must be logged in to run this script.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
}
|
||||
// WordPress User needs the permission to (un)install plugins
|
||||
if (!current_user_can('install_plugins')) {
|
||||
wp_die(__('You do not have permission to run this script.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
}
|
||||
// deletes all settings and restore the default values
|
||||
// MCI_Footnotes_Settings::instance()->ClearAll();
|
||||
}
|
||||
/**
|
||||
* Executed when the Plugin gets uninstalled.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*
|
||||
* Edit: ClearAll didn’t actually work.
|
||||
* @since 2.2.0 this function is not called any longer when deleting the plugin
|
||||
*/
|
||||
public static function uninstallPlugin() {
|
||||
// WordPress User has to be logged in
|
||||
if (!is_user_logged_in()) {
|
||||
wp_die(__('You must be logged in to run this script.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
}
|
||||
// WordPress User needs the permission to (un)install plugins
|
||||
if (!current_user_can('install_plugins')) {
|
||||
wp_die(__('You do not have permission to run this script.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
}
|
||||
// deletes all settings and restore the default values
|
||||
// MCI_Footnotes_Settings::instance()->ClearAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Links to the Plugin in the "installed Plugins" page.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param array $p_arr_Links Current Links.
|
||||
* @param string $p_str_PluginFileName Plugins init file name.
|
||||
* @return array
|
||||
*/
|
||||
public static function PluginLinks($p_arr_Links, $p_str_PluginFileName) {
|
||||
// append link to the WordPress Plugin page
|
||||
$p_arr_Links[] = sprintf('<a href="http://wordpress.org/support/plugin/footnotes" target="_blank">%s</a>', __('Support', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
// append link to the Settings page
|
||||
$p_arr_Links[] = sprintf('<a href="%s">%s</a>', admin_url('admin.php?page=mfmmf-footnotes'), __('Settings', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
// append link to the PlayPal Donate function
|
||||
$p_arr_Links[] = sprintf('<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6Z6CZDW8PPBBJ" target="_blank">%s</a>', __('Donate', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
// return new links
|
||||
return $p_arr_Links;
|
||||
}
|
||||
/**
|
||||
* Add Links to the Plugin in the "installed Plugins" page.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param array $p_arr_Links Current Links.
|
||||
* @param string $p_str_PluginFileName Plugins init file name.
|
||||
* @return array
|
||||
*/
|
||||
public static function PluginLinks($p_arr_Links, $p_str_PluginFileName) {
|
||||
// append link to the WordPress Plugin page
|
||||
$p_arr_Links[] = sprintf('<a href="http://wordpress.org/support/plugin/footnotes" target="_blank">%s</a>', __('Support', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
// append link to the Settings page
|
||||
$p_arr_Links[] = sprintf('<a href="%s">%s</a>', admin_url('admin.php?page=mfmmf-footnotes'), __('Settings', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
// append link to the PlayPal Donate function
|
||||
$p_arr_Links[] = sprintf('<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6Z6CZDW8PPBBJ" target="_blank">%s</a>', __('Donate', MCI_Footnotes_Config::C_STR_PLUGIN_NAME));
|
||||
// return new links
|
||||
return $p_arr_Links;
|
||||
}
|
||||
}
|
||||
|
|
606
class/init.php
606
class/init.php
|
@ -7,7 +7,7 @@
|
|||
* @since 1.5.0 12.09.14 10:56
|
||||
*
|
||||
*
|
||||
* @lastmodified 2021-02-16T0258+0100
|
||||
* @lastmodified 2021-02-18T2023+0100
|
||||
*
|
||||
* @since 1.6.5 Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
|
||||
* @since 1.6.5 Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution.
|
||||
|
@ -31,329 +31,329 @@
|
|||
*/
|
||||
class MCI_Footnotes {
|
||||
|
||||
/**
|
||||
* Reference to the Plugin Task object.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var null|MCI_Footnotes_Task
|
||||
*/
|
||||
public $a_obj_Task = null;
|
||||
/**
|
||||
* Reference to the Plugin Task object.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var null|MCI_Footnotes_Task
|
||||
*/
|
||||
public $a_obj_Task = null;
|
||||
|
||||
/**
|
||||
* Template process and script / stylesheet load optimization.
|
||||
*
|
||||
* - Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
|
||||
*
|
||||
* @since 2.4.0
|
||||
* @date 2021-01-04T1355+0100
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*
|
||||
* @link https://wordpress.org/support/topic/template-override-filter/#post-13864301
|
||||
* @link https://github.com/misfist/footnotes/releases/tag/2.4.0d3 repository
|
||||
* @link https://github.com/misfist/footnotes/compare/2.4.0%E2%80%A62.4.0d3 diff
|
||||
*
|
||||
* @var bool
|
||||
*
|
||||
* Streamline process depending on tooltip enabled status.
|
||||
* Load tooltip inline script only if jQuery tooltips are enabled.
|
||||
* Actual value depends on settings.
|
||||
*/
|
||||
public static $a_bool_TooltipsEnabled = false;
|
||||
public static $a_bool_AlternativeTooltipsEnabled = false;
|
||||
/**
|
||||
* Template process and script / stylesheet load optimization.
|
||||
*
|
||||
* - Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
|
||||
*
|
||||
* @since 2.4.0
|
||||
* @date 2021-01-04T1355+0100
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*
|
||||
* @link https://wordpress.org/support/topic/template-override-filter/#post-13864301
|
||||
* @link https://github.com/misfist/footnotes/releases/tag/2.4.0d3 repository
|
||||
* @link https://github.com/misfist/footnotes/compare/2.4.0%E2%80%A62.4.0d3 diff
|
||||
*
|
||||
* @var bool
|
||||
*
|
||||
* Streamline process depending on tooltip enabled status.
|
||||
* Load tooltip inline script only if jQuery tooltips are enabled.
|
||||
* Actual value depends on settings.
|
||||
*/
|
||||
public static $a_bool_TooltipsEnabled = false;
|
||||
public static $a_bool_AlternativeTooltipsEnabled = false;
|
||||
|
||||
/**
|
||||
* Executes the Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*
|
||||
*
|
||||
* - Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
|
||||
*
|
||||
* @since 1.6.5
|
||||
*
|
||||
* @contributor @felipelavinz
|
||||
* @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793
|
||||
*
|
||||
* @see self::initializeWidgets()
|
||||
*/
|
||||
public function run() {
|
||||
// register language
|
||||
MCI_Footnotes_Language::registerHooks();
|
||||
// register Button hooks
|
||||
MCI_Footnotes_WYSIWYG::registerHooks();
|
||||
// register general hooks
|
||||
MCI_Footnotes_Hooks::registerHooks();
|
||||
/**
|
||||
* Executes the Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*
|
||||
*
|
||||
* - Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
|
||||
*
|
||||
* @since 1.6.5
|
||||
*
|
||||
* @contributor @felipelavinz
|
||||
* @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793
|
||||
*
|
||||
* @see self::initializeWidgets()
|
||||
*/
|
||||
public function run() {
|
||||
// register language
|
||||
MCI_Footnotes_Language::registerHooks();
|
||||
// register Button hooks
|
||||
MCI_Footnotes_WYSIWYG::registerHooks();
|
||||
// register general hooks
|
||||
MCI_Footnotes_Hooks::registerHooks();
|
||||
|
||||
// initialize the Plugin Dashboard
|
||||
$this->initializeDashboard();
|
||||
// initialize the Plugin Task
|
||||
$this->initializeTask();
|
||||
// initialize the Plugin Dashboard
|
||||
$this->initializeDashboard();
|
||||
// initialize the Plugin Task
|
||||
$this->initializeTask();
|
||||
|
||||
// Register all Public Stylesheets and Scripts
|
||||
add_action('init', array($this, 'registerPublic'));
|
||||
// Enqueue all Public Stylesheets and Scripts
|
||||
add_action('wp_enqueue_scripts', array($this, 'registerPublic'));
|
||||
// Register all Widgets of the Plugin.
|
||||
add_action('widgets_init', array($this, 'initializeWidgets'));
|
||||
}
|
||||
// Register all Public Stylesheets and Scripts
|
||||
add_action('init', array($this, 'registerPublic'));
|
||||
// Enqueue all Public Stylesheets and Scripts
|
||||
add_action('wp_enqueue_scripts', array($this, 'registerPublic'));
|
||||
// Register all Widgets of the Plugin.
|
||||
add_action('widgets_init', array($this, 'initializeWidgets'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes all Widgets of the Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @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 initializeWidgets() is not private any longer.
|
||||
*/
|
||||
public function initializeWidgets() {
|
||||
register_widget( "MCI_Footnotes_Widget_ReferenceContainer" );
|
||||
}
|
||||
/**
|
||||
* Initializes all Widgets of the Plugin.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @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 initializeWidgets() is not private any longer.
|
||||
*/
|
||||
public function initializeWidgets() {
|
||||
register_widget( "MCI_Footnotes_Widget_ReferenceContainer" );
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the Dashboard of the Plugin and loads them.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
private function initializeDashboard() {
|
||||
new MCI_Footnotes_Layout_Init();
|
||||
}
|
||||
/**
|
||||
* Initializes the Dashboard of the Plugin and loads them.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
private function initializeDashboard() {
|
||||
new MCI_Footnotes_Layout_Init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the Plugin Task and registers the Task hooks.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
private function initializeTask() {
|
||||
$this->a_obj_Task = new MCI_Footnotes_Task();
|
||||
$this->a_obj_Task->registerHooks();
|
||||
}
|
||||
/**
|
||||
* Initializes the Plugin Task and registers the Task hooks.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
private function initializeTask() {
|
||||
$this->a_obj_Task = new MCI_Footnotes_Task();
|
||||
$this->a_obj_Task->registerHooks();
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers and enqueues scripts and stylesheets to the public pages.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @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 2020-10-29T1413+0100
|
||||
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
|
||||
* @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
|
||||
* @since 2.1.4 optionally enqueue an extra stylesheet 2020-12-04T2231+0100
|
||||
*/
|
||||
public function registerPublic() {
|
||||
/**
|
||||
* Registers and enqueues scripts and stylesheets to the public pages.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @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 2020-10-29T1413+0100
|
||||
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
|
||||
* @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
|
||||
* @since 2.1.4 optionally enqueue an extra stylesheet 2020-12-04T2231+0100
|
||||
*/
|
||||
public function registerPublic() {
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Enqueues the jQuery library registered by WordPress.
|
||||
*
|
||||
* jQuery is also used for animated scrolling, so it should be loaded by default.
|
||||
* The function wp_enqueue_script() avoids loading the same library multiple times.
|
||||
*/
|
||||
wp_enqueue_script( 'jquery' );
|
||||
/**
|
||||
* Enqueues the jQuery library registered by WordPress.
|
||||
*
|
||||
* jQuery is also used for animated scrolling, so it should be loaded by default.
|
||||
* The function wp_enqueue_script() avoids loading the same library multiple times.
|
||||
*/
|
||||
wp_enqueue_script( 'jquery' );
|
||||
|
||||
// set conditions re-used for stylesheet enqueuing:
|
||||
self::$a_bool_TooltipsEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED ) );
|
||||
self::$a_bool_AlternativeTooltipsEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE ) );
|
||||
// set conditions re-used for stylesheet enqueuing:
|
||||
self::$a_bool_TooltipsEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED ) );
|
||||
self::$a_bool_AlternativeTooltipsEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE ) );
|
||||
|
||||
if ( self::$a_bool_TooltipsEnabled && ! self::$a_bool_AlternativeTooltipsEnabled ) {
|
||||
if ( self::$a_bool_TooltipsEnabled && ! self::$a_bool_AlternativeTooltipsEnabled ) {
|
||||
|
||||
/**
|
||||
* Enqueues the jQuery Tools library shipped with the plugin.
|
||||
*
|
||||
* redacted jQuery.browser, completed minification;
|
||||
* see full header in js/jquery.tools.js
|
||||
* added versioning 2020-11-18T2150+0100
|
||||
* not use '-js' in the handle, is appended automatically
|
||||
*/
|
||||
wp_enqueue_script(
|
||||
'mci-footnotes-jquery-tools',
|
||||
plugins_url('footnotes/js/jquery.tools.min.js'),
|
||||
array(),
|
||||
'1.2.7.redacted.2'
|
||||
);
|
||||
/**
|
||||
* Enqueues the jQuery Tools library shipped with the plugin.
|
||||
*
|
||||
* redacted jQuery.browser, completed minification;
|
||||
* see full header in js/jquery.tools.js
|
||||
* added versioning 2020-11-18T2150+0100
|
||||
* not use '-js' in the handle, is appended automatically
|
||||
*/
|
||||
wp_enqueue_script(
|
||||
'mci-footnotes-jquery-tools',
|
||||
plugins_url('footnotes/js/jquery.tools.min.js'),
|
||||
array(),
|
||||
'1.2.7.redacted.2'
|
||||
);
|
||||
|
||||
/**
|
||||
* Registers jQuery UI from the JavaScript Content Delivery Network.
|
||||
*
|
||||
* - 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
|
||||
* Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
|
||||
* @since 2.0.0 add jQueryUI from Cloudflare 2020-10-26T1907+0100
|
||||
* Used to add jQuery UI following @vonpiernik:
|
||||
* <https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13456762>:
|
||||
*
|
||||
*
|
||||
* jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released.
|
||||
*
|
||||
* Updated for v2.0.4 by adding jQuery UI from WordPress following @check2020de:
|
||||
* <https://wordpress.org/support/topic/gdpr-issue-with-jquery/>
|
||||
* See <https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui>
|
||||
*
|
||||
* This was enabled in Footnotes v2.0.0 through v2.0.3.
|
||||
* Re-added for 2.0.9d1 / 2.1.1d0 to look whether it can fix a broken tooltip display. 2020-11-07T1601+0100/2020-11-08T2246+0100
|
||||
*/
|
||||
//wp_register_script( 'jQueryUI', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js', null, null, false ); // in header 2020-11-09T2003+0100
|
||||
//wp_enqueue_script( 'jQueryUI' );
|
||||
/**
|
||||
* This is then needed instead of the above first instance:
|
||||
* Add jQuery Tools and finish adding jQueryUI: 2020-11-08T1638+0100/2020-11-08T2246+0100
|
||||
*/
|
||||
//wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__), ['jQueryUI']);
|
||||
/**
|
||||
* Registers jQuery UI from the JavaScript Content Delivery Network.
|
||||
*
|
||||
* - 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
|
||||
* Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
|
||||
* @since 2.0.0 add jQueryUI from Cloudflare 2020-10-26T1907+0100
|
||||
* Used to add jQuery UI following @vonpiernik:
|
||||
* <https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13456762>:
|
||||
*
|
||||
*
|
||||
* jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released.
|
||||
*
|
||||
* Updated for v2.0.4 by adding jQuery UI from WordPress following @check2020de:
|
||||
* <https://wordpress.org/support/topic/gdpr-issue-with-jquery/>
|
||||
* See <https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui>
|
||||
*
|
||||
* This was enabled in Footnotes v2.0.0 through v2.0.3.
|
||||
* Re-added for 2.0.9d1 / 2.1.1d0 to look whether it can fix a broken tooltip display. 2020-11-07T1601+0100/2020-11-08T2246+0100
|
||||
*/
|
||||
//wp_register_script( 'jQueryUI', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js', null, null, false ); // in header 2020-11-09T2003+0100
|
||||
//wp_enqueue_script( 'jQueryUI' );
|
||||
/**
|
||||
* This is then needed instead of the above first instance:
|
||||
* Add jQuery Tools and finish adding jQueryUI: 2020-11-08T1638+0100/2020-11-08T2246+0100
|
||||
*/
|
||||
//wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__), ['jQueryUI']);
|
||||
|
||||
/**
|
||||
* Enqueues some jQuery UI libraries registered by WordPress.
|
||||
*
|
||||
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
|
||||
* 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' );
|
||||
/**
|
||||
* Enqueues some jQuery UI libraries registered by WordPress.
|
||||
*
|
||||
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
|
||||
* 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
|
||||
* @date 2021-02-14T1512+0100
|
||||
*
|
||||
* 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 ( C_BOOL_CSS_PRODUCTION_MODE === true ) {
|
||||
/**
|
||||
* Enables enqueuing a new-scheme stylesheet.
|
||||
*
|
||||
* @since 2.5.5
|
||||
* @date 2021-02-14T1512+0100
|
||||
*
|
||||
* 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 ( C_BOOL_CSS_PRODUCTION_MODE === true ) {
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @date 2021-02-14T1543+0100
|
||||
*
|
||||
* @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.
|
||||
* @date 2020-10-29T1413+0100
|
||||
* Plugin version number is needed for busting browser caches after each plugin update.
|
||||
* @since 2.1.4 automate passing version number for cache busting.
|
||||
* @date 2020-11-30T0646+0100
|
||||
* 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_TooltipsEnabled ) {
|
||||
if ( self::$a_bool_AlternativeTooltipsEnabled ) {
|
||||
$l_str_TooltipMode = 'al';
|
||||
$l_str_TComplement = 'ternative-tooltips';
|
||||
} else {
|
||||
$l_str_TooltipMode = 'jq';
|
||||
$l_str_TComplement = 'uery-tooltips';
|
||||
}
|
||||
} else {
|
||||
$l_str_TooltipMode = 'no';
|
||||
$l_str_TComplement = '-tooltips';
|
||||
}
|
||||
/**
|
||||
* 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
|
||||
* @date 2021-02-14T1543+0100
|
||||
*
|
||||
* @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.
|
||||
* @date 2020-10-29T1413+0100
|
||||
* Plugin version number is needed for busting browser caches after each plugin update.
|
||||
* @since 2.1.4 automate passing version number for cache busting.
|
||||
* @date 2020-11-30T0646+0100
|
||||
* 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_TooltipsEnabled ) {
|
||||
if ( self::$a_bool_AlternativeTooltipsEnabled ) {
|
||||
$l_str_TooltipMode = 'al';
|
||||
$l_str_TComplement = 'ternative-tooltips';
|
||||
} else {
|
||||
$l_str_TooltipMode = 'jq';
|
||||
$l_str_TComplement = 'uery-tooltips';
|
||||
}
|
||||
} else {
|
||||
$l_str_TooltipMode = 'no';
|
||||
$l_str_TComplement = '-tooltips';
|
||||
}
|
||||
|
||||
// set basic responsive page layout mode for use in stylesheet name:
|
||||
$l_str_PageLayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
|
||||
switch ( $l_str_PageLayoutOption ) {
|
||||
case "reference-container": $l_str_LayoutMode = '1'; break;
|
||||
case "entry-content" : $l_str_LayoutMode = '2'; break;
|
||||
case "main-content" : $l_str_LayoutMode = '3'; break;
|
||||
case "none": default: $l_str_LayoutMode = '0'; break;
|
||||
}
|
||||
// set basic responsive page layout mode for use in stylesheet name:
|
||||
$l_str_PageLayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
|
||||
switch ( $l_str_PageLayoutOption ) {
|
||||
case "reference-container": $l_str_LayoutMode = '1'; break;
|
||||
case "entry-content" : $l_str_LayoutMode = '2'; break;
|
||||
case "main-content" : $l_str_LayoutMode = '3'; break;
|
||||
case "none": default: $l_str_LayoutMode = '0'; break;
|
||||
}
|
||||
|
||||
// enqueue the tailored united minified stylesheet:
|
||||
wp_enqueue_style(
|
||||
'mci-footnotes-' . $l_str_TooltipMode . $l_str_TComplement . '-pagelayout-' . $l_str_PageLayoutOption,
|
||||
plugins_url(
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/footnotes-' . $l_str_TooltipMode . 'ttbrpl' . $l_str_LayoutMode . '.min.css'
|
||||
),
|
||||
array(),
|
||||
C_STR_FOOTNOTES_VERSION,
|
||||
'all'
|
||||
);
|
||||
// enqueue the tailored united minified stylesheet:
|
||||
wp_enqueue_style(
|
||||
'mci-footnotes-' . $l_str_TooltipMode . $l_str_TComplement . '-pagelayout-' . $l_str_PageLayoutOption,
|
||||
plugins_url(
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/footnotes-' . $l_str_TooltipMode . 'ttbrpl' . $l_str_LayoutMode . '.min.css'
|
||||
),
|
||||
array(),
|
||||
C_STR_FOOTNOTES_VERSION,
|
||||
'all'
|
||||
);
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
/**
|
||||
* Enqueues external stylesheets, ONLY in development now.
|
||||
*
|
||||
* @since 2.1.4 optionally enqueue an extra stylesheet.
|
||||
* @date 2020-12-04T2231+0100
|
||||
*
|
||||
* This optional layout fix is useful by lack of layout support.
|
||||
*/
|
||||
wp_enqueue_style( 'mci-footnotes-common', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-common.css' ), array(), C_STR_FOOTNOTES_VERSION );
|
||||
wp_enqueue_style( 'mci-footnotes-tooltips', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips.css' ), array(), C_STR_FOOTNOTES_VERSION );
|
||||
wp_enqueue_style( 'mci-footnotes-alternative', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips-alternative.css' ), array(), C_STR_FOOTNOTES_VERSION );
|
||||
/**
|
||||
* Enqueues external stylesheets, ONLY in development now.
|
||||
*
|
||||
* @since 2.1.4 optionally enqueue an extra stylesheet.
|
||||
* @date 2020-12-04T2231+0100
|
||||
*
|
||||
* This optional layout fix is useful by lack of layout support.
|
||||
*/
|
||||
wp_enqueue_style( 'mci-footnotes-common', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-common.css' ), array(), C_STR_FOOTNOTES_VERSION );
|
||||
wp_enqueue_style( 'mci-footnotes-tooltips', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips.css' ), array(), C_STR_FOOTNOTES_VERSION );
|
||||
wp_enqueue_style( 'mci-footnotes-alternative', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips-alternative.css' ), array(), C_STR_FOOTNOTES_VERSION );
|
||||
|
||||
$l_str_PageLayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
|
||||
if ($l_str_PageLayoutOption != 'none') {
|
||||
wp_enqueue_style(
|
||||
'mci-footnotes-layout-' . $l_str_PageLayoutOption,
|
||||
plugins_url(
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-layout-' . $l_str_PageLayoutOption . '.css'
|
||||
),
|
||||
array(),
|
||||
C_STR_FOOTNOTES_VERSION,
|
||||
'all'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
$l_str_PageLayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
|
||||
if ($l_str_PageLayoutOption != 'none') {
|
||||
wp_enqueue_style(
|
||||
'mci-footnotes-layout-' . $l_str_PageLayoutOption,
|
||||
plugins_url(
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-layout-' . $l_str_PageLayoutOption . '.css'
|
||||
),
|
||||
array(),
|
||||
C_STR_FOOTNOTES_VERSION,
|
||||
'all'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* @since 1.5.0 14.09.14 17:47
|
||||
*
|
||||
*
|
||||
* @lastmodified 2021-02-08T1914+0100
|
||||
* @lastmodified 2021-02-18T2028+0100
|
||||
*
|
||||
* @since 2.0.0 Bugfix: Localization: correct function call apply_filters() with all required arguments after PHP 7.1 promoted warning to error, thanks to @matkus2 bug report and code contribution.
|
||||
* @since 2.1.6 Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
|
||||
|
@ -21,88 +21,88 @@
|
|||
*/
|
||||
class MCI_Footnotes_Language {
|
||||
|
||||
/**
|
||||
* Register WordPress Hook.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function registerHooks() {
|
||||
add_action('plugins_loaded', array("MCI_Footnotes_Language", "loadTextDomain"));
|
||||
}
|
||||
/**
|
||||
* Register WordPress Hook.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public static function registerHooks() {
|
||||
add_action('plugins_loaded', array("MCI_Footnotes_Language", "loadTextDomain"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the text domain for current WordPress language if exists.
|
||||
* Otherwise fallback "en_GB" will be loaded.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*
|
||||
*
|
||||
* - Bugfix: Correct function call apply_filters() with all required arguments after PHP 7.1 promoted warning to error, thanks to @matkus2 bug report and code contribution.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @date 2020-10-26T1609+0100
|
||||
*
|
||||
* @contributor @matkus2
|
||||
* @link https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/
|
||||
*
|
||||
* Add 3rd (empty) argument in apply_filters() to prevent PHP from throwing an error:
|
||||
* “Fatal error: Uncaught ArgumentCountError: Too few arguments to function apply_filters()”
|
||||
*
|
||||
* Yet get_locale() is defined w/o parameters in wp-includes/l10n.php:30, and
|
||||
* apply_filters() is defined as apply_filters( $tag, $value ) in wp-includes/plugin.php:181.
|
||||
* @link https://developer.wordpress.org/reference/functions/apply_filters/
|
||||
*
|
||||
* But apply_filters() is defined with a 3rd parameter (and w/o the first one) in
|
||||
* wp-includes/class-wp-hook.php:264, as public function apply_filters( $value, $args ).
|
||||
*
|
||||
* Taking it all together, probably the full function definition would be:
|
||||
* public function apply_filters( $tag, $value, $args ).
|
||||
* In the case of get_locale(), $args is empty.
|
||||
*
|
||||
* The bug was lurking in WP. PHP 7.1 promoted the warning to an error.
|
||||
* @link https://www.php.net/manual/en/migration71.incompatible.php
|
||||
* @link https://www.php.net/manual/en/migration71.incompatible.php#migration71.incompatible.too-few-arguments-exception
|
||||
*/
|
||||
public static function loadTextDomain() {
|
||||
/**
|
||||
* Loads the text domain for current WordPress language if exists.
|
||||
* Otherwise fallback "en_GB" will be loaded.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*
|
||||
*
|
||||
* - Bugfix: Correct function call apply_filters() with all required arguments after PHP 7.1 promoted warning to error, thanks to @matkus2 bug report and code contribution.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @date 2020-10-26T1609+0100
|
||||
*
|
||||
* @contributor @matkus2
|
||||
* @link https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/
|
||||
*
|
||||
* Add 3rd (empty) argument in apply_filters() to prevent PHP from throwing an error:
|
||||
* “Fatal error: Uncaught ArgumentCountError: Too few arguments to function apply_filters()”
|
||||
*
|
||||
* Yet get_locale() is defined w/o parameters in wp-includes/l10n.php:30, and
|
||||
* apply_filters() is defined as apply_filters( $tag, $value ) in wp-includes/plugin.php:181.
|
||||
* @link https://developer.wordpress.org/reference/functions/apply_filters/
|
||||
*
|
||||
* But apply_filters() is defined with a 3rd parameter (and w/o the first one) in
|
||||
* wp-includes/class-wp-hook.php:264, as public function apply_filters( $value, $args ).
|
||||
*
|
||||
* Taking it all together, probably the full function definition would be:
|
||||
* public function apply_filters( $tag, $value, $args ).
|
||||
* In the case of get_locale(), $args is empty.
|
||||
*
|
||||
* The bug was lurking in WP. PHP 7.1 promoted the warning to an error.
|
||||
* @link https://www.php.net/manual/en/migration71.incompatible.php
|
||||
* @link https://www.php.net/manual/en/migration71.incompatible.php#migration71.incompatible.too-few-arguments-exception
|
||||
*/
|
||||
public static function loadTextDomain() {
|
||||
|
||||
// if language file with localization exists:
|
||||
if ( self::load( apply_filters( 'plugin_locale', get_locale(), '' ) ) ) {
|
||||
return;
|
||||
}
|
||||
// else fall back to British English:
|
||||
self::load( "en_GB" );
|
||||
}
|
||||
// if language file with localization exists:
|
||||
if ( self::load( apply_filters( 'plugin_locale', get_locale(), '' ) ) ) {
|
||||
return;
|
||||
}
|
||||
// else fall back to British English:
|
||||
self::load( "en_GB" );
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a specific text domain.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.1
|
||||
* @param string $p_str_LanguageCode Language Code to load a specific text domain.
|
||||
* @return bool
|
||||
*
|
||||
*
|
||||
* - Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
|
||||
*
|
||||
* @since 2.1.6
|
||||
* @date 2020-12-08T1931+0100
|
||||
*
|
||||
* @reporter @nikelaos
|
||||
* @link https://wordpress.org/support/topic/more-feature-ideas/
|
||||
*
|
||||
* That is done by using load_plugin_textdomain():
|
||||
* “The .mo file should be named based on the text domain with a dash, and then the locale exactly.”
|
||||
* @see wp-includes/l10n.php:857
|
||||
*/
|
||||
private static function load($p_str_LanguageCode) {
|
||||
return load_plugin_textdomain(
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME,
|
||||
// This argument only fills the gap left by a deprecated argument (since WP2.7):
|
||||
false,
|
||||
// The plugin basedir is provided; trailing slash would be clipped:
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/languages'
|
||||
);
|
||||
}
|
||||
/**
|
||||
* Loads a specific text domain.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.1
|
||||
* @param string $p_str_LanguageCode Language Code to load a specific text domain.
|
||||
* @return bool
|
||||
*
|
||||
*
|
||||
* - Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
|
||||
*
|
||||
* @since 2.1.6
|
||||
* @date 2020-12-08T1931+0100
|
||||
*
|
||||
* @reporter @nikelaos
|
||||
* @link https://wordpress.org/support/topic/more-feature-ideas/
|
||||
*
|
||||
* That is done by using load_plugin_textdomain():
|
||||
* “The .mo file should be named based on the text domain with a dash, and then the locale exactly.”
|
||||
* @see wp-includes/l10n.php:857
|
||||
*/
|
||||
private static function load($p_str_LanguageCode) {
|
||||
return load_plugin_textdomain(
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME,
|
||||
// This argument only fills the gap left by a deprecated argument (since WP2.7):
|
||||
false,
|
||||
// The plugin basedir is provided; trailing slash would be clipped:
|
||||
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/languages'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
2294
class/settings.php
2294
class/settings.php
File diff suppressed because it is too large
Load diff
4358
class/task.php
4358
class/task.php
File diff suppressed because it is too large
Load diff
|
@ -7,7 +7,7 @@
|
|||
* @since 1.5.0 14.09.14 10:58
|
||||
*
|
||||
*
|
||||
* @lastmodified 2021-02-12T1113+0100
|
||||
* @lastmodified 2021-02-18T2024+0100
|
||||
*
|
||||
* @since 2.0.3 prettify reference container template
|
||||
* @since 2.0.3 replace tab with a space
|
||||
|
@ -38,224 +38,224 @@
|
|||
*/
|
||||
class MCI_Footnotes_Template {
|
||||
|
||||
/**
|
||||
* Directory name for dashboard templates.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_DASHBOARD = "dashboard";
|
||||
/**
|
||||
* Directory name for dashboard templates.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_DASHBOARD = "dashboard";
|
||||
|
||||
/**
|
||||
* Directory name for public templates.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_PUBLIC = "public";
|
||||
/**
|
||||
* Directory name for public templates.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
const C_STR_PUBLIC = "public";
|
||||
|
||||
/**
|
||||
* Contains the content of the template after initialize.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
private $a_str_OriginalContent = "";
|
||||
/**
|
||||
* Contains the content of the template after initialize.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
private $a_str_OriginalContent = "";
|
||||
|
||||
/**
|
||||
* Contains the content of the template after initialize with replaced place holders.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
private $a_str_ReplacedContent = "";
|
||||
/**
|
||||
* Contains the content of the template after initialize with replaced place holders.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @var string
|
||||
*/
|
||||
private $a_str_ReplacedContent = "";
|
||||
|
||||
/**
|
||||
* Plugin Directory
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $plugin_directory;
|
||||
/**
|
||||
* Plugin Directory
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $plugin_directory;
|
||||
|
||||
/**
|
||||
* Class Constructor. Reads and loads the template file without replace any placeholder.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param string $p_str_FileType Template file type (take a look on the Class constants).
|
||||
* @param string $p_str_FileName Template file name inside the Template directory without the file extension.
|
||||
* @param string $p_str_Extension Optional Template file extension (default: html)
|
||||
*
|
||||
*
|
||||
* @since 2.2.6 support for custom templates 2020-12-19T0606+0100
|
||||
* @link https://wordpress.org/support/topic/template-override-filter/
|
||||
*
|
||||
* @since 2.4.0 look for custom template in the active theme first, thanks to @misfist
|
||||
* @link https://wordpress.org/support/topic/template-override-filter/#post-13846598
|
||||
*/
|
||||
public function __construct($p_str_FileType, $p_str_FileName, $p_str_Extension = "html") {
|
||||
// no template file type and/or file name set
|
||||
if (empty($p_str_FileType) || empty($p_str_FileName)) {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Class Constructor. Reads and loads the template file without replace any placeholder.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param string $p_str_FileType Template file type (take a look on the Class constants).
|
||||
* @param string $p_str_FileName Template file name inside the Template directory without the file extension.
|
||||
* @param string $p_str_Extension Optional Template file extension (default: html)
|
||||
*
|
||||
*
|
||||
* @since 2.2.6 support for custom templates 2020-12-19T0606+0100
|
||||
* @link https://wordpress.org/support/topic/template-override-filter/
|
||||
*
|
||||
* @since 2.4.0 look for custom template in the active theme first, thanks to @misfist
|
||||
* @link https://wordpress.org/support/topic/template-override-filter/#post-13846598
|
||||
*/
|
||||
public function __construct($p_str_FileType, $p_str_FileName, $p_str_Extension = "html") {
|
||||
// no template file type and/or file name set
|
||||
if (empty($p_str_FileType) || empty($p_str_FileName)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define plugin root path
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*/
|
||||
$this->plugin_directory = plugin_dir_path( dirname( __FILE__ ) );
|
||||
/**
|
||||
* Define plugin root path
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*/
|
||||
$this->plugin_directory = plugin_dir_path( dirname( __FILE__ ) );
|
||||
|
||||
/**
|
||||
* Modularize functions
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*/
|
||||
if( $template = $this->get_template( $p_str_FileType, $p_str_FileName, $p_str_Extension ) ) {
|
||||
$this->process_template( $template );
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Modularize functions
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*/
|
||||
if( $template = $this->get_template( $p_str_FileType, $p_str_FileName, $p_str_Extension ) ) {
|
||||
$this->process_template( $template );
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace all placeholders specified in array.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @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_ReplacedContent)) {
|
||||
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_ReplacedContent = str_replace("[[" . $l_str_Placeholder . "]]", $l_str_Value, $this->a_str_ReplacedContent);
|
||||
}
|
||||
// success
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Replace all placeholders specified in array.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @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_ReplacedContent)) {
|
||||
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_ReplacedContent = str_replace("[[" . $l_str_Placeholder . "]]", $l_str_Value, $this->a_str_ReplacedContent);
|
||||
}
|
||||
// success
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the original content of the template file.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function reload() {
|
||||
$this->a_str_ReplacedContent = $this->a_str_OriginalContent;
|
||||
}
|
||||
/**
|
||||
* Reloads the original content of the template file.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
*/
|
||||
public function reload() {
|
||||
$this->a_str_ReplacedContent = $this->a_str_OriginalContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the content of the template file with replaced placeholders.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string Template content with replaced placeholders.
|
||||
*/
|
||||
public function getContent() {
|
||||
return $this->a_str_ReplacedContent;
|
||||
}
|
||||
/**
|
||||
* Returns the content of the template file with replaced placeholders.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string Template content with replaced placeholders.
|
||||
*/
|
||||
public function getContent() {
|
||||
return $this->a_str_ReplacedContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process template file
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @param string $template
|
||||
* @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 ) {
|
||||
$this->a_str_OriginalContent = preg_replace( '#<!--.+?-->#s', "", file_get_contents( $template ) );
|
||||
$this->a_str_OriginalContent = preg_replace( '#/\*\*.+?\*/#s', "", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( "\n", "", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( "\r", "", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( "\t", " ", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = preg_replace( '# +#', " ", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( " >", ">", $this->a_str_OriginalContent );
|
||||
$this->reload();
|
||||
}
|
||||
/**
|
||||
* Process template file
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @param string $template
|
||||
* @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 ) {
|
||||
$this->a_str_OriginalContent = preg_replace( '#<!--.+?-->#s', "", file_get_contents( $template ) );
|
||||
$this->a_str_OriginalContent = preg_replace( '#/\*\*.+?\*/#s', "", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( "\n", "", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( "\r", "", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( "\t", " ", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = preg_replace( '# +#', " ", $this->a_str_OriginalContent );
|
||||
$this->a_str_OriginalContent = str_replace( " >", ">", $this->a_str_OriginalContent );
|
||||
$this->reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the template
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @param string $p_str_FileType
|
||||
* @param string $p_str_FileName
|
||||
* @param string $p_str_Extension
|
||||
* @return mixed false | template path
|
||||
*/
|
||||
public function get_template( $p_str_FileType, $p_str_FileName, $p_str_Extension = "html" ) {
|
||||
$located = false;
|
||||
/**
|
||||
* Get the template
|
||||
*
|
||||
* @author Patrizia Lutz @misfist
|
||||
*
|
||||
* @since 2.4.0d3
|
||||
*
|
||||
* @param string $p_str_FileType
|
||||
* @param string $p_str_FileName
|
||||
* @param string $p_str_Extension
|
||||
* @return mixed false | template path
|
||||
*/
|
||||
public function get_template( $p_str_FileType, $p_str_FileName, $p_str_Extension = "html" ) {
|
||||
$located = false;
|
||||
|
||||
/**
|
||||
* The directory change be modified
|
||||
* @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_FileType . '/' . $p_str_FileName . '.' . $p_str_Extension;
|
||||
/**
|
||||
* The directory change be modified
|
||||
* @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_FileType . '/' . $p_str_FileName . '.' . $p_str_Extension;
|
||||
|
||||
/**
|
||||
* Look in active (child) theme
|
||||
*/
|
||||
if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $template_directory . $template_name ) ) {
|
||||
$located = trailingslashit( get_stylesheet_directory() ) . $template_directory . $template_name;
|
||||
/**
|
||||
* Look in active (child) 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
|
||||
*/
|
||||
} elseif ( file_exists( trailingslashit( get_template_directory() ) . $template_directory . $template_name ) ) {
|
||||
$located = trailingslashit( get_template_directory() ) . $template_directory . $template_name;
|
||||
/**
|
||||
* Look in parent theme
|
||||
*/
|
||||
} elseif ( file_exists( trailingslashit( get_template_directory() ) . $template_directory . $template_name ) ) {
|
||||
$located = trailingslashit( get_template_directory() ) . $template_directory . $template_name;
|
||||
|
||||
/**
|
||||
* Look in custom directory
|
||||
*/
|
||||
} elseif ( file_exists( trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name ) ) {
|
||||
$located = trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name;
|
||||
/**
|
||||
* Look in custom directory
|
||||
*/
|
||||
} elseif ( file_exists( trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name ) ) {
|
||||
$located = trailingslashit( WP_PLUGIN_DIR ) . $custom_directory . 'templates/' . $template_name;
|
||||
|
||||
/**
|
||||
* Look in plugin
|
||||
*/
|
||||
} elseif ( file_exists( $this->plugin_directory . 'templates/' . $template_name ) ) {
|
||||
$located = $this->plugin_directory . 'templates/' . $template_name;
|
||||
}
|
||||
/**
|
||||
* Look in plugin
|
||||
*/
|
||||
} elseif ( file_exists( $this->plugin_directory . 'templates/' . $template_name ) ) {
|
||||
$located = $this->plugin_directory . 'templates/' . $template_name;
|
||||
}
|
||||
|
||||
return $located;
|
||||
}
|
||||
return $located;
|
||||
}
|
||||
|
||||
} // end of class
|
||||
|
|
|
@ -18,68 +18,68 @@
|
|||
*/
|
||||
class MCI_Footnotes_Widget_ReferenceContainer extends MCI_Footnotes_WidgetBase {
|
||||
|
||||
/**
|
||||
* Returns an unique ID as string used for the Widget Base ID.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string
|
||||
*/
|
||||
protected function getID() {
|
||||
return "footnotes_widget";
|
||||
}
|
||||
/**
|
||||
* Returns an unique ID as string used for the Widget Base ID.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string
|
||||
*/
|
||||
protected function getID() {
|
||||
return "footnotes_widget";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Public name of the Widget to be displayed in the Configuration page.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string
|
||||
*/
|
||||
protected function getName() {
|
||||
return MCI_Footnotes_Config::C_STR_PLUGIN_NAME;
|
||||
}
|
||||
/**
|
||||
* Returns the Public name of the Widget to be displayed in the Configuration page.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string
|
||||
*/
|
||||
protected function getName() {
|
||||
return MCI_Footnotes_Config::C_STR_PLUGIN_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Description of the child widget.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string
|
||||
*
|
||||
* Edit: curly quotes 2.2.0 2020-12-12T2130+0100
|
||||
*/
|
||||
protected function getDescription() {
|
||||
return __('The widget defines the position of the reference container if set to “widget area”.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME);
|
||||
}
|
||||
/**
|
||||
* Returns the Description of the child widget.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @return string
|
||||
*
|
||||
* Edit: curly quotes 2.2.0 2020-12-12T2130+0100
|
||||
*/
|
||||
protected function getDescription() {
|
||||
return __('The widget defines the position of the reference container if set to “widget area”.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs the Settings of the Widget.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param mixed $instance
|
||||
* @return void
|
||||
*
|
||||
* Edit: curly quotes 2.2.0 2020-12-12T2130+0100
|
||||
*/
|
||||
public function form($instance) {
|
||||
echo __('The widget defines the position of the reference container if set to “widget area”.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME);
|
||||
}
|
||||
/**
|
||||
* Outputs the Settings of the Widget.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param mixed $instance
|
||||
* @return void
|
||||
*
|
||||
* Edit: curly quotes 2.2.0 2020-12-12T2130+0100
|
||||
*/
|
||||
public function form($instance) {
|
||||
echo __('The widget defines the position of the reference container if set to “widget area”.', MCI_Footnotes_Config::C_STR_PLUGIN_NAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs the Content of the Widget.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param mixed $args
|
||||
* @param mixed $instance
|
||||
*/
|
||||
public function widget($args, $instance) {
|
||||
global $g_obj_MCI_Footnotes;
|
||||
// reference container positioning is set to "widget area"
|
||||
if (MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION) == "widget") {
|
||||
echo $g_obj_MCI_Footnotes->a_obj_Task->ReferenceContainer();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Outputs the Content of the Widget.
|
||||
*
|
||||
* @author Stefan Herndler
|
||||
* @since 1.5.0
|
||||
* @param mixed $args
|
||||
* @param mixed $instance
|
||||
*/
|
||||
public function widget($args, $instance) {
|
||||
global $g_obj_MCI_Footnotes;
|
||||
// reference container positioning is set to "widget area"
|
||||
if (MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION) == "widget") {
|
||||
echo $g_obj_MCI_Footnotes->a_obj_Task->ReferenceContainer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* Since: 1.0
|
||||
*
|
||||
* @version 2.5.5
|
||||
* @lastmodified 2021-02-16T0651+0100
|
||||
* @lastmodified 2021-02-18T2026+0100
|
||||
*
|
||||
* Classes recommended for Custom CSS:
|
||||
* @see templates/dashboard/customize-css-new.html
|
||||
|
@ -82,31 +82,31 @@
|
|||
*/
|
||||
|
||||
.footnotes_validation_error {
|
||||
border: 4px solid red;
|
||||
padding: 20px 40px;
|
||||
margin: 20px 0;
|
||||
background: #ff000055;
|
||||
text-align: start;
|
||||
border: 4px solid red;
|
||||
padding: 20px 40px;
|
||||
margin: 20px 0;
|
||||
background: #ff000055;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
.footnotes_validation_error p:first-child {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.footnotes_validation_error p:nth-child(2) {
|
||||
font-size: 16px;
|
||||
font-style: italic;
|
||||
font-size: 16px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.footnotes_validation_error p:nth-child(3) {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.footnotes_validation_error p:last-child {
|
||||
font-size: 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -145,9 +145,9 @@
|
|||
*/
|
||||
|
||||
.footnote_url_wrap {
|
||||
word-wrap: anywhere;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-all;
|
||||
word-wrap: anywhere;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -168,12 +168,12 @@
|
|||
|
||||
.footnote_item_base,
|
||||
.footnote_referrer_base {
|
||||
position: absolute;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.footnote_item_anchor,
|
||||
.footnote_referrer_anchor {
|
||||
position: relative;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -203,9 +203,9 @@
|
|||
.main-content .footnote_referrer > a:hover,
|
||||
.main-content .footnote_plugin_tooltip_text,
|
||||
.main-content .footnote_plugin_tooltip_text:hover {
|
||||
text-decoration: none !important;
|
||||
border-bottom: none !important;
|
||||
box-shadow: none !important;
|
||||
text-decoration: none !important;
|
||||
border-bottom: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -226,8 +226,8 @@
|
|||
|
||||
.footnote_plugin_tooltip_text {
|
||||
line-height: 0;
|
||||
position: relative !important;
|
||||
cursor: pointer;
|
||||
position: relative !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -241,14 +241,14 @@
|
|||
*/
|
||||
|
||||
.footnote_tooltip {
|
||||
display: none;
|
||||
z-index: 2147483647 !important;
|
||||
cursor: auto;
|
||||
text-align: left;
|
||||
padding: 12px;
|
||||
line-height: 1.2;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
display: none;
|
||||
z-index: 2147483647 !important;
|
||||
cursor: auto;
|
||||
text-align: left;
|
||||
padding: 12px;
|
||||
line-height: 1.2;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -258,15 +258,15 @@
|
|||
*/
|
||||
|
||||
.footnote_referrer.relative {
|
||||
position: relative;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.footnote_tooltip.position {
|
||||
display: unset;
|
||||
position: absolute;
|
||||
bottom: 24px;
|
||||
left: -50px;
|
||||
width: 400px;
|
||||
display: unset;
|
||||
position: absolute;
|
||||
bottom: 24px;
|
||||
left: -50px;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -274,14 +274,14 @@ fade-in parameters
|
|||
*/
|
||||
|
||||
.footnote_tooltip.shown {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
/*
|
||||
property values of settings are inline CSS
|
||||
transition-delay: 0ms;
|
||||
transition-duration: 200ms;
|
||||
transition-delay: 0ms;
|
||||
transition-duration: 200ms;
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -290,14 +290,14 @@ fade-out parameters
|
|||
*/
|
||||
|
||||
.footnote_tooltip.hidden {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
/*
|
||||
property values of settings are inline CSS
|
||||
transition-delay: 400ms;
|
||||
transition-duration: 200ms;
|
||||
transition-delay: 400ms;
|
||||
transition-duration: 200ms;
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -306,16 +306,16 @@ Read-on button
|
|||
*/
|
||||
|
||||
.footnote_tooltip_continue {
|
||||
font-style: italic;
|
||||
color: green;
|
||||
text-decoration: none !important;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
font-style: italic;
|
||||
color: green;
|
||||
text-decoration: none !important;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.footnote_tooltip_continue:hover {
|
||||
color: blue;
|
||||
text-decoration: underline !important;
|
||||
color: blue;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
||||
|
||||
|
@ -354,9 +354,9 @@ Classes:
|
|||
*/
|
||||
|
||||
.footnotes_reference_container {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -364,29 +364,29 @@ label
|
|||
*/
|
||||
|
||||
.footnote_container_prepare {
|
||||
display: block !important;
|
||||
padding-top: 24px !important;
|
||||
display: block !important;
|
||||
padding-top: 24px !important;
|
||||
}
|
||||
|
||||
.footnote_container_prepare > p {
|
||||
line-height: 1.3 !important;
|
||||
margin-top: 1em !important;
|
||||
margin-bottom: 0.25em !important;
|
||||
padding: 0 !important;
|
||||
font-weight: normal !important;
|
||||
/* bottom border optional since 2.2.5 */
|
||||
display: block !important;
|
||||
-webkit-margin-before: 0.83em !important;
|
||||
-webkit-margin-after: 0.83em !important;
|
||||
-webkit-margin-start: 0px !important;
|
||||
-webkit-margin-end: 0px !important;
|
||||
text-align: left !important;
|
||||
vertical-align: middle;
|
||||
line-height: 1.3 !important;
|
||||
margin-top: 1em !important;
|
||||
margin-bottom: 0.25em !important;
|
||||
padding: 0 !important;
|
||||
font-weight: normal !important;
|
||||
/* bottom border optional since 2.2.5 */
|
||||
display: block !important;
|
||||
-webkit-margin-before: 0.83em !important;
|
||||
-webkit-margin-after: 0.83em !important;
|
||||
-webkit-margin-start: 0px !important;
|
||||
-webkit-margin-end: 0px !important;
|
||||
text-align: left !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.footnote_container_prepare > p > span:first-child {
|
||||
text-align: left !important;
|
||||
font-size: 1.5em !important;
|
||||
text-align: left !important;
|
||||
font-size: 1.5em !important;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -395,11 +395,11 @@ fully clickable, not sign only
|
|||
*/
|
||||
|
||||
.footnote_reference_container_collapse_button {
|
||||
cursor: pointer;
|
||||
padding: 0 0.5em;
|
||||
font-size: 1.3em !important;
|
||||
vertical-align: 2px;
|
||||
text-decoration: none !important;
|
||||
cursor: pointer;
|
||||
padding: 0 0.5em;
|
||||
font-size: 1.3em !important;
|
||||
vertical-align: 2px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
h2 > .footnote_reference_container_collapse_button,
|
||||
|
@ -407,12 +407,12 @@ h3 > .footnote_reference_container_collapse_button,
|
|||
h4 > .footnote_reference_container_collapse_button,
|
||||
h5 > .footnote_reference_container_collapse_button,
|
||||
h6 > .footnote_reference_container_collapse_button {
|
||||
font-size: inherit !important;
|
||||
font-size: inherit !important;
|
||||
}
|
||||
|
||||
.footnote_container_prepare > p > span:last-child a,
|
||||
.footnote_reference_container_collapse_button a {
|
||||
text-decoration: none !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -421,8 +421,8 @@ table
|
|||
|
||||
.footnote-reference-container,
|
||||
.footnotes_table {
|
||||
width: 100%;
|
||||
border: none;
|
||||
width: 100%;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -438,10 +438,10 @@ footnotes
|
|||
.footnote_plugin_index_combi,
|
||||
.footnote_plugin_symbol,
|
||||
.footnote_plugin_text {
|
||||
border: none !important;
|
||||
text-align: left !important;
|
||||
vertical-align: top !important;
|
||||
padding: 5px 6px 10px 0 !important;
|
||||
border: none !important;
|
||||
text-align: left !important;
|
||||
vertical-align: top !important;
|
||||
padding: 5px 6px 10px 0 !important;
|
||||
}
|
||||
|
||||
.footnote_backlink,
|
||||
|
@ -452,19 +452,19 @@ footnotes
|
|||
.main-content .footnote_backlink:link,
|
||||
.main-content .footnote_plugin_link,
|
||||
.main-content .footnote_plugin_link:link {
|
||||
text-decoration: none !important;
|
||||
border-bottom: none !important;
|
||||
text-decoration: none !important;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
|
||||
.footnote_backlink,
|
||||
.footnote_plugin_link {
|
||||
white-space: nowrap;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.pointer,
|
||||
.footnote_index,
|
||||
.footnote_backlink {
|
||||
cursor: pointer;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -479,12 +479,12 @@ when hovered in some themes, not in others:
|
|||
.footnote_backlink:hover,
|
||||
.footnote_plugin_link:hover,
|
||||
.footnote_plugin_text a:hover {
|
||||
text-decoration: unset;
|
||||
text-decoration: underline; /*deprioritized to ease customization*/
|
||||
text-decoration: unset;
|
||||
text-decoration: underline; /*deprioritized to ease customization*/
|
||||
}
|
||||
|
||||
.footnote_plugin_text {
|
||||
width: unset; /*unset width of text column to fix site issues*/
|
||||
width: unset; /*unset width of text column to fix site issues*/
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -499,8 +499,8 @@ These are overridden if settings are enabled.
|
|||
|
||||
.footnote_plugin_index,
|
||||
.footnote_plugin_index_combi {
|
||||
max-width: 100px;
|
||||
width: 2.5em;
|
||||
max-width: 100px;
|
||||
width: 2.5em;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -509,10 +509,10 @@ Responsive
|
|||
|
||||
@media only screen and (max-width: 768px) {
|
||||
|
||||
.footnote_plugin_index,
|
||||
.footnote_plugin_index_combi {
|
||||
max-width: 80px;
|
||||
}
|
||||
.footnote_plugin_index,
|
||||
.footnote_plugin_index_combi {
|
||||
max-width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -532,31 +532,31 @@ Link color set to inherit, so referrers/numbers are not grayed out.
|
|||
*/
|
||||
|
||||
.footnotes_reference_container {
|
||||
page-break-inside: avoid;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
.footnote_tooltip,
|
||||
.footnote_reference_container_collapse_button,
|
||||
.footnote_index_arrow {
|
||||
display: none;
|
||||
}
|
||||
.footnote_tooltip,
|
||||
.footnote_reference_container_collapse_button,
|
||||
.footnote_index_arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.footnote_plugin_tooltip_text {
|
||||
color: inherit;
|
||||
}
|
||||
.footnote_plugin_tooltip_text {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.footnote_plugin_index a,
|
||||
.footnote_plugin_index_combi a {
|
||||
color: inherit;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.footnote_plugin_index a,
|
||||
.footnote_plugin_index_combi a {
|
||||
color: inherit;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
/* Edit button in WP2020 (added as a service) */
|
||||
div.post-meta-edit-link-wrapper {
|
||||
display: none;
|
||||
}
|
||||
/* Edit button in WP2020 (added as a service) */
|
||||
div.post-meta-edit-link-wrapper {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -577,14 +577,14 @@ Link color set to inherit, so referrers/numbers are not grayed out.
|
|||
|
||||
.footnotes_logo,
|
||||
.footnotes_logo:hover {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.footnotes_logo_part1 {
|
||||
color: #2bb975;
|
||||
color: #2bb975;
|
||||
}
|
||||
|
||||
.footnotes_logo_part2 {
|
||||
color: #545f5a;
|
||||
color: #545f5a;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ Rationale
|
|||
In Hello Elementor Theme, this applies to .site-header, and
|
||||
also to .site-main, which is a class of the <main> element,
|
||||
at the condition that the page is not built with Elementor:
|
||||
body:not([class*="elementor-page-"])
|
||||
body:not([class*="elementor-page-"])
|
||||
Therefore, in pages built with Elementor, proper layout is
|
||||
applied only to features managed by Elementor, not others.
|
||||
|
||||
|
@ -47,55 +47,55 @@ Sources:
|
|||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
margin: 0 auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@media (max-width: 575px) {
|
||||
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
padding: 0 10px;
|
||||
}
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 500px;
|
||||
}
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 600px;
|
||||
}
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 600px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 800px;
|
||||
}
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 800px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 960px;
|
||||
}
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry .entry-content,
|
||||
main .entry .entry-content {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ Rationale
|
|||
In Hello Elementor Theme, this applies to .site-header, and
|
||||
also to .site-main, which is a class of the <main> element,
|
||||
at the condition that the page is not built with Elementor:
|
||||
body:not([class*="elementor-page-"])
|
||||
body:not([class*="elementor-page-"])
|
||||
Therefore, in pages built with Elementor, proper layout is
|
||||
applied only to features managed by Elementor, not others.
|
||||
|
||||
|
@ -40,55 +40,55 @@ main,
|
|||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
margin: 0 auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@media (max-width: 575px) {
|
||||
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
padding: 0 10px;
|
||||
}
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 500px;
|
||||
}
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 600px;
|
||||
}
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 600px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 800px;
|
||||
}
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 800px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 960px;
|
||||
}
|
||||
main,
|
||||
.main-content,
|
||||
.site-main,
|
||||
div.hentry {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ Rationale
|
|||
In Hello Elementor Theme, this applies to .site-header, and
|
||||
also to .site-main, which is a class of the <main> element,
|
||||
at the condition that the page is not built with Elementor:
|
||||
body:not([class*="elementor-page-"])
|
||||
body:not([class*="elementor-page-"])
|
||||
Therefore, in pages built with Elementor, proper layout is
|
||||
applied only to features managed by Elementor, not others.
|
||||
|
||||
|
@ -38,50 +38,50 @@ older browsers not yet supporting CSS variables.
|
|||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
margin: 0 auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@media (max-width: 575px) {
|
||||
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
padding: 0 10px;
|
||||
}
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 500px;
|
||||
}
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 600px;
|
||||
}
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 600px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 800px;
|
||||
}
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 800px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 960px;
|
||||
}
|
||||
.entry-content div.footnotes_reference_container,
|
||||
.entry-content > .footnotes_reference_container,
|
||||
main div.footnotes_reference_container {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @since 2.5.5
|
||||
* @version 2.5.5
|
||||
* @lastmodified 2021-02-16T0206+0100
|
||||
* @lastmodified 2021-02-18T2029+0100
|
||||
*
|
||||
* System of unified minified style sheets tailored to the instance.
|
||||
*
|
||||
|
@ -19,15 +19,15 @@
|
|||
*/
|
||||
|
||||
.footnote_referrer.relative {
|
||||
position: relative;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.footnote_tooltip.position {
|
||||
display: unset;
|
||||
position: absolute;
|
||||
bottom: 24px;
|
||||
left: -50px;
|
||||
width: 400px;
|
||||
display: unset;
|
||||
position: absolute;
|
||||
bottom: 24px;
|
||||
left: -50px;
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -35,14 +35,14 @@ fade-in parameters
|
|||
*/
|
||||
|
||||
.footnote_tooltip.shown {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
/*
|
||||
property values of settings are inline CSS
|
||||
transition-delay: 0ms;
|
||||
transition-duration: 200ms;
|
||||
transition-delay: 0ms;
|
||||
transition-duration: 200ms;
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -51,13 +51,13 @@ fade-out parameters
|
|||
*/
|
||||
|
||||
.footnote_tooltip.hidden {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition-property: visibility opacity;
|
||||
transition-timing-function: linear;
|
||||
/*
|
||||
property values of settings are inline CSS
|
||||
transition-delay: 400ms;
|
||||
transition-duration: 200ms;
|
||||
transition-delay: 400ms;
|
||||
transition-duration: 200ms;
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
* It doesn’t matter if the tooltips are jQuery based or alternative.
|
||||
* @since 2.5.5
|
||||
* @version 2.5.5
|
||||
* @lastmodified 2021-02-16T0206+0100
|
||||
* @lastmodified 2021-02-18T2030+0100
|
||||
*
|
||||
* System of unified minified style sheets tailored to the instance.
|
||||
*
|
||||
|
@ -30,14 +30,14 @@
|
|||
*/
|
||||
|
||||
.footnote_tooltip {
|
||||
display: none;
|
||||
z-index: 2147483647 !important;
|
||||
cursor: auto;
|
||||
text-align: left;
|
||||
padding: 12px;
|
||||
line-height: 1.2;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
display: none;
|
||||
z-index: 2147483647 !important;
|
||||
cursor: auto;
|
||||
text-align: left;
|
||||
padding: 12px;
|
||||
line-height: 1.2;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -45,14 +45,14 @@ Read-on button
|
|||
*/
|
||||
|
||||
.footnote_tooltip_continue {
|
||||
font-style: italic;
|
||||
color: green;
|
||||
text-decoration: none !important;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
font-style: italic;
|
||||
color: green;
|
||||
text-decoration: none !important;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.footnote_tooltip_continue:hover {
|
||||
color: blue;
|
||||
text-decoration: underline !important;
|
||||
color: blue;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
|
136
css/settings.css
136
css/settings.css
|
@ -7,7 +7,7 @@
|
|||
* Since: 1.0
|
||||
*
|
||||
* @version 2.5.5
|
||||
* @lastmodified 2021-02-16T0033+0100
|
||||
* @lastmodified 2021-02-18T2026+0100
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -22,25 +22,25 @@
|
|||
*/
|
||||
|
||||
.footnotes_logo_heading {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
position: absolute;
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
position: absolute;
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
.footnotes_logo_part1_heading {
|
||||
left: 20px;
|
||||
color: #2bb975;
|
||||
left: 20px;
|
||||
color: #2bb975;
|
||||
}
|
||||
.footnotes_logo_part2_heading {
|
||||
left: 51px;
|
||||
color: #545f5a;
|
||||
left: 51px;
|
||||
color: #545f5a;
|
||||
}
|
||||
.footnotes_heart_heading {
|
||||
color:#ff6d3b;
|
||||
font-weight:bold;
|
||||
position: absolute;
|
||||
left: 96px;
|
||||
color:#ff6d3b;
|
||||
font-weight:bold;
|
||||
position: absolute;
|
||||
left: 96px;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,8 +48,8 @@
|
|||
*/
|
||||
|
||||
.postbox-header {
|
||||
position: relative;
|
||||
padding: 0 20px;
|
||||
position: relative;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
|
@ -63,28 +63,28 @@ Limited to a number of IDs to not affect all dashboards
|
|||
#footnote_inputfield_readon_label,
|
||||
#footnote_inputfield_references_label,
|
||||
#footnote_inputfield_love {
|
||||
padding-left: 8px !important;
|
||||
padding-right: 8px !important;
|
||||
width: 80% !important;
|
||||
padding-left: 8px !important;
|
||||
padding-right: 8px !important;
|
||||
width: 80% !important;
|
||||
}
|
||||
|
||||
#footnote_inputfield_reference_container_place {
|
||||
width: 310px;
|
||||
width: 310px;
|
||||
}
|
||||
|
||||
#footnote_inputfield_counter_style,
|
||||
#footnotes_inputfield_page_layout_support {
|
||||
width: 505px;
|
||||
width: 505px;
|
||||
}
|
||||
|
||||
#footnote_inputfield_placeholder_start,
|
||||
#footnote_inputfield_placeholder_end,
|
||||
#footnote_inputfield_custom_mouse_over_box_excerpt_length {
|
||||
width: 180px;
|
||||
width: 180px;
|
||||
}
|
||||
#footnote_inputfield_placeholder_start_user_defined,
|
||||
#footnote_inputfield_placeholder_end_user_defined {
|
||||
width: 320px;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
#footnote_inputfield_combine_identical,
|
||||
|
@ -103,13 +103,13 @@ Limited to a number of IDs to not affect all dashboards
|
|||
#footnotes_inputfield_mouse_over_box_fade_out_duration,
|
||||
#footnote_inputfield_custom_mouse_over_box_border_width,
|
||||
#footnote_inputfield_custom_mouse_over_box_border_radius {
|
||||
width: 80px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
#footnote_inputfield_custom_hyperlink_symbol,
|
||||
#footnotes_inputfield_backlinks_terminator_option,
|
||||
#footnotes_inputfield_backlinks_separator_option {
|
||||
width: 230px;
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
#footnotes_inputfield_reference_container_top_margin,
|
||||
|
@ -117,13 +117,13 @@ Limited to a number of IDs to not affect all dashboards
|
|||
#footnotes_inputfield_backlinks_column_width_scalar,
|
||||
#footnotes_inputfield_backlinks_column_max_width_scalar,
|
||||
#footnotes_inputfield_mouse_over_box_font_size_scalar {
|
||||
width: 85px;
|
||||
width: 85px;
|
||||
}
|
||||
|
||||
#footnotes_inputfield_backlinks_column_width_unit,
|
||||
#footnotes_inputfield_backlinks_column_max_width_unit,
|
||||
#footnotes_inputfield_mouse_over_box_font_size_unit {
|
||||
width: 140px;
|
||||
width: 140px;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
|
@ -131,44 +131,44 @@ Headings and labels
|
|||
*/
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.postbox > h3 {
|
||||
height: 32px !important;
|
||||
line-height: 32px !important;
|
||||
height: 32px !important;
|
||||
line-height: 32px !important;
|
||||
}
|
||||
|
||||
.postbox > h3 > span {
|
||||
padding: 0 10px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.postbox > .inside > table {
|
||||
border: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.postbox > .inside >table > tbody > tr > td:first-child {
|
||||
width: 15% !important;
|
||||
font-weight: bold !important;
|
||||
width: 15% !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
.footnote_placeholder_box_container {
|
||||
text-align: center !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
span.footnote_highlight_placeholder {
|
||||
font-weight: bold !important;
|
||||
padding: 0 8px !important;
|
||||
font-weight: bold !important;
|
||||
padding: 0 8px !important;
|
||||
}
|
||||
|
||||
.footnote_placeholder_box_example {
|
||||
border: 2px solid #2bb975 !important;
|
||||
border-radius: 4px !important;
|
||||
padding: 16px 0 !important;
|
||||
width: 50% !important;
|
||||
display: block !important;
|
||||
margin: 20px auto !important;
|
||||
text-align: center !important;
|
||||
border: 2px solid #2bb975 !important;
|
||||
border-radius: 4px !important;
|
||||
padding: 16px 0 !important;
|
||||
width: 50% !important;
|
||||
display: block !important;
|
||||
margin: 20px auto !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
|
@ -180,22 +180,22 @@ IE doesn’t support nth child, but these are not critical
|
|||
*/
|
||||
.expert_lookup tr th:first-child,
|
||||
.expert_lookup tr td:first-child {
|
||||
width: 170px !important;
|
||||
width: 170px !important;
|
||||
}
|
||||
.expert_lookup tr th:nth-child(2),
|
||||
.expert_lookup tr td:nth-child(2) {
|
||||
width: 65px !important;
|
||||
width: 65px !important;
|
||||
}
|
||||
.expert_lookup tr th:nth-child(3),
|
||||
.expert_lookup tr td:nth-child(3) {
|
||||
width: 200px !important;
|
||||
width: 200px !important;
|
||||
}
|
||||
.expert_lookup tr td:nth-child(3) input {
|
||||
width: 190px;
|
||||
width: 190px;
|
||||
}
|
||||
.expert_lookup tr th:last-child,
|
||||
.expert_lookup tr td:last-child {
|
||||
white-space: nowrap;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -216,31 +216,31 @@ The textarea has monospace font, but no other features
|
|||
helping edit CSS, like tab support and syntactic colors.
|
||||
*/
|
||||
#customize_css_new tr td:first-child {
|
||||
width: 38% !important;
|
||||
font-weight: normal !important;
|
||||
width: 38% !important;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
.customize_css_new tr td:first-child span:first-child {
|
||||
font-weight: bold !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.customize_css_new .list {
|
||||
padding-top: 10px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.customize_css_new .list p {
|
||||
font-family: monospace;
|
||||
padding: 0 10px;
|
||||
text-indent: -10px;
|
||||
margin: .5em 0;
|
||||
font-family: monospace;
|
||||
padding: 0 10px;
|
||||
text-indent: -10px;
|
||||
margin: .5em 0;
|
||||
}
|
||||
|
||||
#footnote_inputfield_custom_css_new {
|
||||
height: 500px;
|
||||
height: 500px;
|
||||
}
|
||||
#footnote_inputfield_custom_css,
|
||||
#footnote_inputfield_custom_css_new {
|
||||
width: 96%;
|
||||
resize: both;
|
||||
overflow: scroll;
|
||||
font-family: monospace;
|
||||
width: 96%;
|
||||
resize: both;
|
||||
overflow: scroll;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
|
@ -260,9 +260,9 @@ look weird.
|
|||
since 2.1.4
|
||||
*/
|
||||
.footnotes_notice {
|
||||
font-style: italic;
|
||||
display: inline-block;
|
||||
text-align: end;
|
||||
font-style: italic;
|
||||
display: inline-block;
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
|
@ -274,9 +274,9 @@ Use case: more extensive information not fitting into a brief
|
|||
notice after the end of the settings box.
|
||||
*/
|
||||
.footnotes_description {
|
||||
padding: 0 4%;
|
||||
padding: 0 4%;
|
||||
}
|
||||
.footnotes_description p {
|
||||
font-size: 1.06em;
|
||||
font-style: italic;
|
||||
font-size: 1.06em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<?php
|
||||
/*
|
||||
Plugin Name: footnotes
|
||||
Plugin URI: https://wordpress.org/plugins/footnotes/
|
||||
Description: time to bring footnotes to your website! footnotes are known from offline publishing and everybody takes them for granted when reading a magazine.
|
||||
Author: Mark Cheret
|
||||
Version: 2.5.6d0
|
||||
Author URI: http://cheret.de/plugins/footnotes-2/
|
||||
Text Domain: footnotes
|
||||
Domain Path: /languages
|
||||
Plugin Name: footnotes
|
||||
Plugin URI: https://wordpress.org/plugins/footnotes/
|
||||
Description: time to bring footnotes to your website! footnotes are known from offline publishing and everybody takes them for granted when reading a magazine.
|
||||
Author: Mark Cheret
|
||||
Version: 2.5.6d1
|
||||
Author URI: http://cheret.de/plugins/footnotes-2/
|
||||
Text Domain: footnotes
|
||||
Domain Path: /languages
|
||||
*/
|
||||
/*
|
||||
* Copyright 2021 Mark Cheret (email: mark@cheret.de)
|
||||
|
@ -18,26 +18,26 @@
|
|||
* @since 2.1.4
|
||||
* @since 2.5.3 (Hungarian)
|
||||
* @var str
|
||||
* @lastmodified 2021-02-18T1919+0100
|
||||
* @lastmodified 2021-02-18T2048+0100
|
||||
* @committer @pewgeuges
|
||||
*/
|
||||
define( 'C_STR_FOOTNOTES_VERSION', '2.5.6d0' );
|
||||
define( 'C_STR_FOOTNOTES_VERSION', '2.5.6d1' );
|
||||
|
||||
/*
|
||||
LICENSE NOTICE
|
||||
LICENSE NOTICE
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 3, as
|
||||
published by the Free Software Foundation.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 3, as
|
||||
published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
* Make sure to sync the version number in class/init.php:
|
||||
* @version 1.2.7.redacted.2
|
||||
*
|
||||
* @lastmodified 2021-02-05T0618+0100
|
||||
* @lastmodified 2021-02-18T2032+0100
|
||||
* @accountable @pewgeuges
|
||||
*
|
||||
* @since 2.0.0 Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett @twellve_million bug reports, thanks to @vonpiernik code contribution
|
||||
|
@ -125,472 +125,472 @@
|
|||
*/
|
||||
|
||||
(function (a) {
|
||||
a.tools = a.tools || {version: "v1.2.7"};
|
||||
var b;
|
||||
b = a.tools.expose = {conf: {maskId: "exposeMask", loadSpeed: "slow", closeSpeed: "fast", closeOnClick: !0, closeOnEsc: !0, zIndex: 9998, opacity: .8, startOpacity: 0, color: "#fff", onLoad: null, onClose: null}};
|
||||
function c() {
|
||||
a.tools = a.tools || {version: "v1.2.7"};
|
||||
var b;
|
||||
b = a.tools.expose = {conf: {maskId: "exposeMask", loadSpeed: "slow", closeSpeed: "fast", closeOnClick: !0, closeOnEsc: !0, zIndex: 9998, opacity: .8, startOpacity: 0, color: "#fff", onLoad: null, onClose: null}};
|
||||
function c() {
|
||||
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #1 This was only a tweak to adjust width and height in Internet Explorer.
|
||||
*/
|
||||
|
||||
/*if (a.browser && a.browser.msie) {
|
||||
var b = a(document).height(), c = a(window).height();
|
||||
return[window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, b - c < 20 ? c : b]
|
||||
}*/
|
||||
return[a(document).width(), a(document).height()]
|
||||
}
|
||||
|
||||
function d(b) {
|
||||
if (b)return b.call(a.mask)
|
||||
}
|
||||
|
||||
var e, f, g, h, i;
|
||||
a.mask = {load: function (j, k) {
|
||||
if (g)return this;
|
||||
|
||||
/**
|
||||
* EQUALS SIGN IN JAVASCRIPT
|
||||
*
|
||||
* - Bugfix: Libraries: jQuery Tools: replace discouraged double equals sign with recommended triple equals sign
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* @since 2.5.4
|
||||
* @date 2021-01-27T1955+0100
|
||||
* @accountable @pewgeuges
|
||||
*
|
||||
* 23 instances (27 less 4 already triple), first below, next was already
|
||||
* All instances checked whether '==' has the semantics of '===', though.
|
||||
* @bib Douglas Crockford, JavaScript: The Good Parts
|
||||
*/
|
||||
* #1 This was only a tweak to adjust width and height in Internet Explorer.
|
||||
*/
|
||||
|
||||
typeof j === "string" && (j = {color: j}), j = j || h, h = j = a.extend(a.extend({}, b.conf), j), e = a("#" + j.maskId), e.length || (e = a("<div/>").attr("id", j.maskId), a("body").append(e));
|
||||
var l = c();
|
||||
e.css({position: "absolute", top: 0, left: 0, width: l[0], height: l[1], display: "none", opacity: j.startOpacity, zIndex: j.zIndex}), j.color && e.css("backgroundColor", j.color);
|
||||
if (d(j.onBeforeLoad) === !1)return this;
|
||||
j.closeOnEsc && a(document).on("keydown.mask", function (b) {
|
||||
b.keyCode === 27 && a.mask.close(b)
|
||||
}), j.closeOnClick && e.on("click.mask", function (b) {
|
||||
a.mask.close(b)
|
||||
}), a(window).on("resize.mask", function () {
|
||||
a.mask.fit()
|
||||
}), k && k.length && (i = k.eq(0).css("zIndex"), a.each(k, function () {
|
||||
var b = a(this);
|
||||
/relative|absolute|fixed/i.test(b.css("position")) || b.css("position", "relative")
|
||||
}), f = k.css({zIndex: Math.max(j.zIndex + 1, i === "auto" ? 0 : i)})), e.css({display: "block"}).fadeTo(j.loadSpeed, j.opacity, function () {
|
||||
a.mask.fit(), d(j.onLoad), g = "full"
|
||||
}), g = !0;
|
||||
return this
|
||||
}, close: function () {
|
||||
if (g) {
|
||||
if (d(h.onBeforeClose) === !1)return this;
|
||||
e.fadeOut(h.closeSpeed, function () {
|
||||
d(h.onClose), f && f.css({zIndex: i}), g = !1
|
||||
}), a(document).off("keydown.mask"), e.off("click.mask"), a(window).off("resize.mask")
|
||||
}
|
||||
return this
|
||||
}, fit: function () {
|
||||
if (g) {
|
||||
var a = c();
|
||||
e.css({width: a[0], height: a[1]})
|
||||
}
|
||||
}, getMask: function () {
|
||||
return e
|
||||
}, isLoaded: function (a) {
|
||||
return a ? g === "full" : g
|
||||
}, getConf: function () {
|
||||
return h
|
||||
}, getExposed: function () {
|
||||
return f
|
||||
}}, a.fn.mask = function (b) {
|
||||
a.mask.load(b);
|
||||
return this
|
||||
}, a.fn.expose = function (b) {
|
||||
a.mask.load(b, this);
|
||||
return this
|
||||
}
|
||||
/*if (a.browser && a.browser.msie) {
|
||||
var b = a(document).height(), c = a(window).height();
|
||||
return[window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, b - c < 20 ? c : b]
|
||||
}*/
|
||||
return[a(document).width(), a(document).height()]
|
||||
}
|
||||
|
||||
function d(b) {
|
||||
if (b)return b.call(a.mask)
|
||||
}
|
||||
|
||||
var e, f, g, h, i;
|
||||
a.mask = {load: function (j, k) {
|
||||
if (g)return this;
|
||||
|
||||
/**
|
||||
* EQUALS SIGN IN JAVASCRIPT
|
||||
*
|
||||
* - Bugfix: Libraries: jQuery Tools: replace discouraged double equals sign with recommended triple equals sign
|
||||
*
|
||||
* @since 2.5.4
|
||||
* @date 2021-01-27T1955+0100
|
||||
* @accountable @pewgeuges
|
||||
*
|
||||
* 23 instances (27 less 4 already triple), first below, next was already
|
||||
* All instances checked whether '==' has the semantics of '===', though.
|
||||
* @bib Douglas Crockford, JavaScript: The Good Parts
|
||||
*/
|
||||
|
||||
typeof j === "string" && (j = {color: j}), j = j || h, h = j = a.extend(a.extend({}, b.conf), j), e = a("#" + j.maskId), e.length || (e = a("<div/>").attr("id", j.maskId), a("body").append(e));
|
||||
var l = c();
|
||||
e.css({position: "absolute", top: 0, left: 0, width: l[0], height: l[1], display: "none", opacity: j.startOpacity, zIndex: j.zIndex}), j.color && e.css("backgroundColor", j.color);
|
||||
if (d(j.onBeforeLoad) === !1)return this;
|
||||
j.closeOnEsc && a(document).on("keydown.mask", function (b) {
|
||||
b.keyCode === 27 && a.mask.close(b)
|
||||
}), j.closeOnClick && e.on("click.mask", function (b) {
|
||||
a.mask.close(b)
|
||||
}), a(window).on("resize.mask", function () {
|
||||
a.mask.fit()
|
||||
}), k && k.length && (i = k.eq(0).css("zIndex"), a.each(k, function () {
|
||||
var b = a(this);
|
||||
/relative|absolute|fixed/i.test(b.css("position")) || b.css("position", "relative")
|
||||
}), f = k.css({zIndex: Math.max(j.zIndex + 1, i === "auto" ? 0 : i)})), e.css({display: "block"}).fadeTo(j.loadSpeed, j.opacity, function () {
|
||||
a.mask.fit(), d(j.onLoad), g = "full"
|
||||
}), g = !0;
|
||||
return this
|
||||
}, close: function () {
|
||||
if (g) {
|
||||
if (d(h.onBeforeClose) === !1)return this;
|
||||
e.fadeOut(h.closeSpeed, function () {
|
||||
d(h.onClose), f && f.css({zIndex: i}), g = !1
|
||||
}), a(document).off("keydown.mask"), e.off("click.mask"), a(window).off("resize.mask")
|
||||
}
|
||||
return this
|
||||
}, fit: function () {
|
||||
if (g) {
|
||||
var a = c();
|
||||
e.css({width: a[0], height: a[1]})
|
||||
}
|
||||
}, getMask: function () {
|
||||
return e
|
||||
}, isLoaded: function (a) {
|
||||
return a ? g === "full" : g
|
||||
}, getConf: function () {
|
||||
return h
|
||||
}, getExposed: function () {
|
||||
return f
|
||||
}}, a.fn.mask = function (b) {
|
||||
a.mask.load(b);
|
||||
return this
|
||||
}, a.fn.expose = function (b) {
|
||||
a.mask.load(b, this);
|
||||
return this
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
(function () {
|
||||
var a = document.all, b = "http://www.adobe.com/go/getflashplayer", c = typeof jQuery === "function", d = /(\d+)[^\d]+(\d+)[^\d]*(\d*)/, e = {width: "100%", height: "100%", id: "_" + ("" + Math.random()).slice(9), allowfullscreen: !0, allowscriptaccess: "always", quality: "high", version: [3, 0], onFail: null, expressInstall: null, w3c: !1, cachebusting: !1};
|
||||
window.attachEvent && window.attachEvent("onbeforeunload", function () {
|
||||
__flash_unloadHandler = function () {
|
||||
}, __flash_savedUnloadHandler = function () {
|
||||
}
|
||||
});
|
||||
function f(a, b) {
|
||||
if (b)for (var c in b)b.hasOwnProperty(c) && (a[c] = b[c]);
|
||||
return a
|
||||
}
|
||||
var a = document.all, b = "http://www.adobe.com/go/getflashplayer", c = typeof jQuery === "function", d = /(\d+)[^\d]+(\d+)[^\d]*(\d*)/, e = {width: "100%", height: "100%", id: "_" + ("" + Math.random()).slice(9), allowfullscreen: !0, allowscriptaccess: "always", quality: "high", version: [3, 0], onFail: null, expressInstall: null, w3c: !1, cachebusting: !1};
|
||||
window.attachEvent && window.attachEvent("onbeforeunload", function () {
|
||||
__flash_unloadHandler = function () {
|
||||
}, __flash_savedUnloadHandler = function () {
|
||||
}
|
||||
});
|
||||
function f(a, b) {
|
||||
if (b)for (var c in b)b.hasOwnProperty(c) && (a[c] = b[c]);
|
||||
return a
|
||||
}
|
||||
|
||||
function g(a, b) {
|
||||
var c = [];
|
||||
for (var d in a)a.hasOwnProperty(d) && (c[d] = b(a[d]));
|
||||
return c
|
||||
}
|
||||
function g(a, b) {
|
||||
var c = [];
|
||||
for (var d in a)a.hasOwnProperty(d) && (c[d] = b(a[d]));
|
||||
return c
|
||||
}
|
||||
|
||||
window.flashembed = function (a, b, c) {
|
||||
typeof a === "string" && (a = document.getElementById(a.replace("#", "")));
|
||||
if (a) {
|
||||
typeof b === "string" && (b = {src: b});
|
||||
return new j(a, f(f({}, e), b), c)
|
||||
}
|
||||
};
|
||||
var h = f(window.flashembed, {conf: e, getVersion: function () {
|
||||
var a, b;
|
||||
try {
|
||||
b = navigator.plugins["Shockwave Flash"].description.slice(16)
|
||||
} catch (c) {
|
||||
try {
|
||||
a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"), b = a && a.GetVariable("$version")
|
||||
} catch (e) {
|
||||
try {
|
||||
a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"), b = a && a.GetVariable("$version")
|
||||
} catch (f) {
|
||||
}
|
||||
}
|
||||
}
|
||||
b = d.exec(b);
|
||||
return b ? [b[1], b[3]] : [0, 0]
|
||||
}, asString: function (a) {
|
||||
if (a === null || a === undefined)return null;
|
||||
var b = typeof a;
|
||||
b === "object" && a.push && (b = "array");
|
||||
switch (b) {
|
||||
case"string":
|
||||
a = a.replace(new RegExp("([\"\\\\])", "g"), "\\$1"), a = a.replace(/^\s?(\d+\.?\d*)%/, "$1pct");
|
||||
return"\"" + a + "\"";
|
||||
case"array":
|
||||
return"[" + g(a,function (a) {
|
||||
return h.asString(a)
|
||||
}).join(",") + "]";
|
||||
case"function":
|
||||
return"\"function()\"";
|
||||
case"object":
|
||||
var c = [];
|
||||
for (var d in a)a.hasOwnProperty(d) && c.push("\"" + d + "\":" + h.asString(a[d]));
|
||||
return"{" + c.join(",") + "}"
|
||||
}
|
||||
return String(a).replace(/\s/g, " ").replace(/\'/g, "\"")
|
||||
}, getHTML: function (b, c) {
|
||||
b = f({}, b);
|
||||
var d = "<object width=\"" + b.width + "\" height=\"" + b.height + "\" id=\"" + b.id + "\" name=\"" + b.id + "\"";
|
||||
b.cachebusting && (b.src += (b.src.indexOf("?") != -1 ? "&" : "?") + Math.random()), b.w3c || !a ? d += " data=\"" + b.src + "\" type=\"application/x-shockwave-flash\"" : d += " classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"", d += ">";
|
||||
if (b.w3c || a)d += "<param name=\"movie\" value=\"" + b.src + "\" />";
|
||||
b.width = b.height = b.id = b.w3c = b.src = null, b.onFail = b.version = b.expressInstall = null;
|
||||
for (var e in b)b[e] && (d += "<param name=\"" + e + "\" value=\"" + b[e] + "\" />");
|
||||
var g = "";
|
||||
if (c) {
|
||||
for (var i in c)if (c[i]) {
|
||||
var j = c[i];
|
||||
g += i + "=" + encodeURIComponent(/function|object/.test(typeof j) ? h.asString(j) : j) + "&"
|
||||
}
|
||||
g = g.slice(0, -1), d += "<param name=\"flashvars\" value='" + g + "' />"
|
||||
}
|
||||
d += "</object>";
|
||||
return d
|
||||
}, isSupported: function (a) {
|
||||
return i[0] > a[0] || i[0] === a[0] && i[1] >= a[1]
|
||||
}}), i = h.getVersion();
|
||||
window.flashembed = function (a, b, c) {
|
||||
typeof a === "string" && (a = document.getElementById(a.replace("#", "")));
|
||||
if (a) {
|
||||
typeof b === "string" && (b = {src: b});
|
||||
return new j(a, f(f({}, e), b), c)
|
||||
}
|
||||
};
|
||||
var h = f(window.flashembed, {conf: e, getVersion: function () {
|
||||
var a, b;
|
||||
try {
|
||||
b = navigator.plugins["Shockwave Flash"].description.slice(16)
|
||||
} catch (c) {
|
||||
try {
|
||||
a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"), b = a && a.GetVariable("$version")
|
||||
} catch (e) {
|
||||
try {
|
||||
a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"), b = a && a.GetVariable("$version")
|
||||
} catch (f) {
|
||||
}
|
||||
}
|
||||
}
|
||||
b = d.exec(b);
|
||||
return b ? [b[1], b[3]] : [0, 0]
|
||||
}, asString: function (a) {
|
||||
if (a === null || a === undefined)return null;
|
||||
var b = typeof a;
|
||||
b === "object" && a.push && (b = "array");
|
||||
switch (b) {
|
||||
case"string":
|
||||
a = a.replace(new RegExp("([\"\\\\])", "g"), "\\$1"), a = a.replace(/^\s?(\d+\.?\d*)%/, "$1pct");
|
||||
return"\"" + a + "\"";
|
||||
case"array":
|
||||
return"[" + g(a,function (a) {
|
||||
return h.asString(a)
|
||||
}).join(",") + "]";
|
||||
case"function":
|
||||
return"\"function()\"";
|
||||
case"object":
|
||||
var c = [];
|
||||
for (var d in a)a.hasOwnProperty(d) && c.push("\"" + d + "\":" + h.asString(a[d]));
|
||||
return"{" + c.join(",") + "}"
|
||||
}
|
||||
return String(a).replace(/\s/g, " ").replace(/\'/g, "\"")
|
||||
}, getHTML: function (b, c) {
|
||||
b = f({}, b);
|
||||
var d = "<object width=\"" + b.width + "\" height=\"" + b.height + "\" id=\"" + b.id + "\" name=\"" + b.id + "\"";
|
||||
b.cachebusting && (b.src += (b.src.indexOf("?") != -1 ? "&" : "?") + Math.random()), b.w3c || !a ? d += " data=\"" + b.src + "\" type=\"application/x-shockwave-flash\"" : d += " classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"", d += ">";
|
||||
if (b.w3c || a)d += "<param name=\"movie\" value=\"" + b.src + "\" />";
|
||||
b.width = b.height = b.id = b.w3c = b.src = null, b.onFail = b.version = b.expressInstall = null;
|
||||
for (var e in b)b[e] && (d += "<param name=\"" + e + "\" value=\"" + b[e] + "\" />");
|
||||
var g = "";
|
||||
if (c) {
|
||||
for (var i in c)if (c[i]) {
|
||||
var j = c[i];
|
||||
g += i + "=" + encodeURIComponent(/function|object/.test(typeof j) ? h.asString(j) : j) + "&"
|
||||
}
|
||||
g = g.slice(0, -1), d += "<param name=\"flashvars\" value='" + g + "' />"
|
||||
}
|
||||
d += "</object>";
|
||||
return d
|
||||
}, isSupported: function (a) {
|
||||
return i[0] > a[0] || i[0] === a[0] && i[1] >= a[1]
|
||||
}}), i = h.getVersion();
|
||||
|
||||
function j(c, d, e) {
|
||||
if (h.isSupported(d.version))c.innerHTML = h.getHTML(d, e); else if (d.expressInstall && h.isSupported([6, 65]))c.innerHTML = h.getHTML(f(d, {src: d.expressInstall}), {MMredirectURL: location.href, MMplayerType: "PlugIn", MMdoctitle: document.title}); else {
|
||||
c.innerHTML.replace(/\s/g, "") || (c.innerHTML = "<h2>Flash version " + d.version + " or greater is required</h2><h3>" + (i[0] > 0 ? "Your version is " + i : "You have no flash plugin installed") + "</h3>" + (c.tagName === "A" ? "<p>Click here to download latest version</p>" : "<p>Download latest version from <a href='" + b + "'>here</a></p>"), c.tagName === "A" && (c.onclick = function () {
|
||||
location.href = b
|
||||
}));
|
||||
if (d.onFail) {
|
||||
var g = d.onFail.call(this);
|
||||
typeof g === "string" && (c.innerHTML = g)
|
||||
}
|
||||
}
|
||||
a && (window[d.id] = document.getElementById(d.id)), f(this, {getRoot: function () {
|
||||
return c
|
||||
}, getOptions: function () {
|
||||
return d
|
||||
}, getConf: function () {
|
||||
return e
|
||||
}, getApi: function () {
|
||||
return c.firstChild
|
||||
}})
|
||||
}
|
||||
function j(c, d, e) {
|
||||
if (h.isSupported(d.version))c.innerHTML = h.getHTML(d, e); else if (d.expressInstall && h.isSupported([6, 65]))c.innerHTML = h.getHTML(f(d, {src: d.expressInstall}), {MMredirectURL: location.href, MMplayerType: "PlugIn", MMdoctitle: document.title}); else {
|
||||
c.innerHTML.replace(/\s/g, "") || (c.innerHTML = "<h2>Flash version " + d.version + " or greater is required</h2><h3>" + (i[0] > 0 ? "Your version is " + i : "You have no flash plugin installed") + "</h3>" + (c.tagName === "A" ? "<p>Click here to download latest version</p>" : "<p>Download latest version from <a href='" + b + "'>here</a></p>"), c.tagName === "A" && (c.onclick = function () {
|
||||
location.href = b
|
||||
}));
|
||||
if (d.onFail) {
|
||||
var g = d.onFail.call(this);
|
||||
typeof g === "string" && (c.innerHTML = g)
|
||||
}
|
||||
}
|
||||
a && (window[d.id] = document.getElementById(d.id)), f(this, {getRoot: function () {
|
||||
return c
|
||||
}, getOptions: function () {
|
||||
return d
|
||||
}, getConf: function () {
|
||||
return e
|
||||
}, getApi: function () {
|
||||
return c.firstChild
|
||||
}})
|
||||
}
|
||||
|
||||
c && (jQuery.tools = jQuery.tools || {version: "v1.2.7"}, jQuery.tools.flashembed = {conf: e}, jQuery.fn.flashembed = function (a, b) {
|
||||
return this.each(function () {
|
||||
jQuery(this).data("flashembed", flashembed(this, a, b))
|
||||
})
|
||||
})
|
||||
c && (jQuery.tools = jQuery.tools || {version: "v1.2.7"}, jQuery.tools.flashembed = {conf: e}, jQuery.fn.flashembed = function (a, b) {
|
||||
return this.each(function () {
|
||||
jQuery(this).data("flashembed", flashembed(this, a, b))
|
||||
})
|
||||
})
|
||||
})();
|
||||
|
||||
(function (a) {
|
||||
var b, c, d, e;
|
||||
a.tools = a.tools || {version: "v1.2.7"}, a.tools.history = {init: function (g) {
|
||||
var b, c, d, e;
|
||||
a.tools = a.tools || {version: "v1.2.7"}, a.tools.history = {init: function (g) {
|
||||
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #2 This was only for very old Internet Explorer (older than IE8).
|
||||
*/
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #2 This was only for very old Internet Explorer (older than IE8).
|
||||
*/
|
||||
|
||||
e || (/*a.browser && a.browser.msie && a.browser.version < "8" ? c || (c = a("<iframe/>").attr("src", "javascript:false;").hide().get(0), a("body").append(c), setInterval(function () {
|
||||
var d = c.contentWindow.document, e = d.location.hash;
|
||||
b !== e && a(window).trigger("hash", e)
|
||||
}, 100), f(location.hash || "#")) :*/ setInterval(function () {
|
||||
var c = location.hash;
|
||||
c !== b && a(window).trigger("hash", c)
|
||||
}, 100), d = d ? d.add(g) : g, g.click(function (b) {
|
||||
var d = a(this).attr("href");
|
||||
c && f(d);
|
||||
if (d.slice(0, 1) != "#") {
|
||||
location.href = "#" + d;
|
||||
return b.preventDefault()
|
||||
}
|
||||
}), e = !0)
|
||||
}};
|
||||
function f(a) {
|
||||
if (a) {
|
||||
var b = c.contentWindow.document;
|
||||
b.open().close(), b.location.hash = a
|
||||
}
|
||||
}
|
||||
e || (/*a.browser && a.browser.msie && a.browser.version < "8" ? c || (c = a("<iframe/>").attr("src", "javascript:false;").hide().get(0), a("body").append(c), setInterval(function () {
|
||||
var d = c.contentWindow.document, e = d.location.hash;
|
||||
b !== e && a(window).trigger("hash", e)
|
||||
}, 100), f(location.hash || "#")) :*/ setInterval(function () {
|
||||
var c = location.hash;
|
||||
c !== b && a(window).trigger("hash", c)
|
||||
}, 100), d = d ? d.add(g) : g, g.click(function (b) {
|
||||
var d = a(this).attr("href");
|
||||
c && f(d);
|
||||
if (d.slice(0, 1) != "#") {
|
||||
location.href = "#" + d;
|
||||
return b.preventDefault()
|
||||
}
|
||||
}), e = !0)
|
||||
}};
|
||||
function f(a) {
|
||||
if (a) {
|
||||
var b = c.contentWindow.document;
|
||||
b.open().close(), b.location.hash = a
|
||||
}
|
||||
}
|
||||
|
||||
a(window).on("hash", function (c, e) {
|
||||
e ? d.filter(function () {
|
||||
var b = a(this).attr("href");
|
||||
return b === e || b === e.replace("#", "")
|
||||
}).trigger("history", [e]) : d.eq(0).trigger("history", [e]), b = e
|
||||
}), a.fn.history = function (b) {
|
||||
a.tools.history.init(this);
|
||||
return this.on("history", b)
|
||||
}
|
||||
a(window).on("hash", function (c, e) {
|
||||
e ? d.filter(function () {
|
||||
var b = a(this).attr("href");
|
||||
return b === e || b === e.replace("#", "")
|
||||
}).trigger("history", [e]) : d.eq(0).trigger("history", [e]), b = e
|
||||
}), a.fn.history = function (b) {
|
||||
a.tools.history.init(this);
|
||||
return this.on("history", b)
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
(function (a) {
|
||||
a.fn.mousewheel = function (a) {
|
||||
return this[a ? "on" : "trigger"]("wheel", a)
|
||||
}, a.event.special.wheel = {setup: function () {
|
||||
a.event.add(this, b, c, {})
|
||||
}, teardown: function () {
|
||||
a.event.remove(this, b, c)
|
||||
}};
|
||||
a.fn.mousewheel = function (a) {
|
||||
return this[a ? "on" : "trigger"]("wheel", a)
|
||||
}, a.event.special.wheel = {setup: function () {
|
||||
a.event.add(this, b, c, {})
|
||||
}, teardown: function () {
|
||||
a.event.remove(this, b, c)
|
||||
}};
|
||||
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #3 This was only about a naming convention of Firefox: 'DOMMouseScroll' vs 'mousewheel',
|
||||
* or 'mousemove' in very old Firefox (older than v1.9).
|
||||
* When making jQuery.browser optional, an 'if(a.browser)' condition was added around.
|
||||
*/
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #3 This was only about a naming convention of Firefox: 'DOMMouseScroll' vs 'mousewheel',
|
||||
* or 'mousemove' in very old Firefox (older than v1.9).
|
||||
* When making jQuery.browser optional, an 'if(a.browser)' condition was added around.
|
||||
*/
|
||||
|
||||
var b = /*a.browser.mozilla ? "DOMMouseScroll" + (a.browser.version < "1.9" ? " mousemove" : "") :*/ "mousewheel";
|
||||
var b = /*a.browser.mozilla ? "DOMMouseScroll" + (a.browser.version < "1.9" ? " mousemove" : "") :*/ "mousewheel";
|
||||
|
||||
function c(b) {
|
||||
switch (b.type) {
|
||||
case"mousemove":
|
||||
return a.extend(b.data, {clientX: b.clientX, clientY: b.clientY, pageX: b.pageX, pageY: b.pageY});
|
||||
case"DOMMouseScroll":
|
||||
a.extend(b, b.data), b.delta = -b.detail / 3;
|
||||
break;
|
||||
case"mousewheel":
|
||||
b.delta = b.wheelDelta / 120
|
||||
}
|
||||
b.type = "wheel";
|
||||
return a.event.handle.call(this, b, b.delta)
|
||||
}
|
||||
function c(b) {
|
||||
switch (b.type) {
|
||||
case"mousemove":
|
||||
return a.extend(b.data, {clientX: b.clientX, clientY: b.clientY, pageX: b.pageX, pageY: b.pageY});
|
||||
case"DOMMouseScroll":
|
||||
a.extend(b, b.data), b.delta = -b.detail / 3;
|
||||
break;
|
||||
case"mousewheel":
|
||||
b.delta = b.wheelDelta / 120
|
||||
}
|
||||
b.type = "wheel";
|
||||
return a.event.handle.call(this, b, b.delta)
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
(function (a) {
|
||||
a.tools = a.tools || {version: "v1.2.7"}, a.tools.tooltip = {conf: {effect: "toggle", fadeOutSpeed: "fast", predelay: 0, delay: 30, opacity: 1, tip: 0, fadeIE: !1, position: ["top", "center"], offset: [0, 0], relative: !1, cancelDefault: !0, events: {def: "mouseenter,mouseleave", input: "focus,blur", widget: "focus mouseenter,blur mouseleave", tooltip: "mouseenter,mouseleave"}, layout: "<div/>", tipClass: "tooltip"}, addEffect: function (a, c, d) {
|
||||
b[a] = [c, d]
|
||||
}};
|
||||
var b = {toggle: [function (a) {
|
||||
var b = this.getConf(), c = this.getTip(), d = b.opacity;
|
||||
d < 1 && c.css({opacity: d}), c.show(), a.call()
|
||||
}, function (a) {
|
||||
this.getTip().hide(), a.call()
|
||||
}], fade: [function (b) {
|
||||
var c = this.getConf();
|
||||
a.tools = a.tools || {version: "v1.2.7"}, a.tools.tooltip = {conf: {effect: "toggle", fadeOutSpeed: "fast", predelay: 0, delay: 30, opacity: 1, tip: 0, fadeIE: !1, position: ["top", "center"], offset: [0, 0], relative: !1, cancelDefault: !0, events: {def: "mouseenter,mouseleave", input: "focus,blur", widget: "focus mouseenter,blur mouseleave", tooltip: "mouseenter,mouseleave"}, layout: "<div/>", tipClass: "tooltip"}, addEffect: function (a, c, d) {
|
||||
b[a] = [c, d]
|
||||
}};
|
||||
var b = {toggle: [function (a) {
|
||||
var b = this.getConf(), c = this.getTip(), d = b.opacity;
|
||||
d < 1 && c.css({opacity: d}), c.show(), a.call()
|
||||
}, function (a) {
|
||||
this.getTip().hide(), a.call()
|
||||
}], fade: [function (b) {
|
||||
var c = this.getConf();
|
||||
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #4 This disabled fade-in for Internet Explorer other than FadeIE.
|
||||
*/
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #4 This disabled fade-in for Internet Explorer other than FadeIE.
|
||||
*/
|
||||
|
||||
/*!(a.browser && a.browser.msie) || c.fadeIE ?*/ this.getTip().fadeTo(c.fadeInSpeed, c.opacity, b) /*: (this.getTip().show(), b())*/
|
||||
}, function (b) {
|
||||
var c = this.getConf();
|
||||
/*!(a.browser && a.browser.msie) || c.fadeIE ?*/ this.getTip().fadeTo(c.fadeInSpeed, c.opacity, b) /*: (this.getTip().show(), b())*/
|
||||
}, function (b) {
|
||||
var c = this.getConf();
|
||||
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #5 This disabled fade-out for Internet Explorer other than FadeIE.
|
||||
*/
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #5 This disabled fade-out for Internet Explorer other than FadeIE.
|
||||
*/
|
||||
|
||||
/*!(a.browser && a.browser.msie) || c.fadeIE ?*/ this.getTip().fadeOut(c.fadeOutSpeed, b) /*: (this.getTip().hide(), b())*/
|
||||
}]};
|
||||
/*!(a.browser && a.browser.msie) || c.fadeIE ?*/ this.getTip().fadeOut(c.fadeOutSpeed, b) /*: (this.getTip().hide(), b())*/
|
||||
}]};
|
||||
|
||||
function c(b, c, d) {
|
||||
var e = d.relative ? b.position().top : b.offset().top, f = d.relative ? b.position().left : b.offset().left, g = d.position[0];
|
||||
e -= c.outerHeight() - d.offset[0], f += b.outerWidth() + d.offset[1], /iPad/i.test(navigator.userAgent) && (e -= a(window).scrollTop());
|
||||
var h = c.outerHeight() + b.outerHeight();
|
||||
g === "center" && (e += h / 2), g === "bottom" && (e += h), g = d.position[1];
|
||||
var i = c.outerWidth() + b.outerWidth();
|
||||
g === "center" && (f -= i / 2), g === "left" && (f -= i);
|
||||
return{top: e, left: f}
|
||||
}
|
||||
function c(b, c, d) {
|
||||
var e = d.relative ? b.position().top : b.offset().top, f = d.relative ? b.position().left : b.offset().left, g = d.position[0];
|
||||
e -= c.outerHeight() - d.offset[0], f += b.outerWidth() + d.offset[1], /iPad/i.test(navigator.userAgent) && (e -= a(window).scrollTop());
|
||||
var h = c.outerHeight() + b.outerHeight();
|
||||
g === "center" && (e += h / 2), g === "bottom" && (e += h), g = d.position[1];
|
||||
var i = c.outerWidth() + b.outerWidth();
|
||||
g === "center" && (f -= i / 2), g === "left" && (f -= i);
|
||||
return{top: e, left: f}
|
||||
}
|
||||
|
||||
function d(d, e) {
|
||||
var f = this, g = d.add(f), h, i = 0, j = 0, k = d.attr("title"), l = d.attr("data-tooltip"), m = b[e.effect], n, o = d.is(":input"), p = o && d.is(":checkbox, :radio, select, :button, :submit"), q = d.attr("type"), r = e.events[q] || e.events[o ? p ? "widget" : "input" : "def"];
|
||||
if (!m)throw"Nonexistent effect \"" + e.effect + "\"";
|
||||
r = r.split(/,\s*/);
|
||||
if (r.length != 2)throw"Tooltip: bad events configuration for " + q;
|
||||
d.on(r[0],function (a) {
|
||||
clearTimeout(i), e.predelay ? j = setTimeout(function () {
|
||||
f.show(a)
|
||||
}, e.predelay) : f.show(a)
|
||||
}).on(r[1], function (a) {
|
||||
clearTimeout(j), e.delay ? i = setTimeout(function () {
|
||||
f.hide(a)
|
||||
}, e.delay) : f.hide(a)
|
||||
}), k && e.cancelDefault && (d.removeAttr("title"), d.data("title", k)), a.extend(f, {show: function (b) {
|
||||
if (!h) {
|
||||
l ? h = a(l) : e.tip ? h = a(e.tip).eq(0) : k ? h = a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k) : (h = d.next(), h.length || (h = d.parent().next()));
|
||||
if (!h.length)throw"Cannot find tooltip for " + d
|
||||
}
|
||||
if (f.isShown())return f;
|
||||
h.stop(!0, !0);
|
||||
var o = c(d, h, e);
|
||||
e.tip && h.html(d.data("title")), b = a.Event(), b.type = "onBeforeShow", g.trigger(b, [o]);
|
||||
if (b.isDefaultPrevented())return f;
|
||||
o = c(d, h, e), h.css({position: "absolute", top: o.top, left: o.left}), n = !0, m[0].call(f, function () {
|
||||
b.type = "onShow", n = "full", g.trigger(b)
|
||||
});
|
||||
var p = e.events.tooltip.split(/,\s*/);
|
||||
h.data("__set") || (h.off(p[0]).on(p[0], function () {
|
||||
clearTimeout(i), clearTimeout(j)
|
||||
}), p[1] && !d.is("input:not(:checkbox, :radio), textarea") && h.off(p[1]).on(p[1], function (a) {
|
||||
a.relatedTarget != d[0] && d.trigger(r[1].split(" ")[0])
|
||||
}), e.tip || h.data("__set", !0));
|
||||
return f
|
||||
}, hide: function (c) {
|
||||
if (!h || !f.isShown())return f;
|
||||
c = a.Event(), c.type = "onBeforeHide", g.trigger(c);
|
||||
if (!c.isDefaultPrevented()) {
|
||||
n = !1, b[e.effect][1].call(f, function () {
|
||||
c.type = "onHide", g.trigger(c)
|
||||
});
|
||||
return f
|
||||
}
|
||||
}, isShown: function (a) {
|
||||
return a ? n === "full" : n
|
||||
}, getConf: function () {
|
||||
return e
|
||||
}, getTip: function () {
|
||||
return h
|
||||
}, getTrigger: function () {
|
||||
return d
|
||||
}}), a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function (b, c) {
|
||||
function d(d, e) {
|
||||
var f = this, g = d.add(f), h, i = 0, j = 0, k = d.attr("title"), l = d.attr("data-tooltip"), m = b[e.effect], n, o = d.is(":input"), p = o && d.is(":checkbox, :radio, select, :button, :submit"), q = d.attr("type"), r = e.events[q] || e.events[o ? p ? "widget" : "input" : "def"];
|
||||
if (!m)throw"Nonexistent effect \"" + e.effect + "\"";
|
||||
r = r.split(/,\s*/);
|
||||
if (r.length != 2)throw"Tooltip: bad events configuration for " + q;
|
||||
d.on(r[0],function (a) {
|
||||
clearTimeout(i), e.predelay ? j = setTimeout(function () {
|
||||
f.show(a)
|
||||
}, e.predelay) : f.show(a)
|
||||
}).on(r[1], function (a) {
|
||||
clearTimeout(j), e.delay ? i = setTimeout(function () {
|
||||
f.hide(a)
|
||||
}, e.delay) : f.hide(a)
|
||||
}), k && e.cancelDefault && (d.removeAttr("title"), d.data("title", k)), a.extend(f, {show: function (b) {
|
||||
if (!h) {
|
||||
l ? h = a(l) : e.tip ? h = a(e.tip).eq(0) : k ? h = a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k) : (h = d.next(), h.length || (h = d.parent().next()));
|
||||
if (!h.length)throw"Cannot find tooltip for " + d
|
||||
}
|
||||
if (f.isShown())return f;
|
||||
h.stop(!0, !0);
|
||||
var o = c(d, h, e);
|
||||
e.tip && h.html(d.data("title")), b = a.Event(), b.type = "onBeforeShow", g.trigger(b, [o]);
|
||||
if (b.isDefaultPrevented())return f;
|
||||
o = c(d, h, e), h.css({position: "absolute", top: o.top, left: o.left}), n = !0, m[0].call(f, function () {
|
||||
b.type = "onShow", n = "full", g.trigger(b)
|
||||
});
|
||||
var p = e.events.tooltip.split(/,\s*/);
|
||||
h.data("__set") || (h.off(p[0]).on(p[0], function () {
|
||||
clearTimeout(i), clearTimeout(j)
|
||||
}), p[1] && !d.is("input:not(:checkbox, :radio), textarea") && h.off(p[1]).on(p[1], function (a) {
|
||||
a.relatedTarget != d[0] && d.trigger(r[1].split(" ")[0])
|
||||
}), e.tip || h.data("__set", !0));
|
||||
return f
|
||||
}, hide: function (c) {
|
||||
if (!h || !f.isShown())return f;
|
||||
c = a.Event(), c.type = "onBeforeHide", g.trigger(c);
|
||||
if (!c.isDefaultPrevented()) {
|
||||
n = !1, b[e.effect][1].call(f, function () {
|
||||
c.type = "onHide", g.trigger(c)
|
||||
});
|
||||
return f
|
||||
}
|
||||
}, isShown: function (a) {
|
||||
return a ? n === "full" : n
|
||||
}, getConf: function () {
|
||||
return e
|
||||
}, getTip: function () {
|
||||
return h
|
||||
}, getTrigger: function () {
|
||||
return d
|
||||
}}), a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","), function (b, c) {
|
||||
|
||||
/**
|
||||
* REPLACE DEPRECATED FUNCTION jQuery.isFunction()
|
||||
*
|
||||
* - Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report
|
||||
/**
|
||||
* REPLACE DEPRECATED FUNCTION jQuery.isFunction()
|
||||
*
|
||||
* - Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report
|
||||
*
|
||||
* @since 2.5.4
|
||||
* @date 2021-01-27T1911+0100
|
||||
* @accountable @pewgeuges
|
||||
*
|
||||
* @reporter @a223123131
|
||||
* @link https://wordpress.org/support/topic/deprecated-jquery-code-9/
|
||||
*
|
||||
* The official fix is to replace it with the typeof operator.
|
||||
* @link https://api.jquery.com/jquery.isfunction/
|
||||
*
|
||||
* That requires to double-check the absence of problem with
|
||||
* the use of typeof.
|
||||
* @bib Douglas Crockford, JavaScript: The Good Parts
|
||||
*/
|
||||
* @since 2.5.4
|
||||
* @date 2021-01-27T1911+0100
|
||||
* @accountable @pewgeuges
|
||||
*
|
||||
* @reporter @a223123131
|
||||
* @link https://wordpress.org/support/topic/deprecated-jquery-code-9/
|
||||
*
|
||||
* The official fix is to replace it with the typeof operator.
|
||||
* @link https://api.jquery.com/jquery.isfunction/
|
||||
*
|
||||
* That requires to double-check the absence of problem with
|
||||
* the use of typeof.
|
||||
* @bib Douglas Crockford, JavaScript: The Good Parts
|
||||
*/
|
||||
|
||||
typeof (e[c]) === "function" && a(f).on(c, e[c]), f[c] = function (b) {
|
||||
b && a(f).on(c, b);
|
||||
return f
|
||||
}
|
||||
})
|
||||
}
|
||||
typeof (e[c]) === "function" && a(f).on(c, e[c]), f[c] = function (b) {
|
||||
b && a(f).on(c, b);
|
||||
return f
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
a.fn.tooltip = function (b) {
|
||||
var c = this.data("tooltip");
|
||||
if (c)return c;
|
||||
b = a.extend(!0, {}, a.tools.tooltip.conf, b), typeof b.position === "string" && (b.position = b.position.split(/,?\s/)), this.each(function () {
|
||||
c = new d(a(this), b), a(this).data("tooltip", c)
|
||||
});
|
||||
return b.api ? c : this
|
||||
}
|
||||
a.fn.tooltip = function (b) {
|
||||
var c = this.data("tooltip");
|
||||
if (c)return c;
|
||||
b = a.extend(!0, {}, a.tools.tooltip.conf, b), typeof b.position === "string" && (b.position = b.position.split(/,?\s/)), this.each(function () {
|
||||
c = new d(a(this), b), a(this).data("tooltip", c)
|
||||
});
|
||||
return b.api ? c : this
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
(function (a) {
|
||||
var b = a.tools.tooltip;
|
||||
b.dynamic = {conf: {classNames: "top right bottom left"}};
|
||||
function c(b) {
|
||||
var c = a(window), d = c.width() + c.scrollLeft(), e = c.height() + c.scrollTop();
|
||||
return[b.offset().top <= c.scrollTop(), d <= b.offset().left + b.width(), e <= b.offset().top + b.height(), c.scrollLeft() >= b.offset().left]
|
||||
}
|
||||
var b = a.tools.tooltip;
|
||||
b.dynamic = {conf: {classNames: "top right bottom left"}};
|
||||
function c(b) {
|
||||
var c = a(window), d = c.width() + c.scrollLeft(), e = c.height() + c.scrollTop();
|
||||
return[b.offset().top <= c.scrollTop(), d <= b.offset().left + b.width(), e <= b.offset().top + b.height(), c.scrollLeft() >= b.offset().left]
|
||||
}
|
||||
|
||||
function d(a) {
|
||||
var b = a.length;
|
||||
while (b--)if (a[b])return!1;
|
||||
return!0
|
||||
}
|
||||
function d(a) {
|
||||
var b = a.length;
|
||||
while (b--)if (a[b])return!1;
|
||||
return!0
|
||||
}
|
||||
|
||||
a.fn.dynamic = function (e) {
|
||||
typeof e === "number" && (e = {speed: e}), e = a.extend({}, b.dynamic.conf, e);
|
||||
var f = a.extend(!0, {}, e), g = e.classNames.split(/\s/), h;
|
||||
this.each(function () {
|
||||
var b = a(this).tooltip().onBeforeShow(function (b, e) {
|
||||
var i = this.getTip(), j = this.getConf();
|
||||
h || (h = [j.position[0], j.position[1], j.offset[0], j.offset[1], a.extend({}, j)]), a.extend(j, h[4]), j.position = [h[0], h[1]], j.offset = [h[2], h[3]], i.css({visibility: "hidden", position: "absolute", top: e.top, left: e.left}).show();
|
||||
var k = a.extend(!0, {}, f), l = c(i);
|
||||
if (!d(l)) {
|
||||
l[2] && (a.extend(j, k.top), j.position[0] = "top", i.addClass(g[0])), l[3] && (a.extend(j, k.right), j.position[1] = "right", i.addClass(g[1])), l[0] && (a.extend(j, k.bottom), j.position[0] = "bottom", i.addClass(g[2])), l[1] && (a.extend(j, k.left), j.position[1] = "left", i.addClass(g[3]));
|
||||
if (l[0] || l[2])j.offset[0] *= -1;
|
||||
if (l[1] || l[3])j.offset[1] *= -1
|
||||
}
|
||||
i.css({visibility: "visible"}).hide()
|
||||
});
|
||||
b.onBeforeShow(function () {
|
||||
var a = this.getConf(), b = this.getTip();
|
||||
setTimeout(function () {
|
||||
a.position = [h[0], h[1]], a.offset = [h[2], h[3]]
|
||||
}, 0)
|
||||
}), b.onHide(function () {
|
||||
var a = this.getTip();
|
||||
a.removeClass(e.classNames)
|
||||
}), ret = b
|
||||
});
|
||||
return e.api ? ret : this
|
||||
}
|
||||
a.fn.dynamic = function (e) {
|
||||
typeof e === "number" && (e = {speed: e}), e = a.extend({}, b.dynamic.conf, e);
|
||||
var f = a.extend(!0, {}, e), g = e.classNames.split(/\s/), h;
|
||||
this.each(function () {
|
||||
var b = a(this).tooltip().onBeforeShow(function (b, e) {
|
||||
var i = this.getTip(), j = this.getConf();
|
||||
h || (h = [j.position[0], j.position[1], j.offset[0], j.offset[1], a.extend({}, j)]), a.extend(j, h[4]), j.position = [h[0], h[1]], j.offset = [h[2], h[3]], i.css({visibility: "hidden", position: "absolute", top: e.top, left: e.left}).show();
|
||||
var k = a.extend(!0, {}, f), l = c(i);
|
||||
if (!d(l)) {
|
||||
l[2] && (a.extend(j, k.top), j.position[0] = "top", i.addClass(g[0])), l[3] && (a.extend(j, k.right), j.position[1] = "right", i.addClass(g[1])), l[0] && (a.extend(j, k.bottom), j.position[0] = "bottom", i.addClass(g[2])), l[1] && (a.extend(j, k.left), j.position[1] = "left", i.addClass(g[3]));
|
||||
if (l[0] || l[2])j.offset[0] *= -1;
|
||||
if (l[1] || l[3])j.offset[1] *= -1
|
||||
}
|
||||
i.css({visibility: "visible"}).hide()
|
||||
});
|
||||
b.onBeforeShow(function () {
|
||||
var a = this.getConf(), b = this.getTip();
|
||||
setTimeout(function () {
|
||||
a.position = [h[0], h[1]], a.offset = [h[2], h[3]]
|
||||
}, 0)
|
||||
}), b.onHide(function () {
|
||||
var a = this.getTip();
|
||||
a.removeClass(e.classNames)
|
||||
}), ret = b
|
||||
});
|
||||
return e.api ? ret : this
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
(function (a) {
|
||||
var b = a.tools.tooltip;
|
||||
var b = a.tools.tooltip;
|
||||
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #6 This disabled slide-fade for Internet Explorer.
|
||||
* Browsers not supporting an effect simply don’t execute it, they won’t throw an error.
|
||||
*/
|
||||
/**
|
||||
* REDACT (COMMENT OUT) DEPRECATED FUNCTION jQuery.browser()
|
||||
*
|
||||
* #6 This disabled slide-fade for Internet Explorer.
|
||||
* Browsers not supporting an effect simply don’t execute it, they won’t throw an error.
|
||||
*/
|
||||
|
||||
a.extend(b.conf, {direction: "up", bounce: !1, slideOffset: 10, slideInSpeed: 200, slideOutSpeed: 200, slideFade: true /*!(a.browser && a.browser.msie)*/});
|
||||
var c = {up: ["-", "top"], down: ["+", "top"], left: ["-", "left"], right: ["+", "left"]};
|
||||
b.addEffect("slide", function (a) {
|
||||
var b = this.getConf(), d = this.getTip(), e = b.slideFade ? {opacity: b.opacity} : {}, f = c[b.direction] || c.up;
|
||||
e[f[1]] = f[0] + "=" + b.slideOffset, b.slideFade && d.css({opacity: 0}), d.show().animate(e, b.slideInSpeed, a)
|
||||
}, function (b) {
|
||||
var d = this.getConf(), e = d.slideOffset, f = d.slideFade ? {opacity: 0} : {}, g = c[d.direction] || c.up, h = "" + g[0];
|
||||
d.bounce && (h = h === "+" ? "-" : "+"), f[g[1]] = h + "=" + e, this.getTip().animate(f, d.slideOutSpeed, function () {
|
||||
a(this).hide(), b.call()
|
||||
})
|
||||
})
|
||||
a.extend(b.conf, {direction: "up", bounce: !1, slideOffset: 10, slideInSpeed: 200, slideOutSpeed: 200, slideFade: true /*!(a.browser && a.browser.msie)*/});
|
||||
var c = {up: ["-", "top"], down: ["+", "top"], left: ["-", "left"], right: ["+", "left"]};
|
||||
b.addEffect("slide", function (a) {
|
||||
var b = this.getConf(), d = this.getTip(), e = b.slideFade ? {opacity: b.opacity} : {}, f = c[b.direction] || c.up;
|
||||
e[f[1]] = f[0] + "=" + b.slideOffset, b.slideFade && d.css({opacity: 0}), d.show().animate(e, b.slideInSpeed, a)
|
||||
}, function (b) {
|
||||
var d = this.getConf(), e = d.slideOffset, f = d.slideFade ? {opacity: 0} : {}, g = c[d.direction] || c.up, h = "" + g[0];
|
||||
d.bounce && (h = h === "+" ? "-" : "+"), f[g[1]] = h + "=" + e, this.getTip().animate(f, d.slideOutSpeed, function () {
|
||||
a(this).hide(), b.call()
|
||||
})
|
||||
})
|
||||
})(jQuery);
|
||||
|
|
|
@ -6,74 +6,74 @@
|
|||
*/
|
||||
|
||||
(function() {
|
||||
tinymce.create('tinymce.plugins.Footnotes', {
|
||||
/**
|
||||
* Initializes the plugin, this will be executed after the plugin has been created.
|
||||
* This call is done before the editor instance has finished its initialization so use the onInit event
|
||||
* of the editor instance to intercept that event.
|
||||
*
|
||||
* @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
|
||||
* @param {string} url Absolute URL to where the plugin is located.
|
||||
*/
|
||||
init : function(ed, url) {
|
||||
ed.addButton('footnotes', {
|
||||
title : 'footnotes',
|
||||
cmd : 'footnotes',
|
||||
image : url + '/../img/fn-wysiwyg.png'
|
||||
});
|
||||
tinymce.create('tinymce.plugins.Footnotes', {
|
||||
/**
|
||||
* Initializes the plugin, this will be executed after the plugin has been created.
|
||||
* This call is done before the editor instance has finished its initialization so use the onInit event
|
||||
* of the editor instance to intercept that event.
|
||||
*
|
||||
* @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
|
||||
* @param {string} url Absolute URL to where the plugin is located.
|
||||
*/
|
||||
init : function(ed, url) {
|
||||
ed.addButton('footnotes', {
|
||||
title : 'footnotes',
|
||||
cmd : 'footnotes',
|
||||
image : url + '/../img/fn-wysiwyg.png'
|
||||
});
|
||||
|
||||
ed.addCommand('footnotes', function() {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: './admin-ajax.php',
|
||||
data: {
|
||||
action: 'footnotes_getTags'
|
||||
},
|
||||
success: function(data, textStatus, XMLHttpRequest){
|
||||
var l_arr_Tags = JSON.parse(data);
|
||||
var return_text = l_arr_Tags['start'] + ed.selection.getContent() + l_arr_Tags['end'];
|
||||
ed.execCommand('insertHTML', true, return_text);
|
||||
},
|
||||
error: function(MLHttpRequest, textStatus, errorThrown){
|
||||
console.log("Error: " + errorThrown);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
ed.addCommand('footnotes', function() {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: './admin-ajax.php',
|
||||
data: {
|
||||
action: 'footnotes_getTags'
|
||||
},
|
||||
success: function(data, textStatus, XMLHttpRequest){
|
||||
var l_arr_Tags = JSON.parse(data);
|
||||
var return_text = l_arr_Tags['start'] + ed.selection.getContent() + l_arr_Tags['end'];
|
||||
ed.execCommand('insertHTML', true, return_text);
|
||||
},
|
||||
error: function(MLHttpRequest, textStatus, errorThrown){
|
||||
console.log("Error: " + errorThrown);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates control instances based in the incomming name. This method is normally not
|
||||
* needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons
|
||||
* but you sometimes need to create more complex controls like listboxes, split buttons etc then this
|
||||
* method can be used to create those.
|
||||
*
|
||||
* @param {String} n Name of the control to create.
|
||||
* @param {tinymce.ControlManager} cm Control manager to use inorder to create new control.
|
||||
* @return {tinymce.ui.Control} New control instance or null if no control was created.
|
||||
*/
|
||||
createControl : function(n, cm) {
|
||||
return null;
|
||||
},
|
||||
/**
|
||||
* Creates control instances based in the incomming name. This method is normally not
|
||||
* needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons
|
||||
* but you sometimes need to create more complex controls like listboxes, split buttons etc then this
|
||||
* method can be used to create those.
|
||||
*
|
||||
* @param {String} n Name of the control to create.
|
||||
* @param {tinymce.ControlManager} cm Control manager to use inorder to create new control.
|
||||
* @return {tinymce.ui.Control} New control instance or null if no control was created.
|
||||
*/
|
||||
createControl : function(n, cm) {
|
||||
return null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns information about the plugin as a name/value array.
|
||||
* The current keys are longname, author, authorurl, infourl and version.
|
||||
*
|
||||
* @return {Object} Name/value array containing information about the plugin.
|
||||
/**
|
||||
* Returns information about the plugin as a name/value array.
|
||||
* The current keys are longname, author, authorurl, infourl and version.
|
||||
*
|
||||
* @return {Object} Name/value array containing information about the plugin.
|
||||
*
|
||||
* Edit: needs update the version number manually 2020-12-11T1224+0100
|
||||
*/
|
||||
getInfo : function() {
|
||||
return {
|
||||
longname : 'Inserts the Footnotes short code.',
|
||||
author : 'Mark Cheret',
|
||||
authorurl : 'https://cheret.de',
|
||||
infourl : 'https://wordpress.org/plugins/footnotes/',
|
||||
version : "2.1.6"
|
||||
};
|
||||
}
|
||||
});
|
||||
*/
|
||||
getInfo : function() {
|
||||
return {
|
||||
longname : 'Inserts the Footnotes short code.',
|
||||
author : 'Mark Cheret',
|
||||
authorurl : 'https://cheret.de',
|
||||
infourl : 'https://wordpress.org/plugins/footnotes/',
|
||||
version : "2.1.6"
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
// Register plugin
|
||||
tinymce.PluginManager.add('footnotes', tinymce.plugins.Footnotes);
|
||||
// Register plugin
|
||||
tinymce.PluginManager.add('footnotes', tinymce.plugins.Footnotes);
|
||||
})();
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<div class="footnotes_description">
|
||||
<p>[[description-css]]</p>
|
||||
<p>[[description-css]]</p>
|
||||
</div>
|
||||
<table class="customize_css_migration widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-css]]</td>
|
||||
<td>[[css]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-show-legacy]]</td>
|
||||
<td>[[show-legacy]] <span class="footnotes_notice">[[notice-show-legacy]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-css]]</td>
|
||||
<td>[[css]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-show-legacy]]</td>
|
||||
<td>[[show-legacy]] <span class="footnotes_notice">[[notice-show-legacy]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-show-legacy]]</p>
|
||||
<p>[[description-show-legacy]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<table id="customize_css_new" class="customize_css_new widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[headline]]<br />
|
||||
<div class="list">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[headline]]<br />
|
||||
<div class="list">
|
||||
<p>.footnote_referrer = enclosing <span>
|
||||
<p>.footnote_referrer > a = optional <a> enclosing the <sup>
|
||||
<p>.footnote_plugin_tooltip_text = inner <sup>, not tooltip
|
||||
|
@ -25,9 +25,9 @@
|
|||
<p>.footnote_backlink = <a> or <span> if identical footnotes are combined, or in second <td> in 3-column table
|
||||
<p>.footnote_index_arrow = nested <span>, symbol only
|
||||
<p>.footnote_plugin_text = second <td>, or third <td> in 3-column table
|
||||
</div>
|
||||
</td>
|
||||
<td>[[css]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</div>
|
||||
</td>
|
||||
<td>[[css]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<div class="footnotes_description">
|
||||
<p>[[description-css]]</p>
|
||||
<p>[[description-css]]</p>
|
||||
</div>
|
||||
<table class="customize_css widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-css]]</td>
|
||||
<td>[[css]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-css]]</td>
|
||||
<td>[[css]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<table class="customize_hyperlink_arrow widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-symbol]]</td>
|
||||
<td>
|
||||
[[symbol-options]]
|
||||
[[symbol-custom]]
|
||||
<span class="footnotes_notice">[[notice-symbol]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-symbol]]</td>
|
||||
<td>
|
||||
[[symbol-options]]
|
||||
[[symbol-custom]]
|
||||
<span class="footnotes_notice">[[notice-symbol]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-symbol]]</p>
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
<table class="customize_superscript widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-superscript]]</td>
|
||||
<td>[[superscript]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-normalize]]</td>
|
||||
<td>[[normalize]] <span class="footnotes_notice">[[notice-normalize]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-before]]</td>
|
||||
<td>[[before]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-after]]</td>
|
||||
<td>[[after]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-link]]</td>
|
||||
<td><span class="footnotes_notice">[[notice-link]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-superscript]]</td>
|
||||
<td>[[superscript]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-normalize]]</td>
|
||||
<td>[[normalize]] <span class="footnotes_notice">[[notice-normalize]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-before]]</td>
|
||||
<td>[[before]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-after]]</td>
|
||||
<td>[[after]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-link]]</td>
|
||||
<td><span class="footnotes_notice">[[notice-link]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
<table class="diagnostics widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-server]]</td>
|
||||
<td>[[server]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-php]]</td>
|
||||
<td>[[php]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-user-agent]]</td>
|
||||
<td>[[user-agent]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-max-execution-time]]</td>
|
||||
<td>[[max-execution-time]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-memory-limit]]</td>
|
||||
<td>[[memory-limit]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-php-extensions]]</td>
|
||||
<td>[[php-extensions]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-wordpress]]</td>
|
||||
<td>[[wordpress]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-theme]]</td>
|
||||
<td>[[theme]]</td>
|
||||
</tr>
|
||||
[[plugins]]
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-server]]</td>
|
||||
<td>[[server]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-php]]</td>
|
||||
<td>[[php]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-user-agent]]</td>
|
||||
<td>[[user-agent]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-max-execution-time]]</td>
|
||||
<td>[[max-execution-time]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-memory-limit]]</td>
|
||||
<td>[[memory-limit]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-php-extensions]]</td>
|
||||
<td>[[php-extensions]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-wordpress]]</td>
|
||||
<td>[[wordpress]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-theme]]</td>
|
||||
<td>[[theme]]</td>
|
||||
</tr>
|
||||
[[plugins]]
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,62 +1,62 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
* Footnote button for the Classic Editor text mode.
|
||||
*
|
||||
* @since 1.3.0
|
||||
* @lastmodified 2021-02-09T0039+0100
|
||||
*
|
||||
* @since 2.5.4 Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report.
|
||||
* @since 2.5.4 Bugfix: Editor button: Classic Editor text mode: correct label to singular.
|
||||
*/?>
|
||||
/**
|
||||
* Footnote button for the Classic Editor text mode.
|
||||
*
|
||||
* @since 1.3.0
|
||||
* @lastmodified 2021-02-18T2043+0100
|
||||
*
|
||||
* @since 2.5.4 Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report.
|
||||
* @since 2.5.4 Bugfix: Editor button: Classic Editor text mode: correct label to singular.
|
||||
*/?>
|
||||
-->
|
||||
<script type="text/javascript">
|
||||
/**
|
||||
* Brackets the selected text with tags in the text area.
|
||||
*
|
||||
* @param string elementID
|
||||
* @param string openTag
|
||||
* @param string closeTag
|
||||
*/
|
||||
function MCI_Footnotes_wrapText(elementID, openTag, closeTag) {
|
||||
var textArea = jQuery('#' + elementID);
|
||||
var len = textArea.val().length;
|
||||
var start = textArea[0].selectionStart;
|
||||
var end = textArea[0].selectionEnd;
|
||||
var selectedText = textArea.val().substring(start, end);
|
||||
var replacement = openTag + selectedText + closeTag;
|
||||
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
|
||||
}
|
||||
/**
|
||||
* Adds a button to the Classic Editor text mode.
|
||||
*
|
||||
* - Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report.
|
||||
*
|
||||
* @reporter @dpartridge
|
||||
* @link https://wordpress.org/support/topic/qtags-addbutton/
|
||||
*
|
||||
*/
|
||||
if ( QTags ) {
|
||||
QTags.addButton( 'MCI_Footnotes_QuickTag_button', 'footnote', MCI_Footnotes_text_editor_callback );
|
||||
}
|
||||
/**
|
||||
* Brackets the selected text with tags in the text area.
|
||||
*
|
||||
* @param string elementID
|
||||
* @param string openTag
|
||||
* @param string closeTag
|
||||
*/
|
||||
function MCI_Footnotes_wrapText(elementID, openTag, closeTag) {
|
||||
var textArea = jQuery('#' + elementID);
|
||||
var len = textArea.val().length;
|
||||
var start = textArea[0].selectionStart;
|
||||
var end = textArea[0].selectionEnd;
|
||||
var selectedText = textArea.val().substring(start, end);
|
||||
var replacement = openTag + selectedText + closeTag;
|
||||
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
|
||||
}
|
||||
/**
|
||||
* Adds a button to the Classic Editor text mode.
|
||||
*
|
||||
* - Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report.
|
||||
*
|
||||
* @reporter @dpartridge
|
||||
* @link https://wordpress.org/support/topic/qtags-addbutton/
|
||||
*
|
||||
*/
|
||||
if ( QTags ) {
|
||||
QTags.addButton( 'MCI_Footnotes_QuickTag_button', 'footnote', MCI_Footnotes_text_editor_callback );
|
||||
}
|
||||
|
||||
/**
|
||||
* callback function when the button is clicked
|
||||
* executes a ajax call to get the start and end tag for the footnotes and
|
||||
* adds them in before and after the selected text
|
||||
*/
|
||||
function MCI_Footnotes_text_editor_callback() {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: '/wp-admin/admin-ajax.php',
|
||||
data: {
|
||||
action: 'footnotes_getTags'
|
||||
},
|
||||
success: function(data, textStatus, XMLHttpRequest){
|
||||
var l_arr_Tags = JSON.parse(data);
|
||||
MCI_Footnotes_wrapText("content", l_arr_Tags['start'], l_arr_Tags['end']);
|
||||
},
|
||||
error: function(MLHttpRequest, textStatus, errorThrown){
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* callback function when the button is clicked
|
||||
* executes a ajax call to get the start and end tag for the footnotes and
|
||||
* adds them in before and after the selected text
|
||||
*/
|
||||
function MCI_Footnotes_text_editor_callback() {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: '/wp-admin/admin-ajax.php',
|
||||
data: {
|
||||
action: 'footnotes_getTags'
|
||||
},
|
||||
success: function(data, textStatus, XMLHttpRequest){
|
||||
var l_arr_Tags = JSON.parse(data);
|
||||
MCI_Footnotes_wrapText("content", l_arr_Tags['start'], l_arr_Tags['end']);
|
||||
},
|
||||
error: function(MLHttpRequest, textStatus, errorThrown){
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,50 +1,50 @@
|
|||
<div class="footnotes_description">
|
||||
<p>[[description-1]]</p>
|
||||
<p>[[description-2]]</p>
|
||||
<p>[[description-3]]</p>
|
||||
<p>[[description-1]]</p>
|
||||
<p>[[description-2]]</p>
|
||||
<p>[[description-3]]</p>
|
||||
</div>
|
||||
<table class="expert_lookup widefat fixed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>[[head-hook]]</th>
|
||||
<th>[[head-checkbox]]</th>
|
||||
<th>[[head-numbox]]</th>
|
||||
<th>[[head-url]]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-the-title]]</td>
|
||||
<td>[[the-title]]</td>
|
||||
<td>[[priority-the-title]]</td>
|
||||
<td><a href="[[url-the-title]]" target="_blank">[[url-the-title]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-the-content]]</td>
|
||||
<td>[[the-content]]</td>
|
||||
<td>[[priority-the-content]]</td>
|
||||
<td><a href="[[url-the-content]]" target="_blank">[[url-the-content]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-the-excerpt]]</td>
|
||||
<td>[[the-excerpt]]</td>
|
||||
<td>[[priority-the-excerpt]]</td>
|
||||
<td><a href="[[url-the-excerpt]]" target="_blank">[[url-the-excerpt]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-widget-title]]</td>
|
||||
<td>[[widget-title]]</td>
|
||||
<td>[[priority-widget-title]]</td>
|
||||
<td><a href="[[url-widget-title]]" target="_blank">[[url-widget-title]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-widget-text]]</td>
|
||||
<td>[[widget-text]]</td>
|
||||
<td>[[priority-widget-text]]</td>
|
||||
<td><a href="[[url-widget-text]]" target="_blank">[[url-widget-text]]</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>[[head-hook]]</th>
|
||||
<th>[[head-checkbox]]</th>
|
||||
<th>[[head-numbox]]</th>
|
||||
<th>[[head-url]]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-the-title]]</td>
|
||||
<td>[[the-title]]</td>
|
||||
<td>[[priority-the-title]]</td>
|
||||
<td><a href="[[url-the-title]]" target="_blank">[[url-the-title]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-the-content]]</td>
|
||||
<td>[[the-content]]</td>
|
||||
<td>[[priority-the-content]]</td>
|
||||
<td><a href="[[url-the-content]]" target="_blank">[[url-the-content]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-the-excerpt]]</td>
|
||||
<td>[[the-excerpt]]</td>
|
||||
<td>[[priority-the-excerpt]]</td>
|
||||
<td><a href="[[url-the-excerpt]]" target="_blank">[[url-the-excerpt]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-widget-title]]</td>
|
||||
<td>[[widget-title]]</td>
|
||||
<td>[[priority-widget-title]]</td>
|
||||
<td><a href="[[url-widget-title]]" target="_blank">[[url-widget-title]]</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-widget-text]]</td>
|
||||
<td>[[widget-text]]</td>
|
||||
<td>[[priority-widget-text]]</td>
|
||||
<td><a href="[[url-widget-text]]" target="_blank">[[url-widget-text]]</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-4]]</p>
|
||||
<p>[[description-4]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
<table class="mouse_over_box_appearance widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-font-size]]</td>
|
||||
<td>[[font-size-enable]][[font-size-scalar]][[font-size-unit]] <span class="footnotes_notice">[[notice-font-size]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-color]]</td>
|
||||
<td>[[color]] <span class="footnotes_notice">[[notice-color]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-background]]</td>
|
||||
<td>[[background]] <span class="footnotes_notice">[[notice-background]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border-width]]</td>
|
||||
<td>[[border-width]] <span class="footnotes_notice">[[notice-border-width]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border-color]]</td>
|
||||
<td>[[border-color]] <span class="footnotes_notice">[[notice-border-color]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border-radius]]</td>
|
||||
<td>[[border-radius]] <span class="footnotes_notice">[[notice-border-radius]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-box-shadow-color]]</td>
|
||||
<td>[[box-shadow-color]] <span class="footnotes_notice">[[notice-box-shadow-color]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-font-size]]</td>
|
||||
<td>[[font-size-enable]][[font-size-scalar]][[font-size-unit]] <span class="footnotes_notice">[[notice-font-size]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-color]]</td>
|
||||
<td>[[color]] <span class="footnotes_notice">[[notice-color]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-background]]</td>
|
||||
<td>[[background]] <span class="footnotes_notice">[[notice-background]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border-width]]</td>
|
||||
<td>[[border-width]] <span class="footnotes_notice">[[notice-border-width]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border-color]]</td>
|
||||
<td>[[border-color]] <span class="footnotes_notice">[[notice-border-color]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border-radius]]</td>
|
||||
<td>[[border-radius]] <span class="footnotes_notice">[[notice-border-radius]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-box-shadow-color]]</td>
|
||||
<td>[[box-shadow-color]] <span class="footnotes_notice">[[notice-box-shadow-color]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<table class="mouse_over_box_dimensions widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-max-width]]</td>
|
||||
<td>[[max-width]] [[width]] <span class="footnotes_notice">[[notice-max-width]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-max-width]]</td>
|
||||
<td>[[max-width]] [[width]] <span class="footnotes_notice">[[notice-max-width]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<table class="mouse_over_box_display widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-enable]]</td>
|
||||
<td>[[enable]] <span class="footnotes_notice">[[notice-enable]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-alternative]]</td>
|
||||
<td>[[alternative]] <span class="footnotes_notice">[[notice-alternative]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-enable]]</td>
|
||||
<td>[[enable]] <span class="footnotes_notice">[[notice-enable]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-alternative]]</td>
|
||||
<td>[[alternative]] <span class="footnotes_notice">[[notice-alternative]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-alternative]]</p>
|
||||
<p>[[description-alternative]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<table class="mouse_over_box_position widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-position]]</td>
|
||||
<td>[[position]] [[position-alternative]] <span class="footnotes_notice">[[notice-position]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-offset-x]]</td>
|
||||
<td>[[offset-x]] [[offset-x-alternative]] <span class="footnotes_notice">[[notice-offset-x]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-offset-y]]</td>
|
||||
<td>[[offset-y]] [[offset-y-alternative]] <span class="footnotes_notice">[[notice-offset-y]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-position]]</td>
|
||||
<td>[[position]] [[position-alternative]] <span class="footnotes_notice">[[notice-position]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-offset-x]]</td>
|
||||
<td>[[offset-x]] [[offset-x-alternative]] <span class="footnotes_notice">[[notice-offset-x]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-offset-y]]</td>
|
||||
<td>[[offset-y]] [[offset-y-alternative]] <span class="footnotes_notice">[[notice-offset-y]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
<div class="footnotes_description">
|
||||
<p>[[description-delimiter]]</p>
|
||||
<p>[[description-delimiter]]</p>
|
||||
</div>
|
||||
<table class="mouse_over_box_text widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-delimiter]]</td>
|
||||
<td>[[delimiter]] <span class="footnotes_notice">[[notice-delimiter]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-mirror]]</td>
|
||||
<td>[[mirror]] <span class="footnotes_notice">[[notice-mirror]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-separator]]</td>
|
||||
<td>[[separator]] <span class="footnotes_notice">[[notice-separator]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-delimiter]]</td>
|
||||
<td>[[delimiter]] <span class="footnotes_notice">[[notice-delimiter]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-mirror]]</td>
|
||||
<td>[[mirror]] <span class="footnotes_notice">[[notice-mirror]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-separator]]</td>
|
||||
<td>[[separator]] <span class="footnotes_notice">[[notice-separator]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-mirror]]</p>
|
||||
<p>[[description-mirror]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
<table class="mouse_over_box_timing widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-fade-in-delay]]</td>
|
||||
<td>[[fade-in-delay]] <span class="footnotes_notice">[[notice-fade-in-delay]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-fade-in-duration]]</td>
|
||||
<td>[[fade-in-duration]] <span class="footnotes_notice">[[notice-fade-in-duration]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-fade-out-delay]]</td>
|
||||
<td>[[fade-out-delay]] <span class="footnotes_notice">[[notice-fade-out-delay]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-fade-out-duration]]</td>
|
||||
<td>[[fade-out-duration]] <span class="footnotes_notice">[[notice-fade-out-duration]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-fade-in-delay]]</td>
|
||||
<td>[[fade-in-delay]] <span class="footnotes_notice">[[notice-fade-in-delay]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-fade-in-duration]]</td>
|
||||
<td>[[fade-in-duration]] <span class="footnotes_notice">[[notice-fade-in-duration]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-fade-out-delay]]</td>
|
||||
<td>[[fade-out-delay]] <span class="footnotes_notice">[[notice-fade-out-delay]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-fade-out-duration]]</td>
|
||||
<td>[[fade-out-duration]] <span class="footnotes_notice">[[notice-fade-out-duration]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<table class="mouse_over_box_truncation widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-truncation]]</td>
|
||||
<td>[[truncation]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-max-length]]</td>
|
||||
<td>[[max-length]] <span class="footnotes_notice">[[notice-max-length]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-readon]]</td>
|
||||
<td>[[readon]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-truncation]]</td>
|
||||
<td>[[truncation]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-max-length]]</td>
|
||||
<td>[[max-length]] <span class="footnotes_notice">[[notice-max-length]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-readon]]</td>
|
||||
<td>[[readon]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
<div class="plugin-card">
|
||||
<div class="plugin-card-top">
|
||||
<a href="[[server]]/wp-admin/plugin-install.php?tab=plugin-information&plugin=[[plugin-name]]&TB_iframe=true&width=600&height=550" class="thickbox plugin-icon">
|
||||
<img src="[[plugin-icon]]"/>
|
||||
</a>
|
||||
<div class="name column-name">
|
||||
<h4>
|
||||
<a href="[[server]]/wp-admin/plugin-install.php?tab=plugin-information&plugin=[[plugin-name]]&TB_iframe=true&width=600&height=550" class="thickbox">[[plugin-title]]</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons">
|
||||
<li>
|
||||
[[install-link]]
|
||||
</li>
|
||||
<li>
|
||||
<a href="[[server]]/wp-admin/plugin-install.php?tab=plugin-information&plugin=[[plugin-name]]&TB_iframe=true&width=600&height=550" class="thickbox" aria-label="More information about [[plugin-title]]" data-title="[[plugin-title]]">[[more-details-label]]</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="desc column-description">
|
||||
<p id="manfisher-[[plugin-name]]-description"></p>
|
||||
<p class="authors">
|
||||
<cite id="manfisher-[[plugin-name]]-author"></cite>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="plugin-card-bottom">
|
||||
<div class="vers column-rating">
|
||||
<div class="star-rating" title="">
|
||||
<span class="screen-reader-text" id="manfisher-[[plugin-name]]-rating-text"></span>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
</div>
|
||||
<span class="num-ratings" id="manfisher-[[plugin-name]]-rating-num"></span>
|
||||
</div>
|
||||
<div class="column-updated">
|
||||
<strong>[[last-updated-label]]:</strong>
|
||||
<span id="manfisher-[[plugin-name]]-updated"></span>
|
||||
</div>
|
||||
<div class="column-downloaded" id="manfisher-[[plugin-name]]-downloads"></div>
|
||||
<div class="column-compatibility">
|
||||
<!--<span class="compatibility-compatible"></span>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="plugin-card-top">
|
||||
<a href="[[server]]/wp-admin/plugin-install.php?tab=plugin-information&plugin=[[plugin-name]]&TB_iframe=true&width=600&height=550" class="thickbox plugin-icon">
|
||||
<img src="[[plugin-icon]]"/>
|
||||
</a>
|
||||
<div class="name column-name">
|
||||
<h4>
|
||||
<a href="[[server]]/wp-admin/plugin-install.php?tab=plugin-information&plugin=[[plugin-name]]&TB_iframe=true&width=600&height=550" class="thickbox">[[plugin-title]]</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons">
|
||||
<li>
|
||||
[[install-link]]
|
||||
</li>
|
||||
<li>
|
||||
<a href="[[server]]/wp-admin/plugin-install.php?tab=plugin-information&plugin=[[plugin-name]]&TB_iframe=true&width=600&height=550" class="thickbox" aria-label="More information about [[plugin-title]]" data-title="[[plugin-title]]">[[more-details-label]]</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="desc column-description">
|
||||
<p id="manfisher-[[plugin-name]]-description"></p>
|
||||
<p class="authors">
|
||||
<cite id="manfisher-[[plugin-name]]-author"></cite>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="plugin-card-bottom">
|
||||
<div class="vers column-rating">
|
||||
<div class="star-rating" title="">
|
||||
<span class="screen-reader-text" id="manfisher-[[plugin-name]]-rating-text"></span>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
<div class="star"></div>
|
||||
</div>
|
||||
<span class="num-ratings" id="manfisher-[[plugin-name]]-rating-num"></span>
|
||||
</div>
|
||||
<div class="column-updated">
|
||||
<strong>[[last-updated-label]]:</strong>
|
||||
<span id="manfisher-[[plugin-name]]-updated"></span>
|
||||
</div>
|
||||
<div class="column-downloaded" id="manfisher-[[plugin-name]]-downloads"></div>
|
||||
<div class="column-compatibility">
|
||||
<!--<span class="compatibility-compatible"></span>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -59,33 +59,33 @@
|
|||
},
|
||||
dataType: 'json',
|
||||
success: function (data, textStatus, XMLHttpRequest) {
|
||||
var l_obj_Description = jQuery("#manfisher-[[plugin-name]]-description");
|
||||
var l_obj_Author = jQuery("#manfisher-[[plugin-name]]-author");
|
||||
var l_obj_RatingText = jQuery("#manfisher-[[plugin-name]]-rating-text");
|
||||
var l_obj_RatingNum = jQuery("#manfisher-[[plugin-name]]-rating-num");
|
||||
var l_obj_LastUpdated = jQuery("#manfisher-[[plugin-name]]-updated");
|
||||
var l_obj_Downloads = jQuery("#manfisher-[[plugin-name]]-downloads");
|
||||
var l_obj_Description = jQuery("#manfisher-[[plugin-name]]-description");
|
||||
var l_obj_Author = jQuery("#manfisher-[[plugin-name]]-author");
|
||||
var l_obj_RatingText = jQuery("#manfisher-[[plugin-name]]-rating-text");
|
||||
var l_obj_RatingNum = jQuery("#manfisher-[[plugin-name]]-rating-num");
|
||||
var l_obj_LastUpdated = jQuery("#manfisher-[[plugin-name]]-updated");
|
||||
var l_obj_Downloads = jQuery("#manfisher-[[plugin-name]]-downloads");
|
||||
|
||||
if (data == null) {
|
||||
l_obj_Description.text("No response received.");
|
||||
l_obj_Description.text("No response received.");
|
||||
} else if (data.error) {
|
||||
l_obj_Description.text(data.error);
|
||||
l_obj_Description.text(data.error);
|
||||
} else {
|
||||
l_obj_Description.text(data.PluginDescription);
|
||||
l_obj_Author.append("By " + data.PluginAuthor);
|
||||
l_obj_RatingText.text(data.PluginRatingText);
|
||||
l_obj_RatingText.next().addClass(data.PluginRating1);
|
||||
l_obj_RatingText.next().next().addClass(data.PluginRating2);
|
||||
l_obj_RatingText.next().next().next().addClass(data.PluginRating3);
|
||||
l_obj_RatingText.next().next().next().next().addClass(data.PluginRating4);
|
||||
l_obj_RatingText.next().next().next().next().next().addClass(data.PluginRating5);
|
||||
l_obj_RatingNum.text("(" + data.PluginRating + ")");
|
||||
l_obj_LastUpdated.text(data.PluginLastUpdated);
|
||||
l_obj_Downloads.text(data.PluginDownloads + " downloads");
|
||||
l_obj_Description.text(data.PluginDescription);
|
||||
l_obj_Author.append("By " + data.PluginAuthor);
|
||||
l_obj_RatingText.text(data.PluginRatingText);
|
||||
l_obj_RatingText.next().addClass(data.PluginRating1);
|
||||
l_obj_RatingText.next().next().addClass(data.PluginRating2);
|
||||
l_obj_RatingText.next().next().next().addClass(data.PluginRating3);
|
||||
l_obj_RatingText.next().next().next().next().addClass(data.PluginRating4);
|
||||
l_obj_RatingText.next().next().next().next().next().addClass(data.PluginRating5);
|
||||
l_obj_RatingNum.text("(" + data.PluginRating + ")");
|
||||
l_obj_LastUpdated.text(data.PluginLastUpdated);
|
||||
l_obj_Downloads.text(data.PluginDownloads + " downloads");
|
||||
}
|
||||
},
|
||||
error: function (MLHttpRequest, textStatus, errorThrown) {
|
||||
console.log(textStatus);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<table class="settings_excerpts widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-excerpts]]</td>
|
||||
<td>[[excerpts]] <span class="footnotes_notice">[[notice-excerpts]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-excerpts]]</td>
|
||||
<td>[[excerpts]] <span class="footnotes_notice">[[notice-excerpts]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-excerpts]]</p>
|
||||
<p>[[description-excerpts]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<table class="settings_love widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-love]]</td>
|
||||
<td>[[love]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-no-love]]</td>
|
||||
<td>[[no-love]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-love]]</td>
|
||||
<td>[[love]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-no-love]]</td>
|
||||
<td>[[no-love]]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<table class="settings_numbering widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-counter-style]]</td>
|
||||
<td>[[counter-style]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-identical]]</td>
|
||||
<td>[[identical]] <span class="footnotes_notice">[[notice-identical]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-counter-style]]</td>
|
||||
<td>[[counter-style]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-identical]]</td>
|
||||
<td>[[identical]] <span class="footnotes_notice">[[notice-identical]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-identical]]</p>
|
||||
<p>[[description-identical]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,113 +1,113 @@
|
|||
<table class="settings_reference_container widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-name]]</td>
|
||||
<td>[[name]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-element]]</td>
|
||||
<td>[[element]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border]]</td>
|
||||
<td>[[border]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-collapse]]</td>
|
||||
<td>[[collapse]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-position]]</td>
|
||||
<td>[[position]] <span class="footnotes_notice">[[notice-position]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-shortcode]]</td>
|
||||
<td>[[shortcode]] <span class="footnotes_notice">[[notice-shortcode]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-startpage]]</td>
|
||||
<td>[[startpage]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-margin-top]]</td>
|
||||
<td>[[margin-top]] <span class="footnotes_notice">[[notice-margin-top]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-margin-bottom]]</td>
|
||||
<td>[[margin-bottom]] <span class="footnotes_notice">[[notice-margin-bottom]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-page-layout]]</td>
|
||||
<td>[[page-layout]] <span class="footnotes_notice">[[notice-page-layout]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-url-wrap]]</td>
|
||||
<td>[[url-wrap]] <span class="footnotes_notice">[[notice-url-wrap]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-symbol]]</td>
|
||||
<td>[[symbol-enable]] <span class="footnotes_notice">[[notice-symbol]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-switch]]</td>
|
||||
<td>[[switch]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-3column]]</td>
|
||||
<td>[[3column]] <span class="footnotes_notice">[[notice-3column]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-row-borders]]</td>
|
||||
<td>[[row-borders]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-separator]]</td>
|
||||
<td>
|
||||
[[separator-enable]]
|
||||
[[separator-options]]
|
||||
[[separator-custom]]
|
||||
<span class="footnotes_notice">[[notice-separator]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-terminator]]</td>
|
||||
<td>
|
||||
[[terminator-enable]]
|
||||
[[terminator-options]]
|
||||
[[terminator-custom]]
|
||||
<span class="footnotes_notice">[[notice-terminator]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-width]]</td>
|
||||
<td>
|
||||
[[width-enable]]
|
||||
[[width-scalar]]
|
||||
[[width-unit]]
|
||||
<span class="footnotes_notice">[[notice-width]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-max-width]]</td>
|
||||
<td>
|
||||
[[max-width-enable]]
|
||||
[[max-width-scalar]]
|
||||
[[max-width-unit]]
|
||||
<span class="footnotes_notice">[[notice-max-width]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-line-break]]</td>
|
||||
<td>[[line-break]]
|
||||
<span class="footnotes_notice">[[notice-line-break]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-link]]</td>
|
||||
<td>[[link]] <span class="footnotes_notice">[[notice-link]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-name]]</td>
|
||||
<td>[[name]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-element]]</td>
|
||||
<td>[[element]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-border]]</td>
|
||||
<td>[[border]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-collapse]]</td>
|
||||
<td>[[collapse]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-position]]</td>
|
||||
<td>[[position]] <span class="footnotes_notice">[[notice-position]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-shortcode]]</td>
|
||||
<td>[[shortcode]] <span class="footnotes_notice">[[notice-shortcode]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-startpage]]</td>
|
||||
<td>[[startpage]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-margin-top]]</td>
|
||||
<td>[[margin-top]] <span class="footnotes_notice">[[notice-margin-top]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-margin-bottom]]</td>
|
||||
<td>[[margin-bottom]] <span class="footnotes_notice">[[notice-margin-bottom]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-page-layout]]</td>
|
||||
<td>[[page-layout]] <span class="footnotes_notice">[[notice-page-layout]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-url-wrap]]</td>
|
||||
<td>[[url-wrap]] <span class="footnotes_notice">[[notice-url-wrap]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-symbol]]</td>
|
||||
<td>[[symbol-enable]] <span class="footnotes_notice">[[notice-symbol]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-switch]]</td>
|
||||
<td>[[switch]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-3column]]</td>
|
||||
<td>[[3column]] <span class="footnotes_notice">[[notice-3column]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-row-borders]]</td>
|
||||
<td>[[row-borders]]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-separator]]</td>
|
||||
<td>
|
||||
[[separator-enable]]
|
||||
[[separator-options]]
|
||||
[[separator-custom]]
|
||||
<span class="footnotes_notice">[[notice-separator]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-terminator]]</td>
|
||||
<td>
|
||||
[[terminator-enable]]
|
||||
[[terminator-options]]
|
||||
[[terminator-custom]]
|
||||
<span class="footnotes_notice">[[notice-terminator]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-width]]</td>
|
||||
<td>
|
||||
[[width-enable]]
|
||||
[[width-scalar]]
|
||||
[[width-unit]]
|
||||
<span class="footnotes_notice">[[notice-width]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-max-width]]</td>
|
||||
<td>
|
||||
[[max-width-enable]]
|
||||
[[max-width-scalar]]
|
||||
[[max-width-unit]]
|
||||
<span class="footnotes_notice">[[notice-max-width]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-line-break]]</td>
|
||||
<td>[[line-break]]
|
||||
<span class="footnotes_notice">[[notice-line-break]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-link]]</td>
|
||||
<td>[[link]] <span class="footnotes_notice">[[notice-link]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-link]]</p>
|
||||
<p>[[description-link]]</p>
|
||||
</div>
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
<table class="settings_scrolling widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-scroll-offset]]</td>
|
||||
<td>[[scroll-offset]] <span class="footnotes_notice">[[notice-scroll-offset]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-scroll-duration]]</td>
|
||||
<td>[[scroll-duration]] <span class="footnotes_notice">[[notice-scroll-duration]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-hard-links]]</td>
|
||||
<td>[[hard-links]] <span class="footnotes_notice">[[notice-hard-links]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-footnote]]</td>
|
||||
<td>[[footnote]] <span class="footnotes_notice">[[notice-footnote]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-referrer]]</td>
|
||||
<td>[[referrer]] <span class="footnotes_notice">[[notice-referrer]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-separator]]</td>
|
||||
<td>[[separator]] <span class="footnotes_notice">[[notice-separator]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-backlink-tooltips]]</td>
|
||||
<td>[[backlink-tooltips]] <span class="footnotes_notice">[[notice-backlink-tooltips]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-backlink-tooltip-text]]</td>
|
||||
<td>[[backlink-tooltip-text]] <span class="footnotes_notice">[[notice-backlink-tooltip-text]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-scroll-offset]]</td>
|
||||
<td>[[scroll-offset]] <span class="footnotes_notice">[[notice-scroll-offset]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-scroll-duration]]</td>
|
||||
<td>[[scroll-duration]] <span class="footnotes_notice">[[notice-scroll-duration]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-hard-links]]</td>
|
||||
<td>[[hard-links]] <span class="footnotes_notice">[[notice-hard-links]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-footnote]]</td>
|
||||
<td>[[footnote]] <span class="footnotes_notice">[[notice-footnote]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-referrer]]</td>
|
||||
<td>[[referrer]] <span class="footnotes_notice">[[notice-referrer]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-separator]]</td>
|
||||
<td>[[separator]] <span class="footnotes_notice">[[notice-separator]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-backlink-tooltips]]</td>
|
||||
<td>[[backlink-tooltips]] <span class="footnotes_notice">[[notice-backlink-tooltips]]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-backlink-tooltip-text]]</td>
|
||||
<td>[[backlink-tooltip-text]] <span class="footnotes_notice">[[notice-backlink-tooltip-text]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,63 +1,63 @@
|
|||
<div class="footnotes_description">
|
||||
<p>[[description-escapement]]</p>
|
||||
<p>[[description-escapement]]</p>
|
||||
</div>
|
||||
<table class="settings_start_end widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-short-code-start]]</td>
|
||||
<td>
|
||||
<span>[[short-code-start]]</span>
|
||||
<span>[[short-code-start-user]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-short-code-end]]</td>
|
||||
<td>
|
||||
<span>[[short-code-end]]</span>
|
||||
<span>[[short-code-end-user]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-short-code-start]]</td>
|
||||
<td>
|
||||
<span>[[short-code-start]]</span>
|
||||
<span>[[short-code-start-user]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[[label-short-code-end]]</td>
|
||||
<td>
|
||||
<span>[[short-code-end]]</span>
|
||||
<span>[[short-code-end-user]]</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-parentheses]]</p>
|
||||
<p>[[description-parentheses]]</p>
|
||||
</div>
|
||||
<table class="settings_start_end widefat fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-syntax]]</td>
|
||||
<td>[[syntax]] <span class="footnotes_notice">[[notice-syntax]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>[[label-syntax]]</td>
|
||||
<td>[[syntax]] <span class="footnotes_notice">[[notice-syntax]]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="footnotes_description">
|
||||
<p>[[description-syntax]]</p>
|
||||
<p>[[description-syntax]]</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var l_obj_ShortCodeStart = jQuery("#[[short-code-start-id]]");
|
||||
var l_obj_ShortCodeEnd = jQuery("#[[short-code-end-id]]");
|
||||
var l_obj_ShortCodeStartUserDefined = jQuery("#[[short-code-start-user-id]]");
|
||||
var l_obj_ShortCodeEndUserDefined = jQuery("#[[short-code-end-user-id]]");
|
||||
var l_obj_ShortCodeStart = jQuery("#[[short-code-start-id]]");
|
||||
var l_obj_ShortCodeEnd = jQuery("#[[short-code-end-id]]");
|
||||
var l_obj_ShortCodeStartUserDefined = jQuery("#[[short-code-start-user-id]]");
|
||||
var l_obj_ShortCodeEndUserDefined = jQuery("#[[short-code-end-user-id]]");
|
||||
|
||||
function footnotes_Display_UserDefined_Placeholders() {
|
||||
if (l_obj_ShortCodeStart.val() == "userdefined") {
|
||||
l_obj_ShortCodeStartUserDefined.parent().show();
|
||||
l_obj_ShortCodeEndUserDefined.parent().show();
|
||||
} else {
|
||||
l_obj_ShortCodeStartUserDefined.parent().hide();
|
||||
l_obj_ShortCodeEndUserDefined.parent().hide();
|
||||
}
|
||||
}
|
||||
footnotes_Display_UserDefined_Placeholders();
|
||||
function footnotes_Display_UserDefined_Placeholders() {
|
||||
if (l_obj_ShortCodeStart.val() == "userdefined") {
|
||||
l_obj_ShortCodeStartUserDefined.parent().show();
|
||||
l_obj_ShortCodeEndUserDefined.parent().show();
|
||||
} else {
|
||||
l_obj_ShortCodeStartUserDefined.parent().hide();
|
||||
l_obj_ShortCodeEndUserDefined.parent().hide();
|
||||
}
|
||||
}
|
||||
footnotes_Display_UserDefined_Placeholders();
|
||||
|
||||
l_obj_ShortCodeStart.on('change', function() {
|
||||
var l_int_SelectedIndex = jQuery(this).prop("selectedIndex");
|
||||
jQuery('#[[short-code-end-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true);
|
||||
footnotes_Display_UserDefined_Placeholders();
|
||||
});
|
||||
l_obj_ShortCodeEnd.on('change', function() {
|
||||
var l_int_SelectedIndex = jQuery(this).prop("selectedIndex");
|
||||
jQuery('#[[short-code-start-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true);
|
||||
footnotes_Display_UserDefined_Placeholders();
|
||||
});
|
||||
l_obj_ShortCodeStart.on('change', function() {
|
||||
var l_int_SelectedIndex = jQuery(this).prop("selectedIndex");
|
||||
jQuery('#[[short-code-end-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true);
|
||||
footnotes_Display_UserDefined_Placeholders();
|
||||
});
|
||||
l_obj_ShortCodeEnd.on('change', function() {
|
||||
var l_int_SelectedIndex = jQuery(this).prop("selectedIndex");
|
||||
jQuery('#[[short-code-start-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true);
|
||||
footnotes_Display_UserDefined_Placeholders();
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
*/?>
|
||||
/**
|
||||
*/?>
|
||||
-->
|
||||
<span
|
||||
class="footnote_referrer relative"
|
||||
onmouseover="footnoteTooltipShow('footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]')"
|
||||
onmouseout="footnoteTooltipHide('footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]')"
|
||||
><[[link-span]]
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
[[hard-link]]
|
||||
><[[sup-span]]
|
||||
id="footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_tooltip_text"
|
||||
>[[before]][[index]][[after]]</[[sup-span]]
|
||||
></[[link-span]]
|
||||
>[[anchor-element]]<span
|
||||
id="footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_tooltip position hidden"
|
||||
onmouseout="footnoteTooltipHide('footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]')"
|
||||
>[[text]]</span
|
||||
></span
|
||||
class="footnote_referrer relative"
|
||||
onmouseover="footnoteTooltipShow('footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]')"
|
||||
onmouseout="footnoteTooltipHide('footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]')"
|
||||
><[[link-span]]
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
[[hard-link]]
|
||||
><[[sup-span]]
|
||||
id="footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_tooltip_text"
|
||||
>[[before]][[index]][[after]]</[[sup-span]]
|
||||
></[[link-span]]
|
||||
>[[anchor-element]]<span
|
||||
id="footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_tooltip position hidden"
|
||||
onmouseout="footnoteTooltipHide('footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]')"
|
||||
>[[text]]</span
|
||||
></span
|
||||
>
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
*/?>
|
||||
/**
|
||||
*/?>
|
||||
-->
|
||||
<span
|
||||
class="footnote_referrer"
|
||||
><[[link-span]]
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
[[hard-link]]
|
||||
><[[sup-span]]
|
||||
id="footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_tooltip_text"
|
||||
>[[before]][[index]][[after]]</[[sup-span]]
|
||||
></[[link-span]]
|
||||
>[[anchor-element]]<span
|
||||
id="footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_tooltip"
|
||||
>[[text]]</span
|
||||
></span
|
||||
class="footnote_referrer"
|
||||
><[[link-span]]
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
[[hard-link]]
|
||||
><[[sup-span]]
|
||||
id="footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_tooltip_text"
|
||||
>[[before]][[index]][[after]]</[[sup-span]]
|
||||
></[[link-span]]
|
||||
>[[anchor-element]]<span
|
||||
id="footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_tooltip"
|
||||
>[[text]]</span
|
||||
></span
|
||||
>
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
*/?>
|
||||
/**
|
||||
*/?>
|
||||
-->
|
||||
<tr class="footnotes_plugin_reference_row">
|
||||
<td
|
||||
class="footnote_plugin_index"
|
||||
><[[link-span]]
|
||||
id="footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_index"
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
[[hard-link]]
|
||||
>[[index]][[terminator]]</[[link-span]]
|
||||
>[[anchor-element]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_symbol"
|
||||
><[[link-span]]
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
class="footnote_backlink"
|
||||
[[hard-link]]
|
||||
>[[arrow]]</[[link-span]]
|
||||
></td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_index"
|
||||
><[[link-span]]
|
||||
id="footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_index"
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
[[hard-link]]
|
||||
>[[index]][[terminator]]</[[link-span]]
|
||||
>[[anchor-element]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_symbol"
|
||||
><[[link-span]]
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
class="footnote_backlink"
|
||||
[[hard-link]]
|
||||
>[[arrow]]</[[link-span]]
|
||||
></td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td
|
||||
>
|
||||
</tr>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
*/?>
|
||||
/**
|
||||
*/?>
|
||||
-->
|
||||
<tr class="footnotes_plugin_reference_row">
|
||||
<td
|
||||
class="footnote_plugin_index_combi[[pointer]]"
|
||||
[[event]]
|
||||
>[[backlinks]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td>
|
||||
<td
|
||||
class="footnote_plugin_index_combi[[pointer]]"
|
||||
[[event]]
|
||||
>[[backlinks]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td>
|
||||
</tr>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
*/?>
|
||||
/**
|
||||
*/?>
|
||||
-->
|
||||
<tr class="footnotes_plugin_reference_row">
|
||||
<td
|
||||
id="footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_index pointer"
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
><[[link-span]]
|
||||
class="footnote_plugin_link"
|
||||
[[hard-link]]
|
||||
>[[index]][[terminator]][[arrow]]</[[link-span]]
|
||||
>[[anchor-element]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td>
|
||||
<td
|
||||
id="footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_index pointer"
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
><[[link-span]]
|
||||
class="footnote_plugin_link"
|
||||
[[hard-link]]
|
||||
>[[index]][[terminator]][[arrow]]</[[link-span]]
|
||||
>[[anchor-element]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td>
|
||||
</tr>
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
* Default table row template for uncombined footnotes
|
||||
*
|
||||
* @since 2.2.10 Bugfix: Reference container: add missing container ID in function name in default table row template for uncombined footnotes.
|
||||
*
|
||||
*/?>
|
||||
/**
|
||||
* Default table row template for uncombined footnotes
|
||||
*
|
||||
* @since 2.2.10 Bugfix: Reference container: add missing container ID in function name in default table row template for uncombined footnotes.
|
||||
*
|
||||
*/?>
|
||||
-->
|
||||
<tr class="footnotes_plugin_reference_row">
|
||||
<td
|
||||
id="footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_index pointer"
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
><[[link-span]]
|
||||
class="footnote_plugin_link"
|
||||
[[hard-link]]
|
||||
>[[arrow]][[index]][[terminator]]</[[link-span]]
|
||||
>[[anchor-element]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td
|
||||
>
|
||||
<td
|
||||
id="footnote_plugin_reference_[[post_id]]_[[container_id]]_[[note_id]]"
|
||||
class="footnote_plugin_index pointer"
|
||||
onclick="footnote_moveToAnchor_[[post_id]]_[[container_id]]('footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]');"
|
||||
><[[link-span]]
|
||||
class="footnote_plugin_link"
|
||||
[[hard-link]]
|
||||
>[[arrow]][[index]][[terminator]]</[[link-span]]
|
||||
>[[anchor-element]]</td
|
||||
>
|
||||
<td
|
||||
class="footnote_plugin_text"
|
||||
>[[text]]</td
|
||||
>
|
||||
</tr>
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
* Yields the reference container start and end including the scroll script.
|
||||
*
|
||||
* @since Unknown
|
||||
* @type object
|
||||
*
|
||||
* @lastmodified 2021-02-07T0811+0100
|
||||
*
|
||||
*
|
||||
*
|
||||
* - Bugfix: Reference container: restore expand/collapse button in the template, thanks to @ragonesi bug report.
|
||||
*
|
||||
* @since 2.0.2
|
||||
*
|
||||
* @reporter @ragonesi
|
||||
* @link https://wordpress.org/support/topic/hyperlink-symbol-in-reference-container/#post-13587782
|
||||
*
|
||||
* The expand/collapse button was lost @since 2.0.0 for an unknown reason.
|
||||
* The fix was about restoring the button code (only, while the script remained complete).
|
||||
*/?>
|
||||
/**
|
||||
* Yields the reference container start and end including the scroll script.
|
||||
*
|
||||
* @since Unknown
|
||||
* @type object
|
||||
*
|
||||
* @lastmodified 2021-02-18T2046+0100
|
||||
*
|
||||
*
|
||||
*
|
||||
* - Bugfix: Reference container: restore expand/collapse button in the template, thanks to @ragonesi bug report.
|
||||
*
|
||||
* @since 2.0.2
|
||||
*
|
||||
* @reporter @ragonesi
|
||||
* @link https://wordpress.org/support/topic/hyperlink-symbol-in-reference-container/#post-13587782
|
||||
*
|
||||
* The expand/collapse button was lost @since 2.0.0 for an unknown reason.
|
||||
* The fix was about restoring the button code (only, while the script remained complete).
|
||||
*/?>
|
||||
-->
|
||||
<div
|
||||
class="speaker-mute footnotes_reference_container"
|
||||
>
|
||||
<div
|
||||
class="footnote_container_prepare"
|
||||
><[[element]]
|
||||
><span
|
||||
class="footnote_reference_container_label pointer"
|
||||
onclick="footnote_expand_collapse_reference_container_[[post_id]]_[[container_id]]();"
|
||||
>[[name]]</span
|
||||
><span
|
||||
class="footnote_reference_container_collapse_button"
|
||||
style="[[button-style]]"
|
||||
onclick="footnote_expand_collapse_reference_container_[[post_id]]_[[container_id]]();"
|
||||
>[<a
|
||||
id="footnote_reference_container_collapse_button_[[post_id]]_[[container_id]]"
|
||||
>+</a
|
||||
>]</span
|
||||
></[[element]]
|
||||
></div
|
||||
>
|
||||
<div
|
||||
id="footnote_references_container_[[post_id]]_[[container_id]]"
|
||||
style="[[style]]"
|
||||
>
|
||||
<table
|
||||
class="footnotes_table footnote-reference-container"
|
||||
>
|
||||
<tbody>
|
||||
[[content]]
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
class="speaker-mute footnotes_reference_container"
|
||||
>
|
||||
<div
|
||||
class="footnote_container_prepare"
|
||||
><[[element]]
|
||||
><span
|
||||
class="footnote_reference_container_label pointer"
|
||||
onclick="footnote_expand_collapse_reference_container_[[post_id]]_[[container_id]]();"
|
||||
>[[name]]</span
|
||||
><span
|
||||
class="footnote_reference_container_collapse_button"
|
||||
style="[[button-style]]"
|
||||
onclick="footnote_expand_collapse_reference_container_[[post_id]]_[[container_id]]();"
|
||||
>[<a
|
||||
id="footnote_reference_container_collapse_button_[[post_id]]_[[container_id]]"
|
||||
>+</a
|
||||
>]</span
|
||||
></[[element]]
|
||||
></div
|
||||
>
|
||||
<div
|
||||
id="footnote_references_container_[[post_id]]_[[container_id]]"
|
||||
style="[[style]]"
|
||||
>
|
||||
<table
|
||||
class="footnotes_table footnote-reference-container"
|
||||
>
|
||||
<tbody>
|
||||
[[content]]
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
function footnote_expand_reference_container_[[post_id]]_[[container_id]]() {
|
||||
jQuery('#footnote_references_container_[[post_id]]_[[container_id]]').show();
|
||||
jQuery('#footnote_reference_container_collapse_button_[[post_id]]_[[container_id]]').text('−');
|
||||
}
|
||||
function footnote_collapse_reference_container_[[post_id]]_[[container_id]]() {
|
||||
jQuery('#footnote_references_container_[[post_id]]_[[container_id]]').hide();
|
||||
jQuery('#footnote_reference_container_collapse_button_[[post_id]]_[[container_id]]').text('+');
|
||||
}
|
||||
function footnote_expand_collapse_reference_container_[[post_id]]_[[container_id]]() {
|
||||
if (jQuery('#footnote_references_container_[[post_id]]_[[container_id]]').is(':hidden')) {
|
||||
footnote_expand_reference_container_[[post_id]]_[[container_id]]();
|
||||
} else {
|
||||
footnote_collapse_reference_container_[[post_id]]_[[container_id]]();
|
||||
}
|
||||
}
|
||||
function footnote_moveToAnchor_[[post_id]]_[[container_id]](p_str_TargetID) {
|
||||
footnote_expand_reference_container_[[post_id]]_[[container_id]]();
|
||||
var l_obj_Target = jQuery('#' + p_str_TargetID);
|
||||
if (l_obj_Target.length) {
|
||||
jQuery('html, body').animate({
|
||||
scrollTop: l_obj_Target.offset().top - window.innerHeight * [[scroll-offset]]
|
||||
},
|
||||
[[scroll-duration]]);
|
||||
}
|
||||
}
|
||||
function footnote_expand_reference_container_[[post_id]]_[[container_id]]() {
|
||||
jQuery('#footnote_references_container_[[post_id]]_[[container_id]]').show();
|
||||
jQuery('#footnote_reference_container_collapse_button_[[post_id]]_[[container_id]]').text('−');
|
||||
}
|
||||
function footnote_collapse_reference_container_[[post_id]]_[[container_id]]() {
|
||||
jQuery('#footnote_references_container_[[post_id]]_[[container_id]]').hide();
|
||||
jQuery('#footnote_reference_container_collapse_button_[[post_id]]_[[container_id]]').text('+');
|
||||
}
|
||||
function footnote_expand_collapse_reference_container_[[post_id]]_[[container_id]]() {
|
||||
if (jQuery('#footnote_references_container_[[post_id]]_[[container_id]]').is(':hidden')) {
|
||||
footnote_expand_reference_container_[[post_id]]_[[container_id]]();
|
||||
} else {
|
||||
footnote_collapse_reference_container_[[post_id]]_[[container_id]]();
|
||||
}
|
||||
}
|
||||
function footnote_moveToAnchor_[[post_id]]_[[container_id]](p_str_TargetID) {
|
||||
footnote_expand_reference_container_[[post_id]]_[[container_id]]();
|
||||
var l_obj_Target = jQuery('#' + p_str_TargetID);
|
||||
if (l_obj_Target.length) {
|
||||
jQuery('html, body').animate({
|
||||
scrollTop: l_obj_Target.offset().top - window.innerHeight * [[scroll-offset]]
|
||||
},
|
||||
[[scroll-duration]]);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
|
||||
/**
|
||||
*/?>
|
||||
/**
|
||||
*/?>
|
||||
-->
|
||||
<script type="text/javascript">
|
||||
jQuery('#footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]').tooltip({
|
||||
tip: '#footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]',
|
||||
tipClass: 'footnote_tooltip',
|
||||
effect: 'fade',
|
||||
predelay: [[fade-in-delay]],
|
||||
fadeInSpeed: [[fade-in-duration]],
|
||||
delay: [[fade-out-delay]],
|
||||
fadeOutSpeed: [[fade-out-duration]],
|
||||
position: '[[position]]',
|
||||
relative: true,
|
||||
offset: [[[offset-y]], [[offset-x]]],
|
||||
});
|
||||
jQuery('#footnote_plugin_tooltip_[[post_id]]_[[container_id]]_[[note_id]]').tooltip({
|
||||
tip: '#footnote_plugin_tooltip_text_[[post_id]]_[[container_id]]_[[note_id]]',
|
||||
tipClass: 'footnote_tooltip',
|
||||
effect: 'fade',
|
||||
predelay: [[fade-in-delay]],
|
||||
fadeInSpeed: [[fade-in-duration]],
|
||||
delay: [[fade-out-delay]],
|
||||
fadeOutSpeed: [[fade-out-duration]],
|
||||
position: '[[position]]',
|
||||
relative: true,
|
||||
offset: [[[offset-y]], [[offset-x]]],
|
||||
});
|
||||
</script>
|
||||
|
|
Reference in a new issue